@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 +1 @@
1
- {"version":3,"names":["WebexPlugin","AmpState","extend","derived","boundedStorage","deps","fn","makeWebexPluginStore","unboundedStorage","config","cache","webex","namespace","getNamespace","toLowerCase","logger","console","parent","collection","Error","session","type","ready","default","clear","options","attributes","forEach","key","unset","_children","_collections","reset","initialize","args","prototype","_dataTypes","set","bind","on","model","trigger","inspect","depth","util","serialize","props","request","upload","when","eventName","rest","length","resolve","once","_filterSetParameters","value","attrs"],"sources":["webex-plugin.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport AmpState from 'ampersand-state';\nimport {\n cloneDeep,\n isObject,\n omit\n} from 'lodash';\n\nimport {makeWebexPluginStore} from './storage';\n\n/**\n * @class\n */\nconst WebexPlugin = AmpState.extend({\n derived: {\n boundedStorage: {\n deps: [],\n fn() {\n return makeWebexPluginStore('bounded', this);\n }\n },\n unboundedStorage: {\n deps: [],\n fn() {\n return makeWebexPluginStore('unbounded', this);\n }\n },\n config: {\n // figure out why caching config breaks the refresh integration test\n // but not the refresh automation test.\n cache: false,\n deps: [\n 'webex',\n 'webex.config'\n ],\n fn() {\n if (this.webex && this.webex.config) {\n const namespace = this.getNamespace();\n\n if (namespace) {\n return this.webex.config[namespace.toLowerCase()];\n }\n\n return this.webex.config;\n }\n\n return {};\n }\n },\n\n logger: {\n deps: [\n 'webex',\n 'webex.logger'\n ],\n fn() {\n return this.webex.logger || console;\n }\n },\n\n webex: {\n deps: ['parent'],\n fn() {\n if (!this.parent && !this.collection) {\n throw new Error('Cannot determine `this.webex` without `this.parent` or `this.collection`. Please initialize `this` via `children` or `collection` or set `this.parent` manually');\n }\n\n /* eslint consistent-this: [0] */\n let parent = this;\n\n while (parent.parent || parent.collection) {\n parent = parent.parent || parent.collection;\n }\n\n return parent;\n }\n }\n },\n\n session: {\n parent: {\n type: 'any'\n },\n /**\n * Indicates this plugin is ready to be used. Defaults to true but can be\n * overridden by plugins as appropriate. Used by {@link WebexCore#read}\n * @instance\n * @memberof WebexPlugin\n * @type {boolean}\n */\n ready: {\n default: true,\n type: 'boolean'\n }\n },\n\n /**\n * Overrides AmpersandState#clear to make sure we never unset `parent` and\n * recursively visits children/collections.\n * @instance\n * @memberof WebexPlugin\n * @param {Object} options\n * @returns {WebexPlugin}\n */\n clear(options) {\n Object.keys(this.attributes).forEach((key) => {\n if (key !== 'parent') {\n this.unset(key, options);\n }\n });\n\n Object.keys(this._children).forEach((key) => {\n this[key].clear();\n });\n\n Object.keys(this._collections).forEach((key) => {\n this[key].reset();\n });\n\n return this;\n },\n\n /**\n * Initializer\n * @private\n * @param {Object} attrs\n * @param {Object} options\n * @returns {undefined}\n */\n initialize(...args) {\n Reflect.apply(AmpState.prototype.initialize, this, args);\n\n // HACK to deal with the fact that AmpersandState#dataTypes#set is a pure\n // function.\n this._dataTypes = cloneDeep(this._dataTypes);\n Object.keys(this._dataTypes).forEach((key) => {\n if (this._dataTypes[key].set) {\n this._dataTypes[key].set = this._dataTypes[key].set.bind(this);\n }\n });\n // END HACK\n\n // Propagate change:[attribute] events from children\n this.on('change', (model, options) => {\n if (this.parent) {\n this.parent.trigger(`change:${this.getNamespace().toLowerCase()}`, this.parent, this, options);\n }\n });\n },\n\n /**\n * @instance\n * @memberof WebexPlugin\n * @param {number} depth\n * @private\n * @returns {Object}\n */\n inspect(depth) {\n return util.inspect(omit(this.serialize({\n props: true,\n session: true,\n derived: true\n }), 'boundedStorage', 'unboundedStorage', 'config', 'logger', 'webex', 'parent'), {depth});\n },\n\n request(...args) {\n return this.webex.request(...args);\n },\n\n upload(...args) {\n return this.webex.upload(...args);\n },\n\n when(eventName, ...rest) {\n if (rest && rest.length > 0) {\n throw new Error('#when() does not accept a callback, you must attach to its promise');\n }\n\n return new Promise((resolve) => {\n this.once(eventName, (...args) => resolve(args));\n });\n },\n\n /**\n * Helper function for dealing with both forms of {@link AmpersandState#set()}\n * @param {string} key\n * @param {mixed} value\n * @param {Object} options\n * @private\n * @returns {Array<Object, Object>}\n */\n _filterSetParameters(key, value, options) {\n let attrs;\n\n if (isObject(key) || key === null) {\n attrs = key;\n options = value;\n }\n else {\n attrs = {};\n attrs[key] = value;\n }\n\n options = options || {};\n\n return [attrs, options];\n }\n});\n\nexport default WebexPlugin;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;AAOA;;AAbA;AACA;AACA;;AAaA;AACA;AACA;AACA,IAAMA,WAAW,GAAGC,uBAAA,CAASC,MAAT,CAAgB;EAClCC,OAAO,EAAE;IACPC,cAAc,EAAE;MACdC,IAAI,EAAE,EADQ;MAEdC,EAFc,gBAET;QACH,OAAO,IAAAC,6BAAA,EAAqB,SAArB,EAAgC,IAAhC,CAAP;MACD;IAJa,CADT;IAOPC,gBAAgB,EAAE;MAChBH,IAAI,EAAE,EADU;MAEhBC,EAFgB,gBAEX;QACH,OAAO,IAAAC,6BAAA,EAAqB,WAArB,EAAkC,IAAlC,CAAP;MACD;IAJe,CAPX;IAaPE,MAAM,EAAE;MACR;MACA;MACEC,KAAK,EAAE,KAHD;MAINL,IAAI,EAAE,CACJ,OADI,EAEJ,cAFI,CAJA;MAQNC,EARM,gBAQD;QACH,IAAI,KAAKK,KAAL,IAAc,KAAKA,KAAL,CAAWF,MAA7B,EAAqC;UACnC,IAAMG,SAAS,GAAG,KAAKC,YAAL,EAAlB;;UAEA,IAAID,SAAJ,EAAe;YACb,OAAO,KAAKD,KAAL,CAAWF,MAAX,CAAkBG,SAAS,CAACE,WAAV,EAAlB,CAAP;UACD;;UAED,OAAO,KAAKH,KAAL,CAAWF,MAAlB;QACD;;QAED,OAAO,EAAP;MACD;IApBK,CAbD;IAoCPM,MAAM,EAAE;MACNV,IAAI,EAAE,CACJ,OADI,EAEJ,cAFI,CADA;MAKNC,EALM,gBAKD;QACH,OAAO,KAAKK,KAAL,CAAWI,MAAX,IAAqBC,OAA5B;MACD;IAPK,CApCD;IA8CPL,KAAK,EAAE;MACLN,IAAI,EAAE,CAAC,QAAD,CADD;MAELC,EAFK,gBAEA;QACH,IAAI,CAAC,KAAKW,MAAN,IAAgB,CAAC,KAAKC,UAA1B,EAAsC;UACpC,MAAM,IAAIC,KAAJ,CAAU,iKAAV,CAAN;QACD;QAED;;;QACA,IAAIF,MAAM,GAAG,IAAb;;QAEA,OAAOA,MAAM,CAACA,MAAP,IAAiBA,MAAM,CAACC,UAA/B,EAA2C;UACzCD,MAAM,GAAGA,MAAM,CAACA,MAAP,IAAiBA,MAAM,CAACC,UAAjC;QACD;;QAED,OAAOD,MAAP;MACD;IAfI;EA9CA,CADyB;EAkElCG,OAAO,EAAE;IACPH,MAAM,EAAE;MACNI,IAAI,EAAE;IADA,CADD;;IAIP;AACJ;AACA;AACA;AACA;AACA;AACA;IACIC,KAAK,EAAE;MACLC,OAAO,EAAE,IADJ;MAELF,IAAI,EAAE;IAFD;EAXA,CAlEyB;;EAmFlC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,KA3FkC,iBA2F5BC,OA3F4B,EA2FnB;IAAA;;IACb,mBAAY,KAAKC,UAAjB,EAA6BC,OAA7B,CAAqC,UAACC,GAAD,EAAS;MAC5C,IAAIA,GAAG,KAAK,QAAZ,EAAsB;QACpB,KAAI,CAACC,KAAL,CAAWD,GAAX,EAAgBH,OAAhB;MACD;IACF,CAJD;IAMA,mBAAY,KAAKK,SAAjB,EAA4BH,OAA5B,CAAoC,UAACC,GAAD,EAAS;MAC3C,KAAI,CAACA,GAAD,CAAJ,CAAUJ,KAAV;IACD,CAFD;IAIA,mBAAY,KAAKO,YAAjB,EAA+BJ,OAA/B,CAAuC,UAACC,GAAD,EAAS;MAC9C,KAAI,CAACA,GAAD,CAAJ,CAAUI,KAAV;IACD,CAFD;IAIA,OAAO,IAAP;EACD,CA3GiC;;EA6GlC;AACF;AACA;AACA;AACA;AACA;AACA;EACEC,UApHkC,wBAoHd;IAAA;;IAAA,kCAANC,IAAM;MAANA,IAAM;IAAA;;IAClB,oBAAcjC,uBAAA,CAASkC,SAAT,CAAmBF,UAAjC,EAA6C,IAA7C,EAAmDC,IAAnD,EADkB,CAGlB;IACA;;IACA,KAAKE,UAAL,GAAkB,yBAAU,KAAKA,UAAf,CAAlB;IACA,mBAAY,KAAKA,UAAjB,EAA6BT,OAA7B,CAAqC,UAACC,GAAD,EAAS;MAC5C,IAAI,MAAI,CAACQ,UAAL,CAAgBR,GAAhB,EAAqBS,GAAzB,EAA8B;QAC5B,MAAI,CAACD,UAAL,CAAgBR,GAAhB,EAAqBS,GAArB,GAA2B,MAAI,CAACD,UAAL,CAAgBR,GAAhB,EAAqBS,GAArB,CAAyBC,IAAzB,CAA8B,MAA9B,CAA3B;MACD;IACF,CAJD,EANkB,CAWlB;IAEA;;IACA,KAAKC,EAAL,CAAQ,QAAR,EAAkB,UAACC,KAAD,EAAQf,OAAR,EAAoB;MACpC,IAAI,MAAI,CAACR,MAAT,EAAiB;QACf,MAAI,CAACA,MAAL,CAAYwB,OAAZ,kBAA8B,MAAI,CAAC5B,YAAL,GAAoBC,WAApB,EAA9B,GAAmE,MAAI,CAACG,MAAxE,EAAgF,MAAhF,EAAsFQ,OAAtF;MACD;IACF,CAJD;EAKD,CAvIiC;;EAyIlC;AACF;AACA;AACA;AACA;AACA;AACA;EACEiB,OAhJkC,mBAgJ1BC,KAhJ0B,EAgJnB;IACb,OAAOC,aAAA,CAAKF,OAAL,CAAa,oBAAK,KAAKG,SAAL,CAAe;MACtCC,KAAK,EAAE,IAD+B;MAEtC1B,OAAO,EAAE,IAF6B;MAGtCjB,OAAO,EAAE;IAH6B,CAAf,CAAL,EAIhB,gBAJgB,EAIE,kBAJF,EAIsB,QAJtB,EAIgC,QAJhC,EAI0C,OAJ1C,EAImD,QAJnD,CAAb,EAI2E;MAACwC,KAAK,EAALA;IAAD,CAJ3E,CAAP;EAKD,CAtJiC;EAwJlCI,OAxJkC,qBAwJjB;IAAA;;IACf,OAAO,oBAAKpC,KAAL,EAAWoC,OAAX,8BAAP;EACD,CA1JiC;EA4JlCC,MA5JkC,oBA4JlB;IAAA;;IACd,OAAO,qBAAKrC,KAAL,EAAWqC,MAAX,+BAAP;EACD,CA9JiC;EAgKlCC,IAhKkC,gBAgK7BC,SAhK6B,EAgKT;IAAA;;IAAA,mCAANC,IAAM;MAANA,IAAM;IAAA;;IACvB,IAAIA,IAAI,IAAIA,IAAI,CAACC,MAAL,GAAc,CAA1B,EAA6B;MAC3B,MAAM,IAAIjC,KAAJ,CAAU,oEAAV,CAAN;IACD;;IAED,OAAO,qBAAY,UAACkC,OAAD,EAAa;MAC9B,MAAI,CAACC,IAAL,CAAUJ,SAAV,EAAqB;QAAA,mCAAIhB,IAAJ;UAAIA,IAAJ;QAAA;;QAAA,OAAamB,OAAO,CAACnB,IAAD,CAApB;MAAA,CAArB;IACD,CAFM,CAAP;EAGD,CAxKiC;;EA0KlC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEqB,oBAlLkC,gCAkLb3B,GAlLa,EAkLR4B,KAlLQ,EAkLD/B,OAlLC,EAkLQ;IACxC,IAAIgC,KAAJ;;IAEA,IAAI,wBAAS7B,GAAT,KAAiBA,GAAG,KAAK,IAA7B,EAAmC;MACjC6B,KAAK,GAAG7B,GAAR;MACAH,OAAO,GAAG+B,KAAV;IACD,CAHD,MAIK;MACHC,KAAK,GAAG,EAAR;MACAA,KAAK,CAAC7B,GAAD,CAAL,GAAa4B,KAAb;IACD;;IAED/B,OAAO,GAAGA,OAAO,IAAI,EAArB;IAEA,OAAO,CAACgC,KAAD,EAAQhC,OAAR,CAAP;EACD;AAjMiC,CAAhB,CAApB;;eAoMezB,W"}
1
+ {"version":3,"names":["WebexPlugin","AmpState","extend","derived","boundedStorage","deps","fn","makeWebexPluginStore","unboundedStorage","config","cache","webex","namespace","getNamespace","toLowerCase","logger","console","parent","collection","Error","session","type","ready","default","clear","options","attributes","forEach","key","unset","_children","_collections","reset","initialize","args","prototype","_dataTypes","set","bind","on","model","trigger","inspect","depth","util","serialize","props","request","upload","when","eventName","rest","length","resolve","once","_filterSetParameters","value","attrs"],"sources":["webex-plugin.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport AmpState from 'ampersand-state';\nimport {cloneDeep, isObject, omit} from 'lodash';\n\nimport {makeWebexPluginStore} from './storage';\n\n/**\n * @class\n */\nconst WebexPlugin = AmpState.extend({\n derived: {\n boundedStorage: {\n deps: [],\n fn() {\n return makeWebexPluginStore('bounded', this);\n },\n },\n unboundedStorage: {\n deps: [],\n fn() {\n return makeWebexPluginStore('unbounded', this);\n },\n },\n config: {\n // figure out why caching config breaks the refresh integration test\n // but not the refresh automation test.\n cache: false,\n deps: ['webex', 'webex.config'],\n fn() {\n if (this.webex && this.webex.config) {\n const namespace = this.getNamespace();\n\n if (namespace) {\n return this.webex.config[namespace.toLowerCase()];\n }\n\n return this.webex.config;\n }\n\n return {};\n },\n },\n\n logger: {\n deps: ['webex', 'webex.logger'],\n fn() {\n return this.webex.logger || console;\n },\n },\n\n webex: {\n deps: ['parent'],\n fn() {\n if (!this.parent && !this.collection) {\n throw new Error(\n 'Cannot determine `this.webex` without `this.parent` or `this.collection`. Please initialize `this` via `children` or `collection` or set `this.parent` manually'\n );\n }\n\n /* eslint consistent-this: [0] */\n let parent = this;\n\n while (parent.parent || parent.collection) {\n parent = parent.parent || parent.collection;\n }\n\n return parent;\n },\n },\n },\n\n session: {\n parent: {\n type: 'any',\n },\n /**\n * Indicates this plugin is ready to be used. Defaults to true but can be\n * overridden by plugins as appropriate. Used by {@link WebexCore#read}\n * @instance\n * @memberof WebexPlugin\n * @type {boolean}\n */\n ready: {\n default: true,\n type: 'boolean',\n },\n },\n\n /**\n * Overrides AmpersandState#clear to make sure we never unset `parent` and\n * recursively visits children/collections.\n * @instance\n * @memberof WebexPlugin\n * @param {Object} options\n * @returns {WebexPlugin}\n */\n clear(options) {\n Object.keys(this.attributes).forEach((key) => {\n if (key !== 'parent') {\n this.unset(key, options);\n }\n });\n\n Object.keys(this._children).forEach((key) => {\n this[key].clear();\n });\n\n Object.keys(this._collections).forEach((key) => {\n this[key].reset();\n });\n\n return this;\n },\n\n /**\n * Initializer\n * @private\n * @param {Object} attrs\n * @param {Object} options\n * @returns {undefined}\n */\n initialize(...args) {\n Reflect.apply(AmpState.prototype.initialize, this, args);\n\n // HACK to deal with the fact that AmpersandState#dataTypes#set is a pure\n // function.\n this._dataTypes = cloneDeep(this._dataTypes);\n Object.keys(this._dataTypes).forEach((key) => {\n if (this._dataTypes[key].set) {\n this._dataTypes[key].set = this._dataTypes[key].set.bind(this);\n }\n });\n // END HACK\n\n // Propagate change:[attribute] events from children\n this.on('change', (model, options) => {\n if (this.parent) {\n this.parent.trigger(\n `change:${this.getNamespace().toLowerCase()}`,\n this.parent,\n this,\n options\n );\n }\n });\n },\n\n /**\n * @instance\n * @memberof WebexPlugin\n * @param {number} depth\n * @private\n * @returns {Object}\n */\n inspect(depth) {\n return util.inspect(\n omit(\n this.serialize({\n props: true,\n session: true,\n derived: true,\n }),\n 'boundedStorage',\n 'unboundedStorage',\n 'config',\n 'logger',\n 'webex',\n 'parent'\n ),\n {depth}\n );\n },\n\n request(...args) {\n return this.webex.request(...args);\n },\n\n upload(...args) {\n return this.webex.upload(...args);\n },\n\n when(eventName, ...rest) {\n if (rest && rest.length > 0) {\n throw new Error('#when() does not accept a callback, you must attach to its promise');\n }\n\n return new Promise((resolve) => {\n this.once(eventName, (...args) => resolve(args));\n });\n },\n\n /**\n * Helper function for dealing with both forms of {@link AmpersandState#set()}\n * @param {string} key\n * @param {mixed} value\n * @param {Object} options\n * @private\n * @returns {Array<Object, Object>}\n */\n _filterSetParameters(key, value, options) {\n let attrs;\n\n if (isObject(key) || key === null) {\n attrs = key;\n options = value;\n } else {\n attrs = {};\n attrs[key] = value;\n }\n\n options = options || {};\n\n return [attrs, options];\n },\n});\n\nexport default WebexPlugin;\n"],"mappings":"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"}
@@ -1,22 +1,17 @@
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 _webexPlugin = _interopRequireDefault(require("../lib/webex-plugin"));
14
-
15
10
  var _webexCore = require("../webex-core");
16
-
17
11
  /*!
18
12
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
19
13
  */
14
+
20
15
  var precedence = {
21
16
  error: ['log'],
22
17
  warn: ['error', 'log'],
@@ -24,6 +19,7 @@ var precedence = {
24
19
  debug: ['info', 'log'],
25
20
  trace: ['debug', 'info', 'log']
26
21
  };
22
+
27
23
  /**
28
24
  * Assigns the specified console method to Logger; uses `precedence` to fallback
29
25
  * to other console methods if the current environment doesn't provide the
@@ -31,37 +27,28 @@ var precedence = {
31
27
  * @param {string} level
32
28
  * @returns {Function}
33
29
  */
34
-
35
30
  function wrapConsoleMethod(level) {
36
31
  /* eslint no-console: [0] */
37
32
  var impls = precedence[level];
38
-
39
33
  if (impls) {
40
34
  impls = impls.slice();
41
-
42
35
  while (!console[level]) {
43
36
  level = impls.pop();
44
37
  }
45
38
  }
46
-
47
39
  return function wrappedConsoleMethod() {
48
40
  var _console;
49
-
50
41
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
51
42
  args[_key] = arguments[_key];
52
43
  }
53
-
54
44
  /* eslint no-invalid-this: [0] */
55
-
56
45
  /* istanbul ignore if */
57
46
  if (process.env.NODE_ENV === 'test' && this.webex && this.webex.internal.device && this.webex.internal.device.url) {
58
47
  args.unshift(this.webex.internal.device.url.slice(-3));
59
48
  }
60
-
61
49
  (_console = console)[level].apply(_console, args);
62
50
  };
63
51
  }
64
-
65
52
  var Logger = _webexPlugin.default.extend({
66
53
  namespace: 'Logger',
67
54
  error: wrapConsoleMethod('error'),
@@ -70,9 +57,8 @@ var Logger = _webexPlugin.default.extend({
70
57
  info: wrapConsoleMethod('info'),
71
58
  debug: wrapConsoleMethod('debug'),
72
59
  trace: wrapConsoleMethod('trace'),
73
- version: "3.0.0-beta.2"
60
+ version: "3.0.0-beta.21"
74
61
  });
75
-
76
62
  (0, _webexCore.registerPlugin)('logger', Logger);
77
63
  var _default = Logger;
78
64
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["precedence","error","warn","info","debug","trace","wrapConsoleMethod","level","impls","slice","console","pop","wrappedConsoleMethod","args","process","env","NODE_ENV","webex","internal","device","url","unshift","Logger","WebexPlugin","extend","namespace","log","registerPlugin"],"sources":["logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport WebexPlugin from '../lib/webex-plugin';\nimport {registerPlugin} from '../webex-core';\n\nconst precedence = {\n error: ['log'],\n warn: ['error', 'log'],\n info: ['log'],\n debug: ['info', 'log'],\n trace: ['debug', 'info', 'log']\n};\n\n/**\n * Assigns the specified console method to Logger; uses `precedence` to fallback\n * to other console methods if the current environment doesn't provide the\n * specified level.\n * @param {string} level\n * @returns {Function}\n */\nfunction wrapConsoleMethod(level) {\n /* eslint no-console: [0] */\n let impls = precedence[level];\n\n if (impls) {\n impls = impls.slice();\n while (!console[level]) {\n level = impls.pop();\n }\n }\n\n return function wrappedConsoleMethod(...args) {\n /* eslint no-invalid-this: [0] */\n /* istanbul ignore if */\n if (process.env.NODE_ENV === 'test' && this.webex && this.webex.internal.device && this.webex.internal.device.url) {\n args.unshift(this.webex.internal.device.url.slice(-3));\n }\n console[level](...args);\n };\n}\n\nconst Logger = WebexPlugin.extend({\n namespace: 'Logger',\n error: wrapConsoleMethod('error'),\n warn: wrapConsoleMethod('warn'),\n log: wrapConsoleMethod('log'),\n info: wrapConsoleMethod('info'),\n debug: wrapConsoleMethod('debug'),\n trace: wrapConsoleMethod('trace')\n});\n\nregisterPlugin('logger', Logger);\n\nexport default Logger;\n"],"mappings":";;;;;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,IAAMA,UAAU,GAAG;EACjBC,KAAK,EAAE,CAAC,KAAD,CADU;EAEjBC,IAAI,EAAE,CAAC,OAAD,EAAU,KAAV,CAFW;EAGjBC,IAAI,EAAE,CAAC,KAAD,CAHW;EAIjBC,KAAK,EAAE,CAAC,MAAD,EAAS,KAAT,CAJU;EAKjBC,KAAK,EAAE,CAAC,OAAD,EAAU,MAAV,EAAkB,KAAlB;AALU,CAAnB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2BC,KAA3B,EAAkC;EAChC;EACA,IAAIC,KAAK,GAAGR,UAAU,CAACO,KAAD,CAAtB;;EAEA,IAAIC,KAAJ,EAAW;IACTA,KAAK,GAAGA,KAAK,CAACC,KAAN,EAAR;;IACA,OAAO,CAACC,OAAO,CAACH,KAAD,CAAf,EAAwB;MACtBA,KAAK,GAAGC,KAAK,CAACG,GAAN,EAAR;IACD;EACF;;EAED,OAAO,SAASC,oBAAT,GAAuC;IAAA;;IAAA,kCAANC,IAAM;MAANA,IAAM;IAAA;;IAC5C;;IACA;IACA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAAzB,IAAmC,KAAKC,KAAxC,IAAiD,KAAKA,KAAL,CAAWC,QAAX,CAAoBC,MAArE,IAA+E,KAAKF,KAAL,CAAWC,QAAX,CAAoBC,MAApB,CAA2BC,GAA9G,EAAmH;MACjHP,IAAI,CAACQ,OAAL,CAAa,KAAKJ,KAAL,CAAWC,QAAX,CAAoBC,MAApB,CAA2BC,GAA3B,CAA+BX,KAA/B,CAAqC,CAAC,CAAtC,CAAb;IACD;;IACD,YAAAC,OAAO,EAACH,KAAD,CAAP,iBAAkBM,IAAlB;EACD,CAPD;AAQD;;AAED,IAAMS,MAAM,GAAGC,oBAAA,CAAYC,MAAZ,CAAmB;EAChCC,SAAS,EAAE,QADqB;EAEhCxB,KAAK,EAAEK,iBAAiB,CAAC,OAAD,CAFQ;EAGhCJ,IAAI,EAAEI,iBAAiB,CAAC,MAAD,CAHS;EAIhCoB,GAAG,EAAEpB,iBAAiB,CAAC,KAAD,CAJU;EAKhCH,IAAI,EAAEG,iBAAiB,CAAC,MAAD,CALS;EAMhCF,KAAK,EAAEE,iBAAiB,CAAC,OAAD,CANQ;EAOhCD,KAAK,EAAEC,iBAAiB,CAAC,OAAD,CAPQ;EAAA;AAAA,CAAnB,CAAf;;AAUA,IAAAqB,yBAAA,EAAe,QAAf,EAAyBL,MAAzB;eAEeA,M"}
1
+ {"version":3,"names":["precedence","error","warn","info","debug","trace","wrapConsoleMethod","level","impls","slice","console","pop","wrappedConsoleMethod","args","process","env","NODE_ENV","webex","internal","device","url","unshift","Logger","WebexPlugin","extend","namespace","log","registerPlugin"],"sources":["logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport WebexPlugin from '../lib/webex-plugin';\nimport {registerPlugin} from '../webex-core';\n\nconst precedence = {\n error: ['log'],\n warn: ['error', 'log'],\n info: ['log'],\n debug: ['info', 'log'],\n trace: ['debug', 'info', 'log'],\n};\n\n/**\n * Assigns the specified console method to Logger; uses `precedence` to fallback\n * to other console methods if the current environment doesn't provide the\n * specified level.\n * @param {string} level\n * @returns {Function}\n */\nfunction wrapConsoleMethod(level) {\n /* eslint no-console: [0] */\n let impls = precedence[level];\n\n if (impls) {\n impls = impls.slice();\n while (!console[level]) {\n level = impls.pop();\n }\n }\n\n return function wrappedConsoleMethod(...args) {\n /* eslint no-invalid-this: [0] */\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV === 'test' &&\n this.webex &&\n this.webex.internal.device &&\n this.webex.internal.device.url\n ) {\n args.unshift(this.webex.internal.device.url.slice(-3));\n }\n console[level](...args);\n };\n}\n\nconst Logger = WebexPlugin.extend({\n namespace: 'Logger',\n error: wrapConsoleMethod('error'),\n warn: wrapConsoleMethod('warn'),\n log: wrapConsoleMethod('log'),\n info: wrapConsoleMethod('info'),\n debug: wrapConsoleMethod('debug'),\n trace: wrapConsoleMethod('trace'),\n});\n\nregisterPlugin('logger', Logger);\n\nexport default Logger;\n"],"mappings":";;;;;;;;AAGA;AACA;AAJA;AACA;AACA;;AAIA,IAAMA,UAAU,GAAG;EACjBC,KAAK,EAAE,CAAC,KAAK,CAAC;EACdC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;EACtBC,IAAI,EAAE,CAAC,KAAK,CAAC;EACbC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;EACtBC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK;AAChC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAiB,CAACC,KAAK,EAAE;EAChC;EACA,IAAIC,KAAK,GAAGR,UAAU,CAACO,KAAK,CAAC;EAE7B,IAAIC,KAAK,EAAE;IACTA,KAAK,GAAGA,KAAK,CAACC,KAAK,EAAE;IACrB,OAAO,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACtBA,KAAK,GAAGC,KAAK,CAACG,GAAG,EAAE;IACrB;EACF;EAEA,OAAO,SAASC,oBAAoB,GAAU;IAAA;IAAA,kCAANC,IAAI;MAAJA,IAAI;IAAA;IAC1C;IACA;IACA,IACEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,IAC/B,IAAI,CAACC,KAAK,IACV,IAAI,CAACA,KAAK,CAACC,QAAQ,CAACC,MAAM,IAC1B,IAAI,CAACF,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,GAAG,EAC9B;MACAP,IAAI,CAACQ,OAAO,CAAC,IAAI,CAACJ,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,GAAG,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD;IACA,YAAAC,OAAO,EAACH,KAAK,CAAC,iBAAIM,IAAI,CAAC;EACzB,CAAC;AACH;AAEA,IAAMS,MAAM,GAAGC,oBAAW,CAACC,MAAM,CAAC;EAChCC,SAAS,EAAE,QAAQ;EACnBxB,KAAK,EAAEK,iBAAiB,CAAC,OAAO,CAAC;EACjCJ,IAAI,EAAEI,iBAAiB,CAAC,MAAM,CAAC;EAC/BoB,GAAG,EAAEpB,iBAAiB,CAAC,KAAK,CAAC;EAC7BH,IAAI,EAAEG,iBAAiB,CAAC,MAAM,CAAC;EAC/BF,KAAK,EAAEE,iBAAiB,CAAC,OAAO,CAAC;EACjCD,KAAK,EAAEC,iBAAiB,CAAC,OAAO,CAAC;EAAA;AACnC,CAAC,CAAC;AAEF,IAAAqB,yBAAc,EAAC,QAAQ,EAAEL,MAAM,CAAC;AAAC,eAElBA,MAAM;AAAA"}