@wix/duplexer-js 2.0.5

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 (280) hide show
  1. package/README.md +239 -0
  2. package/dist/src/_external-types.d.ts +1 -0
  3. package/dist/src/authenticator.d.ts +22 -0
  4. package/dist/src/authenticator.js +42 -0
  5. package/dist/src/authenticator.js.map +1 -0
  6. package/dist/src/channels/channel.d.ts +29 -0
  7. package/dist/src/channels/channel.js +159 -0
  8. package/dist/src/channels/channel.js.map +1 -0
  9. package/dist/src/channels/channels.d.ts +13 -0
  10. package/dist/src/channels/channels.js +41 -0
  11. package/dist/src/channels/channels.js.map +1 -0
  12. package/dist/src/channels/subscription-error.d.ts +6 -0
  13. package/dist/src/channels/subscription-error.js +3 -0
  14. package/dist/src/channels/subscription-error.js.map +1 -0
  15. package/dist/src/connection-manager.d.ts +62 -0
  16. package/dist/src/connection-manager.js +228 -0
  17. package/dist/src/connection-manager.js.map +1 -0
  18. package/dist/src/constants.d.ts +5 -0
  19. package/dist/src/constants.js +9 -0
  20. package/dist/src/constants.js.map +1 -0
  21. package/dist/src/domain.d.ts +3 -0
  22. package/dist/src/domain.js +3 -0
  23. package/dist/src/domain.js.map +1 -0
  24. package/dist/src/duplexer.d.ts +41 -0
  25. package/dist/src/duplexer.js +125 -0
  26. package/dist/src/duplexer.js.map +1 -0
  27. package/dist/src/environments/core/environment.d.ts +13 -0
  28. package/dist/src/environments/core/environment.js +25 -0
  29. package/dist/src/environments/core/environment.js.map +1 -0
  30. package/dist/src/environments/core/network.d.ts +6 -0
  31. package/dist/src/environments/core/network.js +32 -0
  32. package/dist/src/environments/core/network.js.map +1 -0
  33. package/dist/src/environments/react-native/environment.d.ts +7 -0
  34. package/dist/src/environments/react-native/environment.js +27 -0
  35. package/dist/src/environments/react-native/environment.js.map +1 -0
  36. package/dist/src/environments/react-native/network.d.ts +6 -0
  37. package/dist/src/environments/react-native/network.js +54 -0
  38. package/dist/src/environments/react-native/network.js.map +1 -0
  39. package/dist/src/environments/react-native/transports.d.ts +8 -0
  40. package/dist/src/environments/react-native/transports.js +31 -0
  41. package/dist/src/environments/react-native/transports.js.map +1 -0
  42. package/dist/src/environments/web/environment.d.ts +8 -0
  43. package/dist/src/environments/web/environment.js +19 -0
  44. package/dist/src/environments/web/environment.js.map +1 -0
  45. package/dist/src/environments/web/network.d.ts +4 -0
  46. package/dist/src/environments/web/network.js +38 -0
  47. package/dist/src/environments/web/network.js.map +1 -0
  48. package/dist/src/environments/web/transports.d.ts +8 -0
  49. package/dist/src/environments/web/transports.js +51 -0
  50. package/dist/src/environments/web/transports.js.map +1 -0
  51. package/dist/src/errors/is-transport-error.d.ts +1 -0
  52. package/dist/src/errors/is-transport-error.js +7 -0
  53. package/dist/src/errors/is-transport-error.js.map +1 -0
  54. package/dist/src/index.d.ts +11 -0
  55. package/dist/src/index.js +25 -0
  56. package/dist/src/index.js.map +1 -0
  57. package/dist/src/instance-updater.d.ts +5 -0
  58. package/dist/src/instance-updater.js +3 -0
  59. package/dist/src/instance-updater.js.map +1 -0
  60. package/dist/src/keep-alive.d.ts +18 -0
  61. package/dist/src/keep-alive.js +66 -0
  62. package/dist/src/keep-alive.js.map +1 -0
  63. package/dist/src/ready-state.d.ts +6 -0
  64. package/dist/src/ready-state.js +10 -0
  65. package/dist/src/ready-state.js.map +1 -0
  66. package/dist/src/strategies/strategy-builder.d.ts +11 -0
  67. package/dist/src/strategies/strategy-builder.js +34 -0
  68. package/dist/src/strategies/strategy-builder.js.map +1 -0
  69. package/dist/src/strategies/strategy-presets.d.ts +4 -0
  70. package/dist/src/strategies/strategy-presets.js +20 -0
  71. package/dist/src/strategies/strategy-presets.js.map +1 -0
  72. package/dist/src/strategies/strategy.d.ts +25 -0
  73. package/dist/src/strategies/strategy.js +153 -0
  74. package/dist/src/strategies/strategy.js.map +1 -0
  75. package/dist/src/timeline/noop-timeline.d.ts +5 -0
  76. package/dist/src/timeline/noop-timeline.js +15 -0
  77. package/dist/src/timeline/noop-timeline.js.map +1 -0
  78. package/dist/src/timeline/timeline.d.ts +7 -0
  79. package/dist/src/timeline/timeline.js +3 -0
  80. package/dist/src/timeline/timeline.js.map +1 -0
  81. package/dist/src/transport/http-polling.d.ts +27 -0
  82. package/dist/src/transport/http-polling.js +245 -0
  83. package/dist/src/transport/http-polling.js.map +1 -0
  84. package/dist/src/transport/http.d.ts +14 -0
  85. package/dist/src/transport/http.js +106 -0
  86. package/dist/src/transport/http.js.map +1 -0
  87. package/dist/src/transport/params.d.ts +3 -0
  88. package/dist/src/transport/params.js +70 -0
  89. package/dist/src/transport/params.js.map +1 -0
  90. package/dist/src/transport/transport-error.d.ts +8 -0
  91. package/dist/src/transport/transport-error.js +3 -0
  92. package/dist/src/transport/transport-error.js.map +1 -0
  93. package/dist/src/transport/transport-params.d.ts +3 -0
  94. package/dist/src/transport/transport-params.js +3 -0
  95. package/dist/src/transport/transport-params.js.map +1 -0
  96. package/dist/src/transport/transport.d.ts +50 -0
  97. package/dist/src/transport/transport.js +120 -0
  98. package/dist/src/transport/transport.js.map +1 -0
  99. package/dist/src/transport/transports-manager.d.ts +42 -0
  100. package/dist/src/transport/transports-manager.js +248 -0
  101. package/dist/src/transport/transports-manager.js.map +1 -0
  102. package/dist/src/transport/unrecoverable.d.ts +1 -0
  103. package/dist/src/transport/unrecoverable.js +8 -0
  104. package/dist/src/transport/unrecoverable.js.map +1 -0
  105. package/dist/src/transport/websocket.d.ts +18 -0
  106. package/dist/src/transport/websocket.js +155 -0
  107. package/dist/src/transport/websocket.js.map +1 -0
  108. package/dist/src/utils/assert.d.ts +1 -0
  109. package/dist/src/utils/assert.js +34 -0
  110. package/dist/src/utils/assert.js.map +1 -0
  111. package/dist/src/utils/cancel-token.d.ts +10 -0
  112. package/dist/src/utils/cancel-token.js +28 -0
  113. package/dist/src/utils/cancel-token.js.map +1 -0
  114. package/dist/src/utils/deferred.d.ts +9 -0
  115. package/dist/src/utils/deferred.js +27 -0
  116. package/dist/src/utils/deferred.js.map +1 -0
  117. package/dist/src/utils/event-emitter.d.ts +15 -0
  118. package/dist/src/utils/event-emitter.js +106 -0
  119. package/dist/src/utils/event-emitter.js.map +1 -0
  120. package/dist/src/utils/on.d.ts +4 -0
  121. package/dist/src/utils/on.js +10 -0
  122. package/dist/src/utils/on.js.map +1 -0
  123. package/dist/src/utils/request.d.ts +20 -0
  124. package/dist/src/utils/request.js +164 -0
  125. package/dist/src/utils/request.js.map +1 -0
  126. package/dist/src/utils/timer.d.ts +8 -0
  127. package/dist/src/utils/timer.js +17 -0
  128. package/dist/src/utils/timer.js.map +1 -0
  129. package/dist/src/utils/utils.d.ts +1 -0
  130. package/dist/src/utils/utils.js +8 -0
  131. package/dist/src/utils/utils.js.map +1 -0
  132. package/dist/src/virtual-socket.d.ts +42 -0
  133. package/dist/src/virtual-socket.js +199 -0
  134. package/dist/src/virtual-socket.js.map +1 -0
  135. package/dist/statics/duplexer.bundle.js +982 -0
  136. package/dist/statics/duplexer.bundle.js.map +1 -0
  137. package/dist/statics/duplexer.bundle.min.js +2 -0
  138. package/dist/statics/duplexer.bundle.min.js.map +1 -0
  139. package/dist/statics/manifest.json +3 -0
  140. package/dist/statics/manifest.min.json +3 -0
  141. package/dist/test/_external-types.d.ts +2 -0
  142. package/dist/test/_global-types.d.ts +10 -0
  143. package/dist/test/_setup-global-hooks.spec.d.ts +1 -0
  144. package/dist/test/_setup-global-hooks.spec.js +13 -0
  145. package/dist/test/_setup-global-hooks.spec.js.map +1 -0
  146. package/dist/test/client-events.it.d.ts +1 -0
  147. package/dist/test/client-events.it.js +33 -0
  148. package/dist/test/client-events.it.js.map +1 -0
  149. package/dist/test/connect.spec.d.ts +1 -0
  150. package/dist/test/connect.spec.js +71 -0
  151. package/dist/test/connect.spec.js.map +1 -0
  152. package/dist/test/connection-manager.spec.d.ts +1 -0
  153. package/dist/test/connection-manager.spec.js +523 -0
  154. package/dist/test/connection-manager.spec.js.map +1 -0
  155. package/dist/test/duplexer.it.d.ts +1 -0
  156. package/dist/test/duplexer.it.js +243 -0
  157. package/dist/test/duplexer.it.js.map +1 -0
  158. package/dist/test/duplexer.spec.d.ts +1 -0
  159. package/dist/test/duplexer.spec.js +337 -0
  160. package/dist/test/duplexer.spec.js.map +1 -0
  161. package/dist/test/environments/web.it.d.ts +1 -0
  162. package/dist/test/environments/web.it.js +30 -0
  163. package/dist/test/environments/web.it.js.map +1 -0
  164. package/dist/test/environments/web.spec.d.ts +1 -0
  165. package/dist/test/environments/web.spec.js +92 -0
  166. package/dist/test/environments/web.spec.js.map +1 -0
  167. package/dist/test/event-emitter.spec.d.ts +1 -0
  168. package/dist/test/event-emitter.spec.js +182 -0
  169. package/dist/test/event-emitter.spec.js.map +1 -0
  170. package/dist/test/helpers/as-promised.d.ts +7 -0
  171. package/dist/test/helpers/as-promised.js +38 -0
  172. package/dist/test/helpers/as-promised.js.map +1 -0
  173. package/dist/test/helpers/assertions.d.ts +8 -0
  174. package/dist/test/helpers/assertions.js +43 -0
  175. package/dist/test/helpers/assertions.js.map +1 -0
  176. package/dist/test/helpers/auth-server.d.ts +10 -0
  177. package/dist/test/helpers/auth-server.js +61 -0
  178. package/dist/test/helpers/auth-server.js.map +1 -0
  179. package/dist/test/helpers/http-polling-environment.d.ts +2 -0
  180. package/dist/test/helpers/http-polling-environment.js +20 -0
  181. package/dist/test/helpers/http-polling-environment.js.map +1 -0
  182. package/dist/test/helpers/in-memory-environemnt.d.ts +15 -0
  183. package/dist/test/helpers/in-memory-environemnt.js +39 -0
  184. package/dist/test/helpers/in-memory-environemnt.js.map +1 -0
  185. package/dist/test/helpers/in-memory-network.d.ts +5 -0
  186. package/dist/test/helpers/in-memory-network.js +37 -0
  187. package/dist/test/helpers/in-memory-network.js.map +1 -0
  188. package/dist/test/helpers/in-memory-timeline.d.ts +8 -0
  189. package/dist/test/helpers/in-memory-timeline.js +24 -0
  190. package/dist/test/helpers/in-memory-timeline.js.map +1 -0
  191. package/dist/test/helpers/in-memory-transport.d.ts +68 -0
  192. package/dist/test/helpers/in-memory-transport.js +271 -0
  193. package/dist/test/helpers/in-memory-transport.js.map +1 -0
  194. package/dist/test/helpers/server-interceptor.d.ts +10 -0
  195. package/dist/test/helpers/server-interceptor.js +138 -0
  196. package/dist/test/helpers/server-interceptor.js.map +1 -0
  197. package/dist/test/helpers/setup-global-mock-navigator.d.ts +4 -0
  198. package/dist/test/helpers/setup-global-mock-navigator.js +22 -0
  199. package/dist/test/helpers/setup-global-mock-navigator.js.map +1 -0
  200. package/dist/test/helpers/window.d.ts +1 -0
  201. package/dist/test/helpers/window.js +17 -0
  202. package/dist/test/helpers/window.js.map +1 -0
  203. package/dist/test/keep-alive.it.spec.d.ts +1 -0
  204. package/dist/test/keep-alive.it.spec.js +42 -0
  205. package/dist/test/keep-alive.it.spec.js.map +1 -0
  206. package/dist/test/keep-alive.spec.d.ts +1 -0
  207. package/dist/test/keep-alive.spec.js +140 -0
  208. package/dist/test/keep-alive.spec.js.map +1 -0
  209. package/dist/test/ng/channel-support.d.ts +39 -0
  210. package/dist/test/ng/channel-support.js +178 -0
  211. package/dist/test/ng/channel-support.js.map +1 -0
  212. package/dist/test/ng/channels.spec.d.ts +1 -0
  213. package/dist/test/ng/channels.spec.js +79 -0
  214. package/dist/test/ng/channels.spec.js.map +1 -0
  215. package/dist/test/ng/client-events.it.d.ts +1 -0
  216. package/dist/test/ng/client-events.it.js +75 -0
  217. package/dist/test/ng/client-events.it.js.map +1 -0
  218. package/dist/test/ng/connect.it.d.ts +1 -0
  219. package/dist/test/ng/connect.it.js +128 -0
  220. package/dist/test/ng/connect.it.js.map +1 -0
  221. package/dist/test/ng/corvid-environment.d.ts +22 -0
  222. package/dist/test/ng/corvid-environment.js +44 -0
  223. package/dist/test/ng/corvid-environment.js.map +1 -0
  224. package/dist/test/ng/environment.d.ts +49 -0
  225. package/dist/test/ng/environment.js +250 -0
  226. package/dist/test/ng/environment.js.map +1 -0
  227. package/dist/test/ng/setup.d.ts +54 -0
  228. package/dist/test/ng/setup.js +256 -0
  229. package/dist/test/ng/setup.js.map +1 -0
  230. package/dist/test/ng/subscribe.it.d.ts +1 -0
  231. package/dist/test/ng/subscribe.it.js +354 -0
  232. package/dist/test/ng/subscribe.it.js.map +1 -0
  233. package/dist/test/ng/unsubscribe.it.d.ts +1 -0
  234. package/dist/test/ng/unsubscribe.it.js +73 -0
  235. package/dist/test/ng/unsubscribe.it.js.map +1 -0
  236. package/dist/test/ng/util-functions.d.ts +7 -0
  237. package/dist/test/ng/util-functions.js +73 -0
  238. package/dist/test/ng/util-functions.js.map +1 -0
  239. package/dist/test/proto/client/index.d.ts +2852 -0
  240. package/dist/test/proto/index.d.ts +1421 -0
  241. package/dist/test/proto/server/index.d.ts +2832 -0
  242. package/dist/test/restore-overrides.it.d.ts +1 -0
  243. package/dist/test/restore-overrides.it.js +38 -0
  244. package/dist/test/restore-overrides.it.js.map +1 -0
  245. package/dist/test/setup.d.ts +1 -0
  246. package/dist/test/setup.js +5 -0
  247. package/dist/test/setup.js.map +1 -0
  248. package/dist/test/strategy.spec.d.ts +1 -0
  249. package/dist/test/strategy.spec.js +209 -0
  250. package/dist/test/strategy.spec.js.map +1 -0
  251. package/dist/test/subscribe.it.d.ts +1 -0
  252. package/dist/test/subscribe.it.js +216 -0
  253. package/dist/test/subscribe.it.js.map +1 -0
  254. package/dist/test/subscribe.spec.d.ts +1 -0
  255. package/dist/test/subscribe.spec.js +86 -0
  256. package/dist/test/subscribe.spec.js.map +1 -0
  257. package/dist/test/transporters/http-polling.it.d.ts +1 -0
  258. package/dist/test/transporters/http-polling.it.js +118 -0
  259. package/dist/test/transporters/http-polling.it.js.map +1 -0
  260. package/dist/test/transporters/http-polling.spec.d.ts +1 -0
  261. package/dist/test/transporters/http-polling.spec.js +354 -0
  262. package/dist/test/transporters/http-polling.spec.js.map +1 -0
  263. package/dist/test/transporters/transporter.spec.d.ts +1 -0
  264. package/dist/test/transporters/transporter.spec.js +46 -0
  265. package/dist/test/transporters/transporter.spec.js.map +1 -0
  266. package/dist/test/transporters/websocket.spec.d.ts +1 -0
  267. package/dist/test/transporters/websocket.spec.js +26 -0
  268. package/dist/test/transporters/websocket.spec.js.map +1 -0
  269. package/dist/test/transports-manager.spec.d.ts +1 -0
  270. package/dist/test/transports-manager.spec.js +346 -0
  271. package/dist/test/transports-manager.spec.js.map +1 -0
  272. package/dist/test/utils/request.spec.d.ts +1 -0
  273. package/dist/test/utils/request.spec.js +274 -0
  274. package/dist/test/utils/request.spec.js.map +1 -0
  275. package/dist/test/virtual-socket.it.d.ts +1 -0
  276. package/dist/test/virtual-socket.it.js +153 -0
  277. package/dist/test/virtual-socket.it.js.map +1 -0
  278. package/package.json +131 -0
  279. package/react-native.d.ts +1 -0
  280. package/react-native.js +1 -0
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
58
+ var __importDefault = (this && this.__importDefault) || function (mod) {
59
+ return (mod && mod.__esModule) ? mod : { "default": mod };
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.createAuthorizationHeader = exports.Setup = exports.setup = exports.iterateTransports = exports.SetupTransport = void 0;
63
+ /* eslint-disable no-shadow */
64
+ var uuid_1 = __importDefault(require("uuid"));
65
+ var index_1 = require("../../src/index");
66
+ var environment_1 = require("./environment");
67
+ var channel_support_1 = require("./channel-support");
68
+ var constants_1 = require("../../src/constants");
69
+ var SetupTransport;
70
+ (function (SetupTransport) {
71
+ SetupTransport["WebSocket"] = "WebSocket";
72
+ SetupTransport["HTTP"] = "HTTP";
73
+ })(SetupTransport || (exports.SetupTransport = SetupTransport = {}));
74
+ function iterateTransports(fn) {
75
+ return Object.values(SetupTransport).forEach(function (t) {
76
+ describe(t, function () {
77
+ fn(SetupTransport[t]);
78
+ });
79
+ });
80
+ }
81
+ exports.iterateTransports = iterateTransports;
82
+ function setup(transport) {
83
+ var s = new Setup();
84
+ // eslint-disable-next-line
85
+ useTransport(transport);
86
+ afterEach(function () { return s.close(); });
87
+ return s;
88
+ }
89
+ exports.setup = setup;
90
+ function useTransport(transport) {
91
+ beforeEach(function () {
92
+ process.env.DUPLEXER_FORCED_TRANSPORT =
93
+ transport === SetupTransport.WebSocket
94
+ ? 'websocket'
95
+ : transport === SetupTransport.HTTP
96
+ ? 'http'
97
+ : '';
98
+ });
99
+ afterEach(function () {
100
+ delete process.env.DUPLEXER_FORCED_TRANSPORT;
101
+ });
102
+ }
103
+ var Setup = /** @class */ (function () {
104
+ function Setup() {
105
+ this.clients = [];
106
+ }
107
+ Setup.prototype.create = function (opts) {
108
+ if (opts === void 0) { opts = {}; }
109
+ var metaSiteId = typeof opts.metaSiteId === 'string' ? opts.metaSiteId : (0, uuid_1.default)();
110
+ var userId = typeof opts.userId === 'string' ? opts.userId : (0, uuid_1.default)();
111
+ var siteRevision = opts.siteRevision || '1';
112
+ var instanceUpdater = opts.instanceUpdater || new InstanceUpdaterImpl(metaSiteId, userId);
113
+ var duplexer = new index_1.Duplexer(opts.environment || global.env.socketsServerUrl, {
114
+ instanceUpdater: instanceUpdater,
115
+ siteRevision: siteRevision,
116
+ });
117
+ this.clients.push(duplexer);
118
+ return { duplexer: duplexer, metaSiteId: metaSiteId };
119
+ };
120
+ Setup.prototype.connect = function (_a) {
121
+ var _b = _a === void 0 ? {} : _a, _c = _b.metaSiteId, metaSiteId = _c === void 0 ? (0, uuid_1.default)() : _c, appDefId = _b.appDefId, siteRevision = _b.siteRevision, environment = _b.environment, instanceUpdater = _b.instanceUpdater, userId = _b.userId;
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ var createOpts;
124
+ return __generator(this, function (_d) {
125
+ createOpts = {
126
+ metaSiteId: metaSiteId,
127
+ instanceUpdater: instanceUpdater,
128
+ siteRevision: siteRevision,
129
+ environment: environment,
130
+ userId: userId,
131
+ };
132
+ return [2 /*return*/, this.makeConnect(__assign(__assign({}, this.create(createOpts)), { appDefId: appDefId }))];
133
+ });
134
+ });
135
+ };
136
+ Setup.prototype.connectMultiApps = function () {
137
+ var _this = this;
138
+ var _a = this.create(), duplexer = _a.duplexer, metaSiteId = _a.metaSiteId;
139
+ return [1, 1].map(function () {
140
+ return _this.makeConnect({ duplexer: duplexer, metaSiteId: metaSiteId, appDefId: (0, uuid_1.default)() });
141
+ });
142
+ };
143
+ Setup.prototype.subscribeToUserChannel = function (opts) {
144
+ if (opts === void 0) { opts = {}; }
145
+ return __awaiter(this, void 0, void 0, function () {
146
+ return __generator(this, function (_a) {
147
+ return [2 /*return*/, this.subscribe(__assign(__assign({}, opts), { userChannel: true }))];
148
+ });
149
+ });
150
+ };
151
+ Setup.prototype.subscribe = function (_a) {
152
+ var _b = _a === void 0 ? {} : _a, _c = _b.appDefId, appDefId = _c === void 0 ? (0, uuid_1.default)() : _c, resourceId = _b.resourceId, siteRevision = _b.siteRevision, _d = _b.metaSiteId, metaSiteId = _d === void 0 ? (0, uuid_1.default)() : _d, userChannel = _b.userChannel, _e = _b.userId, userId = _e === void 0 ? (0, uuid_1.default)() : _e;
153
+ return __awaiter(this, void 0, void 0, function () {
154
+ var _f, _g;
155
+ return __generator(this, function (_h) {
156
+ switch (_h.label) {
157
+ case 0:
158
+ _f = this.makeSubscribe;
159
+ _g = [{}];
160
+ return [4 /*yield*/, this.connect({
161
+ appDefId: appDefId,
162
+ siteRevision: siteRevision,
163
+ metaSiteId: metaSiteId,
164
+ userId: userId,
165
+ })];
166
+ case 1: return [2 /*return*/, _f.apply(this, [__assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_h.sent())])), { resourceId: resourceId, userChannel: userChannel, userId: userId }])])];
167
+ }
168
+ });
169
+ });
170
+ };
171
+ Setup.prototype.subscribeMultiClients = function (_a) {
172
+ var _b = _a === void 0 ? {} : _a, resourceId = _b.resourceId;
173
+ return __awaiter(this, void 0, void 0, function () {
174
+ var metaSiteId, appDefId, channelName;
175
+ var _this = this;
176
+ return __generator(this, function (_c) {
177
+ metaSiteId = (0, uuid_1.default)();
178
+ appDefId = (0, uuid_1.default)();
179
+ channelName = (0, uuid_1.default)();
180
+ return [2 /*return*/, Promise.all(__spreadArray([], new Array(2), true).map(function () { return __awaiter(_this, void 0, void 0, function () {
181
+ var connection;
182
+ return __generator(this, function (_a) {
183
+ switch (_a.label) {
184
+ case 0: return [4 /*yield*/, this.connect({
185
+ metaSiteId: metaSiteId,
186
+ appDefId: appDefId,
187
+ })];
188
+ case 1:
189
+ connection = _a.sent();
190
+ return [2 /*return*/, this.makeSubscribe(__assign(__assign({}, connection), { resourceId: resourceId, channelName: channelName }))];
191
+ }
192
+ });
193
+ }); }))];
194
+ });
195
+ });
196
+ };
197
+ Setup.prototype.subscribeMultiApps = function () {
198
+ var _this = this;
199
+ var connections = this.connectMultiApps();
200
+ return Promise.all(connections.map(function (conn) { return _this.makeSubscribe(conn); }));
201
+ };
202
+ Setup.prototype.close = function () {
203
+ return __awaiter(this, void 0, void 0, function () {
204
+ return __generator(this, function (_a) {
205
+ this.clients.map(function (c) { return environment_1.environment.closeClient(c); });
206
+ this.clients = [];
207
+ return [2 /*return*/];
208
+ });
209
+ });
210
+ };
211
+ Setup.prototype.makeConnect = function (_a) {
212
+ var duplexer = _a.duplexer, _b = _a.appDefId, appDefId = _b === void 0 ? (0, uuid_1.default)() : _b, metaSiteId = _a.metaSiteId;
213
+ var connection = duplexer.connect({ appDefId: appDefId });
214
+ return { connection: connection, appDefId: appDefId, metaSiteId: metaSiteId, duplexer: duplexer };
215
+ };
216
+ Setup.prototype.makeSubscribe = function (_a) {
217
+ var connection = _a.connection, appDefId = _a.appDefId, metaSiteId = _a.metaSiteId, resourceId = _a.resourceId, _b = _a.channelName, channelName = _b === void 0 ? (0, uuid_1.default)() : _b, userChannel = _a.userChannel, userId = _a.userId;
218
+ var channel = userChannel
219
+ ? connection.subscribeToUserChannel()
220
+ : connection.subscribe(channelName, { resourceId: resourceId });
221
+ channelName = userChannel ? constants_1.userChannel : channelName;
222
+ var channelSupport = new channel_support_1.ChannelSupport(connection, channelName, appDefId, metaSiteId, channel, resourceId, userId);
223
+ return channelSupport.awaitSubscribe();
224
+ };
225
+ return Setup;
226
+ }());
227
+ exports.Setup = Setup;
228
+ var InstanceUpdaterImpl = /** @class */ (function () {
229
+ function InstanceUpdaterImpl(metaSiteId, userId) {
230
+ this.metaSiteId = metaSiteId;
231
+ this.userId = userId;
232
+ }
233
+ InstanceUpdaterImpl.prototype.getInstance = function () {
234
+ return __awaiter(this, void 0, void 0, function () {
235
+ return __generator(this, function (_a) {
236
+ return [2 /*return*/, ''];
237
+ });
238
+ });
239
+ };
240
+ InstanceUpdaterImpl.prototype.getHeaders = function () {
241
+ return createAuthorizationHeader(this.metaSiteId, this.userId);
242
+ };
243
+ return InstanceUpdaterImpl;
244
+ }());
245
+ function createAuthorizationHeader(metaSiteId, userId) {
246
+ if (userId === void 0) { userId = (0, uuid_1.default)(); }
247
+ return environment_1.environment.apiGw
248
+ .callContextBuilder()
249
+ .withIdentificationData({
250
+ context: { metasiteId: metaSiteId },
251
+ identities: [{ person: { id: userId } }],
252
+ })
253
+ .headers();
254
+ }
255
+ exports.createAuthorizationHeader = createAuthorizationHeader;
256
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../test/ng/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ /* eslint-disable no-shadow */
43
+ var uuid_1 = __importDefault(require("uuid"));
44
+ var chai_1 = require("chai");
45
+ var environment_1 = require("./environment");
46
+ var setup_1 = require("./setup");
47
+ var in_memory_environemnt_1 = __importDefault(require("../helpers/in-memory-environemnt"));
48
+ var util_functions_1 = require("./util-functions");
49
+ var corvid_environment_1 = require("./corvid-environment");
50
+ (0, setup_1.iterateTransports)(function (transport) {
51
+ describe('subscribe', function () {
52
+ var setup = environment_1.environment.setup(transport);
53
+ beforeEach(function () {
54
+ environment_1.environment.cleanup();
55
+ environment_1.environment.initJsdomWithoutUrl();
56
+ });
57
+ it('emits @duplexer:subscription_succeeded event', function () { return __awaiter(void 0, void 0, void 0, function () {
58
+ var connection, channel;
59
+ return __generator(this, function (_a) {
60
+ switch (_a.label) {
61
+ case 0: return [4 /*yield*/, setup.connect()];
62
+ case 1:
63
+ connection = (_a.sent()).connection;
64
+ channel = connection.subscribe((0, uuid_1.default)());
65
+ return [4 /*yield*/, new Promise(function (resolve) {
66
+ channel.on('@duplexer:subscription_succeeded', resolve);
67
+ })];
68
+ case 2:
69
+ _a.sent();
70
+ return [2 /*return*/];
71
+ }
72
+ });
73
+ }); });
74
+ it('emits @duplexer:subscription_succeeded multiple times for same subscribe consecutively', function () { return __awaiter(void 0, void 0, void 0, function () {
75
+ var connection, channelName, channel, sameChannel;
76
+ return __generator(this, function (_a) {
77
+ switch (_a.label) {
78
+ case 0: return [4 /*yield*/, setup.connect()];
79
+ case 1:
80
+ connection = (_a.sent()).connection;
81
+ channelName = (0, uuid_1.default)();
82
+ channel = connection.subscribe(channelName);
83
+ return [4 /*yield*/, new Promise(function (resolve) {
84
+ channel.once('@duplexer:subscription_succeeded', resolve);
85
+ })];
86
+ case 2:
87
+ _a.sent();
88
+ sameChannel = connection.subscribe(channelName);
89
+ return [4 /*yield*/, new Promise(function (resolve) {
90
+ sameChannel.once('@duplexer:subscription_succeeded', resolve);
91
+ })];
92
+ case 3:
93
+ _a.sent();
94
+ return [2 /*return*/];
95
+ }
96
+ });
97
+ }); });
98
+ it('emits @duplexer:subscription_failed event', function () { return __awaiter(void 0, void 0, void 0, function () {
99
+ var connection, channel;
100
+ return __generator(this, function (_a) {
101
+ switch (_a.label) {
102
+ case 0:
103
+ corvid_environment_1.corvidEnvironment.reset();
104
+ return [4 /*yield*/, setup.connect({
105
+ appDefId: corvid_environment_1.CORVID_APP_DEF_ID,
106
+ metaSiteId: (0, uuid_1.default)(),
107
+ })];
108
+ case 1:
109
+ connection = (_a.sent()).connection;
110
+ channel = connection.subscribe((0, uuid_1.default)());
111
+ return [4 /*yield*/, new Promise(function (resolve) {
112
+ channel.on('@duplexer:subscription_failed', resolve);
113
+ })];
114
+ case 2:
115
+ _a.sent();
116
+ return [2 /*return*/];
117
+ }
118
+ });
119
+ }); });
120
+ it('respects given resource id', function () { return __awaiter(void 0, void 0, void 0, function () {
121
+ var channel, _a, awaitEvent, sentMsg, msg;
122
+ return __generator(this, function (_b) {
123
+ switch (_b.label) {
124
+ case 0: return [4 /*yield*/, setup.subscribe({ resourceId: (0, uuid_1.default)() })];
125
+ case 1:
126
+ channel = _b.sent();
127
+ return [4 /*yield*/, channel.publish()];
128
+ case 2:
129
+ _a = _b.sent(), awaitEvent = _a.awaitEvent, sentMsg = _a.sentMsg;
130
+ return [4 /*yield*/, awaitEvent()];
131
+ case 3:
132
+ msg = (_b.sent()).msg;
133
+ (0, chai_1.expect)(msg).to.deep.equal(sentMsg.payload);
134
+ return [2 /*return*/];
135
+ }
136
+ });
137
+ }); });
138
+ it('receives messages', function () { return __awaiter(void 0, void 0, void 0, function () {
139
+ var channel, _a, awaitEvent, sentMsg, msg, _b, awaitEvent2, sentMsg2, msg2;
140
+ return __generator(this, function (_c) {
141
+ switch (_c.label) {
142
+ case 0: return [4 /*yield*/, setup.subscribe()];
143
+ case 1:
144
+ channel = _c.sent();
145
+ return [4 /*yield*/, channel.publish()];
146
+ case 2:
147
+ _a = _c.sent(), awaitEvent = _a.awaitEvent, sentMsg = _a.sentMsg;
148
+ return [4 /*yield*/, awaitEvent()];
149
+ case 3:
150
+ msg = (_c.sent()).msg;
151
+ (0, chai_1.expect)(msg).to.deep.equal(sentMsg.payload);
152
+ return [4 /*yield*/, channel.publish()];
153
+ case 4:
154
+ _b = _c.sent(), awaitEvent2 = _b.awaitEvent, sentMsg2 = _b.sentMsg;
155
+ return [4 /*yield*/, awaitEvent2()];
156
+ case 5:
157
+ msg2 = (_c.sent()).msg;
158
+ (0, chai_1.expect)(msg2).to.deep.equal(sentMsg2.payload);
159
+ return [2 /*return*/];
160
+ }
161
+ });
162
+ }); });
163
+ it('receives publisher', function () { return __awaiter(void 0, void 0, void 0, function () {
164
+ var channel, publisher, awaitEvent, metadata;
165
+ return __generator(this, function (_a) {
166
+ switch (_a.label) {
167
+ case 0: return [4 /*yield*/, setup.subscribe()];
168
+ case 1:
169
+ channel = _a.sent();
170
+ publisher = { uid: (0, uuid_1.default)() };
171
+ return [4 /*yield*/, channel.publish({ publisher: publisher })];
172
+ case 2:
173
+ awaitEvent = (_a.sent()).awaitEvent;
174
+ return [4 /*yield*/, awaitEvent()];
175
+ case 3:
176
+ metadata = (_a.sent()).metadata;
177
+ (0, chai_1.expect)(metadata.publisher).to.deep.equal(publisher);
178
+ return [2 /*return*/];
179
+ }
180
+ });
181
+ }); });
182
+ it('isolates between different app def ids', function () { return __awaiter(void 0, void 0, void 0, function () {
183
+ var channels;
184
+ return __generator(this, function (_a) {
185
+ switch (_a.label) {
186
+ case 0: return [4 /*yield*/, setup.subscribeMultiApps()];
187
+ case 1:
188
+ channels = _a.sent();
189
+ return [4 /*yield*/, Promise.all(channels.map(function (channel) { return __awaiter(void 0, void 0, void 0, function () {
190
+ var awaitEvent;
191
+ return __generator(this, function (_a) {
192
+ switch (_a.label) {
193
+ case 0: return [4 /*yield*/, channel.publish()];
194
+ case 1:
195
+ awaitEvent = (_a.sent()).awaitEvent;
196
+ return [4 /*yield*/, awaitEvent()];
197
+ case 2:
198
+ _a.sent();
199
+ return [2 /*return*/];
200
+ }
201
+ });
202
+ }); }))];
203
+ case 2:
204
+ _a.sent();
205
+ return [2 /*return*/];
206
+ }
207
+ });
208
+ }); });
209
+ it('ignores user handler errors', function () { return __awaiter(void 0, void 0, void 0, function () {
210
+ var event, channel, publishing, onError, result;
211
+ return __generator(this, function (_a) {
212
+ switch (_a.label) {
213
+ case 0:
214
+ event = 'foo';
215
+ return [4 /*yield*/, setup.subscribe()];
216
+ case 1:
217
+ channel = _a.sent();
218
+ return [4 /*yield*/, channel.publish({ event: event }, { awaitPublish: false })];
219
+ case 2:
220
+ publishing = (_a.sent()).publishing;
221
+ onError = (0, util_functions_1.rejectOnUnhandledError)();
222
+ channel.duChannel.on(event, function () {
223
+ // this throw shouldn't affect duplexer
224
+ throw new Error('foo');
225
+ });
226
+ result = Promise.race([onError, (0, util_functions_1.delay)(1000)]);
227
+ return [4 /*yield*/, publishing];
228
+ case 3:
229
+ _a.sent();
230
+ return [4 /*yield*/, result];
231
+ case 4:
232
+ _a.sent();
233
+ return [2 /*return*/];
234
+ }
235
+ });
236
+ }); });
237
+ it('subscribes to user channel', function () { return __awaiter(void 0, void 0, void 0, function () {
238
+ var channel, _a, awaitEvent, sentMsg, msg;
239
+ return __generator(this, function (_b) {
240
+ switch (_b.label) {
241
+ case 0: return [4 /*yield*/, setup.subscribeToUserChannel()];
242
+ case 1:
243
+ channel = _b.sent();
244
+ return [4 /*yield*/, channel.publish()];
245
+ case 2:
246
+ _a = _b.sent(), awaitEvent = _a.awaitEvent, sentMsg = _a.sentMsg;
247
+ return [4 /*yield*/, awaitEvent()];
248
+ case 3:
249
+ msg = (_b.sent()).msg;
250
+ (0, chai_1.expect)(msg).to.deep.equal(sentMsg.payload);
251
+ return [2 /*return*/];
252
+ }
253
+ });
254
+ }); });
255
+ it('unsubscribes from user channel', function () { return __awaiter(void 0, void 0, void 0, function () {
256
+ var channel;
257
+ return __generator(this, function (_a) {
258
+ switch (_a.label) {
259
+ case 0: return [4 /*yield*/, setup.subscribeToUserChannel()];
260
+ case 1:
261
+ channel = _a.sent();
262
+ return [4 /*yield*/, channel.unsubscribeFromUserChannel()];
263
+ case 2:
264
+ _a.sent();
265
+ return [2 /*return*/];
266
+ }
267
+ });
268
+ }); });
269
+ it('connects right after instance gets valid by triggerInstanceChanged', function () { return __awaiter(void 0, void 0, void 0, function () {
270
+ var instanceUpdater, _a, connection, duplexer, channel, err;
271
+ return __generator(this, function (_b) {
272
+ switch (_b.label) {
273
+ case 0:
274
+ instanceUpdater = new InstanceUpdaterImpl();
275
+ return [4 /*yield*/, setup.connect({ instanceUpdater: instanceUpdater })];
276
+ case 1:
277
+ _a = _b.sent(), connection = _a.connection, duplexer = _a.duplexer;
278
+ channel = connection.subscribe('foo');
279
+ return [4 /*yield*/, awaitSubscribeFailed(channel)];
280
+ case 2:
281
+ err = _b.sent();
282
+ (0, chai_1.expect)(err.message).to.equal('meta site does not exist');
283
+ instanceUpdater.enableAuthHeaders();
284
+ duplexer.triggerInstanceChanged();
285
+ return [4 /*yield*/, awaitSubscribe(channel)];
286
+ case 3:
287
+ _b.sent();
288
+ return [2 /*return*/];
289
+ }
290
+ });
291
+ }); });
292
+ });
293
+ });
294
+ describe('subscribe IT - in memory transport', function () {
295
+ var setup = environment_1.environment.setup();
296
+ it('sends info along subscribe packet', function () { return __awaiter(void 0, void 0, void 0, function () {
297
+ var _a, environment, primaryTransport, connection, info, channel;
298
+ return __generator(this, function (_b) {
299
+ switch (_b.label) {
300
+ case 0:
301
+ _a = (0, in_memory_environemnt_1.default)(), environment = _a.environment, primaryTransport = _a.primaryTransport;
302
+ return [4 /*yield*/, setup.connect({ environment: environment })];
303
+ case 1:
304
+ connection = (_b.sent()).connection;
305
+ info = { some: 'info' };
306
+ channel = connection.subscribe((0, uuid_1.default)(), { info: info });
307
+ return [4 /*yield*/, new Promise(function (resolve) {
308
+ channel.on('@duplexer:subscription_succeeded', resolve);
309
+ })];
310
+ case 2:
311
+ _b.sent();
312
+ (0, chai_1.expect)(primaryTransport.subscribePackets[0].info).to.eql(info);
313
+ return [2 /*return*/];
314
+ }
315
+ });
316
+ }); });
317
+ });
318
+ function awaitSubscribe(channel) {
319
+ return new Promise(function (resolve) {
320
+ channel.once('@duplexer:subscription_succeeded', function () {
321
+ resolve();
322
+ });
323
+ });
324
+ }
325
+ function awaitSubscribeFailed(channel) {
326
+ return new Promise(function (resolve) {
327
+ channel.once('@duplexer:subscription_failed', function (res) {
328
+ resolve(res);
329
+ });
330
+ });
331
+ }
332
+ var InstanceUpdaterImpl = /** @class */ (function () {
333
+ function InstanceUpdaterImpl() {
334
+ this.authHeaders = false;
335
+ }
336
+ InstanceUpdaterImpl.prototype.getInstance = function () {
337
+ return __awaiter(this, void 0, void 0, function () {
338
+ return __generator(this, function (_a) {
339
+ return [2 /*return*/, ''];
340
+ });
341
+ });
342
+ };
343
+ InstanceUpdaterImpl.prototype.getHeaders = function () {
344
+ if (this.authHeaders) {
345
+ return (0, setup_1.createAuthorizationHeader)((0, uuid_1.default)());
346
+ }
347
+ return {};
348
+ };
349
+ InstanceUpdaterImpl.prototype.enableAuthHeaders = function () {
350
+ this.authHeaders = true;
351
+ };
352
+ return InstanceUpdaterImpl;
353
+ }());
354
+ //# sourceMappingURL=subscribe.it.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe.it.js","sourceRoot":"","sources":["../../../test/ng/subscribe.it.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};