@webex/webex-core 3.4.0 → 3.5.0-next.10
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/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/interceptors/webex-tracking-id.js +3 -3
- package/dist/interceptors/webex-tracking-id.js.map +1 -1
- package/dist/lib/batcher.js +1 -1
- package/dist/lib/credentials/credentials.js +1 -1
- package/dist/lib/credentials/token.js +1 -1
- package/dist/lib/services/services.js +1 -1
- package/dist/plugins/logger.js +1 -1
- package/dist/webex-core.js +2 -3
- package/dist/webex-core.js.map +1 -1
- package/package.json +13 -13
- package/src/index.js +1 -0
- package/src/interceptors/webex-tracking-id.js +1 -1
- package/src/webex-core.js +0 -1
package/dist/index.js
CHANGED
|
@@ -278,6 +278,12 @@ _Object$defineProperty(exports, "waitForValue", {
|
|
|
278
278
|
return _storage.waitForValue;
|
|
279
279
|
}
|
|
280
280
|
});
|
|
281
|
+
_Object$defineProperty(exports, "webexTrackingIdSequenceNumbers", {
|
|
282
|
+
enumerable: true,
|
|
283
|
+
get: function get() {
|
|
284
|
+
return _webexTrackingId.sequenceNumbers;
|
|
285
|
+
}
|
|
286
|
+
});
|
|
281
287
|
require("./plugins/logger");
|
|
282
288
|
var _credentials = require("./lib/credentials");
|
|
283
289
|
var _services = require("./lib/services");
|
|
@@ -295,7 +301,7 @@ var _requestEvent = _interopRequireDefault(require("./interceptors/request-event
|
|
|
295
301
|
var _requestLogger = _interopRequireDefault(require("./interceptors/request-logger"));
|
|
296
302
|
var _requestTiming = _interopRequireDefault(require("./interceptors/request-timing"));
|
|
297
303
|
var _userAgent = _interopRequireDefault(require("./interceptors/user-agent"));
|
|
298
|
-
var _webexTrackingId =
|
|
304
|
+
var _webexTrackingId = _interopRequireWildcard(require("./interceptors/webex-tracking-id"));
|
|
299
305
|
var _webexUserAgent = _interopRequireDefault(require("./interceptors/webex-user-agent"));
|
|
300
306
|
var _rateLimit = _interopRequireDefault(require("./interceptors/rate-limit"));
|
|
301
307
|
var _embargo = _interopRequireDefault(require("./interceptors/embargo"));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_credentials","_services","_storage","_webexCore","_interopRequireWildcard","_webexHttpError","_interopRequireDefault","_statelessWebexPlugin","_webexPlugin","_auth","_networkTiming","_payloadTransformer","_redirect","_responseLogger","_requestEvent","_requestLogger","_requestTiming","_userAgent","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_batcher","_page","_config","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n *\n * Services is currently a part of webex-core due to how the contents of\n * the original internal-plugin-services needed to be accessed when webex-core\n * is initialized. As a plugin outside of webex-core, it would initialize after\n * credentials, causing all requests prior to its initialization to fail\n * federation requirements, and instead send requests to the environmentally-\n * assigned urls.\n */\n\nimport './plugins/logger';\nimport './lib/credentials';\nimport './lib/services';\n\nexport {Credentials, filterScope, grantErrors, sortScope, Token} from './lib/credentials';\n\nexport {\n constants as serviceConstants,\n ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n ServiceInterceptor,\n ServerErrorInterceptor,\n Services,\n ServiceHost,\n ServiceUrl,\n HostMapInterceptor,\n} from './lib/services';\n\nexport {\n makeWebexStore,\n makeWebexPluginStore,\n MemoryStoreAdapter,\n NotFoundError,\n persist,\n StorageError,\n waitForValue,\n} from './lib/storage';\n\nexport {default, registerPlugin, registerInternalPlugin} from './webex-core';\n\nexport {default as WebexHttpError} from './lib/webex-http-error';\nexport {default as StatelessWebexPlugin} from './lib/stateless-webex-plugin';\nexport {default as WebexPlugin} from './lib/webex-plugin';\nexport {default as AuthInterceptor} from './interceptors/auth';\nexport {default as NetworkTimingInterceptor} from './interceptors/network-timing';\nexport {default as PayloadTransformerInterceptor} from './interceptors/payload-transformer';\nexport {default as RedirectInterceptor} from './interceptors/redirect';\nexport {default as ResponseLoggerInterceptor} from './interceptors/response-logger';\nexport {default as RequestEventInterceptor} from './interceptors/request-event';\nexport {default as RequestLoggerInterceptor} from './interceptors/request-logger';\nexport {default as RequestTimingInterceptor} from './interceptors/request-timing';\nexport {default as UserAgentInterceptor} from './interceptors/user-agent';\nexport {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["require","_credentials","_services","_storage","_webexCore","_interopRequireWildcard","_webexHttpError","_interopRequireDefault","_statelessWebexPlugin","_webexPlugin","_auth","_networkTiming","_payloadTransformer","_redirect","_responseLogger","_requestEvent","_requestLogger","_requestTiming","_userAgent","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_batcher","_page","_config","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n *\n * Services is currently a part of webex-core due to how the contents of\n * the original internal-plugin-services needed to be accessed when webex-core\n * is initialized. As a plugin outside of webex-core, it would initialize after\n * credentials, causing all requests prior to its initialization to fail\n * federation requirements, and instead send requests to the environmentally-\n * assigned urls.\n */\n\nimport './plugins/logger';\nimport './lib/credentials';\nimport './lib/services';\n\nexport {Credentials, filterScope, grantErrors, sortScope, Token} from './lib/credentials';\n\nexport {\n constants as serviceConstants,\n ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n ServiceInterceptor,\n ServerErrorInterceptor,\n Services,\n ServiceHost,\n ServiceUrl,\n HostMapInterceptor,\n} from './lib/services';\n\nexport {\n makeWebexStore,\n makeWebexPluginStore,\n MemoryStoreAdapter,\n NotFoundError,\n persist,\n StorageError,\n waitForValue,\n} from './lib/storage';\n\nexport {default, registerPlugin, registerInternalPlugin} from './webex-core';\n\nexport {default as WebexHttpError} from './lib/webex-http-error';\nexport {default as StatelessWebexPlugin} from './lib/stateless-webex-plugin';\nexport {default as WebexPlugin} from './lib/webex-plugin';\nexport {default as AuthInterceptor} from './interceptors/auth';\nexport {default as NetworkTimingInterceptor} from './interceptors/network-timing';\nexport {default as PayloadTransformerInterceptor} from './interceptors/payload-transformer';\nexport {default as RedirectInterceptor} from './interceptors/redirect';\nexport {default as ResponseLoggerInterceptor} from './interceptors/response-logger';\nexport {default as RequestEventInterceptor} from './interceptors/request-event';\nexport {default as RequestLoggerInterceptor} from './interceptors/request-logger';\nexport {default as RequestTimingInterceptor} from './interceptors/request-timing';\nexport {default as UserAgentInterceptor} from './interceptors/user-agent';\nexport {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';\nexport {sequenceNumbers as webexTrackingIdSequenceNumbers} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":"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"}
|
|
@@ -6,20 +6,20 @@ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequ
|
|
|
6
6
|
_Object$defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.default = void 0;
|
|
9
|
+
exports.sequenceNumbers = exports.default = void 0;
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
12
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
13
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
14
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
15
|
-
var
|
|
15
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
16
16
|
var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
|
|
17
17
|
var _httpCore = require("@webex/http-core");
|
|
18
18
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
19
19
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*!
|
|
20
20
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
21
21
|
*/
|
|
22
|
-
var sequenceNumbers = new
|
|
22
|
+
var sequenceNumbers = exports.sequenceNumbers = new _map.default();
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* @class
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","sequenceNumbers","
|
|
1
|
+
{"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","sequenceNumbers","exports","_map","WebexTrackingIdInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","get","sq","set","value","onRequest","options","headers","trackingid","_deleteProperty","requiresTrackingId","concat","webex","sessionId","sequence","replayCount","tid","split","join","create","Interceptor"],"sources":["webex-tracking-id.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\nexport const sequenceNumbers = new Map();\n\n/**\n * @class\n */\nexport default class WebexTrackingIdInterceptor extends Interceptor {\n /**\n * Sequence number; increments on access\n * @type {Number}\n */\n get sequence() {\n let sq = sequenceNumbers.get(this) || 0;\n\n sq += 1;\n sequenceNumbers.set(this, sq);\n\n return sq;\n }\n\n /**\n * @returns {WebexTrackingIdInterceptor}\n */\n static create() {\n return new WebexTrackingIdInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n options.headers = options.headers || {};\n // If trackingid is already set, don't overwrite it\n if ('trackingid' in options.headers) {\n // If trackingid is set to null, false, or undefined, delete it to\n // prevent a CORS preflight.\n if (!options.headers.trackingid) {\n Reflect.deleteProperty(options.headers, 'trackingid');\n }\n\n return options;\n }\n\n if (this.requiresTrackingId(options)) {\n options.headers.trackingid = `${this.webex.sessionId}_${this.sequence}`;\n }\n\n if (options.headers.trackingid && options.replayCount) {\n const tid = options.headers.trackingid.split('+');\n\n tid[1] = options.replayCount;\n options.headers.trackingid = tid.join('+');\n }\n\n return options;\n }\n\n /**\n * Determines whether or not include a tracking id\n * @param {Object} options\n * @returns {boolean}\n */\n requiresTrackingId(options) {\n return !options.headers.trackingid;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AAA6C,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA,sBAJ7C;AACA;AACA;AAIO,IAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,IAAAE,IAAA,CAAAlB,OAAA,CAAQ,CAAC;;AAExC;AACA;AACA;AAFA,IAGqBmB,0BAA0B,GAAAF,OAAA,CAAAjB,OAAA,0BAAAoB,YAAA;EAAA,IAAAC,UAAA,CAAArB,OAAA,EAAAmB,0BAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAA7B,YAAA,CAAA0B,0BAAA;EAAA,SAAAA,2BAAA;IAAA,IAAAI,gBAAA,CAAAvB,OAAA,QAAAmB,0BAAA;IAAA,OAAAG,MAAA,CAAAhB,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAmB,aAAA,CAAAxB,OAAA,EAAAmB,0BAAA;IAAAM,GAAA;IAAAC,GAAA;IAC7C;AACF;AACA;AACA;IACE,SAAAA,IAAA,EAAe;MACb,IAAIC,EAAE,GAAGX,eAAe,CAACU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;MAEvCC,EAAE,IAAI,CAAC;MACPX,eAAe,CAACY,GAAG,CAAC,IAAI,EAAED,EAAE,CAAC;MAE7B,OAAOA,EAAE;IACX;;IAEA;AACF;AACA;EAFE;IAAAF,GAAA;IAAAI,KAAA;IAOA;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjBA,OAAO,CAACC,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;MACvC;MACA,IAAI,YAAY,IAAID,OAAO,CAACC,OAAO,EAAE;QACnC;QACA;QACA,IAAI,CAACD,OAAO,CAACC,OAAO,CAACC,UAAU,EAAE;UAC/B,IAAAC,eAAA,CAAAlC,OAAA,EAAuB+B,OAAO,CAACC,OAAO,EAAE,YAAY,CAAC;QACvD;QAEA,OAAOD,OAAO;MAChB;MAEA,IAAI,IAAI,CAACI,kBAAkB,CAACJ,OAAO,CAAC,EAAE;QACpCA,OAAO,CAACC,OAAO,CAACC,UAAU,MAAAG,MAAA,CAAM,IAAI,CAACC,KAAK,CAACC,SAAS,OAAAF,MAAA,CAAI,IAAI,CAACG,QAAQ,CAAE;MACzE;MAEA,IAAIR,OAAO,CAACC,OAAO,CAACC,UAAU,IAAIF,OAAO,CAACS,WAAW,EAAE;QACrD,IAAMC,GAAG,GAAGV,OAAO,CAACC,OAAO,CAACC,UAAU,CAACS,KAAK,CAAC,GAAG,CAAC;QAEjDD,GAAG,CAAC,CAAC,CAAC,GAAGV,OAAO,CAACS,WAAW;QAC5BT,OAAO,CAACC,OAAO,CAACC,UAAU,GAAGQ,GAAG,CAACE,IAAI,CAAC,GAAG,CAAC;MAC5C;MAEA,OAAOZ,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAN,GAAA;IAAAI,KAAA,EAKA,SAAAM,mBAAmBJ,OAAO,EAAE;MAC1B,OAAO,CAACA,OAAO,CAACC,OAAO,CAACC,UAAU;IACpC;EAAC;IAAAR,GAAA;IAAAI,KAAA,EA3CD,SAAAe,OAAA,EAAgB;MACd,OAAO,IAAIzB,0BAA0B,CAAC;QAACkB,KAAK,EAAE;MAAI,CAAC,CAAC;IACtD;EAAC;EAAA,OAAAlB,0BAAA;AAAA,EAnBqD0B,qBAAW"}
|
package/dist/lib/batcher.js
CHANGED
|
@@ -286,7 +286,7 @@ var Batcher = _webexPlugin.default.extend({
|
|
|
286
286
|
fingerprintResponse: function fingerprintResponse(item) {
|
|
287
287
|
throw new Error('fingerprintResponse() must be implemented');
|
|
288
288
|
},
|
|
289
|
-
version: "3.
|
|
289
|
+
version: "3.5.0-next.10"
|
|
290
290
|
});
|
|
291
291
|
var _default2 = exports.default = Batcher;
|
|
292
292
|
//# sourceMappingURL=batcher.js.map
|
|
@@ -558,7 +558,7 @@ var Credentials = _webexPlugin.default.extend((_dec = (0, _common.oneFlight)({
|
|
|
558
558
|
this.refresh();
|
|
559
559
|
}
|
|
560
560
|
},
|
|
561
|
-
version: "3.
|
|
561
|
+
version: "3.5.0-next.10"
|
|
562
562
|
}, ((0, _applyDecoratedDescriptor2.default)(_obj, "getUserToken", [_dec, _dec2], (0, _getOwnPropertyDescriptor.default)(_obj, "getUserToken"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "initialize", [_dec3], (0, _getOwnPropertyDescriptor.default)(_obj, "initialize"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "invalidate", [_common.oneFlight, _dec4], (0, _getOwnPropertyDescriptor.default)(_obj, "invalidate"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "refresh", [_common.oneFlight, _dec5, _dec6], (0, _getOwnPropertyDescriptor.default)(_obj, "refresh"), _obj)), _obj)));
|
|
563
563
|
var _default = exports.default = Credentials;
|
|
564
564
|
//# sourceMappingURL=credentials.js.map
|
|
@@ -532,7 +532,7 @@ var Token = _webexPlugin.default.extend((_dec = (0, _common.oneFlight)({
|
|
|
532
532
|
return res.body;
|
|
533
533
|
});
|
|
534
534
|
},
|
|
535
|
-
version: "3.
|
|
535
|
+
version: "3.5.0-next.10"
|
|
536
536
|
}, ((0, _applyDecoratedDescriptor2.default)(_obj, "downscope", [_dec], (0, _getOwnPropertyDescriptor.default)(_obj, "downscope"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "refresh", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "refresh"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "revoke", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "revoke"), _obj)), _obj)));
|
|
537
537
|
var _default = exports.default = Token;
|
|
538
538
|
//# sourceMappingURL=token.js.map
|
package/dist/plugins/logger.js
CHANGED
|
@@ -57,7 +57,7 @@ var Logger = _webexPlugin.default.extend({
|
|
|
57
57
|
info: wrapConsoleMethod('info'),
|
|
58
58
|
debug: wrapConsoleMethod('debug'),
|
|
59
59
|
trace: wrapConsoleMethod('trace'),
|
|
60
|
-
version: "3.
|
|
60
|
+
version: "3.5.0-next.10"
|
|
61
61
|
});
|
|
62
62
|
(0, _webexCore.registerPlugin)('logger', Logger);
|
|
63
63
|
var _default = exports.default = Logger;
|
package/dist/webex-core.js
CHANGED
|
@@ -96,7 +96,7 @@ var MAX_FILE_SIZE_IN_MB = 2048;
|
|
|
96
96
|
* @class
|
|
97
97
|
*/
|
|
98
98
|
var WebexCore = _ampersandState.default.extend((_obj = {
|
|
99
|
-
version: "3.
|
|
99
|
+
version: "3.5.0-next.10",
|
|
100
100
|
children: {
|
|
101
101
|
internal: _webexInternalCore.default
|
|
102
102
|
},
|
|
@@ -181,7 +181,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
|
|
|
181
181
|
type: 'any'
|
|
182
182
|
},
|
|
183
183
|
sessionId: {
|
|
184
|
-
setOnce: true,
|
|
185
184
|
type: 'string'
|
|
186
185
|
}
|
|
187
186
|
},
|
|
@@ -638,7 +637,7 @@ var WebexCore = _ampersandState.default.extend((_obj = {
|
|
|
638
637
|
});
|
|
639
638
|
}
|
|
640
639
|
}, ((0, _applyDecoratedDescriptor2.default)(_obj, "_uploadPhaseUpload", [_common.retry], (0, _getOwnPropertyDescriptor.default)(_obj, "_uploadPhaseUpload"), _obj)), _obj));
|
|
641
|
-
WebexCore.version = "3.
|
|
640
|
+
WebexCore.version = "3.5.0-next.10";
|
|
642
641
|
(0, _webexInternalCorePluginMixin.default)(_webexInternalCore.default, _config.default, interceptors);
|
|
643
642
|
(0, _webexCorePluginMixin.default)(WebexCore, _config.default, interceptors);
|
|
644
643
|
var _default = exports.default = WebexCore;
|
package/dist/webex-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_events","require","_util","_interopRequireDefault","_common","_httpCore","_lodash","_ampersandState","_uuid","_auth","_networkTiming","_payloadTransformer","_redirect","_requestEvent","_requestLogger","_requestTiming","_responseLogger","_webexHttpError","_userAgent","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_hostmap","_config","_storage","_webexCorePluginMixin","_webexInternalCorePluginMixin","_webexInternalCore","_obj","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor2","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","interceptors","WebexTrackingIdInterceptor","create","RequestEventInterceptor","RateLimitInterceptor","RequestLoggerInterceptor","process","env","ENABLE_NETWORK_LOGGING","ENABLE_VERBOSE_NETWORK_LOGGING","undefined","ResponseLoggerInterceptor","RequestTimingInterceptor","ServiceInterceptor","UserAgentInterceptor","WebexUserAgentInterceptor","AuthInterceptor","KmsDryErrorInterceptor","PayloadTransformerInterceptor","ConversationInterceptor","RedirectInterceptor","HttpStatusInterceptor","error","WebexHttpError","NetworkTimingInterceptor","EmbargoInterceptor","DefaultOptionsInterceptor","HostMapInterceptor","preInterceptors","postInterceptors","MAX_FILE_SIZE_IN_MB","WebexCore","AmpState","extend","version","children","internal","WebexInternalCore","constructor","attrs","options","credentials","supertoken","access_token","path","val","get","unset","set","bearerValidator","trim","_apply","derived","boundedStorage","deps","fn","makeWebexStore","unboundedStorage","ready","_this","loaded","_keys","_children","reduce","name","session","config","type","request","setOnce","sessionId","refresh","_this$credentials","transform","direction","object","_this2","predicates","payloadTransformer","p","ctx","webex","_promise","all","map","test","then","shouldTransform","extract","target","data","d","Boolean","promise","_ref","alias","applyNamedTransform","resolve","_this3","_len","rest","Array","_key","isString","unshift","_len2","args","_key2","concat","transforms","tx","_ctx","last","getWindow","window","initialize","_this4","merge","trigger","onLoaded","stopListening","nextTick","listenToAndRun","onReady","prototype","key","listenTo","_len3","_key3","addInterceptor","ints","interceptor","isFunction","includes","requestDefaults","json","prepareFetchOptions","setTimingsAndFetch","_setTimingsAndFetch","uuid","v4","setConfig","newConfig","token","split","console","warn","replace","info","inspect","depth","util","omit","serialize","props","logout","_this5","_len4","_key4","refresh_token","_assign","onBeforeLogout","reverse","_ref2","plugin","catch","err","logger","clear","_this5$credentials","invalidate","_this5$authorization","authorization","measure","metrics","_this$metrics","sendUnstructured","upload","_this6","_asyncToGenerator2","_regenerator","mark","_callee","shunt","wrap","_callee$","_context","prev","next","file","abrupt","reject","Error","phases","finalize","defaultsDeep","method","body","uploadProtocol","withCredentials","headers","EventEmitter","_uploadPhaseInitialize","_uploadPhaseUpload","transferEvents","_len5","_key5","_uploadPhaseFinalize","res","proxyEvents","stop","_this7","debug","_len6","_key6","fileUploadSizeLimitInBytes","fileUploadSizeLimit","currentFileSizeInBytes","byteLength","_uploadAbortSession","_uploadApplySession","response","_this8","url","abortErrorDetails","fileUploadSizeLimitInMB","message","_stringify","opts","phaseOptions","phaseKey","startsWith","substr","_deleteProperty","_this9","NODE_ENV","on","event","total","_this10","_applyDecoratedDescriptor2","retry","_getOwnPropertyDescriptor","mixinWebexInternalCorePlugins","mixinWebexCorePlugins","_default","exports","registerPlugin","registerInternalPlugin"],"sources":["webex-core.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {EventEmitter} from 'events';\nimport util from 'util';\n\nimport {proxyEvents, retry, transferEvents} from '@webex/common';\nimport {\n HttpStatusInterceptor,\n defaults as requestDefaults,\n protoprepareFetchOptions as prepareFetchOptions,\n setTimingsAndFetch as _setTimingsAndFetch,\n} from '@webex/http-core';\nimport {defaultsDeep, get, isFunction, isString, last, merge, omit, set, unset} from 'lodash';\nimport AmpState from 'ampersand-state';\nimport uuid from 'uuid';\n\nimport AuthInterceptor from './interceptors/auth';\nimport NetworkTimingInterceptor from './interceptors/network-timing';\nimport PayloadTransformerInterceptor from './interceptors/payload-transformer';\nimport RedirectInterceptor from './interceptors/redirect';\nimport RequestEventInterceptor from './interceptors/request-event';\nimport RequestLoggerInterceptor from './interceptors/request-logger';\nimport RequestTimingInterceptor from './interceptors/request-timing';\nimport ResponseLoggerInterceptor from './interceptors/response-logger';\nimport WebexHttpError from './lib/webex-http-error';\nimport UserAgentInterceptor from './interceptors/user-agent';\nimport WebexTrackingIdInterceptor from './interceptors/webex-tracking-id';\nimport WebexUserAgentInterceptor from './interceptors/webex-user-agent';\nimport RateLimitInterceptor from './interceptors/rate-limit';\nimport EmbargoInterceptor from './interceptors/embargo';\nimport DefaultOptionsInterceptor from './interceptors/default-options';\nimport HostMapInterceptor from './lib/services/interceptors/hostmap';\nimport config from './config';\nimport {makeWebexStore} from './lib/storage';\nimport mixinWebexCorePlugins from './lib/webex-core-plugin-mixin';\nimport mixinWebexInternalCorePlugins from './lib/webex-internal-core-plugin-mixin';\nimport WebexInternalCore from './webex-internal-core';\n\n// TODO replace the Interceptor.create with Reflect.construct (\n// Interceptor.create exists because new was really hard to call on an array of\n// constructors)\nconst interceptors = {\n WebexTrackingIdInterceptor: WebexTrackingIdInterceptor.create,\n RequestEventInterceptor: RequestEventInterceptor.create,\n RateLimitInterceptor: RateLimitInterceptor.create,\n /* eslint-disable no-extra-parens */\n RequestLoggerInterceptor:\n process.env.ENABLE_NETWORK_LOGGING || process.env.ENABLE_VERBOSE_NETWORK_LOGGING\n ? RequestLoggerInterceptor.create\n : undefined,\n ResponseLoggerInterceptor:\n process.env.ENABLE_NETWORK_LOGGING || process.env.ENABLE_VERBOSE_NETWORK_LOGGING\n ? ResponseLoggerInterceptor.create\n : undefined,\n /* eslint-enable no-extra-parens */\n RequestTimingInterceptor: RequestTimingInterceptor.create,\n ServiceInterceptor: undefined,\n UserAgentInterceptor: UserAgentInterceptor.create,\n WebexUserAgentInterceptor: WebexUserAgentInterceptor.create,\n AuthInterceptor: AuthInterceptor.create,\n KmsDryErrorInterceptor: undefined,\n PayloadTransformerInterceptor: PayloadTransformerInterceptor.create,\n ConversationInterceptor: undefined,\n RedirectInterceptor: RedirectInterceptor.create,\n HttpStatusInterceptor() {\n return HttpStatusInterceptor.create({\n error: WebexHttpError,\n });\n },\n NetworkTimingInterceptor: NetworkTimingInterceptor.create,\n EmbargoInterceptor: EmbargoInterceptor.create,\n DefaultOptionsInterceptor: DefaultOptionsInterceptor.create,\n HostMapInterceptor: HostMapInterceptor.create,\n};\n\nconst preInterceptors = [\n 'ResponseLoggerInterceptor',\n 'RequestTimingInterceptor',\n 'RequestEventInterceptor',\n 'WebexTrackingIdInterceptor',\n 'RateLimitInterceptor',\n];\n\nconst postInterceptors = [\n 'HttpStatusInterceptor',\n 'NetworkTimingInterceptor',\n 'EmbargoInterceptor',\n 'RequestLoggerInterceptor',\n 'RateLimitInterceptor',\n];\n\nconst MAX_FILE_SIZE_IN_MB = 2048;\n\n/**\n * @class\n */\nconst WebexCore = AmpState.extend({\n version: PACKAGE_VERSION,\n\n children: {\n internal: WebexInternalCore,\n },\n\n constructor(attrs = {}, options) {\n if (typeof attrs === 'string') {\n attrs = {\n credentials: {\n supertoken: {\n // eslint-disable-next-line camelcase\n access_token: attrs,\n },\n },\n };\n } else {\n // Reminder: order is important here\n [\n 'credentials.authorization',\n 'authorization',\n 'credentials.supertoken.supertoken',\n 'supertoken',\n 'access_token',\n 'credentials.authorization.supertoken',\n ].forEach((path) => {\n const val = get(attrs, path);\n\n if (val) {\n unset(attrs, path);\n set(attrs, 'credentials.supertoken', val);\n }\n });\n\n ['credentials', 'credentials.authorization'].forEach((path) => {\n const val = get(attrs, path);\n\n if (typeof val === 'string') {\n unset(attrs, path);\n set(attrs, 'credentials.supertoken', val);\n }\n });\n\n if (typeof get(attrs, 'credentials.access_token') === 'string') {\n // Send access_token to get validated and corrected and then set it\n set(\n attrs,\n 'credentials.access_token',\n this.bearerValidator(get(attrs, 'credentials.access_token').trim())\n );\n\n set(attrs, 'credentials.supertoken', attrs.credentials);\n }\n }\n\n return Reflect.apply(AmpState, this, [attrs, options]);\n },\n\n derived: {\n boundedStorage: {\n deps: [],\n fn() {\n return makeWebexStore('bounded', this);\n },\n },\n unboundedStorage: {\n deps: [],\n fn() {\n return makeWebexStore('unbounded', this);\n },\n },\n ready: {\n deps: ['loaded', 'internal.ready'],\n fn() {\n return (\n this.loaded &&\n Object.keys(this._children).reduce(\n (ready, name) => ready && this[name] && this[name].ready !== false,\n true\n )\n );\n },\n },\n },\n\n session: {\n config: {\n type: 'object',\n },\n /**\n * When true, indicates that the initial load from the storage layer is\n * complete\n * @instance\n * @memberof WebexCore\n * @type {boolean}\n */\n loaded: {\n default: false,\n type: 'boolean',\n },\n request: {\n setOnce: true,\n // It's supposed to be a function, but that's not a type defined in\n // Ampersand\n type: 'any',\n },\n sessionId: {\n setOnce: true,\n type: 'string',\n },\n },\n\n /**\n * @instance\n * @memberof WebexCore\n * @param {[type]} args\n * @returns {[type]}\n */\n refresh(...args) {\n return this.credentials.refresh(...args);\n },\n\n /**\n * Applies the directionally appropriate transforms to the specified object\n * @param {string} direction\n * @param {Object} object\n * @returns {Promise}\n */\n transform(direction, object) {\n const predicates = this.config.payloadTransformer.predicates.filter(\n (p) => !p.direction || p.direction === direction\n );\n const ctx = {\n webex: this,\n };\n\n return Promise.all(\n predicates.map((p) =>\n p.test(ctx, object).then((shouldTransform) => {\n if (!shouldTransform) {\n return undefined;\n }\n\n return (\n p\n .extract(object)\n // eslint-disable-next-line max-nested-callbacks\n .then((target) => ({\n name: p.name,\n target,\n }))\n );\n })\n )\n )\n .then((data) =>\n data\n .filter((d) => Boolean(d))\n // eslint-disable-next-line max-nested-callbacks\n .reduce(\n (promise, {name, target, alias}) =>\n promise.then(() => {\n if (alias) {\n return this.applyNamedTransform(direction, alias, target);\n }\n\n return this.applyNamedTransform(direction, name, target);\n }),\n Promise.resolve()\n )\n )\n .then(() => object);\n },\n\n /**\n * Applies the directionally appropriate transform to the specified parameters\n * @param {string} direction\n * @param {Object} ctx\n * @param {string} name\n * @returns {Promise}\n */\n applyNamedTransform(direction, ctx, name, ...rest) {\n if (isString(ctx)) {\n rest.unshift(name);\n name = ctx;\n ctx = {\n webex: this,\n transform: (...args) => this.applyNamedTransform(direction, ctx, ...args),\n };\n }\n\n const transforms = ctx.webex.config.payloadTransformer.transforms.filter(\n (tx) => tx.name === name && (!tx.direction || tx.direction === direction)\n );\n\n // too many implicit returns on the same line is difficult to interpret\n // eslint-disable-next-line arrow-body-style\n return transforms\n .reduce(\n (promise, tx) =>\n promise.then(() => {\n if (tx.alias) {\n return ctx.transform(tx.alias, ...rest);\n }\n\n return Promise.resolve(tx.fn(ctx, ...rest));\n }),\n Promise.resolve()\n )\n .then(() => last(rest));\n },\n\n /**\n * @private\n * @returns {Window}\n */\n getWindow() {\n // eslint-disable-next-line\n return window;\n },\n\n /**\n * Initializer\n *\n * @emits WebexCore#loaded\n * @emits WebexCore#ready\n * @instance\n * @memberof WebexCore\n * @param {Object} attrs\n * @returns {WebexCore}\n */\n initialize(attrs = {}) {\n this.config = merge({}, config, attrs.config);\n\n // There's some unfortunateness with the way {@link AmpersandState#children}\n // get initialized. We'll fire the change:config event so that\n // {@link WebexPlugin#initialize()} can use\n // `this.listenToOnce(parent, 'change:config', () => {});` to act on config\n // during initialization\n this.trigger('change:config');\n\n const onLoaded = () => {\n if (this.loaded) {\n /**\n * Fires when all data has been loaded from the storage layer\n * @event loaded\n * @instance\n * @memberof WebexCore\n */\n this.trigger('loaded');\n\n this.stopListening(this, 'change:loaded', onLoaded);\n }\n };\n\n // This needs to run on nextTick or we'll never be able to wire up listeners\n process.nextTick(() => {\n this.listenToAndRun(this, 'change:loaded', onLoaded);\n });\n\n const onReady = () => {\n if (this.ready) {\n /**\n * Fires when all plugins have fully initialized\n * @event ready\n * @instance\n * @memberof WebexCore\n */\n this.trigger('ready');\n\n this.stopListening(this, 'change:ready', onReady);\n }\n };\n\n // This needs to run on nextTick or we'll never be able to wire up listeners\n process.nextTick(() => {\n this.listenToAndRun(this, 'change:ready', onReady);\n });\n\n // Make nested events propagate in a consistent manner\n Object.keys(this.constructor.prototype._children).forEach((key) => {\n this.listenTo(this[key], 'change', (...args) => {\n args.unshift(`change:${key}`);\n this.trigger(...args);\n });\n });\n\n const addInterceptor = (ints, key) => {\n const interceptor = interceptors[key];\n\n if (!isFunction(interceptor)) {\n return ints;\n }\n\n ints.push(Reflect.apply(interceptor, this, []));\n\n return ints;\n };\n\n let ints = [];\n\n ints = preInterceptors.reduce(addInterceptor, ints);\n ints = Object.keys(interceptors)\n .filter((key) => !(preInterceptors.includes(key) || postInterceptors.includes(key)))\n .reduce(addInterceptor, ints);\n ints = postInterceptors.reduce(addInterceptor, ints);\n\n this.request = requestDefaults({\n json: true,\n interceptors: ints,\n });\n\n this.prepareFetchOptions = prepareFetchOptions({\n json: true,\n interceptors: ints,\n });\n\n this.setTimingsAndFetch = _setTimingsAndFetch;\n\n let sessionId = `${get(this, 'config.trackingIdPrefix', 'webex-js-sdk')}_${get(\n this,\n 'config.trackingIdBase',\n uuid.v4()\n )}`;\n\n if (get(this, 'config.trackingIdSuffix')) {\n sessionId += `_${get(this, 'config.trackingIdSuffix')}`;\n }\n\n this.sessionId = sessionId;\n },\n\n /**\n * setConfig\n *\n * Allows updating config\n *\n * @instance\n * @memberof WebexCore\n * @param {Object} newConfig\n * @returns {null}\n */\n setConfig(newConfig = {}) {\n this.config = merge({}, this.config, newConfig);\n },\n\n /**\n *\n * Check if access token is correctly formated and correct if it's not\n * Warn user if token string has errors in it\n * @param {string} token\n * @returns {string}\n */\n bearerValidator(token) {\n if (token.includes('Bearer') && token.split(' ').length - 1 === 0) {\n console.warn(\n `Your access token does not have a space between 'Bearer' and the token, please add a space to it or replace it with this already fixed version:\\n\\n${token\n .replace('Bearer', 'Bearer ')\n .replace(/\\s+/g, ' ')}`\n );\n console.info(\n \"Tip: You don't need to add 'Bearer' to the access_token field. The token by itself is fine\"\n );\n\n return token.replace('Bearer', 'Bearer ').replace(/\\s+/g, ' ');\n }\n // Allow elseIf return\n // eslint-disable-next-line no-else-return\n else if (token.split(' ').length - 1 > 1) {\n console.warn(\n `Your access token has ${\n token.split(' ').length - 2\n } too many spaces, please use this format:\\n\\n${token.replace(/\\s+/g, ' ')}`\n );\n console.info(\n \"Tip: You don't need to add 'Bearer' to the access_token field, the token by itself is fine\"\n );\n\n return token.replace(/\\s+/g, ' ');\n }\n\n return token.replace(/\\s+/g, ' '); // Clean it anyway (just in case)\n },\n\n /**\n * @instance\n * @memberof WebexPlugin\n * @param {number} depth\n * @private\n * @returns {Object}\n */\n inspect(depth) {\n return util.inspect(\n omit(\n this.serialize({\n props: true,\n session: true,\n derived: true,\n }),\n 'boundedStorage',\n 'unboundedStorage',\n 'request',\n 'config'\n ),\n {depth}\n );\n },\n\n /**\n * Invokes all `onBeforeLogout` handlers in the scope of their plugin, clears\n * all stores, and revokes the access token\n * Note: If you're using the sdk in a server environment, you may be more\n * interested in {@link `webex.internal.mercury.disconnect()`| Mercury#disconnect()}\n * and {@link `webex.internal.device.unregister()`|Device#unregister()}\n * or {@link `webex.phone.unregister()`|Phone#unregister}\n * @instance\n * @memberof WebexCore\n * @param {Object} options Passed as the first argument to all\n * `onBeforeLogout` handlers\n * @returns {Promise}\n */\n logout(options, ...rest) {\n // prefer the refresh token, but for clients that don't have one, fallback\n // to the access token\n const token =\n this.credentials.supertoken &&\n (this.credentials.supertoken.refresh_token || this.credentials.supertoken.access_token);\n\n options = Object.assign({token}, options);\n\n // onBeforeLogout should be executed in the opposite order in which handlers\n // were registered. In that way, wdm unregister() will be above mercury\n // disconnect(), but disconnect() will execute first.\n // eslint-disable-next-line arrow-body-style\n return this.config.onBeforeLogout\n .reverse()\n .reduce(\n (promise, {plugin, fn}) =>\n promise.then(() => {\n return (\n Promise.resolve(\n Reflect.apply(fn, this[plugin] || this.internal[plugin], [options, ...rest])\n )\n // eslint-disable-next-line max-nested-callbacks\n .catch((err) => {\n this.logger.warn(`onBeforeLogout from plugin ${plugin}: failed`, err);\n })\n );\n }),\n Promise.resolve()\n )\n .then(() => Promise.all([this.boundedStorage.clear(), this.unboundedStorage.clear()]))\n .then(() => this.credentials.invalidate(...rest))\n .then(\n () =>\n this.authorization &&\n this.authorization.logout &&\n this.authorization.logout(options, ...rest)\n )\n .then(() => this.trigger('client:logout'));\n },\n\n /**\n * General purpose wrapper to submit metrics via the metrics plugin (if the\n * metrics plugin is installed)\n * @instance\n * @memberof WebexCore\n * @returns {Promise}\n */\n measure(...args) {\n if (this.metrics) {\n return this.metrics.sendUnstructured(...args);\n }\n\n return Promise.resolve();\n },\n\n async upload(options) {\n if (!options.file) {\n return Promise.reject(new Error('`options.file` is required'));\n }\n\n options.phases = options.phases || {};\n options.phases.initialize = options.phases.initialize || {};\n options.phases.upload = options.phases.upload || {};\n options.phases.finalize = options.phases.finalize || {};\n\n defaultsDeep(\n options.phases.initialize,\n {\n method: 'POST',\n body: {\n uploadProtocol: 'content-length',\n },\n },\n omit(options, 'file', 'phases')\n );\n\n defaultsDeep(options.phases.upload, {\n method: 'PUT',\n json: false,\n withCredentials: false,\n body: options.file,\n headers: {\n 'x-trans-id': uuid.v4(),\n authorization: undefined,\n },\n });\n\n defaultsDeep(\n options.phases.finalize,\n {\n method: 'POST',\n },\n omit(options, 'file', 'phases')\n );\n\n const shunt = new EventEmitter();\n\n const promise = this._uploadPhaseInitialize(options)\n .then(() => {\n const p = this._uploadPhaseUpload(options);\n\n transferEvents('progress', p, shunt);\n\n return p;\n })\n .then((...args) => this._uploadPhaseFinalize(options, ...args))\n .then((res) => ({...res.body, ...res.headers}));\n\n proxyEvents(shunt, promise);\n\n return promise;\n },\n\n _uploadPhaseInitialize: function _uploadPhaseInitialize(options) {\n this.logger.debug('client: initiating upload session');\n\n return this.request(options.phases.initialize)\n .then((...args) => {\n const fileUploadSizeLimitInBytes =\n (args[0].body.fileUploadSizeLimit || MAX_FILE_SIZE_IN_MB) * 1024 * 1024;\n const currentFileSizeInBytes = options.file.byteLength;\n\n if (fileUploadSizeLimitInBytes && fileUploadSizeLimitInBytes < currentFileSizeInBytes) {\n return this._uploadAbortSession(currentFileSizeInBytes, ...args);\n }\n\n return this._uploadApplySession(options, ...args);\n })\n .then((res) => {\n this.logger.debug('client: initiated upload session');\n\n return res;\n });\n },\n\n _uploadAbortSession(currentFileSizeInBytes, response) {\n this.logger.debug('client: deleting uploaded file');\n\n return this.request({\n method: 'DELETE',\n url: response.body.url,\n headers: response.options.headers,\n }).then(() => {\n this.logger.debug('client: deleting uploaded file complete');\n\n const abortErrorDetails = {\n currentFileSizeInBytes,\n fileUploadSizeLimitInMB: response.body.fileUploadSizeLimit || MAX_FILE_SIZE_IN_MB,\n message: 'file-upload-size-limit-enabled',\n };\n\n return Promise.reject(new Error(`${JSON.stringify(abortErrorDetails)}`));\n });\n },\n\n _uploadApplySession(options, res) {\n const session = res.body;\n\n ['upload', 'finalize'].reduce((opts, key) => {\n opts[key] = Object.keys(opts[key]).reduce((phaseOptions, phaseKey) => {\n if (phaseKey.startsWith('$')) {\n phaseOptions[phaseKey.substr(1)] = phaseOptions[phaseKey](session);\n Reflect.deleteProperty(phaseOptions, phaseKey);\n }\n\n return phaseOptions;\n }, opts[key]);\n\n return opts;\n }, options.phases);\n },\n\n @retry\n _uploadPhaseUpload(options) {\n this.logger.debug('client: uploading file');\n\n const promise = this.request(options.phases.upload).then((res) => {\n this.logger.debug('client: uploaded file');\n\n return res;\n });\n\n proxyEvents(options.phases.upload.upload, promise);\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV === 'test') {\n promise.on('progress', (event) => {\n this.logger.info('upload progress', event.loaded, event.total);\n });\n }\n\n return promise;\n },\n\n _uploadPhaseFinalize: function _uploadPhaseFinalize(options) {\n this.logger.debug('client: finalizing upload session');\n\n return this.request(options.phases.finalize).then((res) => {\n this.logger.debug('client: finalized upload session');\n\n return res;\n });\n },\n});\n\nWebexCore.version = PACKAGE_VERSION;\n\nmixinWebexInternalCorePlugins(WebexInternalCore, config, interceptors);\nmixinWebexCorePlugins(WebexCore, config, interceptors);\n\nexport default WebexCore;\n\n/**\n * @method registerPlugin\n * @param {string} name\n * @param {function} constructor\n * @param {Object} options\n * @param {Array<string>} options.proxies\n * @param {Object} options.interceptors\n * @returns {null}\n */\nexport function registerPlugin(name, constructor, options = {}) {\n WebexCore.registerPlugin(name, constructor, options);\n}\n\n/**\n * Registers plugins used by internal products that do not talk to public APIs.\n * @method registerInternalPlugin\n * @param {string} name\n * @param {function} constructor\n * @param {Object} options\n * @param {Object} options.interceptors\n * @private\n * @returns {null}\n */\nexport function registerInternalPlugin(name, constructor, options) {\n WebexInternalCore.registerPlugin(name, constructor, options);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_events","require","_util","_interopRequireDefault","_common","_httpCore","_lodash","_ampersandState","_uuid","_auth","_networkTiming","_payloadTransformer","_redirect","_requestEvent","_requestLogger","_requestTiming","_responseLogger","_webexHttpError","_userAgent","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_hostmap","_config","_storage","_webexCorePluginMixin","_webexInternalCorePluginMixin","_webexInternalCore","_obj","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor2","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","interceptors","WebexTrackingIdInterceptor","create","RequestEventInterceptor","RateLimitInterceptor","RequestLoggerInterceptor","process","env","ENABLE_NETWORK_LOGGING","ENABLE_VERBOSE_NETWORK_LOGGING","undefined","ResponseLoggerInterceptor","RequestTimingInterceptor","ServiceInterceptor","UserAgentInterceptor","WebexUserAgentInterceptor","AuthInterceptor","KmsDryErrorInterceptor","PayloadTransformerInterceptor","ConversationInterceptor","RedirectInterceptor","HttpStatusInterceptor","error","WebexHttpError","NetworkTimingInterceptor","EmbargoInterceptor","DefaultOptionsInterceptor","HostMapInterceptor","preInterceptors","postInterceptors","MAX_FILE_SIZE_IN_MB","WebexCore","AmpState","extend","version","children","internal","WebexInternalCore","constructor","attrs","options","credentials","supertoken","access_token","path","val","get","unset","set","bearerValidator","trim","_apply","derived","boundedStorage","deps","fn","makeWebexStore","unboundedStorage","ready","_this","loaded","_keys","_children","reduce","name","session","config","type","request","setOnce","sessionId","refresh","_this$credentials","transform","direction","object","_this2","predicates","payloadTransformer","p","ctx","webex","_promise","all","map","test","then","shouldTransform","extract","target","data","d","Boolean","promise","_ref","alias","applyNamedTransform","resolve","_this3","_len","rest","Array","_key","isString","unshift","_len2","args","_key2","concat","transforms","tx","_ctx","last","getWindow","window","initialize","_this4","merge","trigger","onLoaded","stopListening","nextTick","listenToAndRun","onReady","prototype","key","listenTo","_len3","_key3","addInterceptor","ints","interceptor","isFunction","includes","requestDefaults","json","prepareFetchOptions","setTimingsAndFetch","_setTimingsAndFetch","uuid","v4","setConfig","newConfig","token","split","console","warn","replace","info","inspect","depth","util","omit","serialize","props","logout","_this5","_len4","_key4","refresh_token","_assign","onBeforeLogout","reverse","_ref2","plugin","catch","err","logger","clear","_this5$credentials","invalidate","_this5$authorization","authorization","measure","metrics","_this$metrics","sendUnstructured","upload","_this6","_asyncToGenerator2","_regenerator","mark","_callee","shunt","wrap","_callee$","_context","prev","next","file","abrupt","reject","Error","phases","finalize","defaultsDeep","method","body","uploadProtocol","withCredentials","headers","EventEmitter","_uploadPhaseInitialize","_uploadPhaseUpload","transferEvents","_len5","_key5","_uploadPhaseFinalize","res","proxyEvents","stop","_this7","debug","_len6","_key6","fileUploadSizeLimitInBytes","fileUploadSizeLimit","currentFileSizeInBytes","byteLength","_uploadAbortSession","_uploadApplySession","response","_this8","url","abortErrorDetails","fileUploadSizeLimitInMB","message","_stringify","opts","phaseOptions","phaseKey","startsWith","substr","_deleteProperty","_this9","NODE_ENV","on","event","total","_this10","_applyDecoratedDescriptor2","retry","_getOwnPropertyDescriptor","mixinWebexInternalCorePlugins","mixinWebexCorePlugins","_default","exports","registerPlugin","registerInternalPlugin"],"sources":["webex-core.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {EventEmitter} from 'events';\nimport util from 'util';\n\nimport {proxyEvents, retry, transferEvents} from '@webex/common';\nimport {\n HttpStatusInterceptor,\n defaults as requestDefaults,\n protoprepareFetchOptions as prepareFetchOptions,\n setTimingsAndFetch as _setTimingsAndFetch,\n} from '@webex/http-core';\nimport {defaultsDeep, get, isFunction, isString, last, merge, omit, set, unset} from 'lodash';\nimport AmpState from 'ampersand-state';\nimport uuid from 'uuid';\n\nimport AuthInterceptor from './interceptors/auth';\nimport NetworkTimingInterceptor from './interceptors/network-timing';\nimport PayloadTransformerInterceptor from './interceptors/payload-transformer';\nimport RedirectInterceptor from './interceptors/redirect';\nimport RequestEventInterceptor from './interceptors/request-event';\nimport RequestLoggerInterceptor from './interceptors/request-logger';\nimport RequestTimingInterceptor from './interceptors/request-timing';\nimport ResponseLoggerInterceptor from './interceptors/response-logger';\nimport WebexHttpError from './lib/webex-http-error';\nimport UserAgentInterceptor from './interceptors/user-agent';\nimport WebexTrackingIdInterceptor from './interceptors/webex-tracking-id';\nimport WebexUserAgentInterceptor from './interceptors/webex-user-agent';\nimport RateLimitInterceptor from './interceptors/rate-limit';\nimport EmbargoInterceptor from './interceptors/embargo';\nimport DefaultOptionsInterceptor from './interceptors/default-options';\nimport HostMapInterceptor from './lib/services/interceptors/hostmap';\nimport config from './config';\nimport {makeWebexStore} from './lib/storage';\nimport mixinWebexCorePlugins from './lib/webex-core-plugin-mixin';\nimport mixinWebexInternalCorePlugins from './lib/webex-internal-core-plugin-mixin';\nimport WebexInternalCore from './webex-internal-core';\n\n// TODO replace the Interceptor.create with Reflect.construct (\n// Interceptor.create exists because new was really hard to call on an array of\n// constructors)\nconst interceptors = {\n WebexTrackingIdInterceptor: WebexTrackingIdInterceptor.create,\n RequestEventInterceptor: RequestEventInterceptor.create,\n RateLimitInterceptor: RateLimitInterceptor.create,\n /* eslint-disable no-extra-parens */\n RequestLoggerInterceptor:\n process.env.ENABLE_NETWORK_LOGGING || process.env.ENABLE_VERBOSE_NETWORK_LOGGING\n ? RequestLoggerInterceptor.create\n : undefined,\n ResponseLoggerInterceptor:\n process.env.ENABLE_NETWORK_LOGGING || process.env.ENABLE_VERBOSE_NETWORK_LOGGING\n ? ResponseLoggerInterceptor.create\n : undefined,\n /* eslint-enable no-extra-parens */\n RequestTimingInterceptor: RequestTimingInterceptor.create,\n ServiceInterceptor: undefined,\n UserAgentInterceptor: UserAgentInterceptor.create,\n WebexUserAgentInterceptor: WebexUserAgentInterceptor.create,\n AuthInterceptor: AuthInterceptor.create,\n KmsDryErrorInterceptor: undefined,\n PayloadTransformerInterceptor: PayloadTransformerInterceptor.create,\n ConversationInterceptor: undefined,\n RedirectInterceptor: RedirectInterceptor.create,\n HttpStatusInterceptor() {\n return HttpStatusInterceptor.create({\n error: WebexHttpError,\n });\n },\n NetworkTimingInterceptor: NetworkTimingInterceptor.create,\n EmbargoInterceptor: EmbargoInterceptor.create,\n DefaultOptionsInterceptor: DefaultOptionsInterceptor.create,\n HostMapInterceptor: HostMapInterceptor.create,\n};\n\nconst preInterceptors = [\n 'ResponseLoggerInterceptor',\n 'RequestTimingInterceptor',\n 'RequestEventInterceptor',\n 'WebexTrackingIdInterceptor',\n 'RateLimitInterceptor',\n];\n\nconst postInterceptors = [\n 'HttpStatusInterceptor',\n 'NetworkTimingInterceptor',\n 'EmbargoInterceptor',\n 'RequestLoggerInterceptor',\n 'RateLimitInterceptor',\n];\n\nconst MAX_FILE_SIZE_IN_MB = 2048;\n\n/**\n * @class\n */\nconst WebexCore = AmpState.extend({\n version: PACKAGE_VERSION,\n\n children: {\n internal: WebexInternalCore,\n },\n\n constructor(attrs = {}, options) {\n if (typeof attrs === 'string') {\n attrs = {\n credentials: {\n supertoken: {\n // eslint-disable-next-line camelcase\n access_token: attrs,\n },\n },\n };\n } else {\n // Reminder: order is important here\n [\n 'credentials.authorization',\n 'authorization',\n 'credentials.supertoken.supertoken',\n 'supertoken',\n 'access_token',\n 'credentials.authorization.supertoken',\n ].forEach((path) => {\n const val = get(attrs, path);\n\n if (val) {\n unset(attrs, path);\n set(attrs, 'credentials.supertoken', val);\n }\n });\n\n ['credentials', 'credentials.authorization'].forEach((path) => {\n const val = get(attrs, path);\n\n if (typeof val === 'string') {\n unset(attrs, path);\n set(attrs, 'credentials.supertoken', val);\n }\n });\n\n if (typeof get(attrs, 'credentials.access_token') === 'string') {\n // Send access_token to get validated and corrected and then set it\n set(\n attrs,\n 'credentials.access_token',\n this.bearerValidator(get(attrs, 'credentials.access_token').trim())\n );\n\n set(attrs, 'credentials.supertoken', attrs.credentials);\n }\n }\n\n return Reflect.apply(AmpState, this, [attrs, options]);\n },\n\n derived: {\n boundedStorage: {\n deps: [],\n fn() {\n return makeWebexStore('bounded', this);\n },\n },\n unboundedStorage: {\n deps: [],\n fn() {\n return makeWebexStore('unbounded', this);\n },\n },\n ready: {\n deps: ['loaded', 'internal.ready'],\n fn() {\n return (\n this.loaded &&\n Object.keys(this._children).reduce(\n (ready, name) => ready && this[name] && this[name].ready !== false,\n true\n )\n );\n },\n },\n },\n\n session: {\n config: {\n type: 'object',\n },\n /**\n * When true, indicates that the initial load from the storage layer is\n * complete\n * @instance\n * @memberof WebexCore\n * @type {boolean}\n */\n loaded: {\n default: false,\n type: 'boolean',\n },\n request: {\n setOnce: true,\n // It's supposed to be a function, but that's not a type defined in\n // Ampersand\n type: 'any',\n },\n sessionId: {\n type: 'string',\n },\n },\n\n /**\n * @instance\n * @memberof WebexCore\n * @param {[type]} args\n * @returns {[type]}\n */\n refresh(...args) {\n return this.credentials.refresh(...args);\n },\n\n /**\n * Applies the directionally appropriate transforms to the specified object\n * @param {string} direction\n * @param {Object} object\n * @returns {Promise}\n */\n transform(direction, object) {\n const predicates = this.config.payloadTransformer.predicates.filter(\n (p) => !p.direction || p.direction === direction\n );\n const ctx = {\n webex: this,\n };\n\n return Promise.all(\n predicates.map((p) =>\n p.test(ctx, object).then((shouldTransform) => {\n if (!shouldTransform) {\n return undefined;\n }\n\n return (\n p\n .extract(object)\n // eslint-disable-next-line max-nested-callbacks\n .then((target) => ({\n name: p.name,\n target,\n }))\n );\n })\n )\n )\n .then((data) =>\n data\n .filter((d) => Boolean(d))\n // eslint-disable-next-line max-nested-callbacks\n .reduce(\n (promise, {name, target, alias}) =>\n promise.then(() => {\n if (alias) {\n return this.applyNamedTransform(direction, alias, target);\n }\n\n return this.applyNamedTransform(direction, name, target);\n }),\n Promise.resolve()\n )\n )\n .then(() => object);\n },\n\n /**\n * Applies the directionally appropriate transform to the specified parameters\n * @param {string} direction\n * @param {Object} ctx\n * @param {string} name\n * @returns {Promise}\n */\n applyNamedTransform(direction, ctx, name, ...rest) {\n if (isString(ctx)) {\n rest.unshift(name);\n name = ctx;\n ctx = {\n webex: this,\n transform: (...args) => this.applyNamedTransform(direction, ctx, ...args),\n };\n }\n\n const transforms = ctx.webex.config.payloadTransformer.transforms.filter(\n (tx) => tx.name === name && (!tx.direction || tx.direction === direction)\n );\n\n // too many implicit returns on the same line is difficult to interpret\n // eslint-disable-next-line arrow-body-style\n return transforms\n .reduce(\n (promise, tx) =>\n promise.then(() => {\n if (tx.alias) {\n return ctx.transform(tx.alias, ...rest);\n }\n\n return Promise.resolve(tx.fn(ctx, ...rest));\n }),\n Promise.resolve()\n )\n .then(() => last(rest));\n },\n\n /**\n * @private\n * @returns {Window}\n */\n getWindow() {\n // eslint-disable-next-line\n return window;\n },\n\n /**\n * Initializer\n *\n * @emits WebexCore#loaded\n * @emits WebexCore#ready\n * @instance\n * @memberof WebexCore\n * @param {Object} attrs\n * @returns {WebexCore}\n */\n initialize(attrs = {}) {\n this.config = merge({}, config, attrs.config);\n\n // There's some unfortunateness with the way {@link AmpersandState#children}\n // get initialized. We'll fire the change:config event so that\n // {@link WebexPlugin#initialize()} can use\n // `this.listenToOnce(parent, 'change:config', () => {});` to act on config\n // during initialization\n this.trigger('change:config');\n\n const onLoaded = () => {\n if (this.loaded) {\n /**\n * Fires when all data has been loaded from the storage layer\n * @event loaded\n * @instance\n * @memberof WebexCore\n */\n this.trigger('loaded');\n\n this.stopListening(this, 'change:loaded', onLoaded);\n }\n };\n\n // This needs to run on nextTick or we'll never be able to wire up listeners\n process.nextTick(() => {\n this.listenToAndRun(this, 'change:loaded', onLoaded);\n });\n\n const onReady = () => {\n if (this.ready) {\n /**\n * Fires when all plugins have fully initialized\n * @event ready\n * @instance\n * @memberof WebexCore\n */\n this.trigger('ready');\n\n this.stopListening(this, 'change:ready', onReady);\n }\n };\n\n // This needs to run on nextTick or we'll never be able to wire up listeners\n process.nextTick(() => {\n this.listenToAndRun(this, 'change:ready', onReady);\n });\n\n // Make nested events propagate in a consistent manner\n Object.keys(this.constructor.prototype._children).forEach((key) => {\n this.listenTo(this[key], 'change', (...args) => {\n args.unshift(`change:${key}`);\n this.trigger(...args);\n });\n });\n\n const addInterceptor = (ints, key) => {\n const interceptor = interceptors[key];\n\n if (!isFunction(interceptor)) {\n return ints;\n }\n\n ints.push(Reflect.apply(interceptor, this, []));\n\n return ints;\n };\n\n let ints = [];\n\n ints = preInterceptors.reduce(addInterceptor, ints);\n ints = Object.keys(interceptors)\n .filter((key) => !(preInterceptors.includes(key) || postInterceptors.includes(key)))\n .reduce(addInterceptor, ints);\n ints = postInterceptors.reduce(addInterceptor, ints);\n\n this.request = requestDefaults({\n json: true,\n interceptors: ints,\n });\n\n this.prepareFetchOptions = prepareFetchOptions({\n json: true,\n interceptors: ints,\n });\n\n this.setTimingsAndFetch = _setTimingsAndFetch;\n\n let sessionId = `${get(this, 'config.trackingIdPrefix', 'webex-js-sdk')}_${get(\n this,\n 'config.trackingIdBase',\n uuid.v4()\n )}`;\n\n if (get(this, 'config.trackingIdSuffix')) {\n sessionId += `_${get(this, 'config.trackingIdSuffix')}`;\n }\n\n this.sessionId = sessionId;\n },\n\n /**\n * setConfig\n *\n * Allows updating config\n *\n * @instance\n * @memberof WebexCore\n * @param {Object} newConfig\n * @returns {null}\n */\n setConfig(newConfig = {}) {\n this.config = merge({}, this.config, newConfig);\n },\n\n /**\n *\n * Check if access token is correctly formated and correct if it's not\n * Warn user if token string has errors in it\n * @param {string} token\n * @returns {string}\n */\n bearerValidator(token) {\n if (token.includes('Bearer') && token.split(' ').length - 1 === 0) {\n console.warn(\n `Your access token does not have a space between 'Bearer' and the token, please add a space to it or replace it with this already fixed version:\\n\\n${token\n .replace('Bearer', 'Bearer ')\n .replace(/\\s+/g, ' ')}`\n );\n console.info(\n \"Tip: You don't need to add 'Bearer' to the access_token field. The token by itself is fine\"\n );\n\n return token.replace('Bearer', 'Bearer ').replace(/\\s+/g, ' ');\n }\n // Allow elseIf return\n // eslint-disable-next-line no-else-return\n else if (token.split(' ').length - 1 > 1) {\n console.warn(\n `Your access token has ${\n token.split(' ').length - 2\n } too many spaces, please use this format:\\n\\n${token.replace(/\\s+/g, ' ')}`\n );\n console.info(\n \"Tip: You don't need to add 'Bearer' to the access_token field, the token by itself is fine\"\n );\n\n return token.replace(/\\s+/g, ' ');\n }\n\n return token.replace(/\\s+/g, ' '); // Clean it anyway (just in case)\n },\n\n /**\n * @instance\n * @memberof WebexPlugin\n * @param {number} depth\n * @private\n * @returns {Object}\n */\n inspect(depth) {\n return util.inspect(\n omit(\n this.serialize({\n props: true,\n session: true,\n derived: true,\n }),\n 'boundedStorage',\n 'unboundedStorage',\n 'request',\n 'config'\n ),\n {depth}\n );\n },\n\n /**\n * Invokes all `onBeforeLogout` handlers in the scope of their plugin, clears\n * all stores, and revokes the access token\n * Note: If you're using the sdk in a server environment, you may be more\n * interested in {@link `webex.internal.mercury.disconnect()`| Mercury#disconnect()}\n * and {@link `webex.internal.device.unregister()`|Device#unregister()}\n * or {@link `webex.phone.unregister()`|Phone#unregister}\n * @instance\n * @memberof WebexCore\n * @param {Object} options Passed as the first argument to all\n * `onBeforeLogout` handlers\n * @returns {Promise}\n */\n logout(options, ...rest) {\n // prefer the refresh token, but for clients that don't have one, fallback\n // to the access token\n const token =\n this.credentials.supertoken &&\n (this.credentials.supertoken.refresh_token || this.credentials.supertoken.access_token);\n\n options = Object.assign({token}, options);\n\n // onBeforeLogout should be executed in the opposite order in which handlers\n // were registered. In that way, wdm unregister() will be above mercury\n // disconnect(), but disconnect() will execute first.\n // eslint-disable-next-line arrow-body-style\n return this.config.onBeforeLogout\n .reverse()\n .reduce(\n (promise, {plugin, fn}) =>\n promise.then(() => {\n return (\n Promise.resolve(\n Reflect.apply(fn, this[plugin] || this.internal[plugin], [options, ...rest])\n )\n // eslint-disable-next-line max-nested-callbacks\n .catch((err) => {\n this.logger.warn(`onBeforeLogout from plugin ${plugin}: failed`, err);\n })\n );\n }),\n Promise.resolve()\n )\n .then(() => Promise.all([this.boundedStorage.clear(), this.unboundedStorage.clear()]))\n .then(() => this.credentials.invalidate(...rest))\n .then(\n () =>\n this.authorization &&\n this.authorization.logout &&\n this.authorization.logout(options, ...rest)\n )\n .then(() => this.trigger('client:logout'));\n },\n\n /**\n * General purpose wrapper to submit metrics via the metrics plugin (if the\n * metrics plugin is installed)\n * @instance\n * @memberof WebexCore\n * @returns {Promise}\n */\n measure(...args) {\n if (this.metrics) {\n return this.metrics.sendUnstructured(...args);\n }\n\n return Promise.resolve();\n },\n\n async upload(options) {\n if (!options.file) {\n return Promise.reject(new Error('`options.file` is required'));\n }\n\n options.phases = options.phases || {};\n options.phases.initialize = options.phases.initialize || {};\n options.phases.upload = options.phases.upload || {};\n options.phases.finalize = options.phases.finalize || {};\n\n defaultsDeep(\n options.phases.initialize,\n {\n method: 'POST',\n body: {\n uploadProtocol: 'content-length',\n },\n },\n omit(options, 'file', 'phases')\n );\n\n defaultsDeep(options.phases.upload, {\n method: 'PUT',\n json: false,\n withCredentials: false,\n body: options.file,\n headers: {\n 'x-trans-id': uuid.v4(),\n authorization: undefined,\n },\n });\n\n defaultsDeep(\n options.phases.finalize,\n {\n method: 'POST',\n },\n omit(options, 'file', 'phases')\n );\n\n const shunt = new EventEmitter();\n\n const promise = this._uploadPhaseInitialize(options)\n .then(() => {\n const p = this._uploadPhaseUpload(options);\n\n transferEvents('progress', p, shunt);\n\n return p;\n })\n .then((...args) => this._uploadPhaseFinalize(options, ...args))\n .then((res) => ({...res.body, ...res.headers}));\n\n proxyEvents(shunt, promise);\n\n return promise;\n },\n\n _uploadPhaseInitialize: function _uploadPhaseInitialize(options) {\n this.logger.debug('client: initiating upload session');\n\n return this.request(options.phases.initialize)\n .then((...args) => {\n const fileUploadSizeLimitInBytes =\n (args[0].body.fileUploadSizeLimit || MAX_FILE_SIZE_IN_MB) * 1024 * 1024;\n const currentFileSizeInBytes = options.file.byteLength;\n\n if (fileUploadSizeLimitInBytes && fileUploadSizeLimitInBytes < currentFileSizeInBytes) {\n return this._uploadAbortSession(currentFileSizeInBytes, ...args);\n }\n\n return this._uploadApplySession(options, ...args);\n })\n .then((res) => {\n this.logger.debug('client: initiated upload session');\n\n return res;\n });\n },\n\n _uploadAbortSession(currentFileSizeInBytes, response) {\n this.logger.debug('client: deleting uploaded file');\n\n return this.request({\n method: 'DELETE',\n url: response.body.url,\n headers: response.options.headers,\n }).then(() => {\n this.logger.debug('client: deleting uploaded file complete');\n\n const abortErrorDetails = {\n currentFileSizeInBytes,\n fileUploadSizeLimitInMB: response.body.fileUploadSizeLimit || MAX_FILE_SIZE_IN_MB,\n message: 'file-upload-size-limit-enabled',\n };\n\n return Promise.reject(new Error(`${JSON.stringify(abortErrorDetails)}`));\n });\n },\n\n _uploadApplySession(options, res) {\n const session = res.body;\n\n ['upload', 'finalize'].reduce((opts, key) => {\n opts[key] = Object.keys(opts[key]).reduce((phaseOptions, phaseKey) => {\n if (phaseKey.startsWith('$')) {\n phaseOptions[phaseKey.substr(1)] = phaseOptions[phaseKey](session);\n Reflect.deleteProperty(phaseOptions, phaseKey);\n }\n\n return phaseOptions;\n }, opts[key]);\n\n return opts;\n }, options.phases);\n },\n\n @retry\n _uploadPhaseUpload(options) {\n this.logger.debug('client: uploading file');\n\n const promise = this.request(options.phases.upload).then((res) => {\n this.logger.debug('client: uploaded file');\n\n return res;\n });\n\n proxyEvents(options.phases.upload.upload, promise);\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV === 'test') {\n promise.on('progress', (event) => {\n this.logger.info('upload progress', event.loaded, event.total);\n });\n }\n\n return promise;\n },\n\n _uploadPhaseFinalize: function _uploadPhaseFinalize(options) {\n this.logger.debug('client: finalizing upload session');\n\n return this.request(options.phases.finalize).then((res) => {\n this.logger.debug('client: finalized upload session');\n\n return res;\n });\n },\n});\n\nWebexCore.version = PACKAGE_VERSION;\n\nmixinWebexInternalCorePlugins(WebexInternalCore, config, interceptors);\nmixinWebexCorePlugins(WebexCore, config, interceptors);\n\nexport default WebexCore;\n\n/**\n * @method registerPlugin\n * @param {string} name\n * @param {function} constructor\n * @param {Object} options\n * @param {Array<string>} options.proxies\n * @param {Object} options.interceptors\n * @returns {null}\n */\nexport function registerPlugin(name, constructor, options = {}) {\n WebexCore.registerPlugin(name, constructor, options);\n}\n\n/**\n * Registers plugins used by internal products that do not talk to public APIs.\n * @method registerInternalPlugin\n * @param {string} name\n * @param {function} constructor\n * @param {Object} options\n * @param {Object} options.interceptors\n * @private\n * @returns {null}\n */\nexport function registerInternalPlugin(name, constructor, options) {\n WebexInternalCore.registerPlugin(name, constructor, options);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAMA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,KAAA,GAAAL,sBAAA,CAAAF,OAAA;AAEA,IAAAQ,KAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,cAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,mBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,SAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,aAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,cAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,cAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,eAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,eAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,UAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,gBAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,eAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,UAAA,GAAAlB,sBAAA,CAAAF,OAAA;AACA,IAAAqB,QAAA,GAAAnB,sBAAA,CAAAF,OAAA;AACA,IAAAsB,eAAA,GAAApB,sBAAA,CAAAF,OAAA;AACA,IAAAuB,QAAA,GAAArB,sBAAA,CAAAF,OAAA;AACA,IAAAwB,OAAA,GAAAtB,sBAAA,CAAAF,OAAA;AACA,IAAAyB,QAAA,GAAAzB,OAAA;AACA,IAAA0B,qBAAA,GAAAxB,sBAAA,CAAAF,OAAA;AACA,IAAA2B,6BAAA,GAAAzB,sBAAA,CAAAF,OAAA;AACA,IAAA4B,kBAAA,GAAA1B,sBAAA,CAAAF,OAAA;AAAsD,IAAA6B,IAAA;AAtCtD;AACA;AACA;AAFA,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,aAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,iCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,iCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAwCA;AACA;AACA;AACA,IAAMqB,YAAY,GAAG;EACnBC,0BAA0B,EAAEA,wBAA0B,CAACC,MAAM;EAC7DC,uBAAuB,EAAEA,qBAAuB,CAACD,MAAM;EACvDE,oBAAoB,EAAEA,kBAAoB,CAACF,MAAM;EACjD;EACAG,wBAAwB,EACtBC,OAAO,CAACC,GAAG,CAACC,sBAAsB,IAAIF,OAAO,CAACC,GAAG,CAACE,8BAA8B,GAC5EJ,sBAAwB,CAACH,MAAM,GAC/BQ,SAAS;EACfC,yBAAyB,EACvBL,OAAO,CAACC,GAAG,CAACC,sBAAsB,IAAIF,OAAO,CAACC,GAAG,CAACE,8BAA8B,GAC5EE,uBAAyB,CAACT,MAAM,GAChCQ,SAAS;EACf;EACAE,wBAAwB,EAAEA,sBAAwB,CAACV,MAAM;EACzDW,kBAAkB,EAAEH,SAAS;EAC7BI,oBAAoB,EAAEA,kBAAoB,CAACZ,MAAM;EACjDa,yBAAyB,EAAEA,uBAAyB,CAACb,MAAM;EAC3Dc,eAAe,EAAEA,aAAe,CAACd,MAAM;EACvCe,sBAAsB,EAAEP,SAAS;EACjCQ,6BAA6B,EAAEA,2BAA6B,CAAChB,MAAM;EACnEiB,uBAAuB,EAAET,SAAS;EAClCU,mBAAmB,EAAEA,iBAAmB,CAAClB,MAAM;EAC/CmB,qBAAqB,WAAAA,sBAAA,EAAG;IACtB,OAAOA,+BAAqB,CAACnB,MAAM,CAAC;MAClCoB,KAAK,EAAEC;IACT,CAAC,CAAC;EACJ,CAAC;EACDC,wBAAwB,EAAEA,sBAAwB,CAACtB,MAAM;EACzDuB,kBAAkB,EAAEA,gBAAkB,CAACvB,MAAM;EAC7CwB,yBAAyB,EAAEA,uBAAyB,CAACxB,MAAM;EAC3DyB,kBAAkB,EAAEA,gBAAkB,CAACzB;AACzC,CAAC;AAED,IAAM0B,eAAe,GAAG,CACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,CACvB;AAED,IAAMC,gBAAgB,GAAG,CACvB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,CACvB;AAED,IAAMC,mBAAmB,GAAG,IAAI;;AAEhC;AACA;AACA;AACA,IAAMC,SAAS,GAAGC,uBAAQ,CAACC,MAAM,EAAAxD,IAAA,GAAC;EAChCyD,OAAO,iBAAiB;EAExBC,QAAQ,EAAE;IACRC,QAAQ,EAAEC;EACZ,CAAC;EAEDC,WAAW,WAAAA,YAAA,EAAsB;IAAA,IAArBC,KAAK,GAAAhD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEiD,OAAO,GAAAjD,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAmB,SAAA;IAC7B,IAAI,OAAO6B,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAG;QACNE,WAAW,EAAE;UACXC,UAAU,EAAE;YACV;YACAC,YAAY,EAAEJ;UAChB;QACF;MACF,CAAC;IACH,CAAC,MAAM;MACL;MACA,CACE,2BAA2B,EAC3B,eAAe,EACf,mCAAmC,EACnC,YAAY,EACZ,cAAc,EACd,sCAAsC,CACvC,CAAC7C,OAAO,CAAC,UAACkD,IAAI,EAAK;QAClB,IAAMC,GAAG,GAAG,IAAAC,WAAG,EAACP,KAAK,EAAEK,IAAI,CAAC;QAE5B,IAAIC,GAAG,EAAE;UACP,IAAAE,aAAK,EAACR,KAAK,EAAEK,IAAI,CAAC;UAClB,IAAAI,WAAG,EAACT,KAAK,EAAE,wBAAwB,EAAEM,GAAG,CAAC;QAC3C;MACF,CAAC,CAAC;MAEF,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAACnD,OAAO,CAAC,UAACkD,IAAI,EAAK;QAC7D,IAAMC,GAAG,GAAG,IAAAC,WAAG,EAACP,KAAK,EAAEK,IAAI,CAAC;QAE5B,IAAI,OAAOC,GAAG,KAAK,QAAQ,EAAE;UAC3B,IAAAE,aAAK,EAACR,KAAK,EAAEK,IAAI,CAAC;UAClB,IAAAI,WAAG,EAACT,KAAK,EAAE,wBAAwB,EAAEM,GAAG,CAAC;QAC3C;MACF,CAAC,CAAC;MAEF,IAAI,OAAO,IAAAC,WAAG,EAACP,KAAK,EAAE,0BAA0B,CAAC,KAAK,QAAQ,EAAE;QAC9D;QACA,IAAAS,WAAG,EACDT,KAAK,EACL,0BAA0B,EAC1B,IAAI,CAACU,eAAe,CAAC,IAAAH,WAAG,EAACP,KAAK,EAAE,0BAA0B,CAAC,CAACW,IAAI,CAAC,CAAC,CACpE,CAAC;QAED,IAAAF,WAAG,EAACT,KAAK,EAAE,wBAAwB,EAAEA,KAAK,CAACE,WAAW,CAAC;MACzD;IACF;IAEA,OAAO,IAAAU,MAAA,CAAAvD,OAAA,EAAcoC,uBAAQ,EAAE,IAAI,EAAE,CAACO,KAAK,EAAEC,OAAO,CAAC,CAAC;EACxD,CAAC;EAEDY,OAAO,EAAE;IACPC,cAAc,EAAE;MACdC,IAAI,EAAE,EAAE;MACRC,EAAE,WAAAA,GAAA,EAAG;QACH,OAAO,IAAAC,uBAAc,EAAC,SAAS,EAAE,IAAI,CAAC;MACxC;IACF,CAAC;IACDC,gBAAgB,EAAE;MAChBH,IAAI,EAAE,EAAE;MACRC,EAAE,WAAAA,GAAA,EAAG;QACH,OAAO,IAAAC,uBAAc,EAAC,WAAW,EAAE,IAAI,CAAC;MAC1C;IACF,CAAC;IACDE,KAAK,EAAE;MACLJ,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;MAClCC,EAAE,WAAAA,GAAA,EAAG;QAAA,IAAAI,KAAA;QACH,OACE,IAAI,CAACC,MAAM,IACX,IAAAC,KAAA,CAAAjE,OAAA,EAAY,IAAI,CAACkE,SAAS,CAAC,CAACC,MAAM,CAChC,UAACL,KAAK,EAAEM,IAAI;UAAA,OAAKN,KAAK,IAAIC,KAAI,CAACK,IAAI,CAAC,IAAIL,KAAI,CAACK,IAAI,CAAC,CAACN,KAAK,KAAK,KAAK;QAAA,GAClE,IACF,CAAC;MAEL;IACF;EACF,CAAC;EAEDO,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,IAAI,EAAE;IACR,CAAC;IACD;AACJ;AACA;AACA;AACA;AACA;AACA;IACIP,MAAM,EAAE;MACNhE,OAAO,EAAE,KAAK;MACduE,IAAI,EAAE;IACR,CAAC;IACDC,OAAO,EAAE;MACPC,OAAO,EAAE,IAAI;MACb;MACA;MACAF,IAAI,EAAE;IACR,CAAC;IACDG,SAAS,EAAE;MACTH,IAAI,EAAE;IACR;EACF,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEI,OAAO,WAAAA,QAAA,EAAU;IAAA,IAAAC,iBAAA;IACf,OAAO,CAAAA,iBAAA,OAAI,CAAC/B,WAAW,EAAC8B,OAAO,CAAAlF,KAAA,CAAAmF,iBAAA,EAAAjF,SAAQ,CAAC;EAC1C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEkF,SAAS,WAAAA,UAACC,SAAS,EAAEC,MAAM,EAAE;IAAA,IAAAC,MAAA;IAC3B,IAAMC,UAAU,GAAG,IAAI,CAACX,MAAM,CAACY,kBAAkB,CAACD,UAAU,CAAC5F,MAAM,CACjE,UAAC8F,CAAC;MAAA,OAAK,CAACA,CAAC,CAACL,SAAS,IAAIK,CAAC,CAACL,SAAS,KAAKA,SAAS;IAAA,CAClD,CAAC;IACD,IAAMM,GAAG,GAAG;MACVC,KAAK,EAAE;IACT,CAAC;IAED,OAAOC,QAAA,CAAAtF,OAAA,CAAQuF,GAAG,CAChBN,UAAU,CAACO,GAAG,CAAC,UAACL,CAAC;MAAA,OACfA,CAAC,CAACM,IAAI,CAACL,GAAG,EAAEL,MAAM,CAAC,CAACW,IAAI,CAAC,UAACC,eAAe,EAAK;QAC5C,IAAI,CAACA,eAAe,EAAE;UACpB,OAAO7E,SAAS;QAClB;QAEA,OACEqE,CAAC,CACES,OAAO,CAACb,MAAM;QACf;QAAA,CACCW,IAAI,CAAC,UAACG,MAAM;UAAA,OAAM;YACjBzB,IAAI,EAAEe,CAAC,CAACf,IAAI;YACZyB,MAAM,EAANA;UACF,CAAC;QAAA,CAAC,CAAC;MAET,CAAC,CAAC;IAAA,CACJ,CACF,CAAC,CACEH,IAAI,CAAC,UAACI,IAAI;MAAA,OACTA,IAAI,CACDzG,MAAM,CAAC,UAAC0G,CAAC;QAAA,OAAKC,OAAO,CAACD,CAAC,CAAC;MAAA;MACzB;MAAA,CACC5B,MAAM,CACL,UAAC8B,OAAO,EAAAC,IAAA;QAAA,IAAG9B,IAAI,GAAA8B,IAAA,CAAJ9B,IAAI;UAAEyB,MAAM,GAAAK,IAAA,CAANL,MAAM;UAAEM,KAAK,GAAAD,IAAA,CAALC,KAAK;QAAA,OAC5BF,OAAO,CAACP,IAAI,CAAC,YAAM;UACjB,IAAIS,KAAK,EAAE;YACT,OAAOnB,MAAI,CAACoB,mBAAmB,CAACtB,SAAS,EAAEqB,KAAK,EAAEN,MAAM,CAAC;UAC3D;UAEA,OAAOb,MAAI,CAACoB,mBAAmB,CAACtB,SAAS,EAAEV,IAAI,EAAEyB,MAAM,CAAC;QAC1D,CAAC,CAAC;MAAA,GACJP,QAAA,CAAAtF,OAAA,CAAQqG,OAAO,CAAC,CAClB,CAAC;IAAA,CACL,CAAC,CACAX,IAAI,CAAC;MAAA,OAAMX,MAAM;IAAA,EAAC;EACvB,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEqB,mBAAmB,WAAAA,oBAACtB,SAAS,EAAEM,GAAG,EAAEhB,IAAI,EAAW;IAAA,IAAAkC,MAAA;IAAA,SAAAC,IAAA,GAAA5G,SAAA,CAAAC,MAAA,EAAN4G,IAAI,OAAAC,KAAA,CAAAF,IAAA,OAAAA,IAAA,WAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,QAAA/G,SAAA,CAAA+G,IAAA;IAAA;IAC/C,IAAI,IAAAC,gBAAQ,EAACvB,GAAG,CAAC,EAAE;MACjBoB,IAAI,CAACI,OAAO,CAACxC,IAAI,CAAC;MAClBA,IAAI,GAAGgB,GAAG;MACVA,GAAG,GAAG;QACJC,KAAK,EAAE,IAAI;QACXR,SAAS,EAAE,SAAAA,UAAA;UAAA,SAAAgC,KAAA,GAAAlH,SAAA,CAAAC,MAAA,EAAIkH,IAAI,OAAAL,KAAA,CAAAI,KAAA,GAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;YAAJD,IAAI,CAAAC,KAAA,IAAApH,SAAA,CAAAoH,KAAA;UAAA;UAAA,OAAKT,MAAI,CAACF,mBAAmB,CAAA3G,KAAA,CAAxB6G,MAAI,GAAqBxB,SAAS,EAAEM,GAAG,EAAA4B,MAAA,CAAKF,IAAI,EAAC;QAAA;MAC3E,CAAC;IACH;IAEA,IAAMG,UAAU,GAAG7B,GAAG,CAACC,KAAK,CAACf,MAAM,CAACY,kBAAkB,CAAC+B,UAAU,CAAC5H,MAAM,CACtE,UAAC6H,EAAE;MAAA,OAAKA,EAAE,CAAC9C,IAAI,KAAKA,IAAI,KAAK,CAAC8C,EAAE,CAACpC,SAAS,IAAIoC,EAAE,CAACpC,SAAS,KAAKA,SAAS,CAAC;IAAA,CAC3E,CAAC;;IAED;IACA;IACA,OAAOmC,UAAU,CACd9C,MAAM,CACL,UAAC8B,OAAO,EAAEiB,EAAE;MAAA,OACVjB,OAAO,CAACP,IAAI,CAAC,YAAM;QACjB,IAAIwB,EAAE,CAACf,KAAK,EAAE;UAAA,IAAAgB,IAAA;UACZ,OAAO,CAAAA,IAAA,GAAA/B,GAAG,EAACP,SAAS,CAAApF,KAAA,CAAA0H,IAAA,GAACD,EAAE,CAACf,KAAK,EAAAa,MAAA,CAAKR,IAAI,EAAC;QACzC;QAEA,OAAOlB,QAAA,CAAAtF,OAAA,CAAQqG,OAAO,CAACa,EAAE,CAACvD,EAAE,CAAAlE,KAAA,CAALyH,EAAE,GAAI9B,GAAG,EAAA4B,MAAA,CAAKR,IAAI,EAAC,CAAC;MAC7C,CAAC,CAAC;IAAA,GACJlB,QAAA,CAAAtF,OAAA,CAAQqG,OAAO,CAAC,CAClB,CAAC,CACAX,IAAI,CAAC;MAAA,OAAM,IAAA0B,YAAI,EAACZ,IAAI,CAAC;IAAA,EAAC;EAC3B,CAAC;EAED;AACF;AACA;AACA;EACEa,SAAS,WAAAA,UAAA,EAAG;IACV;IACA,OAAOC,MAAM;EACf,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,UAAU,WAAAA,WAAA,EAAa;IAAA,IAAAC,MAAA;IAAA,IAAZ7E,KAAK,GAAAhD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,CAAC,CAAC;IACnB,IAAI,CAAC2E,MAAM,GAAG,IAAAmD,aAAK,EAAC,CAAC,CAAC,EAAEnD,eAAM,EAAE3B,KAAK,CAAC2B,MAAM,CAAC;;IAE7C;IACA;IACA;IACA;IACA;IACA,IAAI,CAACoD,OAAO,CAAC,eAAe,CAAC;IAE7B,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAS;MACrB,IAAIH,MAAI,CAACxD,MAAM,EAAE;QACf;AACR;AACA;AACA;AACA;AACA;QACQwD,MAAI,CAACE,OAAO,CAAC,QAAQ,CAAC;QAEtBF,MAAI,CAACI,aAAa,CAACJ,MAAI,EAAE,eAAe,EAAEG,QAAQ,CAAC;MACrD;IACF,CAAC;;IAED;IACAjH,OAAO,CAACmH,QAAQ,CAAC,YAAM;MACrBL,MAAI,CAACM,cAAc,CAACN,MAAI,EAAE,eAAe,EAAEG,QAAQ,CAAC;IACtD,CAAC,CAAC;IAEF,IAAMI,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;MACpB,IAAIP,MAAI,CAAC1D,KAAK,EAAE;QACd;AACR;AACA;AACA;AACA;AACA;QACQ0D,MAAI,CAACE,OAAO,CAAC,OAAO,CAAC;QAErBF,MAAI,CAACI,aAAa,CAACJ,MAAI,EAAE,cAAc,EAAEO,OAAO,CAAC;MACnD;IACF,CAAC;;IAED;IACArH,OAAO,CAACmH,QAAQ,CAAC,YAAM;MACrBL,MAAI,CAACM,cAAc,CAACN,MAAI,EAAE,cAAc,EAAEO,OAAO,CAAC;IACpD,CAAC,CAAC;;IAEF;IACA,IAAA9D,KAAA,CAAAjE,OAAA,EAAY,IAAI,CAAC0C,WAAW,CAACsF,SAAS,CAAC9D,SAAS,CAAC,CAACpE,OAAO,CAAC,UAACmI,GAAG,EAAK;MACjET,MAAI,CAACU,QAAQ,CAACV,MAAI,CAACS,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAa;QAAA,SAAAE,KAAA,GAAAxI,SAAA,CAAAC,MAAA,EAATkH,IAAI,OAAAL,KAAA,CAAA0B,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;UAAJtB,IAAI,CAAAsB,KAAA,IAAAzI,SAAA,CAAAyI,KAAA;QAAA;QACzCtB,IAAI,CAACF,OAAO,WAAAI,MAAA,CAAWiB,GAAG,CAAE,CAAC;QAC7BT,MAAI,CAACE,OAAO,CAAAjI,KAAA,CAAZ+H,MAAI,EAAYV,IAAI,CAAC;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAMuB,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAI,EAAEL,GAAG,EAAK;MACpC,IAAMM,WAAW,GAAGnI,YAAY,CAAC6H,GAAG,CAAC;MAErC,IAAI,CAAC,IAAAO,kBAAU,EAACD,WAAW,CAAC,EAAE;QAC5B,OAAOD,IAAI;MACb;MAEAA,IAAI,CAAC9I,IAAI,CAAC,IAAA+D,MAAA,CAAAvD,OAAA,EAAcuI,WAAW,EAAEf,MAAI,EAAE,EAAE,CAAC,CAAC;MAE/C,OAAOc,IAAI;IACb,CAAC;IAED,IAAIA,IAAI,GAAG,EAAE;IAEbA,IAAI,GAAGtG,eAAe,CAACmC,MAAM,CAACkE,cAAc,EAAEC,IAAI,CAAC;IACnDA,IAAI,GAAG,IAAArE,KAAA,CAAAjE,OAAA,EAAYI,YAAY,CAAC,CAC7Bf,MAAM,CAAC,UAAC4I,GAAG;MAAA,OAAK,EAAEjG,eAAe,CAACyG,QAAQ,CAACR,GAAG,CAAC,IAAIhG,gBAAgB,CAACwG,QAAQ,CAACR,GAAG,CAAC,CAAC;IAAA,EAAC,CACnF9D,MAAM,CAACkE,cAAc,EAAEC,IAAI,CAAC;IAC/BA,IAAI,GAAGrG,gBAAgB,CAACkC,MAAM,CAACkE,cAAc,EAAEC,IAAI,CAAC;IAEpD,IAAI,CAAC9D,OAAO,GAAG,IAAAkE,kBAAe,EAAC;MAC7BC,IAAI,EAAE,IAAI;MACVvI,YAAY,EAAEkI;IAChB,CAAC,CAAC;IAEF,IAAI,CAACM,mBAAmB,GAAG,IAAAA,kCAAmB,EAAC;MAC7CD,IAAI,EAAE,IAAI;MACVvI,YAAY,EAAEkI;IAChB,CAAC,CAAC;IAEF,IAAI,CAACO,kBAAkB,GAAGC,4BAAmB;IAE7C,IAAIpE,SAAS,MAAAsC,MAAA,CAAM,IAAA9D,WAAG,EAAC,IAAI,EAAE,yBAAyB,EAAE,cAAc,CAAC,OAAA8D,MAAA,CAAI,IAAA9D,WAAG,EAC5E,IAAI,EACJ,uBAAuB,EACvB6F,aAAI,CAACC,EAAE,CAAC,CACV,CAAC,CAAE;IAEH,IAAI,IAAA9F,WAAG,EAAC,IAAI,EAAE,yBAAyB,CAAC,EAAE;MACxCwB,SAAS,QAAAsC,MAAA,CAAQ,IAAA9D,WAAG,EAAC,IAAI,EAAE,yBAAyB,CAAC,CAAE;IACzD;IAEA,IAAI,CAACwB,SAAS,GAAGA,SAAS;EAC5B,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEuE,SAAS,WAAAA,UAAA,EAAiB;IAAA,IAAhBC,SAAS,GAAAvJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,CAAC,CAAC;IACtB,IAAI,CAAC2E,MAAM,GAAG,IAAAmD,aAAK,EAAC,CAAC,CAAC,EAAE,IAAI,CAACnD,MAAM,EAAE4E,SAAS,CAAC;EACjD,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE7F,eAAe,WAAAA,gBAAC8F,KAAK,EAAE;IACrB,IAAIA,KAAK,CAACV,QAAQ,CAAC,QAAQ,CAAC,IAAIU,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAACxJ,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;MACjEyJ,OAAO,CAACC,IAAI,uJAAAtC,MAAA,CAC4ImC,KAAK,CACxJI,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAC5BA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACzB,CAAC;MACDF,OAAO,CAACG,IAAI,CACV,4FACF,CAAC;MAED,OAAOL,KAAK,CAACI,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAACA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;IAChE;IACA;IACA;IAAA,KACK,IAAIJ,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAACxJ,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;MACxCyJ,OAAO,CAACC,IAAI,0BAAAtC,MAAA,CAERmC,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAACxJ,MAAM,GAAG,CAAC,mDAAAoH,MAAA,CACmBmC,KAAK,CAACI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAC5E,CAAC;MACDF,OAAO,CAACG,IAAI,CACV,4FACF,CAAC;MAED,OAAOL,KAAK,CAACI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;IACnC;IAEA,OAAOJ,KAAK,CAACI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;EACrC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,OAAO,WAAAA,QAACC,KAAK,EAAE;IACb,OAAOC,aAAI,CAACF,OAAO,CACjB,IAAAG,YAAI,EACF,IAAI,CAACC,SAAS,CAAC;MACbC,KAAK,EAAE,IAAI;MACXzF,OAAO,EAAE,IAAI;MACbb,OAAO,EAAE;IACX,CAAC,CAAC,EACF,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,QACF,CAAC,EACD;MAACkG,KAAK,EAALA;IAAK,CACR,CAAC;EACH,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEK,MAAM,WAAAA,OAACnH,OAAO,EAAW;IAAA,IAAAoH,MAAA;IAAA,SAAAC,KAAA,GAAAtK,SAAA,CAAAC,MAAA,EAAN4G,IAAI,OAAAC,KAAA,CAAAwD,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJ1D,IAAI,CAAA0D,KAAA,QAAAvK,SAAA,CAAAuK,KAAA;IAAA;IACrB;IACA;IACA,IAAMf,KAAK,GACT,IAAI,CAACtG,WAAW,CAACC,UAAU,KAC1B,IAAI,CAACD,WAAW,CAACC,UAAU,CAACqH,aAAa,IAAI,IAAI,CAACtH,WAAW,CAACC,UAAU,CAACC,YAAY,CAAC;IAEzFH,OAAO,GAAG,IAAAwH,OAAA,CAAApK,OAAA,EAAc;MAACmJ,KAAK,EAALA;IAAK,CAAC,EAAEvG,OAAO,CAAC;;IAEzC;IACA;IACA;IACA;IACA,OAAO,IAAI,CAAC0B,MAAM,CAAC+F,cAAc,CAC9BC,OAAO,CAAC,CAAC,CACTnG,MAAM,CACL,UAAC8B,OAAO,EAAAsE,KAAA;MAAA,IAAGC,MAAM,GAAAD,KAAA,CAANC,MAAM;QAAE7G,EAAE,GAAA4G,KAAA,CAAF5G,EAAE;MAAA,OACnBsC,OAAO,CAACP,IAAI,CAAC,YAAM;QACjB,OACEJ,QAAA,CAAAtF,OAAA,CAAQqG,OAAO,CACb,IAAA9C,MAAA,CAAAvD,OAAA,EAAc2D,EAAE,EAAEqG,MAAI,CAACQ,MAAM,CAAC,IAAIR,MAAI,CAACxH,QAAQ,CAACgI,MAAM,CAAC,GAAG5H,OAAO,EAAAoE,MAAA,CAAKR,IAAI,CAAC,CAC7E;QACE;QAAA,CACCiE,KAAK,CAAC,UAACC,GAAG,EAAK;UACdV,MAAI,CAACW,MAAM,CAACrB,IAAI,+BAAAtC,MAAA,CAA+BwD,MAAM,eAAYE,GAAG,CAAC;QACvE,CAAC,CAAC;MAER,CAAC,CAAC;IAAA,GACJpF,QAAA,CAAAtF,OAAA,CAAQqG,OAAO,CAAC,CAClB,CAAC,CACAX,IAAI,CAAC;MAAA,OAAMJ,QAAA,CAAAtF,OAAA,CAAQuF,GAAG,CAAC,CAACyE,MAAI,CAACvG,cAAc,CAACmH,KAAK,CAAC,CAAC,EAAEZ,MAAI,CAACnG,gBAAgB,CAAC+G,KAAK,CAAC,CAAC,CAAC,CAAC;IAAA,EAAC,CACrFlF,IAAI,CAAC;MAAA,IAAAmF,kBAAA;MAAA,OAAM,CAAAA,kBAAA,GAAAb,MAAI,CAACnH,WAAW,EAACiI,UAAU,CAAArL,KAAA,CAAAoL,kBAAA,EAAIrE,IAAI,CAAC;IAAA,EAAC,CAChDd,IAAI,CACH;MAAA,IAAAqF,oBAAA;MAAA,OACEf,MAAI,CAACgB,aAAa,IAClBhB,MAAI,CAACgB,aAAa,CAACjB,MAAM,IACzB,CAAAgB,oBAAA,GAAAf,MAAI,CAACgB,aAAa,EAACjB,MAAM,CAAAtK,KAAA,CAAAsL,oBAAA,GAACnI,OAAO,EAAAoE,MAAA,CAAKR,IAAI,EAAC;IAAA,CAC/C,CAAC,CACAd,IAAI,CAAC;MAAA,OAAMsE,MAAI,CAACtC,OAAO,CAAC,eAAe,CAAC;IAAA,EAAC;EAC9C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEuD,OAAO,WAAAA,QAAA,EAAU;IACf,IAAI,IAAI,CAACC,OAAO,EAAE;MAAA,IAAAC,aAAA;MAChB,OAAO,CAAAA,aAAA,OAAI,CAACD,OAAO,EAACE,gBAAgB,CAAA3L,KAAA,CAAA0L,aAAA,EAAAxL,SAAQ,CAAC;IAC/C;IAEA,OAAO2F,QAAA,CAAAtF,OAAA,CAAQqG,OAAO,CAAC,CAAC;EAC1B,CAAC;EAEKgF,MAAM,WAAAA,OAACzI,OAAO,EAAE;IAAA,IAAA0I,MAAA;IAAA,WAAAC,kBAAA,CAAAvL,OAAA,gBAAAwL,YAAA,CAAAxL,OAAA,CAAAyL,IAAA,UAAAC,QAAA;MAAA,IAAAC,KAAA,EAAA1F,OAAA;MAAA,OAAAuF,YAAA,CAAAxL,OAAA,CAAA4L,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,IACfpJ,OAAO,CAACqJ,IAAI;cAAAH,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAI,MAAA,WACR5G,QAAA,CAAAtF,OAAA,CAAQmM,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;UAAA;YAGhExJ,OAAO,CAACyJ,MAAM,GAAGzJ,OAAO,CAACyJ,MAAM,IAAI,CAAC,CAAC;YACrCzJ,OAAO,CAACyJ,MAAM,CAAC9E,UAAU,GAAG3E,OAAO,CAACyJ,MAAM,CAAC9E,UAAU,IAAI,CAAC,CAAC;YAC3D3E,OAAO,CAACyJ,MAAM,CAAChB,MAAM,GAAGzI,OAAO,CAACyJ,MAAM,CAAChB,MAAM,IAAI,CAAC,CAAC;YACnDzI,OAAO,CAACyJ,MAAM,CAACC,QAAQ,GAAG1J,OAAO,CAACyJ,MAAM,CAACC,QAAQ,IAAI,CAAC,CAAC;YAEvD,IAAAC,oBAAY,EACV3J,OAAO,CAACyJ,MAAM,CAAC9E,UAAU,EACzB;cACEiF,MAAM,EAAE,MAAM;cACdC,IAAI,EAAE;gBACJC,cAAc,EAAE;cAClB;YACF,CAAC,EACD,IAAA9C,YAAI,EAAChH,OAAO,EAAE,MAAM,EAAE,QAAQ,CAChC,CAAC;YAED,IAAA2J,oBAAY,EAAC3J,OAAO,CAACyJ,MAAM,CAAChB,MAAM,EAAE;cAClCmB,MAAM,EAAE,KAAK;cACb7D,IAAI,EAAE,KAAK;cACXgE,eAAe,EAAE,KAAK;cACtBF,IAAI,EAAE7J,OAAO,CAACqJ,IAAI;cAClBW,OAAO,EAAE;gBACP,YAAY,EAAE7D,aAAI,CAACC,EAAE,CAAC,CAAC;gBACvBgC,aAAa,EAAElK;cACjB;YACF,CAAC,CAAC;YAEF,IAAAyL,oBAAY,EACV3J,OAAO,CAACyJ,MAAM,CAACC,QAAQ,EACvB;cACEE,MAAM,EAAE;YACV,CAAC,EACD,IAAA5C,YAAI,EAAChH,OAAO,EAAE,MAAM,EAAE,QAAQ,CAChC,CAAC;YAEK+I,KAAK,GAAG,IAAIkB,oBAAY,CAAC,CAAC;YAE1B5G,OAAO,GAAGqF,MAAI,CAACwB,sBAAsB,CAAClK,OAAO,CAAC,CACjD8C,IAAI,CAAC,YAAM;cACV,IAAMP,CAAC,GAAGmG,MAAI,CAACyB,kBAAkB,CAACnK,OAAO,CAAC;cAE1C,IAAAoK,sBAAc,EAAC,UAAU,EAAE7H,CAAC,EAAEwG,KAAK,CAAC;cAEpC,OAAOxG,CAAC;YACV,CAAC,CAAC,CACDO,IAAI,CAAC;cAAA,SAAAuH,KAAA,GAAAtN,SAAA,CAAAC,MAAA,EAAIkH,IAAI,OAAAL,KAAA,CAAAwG,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;gBAAJpG,IAAI,CAAAoG,KAAA,IAAAvN,SAAA,CAAAuN,KAAA;cAAA;cAAA,OAAK5B,MAAI,CAAC6B,oBAAoB,CAAA1N,KAAA,CAAzB6L,MAAI,GAAsB1I,OAAO,EAAAoE,MAAA,CAAKF,IAAI,EAAC;YAAA,EAAC,CAC9DpB,IAAI,CAAC,UAAC0H,GAAG;cAAA,OAAA1N,aAAA,CAAAA,aAAA,KAAU0N,GAAG,CAACX,IAAI,GAAKW,GAAG,CAACR,OAAO;YAAA,CAAE,CAAC;YAEjD,IAAAS,mBAAW,EAAC1B,KAAK,EAAE1F,OAAO,CAAC;YAAC,OAAA6F,QAAA,CAAAI,MAAA,WAErBjG,OAAO;UAAA;UAAA;YAAA,OAAA6F,QAAA,CAAAwB,IAAA;QAAA;MAAA,GAAA5B,OAAA;IAAA;EAChB,CAAC;EAEDoB,sBAAsB,EAAE,SAASA,sBAAsBA,CAAClK,OAAO,EAAE;IAAA,IAAA2K,MAAA;IAC/D,IAAI,CAAC5C,MAAM,CAAC6C,KAAK,CAAC,mCAAmC,CAAC;IAEtD,OAAO,IAAI,CAAChJ,OAAO,CAAC5B,OAAO,CAACyJ,MAAM,CAAC9E,UAAU,CAAC,CAC3C7B,IAAI,CAAC,YAAa;MAAA,SAAA+H,KAAA,GAAA9N,SAAA,CAAAC,MAAA,EAATkH,IAAI,OAAAL,KAAA,CAAAgH,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;QAAJ5G,IAAI,CAAA4G,KAAA,IAAA/N,SAAA,CAAA+N,KAAA;MAAA;MACZ,IAAMC,0BAA0B,GAC9B,CAAC7G,IAAI,CAAC,CAAC,CAAC,CAAC2F,IAAI,CAACmB,mBAAmB,IAAI1L,mBAAmB,IAAI,IAAI,GAAG,IAAI;MACzE,IAAM2L,sBAAsB,GAAGjL,OAAO,CAACqJ,IAAI,CAAC6B,UAAU;MAEtD,IAAIH,0BAA0B,IAAIA,0BAA0B,GAAGE,sBAAsB,EAAE;QACrF,OAAON,MAAI,CAACQ,mBAAmB,CAAAtO,KAAA,CAAxB8N,MAAI,GAAqBM,sBAAsB,EAAA7G,MAAA,CAAKF,IAAI,EAAC;MAClE;MAEA,OAAOyG,MAAI,CAACS,mBAAmB,CAAAvO,KAAA,CAAxB8N,MAAI,GAAqB3K,OAAO,EAAAoE,MAAA,CAAKF,IAAI,EAAC;IACnD,CAAC,CAAC,CACDpB,IAAI,CAAC,UAAC0H,GAAG,EAAK;MACbG,MAAI,CAAC5C,MAAM,CAAC6C,KAAK,CAAC,kCAAkC,CAAC;MAErD,OAAOJ,GAAG;IACZ,CAAC,CAAC;EACN,CAAC;EAEDW,mBAAmB,WAAAA,oBAACF,sBAAsB,EAAEI,QAAQ,EAAE;IAAA,IAAAC,MAAA;IACpD,IAAI,CAACvD,MAAM,CAAC6C,KAAK,CAAC,gCAAgC,CAAC;IAEnD,OAAO,IAAI,CAAChJ,OAAO,CAAC;MAClBgI,MAAM,EAAE,QAAQ;MAChB2B,GAAG,EAAEF,QAAQ,CAACxB,IAAI,CAAC0B,GAAG;MACtBvB,OAAO,EAAEqB,QAAQ,CAACrL,OAAO,CAACgK;IAC5B,CAAC,CAAC,CAAClH,IAAI,CAAC,YAAM;MACZwI,MAAI,CAACvD,MAAM,CAAC6C,KAAK,CAAC,yCAAyC,CAAC;MAE5D,IAAMY,iBAAiB,GAAG;QACxBP,sBAAsB,EAAtBA,sBAAsB;QACtBQ,uBAAuB,EAAEJ,QAAQ,CAACxB,IAAI,CAACmB,mBAAmB,IAAI1L,mBAAmB;QACjFoM,OAAO,EAAE;MACX,CAAC;MAED,OAAOhJ,QAAA,CAAAtF,OAAA,CAAQmM,MAAM,CAAC,IAAIC,KAAK,IAAApF,MAAA,CAAI,IAAAuH,UAAA,CAAAvO,OAAA,EAAeoO,iBAAiB,CAAC,CAAE,CAAC,CAAC;IAC1E,CAAC,CAAC;EACJ,CAAC;EAEDJ,mBAAmB,WAAAA,oBAACpL,OAAO,EAAEwK,GAAG,EAAE;IAChC,IAAM/I,OAAO,GAAG+I,GAAG,CAACX,IAAI;IAExB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAACtI,MAAM,CAAC,UAACqK,IAAI,EAAEvG,GAAG,EAAK;MAC3CuG,IAAI,CAACvG,GAAG,CAAC,GAAG,IAAAhE,KAAA,CAAAjE,OAAA,EAAYwO,IAAI,CAACvG,GAAG,CAAC,CAAC,CAAC9D,MAAM,CAAC,UAACsK,YAAY,EAAEC,QAAQ,EAAK;QACpE,IAAIA,QAAQ,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;UAC5BF,YAAY,CAACC,QAAQ,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAGH,YAAY,CAACC,QAAQ,CAAC,CAACrK,OAAO,CAAC;UAClE,IAAAwK,eAAA,CAAA7O,OAAA,EAAuByO,YAAY,EAAEC,QAAQ,CAAC;QAChD;QAEA,OAAOD,YAAY;MACrB,CAAC,EAAED,IAAI,CAACvG,GAAG,CAAC,CAAC;MAEb,OAAOuG,IAAI;IACb,CAAC,EAAE5L,OAAO,CAACyJ,MAAM,CAAC;EACpB,CAAC;EAGDU,kBAAkB,WAAAA,mBAACnK,OAAO,EAAE;IAAA,IAAAkM,MAAA;IAC1B,IAAI,CAACnE,MAAM,CAAC6C,KAAK,CAAC,wBAAwB,CAAC;IAE3C,IAAMvH,OAAO,GAAG,IAAI,CAACzB,OAAO,CAAC5B,OAAO,CAACyJ,MAAM,CAAChB,MAAM,CAAC,CAAC3F,IAAI,CAAC,UAAC0H,GAAG,EAAK;MAChE0B,MAAI,CAACnE,MAAM,CAAC6C,KAAK,CAAC,uBAAuB,CAAC;MAE1C,OAAOJ,GAAG;IACZ,CAAC,CAAC;IAEF,IAAAC,mBAAW,EAACzK,OAAO,CAACyJ,MAAM,CAAChB,MAAM,CAACA,MAAM,EAAEpF,OAAO,CAAC;;IAElD;IACA,IAAIvF,OAAO,CAACC,GAAG,CAACoO,QAAQ,KAAK,MAAM,EAAE;MACnC9I,OAAO,CAAC+I,EAAE,CAAC,UAAU,EAAE,UAACC,KAAK,EAAK;QAChCH,MAAI,CAACnE,MAAM,CAACnB,IAAI,CAAC,iBAAiB,EAAEyF,KAAK,CAACjL,MAAM,EAAEiL,KAAK,CAACC,KAAK,CAAC;MAChE,CAAC,CAAC;IACJ;IAEA,OAAOjJ,OAAO;EAChB,CAAC;EAEDkH,oBAAoB,EAAE,SAASA,oBAAoBA,CAACvK,OAAO,EAAE;IAAA,IAAAuM,OAAA;IAC3D,IAAI,CAACxE,MAAM,CAAC6C,KAAK,CAAC,mCAAmC,CAAC;IAEtD,OAAO,IAAI,CAAChJ,OAAO,CAAC5B,OAAO,CAACyJ,MAAM,CAACC,QAAQ,CAAC,CAAC5G,IAAI,CAAC,UAAC0H,GAAG,EAAK;MACzD+B,OAAI,CAACxE,MAAM,CAAC6C,KAAK,CAAC,kCAAkC,CAAC;MAErD,OAAOJ,GAAG;IACZ,CAAC,CAAC;EACJ;AACF,CAAC,OAAAgC,0BAAA,CAAApP,OAAA,EAAAnB,IAAA,yBA/BEwQ,aAAK,OAAAC,yBAAA,CAAAtP,OAAA,EAAAnB,IAAA,yBAAAA,IAAA,IAAAA,IAAA,CA+BP,CAAC;AAEFsD,SAAS,CAACG,OAAO,kBAAkB;AAEnC,IAAAiN,qCAA6B,EAAC9M,0BAAiB,EAAE6B,eAAM,EAAElE,YAAY,CAAC;AACtE,IAAAoP,6BAAqB,EAACrN,SAAS,EAAEmC,eAAM,EAAElE,YAAY,CAAC;AAAC,IAAAqP,QAAA,GAAAC,OAAA,CAAA1P,OAAA,GAExCmC,SAAS;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASwN,cAAcA,CAACvL,IAAI,EAAE1B,WAAW,EAAgB;EAAA,IAAdE,OAAO,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,CAAC,CAAC;EAC5DwC,SAAS,CAACwN,cAAc,CAACvL,IAAI,EAAE1B,WAAW,EAAEE,OAAO,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASgN,sBAAsBA,CAACxL,IAAI,EAAE1B,WAAW,EAAEE,OAAO,EAAE;EACjEH,0BAAiB,CAACkN,cAAc,CAACvL,IAAI,EAAE1B,WAAW,EAAEE,OAAO,CAAC;AAC9D"}
|
package/package.json
CHANGED
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"@webex/eslint-config-legacy": "0.0.0",
|
|
36
36
|
"@webex/jest-config-legacy": "0.0.0",
|
|
37
37
|
"@webex/legacy-tools": "0.0.0",
|
|
38
|
-
"@webex/test-helper-chai": "3.
|
|
39
|
-
"@webex/test-helper-make-local-url": "3.
|
|
40
|
-
"@webex/test-helper-mocha": "3.
|
|
41
|
-
"@webex/test-helper-mock-webex": "3.
|
|
42
|
-
"@webex/test-helper-refresh-callback": "3.
|
|
43
|
-
"@webex/test-helper-test-users": "3.
|
|
38
|
+
"@webex/test-helper-chai": "3.5.0-next.10",
|
|
39
|
+
"@webex/test-helper-make-local-url": "3.5.0-next.10",
|
|
40
|
+
"@webex/test-helper-mocha": "3.5.0-next.10",
|
|
41
|
+
"@webex/test-helper-mock-webex": "3.5.0-next.10",
|
|
42
|
+
"@webex/test-helper-refresh-callback": "3.5.0-next.10",
|
|
43
|
+
"@webex/test-helper-test-users": "3.5.0-next.10",
|
|
44
44
|
"chai": "^4.3.4",
|
|
45
45
|
"chai-as-promised": "^7.1.1",
|
|
46
46
|
"eslint": "^8.24.0",
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
"sinon": "^9.2.4"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@webex/common": "3.
|
|
52
|
-
"@webex/common-timers": "3.
|
|
53
|
-
"@webex/http-core": "3.
|
|
54
|
-
"@webex/internal-plugin-device": "3.
|
|
55
|
-
"@webex/plugin-logger": "3.
|
|
56
|
-
"@webex/storage-adapter-spec": "3.
|
|
51
|
+
"@webex/common": "3.5.0-next.10",
|
|
52
|
+
"@webex/common-timers": "3.5.0-next.10",
|
|
53
|
+
"@webex/http-core": "3.5.0-next.10",
|
|
54
|
+
"@webex/internal-plugin-device": "3.5.0-next.10",
|
|
55
|
+
"@webex/plugin-logger": "3.5.0-next.10",
|
|
56
|
+
"@webex/storage-adapter-spec": "3.5.0-next.10",
|
|
57
57
|
"ampersand-collection": "^2.0.2",
|
|
58
58
|
"ampersand-events": "^2.0.2",
|
|
59
59
|
"ampersand-state": "^5.0.3",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"test:style": "eslint ./src/**/*.*",
|
|
74
74
|
"test:unit": "webex-legacy-tools test --unit --runner jest"
|
|
75
75
|
},
|
|
76
|
-
"version": "3.
|
|
76
|
+
"version": "3.5.0-next.10"
|
|
77
77
|
}
|
package/src/index.js
CHANGED
|
@@ -53,6 +53,7 @@ export {default as RequestLoggerInterceptor} from './interceptors/request-logger
|
|
|
53
53
|
export {default as RequestTimingInterceptor} from './interceptors/request-timing';
|
|
54
54
|
export {default as UserAgentInterceptor} from './interceptors/user-agent';
|
|
55
55
|
export {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';
|
|
56
|
+
export {sequenceNumbers as webexTrackingIdSequenceNumbers} from './interceptors/webex-tracking-id';
|
|
56
57
|
export {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';
|
|
57
58
|
export {default as RateLimitInterceptor} from './interceptors/rate-limit';
|
|
58
59
|
export {default as EmbargoInterceptor} from './interceptors/embargo';
|