@gadgetinc/substrate 0.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/assets/kernel.wasm +0 -0
  2. package/dist/assets/manifest.json +32 -0
  3. package/dist/assets/network-driver.js +2 -0
  4. package/dist/assets/network-driver.js.map +1 -0
  5. package/dist/assets/runtime.js +264 -0
  6. package/dist/assets/runtime.js.map +1 -0
  7. package/dist/binaries.d.ts +58 -0
  8. package/dist/binaries.d.ts.map +1 -0
  9. package/dist/boot/index.d.ts +318 -0
  10. package/dist/boot/index.d.ts.map +1 -0
  11. package/dist/index.d.ts +8 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +4589 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/kernel/bridge.d.ts +64 -0
  16. package/dist/kernel/bridge.d.ts.map +1 -0
  17. package/dist/kernel/types.d.ts +518 -0
  18. package/dist/kernel/types.d.ts.map +1 -0
  19. package/dist/kernel/wasm.d.ts +20 -0
  20. package/dist/kernel/wasm.d.ts.map +1 -0
  21. package/dist/node/assert.d.ts +99 -0
  22. package/dist/node/assert.d.ts.map +1 -0
  23. package/dist/node/async_hooks.d.ts +88 -0
  24. package/dist/node/async_hooks.d.ts.map +1 -0
  25. package/dist/node/buffer.d.ts +62 -0
  26. package/dist/node/buffer.d.ts.map +1 -0
  27. package/dist/node/child_process.d.ts +300 -0
  28. package/dist/node/child_process.d.ts.map +1 -0
  29. package/dist/node/cluster.d.ts +37 -0
  30. package/dist/node/cluster.d.ts.map +1 -0
  31. package/dist/node/constants.d.ts +306 -0
  32. package/dist/node/constants.d.ts.map +1 -0
  33. package/dist/node/crypto.d.ts +176 -0
  34. package/dist/node/crypto.d.ts.map +1 -0
  35. package/dist/node/dgram.d.ts +44 -0
  36. package/dist/node/dgram.d.ts.map +1 -0
  37. package/dist/node/diagnostics_channel.d.ts +57 -0
  38. package/dist/node/diagnostics_channel.d.ts.map +1 -0
  39. package/dist/node/dns.d.ts +278 -0
  40. package/dist/node/dns.d.ts.map +1 -0
  41. package/dist/node/domain.d.ts +21 -0
  42. package/dist/node/domain.d.ts.map +1 -0
  43. package/dist/node/events.d.ts +54 -0
  44. package/dist/node/events.d.ts.map +1 -0
  45. package/dist/node/fs/promises.d.ts +116 -0
  46. package/dist/node/fs/promises.d.ts.map +1 -0
  47. package/dist/node/fs.d.ts +536 -0
  48. package/dist/node/fs.d.ts.map +1 -0
  49. package/dist/node/http.d.ts +471 -0
  50. package/dist/node/http.d.ts.map +1 -0
  51. package/dist/node/http2.d.ts +508 -0
  52. package/dist/node/http2.d.ts.map +1 -0
  53. package/dist/node/https.d.ts +42 -0
  54. package/dist/node/https.d.ts.map +1 -0
  55. package/dist/node/inspector.d.ts +25 -0
  56. package/dist/node/inspector.d.ts.map +1 -0
  57. package/dist/node/net.d.ts +231 -0
  58. package/dist/node/net.d.ts.map +1 -0
  59. package/dist/node/os.d.ts +318 -0
  60. package/dist/node/os.d.ts.map +1 -0
  61. package/dist/node/path.d.ts +144 -0
  62. package/dist/node/path.d.ts.map +1 -0
  63. package/dist/node/process.d.ts +105 -0
  64. package/dist/node/process.d.ts.map +1 -0
  65. package/dist/node/punycode.d.ts +34 -0
  66. package/dist/node/punycode.d.ts.map +1 -0
  67. package/dist/node/querystring.d.ts +49 -0
  68. package/dist/node/querystring.d.ts.map +1 -0
  69. package/dist/node/readline.d.ts +99 -0
  70. package/dist/node/readline.d.ts.map +1 -0
  71. package/dist/node/stream.d.ts +409 -0
  72. package/dist/node/stream.d.ts.map +1 -0
  73. package/dist/node/string_decoder.d.ts +46 -0
  74. package/dist/node/string_decoder.d.ts.map +1 -0
  75. package/dist/node/timers.d.ts +79 -0
  76. package/dist/node/timers.d.ts.map +1 -0
  77. package/dist/node/tls.d.ts +159 -0
  78. package/dist/node/tls.d.ts.map +1 -0
  79. package/dist/node/trace_events.d.ts +18 -0
  80. package/dist/node/trace_events.d.ts.map +1 -0
  81. package/dist/node/tty.d.ts +67 -0
  82. package/dist/node/tty.d.ts.map +1 -0
  83. package/dist/node/url.d.ts +85 -0
  84. package/dist/node/url.d.ts.map +1 -0
  85. package/dist/node/util.d.ts +252 -0
  86. package/dist/node/util.d.ts.map +1 -0
  87. package/dist/node/v8.d.ts +134 -0
  88. package/dist/node/v8.d.ts.map +1 -0
  89. package/dist/node/vm.d.ts +89 -0
  90. package/dist/node/vm.d.ts.map +1 -0
  91. package/dist/node/wasi.d.ts +25 -0
  92. package/dist/node/wasi.d.ts.map +1 -0
  93. package/dist/node/worker_threads.d.ts +206 -0
  94. package/dist/node/worker_threads.d.ts.map +1 -0
  95. package/dist/node/ws.d.ts +110 -0
  96. package/dist/node/ws.d.ts.map +1 -0
  97. package/dist/node/zlib.d.ts +328 -0
  98. package/dist/node/zlib.d.ts.map +1 -0
  99. package/dist/persistence/opfs-store.d.ts +93 -0
  100. package/dist/persistence/opfs-store.d.ts.map +1 -0
  101. package/dist/runtime/async-function-shim.d.ts +27 -0
  102. package/dist/runtime/async-function-shim.d.ts.map +1 -0
  103. package/dist/runtime/fs-interface.d.ts +60 -0
  104. package/dist/runtime/fs-interface.d.ts.map +1 -0
  105. package/dist/runtime/index.d.ts +113 -0
  106. package/dist/runtime/index.d.ts.map +1 -0
  107. package/dist/runtime/loader.d.ts +50 -0
  108. package/dist/runtime/loader.d.ts.map +1 -0
  109. package/dist/runtime/loaders/async-transform.d.ts +40 -0
  110. package/dist/runtime/loaders/async-transform.d.ts.map +1 -0
  111. package/dist/runtime/loaders/cjs.d.ts +37 -0
  112. package/dist/runtime/loaders/cjs.d.ts.map +1 -0
  113. package/dist/runtime/loaders/detect-module-type.d.ts +21 -0
  114. package/dist/runtime/loaders/detect-module-type.d.ts.map +1 -0
  115. package/dist/runtime/loaders/esm.d.ts +140 -0
  116. package/dist/runtime/loaders/esm.d.ts.map +1 -0
  117. package/dist/runtime/loaders/source-map-registry.d.ts +43 -0
  118. package/dist/runtime/loaders/source-map-registry.d.ts.map +1 -0
  119. package/dist/runtime/loaders/source-map.d.ts +50 -0
  120. package/dist/runtime/loaders/source-map.d.ts.map +1 -0
  121. package/dist/runtime/loaders/utils.d.ts +6 -0
  122. package/dist/runtime/loaders/utils.d.ts.map +1 -0
  123. package/dist/runtime/native-globals.d.ts +24 -0
  124. package/dist/runtime/native-globals.d.ts.map +1 -0
  125. package/dist/runtime/network-driver.d.ts +78 -0
  126. package/dist/runtime/network-driver.d.ts.map +1 -0
  127. package/dist/runtime/process-context.d.ts +96 -0
  128. package/dist/runtime/process-context.d.ts.map +1 -0
  129. package/dist/runtime/process-event-loop.d.ts +356 -0
  130. package/dist/runtime/process-event-loop.d.ts.map +1 -0
  131. package/dist/runtime/process-handler.d.ts +71 -0
  132. package/dist/runtime/process-handler.d.ts.map +1 -0
  133. package/dist/runtime/process-handlers/node.d.ts +22 -0
  134. package/dist/runtime/process-handlers/node.d.ts.map +1 -0
  135. package/dist/runtime/process-handlers/npm.d.ts +20 -0
  136. package/dist/runtime/process-handlers/npm.d.ts.map +1 -0
  137. package/dist/runtime/process-handlers/npx.d.ts +11 -0
  138. package/dist/runtime/process-handlers/npx.d.ts.map +1 -0
  139. package/dist/runtime/process-handlers/pnpm.d.ts +12 -0
  140. package/dist/runtime/process-handlers/pnpm.d.ts.map +1 -0
  141. package/dist/runtime/process-handlers/shell.d.ts +24 -0
  142. package/dist/runtime/process-handlers/shell.d.ts.map +1 -0
  143. package/dist/runtime/process-handlers/yarn.d.ts +12 -0
  144. package/dist/runtime/process-handlers/yarn.d.ts.map +1 -0
  145. package/dist/runtime/process-helpers.d.ts +17 -0
  146. package/dist/runtime/process-helpers.d.ts.map +1 -0
  147. package/dist/runtime/process-manager.d.ts +87 -0
  148. package/dist/runtime/process-manager.d.ts.map +1 -0
  149. package/dist/runtime/process-scheduler.d.ts +123 -0
  150. package/dist/runtime/process-scheduler.d.ts.map +1 -0
  151. package/dist/runtime/process-waker.d.ts +24 -0
  152. package/dist/runtime/process-waker.d.ts.map +1 -0
  153. package/dist/runtime/promise.d.ts +44 -0
  154. package/dist/runtime/promise.d.ts.map +1 -0
  155. package/dist/runtime/stack-trace.d.ts +52 -0
  156. package/dist/runtime/stack-trace.d.ts.map +1 -0
  157. package/dist/runtime/wasm-package-interceptor.d.ts +141 -0
  158. package/dist/runtime/wasm-package-interceptor.d.ts.map +1 -0
  159. package/dist/runtime/web-streams.d.ts +57 -0
  160. package/dist/runtime/web-streams.d.ts.map +1 -0
  161. package/dist/runtime/websocket.d.ts +102 -0
  162. package/dist/runtime/websocket.d.ts.map +1 -0
  163. package/dist/shim/websocket-shim-inline.d.ts +9 -0
  164. package/dist/shim/websocket-shim-inline.d.ts.map +1 -0
  165. package/dist/shim/websocket-shim.d.ts +15 -0
  166. package/dist/shim/websocket-shim.d.ts.map +1 -0
  167. package/dist/sw/index.d.ts +53 -0
  168. package/dist/sw/index.d.ts.map +1 -0
  169. package/dist/utils/debug.d.ts +75 -0
  170. package/dist/utils/debug.d.ts.map +1 -0
  171. package/dist/utils/path.d.ts +20 -0
  172. package/dist/utils/path.d.ts.map +1 -0
  173. package/dist/utils/tarball.d.ts +37 -0
  174. package/dist/utils/tarball.d.ts.map +1 -0
  175. package/dist/utils/websocket-protocol.d.ts +102 -0
  176. package/dist/utils/websocket-protocol.d.ts.map +1 -0
  177. package/dist/worker/host.d.ts +14 -0
  178. package/dist/worker/host.d.ts.map +1 -0
  179. package/dist/worker/types.d.ts +209 -0
  180. package/dist/worker/types.d.ts.map +1 -0
  181. package/package.json +53 -0
@@ -0,0 +1,409 @@
1
+ /**
2
+ * Node.js Stream Implementation
3
+ *
4
+ * Implements Readable, Writable, Duplex, and Transform streams
5
+ * with backpressure support.
6
+ */
7
+ import { Buffer } from "./buffer.js";
8
+ export type BufferEncoding = "utf8" | "utf-8" | "ascii" | "binary" | "hex" | "base64";
9
+ export interface StreamOptions {
10
+ /** High water mark for buffering (default: 16KB for bytes, 16 for objects) */
11
+ highWaterMark?: number;
12
+ /** Object mode - stream arbitrary JS values instead of bytes */
13
+ objectMode?: boolean;
14
+ /** Encoding for string chunks */
15
+ encoding?: BufferEncoding;
16
+ /** Auto-destroy on error or end */
17
+ autoDestroy?: boolean;
18
+ /** Signal for aborting */
19
+ signal?: AbortSignal;
20
+ }
21
+ export interface ReadableOptions extends StreamOptions {
22
+ /** Custom read implementation */
23
+ read?: (size: number) => void;
24
+ }
25
+ export interface WritableOptions extends StreamOptions {
26
+ /** Custom write implementation */
27
+ write?: (chunk: unknown, encoding: BufferEncoding, callback: (error?: Error | null) => void) => void;
28
+ /** Custom writev implementation (batch writes) */
29
+ writev?: (chunks: Array<{
30
+ chunk: unknown;
31
+ encoding: BufferEncoding;
32
+ }>, callback: (error?: Error | null) => void) => void;
33
+ /** Custom final implementation */
34
+ final?: (callback: (error?: Error | null) => void) => void;
35
+ /** Custom destroy implementation */
36
+ destroy?: (error: Error | null, callback: (error?: Error | null) => void) => void;
37
+ }
38
+ export interface TransformOptions extends WritableOptions {
39
+ /** Custom transform implementation */
40
+ transform?: (chunk: Chunk, encoding: BufferEncoding, callback: (error?: Error | null, data?: Chunk) => void) => void;
41
+ /** Custom flush implementation */
42
+ flush?: (callback: (error?: Error | null, data?: Chunk) => void) => void;
43
+ }
44
+ type Chunk = Uint8Array | Buffer | string | object | number | boolean | bigint | symbol;
45
+ type EventListener = (...args: any[]) => void;
46
+ interface EventEmitter {
47
+ _events: Map<string | symbol, EventListener[]>;
48
+ _maxListeners: number;
49
+ _emitDepth: Map<string, number>;
50
+ on(event: string, listener: EventListener): this;
51
+ once(event: string, listener: EventListener): this;
52
+ off(event: string, listener: EventListener): this;
53
+ removeListener(event: string, listener: EventListener): this;
54
+ removeAllListeners(event?: string): this;
55
+ emit(event: string, ...args: unknown[]): boolean;
56
+ listeners(event: string): EventListener[];
57
+ rawListeners(event: string): EventListener[];
58
+ listenerCount(event: string): number;
59
+ setMaxListeners(n: number): this;
60
+ getMaxListeners(): number;
61
+ addListener(event: string, listener: EventListener): this;
62
+ prependListener(event: string, listener: EventListener): this;
63
+ prependOnceListener(event: string, listener: EventListener): this;
64
+ eventNames(): (string | symbol)[];
65
+ }
66
+ interface EventEmitterConstructor {
67
+ new (): EventEmitter;
68
+ prototype: EventEmitter;
69
+ }
70
+ declare const EventEmitter: EventEmitterConstructor;
71
+ /**
72
+ * Base Stream - the foundation of all streams.
73
+ * Function constructor for CJS compatibility (supports Stream.call(this) pattern).
74
+ * In Node.js, this is basically an EventEmitter with pipe capability.
75
+ */
76
+ interface Stream extends EventEmitter {
77
+ pipe<T extends Writable>(destination: T, options?: {
78
+ end?: boolean;
79
+ }): T;
80
+ }
81
+ interface StreamConstructor {
82
+ new (): Stream;
83
+ prototype: Stream;
84
+ }
85
+ export declare const Stream: StreamConstructor;
86
+ /**
87
+ * Readable stream - a source of data
88
+ *
89
+ * Events:
90
+ * - 'data' (chunk) - emitted when data is available
91
+ * - 'end' - emitted when no more data
92
+ * - 'error' (err) - emitted on error
93
+ * - 'close' - emitted when stream is closed
94
+ * - 'readable' - emitted when data can be read (paused mode)
95
+ */
96
+ export declare class Readable extends Stream {
97
+ /** Internal buffer */
98
+ private _buffer;
99
+ private _bufferSize;
100
+ /** Stream state */
101
+ private _flowing;
102
+ private _ended;
103
+ private _endEmitted;
104
+ private _destroyed;
105
+ private _reading;
106
+ /** Options */
107
+ readonly readable = true;
108
+ readonly readableHighWaterMark: number;
109
+ readonly readableObjectMode: boolean;
110
+ readonly readableEncoding: BufferEncoding | null;
111
+ constructor(options?: ReadableOptions);
112
+ /**
113
+ * Set the encoding for data read from this stream.
114
+ * When set, data will be returned as strings instead of Buffers.
115
+ */
116
+ setEncoding(encoding: BufferEncoding): this;
117
+ /**
118
+ * Override EventEmitter.on to auto-resume on 'data' listener
119
+ */
120
+ on(event: string, listener: EventListener): this;
121
+ /**
122
+ * Override this method in subclasses to provide data
123
+ */
124
+ _read(_size: number): void;
125
+ /**
126
+ * Push data into the stream's buffer
127
+ */
128
+ push(chunk: Chunk | null, _encoding?: BufferEncoding): boolean;
129
+ /**
130
+ * Push data back to the front of the internal buffer.
131
+ * Used by consumers that need to "un-consume" data (e.g. HTTP upgrade head bytes).
132
+ */
133
+ unshift(chunk: Chunk): void;
134
+ /**
135
+ * Read data from the stream
136
+ */
137
+ read(size?: number): Chunk | null;
138
+ /**
139
+ * Switch to flowing mode
140
+ */
141
+ resume(): this;
142
+ /**
143
+ * Switch to paused mode
144
+ */
145
+ pause(): this;
146
+ /**
147
+ * Pipe to a writable stream
148
+ */
149
+ pipe<T extends Writable>(destination: T, options?: {
150
+ end?: boolean;
151
+ }): T;
152
+ /**
153
+ * Unpipe from a destination
154
+ */
155
+ unpipe(_destination?: Writable): this;
156
+ /**
157
+ * Destroy the stream
158
+ */
159
+ destroy(error?: Error): this;
160
+ /**
161
+ * Async iterator support
162
+ */
163
+ [Symbol.asyncIterator](): AsyncIterableIterator<Chunk>;
164
+ get readableEnded(): boolean;
165
+ get readableFlowing(): boolean | null;
166
+ get readableLength(): number;
167
+ get destroyed(): boolean;
168
+ /** Compatibility shim for Node.js internal _readableState (used by ws, readable-stream, etc.) */
169
+ get _readableState(): {
170
+ endEmitted: boolean;
171
+ ended: boolean;
172
+ destroyed: boolean;
173
+ flowing: boolean | null;
174
+ length: number;
175
+ pipes: null;
176
+ pipesCount: number;
177
+ };
178
+ private _emitData;
179
+ private _maybeEmitEnd;
180
+ private _getChunkSize;
181
+ private _concatBuffers;
182
+ private _readPartial;
183
+ /**
184
+ * Create a Readable from an iterable
185
+ */
186
+ static from(iterable: Iterable<Chunk> | AsyncIterable<Chunk>, options?: ReadableOptions): Readable;
187
+ /**
188
+ * Create a Node.js Readable from a Web ReadableStream.
189
+ * This is the key method for compatibility with packages like minipass-fetch
190
+ * that expect Node streams from fetch() responses.
191
+ *
192
+ * @param webStream - A Web API ReadableStream
193
+ * @param options - Optional stream options
194
+ * @returns A Node.js Readable stream
195
+ *
196
+ * @example
197
+ * ```ts
198
+ * const response = await fetch('https://example.com');
199
+ * const nodeStream = Readable.fromWeb(response.body);
200
+ * nodeStream.pipe(process.stdout);
201
+ * ```
202
+ */
203
+ static fromWeb(webStream: ReadableStream<Uint8Array>, options?: ReadableOptions): Readable;
204
+ /**
205
+ * Create a Web ReadableStream from a Node.js Readable.
206
+ *
207
+ * @param nodeStream - A Node.js Readable stream
208
+ * @param options - Optional options (strategy for queuing)
209
+ * @returns A Web API ReadableStream
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * const nodeStream = fs.createReadStream('file.txt');
214
+ * const webStream = Readable.toWeb(nodeStream);
215
+ * const response = new Response(webStream);
216
+ * ```
217
+ */
218
+ static toWeb(nodeStream: Readable, options?: {
219
+ strategy?: QueuingStrategy<Uint8Array>;
220
+ }): ReadableStream<Uint8Array>;
221
+ }
222
+ /**
223
+ * Writable stream - a destination for data
224
+ *
225
+ * Events:
226
+ * - 'drain' - emitted when buffer empties after being full
227
+ * - 'finish' - emitted when end() completes
228
+ * - 'error' (err) - emitted on error
229
+ * - 'close' - emitted when stream is closed
230
+ * - 'pipe' (src) - emitted when piped to
231
+ * - 'unpipe' (src) - emitted when unpiped from
232
+ */
233
+ export declare class Writable extends Stream {
234
+ /** Internal buffer */
235
+ private _buffer;
236
+ private _bufferSize;
237
+ /** Stream state */
238
+ private _writing;
239
+ private _ending;
240
+ private _ended;
241
+ private _finished;
242
+ private _destroyed;
243
+ private _needDrain;
244
+ private _corked;
245
+ /** Options */
246
+ readonly writable = true;
247
+ readonly writableHighWaterMark: number;
248
+ readonly writableObjectMode: boolean;
249
+ constructor(options?: WritableOptions);
250
+ /**
251
+ * Override this method in subclasses to handle writes
252
+ */
253
+ _write(chunk: Chunk, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
254
+ /**
255
+ * Optional batch write implementation
256
+ */
257
+ _writev?(chunks: Array<{
258
+ chunk: Chunk;
259
+ encoding: BufferEncoding;
260
+ }>, callback: (error?: Error | null) => void): void;
261
+ /**
262
+ * Called before 'finish' is emitted
263
+ */
264
+ _final(callback: (error?: Error | null) => void): void;
265
+ /**
266
+ * Called when destroying the stream
267
+ */
268
+ _destroy(error: Error | null, callback: (error?: Error | null) => void): void;
269
+ /**
270
+ * Write data to the stream
271
+ */
272
+ write(chunk: Chunk, encoding?: BufferEncoding | ((error?: Error | null) => void), callback?: (error?: Error | null) => void): boolean;
273
+ /**
274
+ * Signal that no more data will be written
275
+ */
276
+ end(chunk?: Chunk | ((error?: Error | null) => void), encoding?: BufferEncoding | ((error?: Error | null) => void), callback?: (error?: Error | null) => void): this;
277
+ /**
278
+ * Cork the stream (buffer writes)
279
+ */
280
+ cork(): void;
281
+ /**
282
+ * Uncork the stream (flush buffered writes)
283
+ */
284
+ uncork(): void;
285
+ /**
286
+ * Destroy the stream
287
+ */
288
+ destroy(error?: Error): this;
289
+ /**
290
+ * Set default encoding
291
+ */
292
+ setDefaultEncoding(_encoding: BufferEncoding): this;
293
+ get writableEnded(): boolean;
294
+ get writableFinished(): boolean;
295
+ get writableLength(): number;
296
+ get writableCorked(): number;
297
+ get destroyed(): boolean;
298
+ /** Compatibility shim for Node.js internal _writableState (used by ws, etc.) */
299
+ get _writableState(): {
300
+ finished: boolean;
301
+ errorEmitted: boolean;
302
+ length: number;
303
+ ended: boolean;
304
+ destroyed: boolean;
305
+ };
306
+ private _doWrite;
307
+ private _flushBuffer;
308
+ private _getChunkSize;
309
+ /**
310
+ * Create a Node.js Writable from a Web WritableStream.
311
+ *
312
+ * @param webStream - A Web API WritableStream
313
+ * @param options - Optional stream options
314
+ * @returns A Node.js Writable stream
315
+ *
316
+ * @example
317
+ * ```ts
318
+ * const webStream = new WritableStream({ write(chunk) { console.log(chunk); } });
319
+ * const nodeStream = Writable.fromWeb(webStream);
320
+ * nodeStream.write('hello');
321
+ * ```
322
+ */
323
+ static fromWeb(webStream: WritableStream<Uint8Array>, options?: WritableOptions): Writable;
324
+ /**
325
+ * Create a Web WritableStream from a Node.js Writable.
326
+ *
327
+ * @param nodeStream - A Node.js Writable stream
328
+ * @param options - Optional options (strategy for queuing)
329
+ * @returns A Web API WritableStream
330
+ *
331
+ * @example
332
+ * ```ts
333
+ * const nodeStream = fs.createWriteStream('output.txt');
334
+ * const webStream = Writable.toWeb(nodeStream);
335
+ * const writer = webStream.getWriter();
336
+ * await writer.write(new TextEncoder().encode('hello'));
337
+ * ```
338
+ */
339
+ static toWeb(nodeStream: Writable, options?: {
340
+ strategy?: QueuingStrategy<Uint8Array>;
341
+ }): WritableStream<Uint8Array>;
342
+ }
343
+ /**
344
+ * Duplex stream - both readable and writable
345
+ *
346
+ * The readable and writable sides are independent.
347
+ */
348
+ export declare class Duplex extends Readable {
349
+ private _writableBuffer;
350
+ private _writableBufferSize;
351
+ private _writableWriting;
352
+ private _writableEnding;
353
+ private _writableEnded;
354
+ private _writableFinished;
355
+ private _writableNeedDrain;
356
+ private _writableCorked;
357
+ readonly writable = true;
358
+ readonly writableHighWaterMark: number;
359
+ readonly writableObjectMode: boolean;
360
+ constructor(options?: WritableOptions & ReadableOptions);
361
+ _write(chunk: Chunk, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
362
+ _final(callback: (error?: Error | null) => void): void;
363
+ write(chunk: Chunk, encoding?: BufferEncoding | ((error?: Error | null) => void), callback?: (error?: Error | null) => void): boolean;
364
+ end(chunk?: Chunk | ((error?: Error | null) => void), encoding?: BufferEncoding | ((error?: Error | null) => void), callback?: (error?: Error | null) => void): this;
365
+ get writableEnded(): boolean;
366
+ get writableFinished(): boolean;
367
+ get writableLength(): number;
368
+ cork(): void;
369
+ uncork(): void;
370
+ get writableCorked(): number;
371
+ private _flushWritableBuffer;
372
+ private _doWritableWrite;
373
+ private _getWritableChunkSize;
374
+ }
375
+ /**
376
+ * Transform stream - transforms data as it passes through
377
+ */
378
+ export declare class Transform extends Duplex {
379
+ constructor(options?: TransformOptions);
380
+ /**
381
+ * Override this method in subclasses to transform data
382
+ */
383
+ _transform(chunk: Chunk, encoding: BufferEncoding, callback: (error?: Error | null, data?: Chunk) => void): void;
384
+ /**
385
+ * Override this method to flush remaining data
386
+ */
387
+ _flush(callback: (error?: Error | null, data?: Chunk) => void): void;
388
+ }
389
+ /**
390
+ * PassThrough stream - a transform that doesn't modify data
391
+ */
392
+ export declare class PassThrough extends Transform {
393
+ constructor(options?: TransformOptions);
394
+ }
395
+ /**
396
+ * Pipeline streams together
397
+ */
398
+ export declare function pipeline<T extends Writable>(...streams: [...(Readable | Transform | Duplex)[], T]): Promise<void>;
399
+ export declare function pipeline(...streamsAndCallback: [
400
+ ...(Readable | Transform | Duplex | Writable)[],
401
+ (error?: Error | null) => void
402
+ ]): void;
403
+ /**
404
+ * Get notified when a stream is finished
405
+ */
406
+ export declare function finished(stream: Readable | Writable, callback: (error?: Error | null) => void): () => void;
407
+ export declare function finished(stream: Readable | Writable): Promise<void>;
408
+ export default Stream;
409
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/node/stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Node.js string_decoder module implementation for Substrate
3
+ *
4
+ * Decodes Buffer objects into strings, handling multi-byte characters properly.
5
+ */
6
+ type BufferEncoding = "utf8" | "utf-8" | "ascii" | "binary" | "hex" | "base64" | "latin1" | "ucs2" | "ucs-2" | "utf16le" | "utf-16le";
7
+ /**
8
+ * StringDecoder class
9
+ *
10
+ * Provides an interface for decoding Buffer objects into strings
11
+ * while properly handling incomplete multi-byte characters.
12
+ */
13
+ export declare class StringDecoder {
14
+ private encoding;
15
+ private lastChar;
16
+ private lastNeed;
17
+ private lastTotal;
18
+ constructor(encoding?: BufferEncoding);
19
+ /**
20
+ * Returns any remaining input stored in the decoder as a string
21
+ */
22
+ end(buf?: Uint8Array | string): string;
23
+ /**
24
+ * Decodes a Buffer and returns a string
25
+ */
26
+ write(buf: Uint8Array | string): string;
27
+ private decodeSimple;
28
+ private decodeHex;
29
+ private decodeBase64;
30
+ private decodeUtf8;
31
+ /**
32
+ * Check if the buffer ends with an incomplete UTF-8 character
33
+ * Returns the number of incomplete bytes at the end
34
+ */
35
+ private checkIncomplete;
36
+ /**
37
+ * Get the expected length of a UTF-8 character from its first byte
38
+ * Returns 0 if it's a continuation byte or invalid
39
+ */
40
+ private getCharLength;
41
+ }
42
+ declare const _default: {
43
+ StringDecoder: typeof StringDecoder;
44
+ };
45
+ export default _default;
46
+ //# sourceMappingURL=string_decoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string_decoder.d.ts","sourceRoot":"","sources":["../../src/node/string_decoder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,KAAK,cAAc,GACf,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,OAAO,GACP,SAAS,GACT,UAAU,CAAC;AAEf;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAa;IAE9B,YAAY,QAAQ,GAAE,cAAuB,EAI5C;IAED;;OAEG;IACH,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAerC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAwBtC;IAED,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,UAAU;IAoDlB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;OAGG;IACH,OAAO,CAAC,aAAa;CAOtB;;;;AA8BD,wBAEE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Node.js timers module implementation for Substrate
3
+ *
4
+ * This module is a builtin registered for `require('timers')` / `require('node:timers')`.
5
+ * It uses timers from the current ProcessEventLoop,
6
+ * ensuring that timers properly keep the simulated Node event loop alive.
7
+ */
8
+ import { Immediate, Timeout } from "../runtime/process-event-loop.js";
9
+ /**
10
+ * Schedule a timeout callback.
11
+ * Uses the current process's event loop timers.
12
+ */
13
+ export declare function setTimeout(callback: (...args: unknown[]) => void, delay?: number, ...args: unknown[]): Timeout;
14
+ /**
15
+ * Schedule a repeating interval callback.
16
+ * Uses the current process's event loop timers.
17
+ */
18
+ export declare function setInterval(callback: (...args: unknown[]) => void, delay?: number, ...args: unknown[]): Timeout;
19
+ /**
20
+ * Schedule an immediate callback (runs on next tick).
21
+ * Uses setTimeout(cb, 0) under the hood.
22
+ */
23
+ export declare function setImmediate(callback: (...args: unknown[]) => void, ...args: unknown[]): Immediate;
24
+ /**
25
+ * Clear a timeout.
26
+ */
27
+ export declare function clearTimeout(timeout: Timeout | number | undefined): void;
28
+ /**
29
+ * Clear an interval.
30
+ */
31
+ export declare function clearInterval(interval: Timeout | number | undefined): void;
32
+ /**
33
+ * Clear an immediate.
34
+ */
35
+ export declare function clearImmediate(immediate: Immediate | number | undefined): void;
36
+ export declare const promises: {
37
+ setTimeout: (delay?: number | undefined, value?: unknown, options?: {
38
+ signal?: AbortSignal | undefined;
39
+ } | undefined) => Promise<unknown>;
40
+ setInterval: (delay?: number | undefined, value?: unknown, options?: {
41
+ signal?: AbortSignal | undefined;
42
+ } | undefined) => AsyncIterable<unknown>;
43
+ setImmediate: (value?: unknown, options?: {
44
+ signal?: AbortSignal | undefined;
45
+ } | undefined) => Promise<unknown>;
46
+ scheduler: {
47
+ wait: (delay?: number | undefined, options?: {
48
+ signal?: AbortSignal | undefined;
49
+ } | undefined) => Promise<void>;
50
+ yield: () => Promise<void>;
51
+ };
52
+ };
53
+ declare const _default: {
54
+ setTimeout: typeof setTimeout;
55
+ setInterval: typeof setInterval;
56
+ setImmediate: typeof setImmediate;
57
+ clearTimeout: typeof clearTimeout;
58
+ clearInterval: typeof clearInterval;
59
+ clearImmediate: typeof clearImmediate;
60
+ promises: {
61
+ setTimeout: (delay?: number | undefined, value?: unknown, options?: {
62
+ signal?: AbortSignal | undefined;
63
+ } | undefined) => Promise<unknown>;
64
+ setInterval: (delay?: number | undefined, value?: unknown, options?: {
65
+ signal?: AbortSignal | undefined;
66
+ } | undefined) => AsyncIterable<unknown>;
67
+ setImmediate: (value?: unknown, options?: {
68
+ signal?: AbortSignal | undefined;
69
+ } | undefined) => Promise<unknown>;
70
+ scheduler: {
71
+ wait: (delay?: number | undefined, options?: {
72
+ signal?: AbortSignal | undefined;
73
+ } | undefined) => Promise<void>;
74
+ yield: () => Promise<void>;
75
+ };
76
+ };
77
+ };
78
+ export default _default;
79
+ //# sourceMappingURL=timers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../src/node/timers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAuB,SAAS,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3F;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EACtC,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EACtC,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EACtC,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,SAAS,CAGX;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAIxE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAI1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAI9E;AAGD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAuHpB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBAQE"}