@cardano-sdk/web-extension 0.9.1-nightly.0 → 0.10.0

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 (55) hide show
  1. package/dist/cjs/messaging/BackgroundMessenger.d.ts +1 -1
  2. package/dist/cjs/messaging/BackgroundMessenger.d.ts.map +1 -1
  3. package/dist/cjs/messaging/BackgroundMessenger.js +13 -3
  4. package/dist/cjs/messaging/BackgroundMessenger.js.map +1 -1
  5. package/dist/cjs/messaging/NonBackgroundMessenger.d.ts.map +1 -1
  6. package/dist/cjs/messaging/NonBackgroundMessenger.js +13 -2
  7. package/dist/cjs/messaging/NonBackgroundMessenger.js.map +1 -1
  8. package/dist/cjs/messaging/index.d.ts.map +1 -1
  9. package/dist/cjs/messaging/index.js +10 -4
  10. package/dist/cjs/messaging/index.js.map +1 -1
  11. package/dist/cjs/messaging/remoteApi.d.ts +5 -4
  12. package/dist/cjs/messaging/remoteApi.d.ts.map +1 -1
  13. package/dist/cjs/messaging/remoteApi.js +120 -16
  14. package/dist/cjs/messaging/remoteApi.js.map +1 -1
  15. package/dist/cjs/messaging/types.d.ts +25 -4
  16. package/dist/cjs/messaging/types.d.ts.map +1 -1
  17. package/dist/cjs/messaging/types.js +1 -0
  18. package/dist/cjs/messaging/types.js.map +1 -1
  19. package/dist/cjs/messaging/util.d.ts +11 -2
  20. package/dist/cjs/messaging/util.d.ts.map +1 -1
  21. package/dist/cjs/messaging/util.js +44 -4
  22. package/dist/cjs/messaging/util.js.map +1 -1
  23. package/dist/cjs/observableWallet/util.d.ts +3 -0
  24. package/dist/cjs/observableWallet/util.d.ts.map +1 -1
  25. package/dist/cjs/observableWallet/util.js +71 -1
  26. package/dist/cjs/observableWallet/util.js.map +1 -1
  27. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  28. package/dist/esm/messaging/BackgroundMessenger.d.ts +1 -1
  29. package/dist/esm/messaging/BackgroundMessenger.d.ts.map +1 -1
  30. package/dist/esm/messaging/BackgroundMessenger.js +14 -4
  31. package/dist/esm/messaging/BackgroundMessenger.js.map +1 -1
  32. package/dist/esm/messaging/NonBackgroundMessenger.d.ts.map +1 -1
  33. package/dist/esm/messaging/NonBackgroundMessenger.js +14 -3
  34. package/dist/esm/messaging/NonBackgroundMessenger.js.map +1 -1
  35. package/dist/esm/messaging/index.d.ts.map +1 -1
  36. package/dist/esm/messaging/index.js +10 -4
  37. package/dist/esm/messaging/index.js.map +1 -1
  38. package/dist/esm/messaging/remoteApi.d.ts +5 -4
  39. package/dist/esm/messaging/remoteApi.d.ts.map +1 -1
  40. package/dist/esm/messaging/remoteApi.js +121 -18
  41. package/dist/esm/messaging/remoteApi.js.map +1 -1
  42. package/dist/esm/messaging/types.d.ts +25 -4
  43. package/dist/esm/messaging/types.d.ts.map +1 -1
  44. package/dist/esm/messaging/types.js +1 -0
  45. package/dist/esm/messaging/types.js.map +1 -1
  46. package/dist/esm/messaging/util.d.ts +11 -2
  47. package/dist/esm/messaging/util.d.ts.map +1 -1
  48. package/dist/esm/messaging/util.js +39 -2
  49. package/dist/esm/messaging/util.js.map +1 -1
  50. package/dist/esm/observableWallet/util.d.ts +3 -0
  51. package/dist/esm/observableWallet/util.d.ts.map +1 -1
  52. package/dist/esm/observableWallet/util.js +70 -0
  53. package/dist/esm/observableWallet/util.js.map +1 -1
  54. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  55. package/package.json +12 -10
@@ -16,6 +16,6 @@ export interface BackgroundMessengerApiDependencies {
16
16
  messenger: BackgroundMessenger;
17
17
  logger: Logger;
18
18
  }
19
- export declare const generalizeBackgroundMessenger: (channel: ChannelName, messenger: BackgroundMessenger) => Messenger;
19
+ export declare const generalizeBackgroundMessenger: (channel: ChannelName, messenger: BackgroundMessenger, logger: Logger) => Messenger;
20
20
  export {};
21
21
  //# sourceMappingURL=BackgroundMessenger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundMessenger.d.ts","sourceRoot":"","sources":["../../../src/messaging/BackgroundMessenger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAiB,OAAO,EAAwD,MAAM,MAAM,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,UAAU,OAAO;IACf,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AASD,eAAO,MAAM,yBAAyB,wBAAyB,qBAAqB;8BAEjD,WAAW;;iCAmDb,MAAM;CAUtC,CAAC;AAEF,oBAAY,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE/E,MAAM,WAAW,kCAAkC;IACjD,SAAS,EAAE,mBAAmB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,6BAA6B,YAAa,WAAW,aAAa,mBAAmB,KAAG,SAiCnG,CAAC"}
1
+ {"version":3,"file":"BackgroundMessenger.d.ts","sourceRoot":"","sources":["../../../src/messaging/BackgroundMessenger.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EAGf,OAAO,EAUR,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,UAAU,OAAO;IACf,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AASD,eAAO,MAAM,yBAAyB,wBAAyB,qBAAqB;8BAEjD,WAAW;;iCAmDb,MAAM;CAUtC,CAAC;AAEF,oBAAY,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE/E,MAAM,WAAW,kCAAkC;IACjD,SAAS,EAAE,mBAAmB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,6BAA6B,YAC/B,WAAW,aACT,mBAAmB,UACtB,MAAM,KACb,SA4CD,CAAC"}
@@ -1,5 +1,6 @@
1
- import { BehaviorSubject, ReplaySubject, bufferCount, filter, first, from, map, mergeMap, tap } from 'rxjs';
1
+ import { BehaviorSubject, EmptyError, ReplaySubject, bufferCount, catchError, filter, first, from, map, mergeMap, of, tap } from 'rxjs';
2
2
  import { deriveChannelName } from './util';
3
+ import { retryBackoff } from 'backoff-rxjs';
3
4
  export const createBackgroundMessenger = ({ logger, runtime }) => {
4
5
  const channels = new Map();
5
6
  const getChannel = (channelName) => {
@@ -54,25 +55,34 @@ export const createBackgroundMessenger = ({ logger, runtime }) => {
54
55
  }
55
56
  };
56
57
  };
57
- export const generalizeBackgroundMessenger = (channel, messenger) => ({
58
+ export const generalizeBackgroundMessenger = (channel, messenger, logger) => ({
58
59
  channel,
59
60
  connect$: messenger.getChannel(channel).ports$.pipe(bufferCount(2, 1), mergeMap(([portsBefore, ports]) => {
60
61
  const diff = [...ports].filter((port) => !portsBefore.has(port));
61
62
  return from(diff);
62
63
  })),
63
64
  deriveChannel(path) {
64
- return generalizeBackgroundMessenger(deriveChannelName(channel, path), messenger);
65
+ return generalizeBackgroundMessenger(deriveChannelName(channel, path), messenger, logger);
65
66
  },
67
+ isShutdown: false,
66
68
  message$: messenger.getChannel(channel).message$,
67
69
  postMessage: (message) => {
68
70
  const { ports$ } = messenger.getChannel(channel);
69
71
  return ports$.pipe(filter((ports) => ports.size > 0), first(), tap((ports) => {
70
72
  for (const port of ports)
71
73
  port.postMessage(message);
72
- }), map(() => void 0));
74
+ }), retryBackoff({
75
+ initialInterval: 10,
76
+ maxInterval: 1000,
77
+ shouldRetry: (err) => !(err instanceof EmptyError)
78
+ }), map(() => void 0), catchError(() => {
79
+ logger.warn("Couldn't postMessage: messenger shutdown");
80
+ return of(void 0);
81
+ }));
73
82
  },
74
83
  shutdown() {
75
84
  messenger.shutdownChannel(channel);
85
+ this.isShutdown = true;
76
86
  }
77
87
  });
78
88
  //# sourceMappingURL=BackgroundMessenger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundMessenger.js","sourceRoot":"","sources":["../../../src/messaging/BackgroundMessenger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAW,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGrH,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAe3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAyB,EAAE,EAAE;IACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,WAAwB,EAAE,EAAE;QAC9C,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE;YAMZ,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACnH;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,IAAa,EAAE,IAAmB,EAAE,EAAE;QAC3D,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,YAAY,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAE,EAAE;QACjD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACrD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAE,EAAE;QACxC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO;QACL,UAAU;QAKV,QAAQ;YAEN,KAAK,MAAM,WAAW,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE;gBAC9C,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;aACnC;YACD,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAChD,CAAC;QAED,eAAe,CAAC,WAAmB;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE;gBACvC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YACD,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,OAAoB,EAAE,SAA8B,EAAa,EAAE,CAAC,CAAC;IACjH,OAAO;IACP,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CACjD,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CACH;IACD,aAAa,CAAC,IAAI;QAChB,OAAO,6BAA6B,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IACD,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ;IAIhD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;QACvB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAGhB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EACjC,KAAK,EAAE,EACP,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,EACF,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAClB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"BackgroundMessenger.js","sourceRoot":"","sources":["../../../src/messaging/BackgroundMessenger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NonBackgroundMessenger.d.ts","sourceRoot":"","sources":["../../../src/messaging/NonBackgroundMessenger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAA8B,eAAe,EAAE,MAAM,SAAS,CAAC;AAIxG,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAMD,eAAO,MAAM,4BAA4B,0EAIpC,6BAA6B,uBACX,qBAAqB,KACzC,SAuFF,CAAC;AAEF,oBAAY,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"NonBackgroundMessenger.d.ts","sourceRoot":"","sources":["../../../src/messaging/NonBackgroundMessenger.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAA8B,eAAe,EAAE,MAAM,SAAS,CAAC;AAKxG,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAMD,eAAO,MAAM,4BAA4B,0EAIpC,6BAA6B,uBACX,qBAAqB,KACzC,SAkGF,CAAC;AAEF,oBAAY,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
- import { BehaviorSubject, ReplaySubject, debounceTime, filter, first, map, takeWhile, tap } from 'rxjs';
1
+ import { BehaviorSubject, EmptyError, ReplaySubject, catchError, debounceTime, filter, first, map, of, takeWhile, tap } from 'rxjs';
2
2
  import { deriveChannelName } from './util';
3
3
  import { isNotNil } from '@cardano-sdk/util';
4
+ import { retryBackoff } from 'backoff-rxjs';
4
5
  export const createNonBackgroundMessenger = ({ baseChannel: channel, reconnectConfig: { initialDelay, maxDelay } = { initialDelay: 10, maxDelay: 1000 } }, { logger, runtime }) => {
5
6
  let reconnectTimeout;
6
7
  let delay = initialDelay;
@@ -47,9 +48,19 @@ export const createNonBackgroundMessenger = ({ baseChannel: channel, reconnectCo
47
48
  derivedMessengers.add(messenger);
48
49
  return messenger;
49
50
  },
51
+ get isShutdown() {
52
+ return isDestroyed;
53
+ },
50
54
  message$,
51
55
  postMessage(message) {
52
- return connect$.pipe(first(), tap((port) => port.postMessage(message)), map(() => void 0));
56
+ return connect$.pipe(first(), tap((port) => port.postMessage(message)), retryBackoff({
57
+ initialInterval: 10,
58
+ maxInterval: 1000,
59
+ shouldRetry: (err) => !(err instanceof EmptyError)
60
+ }), map(() => void 0), catchError(() => {
61
+ logger.warn("Couldn't postMessage: messenger shutdown");
62
+ return of(void 0);
63
+ }));
53
64
  },
54
65
  shutdown() {
55
66
  isDestroyed = true;
@@ -63,7 +74,7 @@ export const createNonBackgroundMessenger = ({ baseChannel: channel, reconnectCo
63
74
  derivedMessengers.delete(messenger);
64
75
  }
65
76
  port$.complete();
66
- logger.warn(`[NonBackgroundMessenger(${channel})] shutdown`);
77
+ logger.debug(`[NonBackgroundMessenger(${channel})] shutdown`);
67
78
  }
68
79
  };
69
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NonBackgroundMessenger.js","sourceRoot":"","sources":["../../../src/messaging/NonBackgroundMessenger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NonBackgroundMessenger.js","sourceRoot":"","sources":["../../../src/messaging/NonBackgroundMessenger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/messaging/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAItG,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAElC,oBAAY,WAAW,GAAG;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC;AASvD,QAAA,MAAM,oBAAoB,2EAEV,qBAAqB,yCAOpC,CAAC;AAEF,oBAAY,SAAS,GAAG,OAAO,oBAAoB,CAAC;AAWpD,QAAA,MAAM,8BAA8B,oFAEpB,qBAAqB,6CAKjC,CAAC;AAEL,oBAAY,UAAU,GAAG,OAAO,8BAA8B,CAAC;AAkB/D,eAAO,MAAM,SAAS,EAAE,SAAkF,CAAC;AAQ3G,eAAO,MAAM,gBAAgB,EAAE,UAEG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/messaging/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAKtG,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAElC,oBAAY,WAAW,GAAG;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC;AASvD,QAAA,MAAM,oBAAoB,2EAEV,qBAAqB,yCAWpC,CAAC;AAEF,oBAAY,SAAS,GAAG,OAAO,oBAAoB,CAAC;AAWpD,QAAA,MAAM,8BAA8B,oFAEpB,qBAAqB,6CAMjC,CAAC;AAEL,oBAAY,UAAU,GAAG,OAAO,8BAA8B,CAAC;AA0B/D,eAAO,MAAM,SAAS,EAAE,SAAkF,CAAC;AAQ3G,eAAO,MAAM,gBAAgB,EAAE,UAEG,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { createBackgroundMessenger, generalizeBackgroundMessenger } from './BackgroundMessenger';
2
+ import { FinalizationRegistryDestructor } from './util';
2
3
  import { consumeMessengerRemoteApi, exposeMessengerApi } from './remoteApi';
3
4
  import { createNonBackgroundMessenger } from './NonBackgroundMessenger';
4
5
  export * from './BackgroundMessenger';
@@ -11,10 +12,10 @@ export * from './injectedRuntime';
11
12
  const isInBackgroundProcess = typeof window === 'undefined';
12
13
  const getBackgroundMessenger = (() => {
13
14
  let backgroundMessenger = null;
14
- return (dependencies) => (backgroundMessenger || (backgroundMessenger = createBackgroundMessenger(dependencies)));
15
+ return (dependencies) => (backgroundMessenger ||= createBackgroundMessenger(dependencies));
15
16
  })();
16
17
  const _backgroundExposeApi = (props, dependencies) => {
17
- const messenger = generalizeBackgroundMessenger(props.baseChannel, getBackgroundMessenger(dependencies));
18
+ const messenger = generalizeBackgroundMessenger(props.baseChannel, getBackgroundMessenger(dependencies), dependencies.logger);
18
19
  return exposeMessengerApi(props, {
19
20
  messenger,
20
21
  ...dependencies
@@ -25,12 +26,17 @@ const _nonBackgroundExposeApi = (props, dependencies) => exposeMessengerApi(prop
25
26
  ...dependencies
26
27
  });
27
28
  const _nonBackgroundConsumeRemoteApi = (props, dependencies) => consumeMessengerRemoteApi(props, {
29
+ destructor: new FinalizationRegistryDestructor(dependencies.logger),
28
30
  messenger: createNonBackgroundMessenger(props, dependencies),
29
31
  ...dependencies
30
32
  });
31
33
  const _backgroundConsumeRemoteApi = (props, dependencies) => {
32
- const messenger = generalizeBackgroundMessenger(props.baseChannel, getBackgroundMessenger(dependencies));
33
- return consumeMessengerRemoteApi(props, { messenger, ...dependencies });
34
+ const messenger = generalizeBackgroundMessenger(props.baseChannel, getBackgroundMessenger(dependencies), dependencies.logger);
35
+ return consumeMessengerRemoteApi(props, {
36
+ destructor: new FinalizationRegistryDestructor(dependencies.logger),
37
+ messenger,
38
+ ...dependencies
39
+ });
34
40
  };
35
41
  export const exposeApi = isInBackgroundProcess ? _backgroundExposeApi : _nonBackgroundExposeApi;
36
42
  export const consumeRemoteApi = isInBackgroundProcess
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtH,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAExE,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAIlC,MAAM,qBAAqB,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAE5D,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE;IACnC,IAAI,mBAAmB,GAA+B,IAAI,CAAC;IAC3D,OAAO,CAAC,YAAmC,EAAE,EAAE,CAAC,CAAC,mBAAmB,KAAnB,mBAAmB,GAAK,yBAAyB,CAAC,YAAY,CAAC,EAAC,CAAC;AACpH,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,oBAAoB,GAAG,CAC3B,KAAsC,EACtC,YAAmC,EACnC,EAAE;IACF,MAAM,SAAS,GAAG,6BAA6B,CAAC,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC;IACzG,OAAO,kBAAkB,CAAC,KAAK,EAAE;QAC/B,SAAS;QACT,GAAG,YAAY;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,uBAAuB,GAAc,CACzC,KAAsC,EACtC,YAAmC,EACnC,EAAE,CACF,kBAAkB,CAAC,KAAK,EAAE;IACxB,SAAS,EAAE,4BAA4B,CAAC,KAAK,EAAE,YAAY,CAAC;IAC5D,GAAG,YAAY;CAChB,CAAC,CAAC;AAEL,MAAM,8BAA8B,GAAG,CACrC,KAA+C,EAC/C,YAAmC,EACnC,EAAE,CACF,yBAAyB,CAAC,KAAK,EAAE;IAC/B,SAAS,EAAE,4BAA4B,CAAC,KAAK,EAAE,YAAY,CAAC;IAC5D,GAAG,YAAY;CAChB,CAAC,CAAC;AAIL,MAAM,2BAA2B,GAAe,CAC9C,KAA+C,EAC/C,YAAmC,EACnC,EAAE;IACF,MAAM,SAAS,GAAG,6BAA6B,CAAC,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC;IACzG,OAAO,yBAAyB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,SAAS,GAAc,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,uBAAuB,CAAC;AAQ3G,MAAM,CAAC,MAAM,gBAAgB,GAAe,qBAAqB;IAC/D,CAAC,CAAC,2BAA2B;IAC7B,CAAC,CAAC,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtH,OAAO,EAAE,8BAA8B,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAExE,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAIlC,MAAM,qBAAqB,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAE5D,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE;IACnC,IAAI,mBAAmB,GAA+B,IAAI,CAAC;IAC3D,OAAO,CAAC,YAAmC,EAAE,EAAE,CAAC,CAAC,mBAAmB,KAAK,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;AACpH,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,oBAAoB,GAAG,CAC3B,KAAsC,EACtC,YAAmC,EACnC,EAAE;IACF,MAAM,SAAS,GAAG,6BAA6B,CAC7C,KAAK,CAAC,WAAW,EACjB,sBAAsB,CAAC,YAAY,CAAC,EACpC,YAAY,CAAC,MAAM,CACpB,CAAC;IACF,OAAO,kBAAkB,CAAC,KAAK,EAAE;QAC/B,SAAS;QACT,GAAG,YAAY;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,uBAAuB,GAAc,CACzC,KAAsC,EACtC,YAAmC,EACnC,EAAE,CACF,kBAAkB,CAAC,KAAK,EAAE;IACxB,SAAS,EAAE,4BAA4B,CAAC,KAAK,EAAE,YAAY,CAAC;IAC5D,GAAG,YAAY;CAChB,CAAC,CAAC;AAEL,MAAM,8BAA8B,GAAG,CACrC,KAA+C,EAC/C,YAAmC,EACnC,EAAE,CACF,yBAAyB,CAAC,KAAK,EAAE;IAC/B,UAAU,EAAE,IAAI,8BAA8B,CAAC,YAAY,CAAC,MAAM,CAAC;IACnE,SAAS,EAAE,4BAA4B,CAAC,KAAK,EAAE,YAAY,CAAC;IAC5D,GAAG,YAAY;CAChB,CAAC,CAAC;AAIL,MAAM,2BAA2B,GAAe,CAC9C,KAA+C,EAC/C,YAAmC,EACnC,EAAE;IACF,MAAM,SAAS,GAAG,6BAA6B,CAC7C,KAAK,CAAC,WAAW,EACjB,sBAAsB,CAAC,YAAY,CAAC,EACpC,YAAY,CAAC,MAAM,CACpB,CAAC;IACF,OAAO,yBAAyB,CAAC,KAAK,EAAE;QACtC,UAAU,EAAE,IAAI,8BAA8B,CAAC,YAAY,CAAC,MAAM,CAAC;QACnE,SAAS;QACT,GAAG,YAAY;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,SAAS,GAAc,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,uBAAuB,CAAC;AAQ3G,MAAM,CAAC,MAAM,gBAAgB,GAAe,qBAAqB;IAC/D,CAAC,CAAC,2BAA2B;IAC7B,CAAC,CAAC,8BAA8B,CAAC"}
@@ -1,12 +1,13 @@
1
- import { BindRequestHandlerOptions, ConsumeRemoteApiOptions, ExposeApiProps, MessengerApiDependencies } from './types';
1
+ import { BindRequestHandlerOptions, ConsumeMessengerApiDependencies, ConsumeRemoteApiOptions, ExposeApiProps, MessengerApiDependencies } from './types';
2
2
  import { CustomError } from 'ts-custom-error';
3
3
  import { Shutdown } from '@cardano-sdk/util';
4
4
  export declare class RemoteApiShutdownError extends CustomError {
5
5
  constructor(channel: string);
6
6
  }
7
- export declare const consumeMessengerRemoteApi: <T extends object>({ properties, getErrorPrototype }: ConsumeRemoteApiOptions<T>, { logger, messenger }: MessengerApiDependencies) => T & Shutdown;
8
- export declare const bindMessengerRequestHandler: <Response_1>({ handler }: BindRequestHandlerOptions<Response_1>, { logger, messenger: { message$ } }: MessengerApiDependencies) => Shutdown;
7
+ export declare const consumeMessengerRemoteApi: <T extends object>({ properties, getErrorPrototype }: ConsumeRemoteApiOptions<T>, { logger, messenger, destructor }: ConsumeMessengerApiDependencies) => T & Shutdown;
8
+ export declare const bindMessengerRequestHandler: <Response_1>({ handler }: BindRequestHandlerOptions<Response_1>, { logger, messenger: { message$, postMessage } }: MessengerApiDependencies) => Shutdown;
9
9
  export declare const bindNestedObjChannels: <API extends object>({ api$, properties }: ExposeApiProps<API>, { messenger, logger }: MessengerApiDependencies) => Shutdown;
10
- export declare const bindObservableChannels: <API extends object>({ api$, properties }: ExposeApiProps<API>, { messenger }: MessengerApiDependencies) => Shutdown;
10
+ export declare const bindFactoryMethods: <API extends object>({ api$, properties }: ExposeApiProps<API>, { messenger, logger }: MessengerApiDependencies) => Shutdown;
11
+ export declare const bindObservableChannels: <API extends object>({ api$, properties }: ExposeApiProps<API>, { messenger, logger }: MessengerApiDependencies) => Shutdown;
11
12
  export declare const exposeMessengerApi: <API extends object>({ api$, properties }: ExposeApiProps<API>, dependencies: MessengerApiDependencies) => Shutdown;
12
13
  //# sourceMappingURL=remoteApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remoteApi.d.ts","sourceRoot":"","sources":["../../../src/messaging/remoteApi.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EAGvB,cAAc,EACd,wBAAwB,EAQzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAmB9C,OAAO,EAAqB,QAAQ,EAAgD,MAAM,mBAAmB,CAAC;AAa9G,qBAAa,sBAAuB,SAAQ,WAAW;gBACzC,OAAO,EAAE,MAAM;CAG5B;AA6CD,eAAO,MAAM,yBAAyB,2GAEb,wBAAwB,iBAmD9C,CAAC;AAEJ,eAAO,MAAM,2BAA2B,wGAED,wBAAwB,KAC5D,QAuBF,CAAC;AAKF,eAAO,MAAM,qBAAqB,yFAET,wBAAwB,KAC9C,QA4BF,CAAC;AAEF,eAAO,MAAM,sBAAsB,iFAElB,wBAAwB,KACtC,QA+CF,CAAC;AAmBF,eAAO,MAAM,kBAAkB,gFAEf,wBAAwB,KACrC,QA2CF,CAAC"}
1
+ {"version":3,"file":"remoteApi.d.ts","sourceRoot":"","sources":["../../../src/messaging/remoteApi.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EAEzB,+BAA+B,EAC/B,uBAAuB,EAGvB,cAAc,EAEd,wBAAwB,EASzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAsB9C,OAAO,EAEL,QAAQ,EAIT,MAAM,mBAAmB,CAAC;AAc3B,qBAAa,sBAAuB,SAAQ,WAAW;gBACzC,OAAO,EAAE,MAAM;CAG5B;AAmGD,eAAO,MAAM,yBAAyB,uHAED,+BAA+B,iBA0DjE,CAAC;AAEJ,eAAO,MAAM,2BAA2B,qHAEY,wBAAwB,KACzE,QAsBF,CAAC;AAeF,eAAO,MAAM,qBAAqB,yFAET,wBAAwB,KAC9C,QA4BF,CAAC;AAEF,eAAO,MAAM,kBAAkB,yFAEN,wBAAwB,KAC9C,QA0DF,CAAC;AAEF,eAAO,MAAM,sBAAsB,yFAEV,wBAAwB,KAC9C,QAqDF,CAAC;AAmBF,eAAO,MAAM,kBAAkB,gFAEf,wBAAwB,KACrC,QA2CF,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { RemoteApiPropertyType } from './types';
2
2
  import { CustomError } from 'ts-custom-error';
3
- import { EMPTY, EmptyError, NEVER, concat, filter, firstValueFrom, isObservable, map, merge, mergeMap, of, shareReplay, switchMap, takeUntil, tap } from 'rxjs';
4
- import { fromSerializableObject, toSerializableObject } from '@cardano-sdk/util';
3
+ import { EMPTY, EmptyError, NEVER, concat, filter, firstValueFrom, from, isObservable, map, merge, mergeMap, of, shareReplay, switchMap, takeUntil, tap } from 'rxjs';
4
+ import { fromSerializableObject, isPromise, toSerializableObject } from '@cardano-sdk/util';
5
5
  import { NotImplementedError } from '@cardano-sdk/core';
6
6
  import { TrackerSubject } from '@cardano-sdk/util-rxjs';
7
- import { disabledApiMsg, isEmitMessage, isNotDisabledApiMsg, isObservableCompletionMessage, isRequestMessage, isResponseMessage, newMessageId } from './util';
7
+ import { disabledApiMsg, isCompletionMessage, isEmitMessage, isFactoryCallMessage, isNotDisabledApiMsg, isRequestMessage, isResponseMessage, newMessageId } from './util';
8
8
  export class RemoteApiShutdownError extends CustomError {
9
9
  constructor(channel) {
10
10
  super(`Remote API with channel '${channel}' was shutdown: object can no longer be used.`);
@@ -29,7 +29,41 @@ const consumeMethod = ({ propName, getErrorPrototype }, { messenger: { message$,
29
29
  }
30
30
  return result;
31
31
  };
32
- export const consumeMessengerRemoteApi = ({ properties, getErrorPrototype }, { logger, messenger }) => new Proxy({
32
+ let factoryChannelNo = 0;
33
+ const consumeFactory = ({ method, apiProperties, getErrorPrototype }, { logger, messenger, destructor }) => (...args) => {
34
+ const channel = `${method}-${factoryChannelNo++}`;
35
+ const postSubscription = messenger
36
+ .postMessage({
37
+ factoryCall: { args: toSerializableObject(args), channel, method },
38
+ messageId: newMessageId()
39
+ })
40
+ .subscribe();
41
+ const apiMessenger = messenger.deriveChannel(channel);
42
+ const api = consumeMessengerRemoteApi({
43
+ getErrorPrototype,
44
+ properties: apiProperties
45
+ }, {
46
+ destructor,
47
+ logger,
48
+ messenger: apiMessenger
49
+ });
50
+ destructor.onGarbageCollected(api, factoryChannelNo, () => {
51
+ if (apiMessenger.isShutdown) {
52
+ return;
53
+ }
54
+ apiMessenger
55
+ .postMessage({
56
+ messageId: newMessageId(),
57
+ subscribe: false
58
+ })
59
+ .subscribe(() => {
60
+ postSubscription.unsubscribe();
61
+ apiMessenger.shutdown();
62
+ });
63
+ });
64
+ return api;
65
+ };
66
+ export const consumeMessengerRemoteApi = ({ properties, getErrorPrototype }, { logger, messenger, destructor }) => new Proxy({
33
67
  shutdown: messenger.shutdown
34
68
  }, {
35
69
  get(target, prop, receiver) {
@@ -39,13 +73,17 @@ export const consumeMessengerRemoteApi = ({ properties, getErrorPrototype }, { l
39
73
  const propName = prop.toString();
40
74
  if (typeof propMetadata === 'object') {
41
75
  if ('propType' in propMetadata) {
42
- if (propMetadata.propType === RemoteApiPropertyType.MethodReturningPromise) {
43
- return (receiver[prop] = consumeMethod({ getErrorPrototype, options: propMetadata.requestOptions, propName }, { logger, messenger }));
76
+ switch (propMetadata.propType) {
77
+ case RemoteApiPropertyType.MethodReturningPromise: {
78
+ return (receiver[prop] = consumeMethod({ getErrorPrototype, options: propMetadata.requestOptions, propName }, { logger, messenger }));
79
+ }
80
+ case RemoteApiPropertyType.ApiFactory: {
81
+ return (receiver[prop] = consumeFactory({ apiProperties: propMetadata.getApiProperties(), getErrorPrototype, method: propName }, { destructor, logger, messenger }));
82
+ }
44
83
  }
45
- throw new NotImplementedError('Only MethodReturningPromise prop type can be specified as object');
46
84
  }
47
85
  else {
48
- return (receiver[prop] = consumeMessengerRemoteApi({ getErrorPrototype, properties: propMetadata }, { logger, messenger: messenger.deriveChannel(propName) }));
86
+ return (receiver[prop] = consumeMessengerRemoteApi({ getErrorPrototype, properties: propMetadata }, { destructor, logger, messenger: messenger.deriveChannel(propName) }));
49
87
  }
50
88
  }
51
89
  else if (propMetadata === RemoteApiPropertyType.MethodReturningPromise) {
@@ -54,7 +92,7 @@ export const consumeMessengerRemoteApi = ({ properties, getErrorPrototype }, { l
54
92
  else if (propMetadata === RemoteApiPropertyType.HotObservable) {
55
93
  const observableMessenger = messenger.deriveChannel(propName);
56
94
  const messageData$ = observableMessenger.message$.pipe(map(({ data }) => fromSerializableObject(data)));
57
- const unsubscribe$ = messageData$.pipe(filter(isObservableCompletionMessage), filter(({ subscribe }) => !subscribe), tap(({ error }) => {
95
+ const unsubscribe$ = messageData$.pipe(filter(isCompletionMessage), filter(({ subscribe }) => !subscribe), tap(({ error }) => {
58
96
  if (error)
59
97
  throw error;
60
98
  }));
@@ -65,7 +103,7 @@ export const consumeMessengerRemoteApi = ({ properties, getErrorPrototype }, { l
65
103
  return p in properties;
66
104
  }
67
105
  });
68
- export const bindMessengerRequestHandler = ({ handler }, { logger, messenger: { message$ } }) => {
106
+ export const bindMessengerRequestHandler = ({ handler }, { logger, messenger: { message$, postMessage } }) => {
69
107
  const subscription = message$.subscribe(async ({ data, port }) => {
70
108
  if (!isRequestMessage(data))
71
109
  return;
@@ -82,16 +120,20 @@ export const bindMessengerRequestHandler = ({ handler }, { logger, messenger: {
82
120
  messageId: data.messageId,
83
121
  response: toSerializableObject(response)
84
122
  };
85
- port.postMessage(responseMessage);
123
+ postMessage(responseMessage).subscribe();
86
124
  });
87
125
  return {
88
126
  shutdown: () => subscription.unsubscribe()
89
127
  };
90
128
  };
91
- const isRemoteApiMethod = (prop) => typeof prop === 'object' && prop !== null && 'propType' in prop;
129
+ const isObject = (prop) => typeof prop === 'object' && prop !== null;
130
+ const hasPropType = (prop, propType) => isObject(prop) && prop.propType === propType;
131
+ const hasAnyPropType = (prop) => isObject(prop) && typeof prop.propType === 'number';
132
+ const isRemoteApiMethod = (prop) => hasPropType(prop, RemoteApiPropertyType.MethodReturningPromise);
133
+ const isRemoteApiFactory = (prop) => hasPropType(prop, RemoteApiPropertyType.ApiFactory);
92
134
  export const bindNestedObjChannels = ({ api$, properties }, { messenger, logger }) => {
93
135
  const subscriptions = Object.entries(properties)
94
- .filter(([_, type]) => typeof type === 'object' && !isRemoteApiMethod(type))
136
+ .filter(([_, type]) => typeof type === 'object' && !hasAnyPropType(type))
95
137
  .map(([prop]) => exposeMessengerApi({
96
138
  api$: api$.pipe(tap((api) => {
97
139
  if (api && (typeof api[prop] !== 'object' || isObservable(api[prop]))) {
@@ -108,7 +150,63 @@ export const bindNestedObjChannels = ({ api$, properties }, { messenger, logger
108
150
  }
109
151
  };
110
152
  };
111
- export const bindObservableChannels = ({ api$, properties }, { messenger }) => {
153
+ export const bindFactoryMethods = ({ api$, properties }, { messenger, logger }) => {
154
+ const subscription = messenger.message$.subscribe(async ({ data }) => {
155
+ if (!isFactoryCallMessage(data))
156
+ return;
157
+ const propertyDefinition = properties[data.factoryCall.method];
158
+ if (!isRemoteApiFactory(propertyDefinition)) {
159
+ logger.warn(`Invalid or missing property definition for api factory method '${data.factoryCall.method}'`);
160
+ return;
161
+ }
162
+ try {
163
+ const args = fromSerializableObject(data.factoryCall.args);
164
+ const { method, channel } = data.factoryCall;
165
+ const factoryMessenger = messenger.deriveChannel(channel);
166
+ const api = exposeMessengerApi({
167
+ api$: api$.pipe(switchMap((baseApi) => {
168
+ if (!baseApi)
169
+ return NEVER;
170
+ const apiMethod = baseApi[method];
171
+ if (typeof apiMethod !== 'function') {
172
+ logger.warn('No api method', method);
173
+ return EMPTY;
174
+ }
175
+ const returnedApi = apiMethod.apply(baseApi, args);
176
+ if (isPromise(returnedApi)) {
177
+ return from(returnedApi);
178
+ }
179
+ return of(returnedApi);
180
+ })),
181
+ properties: propertyDefinition.getApiProperties()
182
+ }, {
183
+ logger,
184
+ messenger: factoryMessenger
185
+ });
186
+ let completeSubscription = null;
187
+ const teardown = () => {
188
+ completeSubscription?.unsubscribe();
189
+ api.shutdown();
190
+ };
191
+ completeSubscription = factoryMessenger.message$.subscribe((msg) => {
192
+ if (isCompletionMessage(msg.data)) {
193
+ subscription.remove(teardown);
194
+ teardown();
195
+ }
196
+ });
197
+ subscription.add(teardown);
198
+ }
199
+ catch (error) {
200
+ logger.debug('[bindFactoryMethods] error exposing api', data, error);
201
+ }
202
+ });
203
+ return {
204
+ shutdown: () => {
205
+ subscription.unsubscribe();
206
+ }
207
+ };
208
+ };
209
+ export const bindObservableChannels = ({ api$, properties }, { messenger, logger }) => {
112
210
  const subscriptions = Object.entries(properties)
113
211
  .filter(([, propType]) => propType === RemoteApiPropertyType.HotObservable)
114
212
  .map(([observableProperty]) => {
@@ -120,7 +218,12 @@ export const bindObservableChannels = ({ api$, properties }, { messenger }) => {
120
218
  const observableMessenger = messenger.deriveChannel(observableProperty);
121
219
  const connectSubscription = observableMessenger.connect$.subscribe((port) => {
122
220
  if (observable$.value !== null) {
123
- port.postMessage(toSerializableObject({ emit: observable$.value, messageId: newMessageId() }));
221
+ try {
222
+ port.postMessage(toSerializableObject({ emit: observable$.value, messageId: newMessageId() }));
223
+ }
224
+ catch (error) {
225
+ logger.warn('Failed to emit initial value, port immediatelly disconnected?', error);
226
+ }
124
227
  }
125
228
  });
126
229
  const broadcastMessage = (message) => observableMessenger
@@ -151,13 +254,12 @@ export const exposeMessengerApi = ({ api$, properties }, dependencies) => {
151
254
  const apiTracker$ = new TrackerSubject(concat(api$, NEVER));
152
255
  const observableChannelsSubscription = bindObservableChannels({ api$: apiTracker$, properties }, dependencies);
153
256
  const nestedObjChannelsSubscription = bindNestedObjChannels({ api$: apiTracker$, properties }, dependencies);
257
+ const factoryMethodsSubscription = bindFactoryMethods({ api$: apiTracker$, properties }, dependencies);
154
258
  const methodHandlerSubscription = bindMessengerRequestHandler({
155
259
  handler: async (originalRequest, sender) => {
156
260
  const property = properties[originalRequest.method];
157
261
  if (typeof property === 'undefined' ||
158
- (property !== RemoteApiPropertyType.MethodReturningPromise &&
159
- isRemoteApiMethod(property) &&
160
- property.propType !== RemoteApiPropertyType.MethodReturningPromise)) {
262
+ (property !== RemoteApiPropertyType.MethodReturningPromise && !isRemoteApiMethod(property))) {
161
263
  throw new Error(`Attempted to call a method that was not explicitly exposed: ${originalRequest.method}`);
162
264
  }
163
265
  const { validate = async () => void 0, transform = (req) => req } = isRemoteApiMethod(property)
@@ -177,6 +279,7 @@ export const exposeMessengerApi = ({ api$, properties }, dependencies) => {
177
279
  shutdown: () => {
178
280
  apiTracker$.complete();
179
281
  nestedObjChannelsSubscription.shutdown();
282
+ factoryMethodsSubscription.shutdown();
180
283
  observableChannelsSubscription.shutdown();
181
284
  methodHandlerSubscription.shutdown();
182
285
  dependencies.messenger.shutdown();
@@ -1 +1 @@
1
- {"version":3,"file":"remoteApi.js","sourceRoot":"","sources":["../../../src/messaging/remoteApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remoteApi.js","sourceRoot":"","sources":["../../../src/messaging/remoteApi.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export interface RequestMessage extends AnyMessage {
15
15
  export interface ResponseMessage<T = unknown> extends AnyMessage {
16
16
  response: T;
17
17
  }
18
- export interface ObservableCompletionMessage extends AnyMessage {
18
+ export interface CompletionMessage extends AnyMessage {
19
19
  subscribe: false;
20
20
  error?: Error;
21
21
  }
@@ -24,6 +24,12 @@ export interface EmitMessage extends AnyMessage {
24
24
  }
25
25
  export declare type SendMethodRequestMessage = <Response = unknown>(msg: MethodRequest) => Promise<Response>;
26
26
  export declare type ChannelName = string;
27
+ export interface FactoryCall<Method extends string = string> extends MethodRequest<Method> {
28
+ channel: ChannelName;
29
+ }
30
+ export interface FactoryCallMessage<Method extends string = string> extends AnyMessage {
31
+ factoryCall: FactoryCall<Method>;
32
+ }
27
33
  export declare type MinimalEvent<Callback extends (...args: any[]) => any> = Pick<Events.Event<Callback>, 'addListener' | 'removeListener'>;
28
34
  export interface MessengerPort {
29
35
  name: string;
@@ -57,7 +63,8 @@ export interface PortMessage<Data = unknown> {
57
63
  }
58
64
  export declare enum RemoteApiPropertyType {
59
65
  MethodReturningPromise = 0,
60
- HotObservable = 1
66
+ HotObservable = 1,
67
+ ApiFactory = 2
61
68
  }
62
69
  export interface MethodRequestOptions {
63
70
  transform?: TransformRequest;
@@ -67,10 +74,17 @@ export interface RemoteApiMethod {
67
74
  propType: RemoteApiPropertyType.MethodReturningPromise;
68
75
  requestOptions: MethodRequestOptions;
69
76
  }
70
- export declare type RemoteApiProperty = RemoteApiPropertyType | RemoteApiMethod;
77
+ export interface ApiFactoryOptions {
78
+ baseChannel: ChannelName;
79
+ }
80
+ export interface RemoteApiFactory<T> {
81
+ propType: RemoteApiPropertyType.ApiFactory;
82
+ getApiProperties: () => T extends (...args: any) => any ? RemoteApiProperties<ReturnType<T>> : never;
83
+ }
84
+ export declare type RemoteApiProperty<T> = RemoteApiPropertyType.HotObservable | RemoteApiPropertyType.MethodReturningPromise | RemoteApiMethod | RemoteApiFactory<T>;
71
85
  export declare type ExposableRemoteApi<T> = Omit<T, 'shutdown'>;
72
86
  export declare type RemoteApiProperties<T> = {
73
- [key in keyof ExposableRemoteApi<T>]: RemoteApiProperty | Omit<RemoteApiProperties<T[key]>, 'propType' | 'requestOptions'>;
87
+ [key in keyof ExposableRemoteApi<T>]: RemoteApiProperty<T[key]> | Omit<RemoteApiProperties<T[key]>, 'propType' | 'requestOptions'>;
74
88
  };
75
89
  export interface ExposeApiProps<API extends object> {
76
90
  api$: Observable<API | null>;
@@ -85,12 +99,19 @@ export interface Messenger extends Shutdown {
85
99
  connect$: Observable<MinimalPort>;
86
100
  postMessage(message: unknown): Observable<void>;
87
101
  message$: Observable<PortMessage>;
102
+ isShutdown: boolean;
88
103
  deriveChannel(path: string): Messenger;
89
104
  }
90
105
  export interface MessengerApiDependencies {
91
106
  messenger: Messenger;
92
107
  logger: Logger;
93
108
  }
109
+ export interface Destructor {
110
+ onGarbageCollected(obj: object, objectId: unknown, callback: () => void): void;
111
+ }
112
+ export interface ConsumeMessengerApiDependencies extends MessengerApiDependencies {
113
+ destructor: Destructor;
114
+ }
94
115
  export declare type InternalMsgType = 'apiObjDisabled';
95
116
  export declare type InternalMsg = {
96
117
  remoteApiInternalMsg: InternalMsgType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/messaging/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/messaging/types.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ export var RemoteApiPropertyType;
2
2
  (function (RemoteApiPropertyType) {
3
3
  RemoteApiPropertyType[RemoteApiPropertyType["MethodReturningPromise"] = 0] = "MethodReturningPromise";
4
4
  RemoteApiPropertyType[RemoteApiPropertyType["HotObservable"] = 1] = "HotObservable";
5
+ RemoteApiPropertyType[RemoteApiPropertyType["ApiFactory"] = 2] = "ApiFactory";
5
6
  })(RemoteApiPropertyType || (RemoteApiPropertyType = {}));
6
7
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/messaging/types.ts"],"names":[],"mappings":"AA+EA,MAAM,CAAN,IAAY,qBAaX;AAbD,WAAY,qBAAqB;IAK/B,qGAAsB,CAAA;IAOtB,mFAAa,CAAA;AACf,CAAC,EAbW,qBAAqB,KAArB,qBAAqB,QAahC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/messaging/types.ts"],"names":[],"mappings":"AA0FA,MAAM,CAAN,IAAY,qBAkBX;AAlBD,WAAY,qBAAqB;IAK/B,qGAAsB,CAAA;IAOtB,mFAAa,CAAA;IAKb,6EAAU,CAAA;AACZ,CAAC,EAlBW,qBAAqB,KAArB,qBAAqB,QAkBhC"}