fs: make parameters optional for readSync · nodejs/node@991aca3 · GitHub
Skip to content

Commit 991aca3

Browse files
lholmquisttargos
authored andcommitted
fs: make parameters optional for readSync
This makes the offset, length and position parameters optional by passing in an options object. PR-URL: #32460 Reviewed-By: Anna Henningsen <anna@addaleax.net>
1 parent fcfde57 commit 991aca3

3 files changed

Lines changed: 65 additions & 0 deletions

File tree

doc/api/fs.md

Lines changed: 26 additions & 0 deletions

lib/fs.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,8 +534,20 @@ function read(fd, buffer, offset, length, position, callback) {
534534
ObjectDefineProperty(read, internalUtil.customPromisifyArgs,
535535
{ value: ['bytesRead', 'buffer'], enumerable: false });
536536

537+
// usage:
538+
// fs.readSync(fd, buffer, offset, length, position);
539+
// OR
540+
// fs.readSync(fd, buffer, {}) or fs.readSync(fd, buffer)
537541
function readSync(fd, buffer, offset, length, position) {
538542
validateInt32(fd, 'fd', 0);
543+
544+
if (arguments.length <= 3) {
545+
// Assume fs.read(fd, buffer, options)
546+
const options = offset || {};
547+
548+
({ offset = 0, length = buffer.length, position } = options);
549+
}
550+
539551
validateBuffer(buffer);
540552

541553
if (offset == null) {
Lines changed: 27 additions & 0 deletions

0 commit comments

Comments
 (0)