Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFeng Yu <F3n67u@outlook.com>2022-06-03 11:24:08 +0300
committerGitHub <noreply@github.com>2022-06-03 11:24:08 +0300
commitf76569356ddbd2c8dea102eb294cb8281c6cdbc0 (patch)
tree75b1d88b6cc1cde807a0658f2b23ec4316563847
parent06d860696033b67a8f4aa97b083009ad3d82ef26 (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.md17
-rw-r--r--lib/internal/fs/promises.js5
-rw-r--r--test/parallel/test-fs-promises-exists.js5
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);