fs: Revert throw on invalid callbacks
This reverts 4cb5f3daa350421e4eb4622dc818633d3a0659b3 Based on community feedback I think we should consider reverting this change. We should explore how this could be solved via linting rules. Refs: https://github.com/nodejs/node/pull/12562 PR-URL: https://github.com/nodejs/node/pull/12976 Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
c60a7fa738
commit
8250bfd1e5
@ -150,10 +150,9 @@ explicitly via error event handlers set on the domain instead.
|
|||||||
<a id="DEP0013"></a>
|
<a id="DEP0013"></a>
|
||||||
### DEP0013: fs async function without callback
|
### DEP0013: fs async function without callback
|
||||||
|
|
||||||
Type: End-of-Life
|
Type: Runtime
|
||||||
|
|
||||||
Calling an asynchronous function without a callback will throw a `TypeError`
|
Calling an asynchronous function without a callback is deprecated.
|
||||||
v8.0.0 onwards. Refer: [PR 12562](https://github.com/nodejs/node/pull/12562)
|
|
||||||
|
|
||||||
<a id="DEP0014"></a>
|
<a id="DEP0014"></a>
|
||||||
### DEP0014: fs.read legacy String interface
|
### DEP0014: fs.read legacy String interface
|
||||||
|
180
doc/api/fs.md
180
doc/api/fs.md
@ -551,14 +551,10 @@ checks fail, and does nothing otherwise.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.6.7
|
added: v0.6.7
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7831
|
pr-url: https://github.com/nodejs/node/pull/7831
|
||||||
description: The passed `options` object will never be modified.
|
description: The passed `options` object will never be modified.
|
||||||
@ -623,10 +619,6 @@ The synchronous version of [`fs.appendFile()`][]. Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.30
|
added: v0.1.30
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -634,7 +626,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer|URL}
|
* `path` {string|Buffer|URL}
|
||||||
@ -663,10 +655,6 @@ Synchronous chmod(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.97
|
added: v0.1.97
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -674,7 +662,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer|URL}
|
* `path` {string|Buffer|URL}
|
||||||
@ -705,14 +693,10 @@ Synchronous chown(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.0.2
|
added: v0.0.2
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -1003,14 +987,10 @@ a callback.)
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.4.7
|
added: v0.4.7
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -1034,14 +1014,10 @@ Synchronous fchmod(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.4.7
|
added: v0.4.7
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -1067,14 +1043,10 @@ Synchronous fchown(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.96
|
added: v0.1.96
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -1096,14 +1068,10 @@ Synchronous fdatasync(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.95
|
added: v0.1.95
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -1126,14 +1094,10 @@ Synchronous fstat(2). Returns an instance of [`fs.Stats`][].
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.96
|
added: v0.1.96
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -1155,14 +1119,10 @@ Synchronous fsync(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.8.6
|
added: v0.8.6
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -1227,14 +1187,10 @@ Synchronous ftruncate(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.4.2
|
added: v0.4.2
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
- version: v4.1.0
|
- version: v4.1.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/2387
|
pr-url: https://github.com/nodejs/node/pull/2387
|
||||||
description: Numeric strings, `NaN` and `Infinity` are now allowed
|
description: Numeric strings, `NaN` and `Infinity` are now allowed
|
||||||
@ -1269,14 +1225,10 @@ Synchronous version of [`fs.futimes()`][]. Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
deprecated: v0.4.7
|
deprecated: v0.4.7
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer}
|
* `path` {string|Buffer}
|
||||||
@ -1302,14 +1254,10 @@ Synchronous lchmod(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
deprecated: v0.4.7
|
deprecated: v0.4.7
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer}
|
* `path` {string|Buffer}
|
||||||
@ -1335,10 +1283,6 @@ Synchronous lchown(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.31
|
added: v0.1.31
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `existingPath` and `newPath` parameters can be WHATWG
|
description: The `existingPath` and `newPath` parameters can be WHATWG
|
||||||
@ -1347,7 +1291,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `existingPath` {string|Buffer|URL}
|
* `existingPath` {string|Buffer|URL}
|
||||||
@ -1377,10 +1321,6 @@ Synchronous link(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.30
|
added: v0.1.30
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -1388,7 +1328,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer|URL}
|
* `path` {string|Buffer|URL}
|
||||||
@ -1417,10 +1357,6 @@ Synchronous lstat(2). Returns an instance of [`fs.Stats`][].
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.8
|
added: v0.1.8
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -1428,7 +1364,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer|URL}
|
* `path` {string|Buffer|URL}
|
||||||
@ -1457,14 +1393,10 @@ Synchronous mkdir(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v5.10.0
|
added: v5.10.0
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
- version: v6.2.1
|
- version: v6.2.1
|
||||||
pr-url: https://github.com/nodejs/node/pull/6828
|
pr-url: https://github.com/nodejs/node/pull/6828
|
||||||
description: The `callback` parameter is optional now.
|
description: The `callback` parameter is optional now.
|
||||||
@ -1687,10 +1619,6 @@ a Promise for an object with `bytesRead` and `buffer` properties.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.8
|
added: v0.1.8
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -1698,7 +1626,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
- version: v6.0.0
|
- version: v6.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/5616
|
pr-url: https://github.com/nodejs/node/pull/5616
|
||||||
description: The `options` parameter was added.
|
description: The `options` parameter was added.
|
||||||
@ -1744,10 +1672,6 @@ the filenames returned will be passed as `Buffer` objects.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.29
|
added: v0.1.29
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -1755,7 +1679,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
- version: v5.1.0
|
- version: v5.1.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/3740
|
pr-url: https://github.com/nodejs/node/pull/3740
|
||||||
description: The `callback` will always be called with `null` as the `error`
|
description: The `callback` will always be called with `null` as the `error`
|
||||||
@ -1851,10 +1775,6 @@ fs.readFileSync('<directory>'); // => null, <data>
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.31
|
added: v0.1.31
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -1862,7 +1782,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer|URL}
|
* `path` {string|Buffer|URL}
|
||||||
@ -1920,10 +1840,6 @@ Synchronous version of [`fs.read()`][]. Returns the number of `bytesRead`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.31
|
added: v0.1.31
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using
|
description: The `path` parameter can be a WHATWG `URL` object using
|
||||||
@ -1931,7 +1847,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
- version: v6.4.0
|
- version: v6.4.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7899
|
pr-url: https://github.com/nodejs/node/pull/7899
|
||||||
description: Calling `realpath` now works again for various edge cases
|
description: Calling `realpath` now works again for various edge cases
|
||||||
@ -1990,10 +1906,6 @@ will be passed as a `Buffer` object.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.0.2
|
added: v0.0.2
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `oldPath` and `newPath` parameters can be WHATWG `URL`
|
description: The `oldPath` and `newPath` parameters can be WHATWG `URL`
|
||||||
@ -2002,7 +1914,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `oldPath` {string|Buffer|URL}
|
* `oldPath` {string|Buffer|URL}
|
||||||
@ -2032,10 +1944,6 @@ Synchronous rename(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.0.2
|
added: v0.0.2
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameters can be a WHATWG `URL` object using
|
description: The `path` parameters can be a WHATWG `URL` object using
|
||||||
@ -2043,7 +1951,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer|URL}
|
* `path` {string|Buffer|URL}
|
||||||
@ -2070,10 +1978,6 @@ Synchronous rmdir(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.0.2
|
added: v0.0.2
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -2081,7 +1985,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer|URL}
|
* `path` {string|Buffer|URL}
|
||||||
@ -2166,14 +2070,10 @@ Synchronous symlink(2). Returns `undefined`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.8.6
|
added: v0.8.6
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer}
|
* `path` {string|Buffer}
|
||||||
@ -2199,10 +2099,6 @@ passed as the first argument. In this case, `fs.ftruncateSync()` is called.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.0.2
|
added: v0.0.2
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -2210,7 +2106,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `path` {string|Buffer|URL}
|
* `path` {string|Buffer|URL}
|
||||||
@ -2256,10 +2152,6 @@ when possible.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.4.2
|
added: v0.4.2
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.6.0
|
- version: v7.6.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10739
|
pr-url: https://github.com/nodejs/node/pull/10739
|
||||||
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
description: The `path` parameter can be a WHATWG `URL` object using `file:`
|
||||||
@ -2267,7 +2159,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
- version: v4.1.0
|
- version: v4.1.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/2387
|
pr-url: https://github.com/nodejs/node/pull/2387
|
||||||
description: Numeric strings, `NaN` and `Infinity` are now allowed
|
description: Numeric strings, `NaN` and `Infinity` are now allowed
|
||||||
@ -2476,10 +2368,6 @@ to compare `curr.mtime` and `prev.mtime`.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.0.2
|
added: v0.0.2
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.4.0
|
- version: v7.4.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10382
|
pr-url: https://github.com/nodejs/node/pull/10382
|
||||||
description: The `buffer` parameter can now be a `Uint8Array`.
|
description: The `buffer` parameter can now be a `Uint8Array`.
|
||||||
@ -2489,7 +2377,7 @@ changes:
|
|||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -2526,17 +2414,13 @@ the end of the file.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.11.5
|
added: v0.11.5
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.2.0
|
- version: v7.2.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7856
|
pr-url: https://github.com/nodejs/node/pull/7856
|
||||||
description: The `position` parameter is optional now.
|
description: The `position` parameter is optional now.
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `fd` {integer}
|
* `fd` {integer}
|
||||||
@ -2574,17 +2458,13 @@ the end of the file.
|
|||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v0.1.29
|
added: v0.1.29
|
||||||
changes:
|
changes:
|
||||||
- version: REPLACEME
|
|
||||||
pr-url: https://github.com/nodejs/node/pull/12562
|
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
|
||||||
it will throw a `TypeError` at runtime.
|
|
||||||
- version: v7.4.0
|
- version: v7.4.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/10382
|
pr-url: https://github.com/nodejs/node/pull/10382
|
||||||
description: The `data` parameter can now be a `Uint8Array`.
|
description: The `data` parameter can now be a `Uint8Array`.
|
||||||
- version: v7.0.0
|
- version: v7.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/7897
|
pr-url: https://github.com/nodejs/node/pull/7897
|
||||||
description: The `callback` parameter is no longer optional. Not passing
|
description: The `callback` parameter is no longer optional. Not passing
|
||||||
it will emit a deprecation warning with id DEP0013.
|
it will emit a deprecation warning.
|
||||||
- version: v5.0.0
|
- version: v5.0.0
|
||||||
pr-url: https://github.com/nodejs/node/pull/3163
|
pr-url: https://github.com/nodejs/node/pull/3163
|
||||||
description: The `file` parameter can be a file descriptor now.
|
description: The `file` parameter can be a file descriptor now.
|
||||||
|
60
lib/fs.js
60
lib/fs.js
@ -58,6 +58,7 @@ const kMaxLength = require('buffer').kMaxLength;
|
|||||||
|
|
||||||
const isWindows = process.platform === 'win32';
|
const isWindows = process.platform === 'win32';
|
||||||
|
|
||||||
|
const DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);
|
||||||
const errnoException = util._errnoException;
|
const errnoException = util._errnoException;
|
||||||
|
|
||||||
function getOptions(options, defaultOptions) {
|
function getOptions(options, defaultOptions) {
|
||||||
@ -87,26 +88,48 @@ function copyObject(source) {
|
|||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
var internalErrors;
|
function rethrow() {
|
||||||
function lazyErrors() {
|
// TODO(thefourtheye) Throw error instead of warning in major version > 7
|
||||||
if (!internalErrors)
|
process.emitWarning(
|
||||||
internalErrors = require('internal/errors');
|
'Calling an asynchronous function without callback is deprecated.',
|
||||||
return internalErrors;
|
'DeprecationWarning', 'DEP0013', rethrow
|
||||||
|
);
|
||||||
|
|
||||||
|
// Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and
|
||||||
|
// is fairly slow to generate.
|
||||||
|
if (DEBUG) {
|
||||||
|
var backtrace = new Error();
|
||||||
|
return function(err) {
|
||||||
|
if (err) {
|
||||||
|
backtrace.stack = err.name + ': ' + err.message +
|
||||||
|
backtrace.stack.substr(backtrace.name.length);
|
||||||
|
throw backtrace;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return function(err) {
|
||||||
|
if (err) {
|
||||||
|
throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function maybeCallback(cb) {
|
function maybeCallback(cb) {
|
||||||
if (typeof cb === 'function')
|
return typeof cb === 'function' ? cb : rethrow();
|
||||||
return cb;
|
|
||||||
else
|
|
||||||
throw new (lazyErrors().TypeError)('ERR_INVALID_CALLBACK');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure that callbacks run in the global context. Only use this function
|
// Ensure that callbacks run in the global context. Only use this function
|
||||||
// for callbacks that are passed to the binding layer, callbacks that are
|
// for callbacks that are passed to the binding layer, callbacks that are
|
||||||
// invoked from JS already run in the proper scope.
|
// invoked from JS already run in the proper scope.
|
||||||
function makeCallback(cb) {
|
function makeCallback(cb) {
|
||||||
if (typeof cb !== 'function')
|
if (cb === undefined) {
|
||||||
throw new (lazyErrors().TypeError)('ERR_INVALID_CALLBACK');
|
return rethrow();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof cb !== 'function') {
|
||||||
|
throw new TypeError('"callback" argument must be a function');
|
||||||
|
}
|
||||||
|
|
||||||
return function() {
|
return function() {
|
||||||
return cb.apply(null, arguments);
|
return cb.apply(null, arguments);
|
||||||
@ -117,8 +140,13 @@ function makeCallback(cb) {
|
|||||||
// an optimization, since the data passed back to the callback needs to be
|
// an optimization, since the data passed back to the callback needs to be
|
||||||
// transformed anyway.
|
// transformed anyway.
|
||||||
function makeStatsCallback(cb) {
|
function makeStatsCallback(cb) {
|
||||||
if (typeof cb !== 'function')
|
if (cb === undefined) {
|
||||||
throw new (lazyErrors().TypeError)('ERR_INVALID_CALLBACK');
|
return rethrow();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof cb !== 'function') {
|
||||||
|
throw new TypeError('"callback" argument must be a function');
|
||||||
|
}
|
||||||
|
|
||||||
return function(err) {
|
return function(err) {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err);
|
||||||
@ -240,10 +268,10 @@ fs.access = function(path, mode, callback) {
|
|||||||
if (typeof mode === 'function') {
|
if (typeof mode === 'function') {
|
||||||
callback = mode;
|
callback = mode;
|
||||||
mode = fs.F_OK;
|
mode = fs.F_OK;
|
||||||
|
} else if (typeof callback !== 'function') {
|
||||||
|
throw new TypeError('"callback" argument must be a function');
|
||||||
}
|
}
|
||||||
|
|
||||||
callback = makeCallback(callback);
|
|
||||||
|
|
||||||
if (handleError((path = getPathFromURL(path)), callback))
|
if (handleError((path = getPathFromURL(path)), callback))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -252,7 +280,7 @@ fs.access = function(path, mode, callback) {
|
|||||||
|
|
||||||
mode = mode | 0;
|
mode = mode | 0;
|
||||||
var req = new FSReqWrap();
|
var req = new FSReqWrap();
|
||||||
req.oncomplete = callback;
|
req.oncomplete = makeCallback(callback);
|
||||||
binding.access(pathModule._makeLong(path), mode, req);
|
binding.access(pathModule._makeLong(path), mode, req);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
2
test/fixtures/test-fs-readfile-error.js
vendored
2
test/fixtures/test-fs-readfile-error.js
vendored
@ -19,4 +19,4 @@
|
|||||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
require('fs').readFileSync('/'); // throws EISDIR
|
require('fs').readFile('/'); // throws EISDIR
|
||||||
|
@ -87,11 +87,11 @@ assert.throws(() => {
|
|||||||
|
|
||||||
assert.throws(() => {
|
assert.throws(() => {
|
||||||
fs.access(__filename, fs.F_OK);
|
fs.access(__filename, fs.F_OK);
|
||||||
}, common.expectsError({code: 'ERR_INVALID_CALLBACK'}));
|
}, /^TypeError: "callback" argument must be a function$/);
|
||||||
|
|
||||||
assert.throws(() => {
|
assert.throws(() => {
|
||||||
fs.access(__filename, fs.F_OK, {});
|
fs.access(__filename, fs.F_OK, {});
|
||||||
}, common.expectsError({code: 'ERR_INVALID_CALLBACK'}));
|
}, /^TypeError: "callback" argument must be a function$/);
|
||||||
|
|
||||||
assert.doesNotThrow(() => {
|
assert.doesNotThrow(() => {
|
||||||
fs.accessSync(__filename);
|
fs.accessSync(__filename);
|
||||||
|
@ -23,14 +23,14 @@ fs.link(srcPath, dstPath, common.mustCall(callback));
|
|||||||
|
|
||||||
assert.throws(
|
assert.throws(
|
||||||
function() {
|
function() {
|
||||||
fs.link(undefined, undefined, common.mustNotCall());
|
fs.link();
|
||||||
},
|
},
|
||||||
/src must be a string or Buffer/
|
/src must be a string or Buffer/
|
||||||
);
|
);
|
||||||
|
|
||||||
assert.throws(
|
assert.throws(
|
||||||
function() {
|
function() {
|
||||||
fs.link('abc', undefined, common.mustNotCall());
|
fs.link('abc');
|
||||||
},
|
},
|
||||||
/dest must be a string or Buffer/
|
/dest must be a string or Buffer/
|
||||||
);
|
);
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
const common = require('../common');
|
const common = require('../common');
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const cbTypeError = common.expectsError({code: 'ERR_INVALID_CALLBACK'});
|
const cbTypeError = /^TypeError: "callback" argument must be a function$/;
|
||||||
const callbackThrowValues = [null, true, false, 0, 1, 'foo', /foo/, [], {}];
|
const callbackThrowValues = [null, true, false, 0, 1, 'foo', /foo/, [], {}];
|
||||||
|
|
||||||
const { sep } = require('path');
|
const { sep } = require('path');
|
||||||
|
const warn = 'Calling an asynchronous function without callback is deprecated.';
|
||||||
|
|
||||||
common.refreshTmpDir();
|
common.refreshTmpDir();
|
||||||
|
|
||||||
@ -16,6 +17,11 @@ function testMakeCallback(cb) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
common.expectWarning('DeprecationWarning', warn);
|
||||||
|
|
||||||
|
// Passing undefined/nothing calls rethrow() internally, which emits a warning
|
||||||
|
assert.doesNotThrow(testMakeCallback());
|
||||||
|
|
||||||
function invalidCallbackThrowsTests() {
|
function invalidCallbackThrowsTests() {
|
||||||
callbackThrowValues.forEach((value) => {
|
callbackThrowValues.forEach((value) => {
|
||||||
assert.throws(testMakeCallback(value), cbTypeError);
|
assert.throws(testMakeCallback(value), cbTypeError);
|
||||||
|
@ -2,8 +2,9 @@
|
|||||||
const common = require('../common');
|
const common = require('../common');
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const cbTypeError = common.expectsError({code: 'ERR_INVALID_CALLBACK'});
|
const cbTypeError = /^TypeError: "callback" argument must be a function$/;
|
||||||
const callbackThrowValues = [null, true, false, 0, 1, 'foo', /foo/, [], {}];
|
const callbackThrowValues = [null, true, false, 0, 1, 'foo', /foo/, [], {}];
|
||||||
|
const warn = 'Calling an asynchronous function without callback is deprecated.';
|
||||||
|
|
||||||
function testMakeStatsCallback(cb) {
|
function testMakeStatsCallback(cb) {
|
||||||
return function() {
|
return function() {
|
||||||
@ -12,9 +13,14 @@ function testMakeStatsCallback(cb) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
common.expectWarning('DeprecationWarning', warn);
|
||||||
|
|
||||||
// Verify the case where a callback function is provided
|
// Verify the case where a callback function is provided
|
||||||
assert.doesNotThrow(testMakeStatsCallback(common.noop));
|
assert.doesNotThrow(testMakeStatsCallback(common.noop));
|
||||||
|
|
||||||
|
// Passing undefined/nothing calls rethrow() internally, which emits a warning
|
||||||
|
assert.doesNotThrow(testMakeStatsCallback());
|
||||||
|
|
||||||
function invalidCallbackThrowsTests() {
|
function invalidCallbackThrowsTests() {
|
||||||
callbackThrowValues.forEach((value) => {
|
callbackThrowValues.forEach((value) => {
|
||||||
assert.throws(testMakeStatsCallback(value), cbTypeError);
|
assert.throws(testMakeStatsCallback(value), cbTypeError);
|
||||||
|
@ -29,3 +29,8 @@ fs.mkdtemp(path.join(common.tmpDir, 'bar.'), common.mustCall(handler));
|
|||||||
// Same test as above, but making sure that passing an options object doesn't
|
// Same test as above, but making sure that passing an options object doesn't
|
||||||
// affect the way the callback function is handled.
|
// affect the way the callback function is handled.
|
||||||
fs.mkdtemp(path.join(common.tmpDir, 'bar.'), {}, common.mustCall(handler));
|
fs.mkdtemp(path.join(common.tmpDir, 'bar.'), {}, common.mustCall(handler));
|
||||||
|
|
||||||
|
// Making sure that not passing a callback doesn't crash, as a default function
|
||||||
|
// is passed internally.
|
||||||
|
assert.doesNotThrow(() => fs.mkdtemp(path.join(common.tmpDir, 'bar-')));
|
||||||
|
assert.doesNotThrow(() => fs.mkdtemp(path.join(common.tmpDir, 'bar-'), {}));
|
||||||
|
@ -46,7 +46,7 @@ function test(env, cb) {
|
|||||||
|
|
||||||
test({ NODE_DEBUG: '' }, common.mustCall((data) => {
|
test({ NODE_DEBUG: '' }, common.mustCall((data) => {
|
||||||
assert(/EISDIR/.test(data));
|
assert(/EISDIR/.test(data));
|
||||||
assert(/test-fs-readfile-error/.test(data));
|
assert(!/test-fs-readfile-error/.test(data));
|
||||||
}));
|
}));
|
||||||
|
|
||||||
test({ NODE_DEBUG: 'fs' }, common.mustCall((data) => {
|
test({ NODE_DEBUG: 'fs' }, common.mustCall((data) => {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
const common = require('../common');
|
require('../common');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
|
|
||||||
assert.throws(function() {
|
assert.throws(function() {
|
||||||
fs.write(null, Buffer.allocUnsafe(1), 0, 1, common.mustNotCall());
|
fs.write(null, Buffer.allocUnsafe(1), 0, 1);
|
||||||
}, /TypeError/);
|
}, /TypeError/);
|
||||||
|
|
||||||
assert.throws(function() {
|
assert.throws(function() {
|
||||||
fs.write(null, '1', 0, 1, common.mustNotCall());
|
fs.write(null, '1', 0, 1);
|
||||||
}, /TypeError/);
|
}, /TypeError/);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user