@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.
- package/README.md +239 -0
- package/dist/src/_external-types.d.ts +1 -0
- package/dist/src/authenticator.d.ts +22 -0
- package/dist/src/authenticator.js +42 -0
- package/dist/src/authenticator.js.map +1 -0
- package/dist/src/channels/channel.d.ts +29 -0
- package/dist/src/channels/channel.js +159 -0
- package/dist/src/channels/channel.js.map +1 -0
- package/dist/src/channels/channels.d.ts +13 -0
- package/dist/src/channels/channels.js +41 -0
- package/dist/src/channels/channels.js.map +1 -0
- package/dist/src/channels/subscription-error.d.ts +6 -0
- package/dist/src/channels/subscription-error.js +3 -0
- package/dist/src/channels/subscription-error.js.map +1 -0
- package/dist/src/connection-manager.d.ts +62 -0
- package/dist/src/connection-manager.js +228 -0
- package/dist/src/connection-manager.js.map +1 -0
- package/dist/src/constants.d.ts +5 -0
- package/dist/src/constants.js +9 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/domain.d.ts +3 -0
- package/dist/src/domain.js +3 -0
- package/dist/src/domain.js.map +1 -0
- package/dist/src/duplexer.d.ts +41 -0
- package/dist/src/duplexer.js +125 -0
- package/dist/src/duplexer.js.map +1 -0
- package/dist/src/environments/core/environment.d.ts +13 -0
- package/dist/src/environments/core/environment.js +25 -0
- package/dist/src/environments/core/environment.js.map +1 -0
- package/dist/src/environments/core/network.d.ts +6 -0
- package/dist/src/environments/core/network.js +32 -0
- package/dist/src/environments/core/network.js.map +1 -0
- package/dist/src/environments/react-native/environment.d.ts +7 -0
- package/dist/src/environments/react-native/environment.js +27 -0
- package/dist/src/environments/react-native/environment.js.map +1 -0
- package/dist/src/environments/react-native/network.d.ts +6 -0
- package/dist/src/environments/react-native/network.js +54 -0
- package/dist/src/environments/react-native/network.js.map +1 -0
- package/dist/src/environments/react-native/transports.d.ts +8 -0
- package/dist/src/environments/react-native/transports.js +31 -0
- package/dist/src/environments/react-native/transports.js.map +1 -0
- package/dist/src/environments/web/environment.d.ts +8 -0
- package/dist/src/environments/web/environment.js +19 -0
- package/dist/src/environments/web/environment.js.map +1 -0
- package/dist/src/environments/web/network.d.ts +4 -0
- package/dist/src/environments/web/network.js +38 -0
- package/dist/src/environments/web/network.js.map +1 -0
- package/dist/src/environments/web/transports.d.ts +8 -0
- package/dist/src/environments/web/transports.js +51 -0
- package/dist/src/environments/web/transports.js.map +1 -0
- package/dist/src/errors/is-transport-error.d.ts +1 -0
- package/dist/src/errors/is-transport-error.js +7 -0
- package/dist/src/errors/is-transport-error.js.map +1 -0
- package/dist/src/index.d.ts +11 -0
- package/dist/src/index.js +25 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/instance-updater.d.ts +5 -0
- package/dist/src/instance-updater.js +3 -0
- package/dist/src/instance-updater.js.map +1 -0
- package/dist/src/keep-alive.d.ts +18 -0
- package/dist/src/keep-alive.js +66 -0
- package/dist/src/keep-alive.js.map +1 -0
- package/dist/src/ready-state.d.ts +6 -0
- package/dist/src/ready-state.js +10 -0
- package/dist/src/ready-state.js.map +1 -0
- package/dist/src/strategies/strategy-builder.d.ts +11 -0
- package/dist/src/strategies/strategy-builder.js +34 -0
- package/dist/src/strategies/strategy-builder.js.map +1 -0
- package/dist/src/strategies/strategy-presets.d.ts +4 -0
- package/dist/src/strategies/strategy-presets.js +20 -0
- package/dist/src/strategies/strategy-presets.js.map +1 -0
- package/dist/src/strategies/strategy.d.ts +25 -0
- package/dist/src/strategies/strategy.js +153 -0
- package/dist/src/strategies/strategy.js.map +1 -0
- package/dist/src/timeline/noop-timeline.d.ts +5 -0
- package/dist/src/timeline/noop-timeline.js +15 -0
- package/dist/src/timeline/noop-timeline.js.map +1 -0
- package/dist/src/timeline/timeline.d.ts +7 -0
- package/dist/src/timeline/timeline.js +3 -0
- package/dist/src/timeline/timeline.js.map +1 -0
- package/dist/src/transport/http-polling.d.ts +27 -0
- package/dist/src/transport/http-polling.js +245 -0
- package/dist/src/transport/http-polling.js.map +1 -0
- package/dist/src/transport/http.d.ts +14 -0
- package/dist/src/transport/http.js +106 -0
- package/dist/src/transport/http.js.map +1 -0
- package/dist/src/transport/params.d.ts +3 -0
- package/dist/src/transport/params.js +70 -0
- package/dist/src/transport/params.js.map +1 -0
- package/dist/src/transport/transport-error.d.ts +8 -0
- package/dist/src/transport/transport-error.js +3 -0
- package/dist/src/transport/transport-error.js.map +1 -0
- package/dist/src/transport/transport-params.d.ts +3 -0
- package/dist/src/transport/transport-params.js +3 -0
- package/dist/src/transport/transport-params.js.map +1 -0
- package/dist/src/transport/transport.d.ts +50 -0
- package/dist/src/transport/transport.js +120 -0
- package/dist/src/transport/transport.js.map +1 -0
- package/dist/src/transport/transports-manager.d.ts +42 -0
- package/dist/src/transport/transports-manager.js +248 -0
- package/dist/src/transport/transports-manager.js.map +1 -0
- package/dist/src/transport/unrecoverable.d.ts +1 -0
- package/dist/src/transport/unrecoverable.js +8 -0
- package/dist/src/transport/unrecoverable.js.map +1 -0
- package/dist/src/transport/websocket.d.ts +18 -0
- package/dist/src/transport/websocket.js +155 -0
- package/dist/src/transport/websocket.js.map +1 -0
- package/dist/src/utils/assert.d.ts +1 -0
- package/dist/src/utils/assert.js +34 -0
- package/dist/src/utils/assert.js.map +1 -0
- package/dist/src/utils/cancel-token.d.ts +10 -0
- package/dist/src/utils/cancel-token.js +28 -0
- package/dist/src/utils/cancel-token.js.map +1 -0
- package/dist/src/utils/deferred.d.ts +9 -0
- package/dist/src/utils/deferred.js +27 -0
- package/dist/src/utils/deferred.js.map +1 -0
- package/dist/src/utils/event-emitter.d.ts +15 -0
- package/dist/src/utils/event-emitter.js +106 -0
- package/dist/src/utils/event-emitter.js.map +1 -0
- package/dist/src/utils/on.d.ts +4 -0
- package/dist/src/utils/on.js +10 -0
- package/dist/src/utils/on.js.map +1 -0
- package/dist/src/utils/request.d.ts +20 -0
- package/dist/src/utils/request.js +164 -0
- package/dist/src/utils/request.js.map +1 -0
- package/dist/src/utils/timer.d.ts +8 -0
- package/dist/src/utils/timer.js +17 -0
- package/dist/src/utils/timer.js.map +1 -0
- package/dist/src/utils/utils.d.ts +1 -0
- package/dist/src/utils/utils.js +8 -0
- package/dist/src/utils/utils.js.map +1 -0
- package/dist/src/virtual-socket.d.ts +42 -0
- package/dist/src/virtual-socket.js +199 -0
- package/dist/src/virtual-socket.js.map +1 -0
- package/dist/statics/duplexer.bundle.js +982 -0
- package/dist/statics/duplexer.bundle.js.map +1 -0
- package/dist/statics/duplexer.bundle.min.js +2 -0
- package/dist/statics/duplexer.bundle.min.js.map +1 -0
- package/dist/statics/manifest.json +3 -0
- package/dist/statics/manifest.min.json +3 -0
- package/dist/test/_external-types.d.ts +2 -0
- package/dist/test/_global-types.d.ts +10 -0
- package/dist/test/_setup-global-hooks.spec.d.ts +1 -0
- package/dist/test/_setup-global-hooks.spec.js +13 -0
- package/dist/test/_setup-global-hooks.spec.js.map +1 -0
- package/dist/test/client-events.it.d.ts +1 -0
- package/dist/test/client-events.it.js +33 -0
- package/dist/test/client-events.it.js.map +1 -0
- package/dist/test/connect.spec.d.ts +1 -0
- package/dist/test/connect.spec.js +71 -0
- package/dist/test/connect.spec.js.map +1 -0
- package/dist/test/connection-manager.spec.d.ts +1 -0
- package/dist/test/connection-manager.spec.js +523 -0
- package/dist/test/connection-manager.spec.js.map +1 -0
- package/dist/test/duplexer.it.d.ts +1 -0
- package/dist/test/duplexer.it.js +243 -0
- package/dist/test/duplexer.it.js.map +1 -0
- package/dist/test/duplexer.spec.d.ts +1 -0
- package/dist/test/duplexer.spec.js +337 -0
- package/dist/test/duplexer.spec.js.map +1 -0
- package/dist/test/environments/web.it.d.ts +1 -0
- package/dist/test/environments/web.it.js +30 -0
- package/dist/test/environments/web.it.js.map +1 -0
- package/dist/test/environments/web.spec.d.ts +1 -0
- package/dist/test/environments/web.spec.js +92 -0
- package/dist/test/environments/web.spec.js.map +1 -0
- package/dist/test/event-emitter.spec.d.ts +1 -0
- package/dist/test/event-emitter.spec.js +182 -0
- package/dist/test/event-emitter.spec.js.map +1 -0
- package/dist/test/helpers/as-promised.d.ts +7 -0
- package/dist/test/helpers/as-promised.js +38 -0
- package/dist/test/helpers/as-promised.js.map +1 -0
- package/dist/test/helpers/assertions.d.ts +8 -0
- package/dist/test/helpers/assertions.js +43 -0
- package/dist/test/helpers/assertions.js.map +1 -0
- package/dist/test/helpers/auth-server.d.ts +10 -0
- package/dist/test/helpers/auth-server.js +61 -0
- package/dist/test/helpers/auth-server.js.map +1 -0
- package/dist/test/helpers/http-polling-environment.d.ts +2 -0
- package/dist/test/helpers/http-polling-environment.js +20 -0
- package/dist/test/helpers/http-polling-environment.js.map +1 -0
- package/dist/test/helpers/in-memory-environemnt.d.ts +15 -0
- package/dist/test/helpers/in-memory-environemnt.js +39 -0
- package/dist/test/helpers/in-memory-environemnt.js.map +1 -0
- package/dist/test/helpers/in-memory-network.d.ts +5 -0
- package/dist/test/helpers/in-memory-network.js +37 -0
- package/dist/test/helpers/in-memory-network.js.map +1 -0
- package/dist/test/helpers/in-memory-timeline.d.ts +8 -0
- package/dist/test/helpers/in-memory-timeline.js +24 -0
- package/dist/test/helpers/in-memory-timeline.js.map +1 -0
- package/dist/test/helpers/in-memory-transport.d.ts +68 -0
- package/dist/test/helpers/in-memory-transport.js +271 -0
- package/dist/test/helpers/in-memory-transport.js.map +1 -0
- package/dist/test/helpers/server-interceptor.d.ts +10 -0
- package/dist/test/helpers/server-interceptor.js +138 -0
- package/dist/test/helpers/server-interceptor.js.map +1 -0
- package/dist/test/helpers/setup-global-mock-navigator.d.ts +4 -0
- package/dist/test/helpers/setup-global-mock-navigator.js +22 -0
- package/dist/test/helpers/setup-global-mock-navigator.js.map +1 -0
- package/dist/test/helpers/window.d.ts +1 -0
- package/dist/test/helpers/window.js +17 -0
- package/dist/test/helpers/window.js.map +1 -0
- package/dist/test/keep-alive.it.spec.d.ts +1 -0
- package/dist/test/keep-alive.it.spec.js +42 -0
- package/dist/test/keep-alive.it.spec.js.map +1 -0
- package/dist/test/keep-alive.spec.d.ts +1 -0
- package/dist/test/keep-alive.spec.js +140 -0
- package/dist/test/keep-alive.spec.js.map +1 -0
- package/dist/test/ng/channel-support.d.ts +39 -0
- package/dist/test/ng/channel-support.js +178 -0
- package/dist/test/ng/channel-support.js.map +1 -0
- package/dist/test/ng/channels.spec.d.ts +1 -0
- package/dist/test/ng/channels.spec.js +79 -0
- package/dist/test/ng/channels.spec.js.map +1 -0
- package/dist/test/ng/client-events.it.d.ts +1 -0
- package/dist/test/ng/client-events.it.js +75 -0
- package/dist/test/ng/client-events.it.js.map +1 -0
- package/dist/test/ng/connect.it.d.ts +1 -0
- package/dist/test/ng/connect.it.js +128 -0
- package/dist/test/ng/connect.it.js.map +1 -0
- package/dist/test/ng/corvid-environment.d.ts +22 -0
- package/dist/test/ng/corvid-environment.js +44 -0
- package/dist/test/ng/corvid-environment.js.map +1 -0
- package/dist/test/ng/environment.d.ts +49 -0
- package/dist/test/ng/environment.js +250 -0
- package/dist/test/ng/environment.js.map +1 -0
- package/dist/test/ng/setup.d.ts +54 -0
- package/dist/test/ng/setup.js +256 -0
- package/dist/test/ng/setup.js.map +1 -0
- package/dist/test/ng/subscribe.it.d.ts +1 -0
- package/dist/test/ng/subscribe.it.js +354 -0
- package/dist/test/ng/subscribe.it.js.map +1 -0
- package/dist/test/ng/unsubscribe.it.d.ts +1 -0
- package/dist/test/ng/unsubscribe.it.js +73 -0
- package/dist/test/ng/unsubscribe.it.js.map +1 -0
- package/dist/test/ng/util-functions.d.ts +7 -0
- package/dist/test/ng/util-functions.js +73 -0
- package/dist/test/ng/util-functions.js.map +1 -0
- package/dist/test/proto/client/index.d.ts +2852 -0
- package/dist/test/proto/index.d.ts +1421 -0
- package/dist/test/proto/server/index.d.ts +2832 -0
- package/dist/test/restore-overrides.it.d.ts +1 -0
- package/dist/test/restore-overrides.it.js +38 -0
- package/dist/test/restore-overrides.it.js.map +1 -0
- package/dist/test/setup.d.ts +1 -0
- package/dist/test/setup.js +5 -0
- package/dist/test/setup.js.map +1 -0
- package/dist/test/strategy.spec.d.ts +1 -0
- package/dist/test/strategy.spec.js +209 -0
- package/dist/test/strategy.spec.js.map +1 -0
- package/dist/test/subscribe.it.d.ts +1 -0
- package/dist/test/subscribe.it.js +216 -0
- package/dist/test/subscribe.it.js.map +1 -0
- package/dist/test/subscribe.spec.d.ts +1 -0
- package/dist/test/subscribe.spec.js +86 -0
- package/dist/test/subscribe.spec.js.map +1 -0
- package/dist/test/transporters/http-polling.it.d.ts +1 -0
- package/dist/test/transporters/http-polling.it.js +118 -0
- package/dist/test/transporters/http-polling.it.js.map +1 -0
- package/dist/test/transporters/http-polling.spec.d.ts +1 -0
- package/dist/test/transporters/http-polling.spec.js +354 -0
- package/dist/test/transporters/http-polling.spec.js.map +1 -0
- package/dist/test/transporters/transporter.spec.d.ts +1 -0
- package/dist/test/transporters/transporter.spec.js +46 -0
- package/dist/test/transporters/transporter.spec.js.map +1 -0
- package/dist/test/transporters/websocket.spec.d.ts +1 -0
- package/dist/test/transporters/websocket.spec.js +26 -0
- package/dist/test/transporters/websocket.spec.js.map +1 -0
- package/dist/test/transports-manager.spec.d.ts +1 -0
- package/dist/test/transports-manager.spec.js +346 -0
- package/dist/test/transports-manager.spec.js.map +1 -0
- package/dist/test/utils/request.spec.d.ts +1 -0
- package/dist/test/utils/request.spec.js +274 -0
- package/dist/test/utils/request.spec.js.map +1 -0
- package/dist/test/virtual-socket.it.d.ts +1 -0
- package/dist/test/virtual-socket.it.js +153 -0
- package/dist/test/virtual-socket.it.js.map +1 -0
- package/package.json +131 -0
- package/react-native.d.ts +1 -0
- package/react-native.js +1 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import TransportsManager from '../../transport/transports-manager';
|
|
2
|
+
import { InstanceUpdater } from '../../instance-updater';
|
|
3
|
+
export default function transports(opts: TransportsOpts): TransportsManager;
|
|
4
|
+
export interface TransportsOpts {
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
instanceUpdater: InstanceUpdater;
|
|
7
|
+
siteRevision?: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var websocket_1 = __importDefault(require("../../transport/websocket"));
|
|
7
|
+
var http_polling_1 = __importDefault(require("../../transport/http-polling"));
|
|
8
|
+
var transports_manager_1 = __importDefault(require("../../transport/transports-manager"));
|
|
9
|
+
var strategy_presets_1 = require("../../strategies/strategy-presets");
|
|
10
|
+
function transports(opts) {
|
|
11
|
+
var ws = createWebSocket(opts);
|
|
12
|
+
var httpLongPolling = createHttpLongPolling(opts);
|
|
13
|
+
var strategies = [
|
|
14
|
+
(0, strategy_presets_1.primaryPreset)(ws),
|
|
15
|
+
(0, strategy_presets_1.secondaryPreset)(httpLongPolling),
|
|
16
|
+
];
|
|
17
|
+
return new transports_manager_1.default(strategies);
|
|
18
|
+
}
|
|
19
|
+
exports.default = transports;
|
|
20
|
+
function createWebSocket(opts) {
|
|
21
|
+
var url = "wss://".concat(opts.baseUrl);
|
|
22
|
+
return new websocket_1.default(url, opts.instanceUpdater, opts.siteRevision);
|
|
23
|
+
}
|
|
24
|
+
function createHttpLongPolling(opts) {
|
|
25
|
+
var url = httpUrl(opts.baseUrl);
|
|
26
|
+
return new http_polling_1.default(url, opts.instanceUpdater, opts.siteRevision);
|
|
27
|
+
}
|
|
28
|
+
function httpUrl(baseUrl) {
|
|
29
|
+
return "https://".concat(baseUrl);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=transports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transports.js","sourceRoot":"","sources":["../../../../src/environments/react-native/transports.ts"],"names":[],"mappings":";;;;;AAAA,wEAAkD;AAClD,8EAAuD;AACvD,0FAAmE;AAEnE,sEAG2C;AAE3C,SAAwB,UAAU,CAAC,IAAoB;IACrD,IAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,IAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACpD,IAAM,UAAU,GAAG;QACjB,IAAA,gCAAa,EAAC,EAAE,CAAC;QACjB,IAAA,kCAAe,EAAC,eAAe,CAAC;KACjC,CAAC;IAEF,OAAO,IAAI,4BAAiB,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AATD,6BASC;AAED,SAAS,eAAe,CAAC,IAAoB;IAC3C,IAAM,GAAG,GAAG,gBAAS,IAAI,CAAC,OAAO,CAAE,CAAC;IACpC,OAAO,IAAI,mBAAS,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAoB;IACjD,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,sBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,kBAAW,OAAO,CAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Environment from '../core/environment';
|
|
2
|
+
import { InstanceUpdater } from '../../instance-updater';
|
|
3
|
+
export default function aWebEnvironment(opts: WebEnvironmentOpts): Environment;
|
|
4
|
+
export interface WebEnvironmentOpts {
|
|
5
|
+
url: string;
|
|
6
|
+
instanceUpdater?: InstanceUpdater;
|
|
7
|
+
siteRevision?: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var environment_1 = __importDefault(require("../core/environment"));
|
|
7
|
+
var network_1 = __importDefault(require("./network"));
|
|
8
|
+
var transports_1 = __importDefault(require("./transports"));
|
|
9
|
+
function aWebEnvironment(opts) {
|
|
10
|
+
var network = new network_1.default();
|
|
11
|
+
var transportsManager = (0, transports_1.default)({
|
|
12
|
+
baseUrl: opts.url,
|
|
13
|
+
instanceUpdater: opts.instanceUpdater,
|
|
14
|
+
siteRevision: opts.siteRevision,
|
|
15
|
+
});
|
|
16
|
+
return new environment_1.default({ transportsManager: transportsManager, network: network });
|
|
17
|
+
}
|
|
18
|
+
exports.default = aWebEnvironment;
|
|
19
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../src/environments/web/environment.ts"],"names":[],"mappings":";;;;;AAAA,oEAA8C;AAC9C,sDAAmC;AACnC,4DAAsC;AAGtC,SAAwB,eAAe,CAAC,IAAwB;IAC9D,IAAM,OAAO,GAAG,IAAI,iBAAU,EAAE,CAAC;IACjC,IAAM,iBAAiB,GAAG,IAAA,oBAAU,EAAC;QACnC,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC,CAAC;IACH,OAAO,IAAI,qBAAW,CAAC,EAAE,iBAAiB,mBAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;AACzD,CAAC;AARD,kCAQC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
var network_1 = __importDefault(require("../core/network"));
|
|
22
|
+
var WebNetwork = /** @class */ (function (_super) {
|
|
23
|
+
__extends(WebNetwork, _super);
|
|
24
|
+
function WebNetwork() {
|
|
25
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
26
|
+
}
|
|
27
|
+
WebNetwork.prototype.listenConnectionStateChanges = function () {
|
|
28
|
+
var _this = this;
|
|
29
|
+
// bad. should create node environment.
|
|
30
|
+
if (typeof window === 'undefined') {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
window.addEventListener('online', function () { return _this.connectionIsOnline(); });
|
|
34
|
+
};
|
|
35
|
+
return WebNetwork;
|
|
36
|
+
}(network_1.default));
|
|
37
|
+
exports.default = WebNetwork;
|
|
38
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../../src/environments/web/network.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,4DAAsC;AAEtC;IAAwC,8BAAO;IAA/C;;IASA,CAAC;IARQ,iDAA4B,GAAnC;QAAA,iBAOC;QANC,uCAAuC;QACvC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAM,OAAA,KAAI,CAAC,kBAAkB,EAAE,EAAzB,CAAyB,CAAC,CAAC;IACrE,CAAC;IACH,iBAAC;AAAD,CAAC,AATD,CAAwC,iBAAO,GAS9C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import TransportsManager from '../../transport/transports-manager';
|
|
2
|
+
import { InstanceUpdater } from '../../instance-updater';
|
|
3
|
+
export default function transports(opts: TransportsOpts): TransportsManager;
|
|
4
|
+
export interface TransportsOpts {
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
instanceUpdater: InstanceUpdater;
|
|
7
|
+
siteRevision: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var websocket_1 = __importDefault(require("../../transport/websocket"));
|
|
7
|
+
var http_polling_1 = __importDefault(require("../../transport/http-polling"));
|
|
8
|
+
var transports_manager_1 = __importDefault(require("../../transport/transports-manager"));
|
|
9
|
+
var strategy_presets_1 = require("../../strategies/strategy-presets");
|
|
10
|
+
function transports(opts) {
|
|
11
|
+
var _a;
|
|
12
|
+
var strategies = [];
|
|
13
|
+
var ws = createWebSocket(opts);
|
|
14
|
+
var httpLongPolling = createHttpLongPolling(opts);
|
|
15
|
+
// tests purposes only
|
|
16
|
+
var forcedTransport = typeof process !== 'undefined' &&
|
|
17
|
+
typeof ((_a = process.env) === null || _a === void 0 ? void 0 : _a.DUPLEXER_FORCED_TRANSPORT) === 'string'
|
|
18
|
+
? process.env.DUPLEXER_FORCED_TRANSPORT
|
|
19
|
+
: undefined;
|
|
20
|
+
if (forcedTransport === 'websocket') {
|
|
21
|
+
strategies = [(0, strategy_presets_1.primaryPreset)(ws)];
|
|
22
|
+
}
|
|
23
|
+
else if (forcedTransport === 'http') {
|
|
24
|
+
strategies = [(0, strategy_presets_1.primaryPreset)(httpLongPolling)];
|
|
25
|
+
}
|
|
26
|
+
else if (websocket_1.default.isSupported()) {
|
|
27
|
+
strategies = [(0, strategy_presets_1.primaryPreset)(ws), (0, strategy_presets_1.secondaryPreset)(httpLongPolling)];
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
strategies = [(0, strategy_presets_1.primaryPreset)(httpLongPolling)];
|
|
31
|
+
}
|
|
32
|
+
return new transports_manager_1.default(strategies);
|
|
33
|
+
}
|
|
34
|
+
exports.default = transports;
|
|
35
|
+
function createWebSocket(opts) {
|
|
36
|
+
var protocol = isSSL() ? 'wss://' : 'ws://';
|
|
37
|
+
var url = "".concat(protocol).concat(opts.baseUrl);
|
|
38
|
+
return new websocket_1.default(url, opts.instanceUpdater, opts.siteRevision);
|
|
39
|
+
}
|
|
40
|
+
function createHttpLongPolling(opts) {
|
|
41
|
+
var url = httpUrl(opts.baseUrl);
|
|
42
|
+
return new http_polling_1.default(url, opts.instanceUpdater, opts.siteRevision);
|
|
43
|
+
}
|
|
44
|
+
function httpUrl(baseUrl) {
|
|
45
|
+
var protocol = isSSL() ? 'https://' : 'http://';
|
|
46
|
+
return "".concat(protocol).concat(baseUrl);
|
|
47
|
+
}
|
|
48
|
+
function isSSL() {
|
|
49
|
+
return typeof self !== 'undefined' && self.location.protocol !== 'http:';
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=transports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transports.js","sourceRoot":"","sources":["../../../../src/environments/web/transports.ts"],"names":[],"mappings":";;;;;AAAA,wEAAkD;AAClD,8EAAuD;AAEvD,0FAAmE;AAEnE,sEAG2C;AAE3C,SAAwB,UAAU,CAAC,IAAoB;;IACrD,IAAI,UAAU,GAAe,EAAE,CAAC;IAChC,IAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,IAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEpD,sBAAsB;IACpB,IAAM,eAAe,GACjB,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,0CAAE,yBAAyB,CAAA,KAAK,QAAQ;QACtD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACvC,CAAC,CAAC,SAAS,CAAC;IAEtB,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;QACpC,UAAU,GAAG,CAAC,IAAA,gCAAa,EAAC,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;QACtC,UAAU,GAAG,CAAC,IAAA,gCAAa,EAAC,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,mBAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QACnC,UAAU,GAAG,CAAC,IAAA,gCAAa,EAAC,EAAE,CAAC,EAAE,IAAA,kCAAe,EAAC,eAAe,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,CAAC,IAAA,gCAAa,EAAC,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,4BAAiB,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAvBD,6BAuBC;AAED,SAAS,eAAe,CAAC,IAAoB;IAC3C,IAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,IAAM,GAAG,GAAG,UAAG,QAAQ,SAAG,IAAI,CAAC,OAAO,CAAE,CAAC;IACzC,OAAO,IAAI,mBAAS,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAoB;IACjD,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,sBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,IAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,OAAO,UAAG,QAAQ,SAAG,OAAO,CAAE,CAAC;AACjC,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function isTransportError(error: any): boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function isTransportError(error) {
|
|
4
|
+
return error !== undefined && error.transport !== undefined;
|
|
5
|
+
}
|
|
6
|
+
exports.default = isTransportError;
|
|
7
|
+
//# sourceMappingURL=is-transport-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-transport-error.js","sourceRoot":"","sources":["../../../src/errors/is-transport-error.ts"],"names":[],"mappings":";;AAAA,SAAwB,gBAAgB,CAAC,KAAU;IACjD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;AAC9D,CAAC;AAFD,mCAEC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { RestoreStrategyBuilderFactory } from '@wix/wix-duplexer-protocol';
|
|
2
|
+
export { Duplexer } from './duplexer';
|
|
3
|
+
export { InstanceUpdater } from './instance-updater';
|
|
4
|
+
export { TransportError } from './transport/transport-error';
|
|
5
|
+
export { default as Channel } from './channels/channel';
|
|
6
|
+
export { default as VirtualSocket } from './virtual-socket';
|
|
7
|
+
export { default as Environment } from './environments/core/environment';
|
|
8
|
+
export { default as Network } from './environments/core/network';
|
|
9
|
+
export { default as WebSocketTransport } from './transport/websocket';
|
|
10
|
+
export { default as TransportsManager } from './transport/transports-manager';
|
|
11
|
+
export { primaryPreset } from './strategies/strategy-presets';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.primaryPreset = exports.TransportsManager = exports.WebSocketTransport = exports.Network = exports.Environment = exports.VirtualSocket = exports.Channel = exports.Duplexer = exports.RestoreStrategyBuilderFactory = void 0;
|
|
7
|
+
var wix_duplexer_protocol_1 = require("@wix/wix-duplexer-protocol");
|
|
8
|
+
Object.defineProperty(exports, "RestoreStrategyBuilderFactory", { enumerable: true, get: function () { return wix_duplexer_protocol_1.RestoreStrategyBuilderFactory; } });
|
|
9
|
+
var duplexer_1 = require("./duplexer");
|
|
10
|
+
Object.defineProperty(exports, "Duplexer", { enumerable: true, get: function () { return duplexer_1.Duplexer; } });
|
|
11
|
+
var channel_1 = require("./channels/channel");
|
|
12
|
+
Object.defineProperty(exports, "Channel", { enumerable: true, get: function () { return __importDefault(channel_1).default; } });
|
|
13
|
+
var virtual_socket_1 = require("./virtual-socket");
|
|
14
|
+
Object.defineProperty(exports, "VirtualSocket", { enumerable: true, get: function () { return __importDefault(virtual_socket_1).default; } });
|
|
15
|
+
var environment_1 = require("./environments/core/environment");
|
|
16
|
+
Object.defineProperty(exports, "Environment", { enumerable: true, get: function () { return __importDefault(environment_1).default; } });
|
|
17
|
+
var network_1 = require("./environments/core/network");
|
|
18
|
+
Object.defineProperty(exports, "Network", { enumerable: true, get: function () { return __importDefault(network_1).default; } });
|
|
19
|
+
var websocket_1 = require("./transport/websocket");
|
|
20
|
+
Object.defineProperty(exports, "WebSocketTransport", { enumerable: true, get: function () { return __importDefault(websocket_1).default; } });
|
|
21
|
+
var transports_manager_1 = require("./transport/transports-manager");
|
|
22
|
+
Object.defineProperty(exports, "TransportsManager", { enumerable: true, get: function () { return __importDefault(transports_manager_1).default; } });
|
|
23
|
+
var strategy_presets_1 = require("./strategies/strategy-presets");
|
|
24
|
+
Object.defineProperty(exports, "primaryPreset", { enumerable: true, get: function () { return strategy_presets_1.primaryPreset; } });
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA2E;AAAlE,sIAAA,6BAA6B,OAAA;AACtC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAGjB,8CAAwD;AAA/C,mHAAA,OAAO,OAAW;AAC3B,mDAA4D;AAAnD,gIAAA,OAAO,OAAiB;AACjC,+DAAyE;AAAhE,2HAAA,OAAO,OAAe;AAC/B,uDAAiE;AAAxD,mHAAA,OAAO,OAAW;AAC3B,mDAAsE;AAA7D,gIAAA,OAAO,OAAsB;AACtC,qEAA8E;AAArE,wIAAA,OAAO,OAAqB;AACrC,kEAA8D;AAArD,iHAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-updater.js","sourceRoot":"","sources":["../../src/instance-updater.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Transport from './transport/transport';
|
|
2
|
+
import { Emitter } from './utils/event-emitter';
|
|
3
|
+
export interface KeepAliveOpts {
|
|
4
|
+
pingTimeout: number;
|
|
5
|
+
pingInterval: number;
|
|
6
|
+
}
|
|
7
|
+
export default class KeepAlive extends Emitter {
|
|
8
|
+
private readonly transport;
|
|
9
|
+
private readonly opts;
|
|
10
|
+
private timeoutTimer;
|
|
11
|
+
private intervalTimer;
|
|
12
|
+
private started;
|
|
13
|
+
constructor(transport: Transport, opts: KeepAliveOpts);
|
|
14
|
+
schedule(): void;
|
|
15
|
+
dispose(): void;
|
|
16
|
+
private sendHeartbeat;
|
|
17
|
+
private ping;
|
|
18
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
var event_emitter_1 = require("./utils/event-emitter");
|
|
22
|
+
var timer_1 = __importDefault(require("./utils/timer"));
|
|
23
|
+
var on_1 = __importDefault(require("./utils/on"));
|
|
24
|
+
var KeepAlive = /** @class */ (function (_super) {
|
|
25
|
+
__extends(KeepAlive, _super);
|
|
26
|
+
function KeepAlive(transport, opts) {
|
|
27
|
+
var _this = _super.call(this) || this;
|
|
28
|
+
_this.transport = transport;
|
|
29
|
+
_this.opts = opts;
|
|
30
|
+
_this.started = false;
|
|
31
|
+
(0, on_1.default)(_this.transport, 'packet', function () { return _this.started && _this.schedule(); });
|
|
32
|
+
return _this;
|
|
33
|
+
}
|
|
34
|
+
KeepAlive.prototype.schedule = function () {
|
|
35
|
+
var _this = this;
|
|
36
|
+
this.dispose();
|
|
37
|
+
this.started = true;
|
|
38
|
+
this.intervalTimer = new timer_1.default(this.opts.pingInterval, function () {
|
|
39
|
+
return _this.sendHeartbeat();
|
|
40
|
+
});
|
|
41
|
+
this.intervalTimer.schedule();
|
|
42
|
+
};
|
|
43
|
+
KeepAlive.prototype.dispose = function () {
|
|
44
|
+
this.started = false;
|
|
45
|
+
this.intervalTimer && this.intervalTimer.cancel();
|
|
46
|
+
this.timeoutTimer && this.timeoutTimer.cancel();
|
|
47
|
+
};
|
|
48
|
+
KeepAlive.prototype.sendHeartbeat = function () {
|
|
49
|
+
var _this = this;
|
|
50
|
+
this.ping();
|
|
51
|
+
this.timeoutTimer = new timer_1.default(this.opts.pingTimeout, function () {
|
|
52
|
+
_this.transport.close({
|
|
53
|
+
status: 0,
|
|
54
|
+
message: 'keep alive has not recieved pong in defined timeframe',
|
|
55
|
+
recoverable: true,
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
this.timeoutTimer.schedule();
|
|
59
|
+
};
|
|
60
|
+
KeepAlive.prototype.ping = function () {
|
|
61
|
+
this.transport.send({ type: 'ping' }, { affectState: false });
|
|
62
|
+
};
|
|
63
|
+
return KeepAlive;
|
|
64
|
+
}(event_emitter_1.Emitter));
|
|
65
|
+
exports.default = KeepAlive;
|
|
66
|
+
//# sourceMappingURL=keep-alive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keep-alive.js","sourceRoot":"","sources":["../../src/keep-alive.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,uDAAgD;AAChD,wDAAkC;AAClC,kDAA4B;AAO5B;IAAuC,6BAAO;IAK5C,mBACmB,SAAoB,EACpB,IAAmB;QAEpC,YAAA,MAAK,WAAE,SAAC;QAHS,eAAS,GAAT,SAAS,CAAW;QACpB,UAAI,GAAJ,IAAI,CAAe;QAJ9B,aAAO,GAAG,KAAK,CAAC;QAQtB,IAAA,YAAE,EAAC,KAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAM,OAAA,KAAI,CAAC,OAAO,IAAI,KAAI,CAAC,QAAQ,EAAE,EAA/B,CAA+B,CAAC,CAAC;;IACtE,CAAC;IAEM,4BAAQ,GAAf;QAAA,iBAOC;QANC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACrD,OAAA,KAAI,CAAC,aAAa,EAAE;QAApB,CAAoB,CACrB,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAEM,2BAAO,GAAd;QACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IAClD,CAAC;IAEO,iCAAa,GAArB;QAAA,iBAYC;QAXC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,YAAY,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnD,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,uDAAuD;gBAChE,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAEO,wBAAI,GAAZ;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IACH,gBAAC;AAAD,CAAC,AA9CD,CAAuC,uBAAO,GA8C7C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ReadyState;
|
|
4
|
+
(function (ReadyState) {
|
|
5
|
+
ReadyState[ReadyState["CLOSED"] = 0] = "CLOSED";
|
|
6
|
+
ReadyState[ReadyState["OPENING"] = 1] = "OPENING";
|
|
7
|
+
ReadyState[ReadyState["OPEN"] = 2] = "OPEN";
|
|
8
|
+
})(ReadyState || (ReadyState = {}));
|
|
9
|
+
exports.default = ReadyState;
|
|
10
|
+
//# sourceMappingURL=ready-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ready-state.js","sourceRoot":"","sources":["../../src/ready-state.ts"],"names":[],"mappings":";;AAAA,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,+CAAM,CAAA;IACN,iDAAO,CAAA;IACP,2CAAI,CAAA;AACN,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Transport from '../transport/transport';
|
|
2
|
+
import Strategy from './strategy';
|
|
3
|
+
export declare class StrategyBuilder {
|
|
4
|
+
private readonly transport;
|
|
5
|
+
private readonly opts;
|
|
6
|
+
constructor(transport: Transport);
|
|
7
|
+
withDelay(delay: number): this;
|
|
8
|
+
withBackoff(backoff: number): this;
|
|
9
|
+
build(): Strategy;
|
|
10
|
+
}
|
|
11
|
+
export default function aStrategyBuilder(transport: Transport): StrategyBuilder;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StrategyBuilder = void 0;
|
|
7
|
+
var strategy_1 = __importDefault(require("./strategy"));
|
|
8
|
+
var StrategyBuilder = /** @class */ (function () {
|
|
9
|
+
function StrategyBuilder(transport) {
|
|
10
|
+
this.transport = transport;
|
|
11
|
+
this.opts = {
|
|
12
|
+
delay: 0,
|
|
13
|
+
backoff: 0,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
StrategyBuilder.prototype.withDelay = function (delay) {
|
|
17
|
+
this.opts.delay = delay;
|
|
18
|
+
return this;
|
|
19
|
+
};
|
|
20
|
+
StrategyBuilder.prototype.withBackoff = function (backoff) {
|
|
21
|
+
this.opts.backoff = backoff;
|
|
22
|
+
return this;
|
|
23
|
+
};
|
|
24
|
+
StrategyBuilder.prototype.build = function () {
|
|
25
|
+
return new strategy_1.default(this.transport, this.opts);
|
|
26
|
+
};
|
|
27
|
+
return StrategyBuilder;
|
|
28
|
+
}());
|
|
29
|
+
exports.StrategyBuilder = StrategyBuilder;
|
|
30
|
+
function aStrategyBuilder(transport) {
|
|
31
|
+
return new StrategyBuilder(transport);
|
|
32
|
+
}
|
|
33
|
+
exports.default = aStrategyBuilder;
|
|
34
|
+
//# sourceMappingURL=strategy-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-builder.js","sourceRoot":"","sources":["../../../src/strategies/strategy-builder.ts"],"names":[],"mappings":";;;;;;AACA,wDAAoD;AAEpD;IAME,yBAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QALhC,SAAI,GAAiB;YACpC,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX,CAAC;IAEkD,CAAC;IAErD,mCAAS,GAAT,UAAU,KAAa;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qCAAW,GAAX,UAAY,OAAe;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAAK,GAAL;QACE,OAAO,IAAI,kBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IACH,sBAAC;AAAD,CAAC,AArBD,IAqBC;AArBY,0CAAe;AAuB5B,SAAwB,gBAAgB,CAAC,SAAoB;IAC3D,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAFD,mCAEC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.secondaryPreset = exports.primaryPreset = void 0;
|
|
7
|
+
var strategy_builder_1 = __importDefault(require("./strategy-builder"));
|
|
8
|
+
var BACKOFF_INITIAL = 150;
|
|
9
|
+
function primaryPreset(transport) {
|
|
10
|
+
return (0, strategy_builder_1.default)(transport).withBackoff(BACKOFF_INITIAL).build();
|
|
11
|
+
}
|
|
12
|
+
exports.primaryPreset = primaryPreset;
|
|
13
|
+
function secondaryPreset(transport) {
|
|
14
|
+
return (0, strategy_builder_1.default)(transport)
|
|
15
|
+
.withDelay(4000)
|
|
16
|
+
.withBackoff(BACKOFF_INITIAL)
|
|
17
|
+
.build();
|
|
18
|
+
}
|
|
19
|
+
exports.secondaryPreset = secondaryPreset;
|
|
20
|
+
//# sourceMappingURL=strategy-presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-presets.js","sourceRoot":"","sources":["../../../src/strategies/strategy-presets.ts"],"names":[],"mappings":";;;;;;AACA,wEAAkD;AAGlD,IAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,SAAgB,aAAa,CAAC,SAAoB;IAChD,OAAO,IAAA,0BAAgB,EAAC,SAAS,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;AAC1E,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,SAAoB;IAClD,OAAO,IAAA,0BAAgB,EAAC,SAAS,CAAC;SAC/B,SAAS,CAAC,IAAI,CAAC;SACf,WAAW,CAAC,eAAe,CAAC;SAC5B,KAAK,EAAE,CAAC;AACb,CAAC;AALD,0CAKC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Emitter } from '../utils/event-emitter';
|
|
2
|
+
import { Protocol } from '@wix/wix-duplexer-typescript-definitions';
|
|
3
|
+
import Transport from '../transport/transport';
|
|
4
|
+
export default class Strategy extends Emitter {
|
|
5
|
+
private readonly _transport;
|
|
6
|
+
private readonly opts;
|
|
7
|
+
private connectDelayTimeoutId;
|
|
8
|
+
private disposables;
|
|
9
|
+
private readonly backoff;
|
|
10
|
+
private cancelToken;
|
|
11
|
+
constructor(_transport: Transport, opts: StrategyOpts);
|
|
12
|
+
get transport(): Transport;
|
|
13
|
+
connect(): Promise<StrategyConnect>;
|
|
14
|
+
abort(): void;
|
|
15
|
+
private connectWithBackoff;
|
|
16
|
+
private removeListeners;
|
|
17
|
+
}
|
|
18
|
+
export interface StrategyOpts {
|
|
19
|
+
delay: number;
|
|
20
|
+
backoff: number;
|
|
21
|
+
}
|
|
22
|
+
export interface StrategyConnect {
|
|
23
|
+
transport: Transport;
|
|
24
|
+
connectionEstablishedPacket: Protocol.ConnectionEstablishedPacket;
|
|
25
|
+
}
|