@webex/webex-core 3.0.0-beta.2 → 3.0.0-beta.21

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 (184) hide show
  1. package/dist/config.js +1 -11
  2. package/dist/config.js.map +1 -1
  3. package/dist/credentials-config.js +44 -64
  4. package/dist/credentials-config.js.map +1 -1
  5. package/dist/index.js +0 -76
  6. package/dist/index.js.map +1 -1
  7. package/dist/interceptors/auth.js +22 -55
  8. package/dist/interceptors/auth.js.map +1 -1
  9. package/dist/interceptors/default-options.js +0 -20
  10. package/dist/interceptors/default-options.js.map +1 -1
  11. package/dist/interceptors/embargo.js +0 -21
  12. package/dist/interceptors/embargo.js.map +1 -1
  13. package/dist/interceptors/network-timing.js +2 -21
  14. package/dist/interceptors/network-timing.js.map +1 -1
  15. package/dist/interceptors/payload-transformer.js +2 -22
  16. package/dist/interceptors/payload-transformer.js.map +1 -1
  17. package/dist/interceptors/rate-limit.js +25 -57
  18. package/dist/interceptors/rate-limit.js.map +1 -1
  19. package/dist/interceptors/redirect.js +4 -33
  20. package/dist/interceptors/redirect.js.map +1 -1
  21. package/dist/interceptors/request-event.js +3 -30
  22. package/dist/interceptors/request-event.js.map +1 -1
  23. package/dist/interceptors/request-logger.js +1 -30
  24. package/dist/interceptors/request-logger.js.map +1 -1
  25. package/dist/interceptors/request-timing.js +3 -22
  26. package/dist/interceptors/request-timing.js.map +1 -1
  27. package/dist/interceptors/response-logger.js +2 -31
  28. package/dist/interceptors/response-logger.js.map +1 -1
  29. package/dist/interceptors/user-agent.js +2 -29
  30. package/dist/interceptors/user-agent.js.map +1 -1
  31. package/dist/interceptors/webex-tracking-id.js +5 -28
  32. package/dist/interceptors/webex-tracking-id.js.map +1 -1
  33. package/dist/interceptors/webex-user-agent.js +5 -38
  34. package/dist/interceptors/webex-user-agent.js.map +1 -1
  35. package/dist/lib/batcher.js +3 -51
  36. package/dist/lib/batcher.js.map +1 -1
  37. package/dist/lib/credentials/credentials.js +39 -119
  38. package/dist/lib/credentials/credentials.js.map +1 -1
  39. package/dist/lib/credentials/grant-errors.js +0 -49
  40. package/dist/lib/credentials/grant-errors.js.map +1 -1
  41. package/dist/lib/credentials/index.js +1 -13
  42. package/dist/lib/credentials/index.js.map +1 -1
  43. package/dist/lib/credentials/scope.js +1 -7
  44. package/dist/lib/credentials/scope.js.map +1 -1
  45. package/dist/lib/credentials/token-collection.js +1 -7
  46. package/dist/lib/credentials/token-collection.js.map +1 -1
  47. package/dist/lib/credentials/token.js +39 -118
  48. package/dist/lib/credentials/token.js.map +1 -1
  49. package/dist/lib/page.js +13 -26
  50. package/dist/lib/page.js.map +1 -1
  51. package/dist/lib/services/constants.js +0 -2
  52. package/dist/lib/services/constants.js.map +1 -1
  53. package/dist/lib/services/index.js +1 -28
  54. package/dist/lib/services/index.js.map +1 -1
  55. package/dist/lib/services/interceptors/server-error.js +2 -23
  56. package/dist/lib/services/interceptors/server-error.js.map +1 -1
  57. package/dist/lib/services/interceptors/service.js +12 -34
  58. package/dist/lib/services/interceptors/service.js.map +1 -1
  59. package/dist/lib/services/metrics.js +0 -2
  60. package/dist/lib/services/metrics.js.map +1 -1
  61. package/dist/lib/services/service-catalog.js +10 -90
  62. package/dist/lib/services/service-catalog.js.map +1 -1
  63. package/dist/lib/services/service-fed-ramp.js +0 -2
  64. package/dist/lib/services/service-fed-ramp.js.map +1 -1
  65. package/dist/lib/services/service-host.js +47 -62
  66. package/dist/lib/services/service-host.js.map +1 -1
  67. package/dist/lib/services/service-registry.js +78 -90
  68. package/dist/lib/services/service-registry.js.map +1 -1
  69. package/dist/lib/services/service-state.js +3 -15
  70. package/dist/lib/services/service-state.js.map +1 -1
  71. package/dist/lib/services/service-url.js +4 -25
  72. package/dist/lib/services/service-url.js.map +1 -1
  73. package/dist/lib/services/services.js +122 -238
  74. package/dist/lib/services/services.js.map +1 -1
  75. package/dist/lib/stateless-webex-plugin.js +5 -28
  76. package/dist/lib/stateless-webex-plugin.js.map +1 -1
  77. package/dist/lib/storage/decorators.js +19 -62
  78. package/dist/lib/storage/decorators.js.map +1 -1
  79. package/dist/lib/storage/errors.js +0 -23
  80. package/dist/lib/storage/errors.js.map +1 -1
  81. package/dist/lib/storage/index.js +2 -16
  82. package/dist/lib/storage/index.js.map +1 -1
  83. package/dist/lib/storage/make-webex-plugin-store.js +11 -41
  84. package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
  85. package/dist/lib/storage/make-webex-store.js +8 -30
  86. package/dist/lib/storage/make-webex-store.js.map +1 -1
  87. package/dist/lib/storage/memory-store-adapter.js +1 -19
  88. package/dist/lib/storage/memory-store-adapter.js.map +1 -1
  89. package/dist/lib/webex-core-plugin-mixin.js +9 -29
  90. package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
  91. package/dist/lib/webex-http-error.js +1 -31
  92. package/dist/lib/webex-http-error.js.map +1 -1
  93. package/dist/lib/webex-internal-core-plugin-mixin.js +9 -29
  94. package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
  95. package/dist/lib/webex-plugin.js +6 -40
  96. package/dist/lib/webex-plugin.js.map +1 -1
  97. package/dist/plugins/logger.js +3 -17
  98. package/dist/plugins/logger.js.map +1 -1
  99. package/dist/webex-core.js +79 -203
  100. package/dist/webex-core.js.map +1 -1
  101. package/dist/webex-internal-core.js +0 -10
  102. package/dist/webex-internal-core.js.map +1 -1
  103. package/package.json +14 -14
  104. package/src/config.js +9 -11
  105. package/src/credentials-config.js +110 -72
  106. package/src/index.js +4 -14
  107. package/src/interceptors/auth.js +36 -37
  108. package/src/interceptors/default-options.js +0 -1
  109. package/src/interceptors/embargo.js +1 -1
  110. package/src/interceptors/payload-transformer.js +1 -2
  111. package/src/interceptors/rate-limit.js +8 -5
  112. package/src/interceptors/redirect.js +14 -8
  113. package/src/interceptors/request-event.js +4 -8
  114. package/src/interceptors/request-logger.js +8 -5
  115. package/src/interceptors/response-logger.js +11 -8
  116. package/src/interceptors/user-agent.js +1 -2
  117. package/src/interceptors/webex-user-agent.js +3 -9
  118. package/src/lib/batcher.js +70 -69
  119. package/src/lib/credentials/credentials.js +112 -122
  120. package/src/lib/credentials/grant-errors.js +6 -7
  121. package/src/lib/credentials/index.js +1 -4
  122. package/src/lib/credentials/scope.js +1 -4
  123. package/src/lib/credentials/token-collection.js +1 -1
  124. package/src/lib/credentials/token.js +86 -80
  125. package/src/lib/page.js +10 -11
  126. package/src/lib/services/constants.js +3 -13
  127. package/src/lib/services/index.js +2 -2
  128. package/src/lib/services/interceptors/server-error.js +12 -7
  129. package/src/lib/services/interceptors/service.js +6 -5
  130. package/src/lib/services/metrics.js +1 -1
  131. package/src/lib/services/service-catalog.js +110 -100
  132. package/src/lib/services/service-fed-ramp.js +1 -2
  133. package/src/lib/services/service-host.js +10 -17
  134. package/src/lib/services/service-registry.js +69 -96
  135. package/src/lib/services/service-state.js +4 -6
  136. package/src/lib/services/service-url.js +24 -23
  137. package/src/lib/services/services.js +260 -251
  138. package/src/lib/stateless-webex-plugin.js +4 -2
  139. package/src/lib/storage/decorators.js +68 -66
  140. package/src/lib/storage/index.js +4 -6
  141. package/src/lib/storage/make-webex-plugin-store.js +34 -21
  142. package/src/lib/storage/make-webex-store.js +6 -7
  143. package/src/lib/storage/memory-store-adapter.js +3 -3
  144. package/src/lib/webex-core-plugin-mixin.js +10 -7
  145. package/src/lib/webex-http-error.js +7 -8
  146. package/src/lib/webex-internal-core-plugin-mixin.js +9 -6
  147. package/src/lib/webex-plugin.js +41 -34
  148. package/src/plugins/logger.js +8 -3
  149. package/src/webex-core.js +185 -116
  150. package/src/webex-internal-core.js +15 -9
  151. package/test/integration/spec/credentials/credentials.js +26 -30
  152. package/test/integration/spec/credentials/token.js +36 -33
  153. package/test/integration/spec/services/service-catalog.js +177 -156
  154. package/test/integration/spec/services/services.js +313 -304
  155. package/test/integration/spec/webex-core.js +98 -86
  156. package/test/unit/spec/_setup.js +26 -18
  157. package/test/unit/spec/credentials/credentials.js +189 -154
  158. package/test/unit/spec/credentials/token.js +94 -76
  159. package/test/unit/spec/interceptors/auth.js +291 -243
  160. package/test/unit/spec/interceptors/default-options.js +36 -24
  161. package/test/unit/spec/interceptors/embargo.js +32 -27
  162. package/test/unit/spec/interceptors/network-timing.js +2 -2
  163. package/test/unit/spec/interceptors/payload-transformer.js +61 -52
  164. package/test/unit/spec/interceptors/rate-limit.js +104 -75
  165. package/test/unit/spec/interceptors/redirect.js +22 -20
  166. package/test/unit/spec/interceptors/request-timing.js +18 -22
  167. package/test/unit/spec/interceptors/user-agent.js +28 -16
  168. package/test/unit/spec/interceptors/webex-tracking-id.js +14 -8
  169. package/test/unit/spec/interceptors/webex-user-agent.js +83 -37
  170. package/test/unit/spec/lib/batcher.js +36 -32
  171. package/test/unit/spec/lib/page.js +36 -32
  172. package/test/unit/spec/lib/webex-plugin.js +1 -1
  173. package/test/unit/spec/services/interceptors/server-error.js +67 -90
  174. package/test/unit/spec/services/interceptors/service.js +17 -28
  175. package/test/unit/spec/services/service-catalog.js +19 -27
  176. package/test/unit/spec/services/service-host.js +29 -26
  177. package/test/unit/spec/services/service-registry.js +128 -170
  178. package/test/unit/spec/services/service-state.js +13 -22
  179. package/test/unit/spec/services/service-url.js +24 -43
  180. package/test/unit/spec/services/services.js +85 -41
  181. package/test/unit/spec/storage/persist.js +6 -9
  182. package/test/unit/spec/storage/wait-for-value.js +22 -21
  183. package/test/unit/spec/webex-core.js +78 -57
  184. package/test/unit/spec/webex-internal-core.js +56 -31
@@ -1,31 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = mixinWebexCorePlugins;
12
-
13
9
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
14
-
15
10
  var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/define-property"));
16
-
17
11
  var _union2 = _interopRequireDefault(require("lodash/union"));
18
-
19
12
  var _merge2 = _interopRequireDefault(require("lodash/merge"));
20
-
21
13
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
22
-
23
14
  var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
24
-
25
15
  var _has2 = _interopRequireDefault(require("lodash/has"));
26
-
27
16
  var _get2 = _interopRequireDefault(require("lodash/get"));
28
-
29
17
  /**
30
18
  * Mixes a plugin system into an AmpState object (specifically, into WebexCore)
31
19
  * @param {AmpState} State
@@ -37,13 +25,10 @@ function mixinWebexCorePlugins(State, config, interceptors) {
37
25
  // eslint-disable-next-line complexity
38
26
  State.registerPlugin = function registerPlugin(name, constructor) {
39
27
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
40
-
41
28
  if (State.prototype._children[name] && !options.replace) {
42
29
  return;
43
30
  }
44
-
45
31
  State.prototype._children[name] = constructor;
46
-
47
32
  if (options.proxies) {
48
33
  options.proxies.forEach(function (key) {
49
34
  createDerivedProperty(State.prototype, key, {
@@ -54,25 +39,20 @@ function mixinWebexCorePlugins(State, config, interceptors) {
54
39
  });
55
40
  });
56
41
  }
57
-
58
42
  if (options.interceptors) {
59
43
  (0, _keys.default)(options.interceptors).forEach(function (key) {
60
44
  interceptors[key] = options.interceptors[key];
61
45
  });
62
46
  }
63
-
64
47
  if (options.config) {
65
48
  (0, _merge2.default)(config, options.config);
66
49
  }
67
-
68
50
  if ((0, _has2.default)(options, 'payloadTransformer.predicates')) {
69
51
  config.payloadTransformer.predicates = config.payloadTransformer.predicates.concat((0, _get2.default)(options, 'payloadTransformer.predicates'));
70
52
  }
71
-
72
53
  if ((0, _has2.default)(options, 'payloadTransformer.transforms')) {
73
54
  config.payloadTransformer.transforms = config.payloadTransformer.transforms.concat((0, _get2.default)(options, 'payloadTransformer.transforms'));
74
55
  }
75
-
76
56
  if (options.onBeforeLogout) {
77
57
  config.onBeforeLogout = config.onBeforeLogout || [];
78
58
  var onBeforeLogout = (0, _isArray2.default)(options.onBeforeLogout) ? options.onBeforeLogout : [options.onBeforeLogout];
@@ -82,13 +62,13 @@ function mixinWebexCorePlugins(State, config, interceptors) {
82
62
  fn: fn
83
63
  });
84
64
  });
85
- } // Only mess with the plugin's derived properties if it's an amp-state plugin
86
-
65
+ }
87
66
 
67
+ // Only mess with the plugin's derived properties if it's an amp-state plugin
88
68
  if (constructor.prototype._definition && constructor.prototype._definition.ready) {
89
69
  var _State$prototype$_der = State.prototype._derived.ready,
90
- fn = _State$prototype$_der.fn,
91
- depList = _State$prototype$_der.depList;
70
+ fn = _State$prototype$_der.fn,
71
+ depList = _State$prototype$_der.depList;
92
72
  var def = {
93
73
  deps: depList.concat("".concat(name, ".ready")),
94
74
  fn: fn
@@ -96,9 +76,9 @@ function mixinWebexCorePlugins(State, config, interceptors) {
96
76
  createDerivedProperty(State.prototype, 'ready', def);
97
77
  }
98
78
  };
99
-
100
79
  return State;
101
80
  }
81
+
102
82
  /**
103
83
  * Extracted from ampersand-state
104
84
  * @param {Object} modelProto
@@ -107,19 +87,19 @@ function mixinWebexCorePlugins(State, config, interceptors) {
107
87
  * @private
108
88
  * @returns {undefined}
109
89
  */
110
-
111
-
112
90
  function createDerivedProperty(modelProto, name, definition) {
113
91
  var def = modelProto._derived[name] = {
114
92
  fn: (0, _isFunction2.default)(definition) ? definition : definition.fn,
115
93
  cache: definition.cache !== false,
116
94
  depList: definition.deps || []
117
- }; // add to our shared dependency list
95
+ };
118
96
 
97
+ // add to our shared dependency list
119
98
  def.depList.forEach(function (dep) {
120
99
  modelProto._deps[dep] = (0, _union2.default)(modelProto._deps[dep] || [], [name]);
121
- }); // defined a top-level getter for derived names
100
+ });
122
101
 
102
+ // defined a top-level getter for derived names
123
103
  (0, _defineProperty.default)(modelProto, name, {
124
104
  get: function get() {
125
105
  return this._getDerivedProperty(name);
@@ -1 +1 @@
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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"}
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)\n ? options.onBeforeLogout\n : [options.onBeforeLogout];\n\n onBeforeLogout.forEach((fn) =>\n config.onBeforeLogout.push({\n plugin: name,\n fn,\n })\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,50 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
5
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
6
  _Object$defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
-
13
9
  exports.default = void 0;
14
-
15
10
  var _apply = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/apply"));
16
-
17
11
  var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/define-property"));
18
-
19
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
23
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
24
-
25
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
26
-
27
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
28
-
29
17
  var _httpCore = require("@webex/http-core");
30
-
31
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); }; }
32
-
33
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; } }
34
-
35
20
  /**
36
21
  * Webex-specific http error class
37
22
  */
38
23
  var WebexHttpError = /*#__PURE__*/function (_HttpError) {
39
24
  (0, _inherits2.default)(WebexHttpError, _HttpError);
40
-
41
25
  var _super = _createSuper(WebexHttpError);
42
-
43
26
  function WebexHttpError() {
44
27
  (0, _classCallCheck2.default)(this, WebexHttpError);
45
28
  return _super.apply(this, arguments);
46
29
  }
47
-
48
30
  (0, _createClass2.default)(WebexHttpError, [{
49
31
  key: "parse",
50
32
  value:
@@ -60,7 +42,6 @@ var WebexHttpError = /*#__PURE__*/function (_HttpError) {
60
42
  enumerable: false,
61
43
  value: res.options
62
44
  });
63
-
64
45
  if (this.options.url) {
65
46
  message += "\n".concat(this.options.method, " ").concat(this.options.url);
66
47
  } else if (this.options.uri) {
@@ -68,13 +49,10 @@ var WebexHttpError = /*#__PURE__*/function (_HttpError) {
68
49
  } else {
69
50
  message += "\n".concat(this.options.method, " ").concat(this.options.service.toUpperCase(), "/").concat(this.options.resource);
70
51
  }
71
-
72
52
  message += "\nWEBEX_TRACKING_ID: ".concat(this.options.headers.trackingid);
73
-
74
53
  if (this.options.headers && this.options.headers['x-trans-id']) {
75
54
  message += "\nX-Trans-Id: ".concat(this.options.headers['x-trans-id']);
76
55
  }
77
-
78
56
  if (this.headers['retry-after']) {
79
57
  (0, _defineProperty.default)(this, 'retryAfter', {
80
58
  enumerable: true,
@@ -83,35 +61,27 @@ var WebexHttpError = /*#__PURE__*/function (_HttpError) {
83
61
  });
84
62
  message += "\nRETRY-AFTER: ".concat(this.retryAfter);
85
63
  }
86
-
87
64
  message += '\n';
88
65
  return message;
89
66
  }
90
67
  }]);
91
68
  return WebexHttpError;
92
69
  }(_httpCore.HttpError);
93
-
94
70
  exports.default = WebexHttpError;
95
-
96
71
  _httpCore.HttpError.makeSubTypes(WebexHttpError);
72
+
97
73
  /**
98
74
  * TooManyRequests
99
75
  */
100
-
101
-
102
76
  var TooManyRequests = /*#__PURE__*/function (_HttpError$BadRequest) {
103
77
  (0, _inherits2.default)(TooManyRequests, _HttpError$BadRequest);
104
-
105
78
  var _super2 = _createSuper(TooManyRequests);
106
-
107
79
  function TooManyRequests() {
108
80
  (0, _classCallCheck2.default)(this, TooManyRequests);
109
81
  return _super2.apply(this, arguments);
110
82
  }
111
-
112
83
  return (0, _createClass2.default)(TooManyRequests);
113
84
  }(_httpCore.HttpError.BadRequest);
114
-
115
85
  _httpCore.HttpError[429] = TooManyRequests;
116
86
  _httpCore.HttpError.TooManyRequests = TooManyRequests;
117
87
  //# sourceMappingURL=webex-http-error.js.map
@@ -1 +1 @@
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,mBAAA,CAAUC,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,mBAAA,CAAUgB,YAAV,CAAuBnB,cAAvB;AAGA;AACA;AACA;;;IACMoB,e;;;;;;;;;;;EAAwBjB,mBAAA,CAAUkB,U;;AAExClB,mBAAA,CAAU,GAAV,IAAiBiB,eAAjB;AACAjB,mBAAA,CAAUiB,eAAV,GAA4BA,eAA5B"}
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 } else if (this.options.uri) {\n message += `\\n${this.options.method} ${this.options.uri}`;\n } else {\n message += `\\n${this.options.method} ${this.options.service.toUpperCase()}/${\n this.options.resource\n }`;\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 * TooManyRequests\n */\nclass TooManyRequests extends HttpError.BadRequest {}\n\nHttpError[429] = TooManyRequests;\nHttpError.TooManyRequests = TooManyRequests;\n"],"mappings":";;;;;;;;;;;;;;;;AAIA;AAA2C;AAAA;AAE3C;AACA;AACA;AAFA,IAGqBA,cAAc;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IACjC;AACF;AACA;AACA;AACA;AACA;IACE,eAAMC,GAAG,EAAE;MACT,IAAIC,OAAO,GAAG,oBAAcC,mBAAS,CAACC,SAAS,CAACC,KAAK,EAAE,IAAI,EAAE,CAACJ,GAAG,CAAC,CAAC;MAEnE,6BAAuB,IAAI,EAAE,SAAS,EAAE;QACtCK,UAAU,EAAE,KAAK;QACjBC,KAAK,EAAEN,GAAG,CAACO;MACb,CAAC,CAAC;MAEF,IAAI,IAAI,CAACA,OAAO,CAACC,GAAG,EAAE;QACpBP,OAAO,gBAAS,IAAI,CAACM,OAAO,CAACE,MAAM,cAAI,IAAI,CAACF,OAAO,CAACC,GAAG,CAAE;MAC3D,CAAC,MAAM,IAAI,IAAI,CAACD,OAAO,CAACG,GAAG,EAAE;QAC3BT,OAAO,gBAAS,IAAI,CAACM,OAAO,CAACE,MAAM,cAAI,IAAI,CAACF,OAAO,CAACG,GAAG,CAAE;MAC3D,CAAC,MAAM;QACLT,OAAO,gBAAS,IAAI,CAACM,OAAO,CAACE,MAAM,cAAI,IAAI,CAACF,OAAO,CAACI,OAAO,CAACC,WAAW,EAAE,cACvE,IAAI,CAACL,OAAO,CAACM,QAAQ,CACrB;MACJ;MACAZ,OAAO,mCAA4B,IAAI,CAACM,OAAO,CAACO,OAAO,CAACC,UAAU,CAAE;MACpE,IAAI,IAAI,CAACR,OAAO,CAACO,OAAO,IAAI,IAAI,CAACP,OAAO,CAACO,OAAO,CAAC,YAAY,CAAC,EAAE;QAC9Db,OAAO,4BAAqB,IAAI,CAACM,OAAO,CAACO,OAAO,CAAC,YAAY,CAAC,CAAE;MAClE;MACA,IAAI,IAAI,CAACA,OAAO,CAAC,aAAa,CAAC,EAAE;QAC/B,6BAAuB,IAAI,EAAE,YAAY,EAAE;UACzCT,UAAU,EAAE,IAAI;UAChBC,KAAK,EAAE,IAAI,CAACQ,OAAO,CAAC,aAAa,CAAC;UAClCE,SAAS,EAAE;QACb,CAAC,CAAC;QAEFf,OAAO,6BAAsB,IAAI,CAACgB,UAAU,CAAE;MAChD;MACAhB,OAAO,IAAI,IAAI;MAEf,OAAOA,OAAO;IAChB;EAAC;EAAA;AAAA,EAxCyCC,mBAAS;AAAA;AA2CrDA,mBAAS,CAACgB,YAAY,CAACnB,cAAc,CAAC;;AAEtC;AACA;AACA;AAFA,IAGMoB,eAAe;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;AAAA,EAASjB,mBAAS,CAACkB,UAAU;AAElDlB,mBAAS,CAAC,GAAG,CAAC,GAAGiB,eAAe;AAChCjB,mBAAS,CAACiB,eAAe,GAAGA,eAAe"}
@@ -1,31 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = mixinWebexInternalCorePlugins;
12
-
13
9
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
14
-
15
10
  var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/define-property"));
16
-
17
11
  var _union2 = _interopRequireDefault(require("lodash/union"));
18
-
19
12
  var _merge2 = _interopRequireDefault(require("lodash/merge"));
20
-
21
13
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
22
-
23
14
  var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
24
-
25
15
  var _has2 = _interopRequireDefault(require("lodash/has"));
26
-
27
16
  var _get2 = _interopRequireDefault(require("lodash/get"));
28
-
29
17
  /**
30
18
  * Mixes a plugin system into an AmpState object (specifically, into WebexCore)
31
19
  * @param {AmpState} State
@@ -37,35 +25,27 @@ function mixinWebexInternalCorePlugins(State, config, interceptors) {
37
25
  // eslint-disable-next-line complexity
38
26
  State.registerPlugin = function registerPlugin(name, constructor) {
39
27
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
40
-
41
28
  if (State.prototype._children[name] && !options.replace) {
42
29
  return;
43
30
  }
44
-
45
31
  State.prototype._children[name] = constructor;
46
-
47
32
  if (options.proxies) {
48
33
  throw new Error('Proxies are not currently supported for private plugins');
49
34
  }
50
-
51
35
  if (options.interceptors) {
52
36
  (0, _keys.default)(options.interceptors).forEach(function (key) {
53
37
  interceptors[key] = options.interceptors[key];
54
38
  });
55
39
  }
56
-
57
40
  if (options.config) {
58
41
  (0, _merge2.default)(config, options.config);
59
42
  }
60
-
61
43
  if ((0, _has2.default)(options, 'payloadTransformer.predicates')) {
62
44
  config.payloadTransformer.predicates = config.payloadTransformer.predicates.concat((0, _get2.default)(options, 'payloadTransformer.predicates'));
63
45
  }
64
-
65
46
  if ((0, _has2.default)(options, 'payloadTransformer.transforms')) {
66
47
  config.payloadTransformer.transforms = config.payloadTransformer.transforms.concat((0, _get2.default)(options, 'payloadTransformer.transforms'));
67
48
  }
68
-
69
49
  if (options.onBeforeLogout) {
70
50
  config.onBeforeLogout = config.onBeforeLogout || [];
71
51
  var onBeforeLogout = (0, _isArray2.default)(options.onBeforeLogout) ? options.onBeforeLogout : [options.onBeforeLogout];
@@ -75,13 +55,13 @@ function mixinWebexInternalCorePlugins(State, config, interceptors) {
75
55
  fn: fn
76
56
  });
77
57
  });
78
- } // Only mess with the plugin's derived properties if it's an amp-state plugin
79
-
58
+ }
80
59
 
60
+ // Only mess with the plugin's derived properties if it's an amp-state plugin
81
61
  if (constructor.prototype._definition && constructor.prototype._definition.ready) {
82
62
  var _State$prototype$_der = State.prototype._derived.ready,
83
- fn = _State$prototype$_der.fn,
84
- depList = _State$prototype$_der.depList;
63
+ fn = _State$prototype$_der.fn,
64
+ depList = _State$prototype$_der.depList;
85
65
  var def = {
86
66
  deps: depList.concat("".concat(name, ".ready")),
87
67
  fn: fn
@@ -89,9 +69,9 @@ function mixinWebexInternalCorePlugins(State, config, interceptors) {
89
69
  createDerivedProperty(State.prototype, 'ready', def);
90
70
  }
91
71
  };
92
-
93
72
  return State;
94
73
  }
74
+
95
75
  /**
96
76
  * Extracted from ampersand-state
97
77
  * @param {Object} modelProto
@@ -100,19 +80,19 @@ function mixinWebexInternalCorePlugins(State, config, interceptors) {
100
80
  * @private
101
81
  * @returns {undefined}
102
82
  */
103
-
104
-
105
83
  function createDerivedProperty(modelProto, name, definition) {
106
84
  var def = modelProto._derived[name] = {
107
85
  fn: (0, _isFunction2.default)(definition) ? definition : definition.fn,
108
86
  cache: definition.cache !== false,
109
87
  depList: definition.deps || []
110
- }; // add to our shared dependency list
88
+ };
111
89
 
90
+ // add to our shared dependency list
112
91
  def.depList.forEach(function (dep) {
113
92
  modelProto._deps[dep] = (0, _union2.default)(modelProto._deps[dep] || [], [name]);
114
- }); // defined a top-level getter for derived names
93
+ });
115
94
 
95
+ // defined a top-level getter for derived names
116
96
  (0, _defineProperty.default)(modelProto, name, {
117
97
  get: function get() {
118
98
  return this._getDerivedProperty(name);
@@ -1 +1 @@
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
+ {"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)\n ? options.onBeforeLogout\n : [options.onBeforeLogout];\n\n onBeforeLogout.forEach((fn) =>\n config.onBeforeLogout.push({\n plugin: name,\n fn,\n })\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,33 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
14
-
15
10
  var _apply = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/apply"));
16
-
17
11
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
18
-
19
12
  var _omit2 = _interopRequireDefault(require("lodash/omit"));
20
-
21
13
  var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
22
-
23
14
  var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
24
-
25
15
  var _util = _interopRequireDefault(require("util"));
26
-
27
16
  var _ampersandState = _interopRequireDefault(require("ampersand-state"));
28
-
29
17
  var _storage = require("./storage");
30
-
31
18
  /*!
32
19
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
33
20
  */
@@ -57,14 +44,11 @@ var WebexPlugin = _ampersandState.default.extend({
57
44
  fn: function fn() {
58
45
  if (this.webex && this.webex.config) {
59
46
  var namespace = this.getNamespace();
60
-
61
47
  if (namespace) {
62
48
  return this.webex.config[namespace.toLowerCase()];
63
49
  }
64
-
65
50
  return this.webex.config;
66
51
  }
67
-
68
52
  return {};
69
53
  }
70
54
  },
@@ -80,15 +64,12 @@ var WebexPlugin = _ampersandState.default.extend({
80
64
  if (!this.parent && !this.collection) {
81
65
  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');
82
66
  }
83
- /* eslint consistent-this: [0] */
84
-
85
67
 
68
+ /* eslint consistent-this: [0] */
86
69
  var parent = this;
87
-
88
70
  while (parent.parent || parent.collection) {
89
71
  parent = parent.parent || parent.collection;
90
72
  }
91
-
92
73
  return parent;
93
74
  }
94
75
  }
@@ -97,7 +78,6 @@ var WebexPlugin = _ampersandState.default.extend({
97
78
  parent: {
98
79
  type: 'any'
99
80
  },
100
-
101
81
  /**
102
82
  * Indicates this plugin is ready to be used. Defaults to true but can be
103
83
  * overridden by plugins as appropriate. Used by {@link WebexCore#read}
@@ -110,7 +90,6 @@ var WebexPlugin = _ampersandState.default.extend({
110
90
  type: 'boolean'
111
91
  }
112
92
  },
113
-
114
93
  /**
115
94
  * Overrides AmpersandState#clear to make sure we never unset `parent` and
116
95
  * recursively visits children/collections.
@@ -121,7 +100,6 @@ var WebexPlugin = _ampersandState.default.extend({
121
100
  */
122
101
  clear: function clear(options) {
123
102
  var _this = this;
124
-
125
103
  (0, _keys.default)(this.attributes).forEach(function (key) {
126
104
  if (key !== 'parent') {
127
105
  _this.unset(key, options);
@@ -135,7 +113,6 @@ var WebexPlugin = _ampersandState.default.extend({
135
113
  });
136
114
  return this;
137
115
  },
138
-
139
116
  /**
140
117
  * Initializer
141
118
  * @private
@@ -145,29 +122,28 @@ var WebexPlugin = _ampersandState.default.extend({
145
122
  */
146
123
  initialize: function initialize() {
147
124
  var _this2 = this;
148
-
149
125
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
150
126
  args[_key] = arguments[_key];
151
127
  }
128
+ (0, _apply.default)(_ampersandState.default.prototype.initialize, this, args);
152
129
 
153
- (0, _apply.default)(_ampersandState.default.prototype.initialize, this, args); // HACK to deal with the fact that AmpersandState#dataTypes#set is a pure
130
+ // HACK to deal with the fact that AmpersandState#dataTypes#set is a pure
154
131
  // function.
155
-
156
132
  this._dataTypes = (0, _cloneDeep2.default)(this._dataTypes);
157
133
  (0, _keys.default)(this._dataTypes).forEach(function (key) {
158
134
  if (_this2._dataTypes[key].set) {
159
135
  _this2._dataTypes[key].set = _this2._dataTypes[key].set.bind(_this2);
160
136
  }
161
- }); // END HACK
162
- // Propagate change:[attribute] events from children
137
+ });
138
+ // END HACK
163
139
 
140
+ // Propagate change:[attribute] events from children
164
141
  this.on('change', function (model, options) {
165
142
  if (_this2.parent) {
166
143
  _this2.parent.trigger("change:".concat(_this2.getNamespace().toLowerCase()), _this2.parent, _this2, options);
167
144
  }
168
145
  });
169
146
  },
170
-
171
147
  /**
172
148
  * @instance
173
149
  * @memberof WebexPlugin
@@ -186,36 +162,29 @@ var WebexPlugin = _ampersandState.default.extend({
186
162
  },
187
163
  request: function request() {
188
164
  var _this$webex;
189
-
190
165
  return (_this$webex = this.webex).request.apply(_this$webex, arguments);
191
166
  },
192
167
  upload: function upload() {
193
168
  var _this$webex2;
194
-
195
169
  return (_this$webex2 = this.webex).upload.apply(_this$webex2, arguments);
196
170
  },
197
171
  when: function when(eventName) {
198
172
  var _this3 = this;
199
-
200
173
  for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
201
174
  rest[_key2 - 1] = arguments[_key2];
202
175
  }
203
-
204
176
  if (rest && rest.length > 0) {
205
177
  throw new Error('#when() does not accept a callback, you must attach to its promise');
206
178
  }
207
-
208
179
  return new _promise.default(function (resolve) {
209
180
  _this3.once(eventName, function () {
210
181
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
211
182
  args[_key3] = arguments[_key3];
212
183
  }
213
-
214
184
  return resolve(args);
215
185
  });
216
186
  });
217
187
  },
218
-
219
188
  /**
220
189
  * Helper function for dealing with both forms of {@link AmpersandState#set()}
221
190
  * @param {string} key
@@ -226,7 +195,6 @@ var WebexPlugin = _ampersandState.default.extend({
226
195
  */
227
196
  _filterSetParameters: function _filterSetParameters(key, value, options) {
228
197
  var attrs;
229
-
230
198
  if ((0, _isObject2.default)(key) || key === null) {
231
199
  attrs = key;
232
200
  options = value;
@@ -234,12 +202,10 @@ var WebexPlugin = _ampersandState.default.extend({
234
202
  attrs = {};
235
203
  attrs[key] = value;
236
204
  }
237
-
238
205
  options = options || {};
239
206
  return [attrs, options];
240
207
  }
241
208
  });
242
-
243
209
  var _default = WebexPlugin;
244
210
  exports.default = _default;
245
211
  //# sourceMappingURL=webex-plugin.js.map