osra 0.6.8 → 0.6.9
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.
- package/build/index.js +469 -465
- package/build/index.js.map +1 -1
- package/build/revivables/message-port.d.ts +2 -0
- package/build/types.d.ts +1 -1
- package/package.json +1 -1
|
@@ -39,6 +39,8 @@ type StructurableTransferablePort<T> = [T] extends [Capable] ? AnyPort<T> : AnyP
|
|
|
39
39
|
};
|
|
40
40
|
export declare const init: (context: RevivableContext) => void;
|
|
41
41
|
export declare const isType: (value: unknown) => value is MessagePort | EventPort<StructurableTransferable>;
|
|
42
|
+
/** Post a payload that is already boxed. Anything else must go through `postMessage` as usual. */
|
|
43
|
+
export declare const postPreBoxed: (port: MessagePort, boxed: Capable, transferables?: Transferable[]) => void;
|
|
42
44
|
export declare const box: <T, T2 extends RevivableContext = RevivableContext>(value: StructurableTransferablePort<T>, context: T2, options?: {
|
|
43
45
|
autoBox?: boolean;
|
|
44
46
|
}) => BoxedMessagePort<T>;
|
package/build/types.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export type Capable<TModules extends readonly RevivableModule[] = DefaultRevivab
|
|
|
32
32
|
/** What a value looks like from the far side of the connection: functions
|
|
33
33
|
* become async (calls cross the wire), containers map recursively,
|
|
34
34
|
* everything else revives as itself. */
|
|
35
|
-
export type Remote<T> = T extends (...args: infer P) => infer R ? (...args: P) => Promise<Remote<Awaited<R>>> : T extends Promise<infer U> ? Promise<Remote<U>> : T extends Map<
|
|
35
|
+
export type Remote<T> = T extends (...args: infer P) => infer R ? (...args: P) => Promise<Remote<Awaited<R>>> : T extends Promise<infer U> ? Promise<Remote<U>> : T extends Map<infer K, infer V> ? Map<Remote<K>, Remote<V>> : T extends Set<infer V> ? Set<Remote<V>> : T extends ReadableStream<infer C> ? ReadableStream<Remote<C>> : T extends Date | Error | RegExp | ArrayBuffer | ArrayBufferView | Blob | File | FileList | WritableStream | MessagePort | EventTarget | Request | Response | Headers ? T : T extends AsyncIterable<infer U> ? AsyncIterableIterator<Remote<U>> : T extends ReadonlyArray<unknown> ? {
|
|
36
36
|
[K in keyof T]: Remote<T[K]>;
|
|
37
37
|
} : T extends object ? {
|
|
38
38
|
[K in keyof T]: Remote<T[K]>;
|