@webex/webex-core 1.159.3 → 1.159.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/config.js.map +1 -1
  2. package/dist/credentials-config.js.map +1 -1
  3. package/dist/index.js +88 -88
  4. package/dist/index.js.map +1 -1
  5. package/dist/interceptors/auth.js.map +1 -1
  6. package/dist/interceptors/default-options.js.map +1 -1
  7. package/dist/interceptors/embargo.js.map +1 -1
  8. package/dist/interceptors/network-timing.js.map +1 -1
  9. package/dist/interceptors/payload-transformer.js.map +1 -1
  10. package/dist/interceptors/rate-limit.js.map +1 -1
  11. package/dist/interceptors/redirect.js.map +1 -1
  12. package/dist/interceptors/request-event.js.map +1 -1
  13. package/dist/interceptors/request-logger.js.map +1 -1
  14. package/dist/interceptors/request-timing.js.map +1 -1
  15. package/dist/interceptors/response-logger.js.map +1 -1
  16. package/dist/interceptors/user-agent.js.map +1 -1
  17. package/dist/interceptors/webex-tracking-id.js.map +1 -1
  18. package/dist/interceptors/webex-user-agent.js.map +1 -1
  19. package/dist/lib/batcher.js +1 -1
  20. package/dist/lib/batcher.js.map +1 -1
  21. package/dist/lib/credentials/credentials.js +1 -1
  22. package/dist/lib/credentials/credentials.js.map +1 -1
  23. package/dist/lib/credentials/grant-errors.js +6 -6
  24. package/dist/lib/credentials/grant-errors.js.map +1 -1
  25. package/dist/lib/credentials/index.js +8 -8
  26. package/dist/lib/credentials/index.js.map +1 -1
  27. package/dist/lib/credentials/scope.js +1 -1
  28. package/dist/lib/credentials/scope.js.map +1 -1
  29. package/dist/lib/credentials/token-collection.js.map +1 -1
  30. package/dist/lib/credentials/token.js +1 -1
  31. package/dist/lib/credentials/token.js.map +1 -1
  32. package/dist/lib/page.js.map +1 -1
  33. package/dist/lib/services/constants.js +1 -1
  34. package/dist/lib/services/constants.js.map +1 -1
  35. package/dist/lib/services/index.js +12 -12
  36. package/dist/lib/services/index.js.map +1 -1
  37. package/dist/lib/services/interceptors/server-error.js.map +1 -1
  38. package/dist/lib/services/interceptors/service.js +1 -1
  39. package/dist/lib/services/interceptors/service.js.map +1 -1
  40. package/dist/lib/services/metrics.js.map +1 -1
  41. package/dist/lib/services/service-catalog.js +2 -2
  42. package/dist/lib/services/service-catalog.js.map +1 -1
  43. package/dist/lib/services/service-fed-ramp.js.map +1 -1
  44. package/dist/lib/services/service-host.js.map +1 -1
  45. package/dist/lib/services/service-registry.js +2 -2
  46. package/dist/lib/services/service-registry.js.map +1 -1
  47. package/dist/lib/services/service-state.js.map +1 -1
  48. package/dist/lib/services/service-url.js.map +1 -1
  49. package/dist/lib/services/services.js +3 -3
  50. package/dist/lib/services/services.js.map +1 -1
  51. package/dist/lib/stateless-webex-plugin.js.map +1 -1
  52. package/dist/lib/storage/decorators.js.map +1 -1
  53. package/dist/lib/storage/errors.js +5 -3
  54. package/dist/lib/storage/errors.js.map +1 -1
  55. package/dist/lib/storage/index.js +12 -12
  56. package/dist/lib/storage/index.js.map +1 -1
  57. package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
  58. package/dist/lib/storage/make-webex-store.js.map +1 -1
  59. package/dist/lib/storage/memory-store-adapter.js.map +1 -1
  60. package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
  61. package/dist/lib/webex-http-error.js +1 -1
  62. package/dist/lib/webex-http-error.js.map +1 -1
  63. package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
  64. package/dist/lib/webex-plugin.js.map +1 -1
  65. package/dist/plugins/logger.js +1 -1
  66. package/dist/plugins/logger.js.map +1 -1
  67. package/dist/webex-core.js +6 -6
  68. package/dist/webex-core.js.map +1 -1
  69. package/dist/webex-internal-core.js.map +1 -1
  70. package/package.json +5 -5
  71. package/src/lib/services/interceptors/service.js +1 -1
  72. package/src/lib/stateless-webex-plugin.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["decorators.js"],"names":["persist","args","length","key","decider","persistDecorator","target","prop","descriptor","TypeError","value","persistExecutor","fn","initializeArgs","ret","changeEvent","on","shouldPersist","Reflect","resolve","boundedStorage","put","prepareInitialize","M","S","BlockingKeyMap","blockingKeys","waitForValue","Error","waitForValueDecorator","add","waitForValueExecutor","keys","get","all","map","k","waitFor","then","prototype","inited","identifyTarget","namespace","stack","id","has","initialize","applyInit","init","self","getNamespace","webex","set","logger","debug","parent","toLowerCase","handle","reason","NotFoundError","process","env","NODE_ENV","toString","includes","error","reject","promises","forEach","push","catch","delete","size","loaded"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint no-invalid-this: [0] */\n\nimport {\n curry,\n debounce,\n identity,\n result,\n wrap\n} from 'lodash';\nimport {make} from '@webex/common';\n\nimport {NotFoundError} from './errors';\n\n/**\n * Stores the result of fn before returning it\n * @param {string} key\n * @private\n * @returns {Promise} resolves with the result of fn\n */\nexport function persist(...args) {\n if (args.length === 3) {\n return persist('@')(...args);\n }\n\n const [key, decider] = args;\n\n return function persistDecorator(target, prop, descriptor) {\n if (prop !== 'initialize') {\n // Once we have class-based alternative to AmpersandState, it should be\n // detected here.\n throw new TypeError('@persist can only currently be applied to AmpersandState objects or their derivatives and must be applied to the initialize method');\n }\n\n descriptor.value = wrap(descriptor.value, function persistExecutor(fn, ...initializeArgs) {\n const ret = Reflect.apply(fn, this, initializeArgs);\n const changeEvent = key === '@' ? 'change' : `change:${key}`;\n\n // Some scenarios will lead to lots of change events on a single tick; we\n // really only care about writing once things have stopped changing. with\n // a debounce of zero, we're effectively coalescing all the changes\n // triggered by a single call to set() and commiting them on the next tick\n // eslint-disable-next-line no-invalid-this\n this.on(changeEvent, debounce(() => {\n const shouldPersist = !decider || Reflect.apply(decider, this, ...initializeArgs);\n\n if (!shouldPersist) {\n return Promise.resolve();\n }\n if (key === '@') {\n // eslint-disable-next-line no-invalid-this\n return this.boundedStorage.put(key, this);\n }\n\n // eslint-disable-next-line no-invalid-this\n return this.boundedStorage.put(key, this[key]);\n }, 0));\n\n return ret;\n });\n\n prepareInitialize(target, prop);\n };\n}\n\nconst M = Map;\nconst S = Set;\nconst BlockingKeyMap = make(M, M, S);\nconst blockingKeys = new BlockingKeyMap();\n\n/**\n * Prevents fn from executing until key has been (attempted to be) loaded\n * @param {string} key\n * @param {Function} fn\n * @private\n * @returns {Promise} result of fn\n */\nexport function waitForValue(key) {\n if (!key) {\n throw new Error('`key` is required');\n }\n\n return function waitForValueDecorator(target, prop, descriptor) {\n blockingKeys.add(target, prop, key);\n descriptor.value = wrap(descriptor.value, function waitForValueExecutor(fn, ...args) {\n const keys = blockingKeys.get(target, prop);\n\n return Promise.all([...keys].map((k) => this.boundedStorage.waitFor(k)))\n .then(() => Reflect.apply(fn, this, args));\n });\n\n // This *should* make decorators compatible with AmpersandState class\n // definitions\n if (typeof target === 'object' && !target.prototype) {\n target[prop] = descriptor.value;\n }\n\n prepareInitialize(target, prop);\n\n return descriptor;\n };\n}\n\nconst inited = new Set();\n\n/**\n * finds a means of identitying the `target` param passed to\n * `prepareInitialize()`. When possible, avoids duplicate `init()` calls if\n * namespaces collide\n *\n * @param {Object|Constructor} target\n * @private\n * @returns {String|Constructor}\n */\nfunction identifyTarget(target) {\n if (target.namespace) {\n return target.namespace;\n }\n\n return target;\n}\n\nconst stack = new Set();\n\n/**\n * @param {Function} target\n * @param {string} prop\n * @private\n * @returns {undefined}\n */\nfunction prepareInitialize(target, prop) {\n const id = identifyTarget(target);\n\n if (!inited.has(id)) {\n inited.add(id);\n if (target.initialize) {\n target.initialize = wrap(target.initialize, function applyInit(fn, ...args) {\n const ret = Reflect.apply(fn, this, args);\n\n Reflect.apply(init, this, args);\n\n return ret;\n });\n\n return;\n }\n\n target.initialize = init;\n }\n\n /**\n * @private\n * @returns {undefined}\n */\n function init() {\n const self = this;\n const namespace = this.getNamespace();\n\n this.webex.initialize = wrap(this.webex.initialize || identity, function applyInit(fn, ...args) {\n // Call webex's initalize method first\n // Reminder: in order for MockWebex to accept initial storage data, the\n // wrapped initialize() must be invoked before attempting to load data.\n // Reminder: context here is `webex`, not `self`.\n stack.add(namespace);\n Reflect.apply(fn, this, args);\n\n // Then prepare a function for setting values retrieved from storage\n const set = curry((key, value) => {\n this.logger.debug(`storage:(${namespace}): got \\`${key}\\` for first time`);\n if (key === '@') {\n self.parent.set({\n [namespace.toLowerCase()]: value\n });\n }\n else if (result(self[key], 'isState')) {\n self[key].set(value);\n }\n else {\n self.set(key, value);\n }\n this.logger.debug(`storage:(${namespace}): set \\`${key}\\` for first time`);\n });\n\n // And prepare an error handler for when those keys can't be found\n const handle = curry((key, reason) => {\n if (reason instanceof NotFoundError || process.env.NODE_ENV !== 'production' && reason.toString().includes('MockNotFoundError')) {\n this.logger.debug(`storage(${namespace}): no data for \\`${key}\\`, continuing`);\n\n return Promise.resolve();\n }\n this.logger.error(`storage(${namespace}): failed to init \\`${key}\\``, reason);\n\n return Promise.reject(reason);\n });\n\n // Iterate over the list of keys marked as blocking via `@waitForValue`\n const keys = blockingKeys.get(target, prop);\n const promises = [];\n\n keys.forEach((key) => {\n promises.push(this.boundedStorage.get(namespace, key)\n .then(set(key))\n .catch(handle(key)));\n });\n\n Promise.all(promises)\n .then(() => {\n stack.delete(namespace);\n if (stack.size === 0) {\n this.loaded = true;\n }\n });\n });\n }\n}\n"]}
1
+ {"version":3,"names":["persist","args","length","key","decider","persistDecorator","target","prop","descriptor","TypeError","value","persistExecutor","fn","initializeArgs","ret","changeEvent","on","shouldPersist","Reflect","resolve","boundedStorage","put","prepareInitialize","M","S","BlockingKeyMap","blockingKeys","waitForValue","Error","waitForValueDecorator","add","waitForValueExecutor","keys","get","all","map","k","waitFor","then","prototype","inited","identifyTarget","namespace","stack","id","has","initialize","applyInit","init","self","getNamespace","webex","set","logger","debug","parent","toLowerCase","handle","reason","NotFoundError","process","env","NODE_ENV","toString","includes","error","reject","promises","forEach","push","catch","delete","size","loaded"],"sources":["decorators.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint no-invalid-this: [0] */\n\nimport {\n curry,\n debounce,\n identity,\n result,\n wrap\n} from 'lodash';\nimport {make} from '@webex/common';\n\nimport {NotFoundError} from './errors';\n\n/**\n * Stores the result of fn before returning it\n * @param {string} key\n * @private\n * @returns {Promise} resolves with the result of fn\n */\nexport function persist(...args) {\n if (args.length === 3) {\n return persist('@')(...args);\n }\n\n const [key, decider] = args;\n\n return function persistDecorator(target, prop, descriptor) {\n if (prop !== 'initialize') {\n // Once we have class-based alternative to AmpersandState, it should be\n // detected here.\n throw new TypeError('@persist can only currently be applied to AmpersandState objects or their derivatives and must be applied to the initialize method');\n }\n\n descriptor.value = wrap(descriptor.value, function persistExecutor(fn, ...initializeArgs) {\n const ret = Reflect.apply(fn, this, initializeArgs);\n const changeEvent = key === '@' ? 'change' : `change:${key}`;\n\n // Some scenarios will lead to lots of change events on a single tick; we\n // really only care about writing once things have stopped changing. with\n // a debounce of zero, we're effectively coalescing all the changes\n // triggered by a single call to set() and commiting them on the next tick\n // eslint-disable-next-line no-invalid-this\n this.on(changeEvent, debounce(() => {\n const shouldPersist = !decider || Reflect.apply(decider, this, ...initializeArgs);\n\n if (!shouldPersist) {\n return Promise.resolve();\n }\n if (key === '@') {\n // eslint-disable-next-line no-invalid-this\n return this.boundedStorage.put(key, this);\n }\n\n // eslint-disable-next-line no-invalid-this\n return this.boundedStorage.put(key, this[key]);\n }, 0));\n\n return ret;\n });\n\n prepareInitialize(target, prop);\n };\n}\n\nconst M = Map;\nconst S = Set;\nconst BlockingKeyMap = make(M, M, S);\nconst blockingKeys = new BlockingKeyMap();\n\n/**\n * Prevents fn from executing until key has been (attempted to be) loaded\n * @param {string} key\n * @param {Function} fn\n * @private\n * @returns {Promise} result of fn\n */\nexport function waitForValue(key) {\n if (!key) {\n throw new Error('`key` is required');\n }\n\n return function waitForValueDecorator(target, prop, descriptor) {\n blockingKeys.add(target, prop, key);\n descriptor.value = wrap(descriptor.value, function waitForValueExecutor(fn, ...args) {\n const keys = blockingKeys.get(target, prop);\n\n return Promise.all([...keys].map((k) => this.boundedStorage.waitFor(k)))\n .then(() => Reflect.apply(fn, this, args));\n });\n\n // This *should* make decorators compatible with AmpersandState class\n // definitions\n if (typeof target === 'object' && !target.prototype) {\n target[prop] = descriptor.value;\n }\n\n prepareInitialize(target, prop);\n\n return descriptor;\n };\n}\n\nconst inited = new Set();\n\n/**\n * finds a means of identitying the `target` param passed to\n * `prepareInitialize()`. When possible, avoids duplicate `init()` calls if\n * namespaces collide\n *\n * @param {Object|Constructor} target\n * @private\n * @returns {String|Constructor}\n */\nfunction identifyTarget(target) {\n if (target.namespace) {\n return target.namespace;\n }\n\n return target;\n}\n\nconst stack = new Set();\n\n/**\n * @param {Function} target\n * @param {string} prop\n * @private\n * @returns {undefined}\n */\nfunction prepareInitialize(target, prop) {\n const id = identifyTarget(target);\n\n if (!inited.has(id)) {\n inited.add(id);\n if (target.initialize) {\n target.initialize = wrap(target.initialize, function applyInit(fn, ...args) {\n const ret = Reflect.apply(fn, this, args);\n\n Reflect.apply(init, this, args);\n\n return ret;\n });\n\n return;\n }\n\n target.initialize = init;\n }\n\n /**\n * @private\n * @returns {undefined}\n */\n function init() {\n const self = this;\n const namespace = this.getNamespace();\n\n this.webex.initialize = wrap(this.webex.initialize || identity, function applyInit(fn, ...args) {\n // Call webex's initalize method first\n // Reminder: in order for MockWebex to accept initial storage data, the\n // wrapped initialize() must be invoked before attempting to load data.\n // Reminder: context here is `webex`, not `self`.\n stack.add(namespace);\n Reflect.apply(fn, this, args);\n\n // Then prepare a function for setting values retrieved from storage\n const set = curry((key, value) => {\n this.logger.debug(`storage:(${namespace}): got \\`${key}\\` for first time`);\n if (key === '@') {\n self.parent.set({\n [namespace.toLowerCase()]: value\n });\n }\n else if (result(self[key], 'isState')) {\n self[key].set(value);\n }\n else {\n self.set(key, value);\n }\n this.logger.debug(`storage:(${namespace}): set \\`${key}\\` for first time`);\n });\n\n // And prepare an error handler for when those keys can't be found\n const handle = curry((key, reason) => {\n if (reason instanceof NotFoundError || process.env.NODE_ENV !== 'production' && reason.toString().includes('MockNotFoundError')) {\n this.logger.debug(`storage(${namespace}): no data for \\`${key}\\`, continuing`);\n\n return Promise.resolve();\n }\n this.logger.error(`storage(${namespace}): failed to init \\`${key}\\``, reason);\n\n return Promise.reject(reason);\n });\n\n // Iterate over the list of keys marked as blocking via `@waitForValue`\n const keys = blockingKeys.get(target, prop);\n const promises = [];\n\n keys.forEach((key) => {\n promises.push(this.boundedStorage.get(namespace, key)\n .then(set(key))\n .catch(handle(key)));\n });\n\n Promise.all(promises)\n .then(() => {\n stack.delete(namespace);\n if (stack.size === 0) {\n this.loaded = true;\n }\n });\n });\n }\n}\n"],"mappings":"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"}
@@ -10,7 +10,9 @@ _Object$defineProperty(exports, "__esModule", {
10
10
  value: true
11
11
  });
12
12
 
13
- exports.NotFoundError = exports.StorageError = void 0;
13
+ exports.StorageError = exports.NotFoundError = void 0;
14
+
15
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
14
16
 
15
17
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
16
18
 
@@ -39,7 +41,7 @@ var StorageError = /*#__PURE__*/function (_Exception) {
39
41
  return _super.apply(this, arguments);
40
42
  }
41
43
 
42
- return StorageError;
44
+ return (0, _createClass2.default)(StorageError);
43
45
  }(_common.Exception);
44
46
  /**
45
47
  * StorageError thrown when the storage layer does not contain the request key
@@ -58,7 +60,7 @@ var NotFoundError = /*#__PURE__*/function (_StorageError) {
58
60
  return _super2.apply(this, arguments);
59
61
  }
60
62
 
61
- return NotFoundError;
63
+ return (0, _createClass2.default)(NotFoundError);
62
64
  }(StorageError);
63
65
 
64
66
  exports.NotFoundError = NotFoundError;
@@ -1 +1 @@
1
- {"version":3,"sources":["errors.js"],"names":["StorageError","Exception","NotFoundError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;;AAEA;AACA;AACA;IACaA,Y;;;;;;;;;;;EAAqBC,iB;AAElC;AACA;AACA;;;;;IACaC,a;;;;;;;;;;;EAAsBF,Y","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Exception} from '@webex/common';\n\n/**\n * General storage layer error\n */\nexport class StorageError extends Exception {}\n\n/**\n * StorageError thrown when the storage layer does not contain the request key\n */\nexport class NotFoundError extends StorageError {}\n"]}
1
+ {"version":3,"names":["StorageError","Exception","NotFoundError"],"sources":["errors.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Exception} from '@webex/common';\n\n/**\n * General storage layer error\n */\nexport class StorageError extends Exception {}\n\n/**\n * StorageError thrown when the storage layer does not contain the request key\n */\nexport class NotFoundError extends StorageError {}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;;AAEA;AACA;AACA;IACaA,Y;;;;;;;;;;;EAAqBC,iB;AAElC;AACA;AACA;;;;;IACaC,a;;;;;;;;;;;EAAsBF,Y"}
@@ -8,24 +8,24 @@ _Object$defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
 
11
- _Object$defineProperty(exports, "persist", {
11
+ _Object$defineProperty(exports, "MemoryStoreAdapter", {
12
12
  enumerable: true,
13
13
  get: function get() {
14
- return _decorators.persist;
14
+ return _memoryStoreAdapter.default;
15
15
  }
16
16
  });
17
17
 
18
- _Object$defineProperty(exports, "waitForValue", {
18
+ _Object$defineProperty(exports, "NotFoundError", {
19
19
  enumerable: true,
20
20
  get: function get() {
21
- return _decorators.waitForValue;
21
+ return _errors.NotFoundError;
22
22
  }
23
23
  });
24
24
 
25
- _Object$defineProperty(exports, "makeWebexStore", {
25
+ _Object$defineProperty(exports, "StorageError", {
26
26
  enumerable: true,
27
27
  get: function get() {
28
- return _makeWebexStore.default;
28
+ return _errors.StorageError;
29
29
  }
30
30
  });
31
31
 
@@ -36,24 +36,24 @@ _Object$defineProperty(exports, "makeWebexPluginStore", {
36
36
  }
37
37
  });
38
38
 
39
- _Object$defineProperty(exports, "MemoryStoreAdapter", {
39
+ _Object$defineProperty(exports, "makeWebexStore", {
40
40
  enumerable: true,
41
41
  get: function get() {
42
- return _memoryStoreAdapter.default;
42
+ return _makeWebexStore.default;
43
43
  }
44
44
  });
45
45
 
46
- _Object$defineProperty(exports, "StorageError", {
46
+ _Object$defineProperty(exports, "persist", {
47
47
  enumerable: true,
48
48
  get: function get() {
49
- return _errors.StorageError;
49
+ return _decorators.persist;
50
50
  }
51
51
  });
52
52
 
53
- _Object$defineProperty(exports, "NotFoundError", {
53
+ _Object$defineProperty(exports, "waitForValue", {
54
54
  enumerable: true,
55
55
  get: function get() {
56
- return _errors.NotFoundError;
56
+ return _decorators.waitForValue;
57
57
  }
58
58
  });
59
59
 
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAIA;;AACA;;AACA;;AACA","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport {\n persist,\n waitForValue\n} from './decorators';\nexport {default as makeWebexStore} from './make-webex-store.js';\nexport {default as makeWebexPluginStore} from './make-webex-plugin-store.js';\nexport {default as MemoryStoreAdapter} from './memory-store-adapter';\nexport {StorageError, NotFoundError} from './errors';\n"]}
1
+ {"version":3,"names":[],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport {\n persist,\n waitForValue\n} from './decorators';\nexport {default as makeWebexStore} from './make-webex-store.js';\nexport {default as makeWebexPluginStore} from './make-webex-plugin-store.js';\nexport {default as MemoryStoreAdapter} from './memory-store-adapter';\nexport {StorageError, NotFoundError} from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAIA;;AACA;;AACA;;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["make-webex-plugin-store.js"],"names":["defers","serialize","value","serialized","forEach","key","val","length","undefined","map","k","empty","reduce","acc","makeWebexPluginStorage","type","context","WebexPluginStorage","keyFactory","set","webex","del","getNamespace","args","defer","get","Defer","then","res","resolve","put","logger","debug","promise","initValue","parent","catch","reason","NotFoundError","process","env","NODE_ENV","toString","includes","warn","reject"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Defer, oneFlight} from '@webex/common';\nimport {isArray, isObject, result} from 'lodash';\n\nimport {NotFoundError} from './errors';\n\nconst defers = new WeakMap();\n\n/**\n * Walks an object before writing it to the store and omits empty arrays\n * @private\n * @param {Object} value\n * @returns {Object}\n */\nfunction serialize(value) {\n if (!isObject(value)) {\n return value;\n }\n\n const serialized = value.serialize ? value.serialize() : value;\n\n Object.keys(serialized).forEach((key) => {\n const val = serialized[key];\n\n if (isArray(val)) {\n if (val.length === 0) {\n serialized[key] = undefined;\n }\n else {\n serialized[key] = val.map(serialize);\n }\n }\n else if (isObject(val)) {\n Object.keys(val).forEach((k) => {\n val[k] = serialize(val[k]);\n });\n }\n });\n\n const empty = Object.keys(serialized).reduce((acc, key) => acc && !serialized[key], true);\n\n if (empty) {\n return undefined;\n }\n\n return serialized;\n}\n\n/**\n * [makeWebexPluginStorage description]\n * @param {[type]} type\n * @param {[type]} context\n * @private\n * @returns {[type]}\n */\nexport default function makeWebexPluginStorage(type, context) {\n /**\n * Interface between WebexPlugin and Webex#boundeStorage or\n * Webex#unboundedStorage\n */\n class WebexPluginStorage {\n /**\n * @param {Object} attrs\n * @param {Object} options\n * @returns {WebexPluginStorage}\n */\n constructor() {\n defers.set(this, new Map());\n }\n\n /**\n * Clears an entire namespace\n * @returns {Promise}\n */\n clear() {\n return context.webex[`${type}Storage`].del(context.getNamespace());\n }\n\n /**\n * Deletes the specified key from the store\n * @param {string} key\n * @returns {[type]}\n */\n del(...args) {\n return context.webex[`${type}Storage`].del(context.getNamespace(), ...args);\n }\n\n /**\n * Retrieves the value specified by key from the store. Rejects with\n * NotFoundError if no value can be found\n * @param {string} key\n * @returns {Promise}\n */\n get(key) {\n let defer = defers.get(this).get(key);\n\n if (!defer) {\n defer = new Defer();\n defers.get(this).set(key, defer);\n }\n\n return context.webex[`${type}Storage`].get(context.getNamespace(), key)\n .then((res) => {\n defer.resolve();\n\n return res;\n });\n }\n\n /**\n * Writes a value to the store\n * @param {string} key\n * @param {any} value\n * @returns {Promise}\n */\n put(key, value) {\n return context.webex[`${type}Storage`].put(context.getNamespace(), key, serialize(value));\n }\n\n /**\n * Returns a Promise that won't resolve until the value specified by key has\n * been attempted to be loaded from the store. This allows us to lazily\n * prevent certain method from executing until the specified keys have been\n * retrieved from the store.\n * @param {string} key\n * @returns {Promise}\n */\n waitFor(key) {\n context.logger.debug(`plugin-storage(${context.getNamespace()}): waiting to init key \\`${key}\\``);\n const defer = defers.get(this).get(key);\n\n if (defer) {\n context.logger.debug(`plugin-storage(${context.getNamespace()}): already inited \\`${key}\\``);\n\n return defer.promise;\n }\n\n context.logger.debug(`plugin-storage(${context.getNamespace()}): initing \\`${key}\\``);\n\n return this.initValue(key);\n }\n\n @oneFlight({keyFactory: (key) => `initValue-${key}`})\n /**\n * Attempts to load the specified key from the store and set it on the parent\n * object.\n * @param {string} key\n * @returns {Promise} Resolves (but not with the retrieved value) when\n * the value retrieval complete\n */\n // suppress doc warning because decorators confuse eslint\n // eslint-disable-next-line require-jsdoc\n initValue(key) {\n const defer = new Defer();\n\n defers.get(this).set(key, defer);\n\n // Intentionally bypasses this.get so we don't resolve the promise until\n // after the parent value is set.\n context.webex[`${type}Storage`].get(context.getNamespace(), key)\n .then((value) => {\n context.logger.debug(`plugin-storage(${context.getNamespace()}): got \\`${key}\\` for first time`);\n if (key === '@') {\n context.parent.set(value);\n }\n else if (result(context[key], 'isState')) {\n context[key].set(value);\n }\n else {\n context.set(key, value);\n }\n context.logger.debug(`plugin-storage(${context.getNamespace()}): set \\`${key}\\` for first time`);\n defer.resolve();\n context.logger.debug(`plugin-storage(${context.getNamespace()}): inited \\`${key}\\``);\n })\n .catch((reason) => {\n // The next conditional is a bit of an unfortunate solution to deal\n // with circular dependencies in unit tests. It should not effect\n // integration tests or production code.\n if (reason instanceof NotFoundError || process.env.NODE_ENV !== 'production' && reason.toString().includes('MockNotFoundError')) {\n context.logger.debug(`plugin-storage(${context.getNamespace()}): no data for \\`${key}\\`, continuing`);\n\n return defer.resolve();\n }\n context.logger.warn(`plugin-storage(${context.getNamespace()}): failed to init \\`${key}\\``, reason);\n\n return defer.reject(reason);\n });\n\n return defer.promise;\n }\n }\n\n return new WebexPluginStorage();\n}\n"]}
1
+ {"version":3,"names":["defers","serialize","value","serialized","forEach","key","val","length","undefined","map","k","empty","reduce","acc","makeWebexPluginStorage","type","context","WebexPluginStorage","keyFactory","set","webex","del","getNamespace","args","defer","get","Defer","then","res","resolve","put","logger","debug","promise","initValue","parent","catch","reason","NotFoundError","process","env","NODE_ENV","toString","includes","warn","reject"],"sources":["make-webex-plugin-store.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Defer, oneFlight} from '@webex/common';\nimport {isArray, isObject, result} from 'lodash';\n\nimport {NotFoundError} from './errors';\n\nconst defers = new WeakMap();\n\n/**\n * Walks an object before writing it to the store and omits empty arrays\n * @private\n * @param {Object} value\n * @returns {Object}\n */\nfunction serialize(value) {\n if (!isObject(value)) {\n return value;\n }\n\n const serialized = value.serialize ? value.serialize() : value;\n\n Object.keys(serialized).forEach((key) => {\n const val = serialized[key];\n\n if (isArray(val)) {\n if (val.length === 0) {\n serialized[key] = undefined;\n }\n else {\n serialized[key] = val.map(serialize);\n }\n }\n else if (isObject(val)) {\n Object.keys(val).forEach((k) => {\n val[k] = serialize(val[k]);\n });\n }\n });\n\n const empty = Object.keys(serialized).reduce((acc, key) => acc && !serialized[key], true);\n\n if (empty) {\n return undefined;\n }\n\n return serialized;\n}\n\n/**\n * [makeWebexPluginStorage description]\n * @param {[type]} type\n * @param {[type]} context\n * @private\n * @returns {[type]}\n */\nexport default function makeWebexPluginStorage(type, context) {\n /**\n * Interface between WebexPlugin and Webex#boundeStorage or\n * Webex#unboundedStorage\n */\n class WebexPluginStorage {\n /**\n * @param {Object} attrs\n * @param {Object} options\n * @returns {WebexPluginStorage}\n */\n constructor() {\n defers.set(this, new Map());\n }\n\n /**\n * Clears an entire namespace\n * @returns {Promise}\n */\n clear() {\n return context.webex[`${type}Storage`].del(context.getNamespace());\n }\n\n /**\n * Deletes the specified key from the store\n * @param {string} key\n * @returns {[type]}\n */\n del(...args) {\n return context.webex[`${type}Storage`].del(context.getNamespace(), ...args);\n }\n\n /**\n * Retrieves the value specified by key from the store. Rejects with\n * NotFoundError if no value can be found\n * @param {string} key\n * @returns {Promise}\n */\n get(key) {\n let defer = defers.get(this).get(key);\n\n if (!defer) {\n defer = new Defer();\n defers.get(this).set(key, defer);\n }\n\n return context.webex[`${type}Storage`].get(context.getNamespace(), key)\n .then((res) => {\n defer.resolve();\n\n return res;\n });\n }\n\n /**\n * Writes a value to the store\n * @param {string} key\n * @param {any} value\n * @returns {Promise}\n */\n put(key, value) {\n return context.webex[`${type}Storage`].put(context.getNamespace(), key, serialize(value));\n }\n\n /**\n * Returns a Promise that won't resolve until the value specified by key has\n * been attempted to be loaded from the store. This allows us to lazily\n * prevent certain method from executing until the specified keys have been\n * retrieved from the store.\n * @param {string} key\n * @returns {Promise}\n */\n waitFor(key) {\n context.logger.debug(`plugin-storage(${context.getNamespace()}): waiting to init key \\`${key}\\``);\n const defer = defers.get(this).get(key);\n\n if (defer) {\n context.logger.debug(`plugin-storage(${context.getNamespace()}): already inited \\`${key}\\``);\n\n return defer.promise;\n }\n\n context.logger.debug(`plugin-storage(${context.getNamespace()}): initing \\`${key}\\``);\n\n return this.initValue(key);\n }\n\n @oneFlight({keyFactory: (key) => `initValue-${key}`})\n /**\n * Attempts to load the specified key from the store and set it on the parent\n * object.\n * @param {string} key\n * @returns {Promise} Resolves (but not with the retrieved value) when\n * the value retrieval complete\n */\n // suppress doc warning because decorators confuse eslint\n // eslint-disable-next-line require-jsdoc\n initValue(key) {\n const defer = new Defer();\n\n defers.get(this).set(key, defer);\n\n // Intentionally bypasses this.get so we don't resolve the promise until\n // after the parent value is set.\n context.webex[`${type}Storage`].get(context.getNamespace(), key)\n .then((value) => {\n context.logger.debug(`plugin-storage(${context.getNamespace()}): got \\`${key}\\` for first time`);\n if (key === '@') {\n context.parent.set(value);\n }\n else if (result(context[key], 'isState')) {\n context[key].set(value);\n }\n else {\n context.set(key, value);\n }\n context.logger.debug(`plugin-storage(${context.getNamespace()}): set \\`${key}\\` for first time`);\n defer.resolve();\n context.logger.debug(`plugin-storage(${context.getNamespace()}): inited \\`${key}\\``);\n })\n .catch((reason) => {\n // The next conditional is a bit of an unfortunate solution to deal\n // with circular dependencies in unit tests. It should not effect\n // integration tests or production code.\n if (reason instanceof NotFoundError || process.env.NODE_ENV !== 'production' && reason.toString().includes('MockNotFoundError')) {\n context.logger.debug(`plugin-storage(${context.getNamespace()}): no data for \\`${key}\\`, continuing`);\n\n return defer.resolve();\n }\n context.logger.warn(`plugin-storage(${context.getNamespace()}): failed to init \\`${key}\\``, reason);\n\n return defer.reject(reason);\n });\n\n return defer.promise;\n }\n }\n\n return new WebexPluginStorage();\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["make-webex-store.js"],"names":["bindings","makeWebexStore","type","webex","WebexStore","keyFactory","namespace","logger","debug","set","config","storage","get","promises","forEach","binding","push","clear","all","key","_getBinding","then","del","value","put","serialize","resolve","adapter","bind","_binding","prototype","Events"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport Events from 'ampersand-events';\nimport {oneFlight} from '@webex/common';\n\nconst bindings = new WeakMap();\n\n/**\n * Makes a WebexStore for the specified type bound to the specified webex instance\n * @param {string} type\n * @param {ProxyWebex} webex\n * @private\n * @returns {WebexStore}\n */\nexport default function makeWebexStore(type, webex) {\n /**\n * Lazy Key-Value Store Interface\n */\n class WebexStore {\n /**\n * @param {Object} attrs\n * @param {Object} options\n * @returns {Store}\n */\n constructor() {\n webex.logger.debug(`webex-store: constructing ${type}Storage`);\n bindings.set(this, new Map());\n }\n\n /**\n * Provides easy access to the storage adapter identified in config.\n * @returns {Object}\n */\n get adapter() {\n return webex.config.storage[`${type}Adapter`];\n }\n\n /**\n * @returns {WeakMap}\n */\n get bindings() {\n return bindings.get(this);\n }\n\n /**\n * Clears the store\n * @returns {Promise}\n */\n clear() {\n const promises = [];\n\n this.bindings.forEach((binding) => {\n promises.push(binding.clear());\n });\n\n return Promise.all(promises);\n }\n\n /**\n * Deletes the specified key from the store\n * @param {string} namespace\n * @param {string} key\n * @returns {[type]}\n */\n del(namespace, key) {\n webex.logger.debug(`webex-store: removing ${namespace}:${key}`);\n\n return this._getBinding(namespace)\n .then((binding) => binding.del(key));\n }\n\n /**\n * Retrieves the value specified by key from the store. Rejects with\n * NotFoundError if no value can be found\n * @param {string} namespace\n * @param {string} key\n * @returns {Promise}\n */\n get(namespace, key) {\n webex.logger.debug(`webex-store: retrieving ${namespace}:${key}`);\n\n return this._getBinding(namespace)\n .then((binding) => binding.get(key));\n }\n\n /**\n * Writes a value to the store. Deletes the specified key from the store\n * if passed `undefined`\n * @param {string} namespace\n * @param {string} key\n * @param {any} value\n * @returns {Promise} Resolves with value (to simplify write-through caching)\n */\n put(namespace, key, value) {\n if (typeof value === 'undefined') {\n return this.del(namespace, key);\n }\n webex.logger.debug(`webex-store: setting ${namespace}:${key}`);\n\n return this._getBinding(namespace)\n .then((binding) => binding.put(key, value.serialize ? value.serialize() : value))\n .then(() => value);\n }\n\n @oneFlight({keyFactory: (namespace) => namespace})\n /**\n * Creates an interface bound to the specified namespace\n * @param {string} namespace\n * @private\n * @returns {Promise}\n */\n // suppress doc warning because decorators confuse eslint\n // eslint-disable-next-line require-jsdoc\n _getBinding(namespace) {\n return new Promise((resolve) => {\n webex.logger.debug(`storage: getting binding for \\`${namespace}\\``);\n const binding = this.bindings.get(namespace);\n\n if (binding) {\n webex.logger.debug(`storage: found binding for \\`${namespace}\\``);\n\n return resolve(binding);\n }\n\n return resolve(this.adapter.bind(namespace, {logger: webex.logger})\n .then((_binding) => {\n webex.logger.debug(`storage: made binding for \\`${namespace}\\``);\n this.bindings.set(namespace, _binding);\n\n return _binding;\n }));\n });\n }\n }\n\n Object.assign(WebexStore.prototype, Events);\n\n return new WebexStore();\n}\n"]}
1
+ {"version":3,"names":["bindings","makeWebexStore","type","webex","WebexStore","keyFactory","namespace","logger","debug","set","config","storage","get","promises","forEach","binding","push","clear","all","key","_getBinding","then","del","value","put","serialize","resolve","adapter","bind","_binding","prototype","Events"],"sources":["make-webex-store.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport Events from 'ampersand-events';\nimport {oneFlight} from '@webex/common';\n\nconst bindings = new WeakMap();\n\n/**\n * Makes a WebexStore for the specified type bound to the specified webex instance\n * @param {string} type\n * @param {ProxyWebex} webex\n * @private\n * @returns {WebexStore}\n */\nexport default function makeWebexStore(type, webex) {\n /**\n * Lazy Key-Value Store Interface\n */\n class WebexStore {\n /**\n * @param {Object} attrs\n * @param {Object} options\n * @returns {Store}\n */\n constructor() {\n webex.logger.debug(`webex-store: constructing ${type}Storage`);\n bindings.set(this, new Map());\n }\n\n /**\n * Provides easy access to the storage adapter identified in config.\n * @returns {Object}\n */\n get adapter() {\n return webex.config.storage[`${type}Adapter`];\n }\n\n /**\n * @returns {WeakMap}\n */\n get bindings() {\n return bindings.get(this);\n }\n\n /**\n * Clears the store\n * @returns {Promise}\n */\n clear() {\n const promises = [];\n\n this.bindings.forEach((binding) => {\n promises.push(binding.clear());\n });\n\n return Promise.all(promises);\n }\n\n /**\n * Deletes the specified key from the store\n * @param {string} namespace\n * @param {string} key\n * @returns {[type]}\n */\n del(namespace, key) {\n webex.logger.debug(`webex-store: removing ${namespace}:${key}`);\n\n return this._getBinding(namespace)\n .then((binding) => binding.del(key));\n }\n\n /**\n * Retrieves the value specified by key from the store. Rejects with\n * NotFoundError if no value can be found\n * @param {string} namespace\n * @param {string} key\n * @returns {Promise}\n */\n get(namespace, key) {\n webex.logger.debug(`webex-store: retrieving ${namespace}:${key}`);\n\n return this._getBinding(namespace)\n .then((binding) => binding.get(key));\n }\n\n /**\n * Writes a value to the store. Deletes the specified key from the store\n * if passed `undefined`\n * @param {string} namespace\n * @param {string} key\n * @param {any} value\n * @returns {Promise} Resolves with value (to simplify write-through caching)\n */\n put(namespace, key, value) {\n if (typeof value === 'undefined') {\n return this.del(namespace, key);\n }\n webex.logger.debug(`webex-store: setting ${namespace}:${key}`);\n\n return this._getBinding(namespace)\n .then((binding) => binding.put(key, value.serialize ? value.serialize() : value))\n .then(() => value);\n }\n\n @oneFlight({keyFactory: (namespace) => namespace})\n /**\n * Creates an interface bound to the specified namespace\n * @param {string} namespace\n * @private\n * @returns {Promise}\n */\n // suppress doc warning because decorators confuse eslint\n // eslint-disable-next-line require-jsdoc\n _getBinding(namespace) {\n return new Promise((resolve) => {\n webex.logger.debug(`storage: getting binding for \\`${namespace}\\``);\n const binding = this.bindings.get(namespace);\n\n if (binding) {\n webex.logger.debug(`storage: found binding for \\`${namespace}\\``);\n\n return resolve(binding);\n }\n\n return resolve(this.adapter.bind(namespace, {logger: webex.logger})\n .then((_binding) => {\n webex.logger.debug(`storage: made binding for \\`${namespace}\\``);\n this.bindings.set(namespace, _binding);\n\n return _binding;\n }));\n });\n }\n }\n\n Object.assign(WebexStore.prototype, Events);\n\n return new WebexStore();\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["memory-store-adapter.js"],"names":["_bind","namespace","options","reject","Error","logger","map","data","forEach","key","set","debug","resolve","clear","del","delete","get","res","NotFoundError","put","value","bind","preload"],"mappings":";;;;;;;;;;;;;;;;;;AAIA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,KAAT,CAAeC,SAAf,EAAwC;AAAA,MAAdC,OAAc,uEAAJ,EAAI;AACtCA,EAAAA,OAAO,GAAGA,OAAO,IAAI,EAArB;;AACA,MAAI,CAACD,SAAL,EAAgB;AACd,WAAO,iBAAQE,MAAR,CAAe,IAAIC,KAAJ,CAAU,yBAAV,CAAf,CAAP;AACD;;AAED,MAAI,CAACF,OAAO,CAACG,MAAb,EAAqB;AACnB,WAAO,iBAAQF,MAAR,CAAe,IAAIC,KAAJ,CAAU,8BAAV,CAAf,CAAP;AACD;;AAED,iBAAiBF,OAAjB;AAAA,MAAOG,MAAP,YAAOA,MAAP;AAEA,MAAMC,GAAG,GAAG,iBAAQ,CAAC,CAAC,GAAD,EAAM,EAAN,CAAD,CAAR,CAAZ;;AAEA,MAAIJ,OAAO,CAACK,IAAZ,EAAkB;AAChB,uBAAYL,OAAO,CAACK,IAApB,EAA0BC,OAA1B,CAAkC,UAACC,GAAD,EAAS;AACzCH,MAAAA,GAAG,CAACI,GAAJ,CAAQD,GAAR,EAAaP,OAAO,CAACK,IAAR,CAAaE,GAAb,CAAb;AACD,KAFD;AAGD;;AAEDJ,EAAAA,MAAM,CAACM,KAAP,CAAa,yCAAb;AAEA,SAAO,iBAAQC,OAAR,CAAgB;AACrBC,IAAAA,KADqB,mBACb;AACNR,MAAAA,MAAM,CAACM,KAAP,CAAa,4CAAb;AAEA,aAAO,iBAAQC,OAAR,CAAgBN,GAAG,CAACO,KAAJ,EAAhB,CAAP;AACD,KALoB;AAMrBC,IAAAA,GANqB,eAMjBL,GANiB,EAMZ;AACPJ,MAAAA,MAAM,CAACM,KAAP,2CAAiDF,GAAjD;AAEA,aAAO,iBAAQG,OAAR,CAAgBN,GAAG,CAACS,MAAJ,CAAWN,GAAX,CAAhB,CAAP;AACD,KAVoB;AAWrBO,IAAAA,GAXqB,eAWjBP,GAXiB,EAWZ;AACPJ,MAAAA,MAAM,CAACM,KAAP,0CAAgDF,GAAhD;AACA,UAAMQ,GAAG,GAAGX,GAAG,CAACU,GAAJ,CAAQP,GAAR,CAAZ;;AAEA,UAAI,OAAOQ,GAAP,KAAe,WAAnB,EAAgC;AAC9B,eAAO,iBAAQd,MAAR,CAAe,IAAIe,qBAAJ,EAAf,CAAP;AACD;;AAED,aAAO,iBAAQN,OAAR,CAAgBK,GAAhB,CAAP;AACD,KApBoB;AAqBrBE,IAAAA,GArBqB,eAqBjBV,GArBiB,EAqBZW,KArBY,EAqBL;AACdf,MAAAA,MAAM,CAACM,KAAP,0CAAgDF,GAAhD;AAEA,aAAO,iBAAQG,OAAR,CAAgBN,GAAG,CAACI,GAAJ,CAAQD,GAAR,EAAaW,KAAb,CAAhB,CAAP;AACD;AAzBoB,GAAhB,CAAP;AA2BD;;eAEc;AACbC,EAAAA,IAAI,EAAErB,KADO;AAEbsB,EAAAA,OAFa,mBAELf,IAFK,EAEC;AACZ,WAAO;AACLc,MAAAA,IADK,gBACApB,SADA,EACyB;AAAA,YAAdC,OAAc,uEAAJ,EAAI;;AAC5B,YAAIK,IAAI,CAACN,SAAD,CAAR,EAAqB;AACnBC,UAAAA,OAAO,CAACK,IAAR,GAAeA,IAAI,CAACN,SAAD,CAAnB;AACD;;AAED,eAAOD,KAAK,CAACC,SAAD,EAAYC,OAAZ,CAAZ;AACD;AAPI,KAAP;AASD;AAZY,C","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {NotFoundError} from './errors';\n\n/**\n * Binds a namespace\n * @param {string} namespace\n * @param {Object} options\n * @param {Object} options.data\n * @private\n * @returns {Promise<Object>}\n */\nfunction _bind(namespace, options = {}) {\n options = options || {};\n if (!namespace) {\n return Promise.reject(new Error('`namespace` is required'));\n }\n\n if (!options.logger) {\n return Promise.reject(new Error('`options.logger` is required'));\n }\n\n const {logger} = options;\n\n const map = new Map([['@', {}]]);\n\n if (options.data) {\n Object.keys(options.data).forEach((key) => {\n map.set(key, options.data[key]);\n });\n }\n\n logger.debug('memory-store-adapter: returning binding');\n\n return Promise.resolve({\n clear() {\n logger.debug('memory-store-adapter: clearing the binding');\n\n return Promise.resolve(map.clear());\n },\n del(key) {\n logger.debug(`memory-store-adapter: deleting \\`${key}\\``);\n\n return Promise.resolve(map.delete(key));\n },\n get(key) {\n logger.debug(`memory-store-adapter: reading \\`${key}\\``);\n const res = map.get(key);\n\n if (typeof res === 'undefined') {\n return Promise.reject(new NotFoundError());\n }\n\n return Promise.resolve(res);\n },\n put(key, value) {\n logger.debug(`memory-store-adapter: writing \\`${key}\\``);\n\n return Promise.resolve(map.set(key, value));\n }\n });\n}\n\nexport default {\n bind: _bind,\n preload(data) {\n return {\n bind(namespace, options = {}) {\n if (data[namespace]) {\n options.data = data[namespace];\n }\n\n return _bind(namespace, options);\n }\n };\n }\n};\n"]}
1
+ {"version":3,"names":["_bind","namespace","options","reject","Error","logger","map","data","forEach","key","set","debug","resolve","clear","del","delete","get","res","NotFoundError","put","value","bind","preload"],"sources":["memory-store-adapter.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {NotFoundError} from './errors';\n\n/**\n * Binds a namespace\n * @param {string} namespace\n * @param {Object} options\n * @param {Object} options.data\n * @private\n * @returns {Promise<Object>}\n */\nfunction _bind(namespace, options = {}) {\n options = options || {};\n if (!namespace) {\n return Promise.reject(new Error('`namespace` is required'));\n }\n\n if (!options.logger) {\n return Promise.reject(new Error('`options.logger` is required'));\n }\n\n const {logger} = options;\n\n const map = new Map([['@', {}]]);\n\n if (options.data) {\n Object.keys(options.data).forEach((key) => {\n map.set(key, options.data[key]);\n });\n }\n\n logger.debug('memory-store-adapter: returning binding');\n\n return Promise.resolve({\n clear() {\n logger.debug('memory-store-adapter: clearing the binding');\n\n return Promise.resolve(map.clear());\n },\n del(key) {\n logger.debug(`memory-store-adapter: deleting \\`${key}\\``);\n\n return Promise.resolve(map.delete(key));\n },\n get(key) {\n logger.debug(`memory-store-adapter: reading \\`${key}\\``);\n const res = map.get(key);\n\n if (typeof res === 'undefined') {\n return Promise.reject(new NotFoundError());\n }\n\n return Promise.resolve(res);\n },\n put(key, value) {\n logger.debug(`memory-store-adapter: writing \\`${key}\\``);\n\n return Promise.resolve(map.set(key, value));\n }\n });\n}\n\nexport default {\n bind: _bind,\n preload(data) {\n return {\n bind(namespace, options = {}) {\n if (data[namespace]) {\n options.data = data[namespace];\n }\n\n return _bind(namespace, options);\n }\n };\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAIA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,KAAT,CAAeC,SAAf,EAAwC;EAAA,IAAdC,OAAc,uEAAJ,EAAI;EACtCA,OAAO,GAAGA,OAAO,IAAI,EAArB;;EACA,IAAI,CAACD,SAAL,EAAgB;IACd,OAAO,iBAAQE,MAAR,CAAe,IAAIC,KAAJ,CAAU,yBAAV,CAAf,CAAP;EACD;;EAED,IAAI,CAACF,OAAO,CAACG,MAAb,EAAqB;IACnB,OAAO,iBAAQF,MAAR,CAAe,IAAIC,KAAJ,CAAU,8BAAV,CAAf,CAAP;EACD;;EAED,eAAiBF,OAAjB;EAAA,IAAOG,MAAP,YAAOA,MAAP;EAEA,IAAMC,GAAG,GAAG,iBAAQ,CAAC,CAAC,GAAD,EAAM,EAAN,CAAD,CAAR,CAAZ;;EAEA,IAAIJ,OAAO,CAACK,IAAZ,EAAkB;IAChB,mBAAYL,OAAO,CAACK,IAApB,EAA0BC,OAA1B,CAAkC,UAACC,GAAD,EAAS;MACzCH,GAAG,CAACI,GAAJ,CAAQD,GAAR,EAAaP,OAAO,CAACK,IAAR,CAAaE,GAAb,CAAb;IACD,CAFD;EAGD;;EAEDJ,MAAM,CAACM,KAAP,CAAa,yCAAb;EAEA,OAAO,iBAAQC,OAAR,CAAgB;IACrBC,KADqB,mBACb;MACNR,MAAM,CAACM,KAAP,CAAa,4CAAb;MAEA,OAAO,iBAAQC,OAAR,CAAgBN,GAAG,CAACO,KAAJ,EAAhB,CAAP;IACD,CALoB;IAMrBC,GANqB,eAMjBL,GANiB,EAMZ;MACPJ,MAAM,CAACM,KAAP,2CAAiDF,GAAjD;MAEA,OAAO,iBAAQG,OAAR,CAAgBN,GAAG,CAACS,MAAJ,CAAWN,GAAX,CAAhB,CAAP;IACD,CAVoB;IAWrBO,GAXqB,eAWjBP,GAXiB,EAWZ;MACPJ,MAAM,CAACM,KAAP,0CAAgDF,GAAhD;MACA,IAAMQ,GAAG,GAAGX,GAAG,CAACU,GAAJ,CAAQP,GAAR,CAAZ;;MAEA,IAAI,OAAOQ,GAAP,KAAe,WAAnB,EAAgC;QAC9B,OAAO,iBAAQd,MAAR,CAAe,IAAIe,qBAAJ,EAAf,CAAP;MACD;;MAED,OAAO,iBAAQN,OAAR,CAAgBK,GAAhB,CAAP;IACD,CApBoB;IAqBrBE,GArBqB,eAqBjBV,GArBiB,EAqBZW,KArBY,EAqBL;MACdf,MAAM,CAACM,KAAP,0CAAgDF,GAAhD;MAEA,OAAO,iBAAQG,OAAR,CAAgBN,GAAG,CAACI,GAAJ,CAAQD,GAAR,EAAaW,KAAb,CAAhB,CAAP;IACD;EAzBoB,CAAhB,CAAP;AA2BD;;eAEc;EACbC,IAAI,EAAErB,KADO;EAEbsB,OAFa,mBAELf,IAFK,EAEC;IACZ,OAAO;MACLc,IADK,gBACApB,SADA,EACyB;QAAA,IAAdC,OAAc,uEAAJ,EAAI;;QAC5B,IAAIK,IAAI,CAACN,SAAD,CAAR,EAAqB;UACnBC,OAAO,CAACK,IAAR,GAAeA,IAAI,CAACN,SAAD,CAAnB;QACD;;QAED,OAAOD,KAAK,CAACC,SAAD,EAAYC,OAAZ,CAAZ;MACD;IAPI,CAAP;EASD;AAZY,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webex-core-plugin-mixin.js"],"names":["mixinWebexCorePlugins","State","config","interceptors","registerPlugin","name","constructor","options","prototype","_children","replace","proxies","forEach","key","createDerivedProperty","deps","fn","payloadTransformer","predicates","concat","transforms","onBeforeLogout","push","plugin","_definition","ready","_derived","depList","def","modelProto","definition","cache","dep","_deps","get","_getDerivedProperty","set","TypeError"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get, has, isArray, isFunction, merge, union} from 'lodash';\n\n/**\n * Mixes a plugin system into an AmpState object (specifically, into WebexCore)\n * @param {AmpState} State\n * @param {Object} config\n * @param {Object} interceptors\n * @returns {AmpState}\n */\nexport default function mixinWebexCorePlugins(State, config, interceptors) {\n // eslint-disable-next-line complexity\n State.registerPlugin = function registerPlugin(name, constructor, options = {}) {\n if (State.prototype._children[name] && !options.replace) {\n return;\n }\n\n State.prototype._children[name] = constructor;\n\n if (options.proxies) {\n options.proxies.forEach((key) => {\n createDerivedProperty(State.prototype, key, {\n deps: [`${name}.${key}`],\n fn() {\n return this[name][key];\n }\n });\n });\n }\n\n if (options.interceptors) {\n Object.keys(options.interceptors).forEach((key) => {\n interceptors[key] = options.interceptors[key];\n });\n }\n\n if (options.config) {\n merge(config, options.config);\n }\n\n if (has(options, 'payloadTransformer.predicates')) {\n config.payloadTransformer.predicates = config.payloadTransformer.predicates.concat(\n get(options, 'payloadTransformer.predicates')\n );\n }\n\n if (has(options, 'payloadTransformer.transforms')) {\n config.payloadTransformer.transforms = config.payloadTransformer.transforms.concat(\n get(options, 'payloadTransformer.transforms')\n );\n }\n\n if (options.onBeforeLogout) {\n config.onBeforeLogout = config.onBeforeLogout || [];\n const onBeforeLogout = isArray(options.onBeforeLogout) ? options.onBeforeLogout : [options.onBeforeLogout];\n\n onBeforeLogout.forEach((fn) =>\n config.onBeforeLogout.push({\n plugin: name,\n fn\n }));\n }\n\n // Only mess with the plugin's derived properties if it's an amp-state plugin\n if (constructor.prototype._definition && constructor.prototype._definition.ready) {\n const {fn, depList} = State.prototype._derived.ready;\n const def = {\n deps: depList.concat(`${name}.ready`),\n fn\n };\n\n createDerivedProperty(State.prototype, 'ready', def);\n }\n };\n\n return State;\n}\n\n/**\n * Extracted from ampersand-state\n * @param {Object} modelProto\n * @param {string} name\n * @param {Object} definition\n * @private\n * @returns {undefined}\n */\nfunction createDerivedProperty(modelProto, name, definition) {\n const def = (modelProto._derived[name] = {\n fn: isFunction(definition) ? definition : definition.fn,\n cache: definition.cache !== false,\n depList: definition.deps || []\n });\n\n // add to our shared dependency list\n def.depList.forEach((dep) => {\n modelProto._deps[dep] = union(modelProto._deps[dep] || [], [name]);\n });\n\n // defined a top-level getter for derived names\n Reflect.defineProperty(modelProto, name, {\n get() {\n return this._getDerivedProperty(name);\n },\n set() {\n throw new TypeError(`\\`${name}\\` is a derived property, it can't be set directly.`);\n }\n });\n}\n"]}
1
+ {"version":3,"names":["mixinWebexCorePlugins","State","config","interceptors","registerPlugin","name","constructor","options","prototype","_children","replace","proxies","forEach","key","createDerivedProperty","deps","fn","payloadTransformer","predicates","concat","transforms","onBeforeLogout","push","plugin","_definition","ready","_derived","depList","def","modelProto","definition","cache","dep","_deps","get","_getDerivedProperty","set","TypeError"],"sources":["webex-core-plugin-mixin.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get, has, isArray, isFunction, merge, union} from 'lodash';\n\n/**\n * Mixes a plugin system into an AmpState object (specifically, into WebexCore)\n * @param {AmpState} State\n * @param {Object} config\n * @param {Object} interceptors\n * @returns {AmpState}\n */\nexport default function mixinWebexCorePlugins(State, config, interceptors) {\n // eslint-disable-next-line complexity\n State.registerPlugin = function registerPlugin(name, constructor, options = {}) {\n if (State.prototype._children[name] && !options.replace) {\n return;\n }\n\n State.prototype._children[name] = constructor;\n\n if (options.proxies) {\n options.proxies.forEach((key) => {\n createDerivedProperty(State.prototype, key, {\n deps: [`${name}.${key}`],\n fn() {\n return this[name][key];\n }\n });\n });\n }\n\n if (options.interceptors) {\n Object.keys(options.interceptors).forEach((key) => {\n interceptors[key] = options.interceptors[key];\n });\n }\n\n if (options.config) {\n merge(config, options.config);\n }\n\n if (has(options, 'payloadTransformer.predicates')) {\n config.payloadTransformer.predicates = config.payloadTransformer.predicates.concat(\n get(options, 'payloadTransformer.predicates')\n );\n }\n\n if (has(options, 'payloadTransformer.transforms')) {\n config.payloadTransformer.transforms = config.payloadTransformer.transforms.concat(\n get(options, 'payloadTransformer.transforms')\n );\n }\n\n if (options.onBeforeLogout) {\n config.onBeforeLogout = config.onBeforeLogout || [];\n const onBeforeLogout = isArray(options.onBeforeLogout) ? options.onBeforeLogout : [options.onBeforeLogout];\n\n onBeforeLogout.forEach((fn) =>\n config.onBeforeLogout.push({\n plugin: name,\n fn\n }));\n }\n\n // Only mess with the plugin's derived properties if it's an amp-state plugin\n if (constructor.prototype._definition && constructor.prototype._definition.ready) {\n const {fn, depList} = State.prototype._derived.ready;\n const def = {\n deps: depList.concat(`${name}.ready`),\n fn\n };\n\n createDerivedProperty(State.prototype, 'ready', def);\n }\n };\n\n return State;\n}\n\n/**\n * Extracted from ampersand-state\n * @param {Object} modelProto\n * @param {string} name\n * @param {Object} definition\n * @private\n * @returns {undefined}\n */\nfunction createDerivedProperty(modelProto, name, definition) {\n const def = (modelProto._derived[name] = {\n fn: isFunction(definition) ? definition : definition.fn,\n cache: definition.cache !== false,\n depList: definition.deps || []\n });\n\n // add to our shared dependency list\n def.depList.forEach((dep) => {\n modelProto._deps[dep] = union(modelProto._deps[dep] || [], [name]);\n });\n\n // defined a top-level getter for derived names\n Reflect.defineProperty(modelProto, name, {\n get() {\n return this._getDerivedProperty(name);\n },\n set() {\n throw new TypeError(`\\`${name}\\` is a derived property, it can't be set directly.`);\n }\n });\n}\n"],"mappings":"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"}
@@ -109,7 +109,7 @@ var TooManyRequests = /*#__PURE__*/function (_HttpError$BadRequest) {
109
109
  return _super2.apply(this, arguments);
110
110
  }
111
111
 
112
- return TooManyRequests;
112
+ return (0, _createClass2.default)(TooManyRequests);
113
113
  }(_httpCore.HttpError.BadRequest);
114
114
 
115
115
  _httpCore.HttpError[429] = TooManyRequests;
@@ -1 +1 @@
1
- {"version":3,"sources":["webex-http-error.js"],"names":["WebexHttpError","res","message","HttpError","prototype","parse","enumerable","value","options","url","method","uri","service","toUpperCase","resource","headers","trackingid","writeable","retryAfter","makeSubTypes","TooManyRequests","BadRequest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;;AAEA;AACA;AACA;IACqBA,c;;;;;;;;;;;;;AACnB;AACF;AACA;AACA;AACA;AACA;AACE,mBAAMC,GAAN,EAAW;AACT,UAAIC,OAAO,GAAG,oBAAcC,oBAAUC,SAAV,CAAoBC,KAAlC,EAAyC,IAAzC,EAA+C,CAACJ,GAAD,CAA/C,CAAd;AAEA,mCAAuB,IAAvB,EAA6B,SAA7B,EAAwC;AACtCK,QAAAA,UAAU,EAAE,KAD0B;AAEtCC,QAAAA,KAAK,EAAEN,GAAG,CAACO;AAF2B,OAAxC;;AAKA,UAAI,KAAKA,OAAL,CAAaC,GAAjB,EAAsB;AACpBP,QAAAA,OAAO,gBAAS,KAAKM,OAAL,CAAaE,MAAtB,cAAgC,KAAKF,OAAL,CAAaC,GAA7C,CAAP;AACD,OAFD,MAGK,IAAI,KAAKD,OAAL,CAAaG,GAAjB,EAAsB;AACzBT,QAAAA,OAAO,gBAAS,KAAKM,OAAL,CAAaE,MAAtB,cAAgC,KAAKF,OAAL,CAAaG,GAA7C,CAAP;AACD,OAFI,MAGA;AACHT,QAAAA,OAAO,gBAAS,KAAKM,OAAL,CAAaE,MAAtB,cAAgC,KAAKF,OAAL,CAAaI,OAAb,CAAqBC,WAArB,EAAhC,cAAsE,KAAKL,OAAL,CAAaM,QAAnF,CAAP;AACD;;AACDZ,MAAAA,OAAO,mCAA4B,KAAKM,OAAL,CAAaO,OAAb,CAAqBC,UAAjD,CAAP;;AACA,UAAI,KAAKR,OAAL,CAAaO,OAAb,IAAwB,KAAKP,OAAL,CAAaO,OAAb,CAAqB,YAArB,CAA5B,EAAgE;AAC9Db,QAAAA,OAAO,4BAAqB,KAAKM,OAAL,CAAaO,OAAb,CAAqB,YAArB,CAArB,CAAP;AACD;;AACD,UAAI,KAAKA,OAAL,CAAa,aAAb,CAAJ,EAAiC;AAC/B,qCAAuB,IAAvB,EAA6B,YAA7B,EAA2C;AACzCT,UAAAA,UAAU,EAAE,IAD6B;AAEzCC,UAAAA,KAAK,EAAE,KAAKQ,OAAL,CAAa,aAAb,CAFkC;AAGzCE,UAAAA,SAAS,EAAE;AAH8B,SAA3C;AAMAf,QAAAA,OAAO,6BAAsB,KAAKgB,UAA3B,CAAP;AACD;;AACDhB,MAAAA,OAAO,IAAI,IAAX;AAEA,aAAOA,OAAP;AACD;;;EAxCyCC,mB;;;;AA2C5CA,oBAAUgB,YAAV,CAAuBnB,cAAvB;AAGA;AACA;AACA;;;IACMoB,e;;;;;;;;;;;EAAwBjB,oBAAUkB,U;;AAExClB,oBAAU,GAAV,IAAiBiB,eAAjB;AACAjB,oBAAUiB,eAAV,GAA4BA,eAA5B","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {HttpError} from '@webex/http-core';\n\n/**\n * Webex-specific http error class\n */\nexport default class WebexHttpError extends HttpError {\n /**\n * Very similar to {@link HttpError#parse()}, but additionally adds some\n * useful headers to the message string\n * @param {HttpResponse} res\n * @returns {string}\n */\n parse(res) {\n let message = Reflect.apply(HttpError.prototype.parse, this, [res]);\n\n Reflect.defineProperty(this, 'options', {\n enumerable: false,\n value: res.options\n });\n\n if (this.options.url) {\n message += `\\n${this.options.method} ${this.options.url}`;\n }\n else if (this.options.uri) {\n message += `\\n${this.options.method} ${this.options.uri}`;\n }\n else {\n message += `\\n${this.options.method} ${this.options.service.toUpperCase()}/${this.options.resource}`;\n }\n message += `\\nWEBEX_TRACKING_ID: ${this.options.headers.trackingid}`;\n if (this.options.headers && this.options.headers['x-trans-id']) {\n message += `\\nX-Trans-Id: ${this.options.headers['x-trans-id']}`;\n }\n if (this.headers['retry-after']) {\n Reflect.defineProperty(this, 'retryAfter', {\n enumerable: true,\n value: this.headers['retry-after'],\n writeable: false\n });\n\n message += `\\nRETRY-AFTER: ${this.retryAfter}`;\n }\n message += '\\n';\n\n return message;\n }\n}\n\nHttpError.makeSubTypes(WebexHttpError);\n\n\n/**\n * TooManyRequests\n */\nclass TooManyRequests extends HttpError.BadRequest {}\n\nHttpError[429] = TooManyRequests;\nHttpError.TooManyRequests = TooManyRequests;\n"]}
1
+ {"version":3,"names":["WebexHttpError","res","message","HttpError","prototype","parse","enumerable","value","options","url","method","uri","service","toUpperCase","resource","headers","trackingid","writeable","retryAfter","makeSubTypes","TooManyRequests","BadRequest"],"sources":["webex-http-error.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {HttpError} from '@webex/http-core';\n\n/**\n * Webex-specific http error class\n */\nexport default class WebexHttpError extends HttpError {\n /**\n * Very similar to {@link HttpError#parse()}, but additionally adds some\n * useful headers to the message string\n * @param {HttpResponse} res\n * @returns {string}\n */\n parse(res) {\n let message = Reflect.apply(HttpError.prototype.parse, this, [res]);\n\n Reflect.defineProperty(this, 'options', {\n enumerable: false,\n value: res.options\n });\n\n if (this.options.url) {\n message += `\\n${this.options.method} ${this.options.url}`;\n }\n else if (this.options.uri) {\n message += `\\n${this.options.method} ${this.options.uri}`;\n }\n else {\n message += `\\n${this.options.method} ${this.options.service.toUpperCase()}/${this.options.resource}`;\n }\n message += `\\nWEBEX_TRACKING_ID: ${this.options.headers.trackingid}`;\n if (this.options.headers && this.options.headers['x-trans-id']) {\n message += `\\nX-Trans-Id: ${this.options.headers['x-trans-id']}`;\n }\n if (this.headers['retry-after']) {\n Reflect.defineProperty(this, 'retryAfter', {\n enumerable: true,\n value: this.headers['retry-after'],\n writeable: false\n });\n\n message += `\\nRETRY-AFTER: ${this.retryAfter}`;\n }\n message += '\\n';\n\n return message;\n }\n}\n\nHttpError.makeSubTypes(WebexHttpError);\n\n\n/**\n * TooManyRequests\n */\nclass TooManyRequests extends HttpError.BadRequest {}\n\nHttpError[429] = TooManyRequests;\nHttpError.TooManyRequests = TooManyRequests;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;;AAEA;AACA;AACA;IACqBA,c;;;;;;;;;;;;;IACnB;AACF;AACA;AACA;AACA;AACA;IACE,eAAMC,GAAN,EAAW;MACT,IAAIC,OAAO,GAAG,oBAAcC,oBAAUC,SAAV,CAAoBC,KAAlC,EAAyC,IAAzC,EAA+C,CAACJ,GAAD,CAA/C,CAAd;MAEA,6BAAuB,IAAvB,EAA6B,SAA7B,EAAwC;QACtCK,UAAU,EAAE,KAD0B;QAEtCC,KAAK,EAAEN,GAAG,CAACO;MAF2B,CAAxC;;MAKA,IAAI,KAAKA,OAAL,CAAaC,GAAjB,EAAsB;QACpBP,OAAO,gBAAS,KAAKM,OAAL,CAAaE,MAAtB,cAAgC,KAAKF,OAAL,CAAaC,GAA7C,CAAP;MACD,CAFD,MAGK,IAAI,KAAKD,OAAL,CAAaG,GAAjB,EAAsB;QACzBT,OAAO,gBAAS,KAAKM,OAAL,CAAaE,MAAtB,cAAgC,KAAKF,OAAL,CAAaG,GAA7C,CAAP;MACD,CAFI,MAGA;QACHT,OAAO,gBAAS,KAAKM,OAAL,CAAaE,MAAtB,cAAgC,KAAKF,OAAL,CAAaI,OAAb,CAAqBC,WAArB,EAAhC,cAAsE,KAAKL,OAAL,CAAaM,QAAnF,CAAP;MACD;;MACDZ,OAAO,mCAA4B,KAAKM,OAAL,CAAaO,OAAb,CAAqBC,UAAjD,CAAP;;MACA,IAAI,KAAKR,OAAL,CAAaO,OAAb,IAAwB,KAAKP,OAAL,CAAaO,OAAb,CAAqB,YAArB,CAA5B,EAAgE;QAC9Db,OAAO,4BAAqB,KAAKM,OAAL,CAAaO,OAAb,CAAqB,YAArB,CAArB,CAAP;MACD;;MACD,IAAI,KAAKA,OAAL,CAAa,aAAb,CAAJ,EAAiC;QAC/B,6BAAuB,IAAvB,EAA6B,YAA7B,EAA2C;UACzCT,UAAU,EAAE,IAD6B;UAEzCC,KAAK,EAAE,KAAKQ,OAAL,CAAa,aAAb,CAFkC;UAGzCE,SAAS,EAAE;QAH8B,CAA3C;QAMAf,OAAO,6BAAsB,KAAKgB,UAA3B,CAAP;MACD;;MACDhB,OAAO,IAAI,IAAX;MAEA,OAAOA,OAAP;IACD;;;EAxCyCC,mB;;;;AA2C5CA,oBAAUgB,YAAV,CAAuBnB,cAAvB;AAGA;AACA;AACA;;;IACMoB,e;;;;;;;;;;;EAAwBjB,oBAAUkB,U;;AAExClB,oBAAU,GAAV,IAAiBiB,eAAjB;AACAjB,oBAAUiB,eAAV,GAA4BA,eAA5B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webex-internal-core-plugin-mixin.js"],"names":["mixinWebexInternalCorePlugins","State","config","interceptors","registerPlugin","name","constructor","options","prototype","_children","replace","proxies","Error","forEach","key","payloadTransformer","predicates","concat","transforms","onBeforeLogout","fn","push","plugin","_definition","ready","_derived","depList","def","deps","createDerivedProperty","modelProto","definition","cache","dep","_deps","get","_getDerivedProperty","set","TypeError"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get, has, isArray, isFunction, merge, union} from 'lodash';\n\n/**\n * Mixes a plugin system into an AmpState object (specifically, into WebexCore)\n * @param {AmpState} State\n * @param {Object} config\n * @param {Object} interceptors\n * @returns {AmpState}\n */\nexport default function mixinWebexInternalCorePlugins(State, config, interceptors) {\n // eslint-disable-next-line complexity\n State.registerPlugin = function registerPlugin(name, constructor, options = {}) {\n if (State.prototype._children[name] && !options.replace) {\n return;\n }\n\n State.prototype._children[name] = constructor;\n\n if (options.proxies) {\n throw new Error('Proxies are not currently supported for private plugins');\n }\n\n if (options.interceptors) {\n Object.keys(options.interceptors).forEach((key) => {\n interceptors[key] = options.interceptors[key];\n });\n }\n\n if (options.config) {\n merge(config, options.config);\n }\n\n if (has(options, 'payloadTransformer.predicates')) {\n config.payloadTransformer.predicates = config.payloadTransformer.predicates.concat(\n get(options, 'payloadTransformer.predicates')\n );\n }\n\n if (has(options, 'payloadTransformer.transforms')) {\n config.payloadTransformer.transforms = config.payloadTransformer.transforms.concat(\n get(options, 'payloadTransformer.transforms')\n );\n }\n\n if (options.onBeforeLogout) {\n config.onBeforeLogout = config.onBeforeLogout || [];\n const onBeforeLogout = isArray(options.onBeforeLogout) ? options.onBeforeLogout : [options.onBeforeLogout];\n\n onBeforeLogout.forEach((fn) =>\n config.onBeforeLogout.push({\n plugin: name,\n fn\n }));\n }\n\n // Only mess with the plugin's derived properties if it's an amp-state plugin\n if (constructor.prototype._definition && constructor.prototype._definition.ready) {\n const {fn, depList} = State.prototype._derived.ready;\n const def = {\n deps: depList.concat(`${name}.ready`),\n fn\n };\n\n createDerivedProperty(State.prototype, 'ready', def);\n }\n };\n\n return State;\n}\n\n/**\n * Extracted from ampersand-state\n * @param {Object} modelProto\n * @param {string} name\n * @param {Object} definition\n * @private\n * @returns {undefined}\n */\nfunction createDerivedProperty(modelProto, name, definition) {\n const def = (modelProto._derived[name] = {\n fn: isFunction(definition) ? definition : definition.fn,\n cache: definition.cache !== false,\n depList: definition.deps || []\n });\n\n // add to our shared dependency list\n def.depList.forEach((dep) => {\n modelProto._deps[dep] = union(modelProto._deps[dep] || [], [name]);\n });\n\n // defined a top-level getter for derived names\n Reflect.defineProperty(modelProto, name, {\n get() {\n return this._getDerivedProperty(name);\n },\n set() {\n throw new TypeError(`\\`${name}\\` is a derived property, it can't be set directly.`);\n }\n });\n}\n"]}
1
+ {"version":3,"names":["mixinWebexInternalCorePlugins","State","config","interceptors","registerPlugin","name","constructor","options","prototype","_children","replace","proxies","Error","forEach","key","payloadTransformer","predicates","concat","transforms","onBeforeLogout","fn","push","plugin","_definition","ready","_derived","depList","def","deps","createDerivedProperty","modelProto","definition","cache","dep","_deps","get","_getDerivedProperty","set","TypeError"],"sources":["webex-internal-core-plugin-mixin.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get, has, isArray, isFunction, merge, union} from 'lodash';\n\n/**\n * Mixes a plugin system into an AmpState object (specifically, into WebexCore)\n * @param {AmpState} State\n * @param {Object} config\n * @param {Object} interceptors\n * @returns {AmpState}\n */\nexport default function mixinWebexInternalCorePlugins(State, config, interceptors) {\n // eslint-disable-next-line complexity\n State.registerPlugin = function registerPlugin(name, constructor, options = {}) {\n if (State.prototype._children[name] && !options.replace) {\n return;\n }\n\n State.prototype._children[name] = constructor;\n\n if (options.proxies) {\n throw new Error('Proxies are not currently supported for private plugins');\n }\n\n if (options.interceptors) {\n Object.keys(options.interceptors).forEach((key) => {\n interceptors[key] = options.interceptors[key];\n });\n }\n\n if (options.config) {\n merge(config, options.config);\n }\n\n if (has(options, 'payloadTransformer.predicates')) {\n config.payloadTransformer.predicates = config.payloadTransformer.predicates.concat(\n get(options, 'payloadTransformer.predicates')\n );\n }\n\n if (has(options, 'payloadTransformer.transforms')) {\n config.payloadTransformer.transforms = config.payloadTransformer.transforms.concat(\n get(options, 'payloadTransformer.transforms')\n );\n }\n\n if (options.onBeforeLogout) {\n config.onBeforeLogout = config.onBeforeLogout || [];\n const onBeforeLogout = isArray(options.onBeforeLogout) ? options.onBeforeLogout : [options.onBeforeLogout];\n\n onBeforeLogout.forEach((fn) =>\n config.onBeforeLogout.push({\n plugin: name,\n fn\n }));\n }\n\n // Only mess with the plugin's derived properties if it's an amp-state plugin\n if (constructor.prototype._definition && constructor.prototype._definition.ready) {\n const {fn, depList} = State.prototype._derived.ready;\n const def = {\n deps: depList.concat(`${name}.ready`),\n fn\n };\n\n createDerivedProperty(State.prototype, 'ready', def);\n }\n };\n\n return State;\n}\n\n/**\n * Extracted from ampersand-state\n * @param {Object} modelProto\n * @param {string} name\n * @param {Object} definition\n * @private\n * @returns {undefined}\n */\nfunction createDerivedProperty(modelProto, name, definition) {\n const def = (modelProto._derived[name] = {\n fn: isFunction(definition) ? definition : definition.fn,\n cache: definition.cache !== false,\n depList: definition.deps || []\n });\n\n // add to our shared dependency list\n def.depList.forEach((dep) => {\n modelProto._deps[dep] = union(modelProto._deps[dep] || [], [name]);\n });\n\n // defined a top-level getter for derived names\n Reflect.defineProperty(modelProto, name, {\n get() {\n return this._getDerivedProperty(name);\n },\n set() {\n throw new TypeError(`\\`${name}\\` is a derived property, it can't be set directly.`);\n }\n });\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webex-plugin.js"],"names":["WebexPlugin","AmpState","extend","derived","boundedStorage","deps","fn","unboundedStorage","config","cache","webex","namespace","getNamespace","toLowerCase","logger","console","parent","collection","Error","session","type","ready","default","clear","options","attributes","forEach","key","unset","_children","_collections","reset","initialize","args","prototype","_dataTypes","set","bind","on","model","trigger","inspect","depth","util","serialize","props","request","upload","when","eventName","rest","length","resolve","once","_filterSetParameters","value","attrs"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport AmpState from 'ampersand-state';\nimport {\n cloneDeep,\n isObject,\n omit\n} from 'lodash';\n\nimport {makeWebexPluginStore} from './storage';\n\n/**\n * @class\n */\nconst WebexPlugin = AmpState.extend({\n derived: {\n boundedStorage: {\n deps: [],\n fn() {\n return makeWebexPluginStore('bounded', this);\n }\n },\n unboundedStorage: {\n deps: [],\n fn() {\n return makeWebexPluginStore('unbounded', this);\n }\n },\n config: {\n // figure out why caching config breaks the refresh integration test\n // but not the refresh automation test.\n cache: false,\n deps: [\n 'webex',\n 'webex.config'\n ],\n fn() {\n if (this.webex && this.webex.config) {\n const namespace = this.getNamespace();\n\n if (namespace) {\n return this.webex.config[namespace.toLowerCase()];\n }\n\n return this.webex.config;\n }\n\n return {};\n }\n },\n\n logger: {\n deps: [\n 'webex',\n 'webex.logger'\n ],\n fn() {\n return this.webex.logger || console;\n }\n },\n\n webex: {\n deps: ['parent'],\n fn() {\n if (!this.parent && !this.collection) {\n throw new Error('Cannot determine `this.webex` without `this.parent` or `this.collection`. Please initialize `this` via `children` or `collection` or set `this.parent` manually');\n }\n\n /* eslint consistent-this: [0] */\n let parent = this;\n\n while (parent.parent || parent.collection) {\n parent = parent.parent || parent.collection;\n }\n\n return parent;\n }\n }\n },\n\n session: {\n parent: {\n type: 'any'\n },\n /**\n * Indicates this plugin is ready to be used. Defaults to true but can be\n * overridden by plugins as appropriate. Used by {@link WebexCore#read}\n * @instance\n * @memberof WebexPlugin\n * @type {boolean}\n */\n ready: {\n default: true,\n type: 'boolean'\n }\n },\n\n /**\n * Overrides AmpersandState#clear to make sure we never unset `parent` and\n * recursively visits children/collections.\n * @instance\n * @memberof WebexPlugin\n * @param {Object} options\n * @returns {WebexPlugin}\n */\n clear(options) {\n Object.keys(this.attributes).forEach((key) => {\n if (key !== 'parent') {\n this.unset(key, options);\n }\n });\n\n Object.keys(this._children).forEach((key) => {\n this[key].clear();\n });\n\n Object.keys(this._collections).forEach((key) => {\n this[key].reset();\n });\n\n return this;\n },\n\n /**\n * Initializer\n * @private\n * @param {Object} attrs\n * @param {Object} options\n * @returns {undefined}\n */\n initialize(...args) {\n Reflect.apply(AmpState.prototype.initialize, this, args);\n\n // HACK to deal with the fact that AmpersandState#dataTypes#set is a pure\n // function.\n this._dataTypes = cloneDeep(this._dataTypes);\n Object.keys(this._dataTypes).forEach((key) => {\n if (this._dataTypes[key].set) {\n this._dataTypes[key].set = this._dataTypes[key].set.bind(this);\n }\n });\n // END HACK\n\n // Propagate change:[attribute] events from children\n this.on('change', (model, options) => {\n if (this.parent) {\n this.parent.trigger(`change:${this.getNamespace().toLowerCase()}`, this.parent, this, options);\n }\n });\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(omit(this.serialize({\n props: true,\n session: true,\n derived: true\n }), 'boundedStorage', 'unboundedStorage', 'config', 'logger', 'webex', 'parent'), {depth});\n },\n\n request(...args) {\n return this.webex.request(...args);\n },\n\n upload(...args) {\n return this.webex.upload(...args);\n },\n\n when(eventName, ...rest) {\n if (rest && rest.length > 0) {\n throw new Error('#when() does not accept a callback, you must attach to its promise');\n }\n\n return new Promise((resolve) => {\n this.once(eventName, (...args) => resolve(args));\n });\n },\n\n /**\n * Helper function for dealing with both forms of {@link AmpersandState#set()}\n * @param {string} key\n * @param {mixed} value\n * @param {Object} options\n * @private\n * @returns {Array<Object, Object>}\n */\n _filterSetParameters(key, value, options) {\n let attrs;\n\n if (isObject(key) || key === null) {\n attrs = key;\n options = value;\n }\n else {\n attrs = {};\n attrs[key] = value;\n }\n\n options = options || {};\n\n return [attrs, options];\n }\n});\n\nexport default WebexPlugin;\n"]}
1
+ {"version":3,"names":["WebexPlugin","AmpState","extend","derived","boundedStorage","deps","fn","unboundedStorage","config","cache","webex","namespace","getNamespace","toLowerCase","logger","console","parent","collection","Error","session","type","ready","default","clear","options","attributes","forEach","key","unset","_children","_collections","reset","initialize","args","prototype","_dataTypes","set","bind","on","model","trigger","inspect","depth","util","serialize","props","request","upload","when","eventName","rest","length","resolve","once","_filterSetParameters","value","attrs"],"sources":["webex-plugin.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport AmpState from 'ampersand-state';\nimport {\n cloneDeep,\n isObject,\n omit\n} from 'lodash';\n\nimport {makeWebexPluginStore} from './storage';\n\n/**\n * @class\n */\nconst WebexPlugin = AmpState.extend({\n derived: {\n boundedStorage: {\n deps: [],\n fn() {\n return makeWebexPluginStore('bounded', this);\n }\n },\n unboundedStorage: {\n deps: [],\n fn() {\n return makeWebexPluginStore('unbounded', this);\n }\n },\n config: {\n // figure out why caching config breaks the refresh integration test\n // but not the refresh automation test.\n cache: false,\n deps: [\n 'webex',\n 'webex.config'\n ],\n fn() {\n if (this.webex && this.webex.config) {\n const namespace = this.getNamespace();\n\n if (namespace) {\n return this.webex.config[namespace.toLowerCase()];\n }\n\n return this.webex.config;\n }\n\n return {};\n }\n },\n\n logger: {\n deps: [\n 'webex',\n 'webex.logger'\n ],\n fn() {\n return this.webex.logger || console;\n }\n },\n\n webex: {\n deps: ['parent'],\n fn() {\n if (!this.parent && !this.collection) {\n throw new Error('Cannot determine `this.webex` without `this.parent` or `this.collection`. Please initialize `this` via `children` or `collection` or set `this.parent` manually');\n }\n\n /* eslint consistent-this: [0] */\n let parent = this;\n\n while (parent.parent || parent.collection) {\n parent = parent.parent || parent.collection;\n }\n\n return parent;\n }\n }\n },\n\n session: {\n parent: {\n type: 'any'\n },\n /**\n * Indicates this plugin is ready to be used. Defaults to true but can be\n * overridden by plugins as appropriate. Used by {@link WebexCore#read}\n * @instance\n * @memberof WebexPlugin\n * @type {boolean}\n */\n ready: {\n default: true,\n type: 'boolean'\n }\n },\n\n /**\n * Overrides AmpersandState#clear to make sure we never unset `parent` and\n * recursively visits children/collections.\n * @instance\n * @memberof WebexPlugin\n * @param {Object} options\n * @returns {WebexPlugin}\n */\n clear(options) {\n Object.keys(this.attributes).forEach((key) => {\n if (key !== 'parent') {\n this.unset(key, options);\n }\n });\n\n Object.keys(this._children).forEach((key) => {\n this[key].clear();\n });\n\n Object.keys(this._collections).forEach((key) => {\n this[key].reset();\n });\n\n return this;\n },\n\n /**\n * Initializer\n * @private\n * @param {Object} attrs\n * @param {Object} options\n * @returns {undefined}\n */\n initialize(...args) {\n Reflect.apply(AmpState.prototype.initialize, this, args);\n\n // HACK to deal with the fact that AmpersandState#dataTypes#set is a pure\n // function.\n this._dataTypes = cloneDeep(this._dataTypes);\n Object.keys(this._dataTypes).forEach((key) => {\n if (this._dataTypes[key].set) {\n this._dataTypes[key].set = this._dataTypes[key].set.bind(this);\n }\n });\n // END HACK\n\n // Propagate change:[attribute] events from children\n this.on('change', (model, options) => {\n if (this.parent) {\n this.parent.trigger(`change:${this.getNamespace().toLowerCase()}`, this.parent, this, options);\n }\n });\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(omit(this.serialize({\n props: true,\n session: true,\n derived: true\n }), 'boundedStorage', 'unboundedStorage', 'config', 'logger', 'webex', 'parent'), {depth});\n },\n\n request(...args) {\n return this.webex.request(...args);\n },\n\n upload(...args) {\n return this.webex.upload(...args);\n },\n\n when(eventName, ...rest) {\n if (rest && rest.length > 0) {\n throw new Error('#when() does not accept a callback, you must attach to its promise');\n }\n\n return new Promise((resolve) => {\n this.once(eventName, (...args) => resolve(args));\n });\n },\n\n /**\n * Helper function for dealing with both forms of {@link AmpersandState#set()}\n * @param {string} key\n * @param {mixed} value\n * @param {Object} options\n * @private\n * @returns {Array<Object, Object>}\n */\n _filterSetParameters(key, value, options) {\n let attrs;\n\n if (isObject(key) || key === null) {\n attrs = key;\n options = value;\n }\n else {\n attrs = {};\n attrs[key] = value;\n }\n\n options = options || {};\n\n return [attrs, options];\n }\n});\n\nexport default WebexPlugin;\n"],"mappings":"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"}
@@ -70,7 +70,7 @@ var Logger = _webexPlugin.default.extend({
70
70
  info: wrapConsoleMethod('info'),
71
71
  debug: wrapConsoleMethod('debug'),
72
72
  trace: wrapConsoleMethod('trace'),
73
- version: "1.159.3"
73
+ version: "1.159.6"
74
74
  });
75
75
 
76
76
  (0, _webexCore.registerPlugin)('logger', Logger);
@@ -1 +1 @@
1
- {"version":3,"sources":["logger.js"],"names":["precedence","error","warn","info","debug","trace","wrapConsoleMethod","level","impls","slice","console","pop","wrappedConsoleMethod","args","process","env","NODE_ENV","webex","internal","device","url","unshift","Logger","WebexPlugin","extend","namespace","log"],"mappings":";;;;;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,IAAMA,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAE,CAAC,KAAD,CADU;AAEjBC,EAAAA,IAAI,EAAE,CAAC,OAAD,EAAU,KAAV,CAFW;AAGjBC,EAAAA,IAAI,EAAE,CAAC,KAAD,CAHW;AAIjBC,EAAAA,KAAK,EAAE,CAAC,MAAD,EAAS,KAAT,CAJU;AAKjBC,EAAAA,KAAK,EAAE,CAAC,OAAD,EAAU,MAAV,EAAkB,KAAlB;AALU,CAAnB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2BC,KAA3B,EAAkC;AAChC;AACA,MAAIC,KAAK,GAAGR,UAAU,CAACO,KAAD,CAAtB;;AAEA,MAAIC,KAAJ,EAAW;AACTA,IAAAA,KAAK,GAAGA,KAAK,CAACC,KAAN,EAAR;;AACA,WAAO,CAACC,OAAO,CAACH,KAAD,CAAf,EAAwB;AACtBA,MAAAA,KAAK,GAAGC,KAAK,CAACG,GAAN,EAAR;AACD;AACF;;AAED,SAAO,SAASC,oBAAT,GAAuC;AAAA;;AAAA,sCAANC,IAAM;AAANA,MAAAA,IAAM;AAAA;;AAC5C;;AACA;AACA,QAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAAzB,IAAmC,KAAKC,KAAxC,IAAiD,KAAKA,KAAL,CAAWC,QAAX,CAAoBC,MAArE,IAA+E,KAAKF,KAAL,CAAWC,QAAX,CAAoBC,MAApB,CAA2BC,GAA9G,EAAmH;AACjHP,MAAAA,IAAI,CAACQ,OAAL,CAAa,KAAKJ,KAAL,CAAWC,QAAX,CAAoBC,MAApB,CAA2BC,GAA3B,CAA+BX,KAA/B,CAAqC,CAAC,CAAtC,CAAb;AACD;;AACD,gBAAAC,OAAO,EAACH,KAAD,CAAP,iBAAkBM,IAAlB;AACD,GAPD;AAQD;;AAED,IAAMS,MAAM,GAAGC,qBAAYC,MAAZ,CAAmB;AAChCC,EAAAA,SAAS,EAAE,QADqB;AAEhCxB,EAAAA,KAAK,EAAEK,iBAAiB,CAAC,OAAD,CAFQ;AAGhCJ,EAAAA,IAAI,EAAEI,iBAAiB,CAAC,MAAD,CAHS;AAIhCoB,EAAAA,GAAG,EAAEpB,iBAAiB,CAAC,KAAD,CAJU;AAKhCH,EAAAA,IAAI,EAAEG,iBAAiB,CAAC,MAAD,CALS;AAMhCF,EAAAA,KAAK,EAAEE,iBAAiB,CAAC,OAAD,CANQ;AAOhCD,EAAAA,KAAK,EAAEC,iBAAiB,CAAC,OAAD,CAPQ;AAAA;AAAA,CAAnB,CAAf;;AAUA,+BAAe,QAAf,EAAyBgB,MAAzB;eAEeA,M","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport WebexPlugin from '../lib/webex-plugin';\nimport {registerPlugin} from '../webex-core';\n\nconst precedence = {\n error: ['log'],\n warn: ['error', 'log'],\n info: ['log'],\n debug: ['info', 'log'],\n trace: ['debug', 'info', 'log']\n};\n\n/**\n * Assigns the specified console method to Logger; uses `precedence` to fallback\n * to other console methods if the current environment doesn't provide the\n * specified level.\n * @param {string} level\n * @returns {Function}\n */\nfunction wrapConsoleMethod(level) {\n /* eslint no-console: [0] */\n let impls = precedence[level];\n\n if (impls) {\n impls = impls.slice();\n while (!console[level]) {\n level = impls.pop();\n }\n }\n\n return function wrappedConsoleMethod(...args) {\n /* eslint no-invalid-this: [0] */\n /* istanbul ignore if */\n if (process.env.NODE_ENV === 'test' && this.webex && this.webex.internal.device && this.webex.internal.device.url) {\n args.unshift(this.webex.internal.device.url.slice(-3));\n }\n console[level](...args);\n };\n}\n\nconst Logger = WebexPlugin.extend({\n namespace: 'Logger',\n error: wrapConsoleMethod('error'),\n warn: wrapConsoleMethod('warn'),\n log: wrapConsoleMethod('log'),\n info: wrapConsoleMethod('info'),\n debug: wrapConsoleMethod('debug'),\n trace: wrapConsoleMethod('trace')\n});\n\nregisterPlugin('logger', Logger);\n\nexport default Logger;\n"]}
1
+ {"version":3,"names":["precedence","error","warn","info","debug","trace","wrapConsoleMethod","level","impls","slice","console","pop","wrappedConsoleMethod","args","process","env","NODE_ENV","webex","internal","device","url","unshift","Logger","WebexPlugin","extend","namespace","log"],"sources":["logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport WebexPlugin from '../lib/webex-plugin';\nimport {registerPlugin} from '../webex-core';\n\nconst precedence = {\n error: ['log'],\n warn: ['error', 'log'],\n info: ['log'],\n debug: ['info', 'log'],\n trace: ['debug', 'info', 'log']\n};\n\n/**\n * Assigns the specified console method to Logger; uses `precedence` to fallback\n * to other console methods if the current environment doesn't provide the\n * specified level.\n * @param {string} level\n * @returns {Function}\n */\nfunction wrapConsoleMethod(level) {\n /* eslint no-console: [0] */\n let impls = precedence[level];\n\n if (impls) {\n impls = impls.slice();\n while (!console[level]) {\n level = impls.pop();\n }\n }\n\n return function wrappedConsoleMethod(...args) {\n /* eslint no-invalid-this: [0] */\n /* istanbul ignore if */\n if (process.env.NODE_ENV === 'test' && this.webex && this.webex.internal.device && this.webex.internal.device.url) {\n args.unshift(this.webex.internal.device.url.slice(-3));\n }\n console[level](...args);\n };\n}\n\nconst Logger = WebexPlugin.extend({\n namespace: 'Logger',\n error: wrapConsoleMethod('error'),\n warn: wrapConsoleMethod('warn'),\n log: wrapConsoleMethod('log'),\n info: wrapConsoleMethod('info'),\n debug: wrapConsoleMethod('debug'),\n trace: wrapConsoleMethod('trace')\n});\n\nregisterPlugin('logger', Logger);\n\nexport default Logger;\n"],"mappings":";;;;;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,IAAMA,UAAU,GAAG;EACjBC,KAAK,EAAE,CAAC,KAAD,CADU;EAEjBC,IAAI,EAAE,CAAC,OAAD,EAAU,KAAV,CAFW;EAGjBC,IAAI,EAAE,CAAC,KAAD,CAHW;EAIjBC,KAAK,EAAE,CAAC,MAAD,EAAS,KAAT,CAJU;EAKjBC,KAAK,EAAE,CAAC,OAAD,EAAU,MAAV,EAAkB,KAAlB;AALU,CAAnB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2BC,KAA3B,EAAkC;EAChC;EACA,IAAIC,KAAK,GAAGR,UAAU,CAACO,KAAD,CAAtB;;EAEA,IAAIC,KAAJ,EAAW;IACTA,KAAK,GAAGA,KAAK,CAACC,KAAN,EAAR;;IACA,OAAO,CAACC,OAAO,CAACH,KAAD,CAAf,EAAwB;MACtBA,KAAK,GAAGC,KAAK,CAACG,GAAN,EAAR;IACD;EACF;;EAED,OAAO,SAASC,oBAAT,GAAuC;IAAA;;IAAA,kCAANC,IAAM;MAANA,IAAM;IAAA;;IAC5C;;IACA;IACA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAAzB,IAAmC,KAAKC,KAAxC,IAAiD,KAAKA,KAAL,CAAWC,QAAX,CAAoBC,MAArE,IAA+E,KAAKF,KAAL,CAAWC,QAAX,CAAoBC,MAApB,CAA2BC,GAA9G,EAAmH;MACjHP,IAAI,CAACQ,OAAL,CAAa,KAAKJ,KAAL,CAAWC,QAAX,CAAoBC,MAApB,CAA2BC,GAA3B,CAA+BX,KAA/B,CAAqC,CAAC,CAAtC,CAAb;IACD;;IACD,YAAAC,OAAO,EAACH,KAAD,CAAP,iBAAkBM,IAAlB;EACD,CAPD;AAQD;;AAED,IAAMS,MAAM,GAAGC,qBAAYC,MAAZ,CAAmB;EAChCC,SAAS,EAAE,QADqB;EAEhCxB,KAAK,EAAEK,iBAAiB,CAAC,OAAD,CAFQ;EAGhCJ,IAAI,EAAEI,iBAAiB,CAAC,MAAD,CAHS;EAIhCoB,GAAG,EAAEpB,iBAAiB,CAAC,KAAD,CAJU;EAKhCH,IAAI,EAAEG,iBAAiB,CAAC,MAAD,CALS;EAMhCF,KAAK,EAAEE,iBAAiB,CAAC,OAAD,CANQ;EAOhCD,KAAK,EAAEC,iBAAiB,CAAC,OAAD,CAPQ;EAAA;AAAA,CAAnB,CAAf;;AAUA,+BAAe,QAAf,EAAyBgB,MAAzB;eAEeA,M"}
@@ -18,9 +18,9 @@ _Object$defineProperty(exports, "__esModule", {
18
18
  value: true
19
19
  });
20
20
 
21
- exports.registerPlugin = registerPlugin;
22
- exports.registerInternalPlugin = registerInternalPlugin;
23
21
  exports.default = void 0;
22
+ exports.registerInternalPlugin = registerInternalPlugin;
23
+ exports.registerPlugin = registerPlugin;
24
24
 
25
25
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
26
26
 
@@ -116,9 +116,9 @@ var _webexInternalCore = _interopRequireDefault(require("./webex-internal-core")
116
116
 
117
117
  var _obj;
118
118
 
119
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor2(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
119
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor2(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
120
120
 
121
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor2(source, key)); }); } } return target; }
121
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor2(source, key)); }); } return target; }
122
122
 
123
123
  // TODO replace the Interceptor.create with Reflect.construct (
124
124
  // Interceptor.create exists because new was really hard to call on an array of
@@ -159,7 +159,7 @@ var MAX_FILE_SIZE_IN_MB = 2048;
159
159
  */
160
160
 
161
161
  var WebexCore = _ampersandState.default.extend((_obj = {
162
- version: "1.159.3",
162
+ version: "1.159.6",
163
163
  children: {
164
164
  internal: _webexInternalCore.default
165
165
  },
@@ -757,7 +757,7 @@ var WebexCore = _ampersandState.default.extend((_obj = {
757
757
  }
758
758
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "_uploadPhaseUpload", [_common.retry], (0, _getOwnPropertyDescriptor.default)(_obj, "_uploadPhaseUpload"), _obj)), _obj));
759
759
 
760
- WebexCore.version = "1.159.3";
760
+ WebexCore.version = "1.159.6";
761
761
  (0, _webexInternalCorePluginMixin.default)(_webexInternalCore.default, _config.default, interceptors);
762
762
  (0, _webexCorePluginMixin.default)(WebexCore, _config.default, interceptors);
763
763
  var _default = WebexCore;