@naylence/runtime 0.3.5-test.908 → 0.3.5-test.909

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 (209) hide show
  1. package/dist/browser/index.cjs +8873 -8303
  2. package/dist/browser/index.cjs.map +1 -1
  3. package/dist/browser/index.mjs +8865 -8300
  4. package/dist/browser/index.mjs.map +1 -1
  5. package/dist/cjs/browser.js +24 -0
  6. package/dist/cjs/browser.js.map +1 -1
  7. package/dist/cjs/naylence/fame/connector/broadcast-channel-connector-factory.js +161 -0
  8. package/dist/cjs/naylence/fame/connector/broadcast-channel-connector-factory.js.map +1 -0
  9. package/dist/cjs/naylence/fame/connector/broadcast-channel-connector.browser.js +318 -0
  10. package/dist/cjs/naylence/fame/connector/broadcast-channel-connector.browser.js.map +1 -0
  11. package/dist/cjs/naylence/fame/connector/broadcast-channel-connector.js +16 -0
  12. package/dist/cjs/naylence/fame/connector/broadcast-channel-connector.js.map +1 -0
  13. package/dist/cjs/naylence/fame/connector/broadcast-channel-connector.node.js +27 -0
  14. package/dist/cjs/naylence/fame/connector/broadcast-channel-connector.node.js.map +1 -0
  15. package/dist/cjs/naylence/fame/connector/broadcast-channel-listener-factory.js +96 -0
  16. package/dist/cjs/naylence/fame/connector/broadcast-channel-listener-factory.js.map +1 -0
  17. package/dist/cjs/naylence/fame/connector/broadcast-channel-listener.js +485 -0
  18. package/dist/cjs/naylence/fame/connector/broadcast-channel-listener.js.map +1 -0
  19. package/dist/cjs/naylence/fame/connector/grant-selection-policy.js +86 -1
  20. package/dist/cjs/naylence/fame/connector/grant-selection-policy.js.map +1 -1
  21. package/dist/cjs/naylence/fame/connector/http-listener.js +2 -2
  22. package/dist/cjs/naylence/fame/connector/http-listener.js.map +1 -1
  23. package/dist/cjs/naylence/fame/connector/http-stateless-connector.js +5 -60
  24. package/dist/cjs/naylence/fame/connector/http-stateless-connector.js.map +1 -1
  25. package/dist/cjs/naylence/fame/connector/index.js +20 -2
  26. package/dist/cjs/naylence/fame/connector/index.js.map +1 -1
  27. package/dist/cjs/naylence/fame/connector/inpage-connector-factory.js +163 -0
  28. package/dist/cjs/naylence/fame/connector/inpage-connector-factory.js.map +1 -0
  29. package/dist/cjs/naylence/fame/connector/inpage-connector.js +219 -0
  30. package/dist/cjs/naylence/fame/connector/inpage-connector.js.map +1 -0
  31. package/dist/cjs/naylence/fame/connector/inpage-listener-factory.js +96 -0
  32. package/dist/cjs/naylence/fame/connector/inpage-listener-factory.js.map +1 -0
  33. package/dist/cjs/naylence/fame/connector/inpage-listener.js +423 -0
  34. package/dist/cjs/naylence/fame/connector/inpage-listener.js.map +1 -0
  35. package/dist/cjs/naylence/fame/delivery/default-delivery-tracker.js +147 -11
  36. package/dist/cjs/naylence/fame/delivery/default-delivery-tracker.js.map +1 -1
  37. package/dist/cjs/naylence/fame/fabric/in-process-fame-fabric.js +2 -19
  38. package/dist/cjs/naylence/fame/fabric/in-process-fame-fabric.js.map +1 -1
  39. package/dist/cjs/naylence/fame/factory-manifest.js +4 -1
  40. package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -1
  41. package/dist/cjs/naylence/fame/grants/broadcast-channel-connection-grant.js +76 -0
  42. package/dist/cjs/naylence/fame/grants/broadcast-channel-connection-grant.js.map +1 -0
  43. package/dist/cjs/naylence/fame/grants/index.js +11 -1
  44. package/dist/cjs/naylence/fame/grants/index.js.map +1 -1
  45. package/dist/cjs/naylence/fame/grants/inpage-connection-grant.js +76 -0
  46. package/dist/cjs/naylence/fame/grants/inpage-connection-grant.js.map +1 -0
  47. package/dist/cjs/naylence/fame/node/admission/admission-profile-factory.js +20 -0
  48. package/dist/cjs/naylence/fame/node/admission/admission-profile-factory.js.map +1 -1
  49. package/dist/cjs/naylence/fame/node/envelope-listener-manager.js +22 -0
  50. package/dist/cjs/naylence/fame/node/envelope-listener-manager.js.map +1 -1
  51. package/dist/cjs/naylence/fame/node/index.js +0 -1
  52. package/dist/cjs/naylence/fame/node/index.js.map +1 -1
  53. package/dist/cjs/naylence/fame/node/node.js +0 -9
  54. package/dist/cjs/naylence/fame/node/node.js.map +1 -1
  55. package/dist/cjs/naylence/fame/node/upstream-session-manager.js +56 -0
  56. package/dist/cjs/naylence/fame/node/upstream-session-manager.js.map +1 -1
  57. package/dist/cjs/naylence/fame/placement/static-node-placement-strategy-factory.js +2 -13
  58. package/dist/cjs/naylence/fame/placement/static-node-placement-strategy-factory.js.map +1 -1
  59. package/dist/cjs/naylence/fame/util/bounded-async-queue.js +66 -0
  60. package/dist/cjs/naylence/fame/util/bounded-async-queue.js.map +1 -0
  61. package/dist/cjs/node.js +3 -1
  62. package/dist/cjs/node.js.map +1 -1
  63. package/dist/cjs/runtime-isomorphic.js +4 -1
  64. package/dist/cjs/runtime-isomorphic.js.map +1 -1
  65. package/dist/cjs/version.js +2 -2
  66. package/dist/esm/browser.js +9 -0
  67. package/dist/esm/browser.js.map +1 -1
  68. package/dist/esm/naylence/fame/connector/broadcast-channel-connector-factory.js +157 -0
  69. package/dist/esm/naylence/fame/connector/broadcast-channel-connector-factory.js.map +1 -0
  70. package/dist/esm/naylence/fame/connector/broadcast-channel-connector.browser.js +314 -0
  71. package/dist/esm/naylence/fame/connector/broadcast-channel-connector.browser.js.map +1 -0
  72. package/dist/esm/naylence/fame/connector/broadcast-channel-connector.js +12 -0
  73. package/dist/esm/naylence/fame/connector/broadcast-channel-connector.js.map +1 -0
  74. package/dist/esm/naylence/fame/connector/broadcast-channel-connector.node.js +23 -0
  75. package/dist/esm/naylence/fame/connector/broadcast-channel-connector.node.js.map +1 -0
  76. package/dist/esm/naylence/fame/connector/broadcast-channel-listener-factory.js +59 -0
  77. package/dist/esm/naylence/fame/connector/broadcast-channel-listener-factory.js.map +1 -0
  78. package/dist/esm/naylence/fame/connector/broadcast-channel-listener.js +480 -0
  79. package/dist/esm/naylence/fame/connector/broadcast-channel-listener.js.map +1 -0
  80. package/dist/esm/naylence/fame/connector/grant-selection-policy.js +86 -1
  81. package/dist/esm/naylence/fame/connector/grant-selection-policy.js.map +1 -1
  82. package/dist/esm/naylence/fame/connector/http-listener.js +1 -1
  83. package/dist/esm/naylence/fame/connector/http-listener.js.map +1 -1
  84. package/dist/esm/naylence/fame/connector/http-stateless-connector.js +2 -57
  85. package/dist/esm/naylence/fame/connector/http-stateless-connector.js.map +1 -1
  86. package/dist/esm/naylence/fame/connector/index.js +10 -1
  87. package/dist/esm/naylence/fame/connector/index.js.map +1 -1
  88. package/dist/esm/naylence/fame/connector/inpage-connector-factory.js +159 -0
  89. package/dist/esm/naylence/fame/connector/inpage-connector-factory.js.map +1 -0
  90. package/dist/esm/naylence/fame/connector/inpage-connector.js +215 -0
  91. package/dist/esm/naylence/fame/connector/inpage-connector.js.map +1 -0
  92. package/dist/esm/naylence/fame/connector/inpage-listener-factory.js +59 -0
  93. package/dist/esm/naylence/fame/connector/inpage-listener-factory.js.map +1 -0
  94. package/dist/esm/naylence/fame/connector/inpage-listener.js +418 -0
  95. package/dist/esm/naylence/fame/connector/inpage-listener.js.map +1 -0
  96. package/dist/esm/naylence/fame/delivery/default-delivery-tracker.js +147 -11
  97. package/dist/esm/naylence/fame/delivery/default-delivery-tracker.js.map +1 -1
  98. package/dist/esm/naylence/fame/fabric/in-process-fame-fabric.js +2 -19
  99. package/dist/esm/naylence/fame/fabric/in-process-fame-fabric.js.map +1 -1
  100. package/dist/esm/naylence/fame/factory-manifest.js +4 -1
  101. package/dist/esm/naylence/fame/factory-manifest.js.map +1 -1
  102. package/dist/esm/naylence/fame/grants/broadcast-channel-connection-grant.js +70 -0
  103. package/dist/esm/naylence/fame/grants/broadcast-channel-connection-grant.js.map +1 -0
  104. package/dist/esm/naylence/fame/grants/index.js +2 -0
  105. package/dist/esm/naylence/fame/grants/index.js.map +1 -1
  106. package/dist/esm/naylence/fame/grants/inpage-connection-grant.js +70 -0
  107. package/dist/esm/naylence/fame/grants/inpage-connection-grant.js.map +1 -0
  108. package/dist/esm/naylence/fame/node/admission/admission-profile-factory.js +20 -0
  109. package/dist/esm/naylence/fame/node/admission/admission-profile-factory.js.map +1 -1
  110. package/dist/esm/naylence/fame/node/envelope-listener-manager.js +22 -0
  111. package/dist/esm/naylence/fame/node/envelope-listener-manager.js.map +1 -1
  112. package/dist/esm/naylence/fame/node/index.js +0 -1
  113. package/dist/esm/naylence/fame/node/index.js.map +1 -1
  114. package/dist/esm/naylence/fame/node/node.js +0 -9
  115. package/dist/esm/naylence/fame/node/node.js.map +1 -1
  116. package/dist/esm/naylence/fame/node/upstream-session-manager.js +56 -0
  117. package/dist/esm/naylence/fame/node/upstream-session-manager.js.map +1 -1
  118. package/dist/esm/naylence/fame/placement/static-node-placement-strategy-factory.js +2 -13
  119. package/dist/esm/naylence/fame/placement/static-node-placement-strategy-factory.js.map +1 -1
  120. package/dist/esm/naylence/fame/util/bounded-async-queue.js +61 -0
  121. package/dist/esm/naylence/fame/util/bounded-async-queue.js.map +1 -0
  122. package/dist/esm/node.js +1 -1
  123. package/dist/esm/node.js.map +1 -1
  124. package/dist/esm/runtime-isomorphic.js +1 -0
  125. package/dist/esm/runtime-isomorphic.js.map +1 -1
  126. package/dist/esm/version.js +2 -2
  127. package/dist/node/index.cjs +8873 -8303
  128. package/dist/node/index.cjs.map +1 -1
  129. package/dist/node/index.mjs +8865 -8300
  130. package/dist/node/index.mjs.map +1 -1
  131. package/dist/node/node.cjs +5317 -3086
  132. package/dist/node/node.cjs.map +1 -1
  133. package/dist/node/node.mjs +5304 -3080
  134. package/dist/node/node.mjs.map +1 -1
  135. package/dist/types/browser.d.ts +8 -0
  136. package/dist/types/browser.d.ts.map +1 -1
  137. package/dist/types/naylence/fame/connector/broadcast-channel-connector-factory.d.ts +28 -0
  138. package/dist/types/naylence/fame/connector/broadcast-channel-connector-factory.d.ts.map +1 -0
  139. package/dist/types/naylence/fame/connector/broadcast-channel-connector.browser.d.ts +40 -0
  140. package/dist/types/naylence/fame/connector/broadcast-channel-connector.browser.d.ts.map +1 -0
  141. package/dist/types/naylence/fame/connector/broadcast-channel-connector.d.ts +9 -0
  142. package/dist/types/naylence/fame/connector/broadcast-channel-connector.d.ts.map +1 -0
  143. package/dist/types/naylence/fame/connector/broadcast-channel-connector.node.d.ts +17 -0
  144. package/dist/types/naylence/fame/connector/broadcast-channel-connector.node.d.ts.map +1 -0
  145. package/dist/types/naylence/fame/connector/broadcast-channel-listener-factory.d.ts +22 -0
  146. package/dist/types/naylence/fame/connector/broadcast-channel-listener-factory.d.ts.map +1 -0
  147. package/dist/types/naylence/fame/connector/broadcast-channel-listener.d.ts +42 -0
  148. package/dist/types/naylence/fame/connector/broadcast-channel-listener.d.ts.map +1 -0
  149. package/dist/types/naylence/fame/connector/grant-selection-policy.d.ts.map +1 -1
  150. package/dist/types/naylence/fame/connector/http-stateless-connector.d.ts +1 -4
  151. package/dist/types/naylence/fame/connector/http-stateless-connector.d.ts.map +1 -1
  152. package/dist/types/naylence/fame/connector/index.d.ts +10 -1
  153. package/dist/types/naylence/fame/connector/index.d.ts.map +1 -1
  154. package/dist/types/naylence/fame/connector/inpage-connector-factory.d.ts +31 -0
  155. package/dist/types/naylence/fame/connector/inpage-connector-factory.d.ts.map +1 -0
  156. package/dist/types/naylence/fame/connector/inpage-connector.d.ts +31 -0
  157. package/dist/types/naylence/fame/connector/inpage-connector.d.ts.map +1 -0
  158. package/dist/types/naylence/fame/connector/inpage-listener-factory.d.ts +22 -0
  159. package/dist/types/naylence/fame/connector/inpage-listener-factory.d.ts.map +1 -0
  160. package/dist/types/naylence/fame/connector/inpage-listener.d.ts +42 -0
  161. package/dist/types/naylence/fame/connector/inpage-listener.d.ts.map +1 -0
  162. package/dist/types/naylence/fame/delivery/default-delivery-tracker.d.ts +12 -0
  163. package/dist/types/naylence/fame/delivery/default-delivery-tracker.d.ts.map +1 -1
  164. package/dist/types/naylence/fame/fabric/in-process-fame-fabric.d.ts +0 -1
  165. package/dist/types/naylence/fame/fabric/in-process-fame-fabric.d.ts.map +1 -1
  166. package/dist/types/naylence/fame/factory-manifest.d.ts +1 -1
  167. package/dist/types/naylence/fame/factory-manifest.d.ts.map +1 -1
  168. package/dist/types/naylence/fame/grants/broadcast-channel-connection-grant.d.ts +21 -0
  169. package/dist/types/naylence/fame/grants/broadcast-channel-connection-grant.d.ts.map +1 -0
  170. package/dist/types/naylence/fame/grants/index.d.ts +2 -0
  171. package/dist/types/naylence/fame/grants/index.d.ts.map +1 -1
  172. package/dist/types/naylence/fame/grants/inpage-connection-grant.d.ts +25 -0
  173. package/dist/types/naylence/fame/grants/inpage-connection-grant.d.ts.map +1 -0
  174. package/dist/types/naylence/fame/node/admission/admission-profile-factory.d.ts.map +1 -1
  175. package/dist/types/naylence/fame/node/envelope-listener-manager.d.ts.map +1 -1
  176. package/dist/types/naylence/fame/node/index.d.ts +0 -1
  177. package/dist/types/naylence/fame/node/index.d.ts.map +1 -1
  178. package/dist/types/naylence/fame/node/node.d.ts +0 -1
  179. package/dist/types/naylence/fame/node/node.d.ts.map +1 -1
  180. package/dist/types/naylence/fame/node/upstream-session-manager.d.ts +2 -0
  181. package/dist/types/naylence/fame/node/upstream-session-manager.d.ts.map +1 -1
  182. package/dist/types/naylence/fame/placement/static-node-placement-strategy-factory.d.ts +1 -1
  183. package/dist/types/naylence/fame/placement/static-node-placement-strategy-factory.d.ts.map +1 -1
  184. package/dist/types/naylence/fame/util/bounded-async-queue.d.ts +19 -0
  185. package/dist/types/naylence/fame/util/bounded-async-queue.d.ts.map +1 -0
  186. package/dist/types/node.d.ts +1 -1
  187. package/dist/types/node.d.ts.map +1 -1
  188. package/dist/types/runtime-isomorphic.d.ts +1 -0
  189. package/dist/types/runtime-isomorphic.d.ts.map +1 -1
  190. package/dist/types/version.d.ts +1 -1
  191. package/package.json +13 -2
  192. package/dist/cjs/naylence/fame/node/node-context-stack.js +0 -57
  193. package/dist/cjs/naylence/fame/node/node-context-stack.js.map +0 -1
  194. package/dist/cjs/naylence/fame/placement/websocket-node-placement-strategy-factory.js +0 -66
  195. package/dist/cjs/naylence/fame/placement/websocket-node-placement-strategy-factory.js.map +0 -1
  196. package/dist/cjs/naylence/fame/placement/websocket-node-placement-strategy.js +0 -25
  197. package/dist/cjs/naylence/fame/placement/websocket-node-placement-strategy.js.map +0 -1
  198. package/dist/esm/naylence/fame/node/node-context-stack.js +0 -50
  199. package/dist/esm/naylence/fame/node/node-context-stack.js.map +0 -1
  200. package/dist/esm/naylence/fame/placement/websocket-node-placement-strategy-factory.js +0 -62
  201. package/dist/esm/naylence/fame/placement/websocket-node-placement-strategy-factory.js.map +0 -1
  202. package/dist/esm/naylence/fame/placement/websocket-node-placement-strategy.js +0 -21
  203. package/dist/esm/naylence/fame/placement/websocket-node-placement-strategy.js.map +0 -1
  204. package/dist/types/naylence/fame/node/node-context-stack.d.ts +0 -7
  205. package/dist/types/naylence/fame/node/node-context-stack.d.ts.map +0 -1
  206. package/dist/types/naylence/fame/placement/websocket-node-placement-strategy-factory.d.ts +0 -18
  207. package/dist/types/naylence/fame/placement/websocket-node-placement-strategy-factory.d.ts.map +0 -1
  208. package/dist/types/naylence/fame/placement/websocket-node-placement-strategy.d.ts +0 -15
  209. package/dist/types/naylence/fame/placement/websocket-node-placement-strategy.d.ts.map +0 -1
@@ -1,5 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BROADCAST_CHANNEL_LISTENER_FACTORY_META = exports.BroadcastChannelListenerFactory = exports.BroadcastChannelListener = exports.INPAGE_LISTENER_FACTORY_META = exports.InPageListenerFactory = exports.InPageListener = exports.BROADCAST_CHANNEL_CONNECTOR_FACTORY_META = exports.BroadcastChannelConnectorFactory = exports.INPAGE_CONNECTOR_FACTORY_META = exports.InPageConnectorFactory = exports.BROADCAST_CHANNEL_CONNECTOR_TYPE = exports.BroadcastChannelConnector = exports.INPAGE_CONNECTOR_TYPE = exports.InPageConnector = void 0;
3
4
  const tslib_1 = require("tslib");
5
+ // Browser entry point re-exporting shared runtime surface and browser-only modules.
4
6
  tslib_1.__exportStar(require("./runtime-isomorphic.js"), exports);
7
+ var inpage_connector_js_1 = require("./naylence/fame/connector/inpage-connector.js");
8
+ Object.defineProperty(exports, "InPageConnector", { enumerable: true, get: function () { return inpage_connector_js_1.InPageConnector; } });
9
+ Object.defineProperty(exports, "INPAGE_CONNECTOR_TYPE", { enumerable: true, get: function () { return inpage_connector_js_1.INPAGE_CONNECTOR_TYPE; } });
10
+ var broadcast_channel_connector_js_1 = require("./naylence/fame/connector/broadcast-channel-connector.js");
11
+ Object.defineProperty(exports, "BroadcastChannelConnector", { enumerable: true, get: function () { return broadcast_channel_connector_js_1.BroadcastChannelConnector; } });
12
+ Object.defineProperty(exports, "BROADCAST_CHANNEL_CONNECTOR_TYPE", { enumerable: true, get: function () { return broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE; } });
13
+ var inpage_connector_factory_js_1 = require("./naylence/fame/connector/inpage-connector-factory.js");
14
+ Object.defineProperty(exports, "InPageConnectorFactory", { enumerable: true, get: function () { return inpage_connector_factory_js_1.InPageConnectorFactory; } });
15
+ Object.defineProperty(exports, "INPAGE_CONNECTOR_FACTORY_META", { enumerable: true, get: function () { return inpage_connector_factory_js_1.FACTORY_META; } });
16
+ var broadcast_channel_connector_factory_js_1 = require("./naylence/fame/connector/broadcast-channel-connector-factory.js");
17
+ Object.defineProperty(exports, "BroadcastChannelConnectorFactory", { enumerable: true, get: function () { return broadcast_channel_connector_factory_js_1.BroadcastChannelConnectorFactory; } });
18
+ Object.defineProperty(exports, "BROADCAST_CHANNEL_CONNECTOR_FACTORY_META", { enumerable: true, get: function () { return broadcast_channel_connector_factory_js_1.FACTORY_META; } });
19
+ var inpage_listener_js_1 = require("./naylence/fame/connector/inpage-listener.js");
20
+ Object.defineProperty(exports, "InPageListener", { enumerable: true, get: function () { return inpage_listener_js_1.InPageListener; } });
21
+ var inpage_listener_factory_js_1 = require("./naylence/fame/connector/inpage-listener-factory.js");
22
+ Object.defineProperty(exports, "InPageListenerFactory", { enumerable: true, get: function () { return inpage_listener_factory_js_1.InPageListenerFactory; } });
23
+ Object.defineProperty(exports, "INPAGE_LISTENER_FACTORY_META", { enumerable: true, get: function () { return inpage_listener_factory_js_1.FACTORY_META; } });
24
+ var broadcast_channel_listener_js_1 = require("./naylence/fame/connector/broadcast-channel-listener.js");
25
+ Object.defineProperty(exports, "BroadcastChannelListener", { enumerable: true, get: function () { return broadcast_channel_listener_js_1.BroadcastChannelListener; } });
26
+ var broadcast_channel_listener_factory_js_1 = require("./naylence/fame/connector/broadcast-channel-listener-factory.js");
27
+ Object.defineProperty(exports, "BroadcastChannelListenerFactory", { enumerable: true, get: function () { return broadcast_channel_listener_factory_js_1.BroadcastChannelListenerFactory; } });
28
+ Object.defineProperty(exports, "BROADCAST_CHANNEL_LISTENER_FACTORY_META", { enumerable: true, get: function () { return broadcast_channel_listener_factory_js_1.FACTORY_META; } });
5
29
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";;;AAAA,kEAAwC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";;;;AAAA,oFAAoF;AACpF,kEAAwC;AACxC,qFAIuD;AAHtD,sHAAA,eAAe,OAAA;AACf,4HAAA,qBAAqB,OAAA;AAGtB,2GAIkE;AAHjE,2IAAA,yBAAyB,OAAA;AACzB,kJAAA,gCAAgC,OAAA;AAGjC,qGAI+D;AAH9D,qIAAA,sBAAsB,OAAA;AAEtB,4IAAA,YAAY,OAAiC;AAE9C,2HAI0E;AAHzE,0JAAA,gCAAgC,OAAA;AAEhC,kKAAA,YAAY,OAA4C;AAEzD,mFAEsD;AADrD,oHAAA,cAAc,OAAA;AAEf,mGAI8D;AAH7D,mIAAA,qBAAqB,OAAA;AAErB,0IAAA,YAAY,OAAgC;AAE7C,yGAEiE;AADhE,yIAAA,wBAAwB,OAAA;AAEzB,yHAIyE;AAHxE,wJAAA,+BAA+B,OAAA;AAE/B,gKAAA,YAAY,OAA2C"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BroadcastChannelConnectorFactory = exports.FACTORY_META = void 0;
4
+ const connector_factory_js_1 = require("./connector-factory.js");
5
+ const broadcast_channel_connector_js_1 = require("./broadcast-channel-connector.js");
6
+ const broadcast_channel_connection_grant_js_1 = require("../grants/broadcast-channel-connection-grant.js");
7
+ const DEFAULT_CHANNEL = 'naylence-fabric';
8
+ const DEFAULT_INBOX_CAPACITY = 2048;
9
+ class BroadcastChannelConnectionGrantImpl {
10
+ constructor() {
11
+ this.type = broadcast_channel_connection_grant_js_1.BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE;
12
+ this.purpose = 'connection';
13
+ }
14
+ }
15
+ exports.FACTORY_META = {
16
+ base: connector_factory_js_1.CONNECTOR_FACTORY_BASE_TYPE,
17
+ key: broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE,
18
+ };
19
+ class BroadcastChannelConnectorFactory extends connector_factory_js_1.ConnectorFactory {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.type = broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE;
23
+ }
24
+ supportedGrantTypes() {
25
+ return [
26
+ broadcast_channel_connection_grant_js_1.BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE,
27
+ broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE,
28
+ ];
29
+ }
30
+ supportedGrants() {
31
+ return {
32
+ [broadcast_channel_connection_grant_js_1.BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE]: BroadcastChannelConnectionGrantImpl,
33
+ };
34
+ }
35
+ configFromGrant(grant) {
36
+ const record = (grant ?? {});
37
+ if (record.type === broadcast_channel_connection_grant_js_1.BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE) {
38
+ const connectorConfig = (0, broadcast_channel_connection_grant_js_1.broadcastChannelGrantToConnectorConfig)(record);
39
+ return {
40
+ type: broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE,
41
+ channelName: connectorConfig.channelName,
42
+ inboxCapacity: connectorConfig.inboxCapacity,
43
+ };
44
+ }
45
+ const config = {
46
+ type: broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE,
47
+ };
48
+ const channelCandidate = record.channelName ?? record['channel_name'];
49
+ if (typeof channelCandidate === 'string' && channelCandidate.trim().length > 0) {
50
+ config.channelName = channelCandidate.trim();
51
+ }
52
+ const inboxCandidate = record.inboxCapacity ?? record['inbox_capacity'];
53
+ if (typeof inboxCandidate === 'number' &&
54
+ Number.isFinite(inboxCandidate) &&
55
+ inboxCandidate > 0) {
56
+ config.inboxCapacity = Math.floor(inboxCandidate);
57
+ }
58
+ return config;
59
+ }
60
+ grantFromConfig(config) {
61
+ const normalizedConfig = this._normalizeConfig(config);
62
+ const grant = (0, broadcast_channel_connection_grant_js_1.normalizeBroadcastChannelConnectionGrant)({
63
+ type: broadcast_channel_connection_grant_js_1.BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE,
64
+ purpose: 'connection',
65
+ channelName: normalizedConfig.channelName,
66
+ inboxCapacity: normalizedConfig.inboxCapacity,
67
+ });
68
+ return grant;
69
+ }
70
+ async create(config, ...factoryArgs) {
71
+ if (!config) {
72
+ throw new Error('BroadcastChannelConnectorFactory requires a configuration');
73
+ }
74
+ const normalized = this._normalizeConfig(config);
75
+ const options = (factoryArgs[0] ?? {});
76
+ const channelName = normalized.channelName ?? DEFAULT_CHANNEL;
77
+ const inboxCapacity = normalized.inboxCapacity ?? DEFAULT_INBOX_CAPACITY;
78
+ const baseConfig = {
79
+ drainTimeout: normalized.drainTimeout,
80
+ flowControl: normalized.flowControl,
81
+ initialWindow: normalized.initialWindow,
82
+ maxQueueSize: normalized.maxQueueSize,
83
+ metricsEmitter: normalized.metricsEmitter,
84
+ shutdownTimeouts: normalized.shutdownTimeouts,
85
+ taskSpawner: normalized.taskSpawner,
86
+ authorizationContext: normalized.authorizationContext,
87
+ };
88
+ const connectorConfig = {
89
+ type: broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE,
90
+ channelName,
91
+ inboxCapacity,
92
+ };
93
+ const connector = new broadcast_channel_connector_js_1.BroadcastChannelConnector(connectorConfig, baseConfig);
94
+ if (options.authorization) {
95
+ connector.authorizationContext = options.authorization;
96
+ }
97
+ return connector;
98
+ }
99
+ _normalizeConfig(config) {
100
+ if (!config || typeof config !== 'object') {
101
+ throw new Error('Configuration must be an object');
102
+ }
103
+ const candidate = config;
104
+ if (candidate.type !== broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE) {
105
+ throw new Error(`BroadcastChannelConnectorFactory only supports ${broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE} config`);
106
+ }
107
+ const normalized = {
108
+ type: broadcast_channel_connector_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE,
109
+ };
110
+ const channel = candidate.channelName ?? candidate['channel_name'];
111
+ if (typeof channel === 'string' && channel.trim().length > 0) {
112
+ normalized.channelName = channel.trim();
113
+ }
114
+ const capacity = candidate.inboxCapacity ?? candidate['inbox_capacity'];
115
+ if (typeof capacity === 'number' &&
116
+ Number.isFinite(capacity) &&
117
+ capacity > 0) {
118
+ normalized.inboxCapacity = Math.floor(capacity);
119
+ }
120
+ if (typeof candidate.flowControl === 'boolean') {
121
+ normalized.flowControl = candidate.flowControl;
122
+ }
123
+ const maxQueueSize = candidate.maxQueueSize ?? candidate['max_queue_size'];
124
+ if (typeof maxQueueSize === 'number' &&
125
+ Number.isFinite(maxQueueSize) &&
126
+ maxQueueSize > 0) {
127
+ normalized.maxQueueSize = Math.floor(maxQueueSize);
128
+ }
129
+ const initialWindow = candidate.initialWindow ?? candidate['initial_window'];
130
+ if (typeof initialWindow === 'number' &&
131
+ Number.isFinite(initialWindow) &&
132
+ initialWindow > 0) {
133
+ normalized.initialWindow = Math.floor(initialWindow);
134
+ }
135
+ const drainTimeout = candidate.drainTimeout ?? candidate['drain_timeout'];
136
+ if (typeof drainTimeout === 'number' &&
137
+ Number.isFinite(drainTimeout) &&
138
+ drainTimeout >= 0) {
139
+ normalized.drainTimeout = drainTimeout;
140
+ }
141
+ if (candidate.metricsEmitter !== undefined) {
142
+ normalized.metricsEmitter = candidate.metricsEmitter;
143
+ }
144
+ if (candidate.taskSpawner !== undefined) {
145
+ normalized.taskSpawner = candidate.taskSpawner;
146
+ }
147
+ if (candidate.shutdownTimeouts !== undefined) {
148
+ normalized.shutdownTimeouts = candidate.shutdownTimeouts;
149
+ }
150
+ if (candidate.authorizationContext !== undefined) {
151
+ normalized.authorizationContext = candidate.authorizationContext;
152
+ }
153
+ normalized.channelName = normalized.channelName ?? DEFAULT_CHANNEL;
154
+ normalized.inboxCapacity =
155
+ normalized.inboxCapacity ?? DEFAULT_INBOX_CAPACITY;
156
+ return normalized;
157
+ }
158
+ }
159
+ exports.BroadcastChannelConnectorFactory = BroadcastChannelConnectorFactory;
160
+ exports.default = BroadcastChannelConnectorFactory;
161
+ //# sourceMappingURL=broadcast-channel-connector-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast-channel-connector-factory.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/connector/broadcast-channel-connector-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BroadcastChannelConnector = exports.BROADCAST_CHANNEL_CONNECTOR_TYPE = void 0;
4
+ const base_async_connector_js_1 = require("./base-async-connector.js");
5
+ const errors_js_1 = require("../errors/errors.js");
6
+ const logging_js_1 = require("../util/logging.js");
7
+ const bounded_async_queue_js_1 = require("../util/bounded-async-queue.js");
8
+ const logger = (0, logging_js_1.getLogger)('naylence.fame.connector.broadcast_channel_connector');
9
+ exports.BROADCAST_CHANNEL_CONNECTOR_TYPE = 'broadcast-channel-connector';
10
+ const DEFAULT_CHANNEL = 'naylence-fabric';
11
+ const DEFAULT_INBOX_CAPACITY = 2048;
12
+ const isBrowserEnvironment = () => typeof window !== 'undefined' &&
13
+ typeof BroadcastChannel !== 'undefined' &&
14
+ typeof MessageEvent !== 'undefined';
15
+ const ensureBroadcastEnvironment = () => {
16
+ if (!isBrowserEnvironment()) {
17
+ throw new Error('BroadcastChannelConnector is browser-only and requires BroadcastChannel support');
18
+ }
19
+ };
20
+ class BroadcastChannelConnector extends base_async_connector_js_1.BaseAsyncConnector {
21
+ static generateConnectorId() {
22
+ const globalCrypto = globalThis.crypto;
23
+ if (globalCrypto?.randomUUID) {
24
+ return globalCrypto.randomUUID();
25
+ }
26
+ return `${Date.now().toString(16)}-${Math.random().toString(16).slice(2)}`;
27
+ }
28
+ static coercePayload(raw) {
29
+ if (raw instanceof Uint8Array) {
30
+ return raw;
31
+ }
32
+ if (raw instanceof ArrayBuffer) {
33
+ return new Uint8Array(raw);
34
+ }
35
+ if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView(raw)) {
36
+ const view = raw;
37
+ return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
38
+ }
39
+ if (raw && typeof raw === 'object') {
40
+ const candidate = raw;
41
+ if (candidate.constructor?.name === 'Uint8Array') {
42
+ const view = raw;
43
+ return new Uint8Array(view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength));
44
+ }
45
+ }
46
+ if (Array.isArray(raw) && raw.every((item) => typeof item === 'number')) {
47
+ return Uint8Array.from(raw);
48
+ }
49
+ return null;
50
+ }
51
+ constructor(config, baseConfig = {}) {
52
+ ensureBroadcastEnvironment();
53
+ super(baseConfig);
54
+ this.listenerRegistered = false;
55
+ this.seenAckKeys = new Map();
56
+ this.seenAckOrder = [];
57
+ this.ackDedupTtlMs = 30000;
58
+ this.ackDedupMaxEntries = 4096;
59
+ this.textDecoder = new TextDecoder();
60
+ this.channelName =
61
+ typeof config.channelName === 'string' && config.channelName.trim().length > 0
62
+ ? config.channelName.trim()
63
+ : DEFAULT_CHANNEL;
64
+ const preferredCapacity = typeof config.inboxCapacity === 'number' &&
65
+ Number.isFinite(config.inboxCapacity) &&
66
+ config.inboxCapacity > 0
67
+ ? Math.floor(config.inboxCapacity)
68
+ : DEFAULT_INBOX_CAPACITY;
69
+ this.inbox = new bounded_async_queue_js_1.BoundedAsyncQueue(preferredCapacity);
70
+ this.connectorId = BroadcastChannelConnector.generateConnectorId();
71
+ this.channel = new BroadcastChannel(this.channelName);
72
+ logger.debug('broadcast_channel_connector_initialized', {
73
+ channel: this.channelName,
74
+ connector_id: this.connectorId,
75
+ inbox_capacity: preferredCapacity,
76
+ });
77
+ this.onMsg = (event) => {
78
+ const message = event.data;
79
+ logger.debug('broadcast_channel_raw_event', {
80
+ channel: this.channelName,
81
+ connector_id: this.connectorId,
82
+ message_type: message && typeof message === 'object'
83
+ ? message.constructor?.name ?? typeof message
84
+ : typeof message,
85
+ has_sender_id: Boolean(message?.senderId),
86
+ });
87
+ if (!message || typeof message !== 'object') {
88
+ return;
89
+ }
90
+ const busMessage = message;
91
+ if (typeof busMessage.senderId !== 'string' || busMessage.senderId.length === 0) {
92
+ return;
93
+ }
94
+ if (busMessage.senderId === this.connectorId) {
95
+ return;
96
+ }
97
+ const payload = BroadcastChannelConnector.coercePayload(busMessage.payload);
98
+ if (!payload) {
99
+ logger.debug('broadcast_channel_payload_rejected', {
100
+ channel: this.channelName,
101
+ connector_id: this.connectorId,
102
+ reason: 'unrecognized_payload_type',
103
+ });
104
+ return;
105
+ }
106
+ logger.debug('broadcast_channel_message_received', {
107
+ channel: this.channelName,
108
+ sender_id: busMessage.senderId,
109
+ connector_id: this.connectorId,
110
+ payload_length: payload.byteLength,
111
+ });
112
+ if (this._shouldSkipDuplicateAck(busMessage.senderId, payload)) {
113
+ return;
114
+ }
115
+ try {
116
+ if (typeof this.inbox.tryEnqueue === 'function') {
117
+ const accepted = this.inbox.tryEnqueue(payload);
118
+ if (accepted) {
119
+ return;
120
+ }
121
+ }
122
+ this.inbox.enqueue(payload);
123
+ }
124
+ catch (error) {
125
+ if (error instanceof bounded_async_queue_js_1.QueueFullError) {
126
+ logger.warning('broadcast_channel_receive_queue_full', {
127
+ channel: this.channelName,
128
+ });
129
+ }
130
+ else {
131
+ logger.error('broadcast_channel_receive_error', {
132
+ channel: this.channelName,
133
+ error: error instanceof Error ? error.message : String(error),
134
+ });
135
+ }
136
+ }
137
+ };
138
+ this.channel.addEventListener('message', this.onMsg);
139
+ this.listenerRegistered = true;
140
+ }
141
+ async pushToReceive(rawOrEnvelope) {
142
+ const item = this._normalizeInboxItem(rawOrEnvelope);
143
+ if (this._shouldSkipDuplicateAckFromInboxItem(item)) {
144
+ return;
145
+ }
146
+ try {
147
+ if (typeof this.inbox.tryEnqueue === 'function') {
148
+ const accepted = this.inbox.tryEnqueue(item);
149
+ if (accepted) {
150
+ return;
151
+ }
152
+ }
153
+ this.inbox.enqueue(item);
154
+ }
155
+ catch (error) {
156
+ if (error instanceof bounded_async_queue_js_1.QueueFullError) {
157
+ logger.warning('broadcast_channel_push_queue_full', {
158
+ channel: this.channelName,
159
+ });
160
+ throw error;
161
+ }
162
+ logger.error('broadcast_channel_push_failed', {
163
+ channel: this.channelName,
164
+ error: error instanceof Error ? error.message : String(error),
165
+ });
166
+ throw error;
167
+ }
168
+ }
169
+ async _transportSendBytes(data) {
170
+ ensureBroadcastEnvironment();
171
+ logger.debug('broadcast_channel_message_sending', {
172
+ channel: this.channelName,
173
+ sender_id: this.connectorId,
174
+ });
175
+ this.channel.postMessage({
176
+ senderId: this.connectorId,
177
+ payload: data,
178
+ });
179
+ }
180
+ async _transportReceive() {
181
+ return await this.inbox.dequeue();
182
+ }
183
+ async _transportClose(code, reason) {
184
+ if (this.listenerRegistered) {
185
+ this.channel.removeEventListener('message', this.onMsg);
186
+ this.listenerRegistered = false;
187
+ }
188
+ this.channel.close();
189
+ const closeCode = typeof code === 'number' ? code : 1000;
190
+ const closeReason = typeof reason === 'string' && reason.length > 0 ? reason : 'closed';
191
+ const shutdownError = new errors_js_1.FameTransportClose(closeReason, closeCode);
192
+ this.inbox.drain(shutdownError);
193
+ this.seenAckKeys.clear();
194
+ this.seenAckOrder.length = 0;
195
+ }
196
+ _normalizeInboxItem(rawOrEnvelope) {
197
+ if (rawOrEnvelope instanceof Uint8Array) {
198
+ return rawOrEnvelope;
199
+ }
200
+ return rawOrEnvelope;
201
+ }
202
+ _shouldSkipDuplicateAck(senderId, payload) {
203
+ const dedupKey = this._extractAckDedupKey(payload);
204
+ if (!dedupKey) {
205
+ return false;
206
+ }
207
+ const normalizedSenderId = typeof senderId === 'string' && senderId.length > 0
208
+ ? senderId
209
+ : undefined;
210
+ return this._checkDuplicateAck(dedupKey, normalizedSenderId);
211
+ }
212
+ _shouldSkipDuplicateAckFromInboxItem(item) {
213
+ if (item instanceof Uint8Array) {
214
+ return this._shouldSkipDuplicateAck(undefined, item);
215
+ }
216
+ const envelope = this._extractEnvelopeFromInboxItem(item);
217
+ if (!envelope) {
218
+ return false;
219
+ }
220
+ const frame = envelope.frame;
221
+ if (!frame || frame.type !== 'DeliveryAck') {
222
+ return false;
223
+ }
224
+ const refId = typeof frame.refId === 'string' && frame.refId.length > 0
225
+ ? frame.refId
226
+ : null;
227
+ const dedupKey = refId ?? envelope.id ?? null;
228
+ if (!dedupKey) {
229
+ return false;
230
+ }
231
+ const senderId = this._extractSenderIdFromInboxItem(item);
232
+ return this._checkDuplicateAck(dedupKey, senderId);
233
+ }
234
+ _checkDuplicateAck(dedupKey, senderId) {
235
+ const now = Date.now();
236
+ const lastSeen = this.seenAckKeys.get(dedupKey);
237
+ if (lastSeen && now - lastSeen < this.ackDedupTtlMs) {
238
+ logger.debug('broadcast_channel_duplicate_ack_suppressed', {
239
+ channel: this.channelName,
240
+ connector_id: this.connectorId,
241
+ sender_id: senderId ?? null,
242
+ dedup_key: dedupKey,
243
+ });
244
+ return true;
245
+ }
246
+ this.seenAckKeys.set(dedupKey, now);
247
+ this.seenAckOrder.push(dedupKey);
248
+ this._trimSeenAcks(now);
249
+ return false;
250
+ }
251
+ _extractEnvelopeFromInboxItem(item) {
252
+ if (!item || typeof item !== 'object') {
253
+ return null;
254
+ }
255
+ if ('envelope' in item) {
256
+ return item.envelope;
257
+ }
258
+ if ('frame' in item) {
259
+ return item;
260
+ }
261
+ return null;
262
+ }
263
+ _extractSenderIdFromInboxItem(item) {
264
+ if (!item || typeof item !== 'object') {
265
+ return undefined;
266
+ }
267
+ if ('context' in item) {
268
+ const context = item.context;
269
+ if (context && typeof context.fromSystemId === 'string') {
270
+ return context.fromSystemId;
271
+ }
272
+ }
273
+ return undefined;
274
+ }
275
+ _trimSeenAcks(now) {
276
+ while (this.seenAckOrder.length > 0) {
277
+ const candidate = this.seenAckOrder[0];
278
+ const timestamp = this.seenAckKeys.get(candidate);
279
+ if (timestamp === undefined) {
280
+ this.seenAckOrder.shift();
281
+ continue;
282
+ }
283
+ if (this.seenAckKeys.size > this.ackDedupMaxEntries ||
284
+ now - timestamp > this.ackDedupTtlMs) {
285
+ this.seenAckKeys.delete(candidate);
286
+ this.seenAckOrder.shift();
287
+ continue;
288
+ }
289
+ break;
290
+ }
291
+ }
292
+ _extractAckDedupKey(payload) {
293
+ try {
294
+ const decoded = this.textDecoder.decode(payload);
295
+ const parsed = JSON.parse(decoded);
296
+ const envelopeId = typeof parsed?.id === 'string' ? parsed.id : null;
297
+ const frameType = parsed?.frame?.type;
298
+ if (typeof frameType !== 'string' || frameType !== 'DeliveryAck') {
299
+ return null;
300
+ }
301
+ const refId = parsed.frame?.refId;
302
+ if (typeof refId === 'string' && refId.length > 0) {
303
+ return refId;
304
+ }
305
+ return envelopeId;
306
+ }
307
+ catch (error) {
308
+ logger.debug('broadcast_channel_ack_dedup_parse_failed', {
309
+ channel: this.channelName,
310
+ connector_id: this.connectorId,
311
+ error: error instanceof Error ? error.message : String(error),
312
+ });
313
+ return null;
314
+ }
315
+ }
316
+ }
317
+ exports.BroadcastChannelConnector = BroadcastChannelConnector;
318
+ //# sourceMappingURL=broadcast-channel-connector.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast-channel-connector.browser.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/connector/broadcast-channel-connector.browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BROADCAST_CHANNEL_CONNECTOR_TYPE = exports.BroadcastChannelConnector = void 0;
4
+ const broadcast_channel_connector_browser_js_1 = require("./broadcast-channel-connector.browser.js");
5
+ Object.defineProperty(exports, "BROADCAST_CHANNEL_CONNECTOR_TYPE", { enumerable: true, get: function () { return broadcast_channel_connector_browser_js_1.BROADCAST_CHANNEL_CONNECTOR_TYPE; } });
6
+ const broadcast_channel_connector_node_js_1 = require("./broadcast-channel-connector.node.js");
7
+ const hasBroadcastChannelSupport = typeof globalThis !== 'undefined' &&
8
+ typeof globalThis
9
+ .BroadcastChannel !== 'undefined';
10
+ const ConnectorImpl = hasBroadcastChannelSupport
11
+ ? broadcast_channel_connector_browser_js_1.BroadcastChannelConnector
12
+ : broadcast_channel_connector_node_js_1.BroadcastChannelConnector;
13
+ class BroadcastChannelConnector extends ConnectorImpl {
14
+ }
15
+ exports.BroadcastChannelConnector = BroadcastChannelConnector;
16
+ //# sourceMappingURL=broadcast-channel-connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast-channel-connector.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/connector/broadcast-channel-connector.ts"],"names":[],"mappings":";;;AAAA,qGAGkD;AAiBd,iHAlBlC,yEAAgC,OAkBkC;AAhBpE,+FAAmH;AAGnH,MAAM,0BAA0B,GAC9B,OAAO,UAAU,KAAK,WAAW;IACjC,OAAQ,UAAiE;SACtE,gBAAgB,KAAK,WAAW,CAAC;AAItC,MAAM,aAAa,GAAyB,0BAA0B;IACpE,CAAC,CAAC,kEAAgC;IAClC,CAAC,CAAE,+DAAiE,CAAC;AAEvE,MAAM,yBAA0B,SAAQ,aAAa;CAAG;AAE/C,8DAAyB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BroadcastChannelConnector = exports.BROADCAST_CHANNEL_CONNECTOR_TYPE = void 0;
4
+ const base_async_connector_js_1 = require("./base-async-connector.js");
5
+ exports.BROADCAST_CHANNEL_CONNECTOR_TYPE = 'broadcast-channel-connector';
6
+ const ERROR_MESSAGE = 'BroadcastChannelConnector is browser-only and requires BroadcastChannel support';
7
+ class BroadcastChannelConnector extends base_async_connector_js_1.BaseAsyncConnector {
8
+ constructor(config, baseConfig = {}) {
9
+ super(baseConfig);
10
+ void config;
11
+ throw new Error(ERROR_MESSAGE);
12
+ }
13
+ async pushToReceive(_rawOrEnvelope) {
14
+ throw new Error(ERROR_MESSAGE);
15
+ }
16
+ async _transportSendBytes(_data) {
17
+ throw new Error(ERROR_MESSAGE);
18
+ }
19
+ async _transportReceive() {
20
+ throw new Error(ERROR_MESSAGE);
21
+ }
22
+ async _transportClose(_code, _reason) {
23
+ throw new Error(ERROR_MESSAGE);
24
+ }
25
+ }
26
+ exports.BroadcastChannelConnector = BroadcastChannelConnector;
27
+ //# sourceMappingURL=broadcast-channel-connector.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast-channel-connector.node.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/connector/broadcast-channel-connector.node.ts"],"names":[],"mappings":";;;AAAA,uEAGmC;AAItB,QAAA,gCAAgC,GAC3C,6BAAsC,CAAC;AAQzC,MAAM,aAAa,GACjB,iFAAiF,CAAC;AAEpF,MAAa,yBAA0B,SAAQ,4CAAkB;IAC/D,YACE,MAAuC,EACvC,aAAuC,EAAE;QAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,cAA8D;QAE9D,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,KAAiB;QACnD,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAES,KAAK,CAAC,iBAAiB;QAG/B,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,OAAe;QAC5D,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;CACF;AA7BD,8DA6BC"}