Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 37 additions & 3 deletions types/emscripten/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ declare namespace WebAssembly {
}

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

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

interface FSStream {}
interface FSNode {
interface Mount {
type: Emscripten.FileSystemType;
opts: object;
mountpoint: string;
mounts: Mount[];
root: FSNode;
}

class FSStream {
constructor();
object: FSNode;
readonly isRead: boolean;
readonly isWrite: boolean;
readonly isAppend: boolean;
flags: number;
position: number;
}

class FSNode {
parent: FSNode;
mount: Mount;
mounted?: Mount;
id: number;
name: string;
mode: number;
rdev: number;
readMode: number;
writeMode: number;
constructor(parent: FSNode, name: string, mode: number, rdev: number);
read: boolean;
write: boolean;
readonly isFolder: boolean;
readonly isDevice: boolean;
}

class ErrnoError extends Error {
name: "ErronoError";
errno: number;
code: string;
}

let ignorePermissions: boolean;
Expand Down
8 changes: 4 additions & 4 deletions types/readable-stream/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -416,15 +416,15 @@ declare namespace _Readable {
destroy?(this: _IReadable, error: Error | null, callback: (error: Error | null) => void): void;
};

class Readable extends _Readable {
class Readable extends _Readable implements NodeJS.ReadableStream {
readonly readableAborted: boolean;
readonly readableDidRead: boolean;
readonly readableEncoding: BufferEncoding | null;
readonly readableEnded: boolean;
readonly readableObjectMode: boolean;

constructor(options?: ReadableOptions);
pipe<T extends _IWritable>(destination: T, options?: { end?: boolean | undefined }): T;
pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean | undefined }): T;
Comment thread
james-pre marked this conversation as resolved.
compose<T extends NodeJS.ReadableStream>(
stream: T | ComposeFnParam | Iterable<T> | AsyncIterable<T>,
options?: { signal: AbortSignal },
Expand Down Expand Up @@ -555,7 +555,7 @@ declare namespace _Readable {
end(str: string, encoding?: BufferEncoding, cb?: () => void): this;
}

class _Writable extends Stream implements _IWritable {
class _Writable extends Stream implements _IWritable, NodeJS.WritableStream {
writable: boolean;
readonly writableHighWaterMark: number;
readonly writableLength: number;
Expand Down Expand Up @@ -662,7 +662,7 @@ declare namespace _Readable {

class Stream extends _Readable {
constructor(options?: ReadableOptions);
pipe<T extends _IWritable>(destination: T, options?: { end?: boolean | undefined }): T;
pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean | undefined }): T;
compose<T extends NodeJS.ReadableStream>(
stream: T | ComposeFnParam | Iterable<T> | AsyncIterable<T>,
options?: { signal: AbortSignal },
Expand Down