osra 0.2.6 → 0.2.7

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.d.ts CHANGED
@@ -52,26 +52,33 @@ declare const box: <T extends ArrayBuffer, T2 extends RevivableContext>(value: T
52
52
  arrayBuffer: ArrayBuffer;
53
53
  });
54
54
 
55
- declare const box_2: <T extends Date, T2 extends RevivableContext>(value: T, _context: T2) => {
55
+ declare const box_10: <T extends ReadableStream, T2 extends RevivableContext>(value: T, context: T2) => BoxedReadableStream<T>;
56
+
57
+ declare const box_2: <T extends MessageContext, T2 extends RevivableContext>(_value: T, _context: T2) => {
58
+ type: "context";
59
+ __OSRA_BOX__: "revivable";
60
+ };
61
+
62
+ declare const box_3: <T extends Date, T2 extends RevivableContext>(value: T, _context: T2) => {
56
63
  type: "date";
57
64
  ISOString: string;
58
65
  __OSRA_BOX__: "revivable";
59
66
  };
60
67
 
61
- declare const box_3: <T extends Headers, T2 extends RevivableContext>(value: T, _context: T2) => {
68
+ declare const box_4: <T extends Headers, T2 extends RevivableContext>(value: T, _context: T2) => {
62
69
  type: "headers";
63
70
  entries: [string, string][];
64
71
  __OSRA_BOX__: "revivable";
65
72
  };
66
73
 
67
- declare const box_4: <T extends Error, T2 extends RevivableContext>(value: T, _context: T2) => {
74
+ declare const box_5: <T extends Error, T2 extends RevivableContext>(value: T, _context: T2) => {
68
75
  type: "error";
69
76
  message: string;
70
77
  stack: string;
71
78
  __OSRA_BOX__: "revivable";
72
79
  };
73
80
 
74
- declare const box_5: <T extends TypedArray, T2 extends RevivableContext>(value: T, context: T2) => {
81
+ declare const box_6: <T extends TypedArray, T2 extends RevivableContext>(value: T, context: T2) => {
75
82
  type: "typedArray";
76
83
  typedArrayType: string;
77
84
  __OSRA_BOX__: "revivable";
@@ -87,7 +94,7 @@ declare const box_5: <T extends TypedArray, T2 extends RevivableContext>(value:
87
94
  [UnderlyingType]: T;
88
95
  };
89
96
 
90
- declare const box_6: <T, T2 extends RevivableContext = RevivableContext>(value: StructurableTransferablePort<T>, context: T2) => ({
97
+ declare const box_7: <T, T2 extends RevivableContext = RevivableContext>(value: StructurableTransferablePort<T>, context: T2) => ({
91
98
  type: "messagePort";
92
99
  portId: `${string}-${string}-${string}-${string}-${string}`;
93
100
  __OSRA_BOX__: "revivable";
@@ -101,11 +108,9 @@ declare const box_6: <T, T2 extends RevivableContext = RevivableContext>(value:
101
108
  [UnderlyingType]: StrictMessagePort<ExtractStructurableTransferable<T>>;
102
109
  });
103
110
 
104
- declare const box_7: <T, T2 extends RevivableContext>(value: CapablePromise<T>, context: T2) => BoxedPromise<ExtractCapable<T>>;
105
-
106
- declare const box_8: <T extends (...args: any[]) => any, T2 extends RevivableContext>(value: T & CapableFunction<T>, context: T2) => BoxedFunction<T>;
111
+ declare const box_8: <T, T2 extends RevivableContext>(value: CapablePromise<T>, context: T2) => BoxedPromise<ExtractCapable<T>>;
107
112
 
108
- declare const box_9: <T extends ReadableStream, T2 extends RevivableContext>(value: T, context: T2) => BoxedReadableStream<T>;
113
+ declare const box_9: <T extends (...args: any[]) => any, T2 extends RevivableContext>(value: T & CapableFunction<T>, context: T2) => BoxedFunction<T>;
109
114
 
110
115
  export declare const BoxBase: {
111
116
  readonly __OSRA_BOX__: "revivable";
@@ -116,13 +121,13 @@ export declare type BoxBase<T extends string = string> = typeof BoxBase & {
116
121
  type: T;
117
122
  };
118
123
 
119
- declare type BoxedFunction<T extends (...args: any[]) => any = (...args: any[]) => any> = BoxBase<typeof type_7> & {
124
+ declare type BoxedFunction<T extends (...args: any[]) => any = (...args: any[]) => any> = BoxBase<typeof type_8> & {
120
125
  port: BoxedMessagePort;
121
126
  } & {
122
127
  [UnderlyingType]: (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>;
123
128
  };
124
129
 
125
- declare type BoxedMessagePort<T extends StructurableTransferable = StructurableTransferable> = BoxBase<typeof type_8> & ({
130
+ declare type BoxedMessagePort<T extends StructurableTransferable = StructurableTransferable> = BoxBase<typeof type_9> & ({
126
131
  portId: string;
127
132
  } | {
128
133
  port: StrictMessagePort<T>;
@@ -132,14 +137,14 @@ declare type BoxedMessagePort<T extends StructurableTransferable = StructurableT
132
137
 
133
138
  declare type BoxedPromise<T extends Capable = Capable> = {
134
139
  __OSRA_BOX__: 'revivable';
135
- type: typeof type_6;
136
- port: ReturnType<typeof box_6>;
140
+ type: typeof type_7;
141
+ port: ReturnType<typeof box_7>;
137
142
  [UnderlyingType]: T;
138
143
  };
139
144
 
140
145
  declare type BoxedReadableStream<T extends ReadableStream = ReadableStream> = {
141
146
  __OSRA_BOX__: 'revivable';
142
- type: typeof type_9;
147
+ type: typeof type_10;
143
148
  port: BoxedMessagePort;
144
149
  [UnderlyingType]: T;
145
150
  };
@@ -174,6 +179,16 @@ declare type Context = {
174
179
  error: string;
175
180
  };
176
181
 
182
+ declare namespace context {
183
+ export {
184
+ type_2 as type,
185
+ OSRA_CONTEXT,
186
+ isType_2 as isType,
187
+ box_2 as box,
188
+ revive_2 as revive
189
+ }
190
+ }
191
+
177
192
  declare type CustomTransport = {
178
193
  isJson?: boolean;
179
194
  } & ({
@@ -187,16 +202,16 @@ declare type CustomTransport = {
187
202
 
188
203
  declare namespace date {
189
204
  export {
190
- type_2 as type,
191
- isType_2 as isType,
192
- box_2 as box,
193
- revive_2 as revive
205
+ type_3 as type,
206
+ isType_3 as isType,
207
+ box_3 as box,
208
+ revive_3 as revive
194
209
  }
195
210
  }
196
211
 
197
212
  declare type DefaultRevivableModules = typeof defaultRevivableModules;
198
213
 
199
- declare const defaultRevivableModules: readonly [typeof arrayBuffer, typeof date, typeof headers, typeof error, typeof typedArray, typeof promise, typeof func, typeof messagePort, typeof readableStream];
214
+ declare const defaultRevivableModules: readonly [typeof arrayBuffer, typeof context, typeof date, typeof headers, typeof error, typeof typedArray, typeof promise, typeof func, typeof messagePort, typeof readableStream];
200
215
 
201
216
  declare type EmitJsonPlatformTransport = WebSocket | WebExtPort;
202
217
 
@@ -204,10 +219,10 @@ declare type EmitPlatformTransport = EmitJsonPlatformTransport | Window | Servic
204
219
 
205
220
  declare namespace error {
206
221
  export {
207
- type_4 as type,
208
- isType_4 as isType,
209
- box_4 as box,
210
- revive_4 as revive
222
+ type_5 as type,
223
+ isType_5 as isType,
224
+ box_5 as box,
225
+ revive_5 as revive
211
226
  }
212
227
  }
213
228
 
@@ -242,21 +257,21 @@ declare type ExtractType<T> = T extends {
242
257
 
243
258
  declare namespace func {
244
259
  export {
245
- type_7 as type,
260
+ type_8 as type,
246
261
  CallContext,
247
262
  BoxedFunction,
248
- isType_7 as isType,
249
- box_8 as box,
250
- revive_7 as revive
263
+ isType_8 as isType,
264
+ box_9 as box,
265
+ revive_8 as revive
251
266
  }
252
267
  }
253
268
 
254
269
  declare namespace headers {
255
270
  export {
256
- type_3 as type,
257
- isType_3 as isType,
258
- box_3 as box,
259
- revive_3 as revive
271
+ type_4 as type,
272
+ isType_4 as isType,
273
+ box_4 as box,
274
+ revive_4 as revive
260
275
  }
261
276
  }
262
277
 
@@ -266,21 +281,23 @@ declare type IsJsonOnlyTransport<T extends Transport> = T extends JsonPlatformTr
266
281
 
267
282
  declare const isType: (value: unknown) => value is ArrayBuffer;
268
283
 
269
- declare const isType_2: (value: unknown) => value is Date;
284
+ declare const isType_10: (value: unknown) => value is ReadableStream;
285
+
286
+ declare const isType_2: (value: unknown) => value is MessageContext;
270
287
 
271
- declare const isType_3: (value: unknown) => value is Headers;
288
+ declare const isType_3: (value: unknown) => value is Date;
272
289
 
273
- declare const isType_4: (value: unknown) => value is Error;
290
+ declare const isType_4: (value: unknown) => value is Headers;
274
291
 
275
- declare const isType_5: (value: unknown) => value is TypedArray;
292
+ declare const isType_5: (value: unknown) => value is Error;
276
293
 
277
- declare const isType_6: (value: unknown) => value is Promise<any>;
294
+ declare const isType_6: (value: unknown) => value is TypedArray;
278
295
 
279
- declare const isType_7: (value: unknown) => value is (...args: any[]) => any;
296
+ declare const isType_7: (value: unknown) => value is Promise<any>;
280
297
 
281
- declare const isType_8: (value: unknown) => value is MessagePort;
298
+ declare const isType_8: (value: unknown) => value is (...args: any[]) => any;
282
299
 
283
- declare const isType_9: (value: unknown) => value is ReadableStream;
300
+ declare const isType_9: (value: unknown) => value is MessagePort;
284
301
 
285
302
  declare type Jsonable = boolean | null | number | string | {
286
303
  [key: string]: Jsonable;
@@ -324,31 +341,44 @@ declare type MessageBase = {
324
341
 
325
342
  declare type MessageChannelAllocator = ReturnType<typeof makeMessageChannelAllocator>;
326
343
 
327
- declare type MessageContext = {
344
+ export declare type MessageContext = {
328
345
  port?: MessagePort | WebExtPort;
329
346
  sender?: WebExtSender;
330
347
  receiveTransport?: ReceivePlatformTransport;
331
348
  source?: MessageEventSource | null;
332
349
  };
333
350
 
351
+ declare type MessageEventDetail = {
352
+ message: Message;
353
+ messageContext: MessageContext;
354
+ };
355
+
334
356
  declare type MessageEventMap = {
335
- message: CustomEvent<Message>;
357
+ message: CustomEvent<MessageEventDetail>;
336
358
  };
337
359
 
338
360
  declare type MessageEventTarget_2 = TypedEventTarget<MessageEventMap>;
339
361
 
340
362
  declare namespace messagePort {
341
363
  export {
342
- type_8 as type,
364
+ type_9 as type,
343
365
  BoxedMessagePort,
344
- isType_8 as isType,
345
- box_6 as box,
346
- revive_8 as revive
366
+ isType_9 as isType,
367
+ box_7 as box,
368
+ revive_9 as revive
347
369
  }
348
370
  }
349
371
 
350
372
  declare type MessageVariant = ProtocolMessage | ConnectionMessage;
351
373
 
374
+ /**
375
+ * A special token that gets transformed into the MessageContext when revived on the receiving side.
376
+ * Pass this value in your exposed API to receive information about the message context.
377
+ *
378
+ * Typed as MessageContext so it can be passed directly where MessageContext is expected.
379
+ */
380
+ export declare const OSRA_CONTEXT: MessageContext;
381
+
352
382
  declare const OSRA_KEY: "__OSRA_KEY__";
353
383
 
354
384
  declare type PlatformCapabilities = {
@@ -363,12 +393,12 @@ declare type PlatformTransport = EmitPlatformTransport | ReceivePlatformTranspor
363
393
 
364
394
  declare namespace promise {
365
395
  export {
366
- type_6 as type,
396
+ type_7 as type,
367
397
  Context,
368
398
  BoxedPromise,
369
- isType_6 as isType,
370
- box_7 as box,
371
- revive_6 as revive
399
+ isType_7 as isType,
400
+ box_8 as box,
401
+ revive_7 as revive
372
402
  }
373
403
  }
374
404
 
@@ -391,12 +421,12 @@ declare type PullContext = {
391
421
 
392
422
  declare namespace readableStream {
393
423
  export {
394
- type_9 as type,
424
+ type_10 as type,
395
425
  PullContext,
396
426
  BoxedReadableStream,
397
- isType_9 as isType,
398
- box_9 as box,
399
- revive_9 as revive
427
+ isType_10 as isType,
428
+ box_10 as box,
429
+ revive_10 as revive
400
430
  }
401
431
  }
402
432
 
@@ -413,6 +443,8 @@ declare type RevivableContext<TModules extends readonly RevivableModule[] = Defa
413
443
  sendMessage: (message: ConnectionMessage) => void;
414
444
  revivableModules: TModules;
415
445
  eventTarget: MessageEventTarget_2;
446
+ /** MessageContext of the message being revived, used by OSRA_CONTEXT revivable */
447
+ messageContext?: MessageContext;
416
448
  };
417
449
 
418
450
  declare type RevivableModule<T extends string = string, T2 = any, T3 extends BoxBase<T> = any> = {
@@ -424,21 +456,23 @@ declare type RevivableModule<T extends string = string, T2 = any, T3 extends Box
424
456
 
425
457
  declare const revive: <T extends ReturnType<typeof box>, T2 extends RevivableContext>(value: T, _context: T2) => ArrayBuffer;
426
458
 
427
- declare const revive_2: <T extends ReturnType<typeof box_2>, T2 extends RevivableContext>(value: T, _context: T2) => Date;
459
+ declare const revive_10: <T extends BoxedReadableStream, T2 extends RevivableContext>(value: T, context: T2) => T[UnderlyingType];
428
460
 
429
- declare const revive_3: <T extends ReturnType<typeof box_3>, T2 extends RevivableContext>(value: T, _context: T2) => Headers;
461
+ declare const revive_2: <T extends ReturnType<typeof box_2>, T2 extends RevivableContext>(_value: T, context: T2) => MessageContext;
430
462
 
431
- declare const revive_4: <T extends ReturnType<typeof box_4>, T2 extends RevivableContext>(value: T, _context: T2) => Error;
463
+ declare const revive_3: <T extends ReturnType<typeof box_3>, T2 extends RevivableContext>(value: T, _context: T2) => Date;
432
464
 
433
- declare const revive_5: <T extends ReturnType<typeof box_5>, T2 extends RevivableContext>(value: T, context: T2) => T[UnderlyingType];
465
+ declare const revive_4: <T extends ReturnType<typeof box_4>, T2 extends RevivableContext>(value: T, _context: T2) => Headers;
434
466
 
435
- declare const revive_6: <T extends BoxedPromise, T2 extends RevivableContext>(value: T, context: T2) => Promise<T[typeof UnderlyingType]>;
467
+ declare const revive_5: <T extends ReturnType<typeof box_5>, T2 extends RevivableContext>(value: T, _context: T2) => Error;
436
468
 
437
- declare const revive_7: <T extends BoxedFunction, T2 extends RevivableContext>(value: T, context: T2) => T[UnderlyingType];
469
+ declare const revive_6: <T extends ReturnType<typeof box_6>, T2 extends RevivableContext>(value: T, context: T2) => T[UnderlyingType];
438
470
 
439
- declare const revive_8: <T extends StructurableTransferable, T2 extends RevivableContext>(value: BoxedMessagePort<T>, context: T2) => StrictMessagePort<T>;
471
+ declare const revive_7: <T extends BoxedPromise, T2 extends RevivableContext>(value: T, context: T2) => Promise<T[typeof UnderlyingType]>;
440
472
 
441
- declare const revive_9: <T extends BoxedReadableStream, T2 extends RevivableContext>(value: T, context: T2) => T[UnderlyingType];
473
+ declare const revive_8: <T extends BoxedFunction, T2 extends RevivableContext>(value: T, context: T2) => T[UnderlyingType];
474
+
475
+ declare const revive_9: <T extends StructurableTransferable, T2 extends RevivableContext>(value: BoxedMessagePort<T>, context: T2) => StrictMessagePort<T>;
442
476
 
443
477
  /**
444
478
  * A type-safe MessagePort wrapper that provides generic typing for messages.
@@ -482,35 +516,37 @@ declare type Transport = PlatformTransport | CustomTransport;
482
516
 
483
517
  declare const type: "arrayBuffer";
484
518
 
485
- declare const type_2: "date";
519
+ declare const type_10: "readableStream";
520
+
521
+ declare const type_2: "context";
486
522
 
487
- declare const type_3: "headers";
523
+ declare const type_3: "date";
488
524
 
489
- declare const type_4: "error";
525
+ declare const type_4: "headers";
490
526
 
491
- declare const type_5: "typedArray";
527
+ declare const type_5: "error";
492
528
 
493
- declare const type_6: "promise";
529
+ declare const type_6: "typedArray";
494
530
 
495
- declare const type_7: "function";
531
+ declare const type_7: "promise";
496
532
 
497
- declare const type_8: "messagePort";
533
+ declare const type_8: "function";
498
534
 
499
- declare const type_9: "readableStream";
535
+ declare const type_9: "messagePort";
500
536
 
501
537
  declare type TypedArray = typeof typedArrays[number];
502
538
 
503
539
  declare namespace typedArray {
504
540
  export {
505
- type_5 as type,
541
+ type_6 as type,
506
542
  TypedArrayConstructor,
507
543
  TypedArray,
508
544
  typedArrayToType,
509
545
  TypedArrayType,
510
546
  typedArrayTypeToTypedArrayConstructor,
511
- isType_5 as isType,
512
- box_5 as box,
513
- revive_5 as revive
547
+ isType_6 as isType,
548
+ box_6 as box,
549
+ revive_6 as revive
514
550
  }
515
551
  }
516
552