diff options
author | Feng Yu <F3n67u@outlook.com> | 2022-06-03 11:24:08 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-03 11:24:08 +0300 |
commit | f76569356ddbd2c8dea102eb294cb8281c6cdbc0 (patch) | |
tree | 75b1d88b6cc1cde807a0658f2b23ec4316563847 | |
parent | 06d860696033b67a8f4aa97b083009ad3d82ef26 (diff) |
fs: export constants from `fs/promises`
PR-URL: https://github.com/nodejs/node/pull/43177
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
-rw-r--r-- | doc/api/fs.md | 17 | ||||
-rw-r--r-- | lib/internal/fs/promises.js | 5 | ||||
-rw-r--r-- | test/parallel/test-fs-promises-exists.js | 5 |
3 files changed, 20 insertions, 7 deletions
diff --git a/doc/api/fs.md b/doc/api/fs.md index 5fbe35f0ac0..2f987829ccf 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -789,8 +789,7 @@ with an {Error} object. The following example checks if the file `/etc/passwd` can be read and written by the current process. ```mjs -import { access } from 'node:fs/promises'; -import { constants } from 'node:fs'; +import { access, constants } from 'node:fs/promises'; try { await access('/etc/passwd', constants.R_OK | constants.W_OK); @@ -892,8 +891,7 @@ error occurs after the destination file has been opened for writing, an attempt will be made to remove the destination. ```mjs -import { constants } from 'node:fs'; -import { copyFile } from 'node:fs/promises'; +import { copyFile, constants } from 'node:fs/promises'; try { await copyFile('source.txt', 'destination.txt'); @@ -1624,6 +1622,14 @@ try { Aborting an ongoing request does not abort individual operating system requests but rather the internal buffering `fs.writeFile` performs. +### `fsPromises.constants` + +* {Object} + +Returns an object containing commonly used constants for file system +operations. The object is the same as `fs.constants`. See [FS constants][] +for more details. + ## Callback API The callback APIs perform all operations asynchronously, without blocking the @@ -6885,7 +6891,7 @@ operations. #### FS constants -The following constants are exported by `fs.constants`. +The following constants are exported by `fs.constants` and `fsPromises.constants`. Not every constant will be available on every operating system; this is especially important for Windows, where many of the POSIX specific @@ -7590,6 +7596,7 @@ the file contents. [#25741]: https://github.com/nodejs/node/issues/25741 [Common System Errors]: errors.md#common-system-errors +[FS constants]: #fs-constants [File access constants]: #file-access-constants [MDN-Date]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date [MDN-Number]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type diff --git a/lib/internal/fs/promises.js b/lib/internal/fs/promises.js index c3c5874453a..5f29a1df98b 100644 --- a/lib/internal/fs/promises.js +++ b/lib/internal/fs/promises.js @@ -17,13 +17,15 @@ const { Uint8Array, } = primordials; +const { fs: constants } = internalBinding('constants'); const { F_OK, O_SYMLINK, O_WRONLY, S_IFMT, S_IFREG -} = internalBinding('constants').fs; +} = constants; + const binding = internalBinding('fs'); const { Buffer } = require('buffer'); @@ -899,6 +901,7 @@ module.exports = { appendFile, readFile, watch, + constants, }, FileHandle, diff --git a/test/parallel/test-fs-promises-exists.js b/test/parallel/test-fs-promises-exists.js index d56308257e6..b9bbeee1de9 100644 --- a/test/parallel/test-fs-promises-exists.js +++ b/test/parallel/test-fs-promises-exists.js @@ -2,5 +2,8 @@ require('../common'); const assert = require('assert'); +const fs = require('fs'); +const fsPromises = require('fs/promises'); -assert.strictEqual(require('fs/promises'), require('fs').promises); +assert.strictEqual(fsPromises, fs.promises); +assert.strictEqual(fsPromises.constants, fs.constants); |