Skip to content

Commit df9b93f

Browse files
authored
🤖 Merge PR DefinitelyTyped#73005 [node/fs/promises] filehandle.read accepts bigint values as position since v21.0.0 by @CarbonicSoda
1 parent 1e6ba70 commit df9b93f

File tree

6 files changed

+38
-6
lines changed

6 files changed

+38
-6
lines changed

‎types/node/fs.d.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2650,7 +2650,7 @@ declare module "fs" {
26502650
buffer: TBuffer,
26512651
offset: number,
26522652
length: number,
2653-
position: number | null,
2653+
position: ReadPosition | null,
26542654
): Promise<{
26552655
bytesRead: number;
26562656
buffer: TBuffer;

‎types/node/fs/promises.d.ts‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ declare module "fs/promises" {
2929
OpenDirOptions,
3030
OpenMode,
3131
PathLike,
32+
ReadPosition,
3233
ReadStream,
3334
ReadVResult,
3435
RmDirOptions,
@@ -69,7 +70,7 @@ declare module "fs/promises" {
6970
* @default `buffer.byteLength`
7071
*/
7172
length?: number | null;
72-
position?: number | null;
73+
position?: ReadPosition | null;
7374
}
7475
interface CreateReadStreamOptions extends Abortable {
7576
encoding?: BufferEncoding | null | undefined;
@@ -229,7 +230,7 @@ declare module "fs/promises" {
229230
buffer: T,
230231
offset?: number | null,
231232
length?: number | null,
232-
position?: number | null,
233+
position?: ReadPosition | null,
233234
): Promise<FileReadResult<T>>;
234235
read<T extends NodeJS.ArrayBufferView = Buffer>(
235236
buffer: T,

‎types/node/test/fs.ts‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,21 @@ import { CopyOptions, CopySyncOptions, cp, cpSync, glob, globSync } from "fs";
130130
// 2-param version using all-default options:
131131
fs.read(1, (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: NodeJS.ArrayBufferView) => {});
132132
fs.read(1, () => {});
133+
// 6-param version with bigint valued position:
134+
fs.read(
135+
1,
136+
new DataView(new ArrayBuffer(1)),
137+
0,
138+
1,
139+
0n,
140+
(err: NodeJS.ErrnoException | null, bytesRead: number, buffer: DataView) => {},
141+
);
142+
// 3-param version with bigint valued position:
143+
fs.read(
144+
1,
145+
{ buffer: new DataView(new ArrayBuffer(1)), offset: 0, length: 1, position: 0n },
146+
(err: NodeJS.ErrnoException | null, bytesRead: number, buffer: DataView) => {},
147+
);
133148
}
134149

135150
{

‎types/node/v22/fs.d.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2656,7 +2656,7 @@ declare module "fs" {
26562656
buffer: TBuffer,
26572657
offset: number,
26582658
length: number,
2659-
position: number | null,
2659+
position: ReadPosition | null,
26602660
): Promise<{
26612661
bytesRead: number;
26622662
buffer: TBuffer;

‎types/node/v22/fs/promises.d.ts‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ declare module "fs/promises" {
2929
OpenDirOptions,
3030
OpenMode,
3131
PathLike,
32+
ReadPosition,
3233
ReadStream,
3334
ReadVResult,
3435
RmDirOptions,
@@ -69,7 +70,7 @@ declare module "fs/promises" {
6970
* @default `buffer.byteLength`
7071
*/
7172
length?: number | null;
72-
position?: number | null;
73+
position?: ReadPosition | null;
7374
}
7475
interface CreateReadStreamOptions extends Abortable {
7576
encoding?: BufferEncoding | null | undefined;
@@ -229,7 +230,7 @@ declare module "fs/promises" {
229230
buffer: T,
230231
offset?: number | null,
231232
length?: number | null,
232-
position?: number | null,
233+
position?: ReadPosition | null,
233234
): Promise<FileReadResult<T>>;
234235
read<T extends NodeJS.ArrayBufferView = Buffer>(
235236
buffer: T,

‎types/node/v22/test/fs.ts‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,21 @@ import { CopyOptions, CopySyncOptions, cp, cpSync, glob, globSync } from "fs";
130130
// 2-param version using all-default options:
131131
fs.read(1, (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: NodeJS.ArrayBufferView) => {});
132132
fs.read(1, () => {});
133+
// 6-param version with bigint valued position:
134+
fs.read(
135+
1,
136+
new DataView(new ArrayBuffer(1)),
137+
0,
138+
1,
139+
0n,
140+
(err: NodeJS.ErrnoException | null, bytesRead: number, buffer: DataView) => {},
141+
);
142+
// 3-param version with bigint valued position:
143+
fs.read(
144+
1,
145+
{ buffer: new DataView(new ArrayBuffer(1)), offset: 0, length: 1, position: 0n },
146+
(err: NodeJS.ErrnoException | null, bytesRead: number, buffer: DataView) => {},
147+
);
133148
}
134149

135150
{

0 commit comments

Comments
 (0)