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

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 +55 -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 +84 -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 +131 -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 +198 -117
  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 +217 -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 +90 -57
  184. package/test/unit/spec/webex-internal-core.js +56 -31
@@ -1,125 +1,67 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
4
-
5
4
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
-
7
5
  var _Object$getOwnPropertyDescriptor2 = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
-
9
6
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
-
11
7
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
-
13
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
-
15
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
16
-
17
10
  _Object$defineProperty(exports, "__esModule", {
18
11
  value: true
19
12
  });
20
-
21
13
  exports.default = void 0;
22
14
  exports.registerInternalPlugin = registerInternalPlugin;
23
15
  exports.registerPlugin = registerPlugin;
24
-
25
16
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
26
-
27
17
  var _apply = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/apply"));
28
-
29
18
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
30
-
31
19
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
32
-
33
20
  var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
34
-
35
21
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
36
-
37
22
  var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
38
-
39
23
  var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor"));
40
-
41
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
42
-
43
25
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
44
-
45
26
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/applyDecoratedDescriptor"));
46
-
47
27
  var _unset2 = _interopRequireDefault(require("lodash/unset"));
48
-
49
28
  var _set2 = _interopRequireDefault(require("lodash/set"));
50
-
51
29
  var _omit2 = _interopRequireDefault(require("lodash/omit"));
52
-
53
30
  var _merge2 = _interopRequireDefault(require("lodash/merge"));
54
-
55
31
  var _last2 = _interopRequireDefault(require("lodash/last"));
56
-
57
32
  var _isString2 = _interopRequireDefault(require("lodash/isString"));
58
-
59
33
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
60
-
61
34
  var _get2 = _interopRequireDefault(require("lodash/get"));
62
-
63
35
  var _defaultsDeep2 = _interopRequireDefault(require("lodash/defaultsDeep"));
64
-
65
36
  var _events = require("events");
66
-
67
37
  var _util = _interopRequireDefault(require("util"));
68
-
69
38
  var _common = require("@webex/common");
70
-
71
39
  var _httpCore = require("@webex/http-core");
72
-
73
40
  var _ampersandState = _interopRequireDefault(require("ampersand-state"));
74
-
75
41
  var _uuid = _interopRequireDefault(require("uuid"));
76
-
77
42
  var _auth = _interopRequireDefault(require("./interceptors/auth"));
78
-
79
43
  var _networkTiming = _interopRequireDefault(require("./interceptors/network-timing"));
80
-
81
44
  var _payloadTransformer = _interopRequireDefault(require("./interceptors/payload-transformer"));
82
-
83
45
  var _redirect = _interopRequireDefault(require("./interceptors/redirect"));
84
-
85
46
  var _requestEvent = _interopRequireDefault(require("./interceptors/request-event"));
86
-
87
47
  var _requestLogger = _interopRequireDefault(require("./interceptors/request-logger"));
88
-
89
48
  var _requestTiming = _interopRequireDefault(require("./interceptors/request-timing"));
90
-
91
49
  var _responseLogger = _interopRequireDefault(require("./interceptors/response-logger"));
92
-
93
50
  var _webexHttpError = _interopRequireDefault(require("./lib/webex-http-error"));
94
-
95
51
  var _userAgent = _interopRequireDefault(require("./interceptors/user-agent"));
96
-
97
52
  var _webexTrackingId = _interopRequireDefault(require("./interceptors/webex-tracking-id"));
98
-
99
53
  var _webexUserAgent = _interopRequireDefault(require("./interceptors/webex-user-agent"));
100
-
101
54
  var _rateLimit = _interopRequireDefault(require("./interceptors/rate-limit"));
102
-
103
55
  var _embargo = _interopRequireDefault(require("./interceptors/embargo"));
104
-
105
56
  var _defaultOptions = _interopRequireDefault(require("./interceptors/default-options"));
106
-
107
57
  var _config = _interopRequireDefault(require("./config"));
108
-
109
58
  var _storage = require("./lib/storage");
110
-
111
59
  var _webexCorePluginMixin = _interopRequireDefault(require("./lib/webex-core-plugin-mixin"));
112
-
113
60
  var _webexInternalCorePluginMixin = _interopRequireDefault(require("./lib/webex-internal-core-plugin-mixin"));
114
-
115
61
  var _webexInternalCore = _interopRequireDefault(require("./webex-internal-core"));
116
-
117
62
  var _obj;
118
-
119
63
  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
-
121
64
  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
-
123
65
  // TODO replace the Interceptor.create with Reflect.construct (
124
66
  // Interceptor.create exists because new was really hard to call on an array of
125
67
  // constructors)
@@ -127,11 +69,9 @@ var interceptors = {
127
69
  WebexTrackingIdInterceptor: _webexTrackingId.default.create,
128
70
  RequestEventInterceptor: _requestEvent.default.create,
129
71
  RateLimitInterceptor: _rateLimit.default.create,
130
-
131
72
  /* eslint-disable no-extra-parens */
132
73
  RequestLoggerInterceptor: process.env.ENABLE_NETWORK_LOGGING || process.env.ENABLE_VERBOSE_NETWORK_LOGGING ? _requestLogger.default.create : undefined,
133
74
  ResponseLoggerInterceptor: process.env.ENABLE_NETWORK_LOGGING || process.env.ENABLE_VERBOSE_NETWORK_LOGGING ? _responseLogger.default.create : undefined,
134
-
135
75
  /* eslint-enable no-extra-parens */
136
76
  RequestTimingInterceptor: _requestTiming.default.create,
137
77
  ServiceInterceptor: undefined,
@@ -154,19 +94,18 @@ var interceptors = {
154
94
  var preInterceptors = ['ResponseLoggerInterceptor', 'RequestTimingInterceptor', 'RequestEventInterceptor', 'WebexTrackingIdInterceptor', 'RateLimitInterceptor'];
155
95
  var postInterceptors = ['HttpStatusInterceptor', 'NetworkTimingInterceptor', 'EmbargoInterceptor', 'RequestLoggerInterceptor', 'RateLimitInterceptor'];
156
96
  var MAX_FILE_SIZE_IN_MB = 2048;
97
+
157
98
  /**
158
99
  * @class
159
100
  */
160
-
161
101
  var WebexCore = _ampersandState.default.extend((_obj = {
162
- version: "3.0.0-beta.2",
102
+ version: "3.0.0-beta.200",
163
103
  children: {
164
104
  internal: _webexInternalCore.default
165
105
  },
166
106
  constructor: function constructor() {
167
107
  var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
168
108
  var options = arguments.length > 1 ? arguments[1] : undefined;
169
-
170
109
  if (typeof attrs === 'string') {
171
110
  attrs = {
172
111
  credentials: {
@@ -180,7 +119,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
180
119
  // Reminder: order is important here
181
120
  ['credentials.authorization', 'authorization', 'credentials.supertoken.supertoken', 'supertoken', 'access_token', 'credentials.authorization.supertoken'].forEach(function (path) {
182
121
  var val = (0, _get2.default)(attrs, path);
183
-
184
122
  if (val) {
185
123
  (0, _unset2.default)(attrs, path);
186
124
  (0, _set2.default)(attrs, 'credentials.supertoken', val);
@@ -188,20 +126,17 @@ var WebexCore = _ampersandState.default.extend((_obj = {
188
126
  });
189
127
  ['credentials', 'credentials.authorization'].forEach(function (path) {
190
128
  var val = (0, _get2.default)(attrs, path);
191
-
192
129
  if (typeof val === 'string') {
193
130
  (0, _unset2.default)(attrs, path);
194
131
  (0, _set2.default)(attrs, 'credentials.supertoken', val);
195
132
  }
196
133
  });
197
-
198
134
  if (typeof (0, _get2.default)(attrs, 'credentials.access_token') === 'string') {
199
135
  // Send access_token to get validated and corrected and then set it
200
136
  (0, _set2.default)(attrs, 'credentials.access_token', this.bearerValidator((0, _get2.default)(attrs, 'credentials.access_token').trim()));
201
137
  (0, _set2.default)(attrs, 'credentials.supertoken', attrs.credentials);
202
138
  }
203
139
  }
204
-
205
140
  return (0, _apply.default)(_ampersandState.default, this, [attrs, options]);
206
141
  },
207
142
  derived: {
@@ -221,7 +156,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
221
156
  deps: ['loaded', 'internal.ready'],
222
157
  fn: function fn() {
223
158
  var _this = this;
224
-
225
159
  return this.loaded && (0, _keys.default)(this._children).reduce(function (ready, name) {
226
160
  return ready && _this[name] && _this[name].ready !== false;
227
161
  }, true);
@@ -232,7 +166,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
232
166
  config: {
233
167
  type: 'object'
234
168
  },
235
-
236
169
  /**
237
170
  * When true, indicates that the initial load from the storage layer is
238
171
  * complete
@@ -255,7 +188,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
255
188
  type: 'string'
256
189
  }
257
190
  },
258
-
259
191
  /**
260
192
  * @instance
261
193
  * @memberof WebexCore
@@ -264,10 +196,8 @@ var WebexCore = _ampersandState.default.extend((_obj = {
264
196
  */
265
197
  refresh: function refresh() {
266
198
  var _this$credentials;
267
-
268
199
  return (_this$credentials = this.credentials).refresh.apply(_this$credentials, arguments);
269
200
  },
270
-
271
201
  /**
272
202
  * Applies the directionally appropriate transforms to the specified object
273
203
  * @param {string} direction
@@ -276,7 +206,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
276
206
  */
277
207
  transform: function transform(direction, object) {
278
208
  var _this2 = this;
279
-
280
209
  var predicates = this.config.payloadTransformer.predicates.filter(function (p) {
281
210
  return !p.direction || p.direction === direction;
282
211
  });
@@ -288,8 +217,8 @@ var WebexCore = _ampersandState.default.extend((_obj = {
288
217
  if (!shouldTransform) {
289
218
  return undefined;
290
219
  }
291
-
292
- return p.extract(object) // eslint-disable-next-line max-nested-callbacks
220
+ return p.extract(object)
221
+ // eslint-disable-next-line max-nested-callbacks
293
222
  .then(function (target) {
294
223
  return {
295
224
  name: p.name,
@@ -300,16 +229,16 @@ var WebexCore = _ampersandState.default.extend((_obj = {
300
229
  })).then(function (data) {
301
230
  return data.filter(function (d) {
302
231
  return Boolean(d);
303
- }) // eslint-disable-next-line max-nested-callbacks
232
+ })
233
+ // eslint-disable-next-line max-nested-callbacks
304
234
  .reduce(function (promise, _ref) {
305
235
  var name = _ref.name,
306
- target = _ref.target,
307
- alias = _ref.alias;
236
+ target = _ref.target,
237
+ alias = _ref.alias;
308
238
  return promise.then(function () {
309
239
  if (alias) {
310
240
  return _this2.applyNamedTransform(direction, alias, target);
311
241
  }
312
-
313
242
  return _this2.applyNamedTransform(direction, name, target);
314
243
  });
315
244
  }, _promise.default.resolve());
@@ -317,7 +246,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
317
246
  return object;
318
247
  });
319
248
  },
320
-
321
249
  /**
322
250
  * Applies the directionally appropriate transform to the specified parameters
323
251
  * @param {string} direction
@@ -327,11 +255,9 @@ var WebexCore = _ampersandState.default.extend((_obj = {
327
255
  */
328
256
  applyNamedTransform: function applyNamedTransform(direction, ctx, name) {
329
257
  var _this3 = this;
330
-
331
258
  for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
332
259
  rest[_key - 3] = arguments[_key];
333
260
  }
334
-
335
261
  if ((0, _isString2.default)(ctx)) {
336
262
  rest.unshift(name);
337
263
  name = ctx;
@@ -341,32 +267,28 @@ var WebexCore = _ampersandState.default.extend((_obj = {
341
267
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
342
268
  args[_key2] = arguments[_key2];
343
269
  }
344
-
345
270
  return _this3.applyNamedTransform.apply(_this3, [direction, ctx].concat(args));
346
271
  }
347
272
  };
348
273
  }
349
-
350
274
  var transforms = ctx.webex.config.payloadTransformer.transforms.filter(function (tx) {
351
275
  return tx.name === name && (!tx.direction || tx.direction === direction);
352
- }); // too many implicit returns on the same line is difficult to interpret
353
- // eslint-disable-next-line arrow-body-style
276
+ });
354
277
 
278
+ // too many implicit returns on the same line is difficult to interpret
279
+ // eslint-disable-next-line arrow-body-style
355
280
  return transforms.reduce(function (promise, tx) {
356
281
  return promise.then(function () {
357
282
  if (tx.alias) {
358
283
  var _ctx;
359
-
360
284
  return (_ctx = ctx).transform.apply(_ctx, [tx.alias].concat(rest));
361
285
  }
362
-
363
286
  return _promise.default.resolve(tx.fn.apply(tx, [ctx].concat(rest)));
364
287
  });
365
288
  }, _promise.default.resolve()).then(function () {
366
289
  return (0, _last2.default)(rest);
367
290
  });
368
291
  },
369
-
370
292
  /**
371
293
  * @private
372
294
  * @returns {Window}
@@ -375,7 +297,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
375
297
  // eslint-disable-next-line
376
298
  return window;
377
299
  },
378
-
379
300
  /**
380
301
  * Initializer
381
302
  *
@@ -388,16 +309,15 @@ var WebexCore = _ampersandState.default.extend((_obj = {
388
309
  */
389
310
  initialize: function initialize() {
390
311
  var _this4 = this;
391
-
392
312
  var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
393
- this.config = (0, _merge2.default)({}, _config.default, attrs.config); // There's some unfortunateness with the way {@link AmpersandState#children}
313
+ this.config = (0, _merge2.default)({}, _config.default, attrs.config);
314
+
315
+ // There's some unfortunateness with the way {@link AmpersandState#children}
394
316
  // get initialized. We'll fire the change:config event so that
395
317
  // {@link WebexPlugin#initialize()} can use
396
318
  // `this.listenToOnce(parent, 'change:config', () => {});` to act on config
397
319
  // during initialization
398
-
399
320
  this.trigger('change:config');
400
-
401
321
  var onLoaded = function onLoaded() {
402
322
  if (_this4.loaded) {
403
323
  /**
@@ -407,16 +327,14 @@ var WebexCore = _ampersandState.default.extend((_obj = {
407
327
  * @memberof WebexCore
408
328
  */
409
329
  _this4.trigger('loaded');
410
-
411
330
  _this4.stopListening(_this4, 'change:loaded', onLoaded);
412
331
  }
413
- }; // This needs to run on nextTick or we'll never be able to wire up listeners
414
-
332
+ };
415
333
 
334
+ // This needs to run on nextTick or we'll never be able to wire up listeners
416
335
  process.nextTick(function () {
417
336
  _this4.listenToAndRun(_this4, 'change:loaded', onLoaded);
418
337
  });
419
-
420
338
  var onReady = function onReady() {
421
339
  if (_this4.ready) {
422
340
  /**
@@ -426,39 +344,33 @@ var WebexCore = _ampersandState.default.extend((_obj = {
426
344
  * @memberof WebexCore
427
345
  */
428
346
  _this4.trigger('ready');
429
-
430
347
  _this4.stopListening(_this4, 'change:ready', onReady);
431
348
  }
432
- }; // This needs to run on nextTick or we'll never be able to wire up listeners
433
-
349
+ };
434
350
 
351
+ // This needs to run on nextTick or we'll never be able to wire up listeners
435
352
  process.nextTick(function () {
436
353
  _this4.listenToAndRun(_this4, 'change:ready', onReady);
437
- }); // Make nested events propagate in a consistent manner
354
+ });
438
355
 
356
+ // Make nested events propagate in a consistent manner
439
357
  (0, _keys.default)(this.constructor.prototype._children).forEach(function (key) {
440
358
  _this4.listenTo(_this4[key], 'change', function () {
441
359
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
442
360
  args[_key3] = arguments[_key3];
443
361
  }
444
-
445
362
  args.unshift("change:".concat(key));
446
-
447
363
  _this4.trigger.apply(_this4, args);
448
364
  });
449
365
  });
450
-
451
366
  var addInterceptor = function addInterceptor(ints, key) {
452
367
  var interceptor = interceptors[key];
453
-
454
368
  if (!(0, _isFunction2.default)(interceptor)) {
455
369
  return ints;
456
370
  }
457
-
458
371
  ints.push((0, _apply.default)(interceptor, _this4, []));
459
372
  return ints;
460
373
  };
461
-
462
374
  var ints = [];
463
375
  ints = preInterceptors.reduce(addInterceptor, ints);
464
376
  ints = (0, _keys.default)(interceptors).filter(function (key) {
@@ -469,15 +381,17 @@ var WebexCore = _ampersandState.default.extend((_obj = {
469
381
  json: true,
470
382
  interceptors: ints
471
383
  });
384
+ this.prepareFetchOptions = (0, _httpCore.protoprepareFetchOptions)({
385
+ json: true,
386
+ interceptors: ints
387
+ });
388
+ this.setTimingsAndFetch = _httpCore.setTimingsAndFetch;
472
389
  var sessionId = "".concat((0, _get2.default)(this, 'config.trackingIdPrefix', 'webex-js-sdk'), "_").concat((0, _get2.default)(this, 'config.trackingIdBase', _uuid.default.v4()));
473
-
474
390
  if ((0, _get2.default)(this, 'config.trackingIdSuffix')) {
475
391
  sessionId += "_".concat((0, _get2.default)(this, 'config.trackingIdSuffix'));
476
392
  }
477
-
478
393
  this.sessionId = sessionId;
479
394
  },
480
-
481
395
  /**
482
396
  * setConfig
483
397
  *
@@ -492,7 +406,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
492
406
  var newConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
493
407
  this.config = (0, _merge2.default)({}, this.config, newConfig);
494
408
  },
495
-
496
409
  /**
497
410
  *
498
411
  * Check if access token is correctly formated and correct if it's not
@@ -505,17 +418,16 @@ var WebexCore = _ampersandState.default.extend((_obj = {
505
418
  console.warn("Your access token does not have a space between 'Bearer' and the token, please add a space to it or replace it with this already fixed version:\n\n".concat(token.replace('Bearer', 'Bearer ').replace(/\s+/g, ' ')));
506
419
  console.info("Tip: You don't need to add 'Bearer' to the access_token field. The token by itself is fine");
507
420
  return token.replace('Bearer', 'Bearer ').replace(/\s+/g, ' ');
508
- } // Allow elseIf return
421
+ }
422
+ // Allow elseIf return
509
423
  // eslint-disable-next-line no-else-return
510
424
  else if (token.split(' ').length - 1 > 1) {
511
425
  console.warn("Your access token has ".concat(token.split(' ').length - 2, " too many spaces, please use this format:\n\n").concat(token.replace(/\s+/g, ' ')));
512
426
  console.info("Tip: You don't need to add 'Bearer' to the access_token field, the token by itself is fine");
513
427
  return token.replace(/\s+/g, ' ');
514
428
  }
515
-
516
429
  return token.replace(/\s+/g, ' '); // Clean it anyway (just in case)
517
430
  },
518
-
519
431
  /**
520
432
  * @instance
521
433
  * @memberof WebexPlugin
@@ -532,7 +444,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
532
444
  depth: depth
533
445
  });
534
446
  },
535
-
536
447
  /**
537
448
  * Invokes all `onBeforeLogout` handlers in the scope of their plugin, clears
538
449
  * all stores, and revokes the access token
@@ -548,26 +459,26 @@ var WebexCore = _ampersandState.default.extend((_obj = {
548
459
  */
549
460
  logout: function logout(options) {
550
461
  var _this5 = this;
551
-
552
462
  for (var _len4 = arguments.length, rest = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
553
463
  rest[_key4 - 1] = arguments[_key4];
554
464
  }
555
-
556
465
  // prefer the refresh token, but for clients that don't have one, fallback
557
466
  // to the access token
558
467
  var token = this.credentials.supertoken && (this.credentials.supertoken.refresh_token || this.credentials.supertoken.access_token);
559
468
  options = (0, _assign.default)({
560
469
  token: token
561
- }, options); // onBeforeLogout should be executed in the opposite order in which handlers
470
+ }, options);
471
+
472
+ // onBeforeLogout should be executed in the opposite order in which handlers
562
473
  // were registered. In that way, wdm unregister() will be above mercury
563
474
  // disconnect(), but disconnect() will execute first.
564
475
  // eslint-disable-next-line arrow-body-style
565
-
566
476
  return this.config.onBeforeLogout.reverse().reduce(function (promise, _ref2) {
567
477
  var plugin = _ref2.plugin,
568
- fn = _ref2.fn;
478
+ fn = _ref2.fn;
569
479
  return promise.then(function () {
570
- return _promise.default.resolve((0, _apply.default)(fn, _this5[plugin] || _this5.internal[plugin], [options].concat(rest))) // eslint-disable-next-line max-nested-callbacks
480
+ return _promise.default.resolve((0, _apply.default)(fn, _this5[plugin] || _this5.internal[plugin], [options].concat(rest)))
481
+ // eslint-disable-next-line max-nested-callbacks
571
482
  .catch(function (err) {
572
483
  _this5.logger.warn("onBeforeLogout from plugin ".concat(plugin, ": failed"), err);
573
484
  });
@@ -576,17 +487,14 @@ var WebexCore = _ampersandState.default.extend((_obj = {
576
487
  return _promise.default.all([_this5.boundedStorage.clear(), _this5.unboundedStorage.clear()]);
577
488
  }).then(function () {
578
489
  var _this5$credentials;
579
-
580
490
  return (_this5$credentials = _this5.credentials).invalidate.apply(_this5$credentials, rest);
581
491
  }).then(function () {
582
492
  var _this5$authorization;
583
-
584
493
  return _this5.authorization && _this5.authorization.logout && (_this5$authorization = _this5.authorization).logout.apply(_this5$authorization, [options].concat(rest));
585
494
  }).then(function () {
586
495
  return _this5.trigger('client:logout');
587
496
  });
588
497
  },
589
-
590
498
  /**
591
499
  * General purpose wrapper to submit metrics via the metrics plugin (if the
592
500
  * metrics plugin is installed)
@@ -597,104 +505,88 @@ var WebexCore = _ampersandState.default.extend((_obj = {
597
505
  measure: function measure() {
598
506
  if (this.metrics) {
599
507
  var _this$metrics;
600
-
601
508
  return (_this$metrics = this.metrics).sendUnstructured.apply(_this$metrics, arguments);
602
509
  }
603
-
604
510
  return _promise.default.resolve();
605
511
  },
606
512
  upload: function upload(options) {
607
513
  var _this6 = this;
608
-
609
514
  return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
610
515
  var shunt, promise;
611
516
  return _regenerator.default.wrap(function _callee$(_context) {
612
- while (1) {
613
- switch (_context.prev = _context.next) {
614
- case 0:
615
- if (options.file) {
616
- _context.next = 2;
617
- break;
517
+ while (1) switch (_context.prev = _context.next) {
518
+ case 0:
519
+ if (options.file) {
520
+ _context.next = 2;
521
+ break;
522
+ }
523
+ return _context.abrupt("return", _promise.default.reject(new Error('`options.file` is required')));
524
+ case 2:
525
+ options.phases = options.phases || {};
526
+ options.phases.initialize = options.phases.initialize || {};
527
+ options.phases.upload = options.phases.upload || {};
528
+ options.phases.finalize = options.phases.finalize || {};
529
+ (0, _defaultsDeep2.default)(options.phases.initialize, {
530
+ method: 'POST',
531
+ body: {
532
+ uploadProtocol: 'content-length'
618
533
  }
619
-
620
- return _context.abrupt("return", _promise.default.reject(new Error('`options.file` is required')));
621
-
622
- case 2:
623
- options.phases = options.phases || {};
624
- options.phases.initialize = options.phases.initialize || {};
625
- options.phases.upload = options.phases.upload || {};
626
- options.phases.finalize = options.phases.finalize || {};
627
- (0, _defaultsDeep2.default)(options.phases.initialize, {
628
- method: 'POST',
629
- body: {
630
- uploadProtocol: 'content-length'
631
- }
632
- }, (0, _omit2.default)(options, 'file', 'phases'));
633
- (0, _defaultsDeep2.default)(options.phases.upload, {
634
- method: 'PUT',
635
- json: false,
636
- withCredentials: false,
637
- body: options.file,
638
- headers: {
639
- 'x-trans-id': _uuid.default.v4(),
640
- authorization: undefined
641
- }
642
- });
643
- (0, _defaultsDeep2.default)(options.phases.finalize, {
644
- method: 'POST'
645
- }, (0, _omit2.default)(options, 'file', 'phases'));
646
- shunt = new _events.EventEmitter();
647
- promise = _this6._uploadPhaseInitialize(options).then(function () {
648
- var p = _this6._uploadPhaseUpload(options);
649
-
650
- (0, _common.transferEvents)('progress', p, shunt);
651
- return p;
652
- }).then(function () {
653
- for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
654
- args[_key5] = arguments[_key5];
655
- }
656
-
657
- return _this6._uploadPhaseFinalize.apply(_this6, [options].concat(args));
658
- }).then(function (res) {
659
- return _objectSpread(_objectSpread({}, res.body), res.headers);
660
- });
661
- (0, _common.proxyEvents)(shunt, promise);
662
- return _context.abrupt("return", promise);
663
-
664
- case 13:
665
- case "end":
666
- return _context.stop();
667
- }
534
+ }, (0, _omit2.default)(options, 'file', 'phases'));
535
+ (0, _defaultsDeep2.default)(options.phases.upload, {
536
+ method: 'PUT',
537
+ json: false,
538
+ withCredentials: false,
539
+ body: options.file,
540
+ headers: {
541
+ 'x-trans-id': _uuid.default.v4(),
542
+ authorization: undefined
543
+ }
544
+ });
545
+ (0, _defaultsDeep2.default)(options.phases.finalize, {
546
+ method: 'POST'
547
+ }, (0, _omit2.default)(options, 'file', 'phases'));
548
+ shunt = new _events.EventEmitter();
549
+ promise = _this6._uploadPhaseInitialize(options).then(function () {
550
+ var p = _this6._uploadPhaseUpload(options);
551
+ (0, _common.transferEvents)('progress', p, shunt);
552
+ return p;
553
+ }).then(function () {
554
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
555
+ args[_key5] = arguments[_key5];
556
+ }
557
+ return _this6._uploadPhaseFinalize.apply(_this6, [options].concat(args));
558
+ }).then(function (res) {
559
+ return _objectSpread(_objectSpread({}, res.body), res.headers);
560
+ });
561
+ (0, _common.proxyEvents)(shunt, promise);
562
+ return _context.abrupt("return", promise);
563
+ case 13:
564
+ case "end":
565
+ return _context.stop();
668
566
  }
669
567
  }, _callee);
670
568
  }))();
671
569
  },
672
570
  _uploadPhaseInitialize: function _uploadPhaseInitialize(options) {
673
571
  var _this7 = this;
674
-
675
572
  this.logger.debug('client: initiating upload session');
676
573
  return this.request(options.phases.initialize).then(function () {
677
574
  for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
678
575
  args[_key6] = arguments[_key6];
679
576
  }
680
-
681
577
  var fileUploadSizeLimitInBytes = (args[0].body.fileUploadSizeLimit || MAX_FILE_SIZE_IN_MB) * 1024 * 1024;
682
578
  var currentFileSizeInBytes = options.file.byteLength;
683
-
684
579
  if (fileUploadSizeLimitInBytes && fileUploadSizeLimitInBytes < currentFileSizeInBytes) {
685
580
  return _this7._uploadAbortSession.apply(_this7, [currentFileSizeInBytes].concat(args));
686
581
  }
687
-
688
582
  return _this7._uploadApplySession.apply(_this7, [options].concat(args));
689
583
  }).then(function (res) {
690
584
  _this7.logger.debug('client: initiated upload session');
691
-
692
585
  return res;
693
586
  });
694
587
  },
695
588
  _uploadAbortSession: function _uploadAbortSession(currentFileSizeInBytes, response) {
696
589
  var _this8 = this;
697
-
698
590
  this.logger.debug('client: deleting uploaded file');
699
591
  return this.request({
700
592
  method: 'DELETE',
@@ -702,7 +594,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
702
594
  headers: response.options.headers
703
595
  }).then(function () {
704
596
  _this8.logger.debug('client: deleting uploaded file complete');
705
-
706
597
  var abortErrorDetails = {
707
598
  currentFileSizeInBytes: currentFileSizeInBytes,
708
599
  fileUploadSizeLimitInMB: response.body.fileUploadSizeLimit || MAX_FILE_SIZE_IN_MB,
@@ -719,7 +610,6 @@ var WebexCore = _ampersandState.default.extend((_obj = {
719
610
  phaseOptions[phaseKey.substr(1)] = phaseOptions[phaseKey](session);
720
611
  (0, _deleteProperty.default)(phaseOptions, phaseKey);
721
612
  }
722
-
723
613
  return phaseOptions;
724
614
  }, opts[key]);
725
615
  return opts;
@@ -727,37 +617,31 @@ var WebexCore = _ampersandState.default.extend((_obj = {
727
617
  },
728
618
  _uploadPhaseUpload: function _uploadPhaseUpload(options) {
729
619
  var _this9 = this;
730
-
731
620
  this.logger.debug('client: uploading file');
732
621
  var promise = this.request(options.phases.upload).then(function (res) {
733
622
  _this9.logger.debug('client: uploaded file');
734
-
735
623
  return res;
736
624
  });
737
625
  (0, _common.proxyEvents)(options.phases.upload.upload, promise);
738
- /* istanbul ignore else */
739
626
 
627
+ /* istanbul ignore else */
740
628
  if (process.env.NODE_ENV === 'test') {
741
629
  promise.on('progress', function (event) {
742
630
  _this9.logger.info('upload progress', event.loaded, event.total);
743
631
  });
744
632
  }
745
-
746
633
  return promise;
747
634
  },
748
635
  _uploadPhaseFinalize: function _uploadPhaseFinalize(options) {
749
636
  var _this10 = this;
750
-
751
637
  this.logger.debug('client: finalizing upload session');
752
638
  return this.request(options.phases.finalize).then(function (res) {
753
639
  _this10.logger.debug('client: finalized upload session');
754
-
755
640
  return res;
756
641
  });
757
642
  }
758
643
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "_uploadPhaseUpload", [_common.retry], (0, _getOwnPropertyDescriptor.default)(_obj, "_uploadPhaseUpload"), _obj)), _obj));
759
-
760
- WebexCore.version = "3.0.0-beta.2";
644
+ WebexCore.version = "3.0.0-beta.200";
761
645
  (0, _webexInternalCorePluginMixin.default)(_webexInternalCore.default, _config.default, interceptors);
762
646
  (0, _webexCorePluginMixin.default)(WebexCore, _config.default, interceptors);
763
647
  var _default = WebexCore;
@@ -770,13 +654,12 @@ var _default = WebexCore;
770
654
  * @param {Object} options.interceptors
771
655
  * @returns {null}
772
656
  */
773
-
774
657
  exports.default = _default;
775
-
776
658
  function registerPlugin(name, constructor) {
777
659
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
778
660
  WebexCore.registerPlugin(name, constructor, options);
779
661
  }
662
+
780
663
  /**
781
664
  * Registers plugins used by internal products that do not talk to public APIs.
782
665
  * @method registerInternalPlugin
@@ -787,8 +670,6 @@ function registerPlugin(name, constructor) {
787
670
  * @private
788
671
  * @returns {null}
789
672
  */
790
-
791
-
792
673
  function registerInternalPlugin(name, constructor, options) {
793
674
  _webexInternalCore.default.registerPlugin(name, constructor, options);
794
675
  }