@data-client/core 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c → 0.15.0

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 (53) hide show
  1. package/CHANGELOG.md +26 -9
  2. package/dist/index.umd.min.js +1 -1
  3. package/legacy/manager/SubscriptionManager.js +1 -1
  4. package/legacy/middlewareTypes.js +1 -1
  5. package/legacy/mock/MockController.js +124 -0
  6. package/legacy/mock/collapseFixture.js +19 -0
  7. package/legacy/mock/createFixtureMap.js +23 -0
  8. package/legacy/mock/fixtureTypes.js +2 -0
  9. package/legacy/mock/index.js +5 -0
  10. package/legacy/mock/mockState.js +44 -0
  11. package/legacy/mock/mockTypes.js +2 -0
  12. package/lib/manager/SubscriptionManager.d.ts.map +1 -1
  13. package/lib/manager/SubscriptionManager.js +1 -1
  14. package/lib/middlewareTypes.d.ts.map +1 -1
  15. package/lib/middlewareTypes.js +1 -1
  16. package/lib/mock/MockController.d.ts +4 -0
  17. package/lib/mock/MockController.d.ts.map +1 -0
  18. package/lib/mock/MockController.js +125 -0
  19. package/lib/mock/collapseFixture.d.ts +6 -0
  20. package/lib/mock/collapseFixture.d.ts.map +1 -0
  21. package/lib/mock/collapseFixture.js +19 -0
  22. package/lib/mock/createFixtureMap.d.ts +3 -0
  23. package/lib/mock/createFixtureMap.d.ts.map +1 -0
  24. package/lib/mock/createFixtureMap.js +23 -0
  25. package/lib/mock/fixtureTypes.d.ts +99 -0
  26. package/lib/mock/fixtureTypes.d.ts.map +1 -0
  27. package/lib/mock/fixtureTypes.js +2 -0
  28. package/lib/mock/index.d.ts +7 -0
  29. package/lib/mock/index.d.ts.map +1 -0
  30. package/lib/mock/index.js +5 -0
  31. package/lib/mock/mockState.d.ts +4 -0
  32. package/lib/mock/mockState.d.ts.map +1 -0
  33. package/lib/mock/mockState.js +44 -0
  34. package/lib/mock/mockTypes.d.ts +6 -0
  35. package/lib/mock/mockTypes.d.ts.map +1 -0
  36. package/lib/mock/mockTypes.js +2 -0
  37. package/package.json +14 -4
  38. package/src/manager/SubscriptionManager.ts +1 -2
  39. package/src/middlewareTypes.ts +3 -2
  40. package/src/mock/MockController.ts +146 -0
  41. package/src/mock/collapseFixture.ts +21 -0
  42. package/src/mock/createFixtureMap.ts +26 -0
  43. package/src/mock/fixtureTypes.ts +121 -0
  44. package/src/mock/index.ts +16 -0
  45. package/src/mock/mockState.ts +56 -0
  46. package/src/mock/mockTypes.ts +6 -0
  47. package/ts3.4/mock/MockController.d.ts +4 -0
  48. package/ts3.4/mock/collapseFixture.d.ts +6 -0
  49. package/ts3.4/mock/createFixtureMap.d.ts +6 -0
  50. package/ts3.4/mock/fixtureTypes.d.ts +99 -0
  51. package/ts3.4/mock/index.d.ts +7 -0
  52. package/ts3.4/mock/mockState.d.ts +4 -0
  53. package/ts3.4/mock/mockTypes.d.ts +6 -0
package/CHANGELOG.md CHANGED
@@ -1,12 +1,6 @@
1
1
  # @data-client/core
2
2
 
3
- ## 0.15.0-beta-20251022142546-a457d1596871fb28f1a91f2531cc259db4d55a9c
4
-
5
- ### Patch Changes
6
-
7
- - [`a457d15`](https://github.com/reactive/data-client/commit/a457d1596871fb28f1a91f2531cc259db4d55a9c) Thanks [@ntucker](https://github.com/ntucker)! - Republish to fix dependency refernces
8
-
9
- ## 0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b
3
+ ## 0.15.0
10
4
 
11
5
  ### Minor Changes
12
6
 
@@ -107,6 +101,29 @@
107
101
 
108
102
  ### Patch Changes
109
103
 
104
+ - [`a4092a1`](https://github.com/reactive/data-client/commit/a4092a14999bfe3aa5cf613bb009264ec723ff99) Thanks [@ntucker](https://github.com/ntucker)! - Add mockInitialState to /mock
105
+
106
+ ```ts
107
+ import { mockInitialState } from '@data-client/react/mock';
108
+ import { ArticleResource } from './resources';
109
+
110
+ const state = mockInitialState([
111
+ {
112
+ endpoint: ArticleResource.get,
113
+ args: [{ id: 5 }],
114
+ response: { id: 5, title: 'Hello', content: 'World' },
115
+ },
116
+ ]);
117
+ ```
118
+
119
+ - [#3622](https://github.com/reactive/data-client/pull/3622) [`ad3964d`](https://github.com/reactive/data-client/commit/ad3964d65d245c459809f64afe17ebdf5fda5042) Thanks [@ntucker](https://github.com/ntucker)! - Add @data-client/core/mock
120
+
121
+ New exports:
122
+ - `MockController` - Controller wrapper for mocking endpoints
123
+ - `collapseFixture` - Resolves fixture responses (handles function responses)
124
+ - `createFixtureMap` - Separates fixtures into static map and interceptors
125
+ - Types: `MockProps`, `Fixture`, `SuccessFixture`, `ErrorFixture`, `Interceptor`, `ResponseInterceptor`, `FetchInterceptor`, `FixtureEndpoint`, `SuccessFixtureEndpoint`, `ErrorFixtureEndpoint`
126
+
110
127
  - [#3449](https://github.com/reactive/data-client/pull/3449) [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7) Thanks [@ntucker](https://github.com/ntucker)! - Fix controller.get and controller.getQueryMeta 'state' argument types
111
128
 
112
129
  - [#3558](https://github.com/reactive/data-client/pull/3558) [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f) Thanks [@ntucker](https://github.com/ntucker)! - Normalize delegate.invalidate() first argument only has `key` param.
@@ -130,8 +147,8 @@
130
147
  - [#3468](https://github.com/reactive/data-client/pull/3468) [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895) Thanks [@ntucker](https://github.com/ntucker)! - Improve performance of get/denormalize for small responses
131
148
  - 10-20% performance improvement due to removing immutablejs check for every call
132
149
 
133
- - Updated dependencies [[`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`246cde6`](https://github.com/reactive/data-client/commit/246cde6dbeca59eafd10e59d8cd05a6f232fb219), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`66e1906`](https://github.com/reactive/data-client/commit/66e19064d21225c70639f3b4799e54c259ce6905), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`25b153a`](https://github.com/reactive/data-client/commit/25b153a9d80db1bcd17ab5558dfa13b333f112b8), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7)]:
134
- - @data-client/normalizr@0.15.0-beta-20251006024044-92bd01c4976f2921993b8c9f1e4dbb87af87ba7b
150
+ - Updated dependencies [[`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`246cde6`](https://github.com/reactive/data-client/commit/246cde6dbeca59eafd10e59d8cd05a6f232fb219), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`269b45e`](https://github.com/reactive/data-client/commit/269b45e835251cff847776078e51c0a593b62715), [`939a4b0`](https://github.com/reactive/data-client/commit/939a4b01127ea1df9b4653931593487e4b0c23a2), [`53de2ee`](https://github.com/reactive/data-client/commit/53de2eefb891a4783e3f1c7724dc25dc9e6a8e1f), [`fcb7d7d`](https://github.com/reactive/data-client/commit/fcb7d7db8061c2a7e12632071ecb9c6ddd8d154f), [`66e1906`](https://github.com/reactive/data-client/commit/66e19064d21225c70639f3b4799e54c259ce6905), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`4939456`](https://github.com/reactive/data-client/commit/4939456598c213ee81c1abef476a1aaccd19f82d), [`25b153a`](https://github.com/reactive/data-client/commit/25b153a9d80db1bcd17ab5558dfa13b333f112b8), [`4dde1d6`](https://github.com/reactive/data-client/commit/4dde1d616e38d59b645573b12bbaba2f9cac7895), [`1f491a9`](https://github.com/reactive/data-client/commit/1f491a9e0082dca64ad042aaf7d377e17f459ae7)]:
151
+ - @data-client/normalizr@0.15.0
135
152
 
136
153
  ## 0.14.24
137
154
 
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).RDC=e.RDC||{},e.RDC.Core={}))}(this,(function(e){"use strict";class t{constructor(){this.localCache=new Map}getEntity(e,t,n,i){const s=t.key;this.localCache.has(s)||this.localCache.set(s,new Map);const r=this.localCache.get(s);return r.get(e)||i(r),r.get(e)}getResults(e,t,n){return{data:n(),paths:[]}}}const n=Symbol("INVALID"),i={};function s(e){return null!==e&&void 0!==e.pk}const r=e=>e[0],o=e=>void 0!==e&&"symbol"!=typeof e,a=(e,t,n,i,s,o)=>{e=r(e);const a=(e=>Array.isArray(e)?e:Object.keys(e).map((t=>e[t])))(t);return a.map((t=>o(e,t,n,i,s)))},c=(e,t,n,i)=>(e=r(e),t.map?t.map((t=>i(e,t))).filter(o):t);function h(){}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},l.apply(null,arguments)}const u=(e,t,n,i,s,r)=>{const o=l({},t);return Object.keys(e).forEach((n=>{const i=e[n],a=r(i,t[n],t,n,s);void 0===a?delete o[n]:o[n]=a})),o},d=(e,t,i,s)=>{if(function(e){return!("function"!=typeof e.hasOwnProperty||!(Object.hasOwnProperty.call(e,"__ownerID")||e._map&&Object.hasOwnProperty.call(e._map,"__ownerID")))}(t))return function(e,t,i,s){let r=!1;const o=Object.keys(e).reduce(((t,n)=>{const i=`${n}`,o=s(e[i],t.get(i));return"symbol"==typeof o&&(r=!0),t.has(i)?t.set(i,o):t}),t);return r?n:o}(e,t,0,s);const r=l({},t);let o=!1;return Object.keys(e).forEach((t=>{const n=s(e[t],r[t]);void 0!==r[t]&&(r[t]=n),"symbol"==typeof n&&(o=!0)})),o?n:r};function p(e,t,n,i){const s={};for(const r of Object.keys(e))s[r]=n(e[r],t,i);return s}const f=(e,t,n,s)=>function(r,o){const a="object"!=typeof o,c=a?e({key:r.key,pk:o}):o;if("symbol"==typeof c)return r.denormalize(c,n,s);if(void 0===c&&a&&""!==o&&"undefined"!==o)return t.getEntity(o,r,i,(e=>{e.set(o,void 0)}));if("object"!=typeof c||null===c)return c;let h=a?o:r.pk(c,void 0,void 0,n);return void 0===h||""===h||"undefined"===h?function(e){const t=new Map;return e(t),t.get("")}((e=>y(r,c,"",e,n,s))):("string"!=typeof h&&(h=`${h}`),t.getEntity(h,r,c,(e=>y(r,c,h,e,n,s))))};function y(e,t,i,s,r,o){const a=e.createIfValid(t);void 0===a?s.set(i,n):(s.set(i,a),s.set(i,e.denormalize(a,r,o)))}const g=(e,t,n)=>{const i=f(e,t,n,r);function r(e,t){if(!e)return t;if(null==t)return t;if("function"==typeof e.denormalize)return s(e)?i(e,t):e.denormalize(t,n,r);if("function"==typeof e)return e(t);if("object"==typeof e){return(Array.isArray(e)?c:d)(e,t,n,r)}return t}return(e,n)=>{const i=Object(n)===n&&Object(e)===e;return t.getResults(n,i,(()=>r(e,n)))}};class m{constructor({entities:e,indexes:t}){this.entities=e,this.indexes=t}tracked(e){const t=this,i=[{path:[""],entity:e}];return[{INVALID:n,getIndex(...e){const n=t.getIndex(...e);return i.push({path:e,entity:n}),t.getIndexEnd(n,e[2])},getEntity(...e){const n=t.getEntity(...e);return i.push({path:e,entity:n}),n},getEntities(e){const n=t.getEntitiesObject(e);return i.push({path:[e],entity:n}),t.getEntities(e)}},i]}}class v extends m{constructor(e){super(e)}getEntitiesObject(e){return this.entities[e]}getEntities(e){const t=this.entities[e];if(void 0!==t)return{keys:()=>Object.keys(t),entries:()=>Object.entries(t)}}getEntity(e,t){var n;return null==(n=this.entities[e])?void 0:n[t]}getIndex(e,t){var n;return null==(n=this.indexes[e])?void 0:n[t]}getIndexEnd(e,t){return null==e?void 0:e[t]}}const E={QueryDelegate:v,getEntities:e=>({key:t,pk:n})=>{var i;return null==(i=e[t])?void 0:i[n]}};class w{constructor(){this.next=new WeakMap,this.nextPath=void 0}get(e,t){let n=this.next.get(e);if(!n)return x;for(;n.nextPath;){var s;const e=null!=(s=t(n.nextPath))?s:i;if(n=n.next.get(e),!n)return x}return[n.value,n.journey]}set(e,t){if(e.length<1)throw new k;let n=this;for(const{path:t,entity:s}of e){let e=n.next.get(s);e||(e=new b,n.next.set(null!=s?s:i,e)),n.nextPath=t,n=e}n.nextPath=void 0,n.value=t,n.journey=e.map((e=>e.path))}}const x=[void 0,void 0];class b{constructor(){this.next=new WeakMap,this.nextPath=void 0,this.value=void 0,this.journey=[]}}class k extends Error{constructor(...e){super(...e),this.message="Keys must include at least one member"}}class I extends v{constructor(e,t){super(e),this.newEntities=new Map,this.newIndexes=new Map,this.entitiesMeta=e.entitiesMeta,this.meta=t,this.checkLoop=function(){const e=new Map;return function(t,n,i){e.has(t)||e.set(t,new Map);const s=e.get(t);s.has(n)||s.set(n,[]);const r=s.get(n);return!!r.some((e=>e===i))||(r.push(i),!1)}}()}getNewEntity(e,t){return this.getNewEntities(e).get(t)}getNewEntities(e){return this.newEntities.has(e)||(this.newEntities.set(e,new Map),this.entities[e]=l({},this.entities[e]),this.entitiesMeta[e]=l({},this.entitiesMeta[e])),this.newEntities.get(e)}getNewIndexes(e){return this.newIndexes.has(e)||(this.newIndexes.set(e,new Map),this.indexes[e]=l({},this.indexes[e])),this.newIndexes.get(e)}mergeEntity(e,t,n){const i=e.key;let s=n,r=this.meta,o=this.getNewEntity(i,t);if(o)s=e.merge(o,n);else if(o=this.getEntity(i,t),o){const a=this.getMeta(i,t);s=e.mergeWithStore(a,r,o,n),r=e.mergeMetaWithStore(a,r,o,n)}this.setEntity(e,t,s,r)}setEntity(e,t,i,s=this.meta){const r=e.key,o=this.getNewEntities(r),a=!o.has(t);o.set(t,i),e.indexes&&function(e,t,i,s,r,o){for(const a of t){i.has(a)||i.set(a,s[a]={});const t=i.get(a);o[e]&&delete t[o[e][a]],o&&o[e]&&o[e][a]!==r[a]&&(t[o[e][a]]=n),a in r&&(t[r[a]]=e)}}(t,e.indexes,this.getNewIndexes(r),this.indexes[r],i,this.entities[r]),this._setEntity(r,t,i),a&&this._setMeta(r,t,s)}invalidate({key:e},t){this.setEntity({key:e},t,n)}_setEntity(e,t,n){this.entities[e][t]=n}_setMeta(e,t,n){this.entitiesMeta[e][t]=n}getMeta(e,t){return this.entitiesMeta[e][t]}}const A=(e,t,n=[],{entities:i,indexes:s,entitiesMeta:r}=L,o={fetchedAt:0,date:Date.now(),expiresAt:1/0})=>{if(null==e)return{result:t,entities:i,indexes:s,entitiesMeta:r};const c=function(e){return["object","function"].includes(typeof e)?"object":typeof e}(e);if(null===t||typeof t!==c&&(void 0===e.key||void 0!==e.pk||"string"!=typeof t))throw new Error(`Unexpected input given to normalize. Expected type to be "${c}", found "${null===t?"null":typeof t}".`);const h={result:"",entities:l({},i),indexes:l({},s),entitiesMeta:l({},r)},d=(e=>{const t=(n,i,s,r,o)=>i&&n?n.normalize&&"function"==typeof n.normalize?"object"!=typeof i?n.pk?`${i}`:i:n.normalize(i,s,r,o,t,e):"object"!=typeof i||"object"!=typeof n?i:(Array.isArray(n)?a:u)(n,i,s,r,o,t):i;return t})(new I(h,o));return h.result=d(e,t,t,void 0,n),h};const L={entities:{},indexes:{},entitiesMeta:{}};class S{constructor(e,t,n){this.dependencies=[],this.cycleCache=new Map,this.cycleIndex=-1,this.localCache=new Map,this._getEntity=e,this._getCache=t,this._resultCache=n}getEntity(e,t,n,i){const s=t.key,{localCacheKey:r,cycleCacheKey:o}=this.getCacheKey(s);if(r.get(e))o.has(e)?this.cycleIndex=o.get(e):this.dependencies.push({path:{key:s,pk:e},entity:n});else{const a=this._getCache(e,t),[c,h]=a.get(n,this._getEntity);if(h)return r.set(e,c.value),this.dependencies.push(...c.dependencies),c.value;{const t=this.dependencies.length;o.set(e,t),this.dependencies.push({path:{key:s,pk:e},entity:n}),i(r),o.delete(e);const c=this.dependencies.slice(-1===this.cycleIndex?t:this.cycleIndex),h={dependencies:c,value:r.get(e)};a.set(c,h),this.cycleIndex===t&&(this.cycleIndex=-1)}}return r.get(e)}getCacheKey(e){this.localCache.has(e)||this.localCache.set(e,new Map),this.cycleCache.has(e)||this.cycleCache.set(e,new Map);return{localCacheKey:this.localCache.get(e),cycleCacheKey:this.cycleCache.get(e)}}getResults(e,t,n){if(!t)return{data:n(),paths:this.paths()};let[i,s]=this._resultCache.get(e,this._getEntity);return void 0===s?(i=n(),s=this.paths(),this.dependencies.unshift({path:{key:"",pk:""},entity:e}),this._resultCache.set(this.dependencies,i)):s.shift(),{data:i,paths:s}}paths(){return this.dependencies.map((e=>e.path))}}function M(e){return void 0!==e&&(!(e&&"object"==typeof e&&!Array.isArray(e))||Object.values(e).every(M))}class C{constructor(e=E){var t;this.endpoints=new w,this.queryKeys=new Map,this.policy=e,this._getCache=(t=new Map,(e,n)=>{var i;const s=n.key,r=null!=(i=n.cacheWith)?i:n;t.has(s)||t.set(s,new Map);const o=t.get(s);o.has(e)||o.set(e,new WeakMap);const a=o.get(e);let c=a.get(r);return c||(c=new w,a.set(r,c)),c})}denormalize(e,t,n,i=[]){if(void 0===e)return{data:t,paths:[]};if(void 0===t)return{data:void 0,paths:[]};const s=this.policy.getEntities(n);return g(s,new S(s,this._getCache,this.endpoints),i)(e,t)}query(e,t,n,i=JSON.stringify(t)){const s=this.buildQueryKey(e,t,n,i);return s?this.denormalize(e,s,n.entities,t):{data:void 0,paths:[]}}buildQueryKey(e,t,n,i=JSON.stringify(t)){if("object"!=typeof e&&"function"!=typeof e.queryKey||!e)return e;this.queryKeys.get(i)||this.queryKeys.set(i,new w);const s=this.queryKeys.get(i),r=new this.policy.QueryDelegate(n);let[o,a]=s.get(e,(c=r,e=>c[["","getEntitiesObject","getEntity","getIndex"][e.length]](...e)));var c;if(!a){const[n,i]=r.tracked(e);o=function(e){return function t(n,i){return function(e){return!!e&&"function"==typeof e.queryKey}(n)?n.queryKey(i,t,e):"object"==typeof n&&n?(Array.isArray(n)?h:p)(n,i,t,e):n}}(n)(e,t),s.set(i,o)}return o}}var O={Invalid:1,InvalidIfStale:2,Valid:3};function _(e,t){const n=Date.now();return{fetchedAt:null!=t?t:n,date:n,expiresAt:n+e}}const R="rdc/fetch",P="rdc/set",j="rdc/setresponse",T="rdc/optimistic",q="rdc/reset",D="rdc/subscribe",N="rdc/unsubscribe",K="rdc/invalidate",z="rdc/invalidateall",Q="rdc/expireall",H="rdc/gc",F=R,V=P,B=j,U=T,Y=q,$=D,W=N,X=K,G=z,J=Q,Z=H;var ee=Object.freeze({__proto__:null,EXPIREALL:Q,EXPIREALL_TYPE:J,FETCH:R,FETCH_TYPE:F,GC:H,GC_TYPE:Z,INVALIDATE:K,INVALIDATEALL:z,INVALIDATEALL_TYPE:G,INVALIDATE_TYPE:X,OPTIMISTIC:T,OPTIMISTIC_TYPE:U,RESET:q,RESET_TYPE:Y,SET:P,SET_RESPONSE:j,SET_RESPONSE_TYPE:B,SET_TYPE:V,SUBSCRIBE:D,SUBSCRIBE_TYPE:$,UNSUBSCRIBE:N,UNSUBSCRIBE_TYPE:W});function te(e,t,n){var i;return{type:T,key:e.key(...t),args:t,endpoint:e,meta:_(null!=(i=e.dataExpiryLength)?i:6e4,n)}}class ne extends Error{}function ie(e,t,n){return"AbortError"===n.name?l({},e,{optimistic:se(e,t)}):l({},e,{meta:l({},e.meta,{[t.key]:{date:t.meta.date,fetchedAt:t.meta.fetchedAt,expiresAt:t.meta.expiresAt,error:n,errorPolicy:null==t.endpoint.errorPolicy?void 0:t.endpoint.errorPolicy(n)}}),optimistic:se(e,t)})}function se(e,t){return e.optimistic.filter((e=>e.key!==t.key||(e.type===T?e.meta.fetchedAt!==t.meta.fetchedAt:e.meta.date>t.meta.date)))}const re={entities:{},endpoints:{},indexes:{},meta:{},entitiesMeta:{},optimistic:[],lastReset:0};var oe=Object.freeze({__proto__:null,INVALID:n,MemoCache:C,initialState:re});function ae(e,{args:t}){return{type:D,key:e.key(...t),args:t,endpoint:e}}function ce(e,{args:t}){return{type:N,key:e.key(...t),args:t,endpoint:e}}const he="undefined"!=typeof FormData?e=>e instanceof FormData?Object.fromEntries(e.entries()):e:e=>e;function le(e,{args:t,fetchedAt:n,response:i,error:s=!1}){var r,o;const a=s?null!=(r=e.errorExpiryLength)?r:1e3:null!=(o=e.dataExpiryLength)?o:6e4;return{type:j,key:e.key(...t),response:i,args:t.map(he),endpoint:e,meta:_(a,n),error:s}}function ue(e,{args:t,fetchedAt:n,value:i}){return{type:P,value:i,args:t.map(he),schema:e,meta:_(6e4,n)}}function de(){return{type:q,date:Date.now()}}function pe(e){return{type:z,testKey:e}}function fe(e,{args:t}){return{type:K,key:e.key(...t)}}function ye(e,{args:t}){let n=0,i=0;const s=new Promise(((e,t)=>{[n,i]=[e,t]})),r={fetchedAt:Date.now(),resolve:n,reject:i,promise:s};return{type:R,key:e.key(...t),args:t,endpoint:e,meta:r}}function ge(e){return{type:Q,testKey:e}}var me=Object.freeze({__proto__:null,createExpireAll:ge,createFetch:ye,createInvalidate:fe,createInvalidateAll:pe,createMeta:_,createOptimistic:te,createReset:de,createSet:ue,createSetResponse:le,createSubscription:ae,createUnsubscription:ce});class ve{init(){}cleanup(){}createCountRef(){return()=>()=>{}}}function Ee(e,t){return e.meta[t]}const we=e=>{throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},xe=()=>re;class be{constructor({dispatch:e=we,getState:n=xe,memo:i=new C,gcPolicy:s=new ve}={}){this.fetch=(e,...n)=>{const i=ye(e,{args:n});return this.dispatch(i),e.schema?i.meta.promise.then((i=>function(e,n,i,s=[]){return void 0===e||void 0===n?n:g(E.getEntities(i),new t,s)(e,n).data}(e.schema,i,{},n))):i.meta.promise},this.fetchIfStale=(e,...t)=>{const{data:n,expiresAt:i,expiryStatus:s}=this.getResponseMeta(e,...t,this.getState());return s!==O.Invalid&&Date.now()<=i?n:this.fetch(e,...t)},this.invalidate=(e,...t)=>null!==t[0]?this.dispatch(fe(e,{args:t})):Promise.resolve(),this.invalidateAll=e=>this.dispatch(pe((t=>e.testKey(t)))),this.expireAll=e=>this.dispatch(ge((t=>e.testKey(t)))),this.resetEntireStore=()=>this.dispatch(de()),this.setResponse=(e,...t)=>{const n=t[t.length-1],i=le(e,{args:t.slice(0,t.length-1),response:n});return this.dispatch(i)},this.setError=(e,...t)=>{const n=t[t.length-1],i=le(e,{args:t.slice(0,t.length-1),response:n,error:!0});return this.dispatch(i)},this.resolve=(e,t)=>this.dispatch(le(e,t)),this.subscribe=(e,...t)=>null!==t[0]?this.dispatch(ae(e,{args:t})):Promise.resolve(),this.unsubscribe=(e,...t)=>null!==t[0]?this.dispatch(ce(e,{args:t})):Promise.resolve(),this.snapshot=(e,t)=>new Ie(this,e,t),this._dispatch=e,this.getState=n,this.memo=i,this.gcPolicy=s}set dispatch(e){this._dispatch=e}get dispatch(){return this._dispatch}bindMiddleware({dispatch:e,getState:t}){this._dispatch=e,this.getState=t}set(e,...t){const n=t[t.length-1],i=ue(e,{args:t.slice(0,t.length-1),value:n});return this.dispatch(i)}getError(e,...t){if(null===t[0])return;const n=t[t.length-1],i=t.slice(0,t.length-1),s=e.key(...i),r=Ee(n,s);return void 0===n.endpoints[s]||"soft"!==(null==r?void 0:r.errorPolicy)?null==r?void 0:r.error:void 0}getResponse(e,...t){return this.getResponseMeta(e,...t)}getResponseMeta(e,...t){const n=t[t.length-1],i=t.slice(0,t.length-1).map(he),s=1!==i.length||null!==i[0],r=s?e.key(...i):"",o=s?n.endpoints[r]:void 0,a=e.schema,c=Ee(n,r);let h=null==c?void 0:c.expiresAt;const l=void 0===o&&void 0!==a,u=l?this.memo.buildQueryKey(a,i,n,r):o;if(!s)return{data:u,expiryStatus:O.Valid,expiresAt:1/0,countRef:()=>()=>{}};let d=!1;if(l)d=!M(u);else if(!a||!ke(a))return{data:o,expiryStatus:this.getExpiryStatus(!o,!!e.invalidIfStale,c),expiresAt:h||0,countRef:this.gcPolicy.createCountRef({key:r})};const{data:p,paths:f}=this.memo.denormalize(a,u,n.entities,i);return h||(h=d?1:function(e,t){let n=1/0;for(const{key:s,pk:r}of e){var i;const e=null==(i=t[s])||null==(i=i[r])?void 0:i.expiresAt;e<n&&(n=e)}return n}(f,n.entitiesMeta)),{data:p,expiryStatus:this.getExpiryStatus("symbol"==typeof p,!!e.invalidIfStale||d,c),expiresAt:h,countRef:this.gcPolicy.createCountRef({key:r,paths:f})}}get(e,...t){const n=t[t.length-1],i=t.slice(0,t.length-1).map(he),{data:s}=this.memo.query(e,i,n);return"symbol"==typeof s?void 0:s}getQueryMeta(e,...t){const n=t[t.length-1],i=t.slice(0,t.length-1).map(he),{data:s,paths:r}=this.memo.query(e,i,n);return{data:"symbol"==typeof s?void 0:s,countRef:this.gcPolicy.createCountRef({paths:r})}}getExpiryStatus(e,t,n={}){return n.invalidated||e&&!n.error?O.Invalid:e||t?O.InvalidIfStale:O.Valid}}function ke(e){if(s(e))return!0;if(Array.isArray(e))return 0!==e.length&&ke(e[0]);if(e&&("object"==typeof e||"function"==typeof e)){const t="schema"in e?e.schema:e;return"function"==typeof t?ke(t):Object.values(t).some((e=>ke(e)))}return!1}class Ie{constructor(e,t,n=0){this.state=void 0,this.controller=void 0,this.fetchedAt=void 0,this.abort=Ie.abort,this.state=t,this.controller=e,this.fetchedAt=n}getResponse(e,...t){return this.controller.getResponse(e,...t,this.state)}getResponseMeta(e,...t){return this.controller.getResponseMeta(e,...t,this.state)}getError(e,...t){return this.controller.getError(e,...t,this.state)}get(e,...t){return this.controller.get(e,...t,this.state)}getQueryMeta(e,...t){return this.controller.getQueryMeta(e,...t,this.state)}}Ie.abort=new ne;class Ae extends Error{constructor(){super("Aborted due to RESET"),this.name="ResetError"}}class Le{isOnline(){return void 0===navigator.onLine||navigator.onLine}addOnlineListener(e){addEventListener("online",e)}removeOnlineListener(e){removeEventListener("online",e)}addOfflineListener(e){addEventListener("offline",e)}removeOfflineListener(e){removeEventListener("offline",e)}}class Se{isOnline(){return!0}addOnlineListener(){}removeOnlineListener(){}addOfflineListener(){}removeOfflineListener(){}}let Me;Me="undefined"!=typeof navigator&&"function"==typeof addEventListener?Le:Se;var Ce=Me;let Oe={};class _e{constructor(e,t){this.started=!1,this.actions=[],this.maxBufferLength=100,this.devTools="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__.connect(l({},Oe,e)),null!=e&&e.maxAge&&(this.maxBufferLength=2*e.maxAge),t&&(this.skipLogging=t)}handleAction(e,t){this.started?this.devTools.send(e,t):(this.actions.length>this.maxBufferLength&&(this.actions=this.actions.slice(this.maxBufferLength/2)),this.actions.push([e,t]))}init(e){}cleanup(){}}_e.prototype.middleware=()=>e=>t=>e(t);e.Controller=be,e.DefaultConnectionListener=Ce,e.DevToolsManager=_e,e.ExpiryStatus=O,e.GCPolicy=class{constructor({intervalMS:e=3e5,expiryMultiplier:t=2,expiresAt:n}={}){this.endpointCount=new Map,this.entityCount=new Map,this.endpointsQ=new Set,this.entitiesQ=[],n&&(this.expiresAt=n.bind(this)),this.options={intervalMS:e,expiryMultiplier:t}}init(e){this.controller=e,this.intervalId=setInterval((()=>{this.idleCallback((()=>this.runSweep()),{timeout:1e3})}),this.options.intervalMS)}cleanup(){clearInterval(this.intervalId)}createCountRef({key:e,paths:t=[]}){return()=>{var n;return e&&this.endpointCount.set(e,(null!=(n=this.endpointCount.get(e))?n:0)+1),t.forEach((e=>{var t;const{key:n,pk:i}=e;this.entityCount.has(n)||this.entityCount.set(n,new Map);const s=this.entityCount.get(n);s.set(i,(null!=(t=s.get(i))?t:0)+1)})),()=>{if(e){const t=this.endpointCount.get(e);void 0!==t&&(t<=1?(this.endpointCount.delete(e),this.endpointsQ.add(e)):this.endpointCount.set(e,t-1))}t.forEach((e=>{const{key:t,pk:n}=e;if(!this.entityCount.has(t))return;const i=this.entityCount.get(t),s=i.get(n);void 0!==s&&(s<=1?(i.delete(n),this.entitiesQ.push(e)):i.set(n,s-1))}))}}}expiresAt({fetchedAt:e,expiresAt:t}){return Math.max((t-e)*this.options.expiryMultiplier,12e4)+e}runSweep(){const e=this.controller.getState(),t=[],n=[],i=Date.now(),s=new Set;for(const t of this.endpointsQ){var r;!this.endpointCount.has(t)&&this.expiresAt(null!=(r=e.meta[t])?r:{fetchedAt:0,date:0,expiresAt:0})<i?n.push(t):s.add(t)}this.endpointsQ=s;const o=[];for(const n of this.entitiesQ){var a,c,h;(null==(a=this.entityCount.get(n.key))||!a.has(n.pk))&&this.expiresAt(null!=(c=null==(h=e.entitiesMeta[n.key])?void 0:h[n.pk])?c:{fetchedAt:0,date:0,expiresAt:0})<i?t.push(n):o.push(n)}this.entitiesQ=o,(t.length||n.length)&&this.controller.dispatch({type:H,entities:t,endpoints:n})}idleCallback(e,t){"function"==typeof requestIdleCallback?requestIdleCallback(e,t):e()}},e.ImmortalGCPolicy=ve,e.LogoutManager=class{constructor({handleLogout:e,shouldLogout:t}={}){this.middleware=e=>t=>async n=>{await t(n),n.type===j&&n.error&&this.shouldLogout(n.response)&&this.handleLogout(e)},e&&(this.handleLogout=e),t&&(this.shouldLogout=t)}cleanup(){}shouldLogout(e){return 401===e.status}handleLogout(e){e.resetEntireStore()}},e.NetworkManager=class{constructor({dataExpiryLength:e=6e4,errorExpiryLength:t=1e3}={}){this.fetching=new Map,this.controller=new be,this.middleware=e=>(this.controller=e,t=>n=>{switch(n.type){case R:return this.handleFetch(n),void 0!==n.endpoint.getOptimisticResponse&&n.endpoint.sideEffect?t(n):Promise.resolve();case j:return t(n).then((()=>{if(this.fetching.has(n.key)){var t;const i=null==(t=e.getState().meta[n.key])?void 0:t.error;i?this.handleSet(le(n.endpoint,{args:n.args,response:i,fetchedAt:n.meta.fetchedAt,error:!0})):this.handleSet(n)}}));case q:{const e=Array.from(this.fetching.values());return this.clearAll(),t(n).then((()=>{for(const{reject:t}of e)t(new Ae)}))}default:return t(n)}}),this.dataExpiryLength=e,this.errorExpiryLength=t}init(){delete this.cleanupDate}cleanup(){this.cleanupDate=Date.now()}skipLogging(e){return e.type===R&&this.fetching.has(e.key)}allSettled(){if(this.fetching.size)return Promise.allSettled(this.fetching.values().map((({promise:e})=>e)))}clearAll(){for(const e of this.fetching.keys())this.clear(e)}clear(e){this.fetching.has(e)&&(this.fetching.get(e).promise.catch((()=>{})),this.fetching.delete(e))}getLastReset(){return this.cleanupDate?this.cleanupDate:this.controller.getState().lastReset}handleFetch(e){const{resolve:t,reject:n,fetchedAt:i}=e.meta,s=!e.endpoint.sideEffect,r=()=>{let r=e.endpoint(...e.args);return s||(r=(e=>e.then((e=>(t(e),e))).catch((e=>{throw n(e),e})))(r)),r=r.then((t=>{let n=this.getLastReset();return i>=n&&this.controller.resolve(e.endpoint,{args:e.args,response:t,fetchedAt:i}),t})).catch((t=>{const n=this.getLastReset();throw i>=n&&this.controller.resolve(e.endpoint,{args:e.args,response:t,fetchedAt:i,error:!0}),t})),r};return s?this.throttle(e.key,r,i).then((e=>t(e))).catch((e=>n(e))):r().catch((()=>{}))}handleSet(e){if(this.fetching.has(e.key)){const{reject:t,resolve:n}=this.fetching.get(e.key);e.error?t(e.response):n(e.response),this.clear(e.key)}}throttle(e,t,n){const i=this.getLastReset();let s=this.fetching.get(e);return s&&s.fetchedAt>i||(s=function(e){const t={fetchedAt:e};return t.promise=new Promise(((e,n)=>{t.resolve=e,t.reject=n})),t}(n),this.fetching.set(e,s),this.idleCallback((()=>{t().catch((()=>null))}),{timeout:500})),s.promise}idleCallback(e,t){e()}},e.PollingSubscription=class{constructor(e,t,n){if(this.frequencyHistogram=new Map,this.offlineListener=()=>{this.cleanup(),this.connectionListener.addOnlineListener(this.onlineListener)},this.onlineListener=()=>{this.connectionListener.removeOnlineListener(this.onlineListener);const e=Date.now();this.startId=setTimeout((()=>{this.startId&&(delete this.startId,this.update(),this.run())}),Math.max(0,this.lastFetchTime()-e+this.frequency)),this.connectionListener.addOfflineListener(this.offlineListener)},void 0===e.endpoint.pollFrequency)throw new Error("frequency needed for polling subscription");this.endpoint=e.endpoint,this.frequency=e.endpoint.pollFrequency,this.args=e.args,this.key=e.key,this.frequencyHistogram.set(this.frequency,1),this.controller=t,this.connectionListener=n||new Ce,this.connectionListener.isOnline()?this.onlineListener():this.offlineListener()}add(e){void 0!==e&&(this.frequencyHistogram.has(e)?this.frequencyHistogram.set(e,this.frequencyHistogram.get(e)+1):(this.frequencyHistogram.set(e,1),e<this.frequency&&(this.frequency=e,this.run())))}remove(e){if(void 0===e)return!1;if(this.frequencyHistogram.has(e)&&(this.frequencyHistogram.set(e,this.frequencyHistogram.get(e)-1),this.frequencyHistogram.get(e)<1)){if(this.frequencyHistogram.delete(e),0===this.frequencyHistogram.size)return this.cleanup(),!0;e<=this.frequency&&(this.frequency=Math.min(...this.frequencyHistogram.keys()),this.run())}return!1}cleanup(){this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId),this.lastIntervalId&&(clearInterval(this.lastIntervalId),delete this.lastIntervalId),this.startId&&(clearTimeout(this.startId),delete this.startId),this.connectionListener.removeOnlineListener(this.onlineListener),this.connectionListener.removeOfflineListener(this.offlineListener)}update(){const e=this.endpoint,t=function(...t){return e.call(this,...t)};Object.assign(t,this.endpoint),t.dataExpiryLength=this.frequency/2,t.errorExpiryLength=this.frequency/10,t.errorPolicy=()=>"soft",t.key=()=>this.key,this.controller.fetch(t,...this.args).catch((()=>null))}run(){this.startId||(this.intervalId&&(this.lastIntervalId=this.intervalId),this.intervalId=setInterval((()=>{this.lastIntervalId&&(clearInterval(this.lastIntervalId),delete this.lastIntervalId),this.intervalId&&this.update()}),this.frequency))}lastFetchTime(){var e,t;return null!=(e=null==(t=this.controller.getState().meta[this.key])?void 0:t.date)?e:0}},e.ResetError=Ae,e.SubscriptionManager=class{constructor(e){this.subscriptions={},this.controller=new be,this.middleware=e=>(this.controller=e,e=>t=>{switch(t.type){case D:try{this.handleSubscribe(t)}catch(e){console.error(e)}return Promise.resolve();case N:return this.handleUnsubscribe(t),Promise.resolve();default:return e(t)}}),this.Subscription=e}cleanup(){for(const e in this.subscriptions)this.subscriptions[e].cleanup()}handleSubscribe(e){const t=e.key;if(t in this.subscriptions){const n=e.endpoint.pollFrequency;this.subscriptions[t].add(n)}else this.subscriptions[t]=new this.Subscription(e,this.controller)}handleUnsubscribe(e){const t=e.key;if(t in this.subscriptions){const n=e.endpoint.pollFrequency;this.subscriptions[t].remove(n)&&delete this.subscriptions[t]}}},e.__INTERNAL__=oe,e.actionTypes=ee,e.actions=me,e.applyManager=function(e,t){return e.map(((e,n)=>(e.middleware||(e.middleware=null==e.getMiddleware?void 0:e.getMiddleware()),i=>(0===n&&t.bindMiddleware(i),e.middleware(t)))))},e.createReducer=function(e){return function(t,n){switch(t||(t=re),n.type){case H:return n.entities.forEach((({key:e,pk:n})=>{var i,s;null==(i=t.entities[e])||delete i[n],null==(s=t.entitiesMeta[e])||delete s[n]})),n.endpoints.forEach((e=>{delete t.endpoints[e],delete t.meta[e]})),t;case R:return function(e,t){if(t.endpoint.getOptimisticResponse&&t.endpoint.sideEffect){const n=te(t.endpoint,t.args,t.meta.fetchedAt);return l({},e,{optimistic:[...e.optimistic,n]})}return e}(t,n);case T:case j:return function(e,t,n){if(t.error)return ie(e,t,t.response);try{var i;let s;if(t.type===T){if(!t.endpoint.getOptimisticResponse)return e;try{s=t.endpoint.getOptimisticResponse.call(t.endpoint,n.snapshot(e,t.meta.fetchedAt),...t.args)}catch(t){if(t.constructor===ne)return e;throw t}}else s=t.response;const{result:r,entities:o,indexes:a,entitiesMeta:c}=A(t.endpoint.schema,s,t.args,e,t.meta),h=l({},e.endpoints,{[t.key]:r});try{if(t.endpoint.update){const e=t.endpoint.update(r,...t.args);Object.keys(e).forEach((t=>{h[t]=e[t](h[t])}))}}catch(e){console.error(`The following error occured during Endpoint.update() for ${t.key}`),console.error(e)}return{entities:o,endpoints:h,indexes:a,meta:l({},e.meta,{[t.key]:{date:t.meta.date,fetchedAt:t.meta.fetchedAt,expiresAt:t.meta.expiresAt,prevExpiresAt:null==(i=e.meta[t.key])?void 0:i.expiresAt}}),entitiesMeta:c,optimistic:se(e,t),lastReset:e.lastReset}}catch(n){return"object"==typeof n&&(n.message=`Error processing ${t.key}\n\nFull Schema: ${JSON.stringify(t.endpoint.schema,void 0,2)}\n\nError:\n${n.message}`,"response"in t&&(n.response=t.response),n.status=400),ie(e,t,n)}}(t,n,e);case P:return function(e,t,n){let i;if("function"==typeof t.value){const s=n.get(t.schema,...t.args,e);if(void 0===s)return e;i=t.value(s)}else i=t.value;try{const{entities:n,indexes:s,entitiesMeta:r}=A(t.schema,i,t.args,e,t.meta);return{entities:n,endpoints:e.endpoints,indexes:s,meta:e.meta,entitiesMeta:r,optimistic:e.optimistic,lastReset:e.lastReset}}catch(t){return e}}(t,n,e);case z:case K:return function(e,t){const n=l({},e.endpoints),i=l({},e.meta),s=e=>{delete n[e];const t=l({},i[e],{expiresAt:0,invalidated:!0});delete t.error,i[e]=t};return t.type===K?s(t.key):Object.keys(n).forEach((e=>{t.testKey(e)&&s(e)})),l({},e,{endpoints:n,meta:i})}(t,n);case Q:return function(e,t){const n=l({},e.meta);return Object.keys(n).forEach((e=>{t.testKey(e)&&(n[e]=l({},n[e],{expiresAt:1}))})),l({},e,{meta:n})}(t,n);case q:return l({},re,{lastReset:n.date});default:return t}}},e.initManager=function(e,t,n){return()=>(e.forEach((e=>{null==e.init||e.init(n)})),t.gcPolicy.init(t),()=>{e.forEach((e=>{e.cleanup()})),t.gcPolicy.cleanup()})},e.initialState=re}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).RDC=e.RDC||{},e.RDC.Core={}))}(this,(function(e){"use strict";class t{constructor(){this.localCache=new Map}getEntity(e,t,n,i){const s=t.key;this.localCache.has(s)||this.localCache.set(s,new Map);const r=this.localCache.get(s);return r.get(e)||i(r),r.get(e)}getResults(e,t,n){return{data:n(),paths:[]}}}const n=Symbol("INVALID"),i={};function s(e){return null!==e&&void 0!==e.pk}const r=e=>e[0],o=e=>void 0!==e&&"symbol"!=typeof e,a=(e,t,n,i,s,o)=>{e=r(e);const a=(e=>Array.isArray(e)?e:Object.keys(e).map((t=>e[t])))(t);return a.map((t=>o(e,t,n,i,s)))},c=(e,t,n,i)=>(e=r(e),t.map?t.map((t=>i(e,t))).filter(o):t);function h(){}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},l.apply(null,arguments)}const u=(e,t,n,i,s,r)=>{const o=l({},t);return Object.keys(e).forEach((n=>{const i=e[n],a=r(i,t[n],t,n,s);void 0===a?delete o[n]:o[n]=a})),o},d=(e,t,i,s)=>{if(function(e){return!("function"!=typeof e.hasOwnProperty||!(Object.hasOwnProperty.call(e,"__ownerID")||e._map&&Object.hasOwnProperty.call(e._map,"__ownerID")))}(t))return function(e,t,i,s){let r=!1;const o=Object.keys(e).reduce(((t,n)=>{const i=`${n}`,o=s(e[i],t.get(i));return"symbol"==typeof o&&(r=!0),t.has(i)?t.set(i,o):t}),t);return r?n:o}(e,t,0,s);const r=l({},t);let o=!1;return Object.keys(e).forEach((t=>{const n=s(e[t],r[t]);void 0!==r[t]&&(r[t]=n),"symbol"==typeof n&&(o=!0)})),o?n:r};function p(e,t,n,i){const s={};for(const r of Object.keys(e))s[r]=n(e[r],t,i);return s}const f=(e,t,n,s)=>function(r,o){const a="object"!=typeof o,c=a?e({key:r.key,pk:o}):o;if("symbol"==typeof c)return r.denormalize(c,n,s);if(void 0===c&&a&&""!==o&&"undefined"!==o)return t.getEntity(o,r,i,(e=>{e.set(o,void 0)}));if("object"!=typeof c||null===c)return c;let h=a?o:r.pk(c,void 0,void 0,n);return void 0===h||""===h||"undefined"===h?function(e){const t=new Map;return e(t),t.get("")}((e=>y(r,c,"",e,n,s))):("string"!=typeof h&&(h=`${h}`),t.getEntity(h,r,c,(e=>y(r,c,h,e,n,s))))};function y(e,t,i,s,r,o){const a=e.createIfValid(t);void 0===a?s.set(i,n):(s.set(i,a),s.set(i,e.denormalize(a,r,o)))}const g=(e,t,n)=>{const i=f(e,t,n,r);function r(e,t){if(!e)return t;if(null==t)return t;if("function"==typeof e.denormalize)return s(e)?i(e,t):e.denormalize(t,n,r);if("function"==typeof e)return e(t);if("object"==typeof e){return(Array.isArray(e)?c:d)(e,t,n,r)}return t}return(e,n)=>{const i=Object(n)===n&&Object(e)===e;return t.getResults(n,i,(()=>r(e,n)))}};class m{constructor({entities:e,indexes:t}){this.entities=e,this.indexes=t}tracked(e){const t=this,i=[{path:[""],entity:e}];return[{INVALID:n,getIndex(...e){const n=t.getIndex(...e);return i.push({path:e,entity:n}),t.getIndexEnd(n,e[2])},getEntity(...e){const n=t.getEntity(...e);return i.push({path:e,entity:n}),n},getEntities(e){const n=t.getEntitiesObject(e);return i.push({path:[e],entity:n}),t.getEntities(e)}},i]}}class v extends m{constructor(e){super(e)}getEntitiesObject(e){return this.entities[e]}getEntities(e){const t=this.entities[e];if(void 0!==t)return{keys:()=>Object.keys(t),entries:()=>Object.entries(t)}}getEntity(e,t){var n;return null==(n=this.entities[e])?void 0:n[t]}getIndex(e,t){var n;return null==(n=this.indexes[e])?void 0:n[t]}getIndexEnd(e,t){return null==e?void 0:e[t]}}const E={QueryDelegate:v,getEntities:e=>({key:t,pk:n})=>{var i;return null==(i=e[t])?void 0:i[n]}};class w{constructor(){this.next=new WeakMap,this.nextPath=void 0}get(e,t){let n=this.next.get(e);if(!n)return x;for(;n.nextPath;){var s;const e=null!=(s=t(n.nextPath))?s:i;if(n=n.next.get(e),!n)return x}return[n.value,n.journey]}set(e,t){if(e.length<1)throw new k;let n=this;for(const{path:t,entity:s}of e){let e=n.next.get(s);e||(e=new b,n.next.set(null!=s?s:i,e)),n.nextPath=t,n=e}n.nextPath=void 0,n.value=t,n.journey=e.map((e=>e.path))}}const x=[void 0,void 0];class b{constructor(){this.next=new WeakMap,this.nextPath=void 0,this.value=void 0,this.journey=[]}}class k extends Error{constructor(...e){super(...e),this.message="Keys must include at least one member"}}class I extends v{constructor(e,t){super(e),this.newEntities=new Map,this.newIndexes=new Map,this.entitiesMeta=e.entitiesMeta,this.meta=t,this.checkLoop=function(){const e=new Map;return function(t,n,i){let s=e.get(t);s||(s=new Map,e.set(t,s));let r=s.get(n);return r||(r=new Set,s.set(n,r)),!!r.has(i)||(r.add(i),!1)}}()}getNewEntity(e,t){return this.getNewEntities(e).get(t)}getNewEntities(e){return this.newEntities.has(e)||(this.newEntities.set(e,new Map),this.entities[e]=l({},this.entities[e]),this.entitiesMeta[e]=l({},this.entitiesMeta[e])),this.newEntities.get(e)}getNewIndexes(e){return this.newIndexes.has(e)||(this.newIndexes.set(e,new Map),this.indexes[e]=l({},this.indexes[e])),this.newIndexes.get(e)}mergeEntity(e,t,n){const i=e.key;let s=n,r=this.meta,o=this.getNewEntity(i,t);if(o)s=e.merge(o,n);else if(o=this.getEntity(i,t),o){const a=this.getMeta(i,t);s=e.mergeWithStore(a,r,o,n),r=e.mergeMetaWithStore(a,r,o,n)}this.setEntity(e,t,s,r)}setEntity(e,t,i,s=this.meta){const r=e.key,o=this.getNewEntities(r),a=!o.has(t);o.set(t,i),e.indexes&&function(e,t,i,s,r,o){for(const a of t){i.has(a)||i.set(a,s[a]={});const t=i.get(a);o[e]&&delete t[o[e][a]],o&&o[e]&&o[e][a]!==r[a]&&(t[o[e][a]]=n),a in r&&(t[r[a]]=e)}}(t,e.indexes,this.getNewIndexes(r),this.indexes[r],i,this.entities[r]),this._setEntity(r,t,i),a&&this._setMeta(r,t,s)}invalidate({key:e},t){this.setEntity({key:e},t,n)}_setEntity(e,t,n){this.entities[e][t]=n}_setMeta(e,t,n){this.entitiesMeta[e][t]=n}getMeta(e,t){return this.entitiesMeta[e][t]}}const A=(e,t,n=[],{entities:i,indexes:s,entitiesMeta:r}=L,o={fetchedAt:0,date:Date.now(),expiresAt:1/0})=>{if(null==e)return{result:t,entities:i,indexes:s,entitiesMeta:r};const c=function(e){return["object","function"].includes(typeof e)?"object":typeof e}(e);if(null===t||typeof t!==c&&(void 0===e.key||void 0!==e.pk||"string"!=typeof t))throw new Error(`Unexpected input given to normalize. Expected type to be "${c}", found "${null===t?"null":typeof t}".`);const h={result:"",entities:l({},i),indexes:l({},s),entitiesMeta:l({},r)},d=(e=>{const t=(n,i,s,r,o)=>i&&n?n.normalize&&"function"==typeof n.normalize?"object"!=typeof i?n.pk?`${i}`:i:n.normalize(i,s,r,o,t,e):"object"!=typeof i||"object"!=typeof n?i:(Array.isArray(n)?a:u)(n,i,s,r,o,t):i;return t})(new I(h,o));return h.result=d(e,t,t,void 0,n),h};const L={entities:{},indexes:{},entitiesMeta:{}};class S{constructor(e,t,n){this.dependencies=[],this.cycleCache=new Map,this.cycleIndex=-1,this.localCache=new Map,this._getEntity=e,this._getCache=t,this._resultCache=n}getEntity(e,t,n,i){const s=t.key,{localCacheKey:r,cycleCacheKey:o}=this.getCacheKey(s);if(r.get(e))o.has(e)?this.cycleIndex=o.get(e):this.dependencies.push({path:{key:s,pk:e},entity:n});else{const a=this._getCache(e,t),[c,h]=a.get(n,this._getEntity);if(h)return r.set(e,c.value),this.dependencies.push(...c.dependencies),c.value;{const t=this.dependencies.length;o.set(e,t),this.dependencies.push({path:{key:s,pk:e},entity:n}),i(r),o.delete(e);const c=this.dependencies.slice(-1===this.cycleIndex?t:this.cycleIndex),h={dependencies:c,value:r.get(e)};a.set(c,h),this.cycleIndex===t&&(this.cycleIndex=-1)}}return r.get(e)}getCacheKey(e){this.localCache.has(e)||this.localCache.set(e,new Map),this.cycleCache.has(e)||this.cycleCache.set(e,new Map);return{localCacheKey:this.localCache.get(e),cycleCacheKey:this.cycleCache.get(e)}}getResults(e,t,n){if(!t)return{data:n(),paths:this.paths()};let[i,s]=this._resultCache.get(e,this._getEntity);return void 0===s?(i=n(),s=this.paths(),this.dependencies.unshift({path:{key:"",pk:""},entity:e}),this._resultCache.set(this.dependencies,i)):s.shift(),{data:i,paths:s}}paths(){return this.dependencies.map((e=>e.path))}}function M(e){return void 0!==e&&(!(e&&"object"==typeof e&&!Array.isArray(e))||Object.values(e).every(M))}class C{constructor(e=E){var t;this.endpoints=new w,this.queryKeys=new Map,this.policy=e,this._getCache=(t=new Map,(e,n)=>{var i;const s=n.key,r=null!=(i=n.cacheWith)?i:n;t.has(s)||t.set(s,new Map);const o=t.get(s);o.has(e)||o.set(e,new WeakMap);const a=o.get(e);let c=a.get(r);return c||(c=new w,a.set(r,c)),c})}denormalize(e,t,n,i=[]){if(void 0===e)return{data:t,paths:[]};if(void 0===t)return{data:void 0,paths:[]};const s=this.policy.getEntities(n);return g(s,new S(s,this._getCache,this.endpoints),i)(e,t)}query(e,t,n,i=JSON.stringify(t)){const s=this.buildQueryKey(e,t,n,i);return s?this.denormalize(e,s,n.entities,t):{data:void 0,paths:[]}}buildQueryKey(e,t,n,i=JSON.stringify(t)){if("object"!=typeof e&&"function"!=typeof e.queryKey||!e)return e;this.queryKeys.get(i)||this.queryKeys.set(i,new w);const s=this.queryKeys.get(i),r=new this.policy.QueryDelegate(n);let[o,a]=s.get(e,(c=r,e=>c[["","getEntitiesObject","getEntity","getIndex"][e.length]](...e)));var c;if(!a){const[n,i]=r.tracked(e);o=function(e){return function t(n,i){return function(e){return!!e&&"function"==typeof e.queryKey}(n)?n.queryKey(i,t,e):"object"==typeof n&&n?(Array.isArray(n)?h:p)(n,i,t,e):n}}(n)(e,t),s.set(i,o)}return o}}var O={Invalid:1,InvalidIfStale:2,Valid:3};function _(e,t){const n=Date.now();return{fetchedAt:null!=t?t:n,date:n,expiresAt:n+e}}const R="rdc/fetch",P="rdc/set",j="rdc/setresponse",T="rdc/optimistic",q="rdc/reset",D="rdc/subscribe",N="rdc/unsubscribe",K="rdc/invalidate",z="rdc/invalidateall",Q="rdc/expireall",H="rdc/gc",F=R,V=P,B=j,U=T,Y=q,$=D,W=N,X=K,G=z,J=Q,Z=H;var ee=Object.freeze({__proto__:null,EXPIREALL:Q,EXPIREALL_TYPE:J,FETCH:R,FETCH_TYPE:F,GC:H,GC_TYPE:Z,INVALIDATE:K,INVALIDATEALL:z,INVALIDATEALL_TYPE:G,INVALIDATE_TYPE:X,OPTIMISTIC:T,OPTIMISTIC_TYPE:U,RESET:q,RESET_TYPE:Y,SET:P,SET_RESPONSE:j,SET_RESPONSE_TYPE:B,SET_TYPE:V,SUBSCRIBE:D,SUBSCRIBE_TYPE:$,UNSUBSCRIBE:N,UNSUBSCRIBE_TYPE:W});function te(e,t,n){var i;return{type:T,key:e.key(...t),args:t,endpoint:e,meta:_(null!=(i=e.dataExpiryLength)?i:6e4,n)}}class ne extends Error{}function ie(e,t,n){return"AbortError"===n.name?l({},e,{optimistic:se(e,t)}):l({},e,{meta:l({},e.meta,{[t.key]:{date:t.meta.date,fetchedAt:t.meta.fetchedAt,expiresAt:t.meta.expiresAt,error:n,errorPolicy:null==t.endpoint.errorPolicy?void 0:t.endpoint.errorPolicy(n)}}),optimistic:se(e,t)})}function se(e,t){return e.optimistic.filter((e=>e.key!==t.key||(e.type===T?e.meta.fetchedAt!==t.meta.fetchedAt:e.meta.date>t.meta.date)))}const re={entities:{},endpoints:{},indexes:{},meta:{},entitiesMeta:{},optimistic:[],lastReset:0};var oe=Object.freeze({__proto__:null,INVALID:n,MemoCache:C,initialState:re});function ae(e,{args:t}){return{type:D,key:e.key(...t),args:t,endpoint:e}}function ce(e,{args:t}){return{type:N,key:e.key(...t),args:t,endpoint:e}}const he="undefined"!=typeof FormData?e=>e instanceof FormData?Object.fromEntries(e.entries()):e:e=>e;function le(e,{args:t,fetchedAt:n,response:i,error:s=!1}){var r,o;const a=s?null!=(r=e.errorExpiryLength)?r:1e3:null!=(o=e.dataExpiryLength)?o:6e4;return{type:j,key:e.key(...t),response:i,args:t.map(he),endpoint:e,meta:_(a,n),error:s}}function ue(e,{args:t,fetchedAt:n,value:i}){return{type:P,value:i,args:t.map(he),schema:e,meta:_(6e4,n)}}function de(){return{type:q,date:Date.now()}}function pe(e){return{type:z,testKey:e}}function fe(e,{args:t}){return{type:K,key:e.key(...t)}}function ye(e,{args:t}){let n=0,i=0;const s=new Promise(((e,t)=>{[n,i]=[e,t]})),r={fetchedAt:Date.now(),resolve:n,reject:i,promise:s};return{type:R,key:e.key(...t),args:t,endpoint:e,meta:r}}function ge(e){return{type:Q,testKey:e}}var me=Object.freeze({__proto__:null,createExpireAll:ge,createFetch:ye,createInvalidate:fe,createInvalidateAll:pe,createMeta:_,createOptimistic:te,createReset:de,createSet:ue,createSetResponse:le,createSubscription:ae,createUnsubscription:ce});class ve{init(){}cleanup(){}createCountRef(){return()=>()=>{}}}function Ee(e,t){return e.meta[t]}const we=e=>{throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},xe=()=>re;class be{constructor({dispatch:e=we,getState:n=xe,memo:i=new C,gcPolicy:s=new ve}={}){this.fetch=(e,...n)=>{const i=ye(e,{args:n});return this.dispatch(i),e.schema?i.meta.promise.then((i=>function(e,n,i,s=[]){return void 0===e||void 0===n?n:g(E.getEntities(i),new t,s)(e,n).data}(e.schema,i,{},n))):i.meta.promise},this.fetchIfStale=(e,...t)=>{const{data:n,expiresAt:i,expiryStatus:s}=this.getResponseMeta(e,...t,this.getState());return s!==O.Invalid&&Date.now()<=i?n:this.fetch(e,...t)},this.invalidate=(e,...t)=>null!==t[0]?this.dispatch(fe(e,{args:t})):Promise.resolve(),this.invalidateAll=e=>this.dispatch(pe((t=>e.testKey(t)))),this.expireAll=e=>this.dispatch(ge((t=>e.testKey(t)))),this.resetEntireStore=()=>this.dispatch(de()),this.setResponse=(e,...t)=>{const n=t[t.length-1],i=le(e,{args:t.slice(0,t.length-1),response:n});return this.dispatch(i)},this.setError=(e,...t)=>{const n=t[t.length-1],i=le(e,{args:t.slice(0,t.length-1),response:n,error:!0});return this.dispatch(i)},this.resolve=(e,t)=>this.dispatch(le(e,t)),this.subscribe=(e,...t)=>null!==t[0]?this.dispatch(ae(e,{args:t})):Promise.resolve(),this.unsubscribe=(e,...t)=>null!==t[0]?this.dispatch(ce(e,{args:t})):Promise.resolve(),this.snapshot=(e,t)=>new Ie(this,e,t),this._dispatch=e,this.getState=n,this.memo=i,this.gcPolicy=s}set dispatch(e){this._dispatch=e}get dispatch(){return this._dispatch}bindMiddleware({dispatch:e,getState:t}){this._dispatch=e,this.getState=t}set(e,...t){const n=t[t.length-1],i=ue(e,{args:t.slice(0,t.length-1),value:n});return this.dispatch(i)}getError(e,...t){if(null===t[0])return;const n=t[t.length-1],i=t.slice(0,t.length-1),s=e.key(...i),r=Ee(n,s);return void 0===n.endpoints[s]||"soft"!==(null==r?void 0:r.errorPolicy)?null==r?void 0:r.error:void 0}getResponse(e,...t){return this.getResponseMeta(e,...t)}getResponseMeta(e,...t){const n=t[t.length-1],i=t.slice(0,t.length-1).map(he),s=1!==i.length||null!==i[0],r=s?e.key(...i):"",o=s?n.endpoints[r]:void 0,a=e.schema,c=Ee(n,r);let h=null==c?void 0:c.expiresAt;const l=void 0===o&&void 0!==a,u=l?this.memo.buildQueryKey(a,i,n,r):o;if(!s)return{data:u,expiryStatus:O.Valid,expiresAt:1/0,countRef:()=>()=>{}};let d=!1;if(l)d=!M(u);else if(!a||!ke(a))return{data:o,expiryStatus:this.getExpiryStatus(!o,!!e.invalidIfStale,c),expiresAt:h||0,countRef:this.gcPolicy.createCountRef({key:r})};const{data:p,paths:f}=this.memo.denormalize(a,u,n.entities,i);return h||(h=d?1:function(e,t){let n=1/0;for(const{key:s,pk:r}of e){var i;const e=null==(i=t[s])||null==(i=i[r])?void 0:i.expiresAt;e<n&&(n=e)}return n}(f,n.entitiesMeta)),{data:p,expiryStatus:this.getExpiryStatus("symbol"==typeof p,!!e.invalidIfStale||d,c),expiresAt:h,countRef:this.gcPolicy.createCountRef({key:r,paths:f})}}get(e,...t){const n=t[t.length-1],i=t.slice(0,t.length-1).map(he),{data:s}=this.memo.query(e,i,n);return"symbol"==typeof s?void 0:s}getQueryMeta(e,...t){const n=t[t.length-1],i=t.slice(0,t.length-1).map(he),{data:s,paths:r}=this.memo.query(e,i,n);return{data:"symbol"==typeof s?void 0:s,countRef:this.gcPolicy.createCountRef({paths:r})}}getExpiryStatus(e,t,n={}){return n.invalidated||e&&!n.error?O.Invalid:e||t?O.InvalidIfStale:O.Valid}}function ke(e){if(s(e))return!0;if(Array.isArray(e))return 0!==e.length&&ke(e[0]);if(e&&("object"==typeof e||"function"==typeof e)){const t="schema"in e?e.schema:e;return"function"==typeof t?ke(t):Object.values(t).some((e=>ke(e)))}return!1}class Ie{constructor(e,t,n=0){this.state=void 0,this.controller=void 0,this.fetchedAt=void 0,this.abort=Ie.abort,this.state=t,this.controller=e,this.fetchedAt=n}getResponse(e,...t){return this.controller.getResponse(e,...t,this.state)}getResponseMeta(e,...t){return this.controller.getResponseMeta(e,...t,this.state)}getError(e,...t){return this.controller.getError(e,...t,this.state)}get(e,...t){return this.controller.get(e,...t,this.state)}getQueryMeta(e,...t){return this.controller.getQueryMeta(e,...t,this.state)}}Ie.abort=new ne;class Ae extends Error{constructor(){super("Aborted due to RESET"),this.name="ResetError"}}class Le{isOnline(){return void 0===navigator.onLine||navigator.onLine}addOnlineListener(e){addEventListener("online",e)}removeOnlineListener(e){removeEventListener("online",e)}addOfflineListener(e){addEventListener("offline",e)}removeOfflineListener(e){removeEventListener("offline",e)}}class Se{isOnline(){return!0}addOnlineListener(){}removeOnlineListener(){}addOfflineListener(){}removeOfflineListener(){}}let Me;Me="undefined"!=typeof navigator&&"function"==typeof addEventListener?Le:Se;var Ce=Me;let Oe={};class _e{constructor(e,t){this.started=!1,this.actions=[],this.maxBufferLength=100,this.devTools="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__.connect(l({},Oe,e)),null!=e&&e.maxAge&&(this.maxBufferLength=2*e.maxAge),t&&(this.skipLogging=t)}handleAction(e,t){this.started?this.devTools.send(e,t):(this.actions.length>this.maxBufferLength&&(this.actions=this.actions.slice(this.maxBufferLength/2)),this.actions.push([e,t]))}init(e){}cleanup(){}}_e.prototype.middleware=()=>e=>t=>e(t);e.Controller=be,e.DefaultConnectionListener=Ce,e.DevToolsManager=_e,e.ExpiryStatus=O,e.GCPolicy=class{constructor({intervalMS:e=3e5,expiryMultiplier:t=2,expiresAt:n}={}){this.endpointCount=new Map,this.entityCount=new Map,this.endpointsQ=new Set,this.entitiesQ=[],n&&(this.expiresAt=n.bind(this)),this.options={intervalMS:e,expiryMultiplier:t}}init(e){this.controller=e,this.intervalId=setInterval((()=>{this.idleCallback((()=>this.runSweep()),{timeout:1e3})}),this.options.intervalMS)}cleanup(){clearInterval(this.intervalId)}createCountRef({key:e,paths:t=[]}){return()=>{var n;return e&&this.endpointCount.set(e,(null!=(n=this.endpointCount.get(e))?n:0)+1),t.forEach((e=>{var t;const{key:n,pk:i}=e;this.entityCount.has(n)||this.entityCount.set(n,new Map);const s=this.entityCount.get(n);s.set(i,(null!=(t=s.get(i))?t:0)+1)})),()=>{if(e){const t=this.endpointCount.get(e);void 0!==t&&(t<=1?(this.endpointCount.delete(e),this.endpointsQ.add(e)):this.endpointCount.set(e,t-1))}t.forEach((e=>{const{key:t,pk:n}=e;if(!this.entityCount.has(t))return;const i=this.entityCount.get(t),s=i.get(n);void 0!==s&&(s<=1?(i.delete(n),this.entitiesQ.push(e)):i.set(n,s-1))}))}}}expiresAt({fetchedAt:e,expiresAt:t}){return Math.max((t-e)*this.options.expiryMultiplier,12e4)+e}runSweep(){const e=this.controller.getState(),t=[],n=[],i=Date.now(),s=new Set;for(const t of this.endpointsQ){var r;!this.endpointCount.has(t)&&this.expiresAt(null!=(r=e.meta[t])?r:{fetchedAt:0,date:0,expiresAt:0})<i?n.push(t):s.add(t)}this.endpointsQ=s;const o=[];for(const n of this.entitiesQ){var a,c,h;(null==(a=this.entityCount.get(n.key))||!a.has(n.pk))&&this.expiresAt(null!=(c=null==(h=e.entitiesMeta[n.key])?void 0:h[n.pk])?c:{fetchedAt:0,date:0,expiresAt:0})<i?t.push(n):o.push(n)}this.entitiesQ=o,(t.length||n.length)&&this.controller.dispatch({type:H,entities:t,endpoints:n})}idleCallback(e,t){"function"==typeof requestIdleCallback?requestIdleCallback(e,t):e()}},e.ImmortalGCPolicy=ve,e.LogoutManager=class{constructor({handleLogout:e,shouldLogout:t}={}){this.middleware=e=>t=>async n=>{await t(n),n.type===j&&n.error&&this.shouldLogout(n.response)&&this.handleLogout(e)},e&&(this.handleLogout=e),t&&(this.shouldLogout=t)}cleanup(){}shouldLogout(e){return 401===e.status}handleLogout(e){e.resetEntireStore()}},e.NetworkManager=class{constructor({dataExpiryLength:e=6e4,errorExpiryLength:t=1e3}={}){this.fetching=new Map,this.controller=new be,this.middleware=e=>(this.controller=e,t=>n=>{switch(n.type){case R:return this.handleFetch(n),void 0!==n.endpoint.getOptimisticResponse&&n.endpoint.sideEffect?t(n):Promise.resolve();case j:return t(n).then((()=>{if(this.fetching.has(n.key)){var t;const i=null==(t=e.getState().meta[n.key])?void 0:t.error;i?this.handleSet(le(n.endpoint,{args:n.args,response:i,fetchedAt:n.meta.fetchedAt,error:!0})):this.handleSet(n)}}));case q:{const e=Array.from(this.fetching.values());return this.clearAll(),t(n).then((()=>{for(const{reject:t}of e)t(new Ae)}))}default:return t(n)}}),this.dataExpiryLength=e,this.errorExpiryLength=t}init(){delete this.cleanupDate}cleanup(){this.cleanupDate=Date.now()}skipLogging(e){return e.type===R&&this.fetching.has(e.key)}allSettled(){if(this.fetching.size)return Promise.allSettled(this.fetching.values().map((({promise:e})=>e)))}clearAll(){for(const e of this.fetching.keys())this.clear(e)}clear(e){this.fetching.has(e)&&(this.fetching.get(e).promise.catch((()=>{})),this.fetching.delete(e))}getLastReset(){return this.cleanupDate?this.cleanupDate:this.controller.getState().lastReset}handleFetch(e){const{resolve:t,reject:n,fetchedAt:i}=e.meta,s=!e.endpoint.sideEffect,r=()=>{let r=e.endpoint(...e.args);return s||(r=(e=>e.then((e=>(t(e),e))).catch((e=>{throw n(e),e})))(r)),r=r.then((t=>{let n=this.getLastReset();return i>=n&&this.controller.resolve(e.endpoint,{args:e.args,response:t,fetchedAt:i}),t})).catch((t=>{const n=this.getLastReset();throw i>=n&&this.controller.resolve(e.endpoint,{args:e.args,response:t,fetchedAt:i,error:!0}),t})),r};return s?this.throttle(e.key,r,i).then((e=>t(e))).catch((e=>n(e))):r().catch((()=>{}))}handleSet(e){if(this.fetching.has(e.key)){const{reject:t,resolve:n}=this.fetching.get(e.key);e.error?t(e.response):n(e.response),this.clear(e.key)}}throttle(e,t,n){const i=this.getLastReset();let s=this.fetching.get(e);return s&&s.fetchedAt>i||(s=function(e){const t={fetchedAt:e};return t.promise=new Promise(((e,n)=>{t.resolve=e,t.reject=n})),t}(n),this.fetching.set(e,s),this.idleCallback((()=>{t().catch((()=>null))}),{timeout:500})),s.promise}idleCallback(e,t){e()}},e.PollingSubscription=class{constructor(e,t,n){if(this.frequencyHistogram=new Map,this.offlineListener=()=>{this.cleanup(),this.connectionListener.addOnlineListener(this.onlineListener)},this.onlineListener=()=>{this.connectionListener.removeOnlineListener(this.onlineListener);const e=Date.now();this.startId=setTimeout((()=>{this.startId&&(delete this.startId,this.update(),this.run())}),Math.max(0,this.lastFetchTime()-e+this.frequency)),this.connectionListener.addOfflineListener(this.offlineListener)},void 0===e.endpoint.pollFrequency)throw new Error("frequency needed for polling subscription");this.endpoint=e.endpoint,this.frequency=e.endpoint.pollFrequency,this.args=e.args,this.key=e.key,this.frequencyHistogram.set(this.frequency,1),this.controller=t,this.connectionListener=n||new Ce,this.connectionListener.isOnline()?this.onlineListener():this.offlineListener()}add(e){void 0!==e&&(this.frequencyHistogram.has(e)?this.frequencyHistogram.set(e,this.frequencyHistogram.get(e)+1):(this.frequencyHistogram.set(e,1),e<this.frequency&&(this.frequency=e,this.run())))}remove(e){if(void 0===e)return!1;if(this.frequencyHistogram.has(e)&&(this.frequencyHistogram.set(e,this.frequencyHistogram.get(e)-1),this.frequencyHistogram.get(e)<1)){if(this.frequencyHistogram.delete(e),0===this.frequencyHistogram.size)return this.cleanup(),!0;e<=this.frequency&&(this.frequency=Math.min(...this.frequencyHistogram.keys()),this.run())}return!1}cleanup(){this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId),this.lastIntervalId&&(clearInterval(this.lastIntervalId),delete this.lastIntervalId),this.startId&&(clearTimeout(this.startId),delete this.startId),this.connectionListener.removeOnlineListener(this.onlineListener),this.connectionListener.removeOfflineListener(this.offlineListener)}update(){const e=this.endpoint,t=function(...t){return e.call(this,...t)};Object.assign(t,this.endpoint),t.dataExpiryLength=this.frequency/2,t.errorExpiryLength=this.frequency/10,t.errorPolicy=()=>"soft",t.key=()=>this.key,this.controller.fetch(t,...this.args).catch((()=>null))}run(){this.startId||(this.intervalId&&(this.lastIntervalId=this.intervalId),this.intervalId=setInterval((()=>{this.lastIntervalId&&(clearInterval(this.lastIntervalId),delete this.lastIntervalId),this.intervalId&&this.update()}),this.frequency))}lastFetchTime(){var e,t;return null!=(e=null==(t=this.controller.getState().meta[this.key])?void 0:t.date)?e:0}},e.ResetError=Ae,e.SubscriptionManager=class{constructor(e){this.subscriptions={},this.controller=new be,this.middleware=e=>(this.controller=e,e=>t=>{switch(t.type){case D:try{this.handleSubscribe(t)}catch(e){console.error(e)}return Promise.resolve();case N:return this.handleUnsubscribe(t),Promise.resolve();default:return e(t)}}),this.Subscription=e}cleanup(){for(const e in this.subscriptions)this.subscriptions[e].cleanup()}handleSubscribe(e){const t=e.key;if(t in this.subscriptions){const n=e.endpoint.pollFrequency;this.subscriptions[t].add(n)}else this.subscriptions[t]=new this.Subscription(e,this.controller)}handleUnsubscribe(e){const t=e.key;if(t in this.subscriptions){const n=e.endpoint.pollFrequency;this.subscriptions[t].remove(n)&&delete this.subscriptions[t]}}},e.__INTERNAL__=oe,e.actionTypes=ee,e.actions=me,e.applyManager=function(e,t){return e.map(((e,n)=>(e.middleware||(e.middleware=null==e.getMiddleware?void 0:e.getMiddleware()),i=>(0===n&&t.bindMiddleware(i),e.middleware(t)))))},e.createReducer=function(e){return function(t,n){switch(t||(t=re),n.type){case H:return n.entities.forEach((({key:e,pk:n})=>{var i,s;null==(i=t.entities[e])||delete i[n],null==(s=t.entitiesMeta[e])||delete s[n]})),n.endpoints.forEach((e=>{delete t.endpoints[e],delete t.meta[e]})),t;case R:return function(e,t){if(t.endpoint.getOptimisticResponse&&t.endpoint.sideEffect){const n=te(t.endpoint,t.args,t.meta.fetchedAt);return l({},e,{optimistic:[...e.optimistic,n]})}return e}(t,n);case T:case j:return function(e,t,n){if(t.error)return ie(e,t,t.response);try{var i;let s;if(t.type===T){if(!t.endpoint.getOptimisticResponse)return e;try{s=t.endpoint.getOptimisticResponse.call(t.endpoint,n.snapshot(e,t.meta.fetchedAt),...t.args)}catch(t){if(t.constructor===ne)return e;throw t}}else s=t.response;const{result:r,entities:o,indexes:a,entitiesMeta:c}=A(t.endpoint.schema,s,t.args,e,t.meta),h=l({},e.endpoints,{[t.key]:r});try{if(t.endpoint.update){const e=t.endpoint.update(r,...t.args);Object.keys(e).forEach((t=>{h[t]=e[t](h[t])}))}}catch(e){console.error(`The following error occured during Endpoint.update() for ${t.key}`),console.error(e)}return{entities:o,endpoints:h,indexes:a,meta:l({},e.meta,{[t.key]:{date:t.meta.date,fetchedAt:t.meta.fetchedAt,expiresAt:t.meta.expiresAt,prevExpiresAt:null==(i=e.meta[t.key])?void 0:i.expiresAt}}),entitiesMeta:c,optimistic:se(e,t),lastReset:e.lastReset}}catch(n){return"object"==typeof n&&(n.message=`Error processing ${t.key}\n\nFull Schema: ${JSON.stringify(t.endpoint.schema,void 0,2)}\n\nError:\n${n.message}`,"response"in t&&(n.response=t.response),n.status=400),ie(e,t,n)}}(t,n,e);case P:return function(e,t,n){let i;if("function"==typeof t.value){const s=n.get(t.schema,...t.args,e);if(void 0===s)return e;i=t.value(s)}else i=t.value;try{const{entities:n,indexes:s,entitiesMeta:r}=A(t.schema,i,t.args,e,t.meta);return{entities:n,endpoints:e.endpoints,indexes:s,meta:e.meta,entitiesMeta:r,optimistic:e.optimistic,lastReset:e.lastReset}}catch(t){return e}}(t,n,e);case z:case K:return function(e,t){const n=l({},e.endpoints),i=l({},e.meta),s=e=>{delete n[e];const t=l({},i[e],{expiresAt:0,invalidated:!0});delete t.error,i[e]=t};return t.type===K?s(t.key):Object.keys(n).forEach((e=>{t.testKey(e)&&s(e)})),l({},e,{endpoints:n,meta:i})}(t,n);case Q:return function(e,t){const n=l({},e.meta);return Object.keys(n).forEach((e=>{t.testKey(e)&&(n[e]=l({},n[e],{expiresAt:1}))})),l({},e,{meta:n})}(t,n);case q:return l({},re,{lastReset:n.date});default:return t}}},e.initManager=function(e,t,n){return()=>(e.forEach((e=>{null==e.init||e.init(n)})),t.gcPolicy.init(t),()=>{e.forEach((e=>{e.cleanup()})),t.gcPolicy.cleanup()})},e.initialState=re}));
@@ -75,4 +75,4 @@ export default class SubscriptionManager {
75
75
  }
76
76
  }
77
77
  }
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkUiLCJVTlNVQlNDUklCRSIsIkNvbnRyb2xsZXIiLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb25zIiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZVN1YnNjcmliZSIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImhhbmRsZVVuc3Vic2NyaWJlIiwiY2xlYW51cCIsImtleSIsImZyZXF1ZW5jeSIsImVuZHBvaW50IiwicG9sbEZyZXF1ZW5jeSIsImFkZCIsImVtcHR5IiwicmVtb3ZlIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkUsIFVOU1VCU0NSSUJFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWFuYWdlcixcbiAgTWlkZGxld2FyZSxcbiAgVW5zdWJzY3JpYmVBY3Rpb24sXG4gIFN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIEFjdGlvbnMgPSBVbnN1YnNjcmliZUFjdGlvbiB8IFN1YnNjcmliZUFjdGlvbjtcblxuLyoqIEludGVyZmFjZSBoYW5kbGluZyBhIHNpbmdsZSByZXNvdXJjZSBzdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgYWRkKGZyZXF1ZW5jeT86IG51bWJlcik6IHZvaWQ7XG4gIHJlbW92ZShmcmVxdWVuY3k/OiBudW1iZXIpOiBib29sZWFuO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG5cbi8qKiBUaGUgc3RhdGljIGNsYXNzIHRoYXQgY29uc3RydWN0cyBTdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSB7XG4gIG5ldyAoXG4gICAgYWN0aW9uOiBPbWl0PFN1YnNjcmliZUFjdGlvbiwgJ3R5cGUnPixcbiAgICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuICApOiBTdWJzY3JpcHRpb247XG59XG5cbi8qKiBIYW5kbGVzIHN1YnNjcmlwdGlvbiBhY3Rpb25zIC0+IGZldGNoIG9yIHNldCBhY3Rpb25zXG4gKlxuICogQ29uc3RydWN0b3IgdGFrZXMgYSBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlIGNsYXNzIHRvIGNvbnRyb2wgaG93XG4gKiBzdWJzY3JpcHRpb25zIGFyZSBoYW5kbGVkLiAoZS5nLiwgcG9sbGluZywgd2Vic29ja2V0cylcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9TdWJzY3JpcHRpb25NYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnNjcmlwdGlvbk1hbmFnZXI8XG4gIFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlID0gU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSxcbj4gaW1wbGVtZW50cyBNYW5hZ2VyPEFjdGlvbnM+XG57XG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiB7XG4gICAgW2tleTogc3RyaW5nXTogSW5zdGFuY2VUeXBlPFM+O1xuICB9ID0ge307XG5cbiAgZGVjbGFyZSBwcm90ZWN0ZWQgcmVhZG9ubHkgU3Vic2NyaXB0aW9uOiBTO1xuICBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG5cbiAgY29uc3RydWN0b3IoU3Vic2NyaXB0aW9uOiBTKSB7XG4gICAgdGhpcy5TdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb247XG4gIH1cblxuICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlID0gY29udHJvbGxlciA9PiB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFNVQlNDUklCRTpcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdWJzY3JpYmUoYWN0aW9uKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIGNhc2UgVU5TVUJTQ1JJQkU6XG4gICAgICAgICAgdGhpcy5oYW5kbGVVbnN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgfVxuICAgIH07XG4gIH07XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5jbGVhbnVwKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3N1YnNjcmliZScgYWN0aW9uLlxuICAgKlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVN1YnNjcmliZShhY3Rpb246IFN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICBpZiAoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgY29uc3QgZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5hZGQoZnJlcXVlbmN5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2tleV0gPSBuZXcgdGhpcy5TdWJzY3JpcHRpb24oXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLFxuICAgICAgKSBhcyBJbnN0YW5jZVR5cGU8Uz47XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3Vuc3Vic2NyaWJlJyBhY3Rpb24uXG4gICAqXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlVW5zdWJzY3JpYmUoYWN0aW9uOiBVbnN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIGNvbnN0IGVtcHR5ID0gdGhpcy5zdWJzY3JpcHRpb25zW2tleV0ucmVtb3ZlKGZyZXF1ZW5jeSk7XG4gICAgICBpZiAoZW1wdHkpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc29sZS5lcnJvcihgTWlzbWF0Y2hlZCB1bnN1YnNjcmliZTogJHtrZXl9IGlzIG5vdCBzdWJzY3JpYmVkYCk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsRUFBRUMsV0FBVyxRQUFRLG1CQUFtQjtBQUMxRCxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCOztBQVVwRDs7QUFPQTs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTUMsbUJBQW1CLENBR3hDO0VBUUVDLFdBQVdBLENBQUNDLFlBQWUsRUFBRTtJQUFBLEtBUG5CQyxhQUFhLEdBRW5CLENBQUMsQ0FBQztJQUFBLEtBR0lDLFVBQVUsR0FBZSxJQUFJTCxVQUFVLENBQUMsQ0FBQztJQUFBLEtBTW5ETSxVQUFVLEdBQWVELFVBQVUsSUFBSTtNQUNyQyxJQUFJLENBQUNBLFVBQVUsR0FBR0EsVUFBVTtNQUM1QixPQUFPRSxJQUFJLElBQUlDLE1BQU0sSUFBSTtRQUN2QixRQUFRQSxNQUFNLENBQUNDLElBQUk7VUFDakIsS0FBS1gsU0FBUztZQUNaLElBQUk7Y0FDRixJQUFJLENBQUNZLGVBQWUsQ0FBQ0YsTUFBTSxDQUFDO1lBQzlCLENBQUMsQ0FBQyxPQUFPRyxDQUFDLEVBQUU7Y0FDVkMsT0FBTyxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztZQUNsQjtZQUNBLE9BQU9HLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUM7VUFDMUIsS0FBS2hCLFdBQVc7WUFDZCxJQUFJLENBQUNpQixpQkFBaUIsQ0FBQ1IsTUFBTSxDQUFDO1lBQzlCLE9BQU9NLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUM7VUFDMUI7WUFDRSxPQUFPUixJQUFJLENBQUNDLE1BQU0sQ0FBQztRQUN2QjtNQUNGLENBQUM7SUFDSCxDQUFDO0lBckJDLElBQUksQ0FBQ0wsWUFBWSxHQUFHQSxZQUFZO0VBQ2xDO0VBc0JBO0VBQ0FjLE9BQU9BLENBQUEsRUFBRztJQUNSLEtBQUssTUFBTUMsR0FBRyxJQUFJLElBQUksQ0FBQ2QsYUFBYSxFQUFFO01BQ3BDLElBQUksQ0FBQ0EsYUFBYSxDQUFDYyxHQUFHLENBQUMsQ0FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDbkM7RUFDRjs7RUFFQTtBQUNGO0FBQ0E7RUFDWVAsZUFBZUEsQ0FBQ0YsTUFBdUIsRUFBRTtJQUNqRCxNQUFNVSxHQUFHLEdBQUdWLE1BQU0sQ0FBQ1UsR0FBRztJQUV0QixJQUFJQSxHQUFHLElBQUksSUFBSSxDQUFDZCxhQUFhLEVBQUU7TUFDN0IsTUFBTWUsU0FBUyxHQUFHWCxNQUFNLENBQUNZLFFBQVEsQ0FBQ0MsYUFBYTtNQUMvQyxJQUFJLENBQUNqQixhQUFhLENBQUNjLEdBQUcsQ0FBQyxDQUFDSSxHQUFHLENBQUNILFNBQVMsQ0FBQztJQUN4QyxDQUFDLE1BQU07TUFDTCxJQUFJLENBQUNmLGFBQWEsQ0FBQ2MsR0FBRyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUNmLFlBQVksQ0FDN0NLLE1BQU0sRUFDTixJQUFJLENBQUNILFVBQ1AsQ0FBb0I7SUFDdEI7RUFDRjs7RUFFQTtBQUNGO0FBQ0E7RUFDWVcsaUJBQWlCQSxDQUFDUixNQUF5QixFQUFFO0lBQ3JELE1BQU1VLEdBQUcsR0FBR1YsTUFBTSxDQUFDVSxHQUFHOztJQUV0QjtJQUNBLElBQUlBLEdBQUcsSUFBSSxJQUFJLENBQUNkLGFBQWEsRUFBRTtNQUM3QixNQUFNZSxTQUFTLEdBQUdYLE1BQU0sQ0FBQ1ksUUFBUSxDQUFDQyxhQUFhO01BQy9DLE1BQU1FLEtBQUssR0FBRyxJQUFJLENBQUNuQixhQUFhLENBQUNjLEdBQUcsQ0FBQyxDQUFDTSxNQUFNLENBQUNMLFNBQVMsQ0FBQztNQUN2RCxJQUFJSSxLQUFLLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQ25CLGFBQWEsQ0FBQ2MsR0FBRyxDQUFDO01BQ2hDO0lBQ0YsQ0FBQyxNQUFNLElBQUlPLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssWUFBWSxFQUFFO01BQ2hEZixPQUFPLENBQUNDLEtBQUssQ0FBQywyQkFBMkJLLEdBQUcsb0JBQW9CLENBQUM7SUFDbkU7RUFDRjtBQUNGIiwiaWdub3JlTGlzdCI6W119
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkUiLCJVTlNVQlNDUklCRSIsIkNvbnRyb2xsZXIiLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb25zIiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZVN1YnNjcmliZSIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImhhbmRsZVVuc3Vic2NyaWJlIiwiY2xlYW51cCIsImtleSIsImZyZXF1ZW5jeSIsImVuZHBvaW50IiwicG9sbEZyZXF1ZW5jeSIsImFkZCIsImVtcHR5IiwicmVtb3ZlIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkUsIFVOU1VCU0NSSUJFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWFuYWdlcixcbiAgTWlkZGxld2FyZSxcbiAgVW5zdWJzY3JpYmVBY3Rpb24sXG4gIFN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIEFjdGlvbnMgPSBVbnN1YnNjcmliZUFjdGlvbiB8IFN1YnNjcmliZUFjdGlvbjtcblxuLyoqIEludGVyZmFjZSBoYW5kbGluZyBhIHNpbmdsZSByZXNvdXJjZSBzdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgYWRkKGZyZXF1ZW5jeT86IG51bWJlcik6IHZvaWQ7XG4gIHJlbW92ZShmcmVxdWVuY3k/OiBudW1iZXIpOiBib29sZWFuO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG5cbi8qKiBUaGUgc3RhdGljIGNsYXNzIHRoYXQgY29uc3RydWN0cyBTdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSB7XG4gIG5ldyAoXG4gICAgYWN0aW9uOiBPbWl0PFN1YnNjcmliZUFjdGlvbiwgJ3R5cGUnPixcbiAgICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuICApOiBTdWJzY3JpcHRpb247XG59XG5cbi8qKiBIYW5kbGVzIHN1YnNjcmlwdGlvbiBhY3Rpb25zIC0+IGZldGNoIG9yIHNldCBhY3Rpb25zXG4gKlxuICogQ29uc3RydWN0b3IgdGFrZXMgYSBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlIGNsYXNzIHRvIGNvbnRyb2wgaG93XG4gKiBzdWJzY3JpcHRpb25zIGFyZSBoYW5kbGVkLiAoZS5nLiwgcG9sbGluZywgd2Vic29ja2V0cylcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9TdWJzY3JpcHRpb25NYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnNjcmlwdGlvbk1hbmFnZXI8XG4gIFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlID0gU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSxcbj4gaW1wbGVtZW50cyBNYW5hZ2VyPEFjdGlvbnM+IHtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBJbnN0YW5jZVR5cGU8Uz47XG4gIH0gPSB7fTtcblxuICBkZWNsYXJlIHByb3RlY3RlZCByZWFkb25seSBTdWJzY3JpcHRpb246IFM7XG4gIHByb3RlY3RlZCBjb250cm9sbGVyOiBDb250cm9sbGVyID0gbmV3IENvbnRyb2xsZXIoKTtcblxuICBjb25zdHJ1Y3RvcihTdWJzY3JpcHRpb246IFMpIHtcbiAgICB0aGlzLlN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmUgPSBjb250cm9sbGVyID0+IHtcbiAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICAgIHJldHVybiBuZXh0ID0+IGFjdGlvbiA9PiB7XG4gICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgU1VCU0NSSUJFOlxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgY2FzZSBVTlNVQlNDUklCRTpcbiAgICAgICAgICB0aGlzLmhhbmRsZVVuc3Vic2NyaWJlKGFjdGlvbik7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbik7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuICAvKiogRW5zdXJlcyBhbGwgc3Vic2NyaXB0aW9ucyBhcmUgY2xlYW5lZCB1cC4gKi9cbiAgY2xlYW51cCgpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldLmNsZWFudXAoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzICdyZGMvc3Vic2NyaWJlJyBhY3Rpb24uXG4gICAqXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU3Vic2NyaWJlKGFjdGlvbjogU3Vic2NyaWJlQWN0aW9uKSB7XG4gICAgY29uc3Qga2V5ID0gYWN0aW9uLmtleTtcblxuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldLmFkZChmcmVxdWVuY3kpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XSA9IG5ldyB0aGlzLlN1YnNjcmlwdGlvbihcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIsXG4gICAgICApIGFzIEluc3RhbmNlVHlwZTxTPjtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzICdyZGMvdW5zdWJzY3JpYmUnIGFjdGlvbi5cbiAgICpcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVVbnN1YnNjcmliZShhY3Rpb246IFVuc3Vic2NyaWJlQWN0aW9uKSB7XG4gICAgY29uc3Qga2V5ID0gYWN0aW9uLmtleTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGtleSBpbiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIGNvbnN0IGZyZXF1ZW5jeSA9IGFjdGlvbi5lbmRwb2ludC5wb2xsRnJlcXVlbmN5O1xuICAgICAgY29uc3QgZW1wdHkgPSB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5yZW1vdmUoZnJlcXVlbmN5KTtcbiAgICAgIGlmIChlbXB0eSkge1xuICAgICAgICBkZWxldGUgdGhpcy5zdWJzY3JpcHRpb25zW2tleV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNaXNtYXRjaGVkIHVuc3Vic2NyaWJlOiAke2tleX0gaXMgbm90IHN1YnNjcmliZWRgKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsU0FBUyxFQUFFQyxXQUFXLFFBQVEsbUJBQW1CO0FBQzFELE9BQU9DLFVBQVUsTUFBTSw2QkFBNkI7O0FBVXBEOztBQU9B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
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uVHlwZXMsIFN0YXRlIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIERpc3BhdGNoPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gPSAodmFsdWU6IEFjdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUFQSSBleHRlbmRzIENvbnRyb2xsZXI8RGlzcGF0Y2g8QWN0aW9uVHlwZXM+PiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pZGRsZXdhcmVDb250cm9sbGVyPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz5cbiAgZXh0ZW5kcyBDb250cm9sbGVyPERpc3BhdGNoPEFjdGlvbnM+PiB7fVxuXG4vKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvTWFuYWdlciNtaWRkbGV3YXJlICovXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gPSA8XG4gIEMgZXh0ZW5kcyBNaWRkbGV3YXJlQ29udHJvbGxlcjxBY3Rpb25zPixcbj4oXG4gIGNvbnRyb2xsZXI6IEMsXG4pID0+IChuZXh0OiBDWydkaXNwYXRjaCddKSA9PiBDWydkaXNwYXRjaCddO1xuXG5leHBvcnQgdHlwZSBEYXRhQ2xpZW50UmVkdWNlciA9IChcbiAgcHJldlN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBBY3Rpb25UeXBlcyxcbikgPT4gU3RhdGU8dW5rbm93bj47XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uVHlwZXMsIFN0YXRlIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIERpc3BhdGNoPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gPSAodmFsdWU6IEFjdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUFQSSBleHRlbmRzIENvbnRyb2xsZXI8RGlzcGF0Y2g8QWN0aW9uVHlwZXM+PiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pZGRsZXdhcmVDb250cm9sbGVyPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gZXh0ZW5kcyBDb250cm9sbGVyPFxuICBEaXNwYXRjaDxBY3Rpb25zPlxuPiB7fVxuXG4vKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvTWFuYWdlciNtaWRkbGV3YXJlICovXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gPSA8XG4gIEMgZXh0ZW5kcyBNaWRkbGV3YXJlQ29udHJvbGxlcjxBY3Rpb25zPixcbj4oXG4gIGNvbnRyb2xsZXI6IEMsXG4pID0+IChuZXh0OiBDWydkaXNwYXRjaCddKSA9PiBDWydkaXNwYXRjaCddO1xuXG5leHBvcnQgdHlwZSBEYXRhQ2xpZW50UmVkdWNlciA9IChcbiAgcHJldlN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBBY3Rpb25UeXBlcyxcbikgPT4gU3RhdGU8dW5rbm93bj47XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,124 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { actionTypes } from '../index.js';
3
+ import { collapseFixture } from './collapseFixture.js';
4
+ import { createFixtureMap } from './createFixtureMap.js';
5
+ export function MockController(Base, {
6
+ fixtures = [],
7
+ getInitialInterceptorData = () => ({})
8
+ }) {
9
+ const [fixtureMap, interceptors] = createFixtureMap(fixtures);
10
+
11
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
12
+ // @ts-ignore
13
+ return class MockedController extends Base {
14
+ constructor(...args) {
15
+ super(...args);
16
+
17
+ // legacy compatibility
18
+ // TODO: drop when drop support for destructuring (0.14 and below)
19
+ // legacy compatibility (re-declaration)
20
+ // TODO: drop when drop support for destructuring (0.14 and below)
21
+ this.fixtureMap = fixtureMap;
22
+ this.interceptors = interceptors;
23
+ this.interceptorData = getInitialInterceptorData();
24
+ if (!this._dispatch) {
25
+ this._dispatch = args[0].dispatch;
26
+ }
27
+ }
28
+
29
+ // legacy compatibility - we need this to work with 0.14 and below as they do not have this setter
30
+ // TODO: drop when drop support for destructuring (0.14 and below)
31
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
32
+ // @ts-ignore
33
+ set dispatch(dispatch) {
34
+ this._dispatch = dispatch;
35
+ }
36
+ get dispatch() {
37
+ return action => {
38
+ var _actionTypes$FETCH;
39
+ // support legacy that has _TYPE suffix
40
+ if (action.type === ((_actionTypes$FETCH = actionTypes.FETCH) != null ? _actionTypes$FETCH : actionTypes.FETCH_TYPE)) {
41
+ // eslint-disable-next-line prefer-const
42
+ let {
43
+ key,
44
+ args
45
+ } = action;
46
+ let fixture;
47
+ if (this.fixtureMap.has(key)) {
48
+ fixture = this.fixtureMap.get(key);
49
+ if (!args) args = fixture.args;
50
+ // exact matches take priority; now test ComputedFixture
51
+ } else {
52
+ for (const cfix of this.interceptors) {
53
+ if (cfix.endpoint.testKey(key)) {
54
+ fixture = cfix;
55
+ break;
56
+ }
57
+ }
58
+ }
59
+ // we have a match
60
+ if (fixture !== undefined) {
61
+ var _fixture$delay;
62
+ const replacedAction = _extends({}, action);
63
+ const delayMs = typeof fixture.delay === 'function' ? fixture.delay(...args) : (_fixture$delay = fixture.delay) != null ? _fixture$delay : 0;
64
+ if ('fetchResponse' in fixture) {
65
+ const {
66
+ fetchResponse
67
+ } = fixture;
68
+ fixture = {
69
+ endpoint: fixture.endpoint,
70
+ response(...args) {
71
+ const endpoint = action.endpoint.extend({
72
+ fetchResponse: (input, init) => {
73
+ const ret = fetchResponse.call(this, input, init);
74
+ return Promise.resolve(new Response(JSON.stringify(ret), {
75
+ status: 200,
76
+ headers: new Headers({
77
+ 'Content-Type': 'application/json'
78
+ })
79
+ }));
80
+ }
81
+ });
82
+ return endpoint(...args);
83
+ }
84
+ };
85
+ }
86
+ const fetch = async () => {
87
+ if (!fixture) {
88
+ throw new Error('No fixture found');
89
+ }
90
+ // delayCollapse determines when the fixture function is 'collapsed' (aka 'run')
91
+ // collapsed: https://en.wikipedia.org/wiki/Copenhagen_interpretation
92
+ if (fixture.delayCollapse) {
93
+ await new Promise(resolve => setTimeout(resolve, delayMs));
94
+ }
95
+ const result = await collapseFixture(fixture, args, this.interceptorData);
96
+ if (!fixture.delayCollapse && delayMs) {
97
+ await new Promise(resolve => setTimeout(resolve, delayMs));
98
+ }
99
+ if (result.error) {
100
+ throw result.response;
101
+ }
102
+ return result.response;
103
+ };
104
+ if (typeof replacedAction.endpoint.extend === 'function') {
105
+ replacedAction.endpoint = replacedAction.endpoint.extend({
106
+ fetch
107
+ });
108
+ } else {
109
+ // TODO: full testing of this
110
+ replacedAction.endpoint = fetch;
111
+ replacedAction.endpoint.__proto__ = action.endpoint;
112
+ }
113
+
114
+ // TODO: make super.dispatch (once we drop support for destructuring)
115
+ return this._dispatch(replacedAction);
116
+ }
117
+ }
118
+ // TODO: make super.dispatch (once we drop support for destructuring)
119
+ return this._dispatch(action);
120
+ };
121
+ }
122
+ };
123
+ }
124
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3Rpb25UeXBlcyIsImNvbGxhcHNlRml4dHVyZSIsImNyZWF0ZUZpeHR1cmVNYXAiLCJNb2NrQ29udHJvbGxlciIsIkJhc2UiLCJmaXh0dXJlcyIsImdldEluaXRpYWxJbnRlcmNlcHRvckRhdGEiLCJmaXh0dXJlTWFwIiwiaW50ZXJjZXB0b3JzIiwiTW9ja2VkQ29udHJvbGxlciIsImNvbnN0cnVjdG9yIiwiYXJncyIsImludGVyY2VwdG9yRGF0YSIsIl9kaXNwYXRjaCIsImRpc3BhdGNoIiwiYWN0aW9uIiwiX2FjdGlvblR5cGVzJEZFVENIIiwidHlwZSIsIkZFVENIIiwiRkVUQ0hfVFlQRSIsImtleSIsImZpeHR1cmUiLCJoYXMiLCJnZXQiLCJjZml4IiwiZW5kcG9pbnQiLCJ0ZXN0S2V5IiwidW5kZWZpbmVkIiwiX2ZpeHR1cmUkZGVsYXkiLCJyZXBsYWNlZEFjdGlvbiIsIl9leHRlbmRzIiwiZGVsYXlNcyIsImRlbGF5IiwiZmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwiZXh0ZW5kIiwiaW5wdXQiLCJpbml0IiwicmV0IiwiY2FsbCIsIlByb21pc2UiLCJyZXNvbHZlIiwiUmVzcG9uc2UiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdHVzIiwiaGVhZGVycyIsIkhlYWRlcnMiLCJmZXRjaCIsIkVycm9yIiwiZGVsYXlDb2xsYXBzZSIsInNldFRpbWVvdXQiLCJyZXN1bHQiLCJlcnJvciIsIl9fcHJvdG9fXyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2NrL01vY2tDb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFjdGlvblR5cGVzLFxuICBDb250cm9sbGVyLFxuICBEYXRhQ2xpZW50RGlzcGF0Y2gsXG4gIEdlbmVyaWNEaXNwYXRjaCxcbn0gZnJvbSAnLi4vaW5kZXguanMnO1xuaW1wb3J0IHsgY29sbGFwc2VGaXh0dXJlIH0gZnJvbSAnLi9jb2xsYXBzZUZpeHR1cmUuanMnO1xuaW1wb3J0IHsgY3JlYXRlRml4dHVyZU1hcCB9IGZyb20gJy4vY3JlYXRlRml4dHVyZU1hcC5qcyc7XG5pbXBvcnQgdHlwZSB7IEZpeHR1cmUsIEludGVyY2VwdG9yIH0gZnJvbSAnLi9maXh0dXJlVHlwZXMuanMnO1xuaW1wb3J0IHsgTW9ja1Byb3BzIH0gZnJvbSAnLi9tb2NrVHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gTW9ja0NvbnRyb2xsZXI8VEJhc2UgZXh0ZW5kcyB0eXBlb2YgQ29udHJvbGxlciwgVD4oXG4gIEJhc2U6IFRCYXNlLFxuICB7XG4gICAgZml4dHVyZXMgPSBbXSxcbiAgICBnZXRJbml0aWFsSW50ZXJjZXB0b3JEYXRhID0gKCkgPT4gKHt9KSBhcyBhbnksXG4gIH06IE1vY2tQcm9wczxUPixcbik6IFRCYXNlIHtcbiAgY29uc3QgW2ZpeHR1cmVNYXAsIGludGVyY2VwdG9yc10gPSBjcmVhdGVGaXh0dXJlTWFwKGZpeHR1cmVzKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGNsYXNzIE1vY2tlZENvbnRyb2xsZXI8XG4gICAgRCBleHRlbmRzIEdlbmVyaWNEaXNwYXRjaCA9IERhdGFDbGllbnREaXNwYXRjaCxcbiAgPiBleHRlbmRzIEJhc2U8RD4ge1xuICAgIC8vIGxlZ2FjeSBjb21wYXRpYmlsaXR5IChyZS1kZWNsYXJhdGlvbilcbiAgICAvLyBUT0RPOiBkcm9wIHdoZW4gZHJvcCBzdXBwb3J0IGZvciBkZXN0cnVjdHVyaW5nICgwLjE0IGFuZCBiZWxvdylcbiAgICBkZWNsYXJlIHByb3RlY3RlZCBfZGlzcGF0Y2g6IEQ7XG5cbiAgICBmaXh0dXJlTWFwOiBNYXA8c3RyaW5nLCBGaXh0dXJlPiA9IGZpeHR1cmVNYXA7XG4gICAgaW50ZXJjZXB0b3JzOiBJbnRlcmNlcHRvcjxhbnk+W10gPSBpbnRlcmNlcHRvcnM7XG4gICAgaW50ZXJjZXB0b3JEYXRhOiBUID0gZ2V0SW5pdGlhbEludGVyY2VwdG9yRGF0YSgpO1xuXG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuXG4gICAgICAvLyBsZWdhY3kgY29tcGF0aWJpbGl0eVxuICAgICAgLy8gVE9ETzogZHJvcCB3aGVuIGRyb3Agc3VwcG9ydCBmb3IgZGVzdHJ1Y3R1cmluZyAoMC4xNCBhbmQgYmVsb3cpXG4gICAgICBpZiAoIXRoaXMuX2Rpc3BhdGNoKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoID0gKGFyZ3NbMF0gYXMgYW55KS5kaXNwYXRjaDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsZWdhY3kgY29tcGF0aWJpbGl0eSAtIHdlIG5lZWQgdGhpcyB0byB3b3JrIHdpdGggMC4xNCBhbmQgYmVsb3cgYXMgdGhleSBkbyBub3QgaGF2ZSB0aGlzIHNldHRlclxuICAgIC8vIFRPRE86IGRyb3Agd2hlbiBkcm9wIHN1cHBvcnQgZm9yIGRlc3RydWN0dXJpbmcgKDAuMTQgYW5kIGJlbG93KVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc2V0IGRpc3BhdGNoKGRpc3BhdGNoOiBEKSB7XG4gICAgICB0aGlzLl9kaXNwYXRjaCA9IGRpc3BhdGNoO1xuICAgIH1cblxuICAgIGdldCBkaXNwYXRjaCgpOiBEIHtcbiAgICAgIHJldHVybiAoKGFjdGlvbjogUGFyYW1ldGVyczxEPlswXSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICAvLyBzdXBwb3J0IGxlZ2FjeSB0aGF0IGhhcyBfVFlQRSBzdWZmaXhcbiAgICAgICAgaWYgKGFjdGlvbi50eXBlID09PSAoYWN0aW9uVHlwZXMuRkVUQ0ggPz8gYWN0aW9uVHlwZXMuRkVUQ0hfVFlQRSkpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICAgICAgbGV0IHsga2V5LCBhcmdzIH0gPSBhY3Rpb247XG4gICAgICAgICAgbGV0IGZpeHR1cmU6IEZpeHR1cmUgfCBJbnRlcmNlcHRvciB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAodGhpcy5maXh0dXJlTWFwLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICBmaXh0dXJlID0gdGhpcy5maXh0dXJlTWFwLmdldChrZXkpIGFzIEZpeHR1cmU7XG4gICAgICAgICAgICBpZiAoIWFyZ3MpIGFyZ3MgPSBmaXh0dXJlLmFyZ3M7XG4gICAgICAgICAgICAvLyBleGFjdCBtYXRjaGVzIHRha2UgcHJpb3JpdHk7IG5vdyB0ZXN0IENvbXB1dGVkRml4dHVyZVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNmaXggb2YgdGhpcy5pbnRlcmNlcHRvcnMpIHtcbiAgICAgICAgICAgICAgaWYgKGNmaXguZW5kcG9pbnQudGVzdEtleShrZXkpKSB7XG4gICAgICAgICAgICAgICAgZml4dHVyZSA9IGNmaXg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gd2UgaGF2ZSBhIG1hdGNoXG4gICAgICAgICAgaWYgKGZpeHR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgcmVwbGFjZWRBY3Rpb246IHR5cGVvZiBhY3Rpb24gPSB7XG4gICAgICAgICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBkZWxheU1zID1cbiAgICAgICAgICAgICAgdHlwZW9mIGZpeHR1cmUuZGVsYXkgPT09ICdmdW5jdGlvbicgP1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGVsYXkoLi4uKGFyZ3MgYXMgYW55KSlcbiAgICAgICAgICAgICAgOiAoZml4dHVyZS5kZWxheSA/PyAwKTtcblxuICAgICAgICAgICAgaWYgKCdmZXRjaFJlc3BvbnNlJyBpbiBmaXh0dXJlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgZmV0Y2hSZXNwb25zZSB9ID0gZml4dHVyZTtcbiAgICAgICAgICAgICAgZml4dHVyZSA9IHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludDogZml4dHVyZS5lbmRwb2ludCxcbiAgICAgICAgICAgICAgICByZXNwb25zZSguLi5hcmdzKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBlbmRwb2ludCA9IChhY3Rpb24uZW5kcG9pbnQgYXMgYW55KS5leHRlbmQoe1xuICAgICAgICAgICAgICAgICAgICBmZXRjaFJlc3BvbnNlOiAoaW5wdXQ6IFJlcXVlc3RJbmZvLCBpbml0OiBSZXF1ZXN0SW5pdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJldCA9IGZldGNoUmVzcG9uc2UuY2FsbCh0aGlzLCBpbnB1dCwgaW5pdCk7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeShyZXQpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKGVuZHBvaW50IGFzIGFueSkoLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZldGNoID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWZpeHR1cmUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGZpeHR1cmUgZm91bmQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyBkZWxheUNvbGxhcHNlIGRldGVybWluZXMgd2hlbiB0aGUgZml4dHVyZSBmdW5jdGlvbiBpcyAnY29sbGFwc2VkJyAoYWthICdydW4nKVxuICAgICAgICAgICAgICAvLyBjb2xsYXBzZWQ6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvcGVuaGFnZW5faW50ZXJwcmV0YXRpb25cbiAgICAgICAgICAgICAgaWYgKGZpeHR1cmUuZGVsYXlDb2xsYXBzZSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBkZWxheU1zKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29sbGFwc2VGaXh0dXJlKFxuICAgICAgICAgICAgICAgIGZpeHR1cmUgYXMgYW55LFxuICAgICAgICAgICAgICAgIGFyZ3MgYXMgYW55LFxuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0b3JEYXRhLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBpZiAoIWZpeHR1cmUuZGVsYXlDb2xsYXBzZSAmJiBkZWxheU1zKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIGRlbGF5TXMpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVzdWx0LmVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgcmVzdWx0LnJlc3BvbnNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHQucmVzcG9uc2U7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHR5cGVvZiAocmVwbGFjZWRBY3Rpb24uZW5kcG9pbnQgYXMgYW55KS5leHRlbmQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgcmVwbGFjZWRBY3Rpb24uZW5kcG9pbnQgPSAocmVwbGFjZWRBY3Rpb24uZW5kcG9pbnQgYXMgYW55KS5leHRlbmQoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZmV0Y2gsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFRPRE86IGZ1bGwgdGVzdGluZyBvZiB0aGlzXG4gICAgICAgICAgICAgIHJlcGxhY2VkQWN0aW9uLmVuZHBvaW50ID0gZmV0Y2ggYXMgYW55O1xuICAgICAgICAgICAgICAocmVwbGFjZWRBY3Rpb24uZW5kcG9pbnQgYXMgYW55KS5fX3Byb3RvX18gPSBhY3Rpb24uZW5kcG9pbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRPRE86IG1ha2Ugc3VwZXIuZGlzcGF0Y2ggKG9uY2Ugd2UgZHJvcCBzdXBwb3J0IGZvciBkZXN0cnVjdHVyaW5nKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BhdGNoKHJlcGxhY2VkQWN0aW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETzogbWFrZSBzdXBlci5kaXNwYXRjaCAob25jZSB3ZSBkcm9wIHN1cHBvcnQgZm9yIGRlc3RydWN0dXJpbmcpXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgfSkgYXMgYW55O1xuICAgIH1cbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQ0VBLFdBQVcsUUFJTixhQUFhO0FBQ3BCLFNBQVNDLGVBQWUsUUFBUSxzQkFBc0I7QUFDdEQsU0FBU0MsZ0JBQWdCLFFBQVEsdUJBQXVCO0FBSXhELE9BQU8sU0FBU0MsY0FBY0EsQ0FDNUJDLElBQVcsRUFDWDtFQUNFQyxRQUFRLEdBQUcsRUFBRTtFQUNiQyx5QkFBeUIsR0FBR0EsQ0FBQSxNQUFPLENBQUMsQ0FBQztBQUN6QixDQUFDLEVBQ1I7RUFDUCxNQUFNLENBQUNDLFVBQVUsRUFBRUMsWUFBWSxDQUFDLEdBQUdOLGdCQUFnQixDQUFDRyxRQUFRLENBQUM7O0VBRTdEO0VBQ0E7RUFDQSxPQUFPLE1BQU1JLGdCQUFnQixTQUVuQkwsSUFBSSxDQUFJO0lBU2hCTSxXQUFXQSxDQUFDLEdBQUdDLElBQVcsRUFBRTtNQUMxQixLQUFLLENBQUMsR0FBR0EsSUFBSSxDQUFDOztNQUVkO01BQ0E7TUFaRjtNQUNBO01BQUEsS0FHQUosVUFBVSxHQUF5QkEsVUFBVTtNQUFBLEtBQzdDQyxZQUFZLEdBQXVCQSxZQUFZO01BQUEsS0FDL0NJLGVBQWUsR0FBTU4seUJBQXlCLENBQUMsQ0FBQztNQU85QyxJQUFJLENBQUMsSUFBSSxDQUFDTyxTQUFTLEVBQUU7UUFDbkIsSUFBSSxDQUFDQSxTQUFTLEdBQUlGLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBU0csUUFBUTtNQUM1QztJQUNGOztJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSUEsUUFBUUEsQ0FBQ0EsUUFBVyxFQUFFO01BQ3hCLElBQUksQ0FBQ0QsU0FBUyxHQUFHQyxRQUFRO0lBQzNCO0lBRUEsSUFBSUEsUUFBUUEsQ0FBQSxFQUFNO01BQ2hCLE9BQVNDLE1BQXdCLElBQW9CO1FBQUEsSUFBQUMsa0JBQUE7UUFDbkQ7UUFDQSxJQUFJRCxNQUFNLENBQUNFLElBQUksT0FBQUQsa0JBQUEsR0FBTWhCLFdBQVcsQ0FBQ2tCLEtBQUssWUFBQUYsa0JBQUEsR0FBSWhCLFdBQVcsQ0FBQ21CLFVBQVUsQ0FBQyxFQUFFO1VBQ2pFO1VBQ0EsSUFBSTtZQUFFQyxHQUFHO1lBQUVUO1VBQUssQ0FBQyxHQUFHSSxNQUFNO1VBQzFCLElBQUlNLE9BQTBDO1VBQzlDLElBQUksSUFBSSxDQUFDZCxVQUFVLENBQUNlLEdBQUcsQ0FBQ0YsR0FBRyxDQUFDLEVBQUU7WUFDNUJDLE9BQU8sR0FBRyxJQUFJLENBQUNkLFVBQVUsQ0FBQ2dCLEdBQUcsQ0FBQ0gsR0FBRyxDQUFZO1lBQzdDLElBQUksQ0FBQ1QsSUFBSSxFQUFFQSxJQUFJLEdBQUdVLE9BQU8sQ0FBQ1YsSUFBSTtZQUM5QjtVQUNGLENBQUMsTUFBTTtZQUNMLEtBQUssTUFBTWEsSUFBSSxJQUFJLElBQUksQ0FBQ2hCLFlBQVksRUFBRTtjQUNwQyxJQUFJZ0IsSUFBSSxDQUFDQyxRQUFRLENBQUNDLE9BQU8sQ0FBQ04sR0FBRyxDQUFDLEVBQUU7Z0JBQzlCQyxPQUFPLEdBQUdHLElBQUk7Z0JBQ2Q7Y0FDRjtZQUNGO1VBQ0Y7VUFDQTtVQUNBLElBQUlILE9BQU8sS0FBS00sU0FBUyxFQUFFO1lBQUEsSUFBQUMsY0FBQTtZQUN6QixNQUFNQyxjQUE2QixHQUFBQyxRQUFBLEtBQzlCZixNQUFNLENBQ1Y7WUFDRCxNQUFNZ0IsT0FBTyxHQUNYLE9BQU9WLE9BQU8sQ0FBQ1csS0FBSyxLQUFLLFVBQVUsR0FDakNYLE9BQU8sQ0FBQ1csS0FBSyxDQUFDLEdBQUlyQixJQUFZLENBQUMsSUFBQWlCLGNBQUEsR0FDOUJQLE9BQU8sQ0FBQ1csS0FBSyxZQUFBSixjQUFBLEdBQUksQ0FBRTtZQUV4QixJQUFJLGVBQWUsSUFBSVAsT0FBTyxFQUFFO2NBQzlCLE1BQU07Z0JBQUVZO2NBQWMsQ0FBQyxHQUFHWixPQUFPO2NBQ2pDQSxPQUFPLEdBQUc7Z0JBQ1JJLFFBQVEsRUFBRUosT0FBTyxDQUFDSSxRQUFRO2dCQUMxQlMsUUFBUUEsQ0FBQyxHQUFHdkIsSUFBSSxFQUFFO2tCQUNoQixNQUFNYyxRQUFRLEdBQUlWLE1BQU0sQ0FBQ1UsUUFBUSxDQUFTVSxNQUFNLENBQUM7b0JBQy9DRixhQUFhLEVBQUVBLENBQUNHLEtBQWtCLEVBQUVDLElBQWlCLEtBQUs7c0JBQ3hELE1BQU1DLEdBQUcsR0FBR0wsYUFBYSxDQUFDTSxJQUFJLENBQUMsSUFBSSxFQUFFSCxLQUFLLEVBQUVDLElBQUksQ0FBQztzQkFDakQsT0FBT0csT0FBTyxDQUFDQyxPQUFPLENBQ3BCLElBQUlDLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDQyxTQUFTLENBQUNOLEdBQUcsQ0FBQyxFQUFFO3dCQUNoQ08sTUFBTSxFQUFFLEdBQUc7d0JBQ1hDLE9BQU8sRUFBRSxJQUFJQyxPQUFPLENBQUM7MEJBQ25CLGNBQWMsRUFBRTt3QkFDbEIsQ0FBQztzQkFDSCxDQUFDLENBQ0gsQ0FBQztvQkFDSDtrQkFDRixDQUFDLENBQUM7a0JBQ0YsT0FBUXRCLFFBQVEsQ0FBUyxHQUFHZCxJQUFJLENBQUM7Z0JBQ25DO2NBQ0YsQ0FBQztZQUNIO1lBQ0EsTUFBTXFDLEtBQUssR0FBRyxNQUFBQSxDQUFBLEtBQVk7Y0FDeEIsSUFBSSxDQUFDM0IsT0FBTyxFQUFFO2dCQUNaLE1BQU0sSUFBSTRCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztjQUNyQztjQUNBO2NBQ0E7Y0FDQSxJQUFJNUIsT0FBTyxDQUFDNkIsYUFBYSxFQUFFO2dCQUN6QixNQUFNLElBQUlWLE9BQU8sQ0FBQ0MsT0FBTyxJQUFJVSxVQUFVLENBQUNWLE9BQU8sRUFBRVYsT0FBTyxDQUFDLENBQUM7Y0FDNUQ7Y0FDQSxNQUFNcUIsTUFBTSxHQUFHLE1BQU1uRCxlQUFlLENBQ2xDb0IsT0FBTyxFQUNQVixJQUFJLEVBQ0osSUFBSSxDQUFDQyxlQUNQLENBQUM7Y0FDRCxJQUFJLENBQUNTLE9BQU8sQ0FBQzZCLGFBQWEsSUFBSW5CLE9BQU8sRUFBRTtnQkFDckMsTUFBTSxJQUFJUyxPQUFPLENBQUNDLE9BQU8sSUFBSVUsVUFBVSxDQUFDVixPQUFPLEVBQUVWLE9BQU8sQ0FBQyxDQUFDO2NBQzVEO2NBQ0EsSUFBSXFCLE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO2dCQUNoQixNQUFNRCxNQUFNLENBQUNsQixRQUFRO2NBQ3ZCO2NBQ0EsT0FBT2tCLE1BQU0sQ0FBQ2xCLFFBQVE7WUFDeEIsQ0FBQztZQUNELElBQUksT0FBUUwsY0FBYyxDQUFDSixRQUFRLENBQVNVLE1BQU0sS0FBSyxVQUFVLEVBQUU7Y0FDakVOLGNBQWMsQ0FBQ0osUUFBUSxHQUFJSSxjQUFjLENBQUNKLFFBQVEsQ0FBU1UsTUFBTSxDQUMvRDtnQkFDRWE7Y0FDRixDQUNGLENBQUM7WUFDSCxDQUFDLE1BQU07Y0FDTDtjQUNBbkIsY0FBYyxDQUFDSixRQUFRLEdBQUd1QixLQUFZO2NBQ3JDbkIsY0FBYyxDQUFDSixRQUFRLENBQVM2QixTQUFTLEdBQUd2QyxNQUFNLENBQUNVLFFBQVE7WUFDOUQ7O1lBRUE7WUFDQSxPQUFPLElBQUksQ0FBQ1osU0FBUyxDQUFDZ0IsY0FBYyxDQUFDO1VBQ3ZDO1FBQ0Y7UUFDQTtRQUNBLE9BQU8sSUFBSSxDQUFDaEIsU0FBUyxDQUFDRSxNQUFNLENBQUM7TUFDL0IsQ0FBQztJQUNIO0VBQ0YsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,19 @@
1
+ export async function collapseFixture(fixture, args, interceptorData) {
2
+ let error = 'error' in fixture ? fixture.error : false;
3
+ let response = fixture.response;
4
+ if (typeof fixture.response === 'function') {
5
+ try {
6
+ response = await fixture.response.apply(interceptorData, args);
7
+ // dispatch goes through user-code that can sometimes fail.
8
+ // let's ensure we always handle errors
9
+ } catch (e) {
10
+ response = e;
11
+ error = true;
12
+ }
13
+ }
14
+ return {
15
+ response,
16
+ error
17
+ };
18
+ }
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2xsYXBzZUZpeHR1cmUiLCJmaXh0dXJlIiwiYXJncyIsImludGVyY2VwdG9yRGF0YSIsImVycm9yIiwicmVzcG9uc2UiLCJhcHBseSIsImUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9jay9jb2xsYXBzZUZpeHR1cmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaXh0dXJlLCBSZXNwb25zZUludGVyY2VwdG9yIH0gZnJvbSAnLi9maXh0dXJlVHlwZXMuanMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGFwc2VGaXh0dXJlKFxuICBmaXh0dXJlOiBGaXh0dXJlIHwgUmVzcG9uc2VJbnRlcmNlcHRvcixcbiAgYXJnczogYW55W10sXG4gIGludGVyY2VwdG9yRGF0YTogYW55LFxuKSB7XG4gIGxldCBlcnJvciA9ICdlcnJvcicgaW4gZml4dHVyZSA/IGZpeHR1cmUuZXJyb3IgOiBmYWxzZTtcbiAgbGV0IHJlc3BvbnNlID0gZml4dHVyZS5yZXNwb25zZTtcbiAgaWYgKHR5cGVvZiBmaXh0dXJlLnJlc3BvbnNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgZml4dHVyZS5yZXNwb25zZS5hcHBseShpbnRlcmNlcHRvckRhdGEsIGFyZ3MpO1xuICAgICAgLy8gZGlzcGF0Y2ggZ29lcyB0aHJvdWdoIHVzZXItY29kZSB0aGF0IGNhbiBzb21ldGltZXMgZmFpbC5cbiAgICAgIC8vIGxldCdzIGVuc3VyZSB3ZSBhbHdheXMgaGFuZGxlIGVycm9yc1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgcmVzcG9uc2UgPSBlO1xuICAgICAgZXJyb3IgPSB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyByZXNwb25zZSwgZXJyb3IgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxlQUFlQSxlQUFlQSxDQUNuQ0MsT0FBc0MsRUFDdENDLElBQVcsRUFDWEMsZUFBb0IsRUFDcEI7RUFDQSxJQUFJQyxLQUFLLEdBQUcsT0FBTyxJQUFJSCxPQUFPLEdBQUdBLE9BQU8sQ0FBQ0csS0FBSyxHQUFHLEtBQUs7RUFDdEQsSUFBSUMsUUFBUSxHQUFHSixPQUFPLENBQUNJLFFBQVE7RUFDL0IsSUFBSSxPQUFPSixPQUFPLENBQUNJLFFBQVEsS0FBSyxVQUFVLEVBQUU7SUFDMUMsSUFBSTtNQUNGQSxRQUFRLEdBQUcsTUFBTUosT0FBTyxDQUFDSSxRQUFRLENBQUNDLEtBQUssQ0FBQ0gsZUFBZSxFQUFFRCxJQUFJLENBQUM7TUFDOUQ7TUFDQTtJQUNGLENBQUMsQ0FBQyxPQUFPSyxDQUFNLEVBQUU7TUFDZkYsUUFBUSxHQUFHRSxDQUFDO01BQ1pILEtBQUssR0FBRyxJQUFJO0lBQ2Q7RUFDRjtFQUNBLE9BQU87SUFBRUMsUUFBUTtJQUFFRDtFQUFNLENBQUM7QUFDNUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,23 @@
1
+ export function createFixtureMap(fixtures = []) {
2
+ const map = new Map();
3
+ const computed = [];
4
+ for (const fixture of fixtures) {
5
+ if ('args' in fixture) {
6
+ if (typeof fixture.response !== 'function') {
7
+ const key = fixture.endpoint.key(...fixture.args);
8
+ map.set(key, fixture);
9
+ } else {
10
+ // this has to be a typo. probably needs to remove args
11
+ console.warn(`Fixture found with function response, and explicit args. Interceptors should not specify args.
12
+ ${fixture.endpoint.name}: ${JSON.stringify(fixture.args)}
13
+
14
+ Treating as Interceptor`);
15
+ computed.push(fixture);
16
+ }
17
+ } else {
18
+ computed.push(fixture);
19
+ }
20
+ }
21
+ return [map, computed];
22
+ }
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVGaXh0dXJlTWFwIiwiZml4dHVyZXMiLCJtYXAiLCJNYXAiLCJjb21wdXRlZCIsImZpeHR1cmUiLCJyZXNwb25zZSIsImtleSIsImVuZHBvaW50IiwiYXJncyIsInNldCIsImNvbnNvbGUiLCJ3YXJuIiwibmFtZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJwdXNoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vY2svY3JlYXRlRml4dHVyZU1hcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpeHR1cmUsIEludGVyY2VwdG9yIH0gZnJvbSAnLi9maXh0dXJlVHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRml4dHVyZU1hcChmaXh0dXJlczogKEZpeHR1cmUgfCBJbnRlcmNlcHRvcilbXSA9IFtdKSB7XG4gIGNvbnN0IG1hcDogTWFwPHN0cmluZywgRml4dHVyZT4gPSBuZXcgTWFwKCk7XG4gIGNvbnN0IGNvbXB1dGVkOiBJbnRlcmNlcHRvcltdID0gW107XG4gIGZvciAoY29uc3QgZml4dHVyZSBvZiBmaXh0dXJlcykge1xuICAgIGlmICgnYXJncycgaW4gZml4dHVyZSkge1xuICAgICAgaWYgKHR5cGVvZiBmaXh0dXJlLnJlc3BvbnNlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGZpeHR1cmUuZW5kcG9pbnQua2V5KC4uLmZpeHR1cmUuYXJncyk7XG4gICAgICAgIG1hcC5zZXQoa2V5LCBmaXh0dXJlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHRoaXMgaGFzIHRvIGJlIGEgdHlwby4gcHJvYmFibHkgbmVlZHMgdG8gcmVtb3ZlIGFyZ3NcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBGaXh0dXJlIGZvdW5kIHdpdGggZnVuY3Rpb24gcmVzcG9uc2UsIGFuZCBleHBsaWNpdCBhcmdzLiBJbnRlcmNlcHRvcnMgc2hvdWxkIG5vdCBzcGVjaWZ5IGFyZ3MuXG4ke2ZpeHR1cmUuZW5kcG9pbnQubmFtZX06ICR7SlNPTi5zdHJpbmdpZnkoZml4dHVyZS5hcmdzKX1cblxuVHJlYXRpbmcgYXMgSW50ZXJjZXB0b3JgLFxuICAgICAgICApO1xuICAgICAgICBjb21wdXRlZC5wdXNoKGZpeHR1cmUgYXMgYW55KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29tcHV0ZWQucHVzaChmaXh0dXJlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFttYXAsIGNvbXB1dGVkXSBhcyBjb25zdDtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxTQUFTQSxnQkFBZ0JBLENBQUNDLFFBQW1DLEdBQUcsRUFBRSxFQUFFO0VBQ3pFLE1BQU1DLEdBQXlCLEdBQUcsSUFBSUMsR0FBRyxDQUFDLENBQUM7RUFDM0MsTUFBTUMsUUFBdUIsR0FBRyxFQUFFO0VBQ2xDLEtBQUssTUFBTUMsT0FBTyxJQUFJSixRQUFRLEVBQUU7SUFDOUIsSUFBSSxNQUFNLElBQUlJLE9BQU8sRUFBRTtNQUNyQixJQUFJLE9BQU9BLE9BQU8sQ0FBQ0MsUUFBUSxLQUFLLFVBQVUsRUFBRTtRQUMxQyxNQUFNQyxHQUFHLEdBQUdGLE9BQU8sQ0FBQ0csUUFBUSxDQUFDRCxHQUFHLENBQUMsR0FBR0YsT0FBTyxDQUFDSSxJQUFJLENBQUM7UUFDakRQLEdBQUcsQ0FBQ1EsR0FBRyxDQUFDSCxHQUFHLEVBQUVGLE9BQU8sQ0FBQztNQUN2QixDQUFDLE1BQU07UUFDTDtRQUNBTSxPQUFPLENBQUNDLElBQUksQ0FDVjtBQUNWLEVBQUVQLE9BQU8sQ0FBQ0csUUFBUSxDQUFDSyxJQUFJLEtBQUtDLElBQUksQ0FBQ0MsU0FBUyxDQUFDVixPQUFPLENBQUNJLElBQUksQ0FBQztBQUN4RDtBQUNBLHdCQUNRLENBQUM7UUFDREwsUUFBUSxDQUFDWSxJQUFJLENBQUNYLE9BQWMsQ0FBQztNQUMvQjtJQUNGLENBQUMsTUFBTTtNQUNMRCxRQUFRLENBQUNZLElBQUksQ0FBQ1gsT0FBTyxDQUFDO0lBQ3hCO0VBQ0Y7RUFDQSxPQUFPLENBQUNILEdBQUcsRUFBRUUsUUFBUSxDQUFDO0FBQ3hCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vY2svZml4dHVyZVR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW5kcG9pbnRJbnRlcmZhY2UsIFJlc29sdmVUeXBlIH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcblxudHlwZSBVcGRhdGVyID0gKFxuICByZXN1bHQ6IGFueSxcbiAgLi4uYXJnczogYW55XG4pID0+IFJlY29yZDxzdHJpbmcsICguLi5hcmdzOiBhbnkpID0+IGFueT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VjY2Vzc0ZpeHR1cmVFbmRwb2ludDxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYgeyB1cGRhdGU/OiBVcGRhdGVyIH0gPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICByZWFkb25seSBlbmRwb2ludDogRTtcbiAgcmVhZG9ubHkgYXJnczogUGFyYW1ldGVyczxFPjtcbiAgcmVhZG9ubHkgcmVzcG9uc2U6XG4gICAgfCBSZXNvbHZlVHlwZTxFPlxuICAgIHwgKCguLi5hcmdzOiBQYXJhbWV0ZXJzPEU+KSA9PiBSZXNvbHZlVHlwZTxFPik7XG4gIHJlYWRvbmx5IGVycm9yPzogZmFsc2U7XG4gIC8qKiBOdW1iZXIgb2YgbWlsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgcmVzb2x2aW5nICovXG4gIHJlYWRvbmx5IGRlbGF5PzogbnVtYmVyO1xuICAvKiogV2FpdHMgdG8gcnVuIGByZXNwb25zZSgpYCBhZnRlciBgZGVsYXlgIHRpbWUgKi9cbiAgcmVhZG9ubHkgZGVsYXlDb2xsYXBzZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VJbnRlcmNlcHRvcjxcbiAgVCA9IGFueSxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IFVwZGF0ZXI7XG4gICAgdGVzdEtleShrZXk6IHN0cmluZyk6IGJvb2xlYW47XG4gIH0gPSBFbmRwb2ludEludGVyZmFjZSAmIHsgdGVzdEtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4gfSxcbj4ge1xuICByZWFkb25seSBlbmRwb2ludDogRTtcbiAgcmVzcG9uc2UodGhpczogVCwgLi4uYXJnczogUGFyYW1ldGVyczxFPik6IFJlc29sdmVUeXBlPEU+O1xuICAvKiogTnVtYmVyIG9mIG1pbGlzZWNvbmRzIChvciBmdW5jdGlvbiB0aGF0IHJldHVybnMpIHRvIHdhaXQgYmVmb3JlIHJlc29sdmluZyAqL1xuICByZWFkb25seSBkZWxheT86IG51bWJlciB8ICgoLi4uYXJnczogUGFyYW1ldGVyczxFPikgPT4gbnVtYmVyKTtcbiAgLyoqIFdhaXRzIHRvIHJ1biBgcmVzcG9uc2UoKWAgYWZ0ZXIgYGRlbGF5YCB0aW1lICovXG4gIHJlYWRvbmx5IGRlbGF5Q29sbGFwc2U/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBGZXRjaEludGVyY2VwdG9yPFxuICBUID0gYW55LFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogVXBkYXRlcjtcbiAgICB0ZXN0S2V5KGtleTogc3RyaW5nKTogYm9vbGVhbjtcbiAgICBmZXRjaFJlc3BvbnNlKGlucHV0OiBSZXF1ZXN0SW5mbywgaW5pdDogUmVxdWVzdEluaXQpOiBQcm9taXNlPFJlc3BvbnNlPjtcbiAgICBleHRlbmQob3B0aW9uczogYW55KTogYW55O1xuICB9ID0gRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdGVzdEtleShrZXk6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgZmV0Y2hSZXNwb25zZShpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ6IFJlcXVlc3RJbml0KTogUHJvbWlzZTxSZXNwb25zZT47XG4gICAgZXh0ZW5kKG9wdGlvbnM6IGFueSk6IGFueTtcbiAgfSxcbj4ge1xuICByZWFkb25seSBlbmRwb2ludDogRTtcbiAgZmV0Y2hSZXNwb25zZSh0aGlzOiBULCBpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ6IFJlcXVlc3RJbml0KTogUmVzb2x2ZVR5cGU8RT47XG4gIC8qKiBOdW1iZXIgb2YgbWlsaXNlY29uZHMgKG9yIGZ1bmN0aW9uIHRoYXQgcmV0dXJucykgdG8gd2FpdCBiZWZvcmUgcmVzb2x2aW5nICovXG4gIHJlYWRvbmx5IGRlbGF5PzogbnVtYmVyIHwgKCguLi5hcmdzOiBQYXJhbWV0ZXJzPEU+KSA9PiBudW1iZXIpO1xuICAvKiogV2FpdHMgdG8gcnVuIGByZXNwb25zZSgpYCBhZnRlciBgZGVsYXlgIHRpbWUgKi9cbiAgcmVhZG9ubHkgZGVsYXlDb2xsYXBzZT86IGJvb2xlYW47XG59XG4vKiogSW50ZXJjZXB0b3JzIG1hdGNoIGFuZCBjb21wdXRlIGR5bmFtaWMgcmVzcG9uc2VzIGJhc2VkIG9uIGFyZ3NcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9GaXh0dXJlcyNpbnRlcmNlcHRvclxuICovXG5leHBvcnQgdHlwZSBJbnRlcmNlcHRvcjxcbiAgVCA9IGFueSxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IFVwZGF0ZXI7XG4gICAgdGVzdEtleShrZXk6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgZmV0Y2hSZXNwb25zZT8oaW5wdXQ6IFJlcXVlc3RJbmZvLCBpbml0OiBSZXF1ZXN0SW5pdCk6IFByb21pc2U8UmVzcG9uc2U+O1xuICAgIGV4dGVuZD8ob3B0aW9uczogYW55KTogYW55O1xuICB9ID0gRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdGVzdEtleShrZXk6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgZmV0Y2hSZXNwb25zZShpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ6IFJlcXVlc3RJbml0KTogUHJvbWlzZTxSZXNwb25zZT47XG4gICAgZXh0ZW5kKG9wdGlvbnM6IGFueSk6IGFueTtcbiAgfSxcbj4gPVxuICB8IFJlc3BvbnNlSW50ZXJjZXB0b3I8VCwgRT5cbiAgfCAoRSBleHRlbmRzIChcbiAgICAgIHtcbiAgICAgICAgZmV0Y2hSZXNwb25zZShpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ6IFJlcXVlc3RJbml0KTogUHJvbWlzZTxSZXNwb25zZT47XG4gICAgICAgIGV4dGVuZChvcHRpb25zOiBhbnkpOiBhbnk7XG4gICAgICB9XG4gICAgKSA/XG4gICAgICBGZXRjaEludGVyY2VwdG9yPFQsIEU+XG4gICAgOiBuZXZlcik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JGaXh0dXJlRW5kcG9pbnQ8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSAmIHsgdXBkYXRlPzogVXBkYXRlciB9ID0gRW5kcG9pbnRJbnRlcmZhY2UsXG4+IHtcbiAgcmVhZG9ubHkgZW5kcG9pbnQ6IEU7XG4gIHJlYWRvbmx5IGFyZ3M6IFBhcmFtZXRlcnM8RT47XG4gIHJlYWRvbmx5IHJlc3BvbnNlOiBhbnk7XG4gIHJlYWRvbmx5IGVycm9yOiB0cnVlO1xuICAvKiogTnVtYmVyIG9mIG1pbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHJlc29sdmluZyAqL1xuICByZWFkb25seSBkZWxheT86IG51bWJlcjtcbiAgLyoqIFdhaXRzIHRvIHJ1biBgcmVzcG9uc2UoKWAgYWZ0ZXIgYGRlbGF5YCB0aW1lICovXG4gIHJlYWRvbmx5IGRlbGF5Q29sbGFwc2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBGaXh0dXJlRW5kcG9pbnQ8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSAmIHsgdXBkYXRlPzogVXBkYXRlciB9ID0gRW5kcG9pbnRJbnRlcmZhY2UsXG4+ID0gU3VjY2Vzc0ZpeHR1cmVFbmRwb2ludDxFPiB8IEVycm9yRml4dHVyZUVuZHBvaW50PEU+O1xuXG4vKiogUmVwcmVzZW50cyBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2VcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9GaXh0dXJlcyNzdWNjZXNzZml4dHVyZVxuICovXG5leHBvcnQgdHlwZSBTdWNjZXNzRml4dHVyZTxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYgeyB1cGRhdGU/OiBVcGRhdGVyIH0gPSBFbmRwb2ludEludGVyZmFjZSxcbj4gPSBTdWNjZXNzRml4dHVyZUVuZHBvaW50PEU+O1xuLyoqIFJlcHJlc2VudHMgYSBmYWlsZWQvZXJyb3JlZCByZXNwb25zZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL2RvY3MvYXBpL0ZpeHR1cmVzI2Vycm9yZml4dHVyZXNcbiAqL1xuZXhwb3J0IHR5cGUgRXJyb3JGaXh0dXJlPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7IHVwZGF0ZT86IFVwZGF0ZXIgfSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiA9IEVycm9yRml4dHVyZUVuZHBvaW50PEU+O1xuLyoqIFJlcHJlc2VudHMgYSBzdGF0aWMgcmVzcG9uc2VcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9GaXh0dXJlc1xuICovXG5leHBvcnQgdHlwZSBGaXh0dXJlPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7IHVwZGF0ZT86IFVwZGF0ZXIgfSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiA9IEZpeHR1cmVFbmRwb2ludDxFPjtcbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,5 @@
1
+ export { MockController } from './MockController.js';
2
+ export { collapseFixture } from './collapseFixture.js';
3
+ export { createFixtureMap } from './createFixtureMap.js';
4
+ export { default as mockInitialState } from './mockState.js';
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2NrQ29udHJvbGxlciIsImNvbGxhcHNlRml4dHVyZSIsImNyZWF0ZUZpeHR1cmVNYXAiLCJkZWZhdWx0IiwibW9ja0luaXRpYWxTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2NrL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE1vY2tDb250cm9sbGVyIH0gZnJvbSAnLi9Nb2NrQ29udHJvbGxlci5qcyc7XG5leHBvcnQgdHlwZSB7IE1vY2tQcm9wcyB9IGZyb20gJy4vbW9ja1R5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgRml4dHVyZSxcbiAgU3VjY2Vzc0ZpeHR1cmUsXG4gIEVycm9yRml4dHVyZSxcbiAgSW50ZXJjZXB0b3IsXG4gIFJlc3BvbnNlSW50ZXJjZXB0b3IsXG4gIEZldGNoSW50ZXJjZXB0b3IsXG4gIEZpeHR1cmVFbmRwb2ludCxcbiAgU3VjY2Vzc0ZpeHR1cmVFbmRwb2ludCxcbiAgRXJyb3JGaXh0dXJlRW5kcG9pbnQsXG59IGZyb20gJy4vZml4dHVyZVR5cGVzLmpzJztcbmV4cG9ydCB7IGNvbGxhcHNlRml4dHVyZSB9IGZyb20gJy4vY29sbGFwc2VGaXh0dXJlLmpzJztcbmV4cG9ydCB7IGNyZWF0ZUZpeHR1cmVNYXAgfSBmcm9tICcuL2NyZWF0ZUZpeHR1cmVNYXAuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtb2NrSW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9tb2NrU3RhdGUuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLFFBQVEscUJBQXFCO0FBYXBELFNBQVNDLGVBQWUsUUFBUSxzQkFBc0I7QUFDdEQsU0FBU0MsZ0JBQWdCLFFBQVEsdUJBQXVCO0FBQ3hELFNBQVNDLE9BQU8sSUFBSUMsZ0JBQWdCLFFBQVEsZ0JBQWdCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,44 @@
1
+ import { Controller, createReducer, __INTERNAL__ } from '../index.js';
2
+ const {
3
+ initialState
4
+ } = __INTERNAL__;
5
+ export default function mockInitialState(fixtures = []) {
6
+ const actions = [];
7
+ const dispatch = action => {
8
+ actions.push(action);
9
+ return Promise.resolve();
10
+ };
11
+ const controller = new Controller({
12
+ dispatch
13
+ });
14
+ const reducer = createReducer(controller);
15
+ fixtures.forEach(fixture => {
16
+ dispatchFixture(fixture, fixture.args, controller);
17
+ });
18
+ return actions.reduce(reducer, initialState);
19
+ }
20
+ function dispatchFixture(fixture, args, controller, fetchedAt) {
21
+ // eslint-disable-next-line prefer-const
22
+ let {
23
+ endpoint
24
+ } = fixture;
25
+ const {
26
+ response,
27
+ error
28
+ } = fixture;
29
+ if (controller.resolve) {
30
+ controller.resolve(endpoint, {
31
+ args,
32
+ response,
33
+ error,
34
+ fetchedAt: fetchedAt != null ? fetchedAt : Date.now()
35
+ });
36
+ } else {
37
+ if (error === true) {
38
+ controller.setError(endpoint, ...args, response);
39
+ } else {
40
+ controller.setResponse(endpoint, ...args, response);
41
+ }
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250cm9sbGVyIiwiY3JlYXRlUmVkdWNlciIsIl9fSU5URVJOQUxfXyIsImluaXRpYWxTdGF0ZSIsIm1vY2tJbml0aWFsU3RhdGUiLCJmaXh0dXJlcyIsImFjdGlvbnMiLCJkaXNwYXRjaCIsImFjdGlvbiIsInB1c2giLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvbnRyb2xsZXIiLCJyZWR1Y2VyIiwiZm9yRWFjaCIsImZpeHR1cmUiLCJkaXNwYXRjaEZpeHR1cmUiLCJhcmdzIiwicmVkdWNlIiwiZmV0Y2hlZEF0IiwiZW5kcG9pbnQiLCJyZXNwb25zZSIsImVycm9yIiwiRGF0ZSIsIm5vdyIsInNldEVycm9yIiwic2V0UmVzcG9uc2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9jay9tb2NrU3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2V0QWN0aW9uLFxuICBTdGF0ZSxcbiAgQWN0aW9uVHlwZXMsXG4gIENvbnRyb2xsZXIsXG4gIGNyZWF0ZVJlZHVjZXIsXG4gIF9fSU5URVJOQUxfXyxcbn0gZnJvbSAnLi4vaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBGaXh0dXJlIH0gZnJvbSAnLi9maXh0dXJlVHlwZXMuanMnO1xuXG5jb25zdCB7IGluaXRpYWxTdGF0ZSB9ID0gX19JTlRFUk5BTF9fO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtb2NrSW5pdGlhbFN0YXRlKFxuICBmaXh0dXJlczogRml4dHVyZVtdID0gW10sXG4pOiBTdGF0ZTx1bmtub3duPiB7XG4gIGNvbnN0IGFjdGlvbnM6IFNldEFjdGlvbltdID0gW107XG4gIGNvbnN0IGRpc3BhdGNoID0gKGFjdGlvbjogYW55KSA9PiB7XG4gICAgYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9O1xuICBjb25zdCBjb250cm9sbGVyID0gbmV3IENvbnRyb2xsZXIoeyBkaXNwYXRjaCB9KTtcbiAgY29uc3QgcmVkdWNlcjogKFxuICAgIHN0YXRlOiBTdGF0ZTx1bmtub3duPiB8IHVuZGVmaW5lZCxcbiAgICBhY3Rpb246IEFjdGlvblR5cGVzLFxuICApID0+IFN0YXRlPHVua25vd24+ID0gY3JlYXRlUmVkdWNlcihjb250cm9sbGVyKTtcblxuICBmaXh0dXJlcy5mb3JFYWNoKGZpeHR1cmUgPT4ge1xuICAgIGRpc3BhdGNoRml4dHVyZShmaXh0dXJlLCBmaXh0dXJlLmFyZ3MsIGNvbnRyb2xsZXIpO1xuICB9KTtcbiAgcmV0dXJuIGFjdGlvbnMucmVkdWNlKHJlZHVjZXIsIGluaXRpYWxTdGF0ZSk7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoRml4dHVyZShcbiAgZml4dHVyZTogRml4dHVyZSxcbiAgYXJnczogYW55W10sXG4gIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4gIGZldGNoZWRBdD86IG51bWJlcixcbikge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gIGxldCB7IGVuZHBvaW50IH0gPSBmaXh0dXJlO1xuICBjb25zdCB7IHJlc3BvbnNlLCBlcnJvciB9ID0gZml4dHVyZTtcbiAgaWYgKGNvbnRyb2xsZXIucmVzb2x2ZSkge1xuICAgIGNvbnRyb2xsZXIucmVzb2x2ZShlbmRwb2ludCwge1xuICAgICAgYXJncyxcbiAgICAgIHJlc3BvbnNlLFxuICAgICAgZXJyb3IsXG4gICAgICBmZXRjaGVkQXQ6IGZldGNoZWRBdCA/PyBEYXRlLm5vdygpLFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGlmIChlcnJvciA9PT0gdHJ1ZSkge1xuICAgICAgY29udHJvbGxlci5zZXRFcnJvcihlbmRwb2ludCwgLi4uYXJncywgcmVzcG9uc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250cm9sbGVyLnNldFJlc3BvbnNlKGVuZHBvaW50LCAuLi5hcmdzLCByZXNwb25zZSk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBSUVBLFVBQVUsRUFDVkMsYUFBYSxFQUNiQyxZQUFZLFFBQ1AsYUFBYTtBQUdwQixNQUFNO0VBQUVDO0FBQWEsQ0FBQyxHQUFHRCxZQUFZO0FBRXJDLGVBQWUsU0FBU0UsZ0JBQWdCQSxDQUN0Q0MsUUFBbUIsR0FBRyxFQUFFLEVBQ1I7RUFDaEIsTUFBTUMsT0FBb0IsR0FBRyxFQUFFO0VBQy9CLE1BQU1DLFFBQVEsR0FBSUMsTUFBVyxJQUFLO0lBQ2hDRixPQUFPLENBQUNHLElBQUksQ0FBQ0QsTUFBTSxDQUFDO0lBQ3BCLE9BQU9FLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUM7RUFDMUIsQ0FBQztFQUNELE1BQU1DLFVBQVUsR0FBRyxJQUFJWixVQUFVLENBQUM7SUFBRU87RUFBUyxDQUFDLENBQUM7RUFDL0MsTUFBTU0sT0FHYSxHQUFHWixhQUFhLENBQUNXLFVBQVUsQ0FBQztFQUUvQ1AsUUFBUSxDQUFDUyxPQUFPLENBQUNDLE9BQU8sSUFBSTtJQUMxQkMsZUFBZSxDQUFDRCxPQUFPLEVBQUVBLE9BQU8sQ0FBQ0UsSUFBSSxFQUFFTCxVQUFVLENBQUM7RUFDcEQsQ0FBQyxDQUFDO0VBQ0YsT0FBT04sT0FBTyxDQUFDWSxNQUFNLENBQUNMLE9BQU8sRUFBRVYsWUFBWSxDQUFDO0FBQzlDO0FBRUEsU0FBU2EsZUFBZUEsQ0FDdEJELE9BQWdCLEVBQ2hCRSxJQUFXLEVBQ1hMLFVBQXNCLEVBQ3RCTyxTQUFrQixFQUNsQjtFQUNBO0VBQ0EsSUFBSTtJQUFFQztFQUFTLENBQUMsR0FBR0wsT0FBTztFQUMxQixNQUFNO0lBQUVNLFFBQVE7SUFBRUM7RUFBTSxDQUFDLEdBQUdQLE9BQU87RUFDbkMsSUFBSUgsVUFBVSxDQUFDRCxPQUFPLEVBQUU7SUFDdEJDLFVBQVUsQ0FBQ0QsT0FBTyxDQUFDUyxRQUFRLEVBQUU7TUFDM0JILElBQUk7TUFDSkksUUFBUTtNQUNSQyxLQUFLO01BQ0xILFNBQVMsRUFBRUEsU0FBUyxXQUFUQSxTQUFTLEdBQUlJLElBQUksQ0FBQ0MsR0FBRyxDQUFDO0lBQ25DLENBQUMsQ0FBQztFQUNKLENBQUMsTUFBTTtJQUNMLElBQUlGLEtBQUssS0FBSyxJQUFJLEVBQUU7TUFDbEJWLFVBQVUsQ0FBQ2EsUUFBUSxDQUFDTCxRQUFRLEVBQUUsR0FBR0gsSUFBSSxFQUFFSSxRQUFRLENBQUM7SUFDbEQsQ0FBQyxNQUFNO01BQ0xULFVBQVUsQ0FBQ2MsV0FBVyxDQUFDTixRQUFRLEVBQUUsR0FBR0gsSUFBSSxFQUFFSSxRQUFRLENBQUM7SUFDckQ7RUFDRjtBQUNGIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vY2svbW9ja1R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRml4dHVyZSwgSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ZpeHR1cmVUeXBlcy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1Byb3BzPFQgPSBhbnk+IHtcbiAgcmVhZG9ubHkgZml4dHVyZXM/OiAoRml4dHVyZSB8IEludGVyY2VwdG9yPFQ+KVtdO1xuICBnZXRJbml0aWFsSW50ZXJjZXB0b3JEYXRhPzogKCkgPT4gVDtcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionManager.d.ts","sourceRoot":"","sources":["../../src/manager/SubscriptionManager.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,KAAK,OAAO,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEnD,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,KACE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EACrC,UAAU,EAAE,UAAU,GACrB,YAAY,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB,CACtC,CAAC,SAAS,yBAAyB,GAAG,yBAAyB,CAC/D,YAAW,OAAO,CAAC,OAAO,CAAC;IAE3B,SAAS,CAAC,aAAa,EAAE;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;KAChC,CAAM;IAEP,mBAA2B,YAAY,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,UAAU,EAAE,UAAU,CAAoB;gBAExC,YAAY,EAAE,CAAC;IAI3B,UAAU,EAAE,UAAU,CAkBpB;IAEF,gDAAgD;IAChD,OAAO;IAMP;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe;IAcjD;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;CActD"}
1
+ {"version":3,"file":"SubscriptionManager.d.ts","sourceRoot":"","sources":["../../src/manager/SubscriptionManager.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,KAAK,OAAO,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEnD,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,KACE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EACrC,UAAU,EAAE,UAAU,GACrB,YAAY,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB,CACtC,CAAC,SAAS,yBAAyB,GAAG,yBAAyB,CAC/D,YAAW,OAAO,CAAC,OAAO,CAAC;IAC3B,SAAS,CAAC,aAAa,EAAE;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;KAChC,CAAM;IAEP,mBAA2B,YAAY,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,UAAU,EAAE,UAAU,CAAoB;gBAExC,YAAY,EAAE,CAAC;IAI3B,UAAU,EAAE,UAAU,CAkBpB;IAEF,gDAAgD;IAChD,OAAO;IAMP;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe;IAcjD;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;CActD"}
@@ -75,4 +75,4 @@ export default class SubscriptionManager {
75
75
  }
76
76
  }
77
77
  }
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkUiLCJVTlNVQlNDUklCRSIsIkNvbnRyb2xsZXIiLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb25zIiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZVN1YnNjcmliZSIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImhhbmRsZVVuc3Vic2NyaWJlIiwiY2xlYW51cCIsImtleSIsImZyZXF1ZW5jeSIsImVuZHBvaW50IiwicG9sbEZyZXF1ZW5jeSIsImFkZCIsImVtcHR5IiwicmVtb3ZlIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkUsIFVOU1VCU0NSSUJFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWFuYWdlcixcbiAgTWlkZGxld2FyZSxcbiAgVW5zdWJzY3JpYmVBY3Rpb24sXG4gIFN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIEFjdGlvbnMgPSBVbnN1YnNjcmliZUFjdGlvbiB8IFN1YnNjcmliZUFjdGlvbjtcblxuLyoqIEludGVyZmFjZSBoYW5kbGluZyBhIHNpbmdsZSByZXNvdXJjZSBzdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgYWRkKGZyZXF1ZW5jeT86IG51bWJlcik6IHZvaWQ7XG4gIHJlbW92ZShmcmVxdWVuY3k/OiBudW1iZXIpOiBib29sZWFuO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG5cbi8qKiBUaGUgc3RhdGljIGNsYXNzIHRoYXQgY29uc3RydWN0cyBTdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSB7XG4gIG5ldyAoXG4gICAgYWN0aW9uOiBPbWl0PFN1YnNjcmliZUFjdGlvbiwgJ3R5cGUnPixcbiAgICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuICApOiBTdWJzY3JpcHRpb247XG59XG5cbi8qKiBIYW5kbGVzIHN1YnNjcmlwdGlvbiBhY3Rpb25zIC0+IGZldGNoIG9yIHNldCBhY3Rpb25zXG4gKlxuICogQ29uc3RydWN0b3IgdGFrZXMgYSBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlIGNsYXNzIHRvIGNvbnRyb2wgaG93XG4gKiBzdWJzY3JpcHRpb25zIGFyZSBoYW5kbGVkLiAoZS5nLiwgcG9sbGluZywgd2Vic29ja2V0cylcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9TdWJzY3JpcHRpb25NYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnNjcmlwdGlvbk1hbmFnZXI8XG4gIFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlID0gU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSxcbj4gaW1wbGVtZW50cyBNYW5hZ2VyPEFjdGlvbnM+XG57XG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiB7XG4gICAgW2tleTogc3RyaW5nXTogSW5zdGFuY2VUeXBlPFM+O1xuICB9ID0ge307XG5cbiAgZGVjbGFyZSBwcm90ZWN0ZWQgcmVhZG9ubHkgU3Vic2NyaXB0aW9uOiBTO1xuICBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG5cbiAgY29uc3RydWN0b3IoU3Vic2NyaXB0aW9uOiBTKSB7XG4gICAgdGhpcy5TdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb247XG4gIH1cblxuICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlID0gY29udHJvbGxlciA9PiB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFNVQlNDUklCRTpcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdWJzY3JpYmUoYWN0aW9uKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIGNhc2UgVU5TVUJTQ1JJQkU6XG4gICAgICAgICAgdGhpcy5oYW5kbGVVbnN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgfVxuICAgIH07XG4gIH07XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5jbGVhbnVwKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3N1YnNjcmliZScgYWN0aW9uLlxuICAgKlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVN1YnNjcmliZShhY3Rpb246IFN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICBpZiAoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgY29uc3QgZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5hZGQoZnJlcXVlbmN5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2tleV0gPSBuZXcgdGhpcy5TdWJzY3JpcHRpb24oXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLFxuICAgICAgKSBhcyBJbnN0YW5jZVR5cGU8Uz47XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3Vuc3Vic2NyaWJlJyBhY3Rpb24uXG4gICAqXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlVW5zdWJzY3JpYmUoYWN0aW9uOiBVbnN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIGNvbnN0IGVtcHR5ID0gdGhpcy5zdWJzY3JpcHRpb25zW2tleV0ucmVtb3ZlKGZyZXF1ZW5jeSk7XG4gICAgICBpZiAoZW1wdHkpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc29sZS5lcnJvcihgTWlzbWF0Y2hlZCB1bnN1YnNjcmliZTogJHtrZXl9IGlzIG5vdCBzdWJzY3JpYmVkYCk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsRUFBRUMsV0FBVyxRQUFRLG1CQUFtQjtBQUMxRCxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCOztBQVVwRDs7QUFP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
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkUiLCJVTlNVQlNDUklCRSIsIkNvbnRyb2xsZXIiLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb25zIiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZVN1YnNjcmliZSIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImhhbmRsZVVuc3Vic2NyaWJlIiwiY2xlYW51cCIsImtleSIsImZyZXF1ZW5jeSIsImVuZHBvaW50IiwicG9sbEZyZXF1ZW5jeSIsImFkZCIsImVtcHR5IiwicmVtb3ZlIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkUsIFVOU1VCU0NSSUJFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWFuYWdlcixcbiAgTWlkZGxld2FyZSxcbiAgVW5zdWJzY3JpYmVBY3Rpb24sXG4gIFN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIEFjdGlvbnMgPSBVbnN1YnNjcmliZUFjdGlvbiB8IFN1YnNjcmliZUFjdGlvbjtcblxuLyoqIEludGVyZmFjZSBoYW5kbGluZyBhIHNpbmdsZSByZXNvdXJjZSBzdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgYWRkKGZyZXF1ZW5jeT86IG51bWJlcik6IHZvaWQ7XG4gIHJlbW92ZShmcmVxdWVuY3k/OiBudW1iZXIpOiBib29sZWFuO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG5cbi8qKiBUaGUgc3RhdGljIGNsYXNzIHRoYXQgY29uc3RydWN0cyBTdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSB7XG4gIG5ldyAoXG4gICAgYWN0aW9uOiBPbWl0PFN1YnNjcmliZUFjdGlvbiwgJ3R5cGUnPixcbiAgICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuICApOiBTdWJzY3JpcHRpb247XG59XG5cbi8qKiBIYW5kbGVzIHN1YnNjcmlwdGlvbiBhY3Rpb25zIC0+IGZldGNoIG9yIHNldCBhY3Rpb25zXG4gKlxuICogQ29uc3RydWN0b3IgdGFrZXMgYSBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlIGNsYXNzIHRvIGNvbnRyb2wgaG93XG4gKiBzdWJzY3JpcHRpb25zIGFyZSBoYW5kbGVkLiAoZS5nLiwgcG9sbGluZywgd2Vic29ja2V0cylcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9TdWJzY3JpcHRpb25NYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnNjcmlwdGlvbk1hbmFnZXI8XG4gIFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlID0gU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSxcbj4gaW1wbGVtZW50cyBNYW5hZ2VyPEFjdGlvbnM+IHtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBJbnN0YW5jZVR5cGU8Uz47XG4gIH0gPSB7fTtcblxuICBkZWNsYXJlIHByb3RlY3RlZCByZWFkb25seSBTdWJzY3JpcHRpb246IFM7XG4gIHByb3RlY3RlZCBjb250cm9sbGVyOiBDb250cm9sbGVyID0gbmV3IENvbnRyb2xsZXIoKTtcblxuICBjb25zdHJ1Y3RvcihTdWJzY3JpcHRpb246IFMpIHtcbiAgICB0aGlzLlN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmUgPSBjb250cm9sbGVyID0+IHtcbiAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICAgIHJldHVybiBuZXh0ID0+IGFjdGlvbiA9PiB7XG4gICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgU1VCU0NSSUJFOlxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgY2FzZSBVTlNVQlNDUklCRTpcbiAgICAgICAgICB0aGlzLmhhbmRsZVVuc3Vic2NyaWJlKGFjdGlvbik7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbik7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuICAvKiogRW5zdXJlcyBhbGwgc3Vic2NyaXB0aW9ucyBhcmUgY2xlYW5lZCB1cC4gKi9cbiAgY2xlYW51cCgpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldLmNsZWFudXAoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzICdyZGMvc3Vic2NyaWJlJyBhY3Rpb24uXG4gICAqXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU3Vic2NyaWJlKGFjdGlvbjogU3Vic2NyaWJlQWN0aW9uKSB7XG4gICAgY29uc3Qga2V5ID0gYWN0aW9uLmtleTtcblxuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldLmFkZChmcmVxdWVuY3kpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XSA9IG5ldyB0aGlzLlN1YnNjcmlwdGlvbihcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIsXG4gICAgICApIGFzIEluc3RhbmNlVHlwZTxTPjtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzICdyZGMvdW5zdWJzY3JpYmUnIGFjdGlvbi5cbiAgICpcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVVbnN1YnNjcmliZShhY3Rpb246IFVuc3Vic2NyaWJlQWN0aW9uKSB7XG4gICAgY29uc3Qga2V5ID0gYWN0aW9uLmtleTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGtleSBpbiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIGNvbnN0IGZyZXF1ZW5jeSA9IGFjdGlvbi5lbmRwb2ludC5wb2xsRnJlcXVlbmN5O1xuICAgICAgY29uc3QgZW1wdHkgPSB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5yZW1vdmUoZnJlcXVlbmN5KTtcbiAgICAgIGlmIChlbXB0eSkge1xuICAgICAgICBkZWxldGUgdGhpcy5zdWJzY3JpcHRpb25zW2tleV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNaXNtYXRjaGVkIHVuc3Vic2NyaWJlOiAke2tleX0gaXMgbm90IHN1YnNjcmliZWRgKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsU0FBUyxFQUFFQyxXQUFXLFFBQVEsbUJBQW1CO0FBQzFELE9BQU9DLFVBQVUsTUFBTSw2QkFBNkI7O0FBVXBEOztBQU9B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
@@ -1 +1 @@
1
- {"version":3,"file":"middlewareTypes.d.ts","sourceRoot":"","sources":["../src/middlewareTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,QAAQ,CAAC,OAAO,GAAG,WAAW,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhF,MAAM,WAAW,aAAc,SAAQ,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;CAAG;AAE3E,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,WAAW,CACzD,SAAQ,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;CAAG;AAE1C,6DAA6D;AAC7D,MAAM,MAAM,UAAU,CAAC,OAAO,GAAG,WAAW,IAAI,CAC9C,CAAC,SAAS,oBAAoB,CAAC,OAAO,CAAC,EAEvC,UAAU,EAAE,CAAC,KACV,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,CAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EACzB,MAAM,EAAE,WAAW,KAChB,KAAK,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"middlewareTypes.d.ts","sourceRoot":"","sources":["../src/middlewareTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,QAAQ,CAAC,OAAO,GAAG,WAAW,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhF,MAAM,WAAW,aAAc,SAAQ,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;CAAG;AAE3E,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,WAAW,CAAE,SAAQ,UAAU,CAC7E,QAAQ,CAAC,OAAO,CAAC,CAClB;CAAG;AAEJ,6DAA6D;AAC7D,MAAM,MAAM,UAAU,CAAC,OAAO,GAAG,WAAW,IAAI,CAC9C,CAAC,SAAS,oBAAoB,CAAC,OAAO,CAAC,EAEvC,UAAU,EAAE,CAAC,KACV,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,CAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EACzB,MAAM,EAAE,WAAW,KAChB,KAAK,CAAC,OAAO,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uVHlwZXMsIFN0YXRlIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIERpc3BhdGNoPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gPSAodmFsdWU6IEFjdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUFQSSBleHRlbmRzIENvbnRyb2xsZXI8RGlzcGF0Y2g8QWN0aW9uVHlwZXM+PiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pZGRsZXdhcmVDb250cm9sbGVyPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz5cbiAgZXh0ZW5kcyBDb250cm9sbGVyPERpc3BhdGNoPEFjdGlvbnM+PiB7fVxuXG4vKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvTWFuYWdlciNtaWRkbGV3YXJlICovXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gPSA8XG4gIEMgZXh0ZW5kcyBNaWRkbGV3YXJlQ29udHJvbGxlcjxBY3Rpb25zPixcbj4oXG4gIGNvbnRyb2xsZXI6IEMsXG4pID0+IChuZXh0OiBDWydkaXNwYXRjaCddKSA9PiBDWydkaXNwYXRjaCddO1xuXG5leHBvcnQgdHlwZSBEYXRhQ2xpZW50UmVkdWNlciA9IChcbiAgcHJldlN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBBY3Rpb25UeXBlcyxcbikgPT4gU3RhdGU8dW5rbm93bj47XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uVHlwZXMsIFN0YXRlIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIERpc3BhdGNoPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gPSAodmFsdWU6IEFjdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUFQSSBleHRlbmRzIENvbnRyb2xsZXI8RGlzcGF0Y2g8QWN0aW9uVHlwZXM+PiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pZGRsZXdhcmVDb250cm9sbGVyPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gZXh0ZW5kcyBDb250cm9sbGVyPFxuICBEaXNwYXRjaDxBY3Rpb25zPlxuPiB7fVxuXG4vKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvTWFuYWdlciNtaWRkbGV3YXJlICovXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBBY3Rpb25UeXBlcz4gPSA8XG4gIEMgZXh0ZW5kcyBNaWRkbGV3YXJlQ29udHJvbGxlcjxBY3Rpb25zPixcbj4oXG4gIGNvbnRyb2xsZXI6IEMsXG4pID0+IChuZXh0OiBDWydkaXNwYXRjaCddKSA9PiBDWydkaXNwYXRjaCddO1xuXG5leHBvcnQgdHlwZSBEYXRhQ2xpZW50UmVkdWNlciA9IChcbiAgcHJldlN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBBY3Rpb25UeXBlcyxcbikgPT4gU3RhdGU8dW5rbm93bj47XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,4 @@
1
+ import { Controller } from '../index.js';
2
+ import { MockProps } from './mockTypes.js';
3
+ export declare function MockController<TBase extends typeof Controller, T>(Base: TBase, { fixtures, getInitialInterceptorData, }: MockProps<T>): TBase;
4
+ //# sourceMappingURL=MockController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockController.d.ts","sourceRoot":"","sources":["../../src/mock/MockController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGX,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,cAAc,CAAC,KAAK,SAAS,OAAO,UAAU,EAAE,CAAC,EAC/D,IAAI,EAAE,KAAK,EACX,EACE,QAAa,EACb,yBAA6C,GAC9C,EAAE,SAAS,CAAC,CAAC,CAAC,GACd,KAAK,CAgIP"}