Skip to content

Commit 14677d3

Browse files
author
James
authored
🤖 Merge PR #69218 Add class types to emscripten, fix readable-stream by @dr-vortex
1 parent 89472ec commit 14677d3

File tree

2 files changed

+41
-7
lines changed

2 files changed

+41
-7
lines changed

‎types/emscripten/index.d.ts‎

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ declare namespace WebAssembly {
44
}
55

66
declare namespace Emscripten {
7-
interface FileSystemType {}
7+
interface FileSystemType {
8+
mount(mount: FS.Mount): FS.FSNode;
9+
syncfs(mount: FS.Mount, populate: () => unknown, done: (err?: number | null) => unknown): void;
10+
}
811
type EnvironmentType = "WEB" | "NODE" | "SHELL" | "WORKER";
912

1013
type JSType = "number" | "string" | "array" | "boolean";
@@ -115,14 +118,45 @@ declare namespace FS {
115118
parentObject: Lookup["node"];
116119
}
117120

118-
interface FSStream {}
119-
interface FSNode {
121+
interface Mount {
122+
type: Emscripten.FileSystemType;
123+
opts: object;
124+
mountpoint: string;
125+
mounts: Mount[];
126+
root: FSNode;
127+
}
128+
129+
class FSStream {
130+
constructor();
131+
object: FSNode;
132+
readonly isRead: boolean;
133+
readonly isWrite: boolean;
134+
readonly isAppend: boolean;
135+
flags: number;
136+
position: number;
137+
}
138+
139+
class FSNode {
140+
parent: FSNode;
141+
mount: Mount;
142+
mounted?: Mount;
143+
id: number;
144+
name: string;
120145
mode: number;
146+
rdev: number;
147+
readMode: number;
148+
writeMode: number;
149+
constructor(parent: FSNode, name: string, mode: number, rdev: number);
150+
read: boolean;
151+
write: boolean;
152+
readonly isFolder: boolean;
153+
readonly isDevice: boolean;
121154
}
122155

123156
class ErrnoError extends Error {
124157
name: "ErronoError";
125158
errno: number;
159+
code: string;
126160
}
127161

128162
let ignorePermissions: boolean;

‎types/readable-stream/index.d.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -416,15 +416,15 @@ declare namespace _Readable {
416416
destroy?(this: _IReadable, error: Error | null, callback: (error: Error | null) => void): void;
417417
};
418418

419-
class Readable extends _Readable {
419+
class Readable extends _Readable implements NodeJS.ReadableStream {
420420
readonly readableAborted: boolean;
421421
readonly readableDidRead: boolean;
422422
readonly readableEncoding: BufferEncoding | null;
423423
readonly readableEnded: boolean;
424424
readonly readableObjectMode: boolean;
425425

426426
constructor(options?: ReadableOptions);
427-
pipe<T extends _IWritable>(destination: T, options?: { end?: boolean | undefined }): T;
427+
pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean | undefined }): T;
428428
compose<T extends NodeJS.ReadableStream>(
429429
stream: T | ComposeFnParam | Iterable<T> | AsyncIterable<T>,
430430
options?: { signal: AbortSignal },
@@ -555,7 +555,7 @@ declare namespace _Readable {
555555
end(str: string, encoding?: BufferEncoding, cb?: () => void): this;
556556
}
557557

558-
class _Writable extends Stream implements _IWritable {
558+
class _Writable extends Stream implements _IWritable, NodeJS.WritableStream {
559559
writable: boolean;
560560
readonly writableHighWaterMark: number;
561561
readonly writableLength: number;
@@ -662,7 +662,7 @@ declare namespace _Readable {
662662

663663
class Stream extends _Readable {
664664
constructor(options?: ReadableOptions);
665-
pipe<T extends _IWritable>(destination: T, options?: { end?: boolean | undefined }): T;
665+
pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean | undefined }): T;
666666
compose<T extends NodeJS.ReadableStream>(
667667
stream: T | ComposeFnParam | Iterable<T> | AsyncIterable<T>,
668668
options?: { signal: AbortSignal },

0 commit comments

Comments
 (0)