@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
package/dist/lib/page.js CHANGED
@@ -1,35 +1,29 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
-
15
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
16
-
17
11
  var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
18
-
19
12
  var _isArray = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/is-array"));
20
-
21
13
  var _iterator = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/symbol/iterator"));
14
+ /* eslint-disable no-constructor-return */
22
15
 
23
16
  /*!
24
17
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
25
18
  */
19
+
26
20
  var itemsMap = new _weakMap.default();
27
21
  var linksMap = new _weakMap.default();
28
22
  var webexsMap = new _weakMap.default();
23
+
29
24
  /**
30
25
  * @class Page
31
26
  */
32
-
33
27
  var Page = /*#__PURE__*/function (_Symbol$iterator) {
34
28
  /**
35
29
  * @constructs {Page}
@@ -44,14 +38,13 @@ var Page = /*#__PURE__*/function (_Symbol$iterator) {
44
38
  webexsMap.set(this, webex);
45
39
  return this;
46
40
  }
41
+
47
42
  /**
48
43
  * Separate a single link header string into an actionable object
49
44
  * @param {string} linkHeaders
50
45
  * @private
51
46
  * @returns {Object}
52
47
  */
53
-
54
-
55
48
  (0, _createClass2.default)(Page, [{
56
49
  key: "items",
57
50
  get:
@@ -61,30 +54,30 @@ var Page = /*#__PURE__*/function (_Symbol$iterator) {
61
54
  function get() {
62
55
  return itemsMap.get(this);
63
56
  }
57
+
64
58
  /**
65
59
  * @type {number}
66
60
  */
67
-
68
61
  }, {
69
62
  key: "length",
70
63
  get: function get() {
71
64
  return this.items.length;
72
65
  }
66
+
73
67
  /**
74
68
  * @private
75
69
  * @type {Object}
76
70
  */
77
-
78
71
  }, {
79
72
  key: "links",
80
73
  get: function get() {
81
74
  return linksMap.get(this);
82
75
  }
76
+
83
77
  /**
84
78
  * @private
85
79
  * @type {ProxyWebex}
86
80
  */
87
-
88
81
  }, {
89
82
  key: "webex",
90
83
  get: function get() {
@@ -100,87 +93,83 @@ var Page = /*#__PURE__*/function (_Symbol$iterator) {
100
93
  function next() {
101
94
  return this.getLink('next');
102
95
  }
96
+
103
97
  /**
104
98
  * Indicates if there's another page
105
99
  * @returns {Boolean}
106
100
  */
107
-
108
101
  }, {
109
102
  key: "hasNext",
110
103
  value: function hasNext() {
111
104
  return this.hasLink('next');
112
105
  }
106
+
113
107
  /**
114
108
  * Get previous page
115
109
  * @returns {Page}
116
110
  */
117
-
118
111
  }, {
119
112
  key: "previous",
120
113
  value: function previous() {
121
114
  return this.getLink('previous');
122
115
  }
116
+
123
117
  /**
124
118
  * Indicates if there is a previous Page
125
119
  * @returns {Boolean}
126
120
  */
127
-
128
121
  }, {
129
122
  key: "hasPrevious",
130
123
  value: function hasPrevious() {
131
124
  return this.hasLink('previous');
132
125
  }
126
+
133
127
  /**
134
128
  * Retrieves the `Page` at url specified by `link`
135
129
  * @param {string} link Specifies which link header to return
136
130
  * @private
137
131
  * @returns {Promise<Page>}
138
132
  */
139
-
140
133
  }, {
141
134
  key: "getLink",
142
135
  value: function getLink(link) {
143
136
  var _this = this;
144
-
145
137
  return this.webex.request({
146
138
  uri: this.links[link]
147
139
  }).then(function (res) {
148
140
  return new Page(res, _this.webex);
149
141
  });
150
142
  }
143
+
151
144
  /**
152
145
  * Indicates if the specified link is in the link header
153
146
  * @param {string} link
154
147
  * @private
155
148
  * @returns {Boolean}
156
149
  */
157
-
158
150
  }, {
159
151
  key: "hasLink",
160
152
  value: function hasLink(link) {
161
153
  return Boolean(this.links[link]);
162
154
  }
155
+
163
156
  /**
164
157
  * Iterator
165
158
  * @returns {Object}
166
159
  */
167
-
168
160
  }, {
169
161
  key: _Symbol$iterator,
170
162
  value: function value() {
171
163
  var _this2 = this;
172
-
173
164
  var i = -1;
174
165
  return {
175
166
  next: function next() {
176
167
  i += 1;
177
-
178
168
  if (i < _this2.length) {
179
169
  return {
180
170
  value: _this2.items[i]
181
171
  };
182
172
  }
183
-
184
173
  return {
185
174
  done: true
186
175
  };
@@ -193,7 +182,6 @@ var Page = /*#__PURE__*/function (_Symbol$iterator) {
193
182
  if (!linkHeaders) {
194
183
  return {};
195
184
  }
196
-
197
185
  linkHeaders = (0, _isArray.default)(linkHeaders) ? linkHeaders : [linkHeaders];
198
186
  return linkHeaders.reduce(function (links, linkHeader) {
199
187
  linkHeader = linkHeader.split(';');
@@ -206,6 +194,5 @@ var Page = /*#__PURE__*/function (_Symbol$iterator) {
206
194
  }]);
207
195
  return Page;
208
196
  }(_iterator.default);
209
-
210
197
  exports.default = Page;
211
198
  //# sourceMappingURL=page.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["itemsMap","linksMap","webexsMap","Page","res","webex","set","body","items","parseLinkHeaders","headers","link","get","length","getLink","hasLink","request","uri","links","then","Boolean","i","next","value","done","linkHeaders","reduce","linkHeader","split","replace","rel"],"sources":["page.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst itemsMap = new WeakMap();\nconst linksMap = new WeakMap();\nconst webexsMap = new WeakMap();\n\n/**\n * @class Page\n */\nexport default class Page {\n /**\n * @type {Array}\n */\n get items() {\n return itemsMap.get(this);\n }\n\n /**\n * @type {number}\n */\n get length() {\n return this.items.length;\n }\n\n /**\n * @private\n * @type {Object}\n */\n get links() {\n return linksMap.get(this);\n }\n\n /**\n * @private\n * @type {ProxyWebex}\n */\n get webex() {\n return webexsMap.get(this);\n }\n\n /**\n * @constructs {Page}\n * @param {HttpResponse} res\n * @param {ProxyWebex} webex\n * @returns {Page}\n */\n constructor(res, webex) {\n itemsMap.set(this, res.body.items);\n linksMap.set(this, Page.parseLinkHeaders(res.headers.link));\n webexsMap.set(this, webex);\n\n return this;\n }\n\n /**\n * Separate a single link header string into an actionable object\n * @param {string} linkHeaders\n * @private\n * @returns {Object}\n */\n static parseLinkHeaders(linkHeaders) {\n if (!linkHeaders) {\n return {};\n }\n\n linkHeaders = Array.isArray(linkHeaders) ? linkHeaders : [linkHeaders];\n\n return linkHeaders.reduce((links, linkHeader) => {\n linkHeader = linkHeader.split(';');\n const link = linkHeader[0]\n .replace('<', '')\n .replace('>', '');\n const rel = linkHeader[1]\n .split('=')[1]\n .replace(/\"/g, '');\n\n links[rel] = link;\n\n return links;\n }, {});\n }\n\n /**\n * Get next page\n * @returns {Function}\n */\n next() {\n return this.getLink('next');\n }\n\n /**\n * Indicates if there's another page\n * @returns {Boolean}\n */\n hasNext() {\n return this.hasLink('next');\n }\n\n /**\n * Get previous page\n * @returns {Page}\n */\n previous() {\n return this.getLink('previous');\n }\n\n /**\n * Indicates if there is a previous Page\n * @returns {Boolean}\n */\n hasPrevious() {\n return this.hasLink('previous');\n }\n\n /**\n * Retrieves the `Page` at url specified by `link`\n * @param {string} link Specifies which link header to return\n * @private\n * @returns {Promise<Page>}\n */\n getLink(link) {\n return this.webex.request({\n uri: this.links[link]\n })\n .then((res) => new Page(res, this.webex));\n }\n\n /**\n * Indicates if the specified link is in the link header\n * @param {string} link\n * @private\n * @returns {Boolean}\n */\n hasLink(link) {\n return Boolean(this.links[link]);\n }\n\n /**\n * Iterator\n * @returns {Object}\n */\n [Symbol.iterator]() {\n let i = -1;\n\n return {\n next: () => {\n i += 1;\n if (i < this.length) {\n return {\n value: this.items[i]\n };\n }\n\n return {done: true};\n }\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["itemsMap","linksMap","webexsMap","Page","res","webex","set","body","items","parseLinkHeaders","headers","link","get","length","getLink","hasLink","request","uri","links","then","Boolean","i","next","value","done","linkHeaders","reduce","linkHeader","split","replace","rel"],"sources":["page.js"],"sourcesContent":["/* eslint-disable no-constructor-return */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst itemsMap = new WeakMap();\nconst linksMap = new WeakMap();\nconst webexsMap = new WeakMap();\n\n/**\n * @class Page\n */\nexport default class Page {\n /**\n * @type {Array}\n */\n get items() {\n return itemsMap.get(this);\n }\n\n /**\n * @type {number}\n */\n get length() {\n return this.items.length;\n }\n\n /**\n * @private\n * @type {Object}\n */\n get links() {\n return linksMap.get(this);\n }\n\n /**\n * @private\n * @type {ProxyWebex}\n */\n get webex() {\n return webexsMap.get(this);\n }\n\n /**\n * @constructs {Page}\n * @param {HttpResponse} res\n * @param {ProxyWebex} webex\n * @returns {Page}\n */\n constructor(res, webex) {\n itemsMap.set(this, res.body.items);\n linksMap.set(this, Page.parseLinkHeaders(res.headers.link));\n webexsMap.set(this, webex);\n\n return this;\n }\n\n /**\n * Separate a single link header string into an actionable object\n * @param {string} linkHeaders\n * @private\n * @returns {Object}\n */\n static parseLinkHeaders(linkHeaders) {\n if (!linkHeaders) {\n return {};\n }\n\n linkHeaders = Array.isArray(linkHeaders) ? linkHeaders : [linkHeaders];\n\n return linkHeaders.reduce((links, linkHeader) => {\n linkHeader = linkHeader.split(';');\n const link = linkHeader[0].replace('<', '').replace('>', '');\n const rel = linkHeader[1].split('=')[1].replace(/\"/g, '');\n\n links[rel] = link;\n\n return links;\n }, {});\n }\n\n /**\n * Get next page\n * @returns {Function}\n */\n next() {\n return this.getLink('next');\n }\n\n /**\n * Indicates if there's another page\n * @returns {Boolean}\n */\n hasNext() {\n return this.hasLink('next');\n }\n\n /**\n * Get previous page\n * @returns {Page}\n */\n previous() {\n return this.getLink('previous');\n }\n\n /**\n * Indicates if there is a previous Page\n * @returns {Boolean}\n */\n hasPrevious() {\n return this.hasLink('previous');\n }\n\n /**\n * Retrieves the `Page` at url specified by `link`\n * @param {string} link Specifies which link header to return\n * @private\n * @returns {Promise<Page>}\n */\n getLink(link) {\n return this.webex\n .request({\n uri: this.links[link],\n })\n .then((res) => new Page(res, this.webex));\n }\n\n /**\n * Indicates if the specified link is in the link header\n * @param {string} link\n * @private\n * @returns {Boolean}\n */\n hasLink(link) {\n return Boolean(this.links[link]);\n }\n\n /**\n * Iterator\n * @returns {Object}\n */\n [Symbol.iterator]() {\n let i = -1;\n\n return {\n next: () => {\n i += 1;\n if (i < this.length) {\n return {\n value: this.items[i],\n };\n }\n\n return {done: true};\n },\n };\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  _Object$defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
-
9
7
  exports.SERVICE_CATALOGS_ENUM_TYPES = exports.SERVICE_CATALOGS = exports.NAMESPACE = void 0;
10
8
  var NAMESPACE = 'services';
11
9
  exports.NAMESPACE = NAMESPACE;
@@ -1 +1 @@
1
- {"version":3,"names":["NAMESPACE","SERVICE_CATALOGS","SERVICE_CATALOGS_ENUM_TYPES","STRING","NUMBER"],"sources":["constants.js"],"sourcesContent":["const NAMESPACE = 'services';\nconst SERVICE_CATALOGS = [\n 'discovery',\n 'limited',\n 'signin',\n 'postauth',\n 'custom'\n];\n\nconst SERVICE_CATALOGS_ENUM_TYPES = {\n STRING: 'SERVICE_CATALOGS_ENUM_TYPES_STRING',\n NUMBER: 'SERVICE_CATALOGS_ENUM_TYPES_NUMBER'\n};\n\nexport {\n SERVICE_CATALOGS_ENUM_TYPES,\n NAMESPACE,\n SERVICE_CATALOGS\n};\n"],"mappings":";;;;;;;;;AAAA,IAAMA,SAAS,GAAG,UAAlB;;AACA,IAAMC,gBAAgB,GAAG,CACvB,WADuB,EAEvB,SAFuB,EAGvB,QAHuB,EAIvB,UAJuB,EAKvB,QALuB,CAAzB;;AAQA,IAAMC,2BAA2B,GAAG;EAClCC,MAAM,EAAE,oCAD0B;EAElCC,MAAM,EAAE;AAF0B,CAApC"}
1
+ {"version":3,"names":["NAMESPACE","SERVICE_CATALOGS","SERVICE_CATALOGS_ENUM_TYPES","STRING","NUMBER"],"sources":["constants.js"],"sourcesContent":["const NAMESPACE = 'services';\nconst SERVICE_CATALOGS = ['discovery', 'limited', 'signin', 'postauth', 'custom'];\n\nconst SERVICE_CATALOGS_ENUM_TYPES = {\n STRING: 'SERVICE_CATALOGS_ENUM_TYPES_STRING',\n NUMBER: 'SERVICE_CATALOGS_ENUM_TYPES_NUMBER',\n};\n\nexport {SERVICE_CATALOGS_ENUM_TYPES, NAMESPACE, SERVICE_CATALOGS};\n"],"mappings":";;;;;;;AAAA,IAAMA,SAAS,GAAG,UAAU;AAAC;AAC7B,IAAMC,gBAAgB,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;AAAC;AAElF,IAAMC,2BAA2B,GAAG;EAClCC,MAAM,EAAE,oCAAoC;EAC5CC,MAAM,EAAE;AACV,CAAC;AAAC"}
@@ -1,106 +1,79 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
-
5
4
  var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
6
-
7
5
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
8
-
9
6
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
12
-
13
8
  _Object$defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
-
17
11
  _Object$defineProperty(exports, "ServerErrorInterceptor", {
18
12
  enumerable: true,
19
13
  get: function get() {
20
14
  return _serverError.default;
21
15
  }
22
16
  });
23
-
24
17
  _Object$defineProperty(exports, "ServiceCatalog", {
25
18
  enumerable: true,
26
19
  get: function get() {
27
20
  return _serviceCatalog.default;
28
21
  }
29
22
  });
30
-
31
23
  _Object$defineProperty(exports, "ServiceHost", {
32
24
  enumerable: true,
33
25
  get: function get() {
34
26
  return _serviceHost.default;
35
27
  }
36
28
  });
37
-
38
29
  _Object$defineProperty(exports, "ServiceInterceptor", {
39
30
  enumerable: true,
40
31
  get: function get() {
41
32
  return _service.default;
42
33
  }
43
34
  });
44
-
45
35
  _Object$defineProperty(exports, "ServiceRegistry", {
46
36
  enumerable: true,
47
37
  get: function get() {
48
38
  return _serviceRegistry.default;
49
39
  }
50
40
  });
51
-
52
41
  _Object$defineProperty(exports, "ServiceState", {
53
42
  enumerable: true,
54
43
  get: function get() {
55
44
  return _serviceState.default;
56
45
  }
57
46
  });
58
-
59
47
  _Object$defineProperty(exports, "ServiceUrl", {
60
48
  enumerable: true,
61
49
  get: function get() {
62
50
  return _serviceUrl.default;
63
51
  }
64
52
  });
65
-
66
53
  _Object$defineProperty(exports, "Services", {
67
54
  enumerable: true,
68
55
  get: function get() {
69
56
  return _services.default;
70
57
  }
71
58
  });
72
-
73
59
  exports.constants = void 0;
74
-
75
60
  var _webexCore = require("../../webex-core");
76
-
77
61
  var constants = _interopRequireWildcard(require("./constants"));
78
-
79
62
  exports.constants = constants;
80
-
81
63
  var _services = _interopRequireDefault(require("./services"));
82
-
83
64
  var _serverError = _interopRequireDefault(require("./interceptors/server-error"));
84
-
85
65
  var _service = _interopRequireDefault(require("./interceptors/service"));
86
-
87
66
  var _serviceCatalog = _interopRequireDefault(require("./service-catalog"));
88
-
89
67
  var _serviceRegistry = _interopRequireDefault(require("./service-registry"));
90
-
91
68
  var _serviceState = _interopRequireDefault(require("./service-state"));
92
-
93
69
  var _serviceHost = _interopRequireDefault(require("./service-host"));
94
-
95
70
  var _serviceUrl = _interopRequireDefault(require("./service-url"));
96
-
97
71
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
98
-
99
72
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
100
-
101
73
  /*!
102
74
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
103
75
  */
76
+
104
77
  (0, _webexCore.registerInternalPlugin)('services', _services.default, {
105
78
  interceptors: {
106
79
  ServiceInterceptor: _service.default.create,
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","Services","interceptors","ServiceInterceptor","create","ServerErrorInterceptor"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {registerInternalPlugin} from '../../webex-core';\n\nimport * as constants from './constants';\nimport Services from './services';\nimport ServerErrorInterceptor from './interceptors/server-error';\nimport ServiceInterceptor from './interceptors/service';\n\nregisterInternalPlugin('services', Services, {\n interceptors: {\n ServiceInterceptor: ServiceInterceptor.create,\n ServerErrorInterceptor: ServerErrorInterceptor.create\n }\n});\n\nexport {constants};\nexport {default as ServiceInterceptor} from './interceptors/service';\nexport {default as ServerErrorInterceptor} from './interceptors/server-error';\nexport {default as Services} from './services';\nexport {default as ServiceCatalog} from './service-catalog';\nexport {default as ServiceRegistry} from './service-registry';\nexport {default as ServiceState} from './service-state';\nexport {default as ServiceHost} from './service-host';\nexport {default as ServiceUrl} from './service-url';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAEA;;;;AACA;;AACA;;AACA;;AAaA;;AACA;;AACA;;AACA;;AACA;;;;;;AAzBA;AACA;AACA;AAQA,IAAAA,iCAAA,EAAuB,UAAvB,EAAmCC,iBAAnC,EAA6C;EAC3CC,YAAY,EAAE;IACZC,kBAAkB,EAAEA,gBAAA,CAAmBC,MAD3B;IAEZC,sBAAsB,EAAEA,oBAAA,CAAuBD;EAFnC;AAD6B,CAA7C"}
1
+ {"version":3,"names":["registerInternalPlugin","Services","interceptors","ServiceInterceptor","create","ServerErrorInterceptor"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {registerInternalPlugin} from '../../webex-core';\n\nimport * as constants from './constants';\nimport Services from './services';\nimport ServerErrorInterceptor from './interceptors/server-error';\nimport ServiceInterceptor from './interceptors/service';\n\nregisterInternalPlugin('services', Services, {\n interceptors: {\n ServiceInterceptor: ServiceInterceptor.create,\n ServerErrorInterceptor: ServerErrorInterceptor.create,\n },\n});\n\nexport {constants};\nexport {default as ServiceInterceptor} from './interceptors/service';\nexport {default as ServerErrorInterceptor} from './interceptors/server-error';\nexport {default as Services} from './services';\nexport {default as ServiceCatalog} from './service-catalog';\nexport {default as ServiceRegistry} from './service-registry';\nexport {default as ServiceState} from './service-state';\nexport {default as ServiceHost} from './service-host';\nexport {default as ServiceUrl} from './service-url';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AAEA;AAAyC;AACzC;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AAAoD;AAAA;AAzBpD;AACA;AACA;;AAQA,IAAAA,iCAAsB,EAAC,UAAU,EAAEC,iBAAQ,EAAE;EAC3CC,YAAY,EAAE;IACZC,kBAAkB,EAAEA,gBAAkB,CAACC,MAAM;IAC7CC,sBAAsB,EAAEA,oBAAsB,CAACD;EACjD;AACF,CAAC,CAAC"}
@@ -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 _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
18
-
19
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
20
-
21
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
22
-
23
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
24
-
25
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
26
-
27
16
  var _httpCore = require("@webex/http-core");
28
-
29
17
  var _webexCore = require("@webex/webex-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
  * Changes server url when it fails
37
22
  */
38
23
  var ServerErrorInterceptor = /*#__PURE__*/function (_Interceptor) {
39
24
  (0, _inherits2.default)(ServerErrorInterceptor, _Interceptor);
40
-
41
25
  var _super = _createSuper(ServerErrorInterceptor);
42
-
43
26
  function ServerErrorInterceptor() {
44
27
  (0, _classCallCheck2.default)(this, ServerErrorInterceptor);
45
28
  return _super.apply(this, arguments);
46
29
  }
47
-
48
30
  (0, _createClass2.default)(ServerErrorInterceptor, [{
49
31
  key: "onResponseError",
50
32
  value:
@@ -57,7 +39,6 @@ var ServerErrorInterceptor = /*#__PURE__*/function (_Interceptor) {
57
39
  function onResponseError(options, reason) {
58
40
  if ((reason instanceof _webexCore.WebexHttpError.InternalServerError || reason instanceof _webexCore.WebexHttpError.BadGateway || reason instanceof _webexCore.WebexHttpError.ServiceUnavailable) && options.uri) {
59
41
  var feature = this.webex.internal.device.features.developer.get('web-high-availability');
60
-
61
42
  if (feature && feature.value) {
62
43
  this.webex.internal.metrics.submitClientMetrics('web-ha', {
63
44
  fields: {
@@ -74,15 +55,14 @@ var ServerErrorInterceptor = /*#__PURE__*/function (_Interceptor) {
74
55
  });
75
56
  }
76
57
  }
77
-
78
58
  return _promise.default.reject(reason);
79
59
  }
80
60
  }], [{
81
61
  key: "create",
82
62
  value:
83
63
  /**
84
- * @returns {HAMessagingInterceptor}
85
- */
64
+ * @returns {HAMessagingInterceptor}
65
+ */
86
66
  function create() {
87
67
  // eslint-disable-next-line no-invalid-this
88
68
  return new ServerErrorInterceptor({
@@ -92,6 +72,5 @@ var ServerErrorInterceptor = /*#__PURE__*/function (_Interceptor) {
92
72
  }]);
93
73
  return ServerErrorInterceptor;
94
74
  }(_httpCore.Interceptor);
95
-
96
75
  exports.default = ServerErrorInterceptor;
97
76
  //# sourceMappingURL=server-error.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ServerErrorInterceptor","options","reason","WebexHttpError","InternalServerError","BadGateway","ServiceUnavailable","uri","feature","webex","internal","device","features","developer","get","value","metrics","submitClientMetrics","fields","success","tags","action","error","message","url","resolve","services","markFailedUrl","then","reject","Interceptor"],"sources":["server-error.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\nimport {WebexHttpError} from '@webex/webex-core';\n/**\n * Changes server url when it fails\n */\nexport default class ServerErrorInterceptor extends Interceptor {\n /**\n * @returns {HAMessagingInterceptor}\n */\n static create() {\n // eslint-disable-next-line no-invalid-this\n return new ServerErrorInterceptor({webex: this});\n }\n\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Object} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n if ((reason instanceof WebexHttpError.InternalServerError || reason instanceof WebexHttpError.BadGateway || reason instanceof WebexHttpError.ServiceUnavailable) && options.uri) {\n const feature = this.webex.internal.device.features.developer.get('web-high-availability');\n\n if (feature && feature.value) {\n this.webex.internal.metrics.submitClientMetrics('web-ha', {\n fields: {success: false},\n tags: {action: 'failed', error: reason.message, url: options.uri}\n });\n\n return Promise.resolve(this.webex.internal.services.markFailedUrl(options.uri))\n .then(() => Promise.reject(reason));\n }\n }\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AACA;;;;;;AACA;AACA;AACA;IACqBA,sB;;;;;;;;;;;;;IAUnB;AACF;AACA;AACA;AACA;AACA;IACE,yBAAgBC,OAAhB,EAAyBC,MAAzB,EAAiC;MAC/B,IAAI,CAACA,MAAM,YAAYC,yBAAA,CAAeC,mBAAjC,IAAwDF,MAAM,YAAYC,yBAAA,CAAeE,UAAzF,IAAuGH,MAAM,YAAYC,yBAAA,CAAeG,kBAAzI,KAAgKL,OAAO,CAACM,GAA5K,EAAiL;QAC/K,IAAMC,OAAO,GAAG,KAAKC,KAAL,CAAWC,QAAX,CAAoBC,MAApB,CAA2BC,QAA3B,CAAoCC,SAApC,CAA8CC,GAA9C,CAAkD,uBAAlD,CAAhB;;QAEA,IAAIN,OAAO,IAAIA,OAAO,CAACO,KAAvB,EAA8B;UAC5B,KAAKN,KAAL,CAAWC,QAAX,CAAoBM,OAApB,CAA4BC,mBAA5B,CAAgD,QAAhD,EAA0D;YACxDC,MAAM,EAAE;cAACC,OAAO,EAAE;YAAV,CADgD;YAExDC,IAAI,EAAE;cAACC,MAAM,EAAE,QAAT;cAAmBC,KAAK,EAAEpB,MAAM,CAACqB,OAAjC;cAA0CC,GAAG,EAAEvB,OAAO,CAACM;YAAvD;UAFkD,CAA1D;UAKA,OAAO,iBAAQkB,OAAR,CAAgB,KAAKhB,KAAL,CAAWC,QAAX,CAAoBgB,QAApB,CAA6BC,aAA7B,CAA2C1B,OAAO,CAACM,GAAnD,CAAhB,EACJqB,IADI,CACC;YAAA,OAAM,iBAAQC,MAAR,CAAe3B,MAAf,CAAN;UAAA,CADD,CAAP;QAED;MACF;;MAED,OAAO,iBAAQ2B,MAAR,CAAe3B,MAAf,CAAP;IACD;;;;IA/BD;AACF;AACA;IACE,kBAAgB;MACd;MACA,OAAO,IAAIF,sBAAJ,CAA2B;QAACS,KAAK,EAAE;MAAR,CAA3B,CAAP;IACD;;;EAPiDqB,qB"}
1
+ {"version":3,"names":["ServerErrorInterceptor","options","reason","WebexHttpError","InternalServerError","BadGateway","ServiceUnavailable","uri","feature","webex","internal","device","features","developer","get","value","metrics","submitClientMetrics","fields","success","tags","action","error","message","url","resolve","services","markFailedUrl","then","reject","Interceptor"],"sources":["server-error.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\nimport {WebexHttpError} from '@webex/webex-core';\n/**\n * Changes server url when it fails\n */\nexport default class ServerErrorInterceptor extends Interceptor {\n /**\n * @returns {HAMessagingInterceptor}\n */\n static create() {\n // eslint-disable-next-line no-invalid-this\n return new ServerErrorInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Object} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n if (\n (reason instanceof WebexHttpError.InternalServerError ||\n reason instanceof WebexHttpError.BadGateway ||\n reason instanceof WebexHttpError.ServiceUnavailable) &&\n options.uri\n ) {\n const feature = this.webex.internal.device.features.developer.get('web-high-availability');\n\n if (feature && feature.value) {\n this.webex.internal.metrics.submitClientMetrics('web-ha', {\n fields: {success: false},\n tags: {action: 'failed', error: reason.message, url: options.uri},\n });\n\n return Promise.resolve(this.webex.internal.services.markFailedUrl(options.uri)).then(() =>\n Promise.reject(reason)\n );\n }\n }\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA;AACA;AAAiD;AAAA;AACjD;AACA;AACA;AAFA,IAGqBA,sBAAsB;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IASzC;AACF;AACA;AACA;AACA;AACA;IACE,yBAAgBC,OAAO,EAAEC,MAAM,EAAE;MAC/B,IACE,CAACA,MAAM,YAAYC,yBAAc,CAACC,mBAAmB,IACnDF,MAAM,YAAYC,yBAAc,CAACE,UAAU,IAC3CH,MAAM,YAAYC,yBAAc,CAACG,kBAAkB,KACrDL,OAAO,CAACM,GAAG,EACX;QACA,IAAMC,OAAO,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,QAAQ,CAACC,SAAS,CAACC,GAAG,CAAC,uBAAuB,CAAC;QAE1F,IAAIN,OAAO,IAAIA,OAAO,CAACO,KAAK,EAAE;UAC5B,IAAI,CAACN,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACC,mBAAmB,CAAC,QAAQ,EAAE;YACxDC,MAAM,EAAE;cAACC,OAAO,EAAE;YAAK,CAAC;YACxBC,IAAI,EAAE;cAACC,MAAM,EAAE,QAAQ;cAAEC,KAAK,EAAEpB,MAAM,CAACqB,OAAO;cAAEC,GAAG,EAAEvB,OAAO,CAACM;YAAG;UAClE,CAAC,CAAC;UAEF,OAAO,iBAAQkB,OAAO,CAAC,IAAI,CAAChB,KAAK,CAACC,QAAQ,CAACgB,QAAQ,CAACC,aAAa,CAAC1B,OAAO,CAACM,GAAG,CAAC,CAAC,CAACqB,IAAI,CAAC;YAAA,OACnF,iBAAQC,MAAM,CAAC3B,MAAM,CAAC;UAAA,EACvB;QACH;MACF;MAEA,OAAO,iBAAQ2B,MAAM,CAAC3B,MAAM,CAAC;IAC/B;EAAC;IAAA;IAAA;IApCD;AACF;AACA;IACE,kBAAgB;MACd;MACA,OAAO,IAAIF,sBAAsB,CAAC;QAACS,KAAK,EAAE;MAAI,CAAC,CAAC;IAClD;EAAC;EAAA;AAAA,EAPiDqB,qBAAW;AAAA"}
@@ -1,55 +1,36 @@
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 _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
18
-
19
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
20
-
21
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
22
-
23
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
24
-
25
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
26
-
27
16
  var _httpCore = require("@webex/http-core");
28
-
29
17
  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); }; }
30
-
31
18
  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; } }
32
-
33
19
  var trailingSlashes = /(?:^\/)|(?:\/$)/;
20
+
34
21
  /**
35
22
  * @class
36
23
  */
37
-
38
24
  var ServiceInterceptor = /*#__PURE__*/function (_Interceptor) {
39
25
  (0, _inherits2.default)(ServiceInterceptor, _Interceptor);
40
-
41
26
  var _super = _createSuper(ServiceInterceptor);
42
-
43
27
  function ServiceInterceptor() {
44
28
  (0, _classCallCheck2.default)(this, ServiceInterceptor);
45
29
  return _super.apply(this, arguments);
46
30
  }
47
-
48
31
  (0, _createClass2.default)(ServiceInterceptor, [{
49
32
  key: "onRequest",
50
- value:
51
- /* eslint-disable no-param-reassign */
52
-
33
+ value: /* eslint-disable no-param-reassign */
53
34
  /**
54
35
  * @see Interceptor#onRequest
55
36
  * @param {Object} options - The request PTO.
@@ -57,20 +38,21 @@ var ServiceInterceptor = /*#__PURE__*/function (_Interceptor) {
57
38
  */
58
39
  function onRequest(options) {
59
40
  var _this = this;
60
-
61
41
  // Validate that the PTO includes a uri property.
62
42
  if (options.uri) {
63
43
  return options;
64
- } // Normalize and validate the PTO.
65
-
44
+ }
66
45
 
46
+ // Normalize and validate the PTO.
67
47
  this.normalizeOptions(options);
68
- this.validateOptions(options); // Destructure commonly referenced namespaces.
48
+ this.validateOptions(options);
69
49
 
50
+ // Destructure commonly referenced namespaces.
70
51
  var services = this.webex.internal.services;
71
52
  var service = options.service,
72
- resource = options.resource; // Attempt to collect the service url.
53
+ resource = options.resource;
73
54
 
55
+ // Attempt to collect the service url.
74
56
  return services.waitForService({
75
57
  name: service
76
58
  }).then(function (serviceUrl) {
@@ -81,8 +63,8 @@ var ServiceInterceptor = /*#__PURE__*/function (_Interceptor) {
81
63
  return _promise.default.reject(new Error("service-interceptor: '".concat(service, "' is not a known service")));
82
64
  });
83
65
  }
84
- /* eslint-disable class-methods-use-this */
85
66
 
67
+ /* eslint-disable class-methods-use-this */
86
68
  /**
87
69
  * Generate a usable request uri string from a service url and a resouce.
88
70
  *
@@ -90,7 +72,6 @@ var ServiceInterceptor = /*#__PURE__*/function (_Interceptor) {
90
72
  * @param {string} [resource] - The resouce to be appended to the service url.
91
73
  * @returns {string} - The combined service url and resource.
92
74
  */
93
-
94
75
  }, {
95
76
  key: "generateUri",
96
77
  value: function generateUri(serviceUrl) {
@@ -99,13 +80,13 @@ var ServiceInterceptor = /*#__PURE__*/function (_Interceptor) {
99
80
  var formattedResource = resource.replace(trailingSlashes, '');
100
81
  return "".concat(formattedService, "/").concat(formattedResource);
101
82
  }
83
+
102
84
  /**
103
85
  * Normalizes request options relative to service identification.
104
86
  *
105
87
  * @param {Object} options - The request PTO.
106
88
  * @returns {Object} - The mutated request PTO.
107
89
  */
108
-
109
90
  }, {
110
91
  key: "normalizeOptions",
111
92
  value: function normalizeOptions(options) {
@@ -116,26 +97,24 @@ var ServiceInterceptor = /*#__PURE__*/function (_Interceptor) {
116
97
  delete options.api;
117
98
  }
118
99
  }
100
+
119
101
  /**
120
102
  * Validates that the appropriate options for this interceptor are present.
121
103
  *
122
104
  * @param {Object} options - The request PTO.
123
105
  * @returns {Object} - The mutated request PTO.
124
106
  */
125
-
126
107
  }, {
127
108
  key: "validateOptions",
128
109
  value: function validateOptions(options) {
129
110
  if (!options.resource) {
130
111
  throw new Error('a `resource` parameter is required');
131
112
  }
132
-
133
113
  if (!options.service) {
134
- throw new Error('a valid \'service\' parameter is required');
114
+ throw new Error("a valid 'service' parameter is required");
135
115
  }
136
116
  }
137
117
  /* eslint-enable class-methods-use-this, no-param-reassign */
138
-
139
118
  }], [{
140
119
  key: "create",
141
120
  value:
@@ -151,6 +130,5 @@ var ServiceInterceptor = /*#__PURE__*/function (_Interceptor) {
151
130
  }]);
152
131
  return ServiceInterceptor;
153
132
  }(_httpCore.Interceptor);
154
-
155
133
  exports.default = ServiceInterceptor;
156
134
  //# sourceMappingURL=service.js.map