From 89273d9a6843807c83d4645c797f6ac1900bc649 Mon Sep 17 00:00:00 2001 From: Angel Nikolov Date: Fri, 23 Apr 2021 21:03:29 +0300 Subject: [PATCH] Release 1.0.5 --- README.md | 15 ++++---- dist/cjs/cacheable.decorator.js | 16 ++++---- dist/cjs/cacheable.decorator.js.map | 2 +- dist/cjs/common/IAsyncStorageStrategy.d.ts | 16 ++++---- dist/cjs/common/IStorageStrategy.d.ts | 16 ++++---- dist/cjs/common/InMemoryStorageStrategy.d.ts | 2 +- dist/cjs/common/InMemoryStorageStrategy.js | 2 +- .../cjs/common/InMemoryStorageStrategy.js.map | 2 +- dist/cjs/promise.cacheable.decorator.js | 17 +++++---- dist/cjs/promise.cacheable.decorator.js.map | 2 +- .../observable-cacheable.decorator.spec.d.ts | 6 ++- .../observable-cacheable.decorator.spec.js | 38 +++++++++++++++++++ ...observable-cacheable.decorator.spec.js.map | 2 +- .../promise-cacheable.decorator.spec.d.ts | 6 ++- .../specs/promise-cacheable.decorator.spec.js | 34 +++++++++++++++++ .../promise-cacheable.decorator.spec.js.map | 2 +- dist/cjs/specs/service.interface.d.ts | 1 + dist/esm2015/cacheable.decorator.js | 14 +++---- dist/esm2015/cacheable.decorator.js.map | 2 +- .../esm2015/common/IAsyncStorageStrategy.d.ts | 16 ++++---- dist/esm2015/common/IStorageStrategy.d.ts | 16 ++++---- .../common/InMemoryStorageStrategy.d.ts | 2 +- .../esm2015/common/InMemoryStorageStrategy.js | 2 +- .../common/InMemoryStorageStrategy.js.map | 2 +- dist/esm2015/promise.cacheable.decorator.js | 14 +++---- .../promise.cacheable.decorator.js.map | 2 +- dist/esm5/cacheable.decorator.js | 16 ++++---- dist/esm5/cacheable.decorator.js.map | 2 +- dist/esm5/common/IAsyncStorageStrategy.d.ts | 16 ++++---- dist/esm5/common/IStorageStrategy.d.ts | 16 ++++---- dist/esm5/common/InMemoryStorageStrategy.d.ts | 2 +- dist/esm5/common/InMemoryStorageStrategy.js | 2 +- .../common/InMemoryStorageStrategy.js.map | 2 +- dist/esm5/promise.cacheable.decorator.js | 17 +++++---- dist/esm5/promise.cacheable.decorator.js.map | 2 +- package.json | 2 +- 36 files changed, 207 insertions(+), 119 deletions(-) diff --git a/README.md b/README.md index a05ed45..8e4febb 100644 --- a/README.md +++ b/README.md @@ -184,19 +184,20 @@ Also, you can specify the caching strategy on a decorator basis, so if you want It's also really easy to implement your own caching strategy, by extending the IStorageStrategy abstract class, which has this shape: ```ts export abstract class IStorageStrategy { - abstract getAll(cacheKey: string): Array>; - abstract add(entity: ICachePair, cacheKey: string): void; + abstract getAll(cacheKey: string, ctx?: any): Array>; + abstract add(entity: ICachePair, cacheKey: string, ctx?: any): void; /** * @deprecated Use update instead. */ - abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string): void; - abstract update?(index: number, entity: ICachePair, cacheKey: string): void; + abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; + abstract update?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; /** * @deprecated Use remove instead. */ - abstract removeAtIndex(index: number, cacheKey: string): void; - abstract remove?(index: number, entity: ICachePair, cacheKey: string): void; - abstract removeAll(cacheKey: string): void; + abstract removeAtIndex(index: number, cacheKey: string, ctx?: any): void; + abstract remove?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; + abstract removeAll(cacheKey: string, ctx?: any): void; + abstract addMany(entities: ICachePair[], cacheKey: string, ctx?: any): void; } ``` diff --git a/dist/cjs/cacheable.decorator.js b/dist/cjs/cacheable.decorator.js index f402f41..4bd9629 100644 --- a/dist/cjs/cacheable.decorator.js +++ b/dist/cjs/cacheable.decorator.js @@ -7,6 +7,7 @@ exports.globalCacheBusterNotifier = new rxjs_1.Subject(); function Cacheable(cacheConfig) { if (cacheConfig === void 0) { cacheConfig = {}; } return function (_target, _propertyKey, propertyDescriptor) { + var _this = this; var cacheKey = cacheConfig.cacheKey || _target.constructor.name + '#' + _propertyKey; var oldMethod = propertyDescriptor.value; if (propertyDescriptor && propertyDescriptor.value) { @@ -15,7 +16,7 @@ function Cacheable(cacheConfig) { : new cacheConfig.storageStrategy(); var pendingCachePairs_1 = []; if (cacheConfig.cacheModifier) { - cacheConfig.cacheModifier.subscribe(function (callback) { return storageStrategy_1.addMany(callback(storageStrategy_1.getAll(cacheKey)), cacheKey); }); + cacheConfig.cacheModifier.subscribe(function (callback) { return storageStrategy_1.addMany(callback(storageStrategy_1.getAll(cacheKey, _this)), cacheKey, _this); }); } /** * subscribe to the globalCacheBuster @@ -25,7 +26,7 @@ function Cacheable(cacheConfig) { rxjs_1.merge(exports.globalCacheBusterNotifier.asObservable(), cacheConfig.cacheBusterObserver ? cacheConfig.cacheBusterObserver : rxjs_1.empty()).subscribe(function (_) { - storageStrategy_1.removeAll(cacheKey); + storageStrategy_1.removeAll(cacheKey, _this); pendingCachePairs_1.length = 0; }); var cacheResolver = cacheConfig.cacheResolver || common_1.GlobalCacheConfig.cacheResolver; @@ -38,11 +39,12 @@ function Cacheable(cacheConfig) { : common_1.DEFAULT_HASHER; /* use function instead of an arrow function to keep context of invocation */ propertyDescriptor.value = function () { + var _this = this; var parameters = []; for (var _i = 0; _i < arguments.length; _i++) { parameters[_i] = arguments[_i]; } - var cachePairs = storageStrategy_1.getAll(cacheKey); + var cachePairs = storageStrategy_1.getAll(cacheKey, this); var cacheParameters = cacheConfig.cacheHasher(parameters); var _foundCachePair = cachePairs.find(function (cp) { return cacheConfig.cacheResolver(cp.parameters, cacheParameters); @@ -59,7 +61,7 @@ function Cacheable(cacheConfig) { /** * cache duration has expired - remove it from the cachePairs array */ - storageStrategy_1.remove ? storageStrategy_1.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy_1.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey); + storageStrategy_1.remove ? storageStrategy_1.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this) : storageStrategy_1.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey, this); _foundCachePair = null; } else if (cacheConfig.slidingExpiration || common_1.GlobalCacheConfig.slidingExpiration) { @@ -67,7 +69,7 @@ function Cacheable(cacheConfig) { * renew cache duration */ _foundCachePair.created = new Date(); - storageStrategy_1.update ? storageStrategy_1.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy_1.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey); + storageStrategy_1.update ? storageStrategy_1.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this) : storageStrategy_1.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this); } } if (_foundCachePair) { @@ -97,13 +99,13 @@ function Cacheable(cacheConfig) { (cacheConfig.maxCacheCount || common_1.GlobalCacheConfig.maxCacheCount) === 1 || ((cacheConfig.maxCacheCount || common_1.GlobalCacheConfig.maxCacheCount) && (cacheConfig.maxCacheCount || common_1.GlobalCacheConfig.maxCacheCount) < cachePairs.length + 1)) { - storageStrategy_1.remove ? storageStrategy_1.remove(0, cachePairs[0], cacheKey) : storageStrategy_1.removeAtIndex(0, cacheKey); + storageStrategy_1.remove ? storageStrategy_1.remove(0, cachePairs[0], cacheKey, _this) : storageStrategy_1.removeAtIndex(0, cacheKey, _this); } storageStrategy_1.add({ parameters: cacheParameters, response: response, created: (cacheConfig.maxAge || common_1.GlobalCacheConfig.maxAge) ? new Date() : null - }, cacheKey); + }, cacheKey, _this); } }), operators_1.publishReplay(1), operators_1.refCount()); /** diff --git a/dist/cjs/cacheable.decorator.js.map b/dist/cjs/cacheable.decorator.js.map index d95c2b7..41bd4f9 100644 --- a/dist/cjs/cacheable.decorator.js.map +++ b/dist/cjs/cacheable.decorator.js.map @@ -1 +1 @@ -{"version":3,"file":"cacheable.decorator.js","sourceRoot":"","sources":["../../cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"cacheable.decorator.js","sourceRoot":"","sources":["../../cacheable.decorator.ts"],"names":[],"mappings":";;AAAA,6BAA2D;AAC3D,4CAA6E;AAC7E,mCAAiH;AAGpG,QAAA,yBAAyB,GAAG,IAAI,cAAO,EAAQ,CAAC;AAE7D,mBAA0B,WAAwC;IAAxC,4BAAA,EAAA,gBAAwC;IAChE,OAAO,UACL,OAAe,EACf,YAAoB,EACpB,kBAAwE;QAHnE,iBAkIN;QA7HC,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,YAAY,CAAC;QACvF,IAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAC3C,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,KAAK,EAAE;YAClD,IAAI,iBAAe,GAAqB,CAAC,WAAW,CAAC,eAAe;gBAClE,CAAC,CAAC,IAAI,0BAAiB,CAAC,eAAe,EAAsB;gBAC7D,CAAC,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;YACtC,IAAM,mBAAiB,GAAuC,EAAE,CAAC;YACjE,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,UAAA,QAAQ,IAAI,OAAA,iBAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAI,CAAC,EAAzF,CAAyF,CAAC,CAAA;aAC3I;YACD;;;;eAIG;YACH,YAAK,CACH,iCAAyB,CAAC,YAAY,EAAE,EACxC,WAAW,CAAC,mBAAmB;gBAC7B,CAAC,CAAC,WAAW,CAAC,mBAAmB;gBACjC,CAAC,CAAC,YAAK,EAAE,CACZ,CAAC,SAAS,CAAC,UAAA,CAAC;gBACX,iBAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAI,CAAC,CAAC;gBAC1C,mBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,IAAM,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,0BAAiB,CAAC,aAAa,CAAC;YACnF,WAAW,CAAC,aAAa,GAAG,aAAa;gBACvC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,+BAAsB,CAAC;YAC3B,IAAM,WAAW,GAAG,WAAW,CAAC,WAAW,IAAI,0BAAiB,CAAC,WAAW,CAAC;YAC7E,WAAW,CAAC,WAAW,GAAG,WAAW;gBACnC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,uBAAc,CAAC;YAEnB,6EAA6E;YAC5E,kBAAkB,CAAC,KAAa,GAAG;gBAAA,iBAwFnC;gBAxF4C,oBAAyB;qBAAzB,UAAyB,EAAzB,qBAAyB,EAAzB,IAAyB;oBAAzB,+BAAyB;;gBACpE,IAAM,UAAU,GAAuC,iBAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC9F,IAAI,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAI,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,UAAA,EAAE;oBACtC,OAAA,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;gBAAzD,CAAyD,CAAC,CAAC;gBAC7D,IAAM,sBAAsB,GAAG,mBAAiB,CAAC,IAAI,CAAC,UAAA,EAAE;oBACtD,OAAA,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;gBAAzD,CAAyD,CAC1D,CAAC;gBACF;;mBAEG;gBACH,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,0BAAiB,CAAC,MAAM,CAAC,IAAI,eAAe,IAAI,eAAe,CAAC,OAAO,EAAE;oBAClG,IACE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;wBAClE,CAAC,WAAW,CAAC,MAAM,IAAI,0BAAiB,CAAC,MAAM,CAAC,EAChD;wBACA;;2BAEG;wBACH,iBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAe,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAe,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;wBAC3M,eAAe,GAAG,IAAI,CAAC;qBACxB;yBAAM,IAAI,WAAW,CAAC,iBAAiB,IAAI,0BAAiB,CAAC,iBAAiB,EAAE;wBAC/E;;2BAEG;wBACH,eAAe,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;wBACrC,iBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAe,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAe,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;qBAC7N;iBACF;gBAED,IAAI,eAAe,EAAE;oBACnB,IAAM,OAAO,GAAG,SAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC7C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC7D;qBAAM,IAAI,sBAAsB,EAAE;oBACjC,OAAO,sBAAsB,CAAC,QAAQ,CAAC;iBACxC;qBAAM;oBACL,IAAM,SAAS,GAAI,SAAS,CAAC,IAAI,OAAd,SAAS,GAAM,IAAI,SAAK,UAAU,EAEnD,CAAC,IAAI,CACL,oBAAQ,CAAC;wBACP;;2BAEG;wBACH,IAAM,yBAAyB,GAAG,mBAAiB,CAAC,IAAI,CAAC,UAAA,EAAE;4BACzD,OAAA,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;wBAAzD,CAAyD,CAC1D,CAAC;wBACF,mBAAiB,CAAC,MAAM,CACtB,mBAAiB,CAAC,OAAO,CAAC,yBAAyB,CAAC,EACpD,CAAC,CACF,CAAC;oBACJ,CAAC,CAAC,EACF,eAAG,CAAC,UAAA,QAAQ;wBACV;;;2BAGG;wBACH,IACE,CAAC,WAAW,CAAC,kBAAkB;4BAC/B,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EACxC;4BACA,IACE,CAAC,CAAC,WAAW,CAAC,aAAa,IAAI,0BAAiB,CAAC,aAAa,CAAC;gCAC/D,CAAC,WAAW,CAAC,aAAa,IAAI,0BAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;gCACpE,CAAC,CAAC,WAAW,CAAC,aAAa,IAAI,0BAAiB,CAAC,aAAa,CAAC;oCAC7D,CAAC,WAAW,CAAC,aAAa,IAAI,0BAAiB,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EACzF;gCACA,iBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAe,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC,CAAC,CAAC,iBAAe,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC;6BACtI;4BACD,iBAAe,CAAC,GAAG,CAAC;gCAClB,UAAU,EAAE,eAAe;gCAC3B,QAAQ,UAAA;gCACR,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,0BAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;6BAC9E,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC;yBACpB;oBACH,CAAC,CAAC,EACF,yBAAa,CAAC,CAAC,CAAC,EAChB,oBAAQ,EAAE,CACX,CAAC;oBACF;;uBAEG;oBACH,mBAAiB,CAAC,IAAI,CAAC;wBACrB,UAAU,EAAE,eAAe;wBAC3B,QAAQ,EAAE,SAAS;wBACnB,OAAO,EAAE,IAAI,IAAI,EAAE;qBACpB,CAAC,CAAC;oBACH,OAAO,SAAS,CAAC;iBAClB;YACH,CAAC,CAAC;SACH;QACD,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA;AACH,CAAC;AApID,8BAoIC;AAAA,CAAC"} \ No newline at end of file diff --git a/dist/cjs/common/IAsyncStorageStrategy.d.ts b/dist/cjs/common/IAsyncStorageStrategy.d.ts index 58acb68..7f3fc0a 100644 --- a/dist/cjs/common/IAsyncStorageStrategy.d.ts +++ b/dist/cjs/common/IAsyncStorageStrategy.d.ts @@ -1,17 +1,17 @@ import { ICachePair } from '.'; export declare abstract class IAsyncStorageStrategy { - abstract getAll(cacheKey: string): Array> | Promise>>; - abstract add(entity: ICachePair, cacheKey: string): void | Promise; + abstract getAll(cacheKey: string, ctx?: any): Array> | Promise>>; + abstract add(entity: ICachePair, cacheKey: string, ctx?: any): void | Promise; /** * @deprecated Use update instead. */ - abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string): void | Promise; - abstract update?(index: number, entity: ICachePair, cacheKey: string): Promise; + abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void | Promise; + abstract update?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): Promise; /** * @deprecated Use remove instead. */ - abstract removeAtIndex(index: number, cacheKey: string): void | Promise; - abstract remove?(index: number, entity: ICachePair, cacheKey: string): Promise; - abstract removeAll(cacheKey: string): void | Promise; - abstract addMany(entities: ICachePair[], cacheKey: string): Promise; + abstract removeAtIndex(index: number, cacheKey: string, ctx?: any): void | Promise; + abstract remove?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): Promise; + abstract removeAll(cacheKey: string, ctx?: any): void | Promise; + abstract addMany(entities: ICachePair[], cacheKey: string, ctx?: any): Promise; } diff --git a/dist/cjs/common/IStorageStrategy.d.ts b/dist/cjs/common/IStorageStrategy.d.ts index e90e777..89d013a 100644 --- a/dist/cjs/common/IStorageStrategy.d.ts +++ b/dist/cjs/common/IStorageStrategy.d.ts @@ -1,17 +1,17 @@ import { ICachePair } from '.'; export declare abstract class IStorageStrategy { - abstract getAll(cacheKey: string): Array>; - abstract add(entity: ICachePair, cacheKey: string): void; + abstract getAll(cacheKey: string, ctx?: any): Array>; + abstract add(entity: ICachePair, cacheKey: string, ctx?: any): void; /** * @deprecated Use update instead. */ - abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string): void; - abstract update?(index: number, entity: ICachePair, cacheKey: string): void; + abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; + abstract update?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; /** * @deprecated Use remove instead. */ - abstract removeAtIndex(index: number, cacheKey: string): void; - abstract remove?(index: number, entity: ICachePair, cacheKey: string): void; - abstract removeAll(cacheKey: string): void; - abstract addMany(entities: ICachePair[], cacheKey: string): void; + abstract removeAtIndex(index: number, cacheKey: string, ctx?: any): void; + abstract remove?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; + abstract removeAll(cacheKey: string, ctx?: any): void; + abstract addMany(entities: ICachePair[], cacheKey: string, ctx?: any): void; } diff --git a/dist/cjs/common/InMemoryStorageStrategy.d.ts b/dist/cjs/common/InMemoryStorageStrategy.d.ts index 9f6c113..ea65454 100644 --- a/dist/cjs/common/InMemoryStorageStrategy.d.ts +++ b/dist/cjs/common/InMemoryStorageStrategy.d.ts @@ -2,7 +2,7 @@ import { IStorageStrategy } from './IStorageStrategy'; import { ICachePair } from '.'; export declare class InMemoryStorageStrategy extends IStorageStrategy { private cachePairs; - add(cachePair: ICachePair): void; + add(cachePair: ICachePair, cacheKey: string, ctx?: any): void; addMany(cachePairs: ICachePair[]): void; updateAtIndex(index: number, entity: ICachePair): void; update(index: number, entity: ICachePair): void; diff --git a/dist/cjs/common/InMemoryStorageStrategy.js b/dist/cjs/common/InMemoryStorageStrategy.js index d885894..e8109bc 100644 --- a/dist/cjs/common/InMemoryStorageStrategy.js +++ b/dist/cjs/common/InMemoryStorageStrategy.js @@ -18,7 +18,7 @@ var InMemoryStorageStrategy = /** @class */ (function (_super) { _this.cachePairs = []; return _this; } - InMemoryStorageStrategy.prototype.add = function (cachePair) { + InMemoryStorageStrategy.prototype.add = function (cachePair, cacheKey, ctx) { this.cachePairs.push(cachePair); }; ; diff --git a/dist/cjs/common/InMemoryStorageStrategy.js.map b/dist/cjs/common/InMemoryStorageStrategy.js.map index 7e6d179..486e38b 100644 --- a/dist/cjs/common/InMemoryStorageStrategy.js.map +++ b/dist/cjs/common/InMemoryStorageStrategy.js.map @@ -1 +1 @@ -{"version":3,"file":"InMemoryStorageStrategy.js","sourceRoot":"","sources":["../../../common/InMemoryStorageStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAoD;AAGpD;IAA6C,2CAAgB;IAA7D;QAAA,qEAoCC;QAnCS,gBAAU,GAA2B,EAAE,CAAC;;IAmClD,CAAC;IAjCC,qCAAG,GAAH,UAAI,SAA0B;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAAA,CAAC;IAEF,yCAAO,GAAP,UAAQ,UAA6B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,+CAAa,GAAb,UAAc,KAAa,EAAE,MAAuB;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa,EAAE,MAAuB;QAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,+CAAa,GAAb,UAAc,KAAa;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,2CAAS,GAAT;QACE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IACH,8BAAC;AAAD,CAAC,AApCD,CAA6C,mCAAgB,GAoC5D;AApCY,0DAAuB"} \ No newline at end of file +{"version":3,"file":"InMemoryStorageStrategy.js","sourceRoot":"","sources":["../../../common/InMemoryStorageStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAoD;AAGpD;IAA6C,2CAAgB;IAA7D;QAAA,qEAoCC;QAnCS,gBAAU,GAA2B,EAAE,CAAC;;IAmClD,CAAC;IAjCC,qCAAG,GAAH,UAAI,SAA0B,EAAE,QAAgB,EAAE,GAAS;QACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,yCAAO,GAAP,UAAQ,UAA6B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,+CAAa,GAAb,UAAc,KAAa,EAAE,MAAuB;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa,EAAE,MAAuB;QAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,+CAAa,GAAb,UAAc,KAAa;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,2CAAS,GAAT;QACE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IACH,8BAAC;AAAD,CAAC,AApCD,CAA6C,mCAAgB,GAoC5D;AApCY,0DAAuB"} \ No newline at end of file diff --git a/dist/cjs/promise.cacheable.decorator.js b/dist/cjs/promise.cacheable.decorator.js index 9226fbe..4766465 100644 --- a/dist/cjs/promise.cacheable.decorator.js +++ b/dist/cjs/promise.cacheable.decorator.js @@ -34,6 +34,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; +var _this = this; Object.defineProperty(exports, "__esModule", { value: true }); var rxjs_1 = require("rxjs"); var common_1 = require("./common"); @@ -55,7 +56,7 @@ var getResponse = function (oldMethod, cacheKey, cacheConfig, context, cachePair /** * cache duration has expired - remove it from the cachePairs array */ - storageStrategy.remove ? storageStrategy.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey); + storageStrategy.remove ? storageStrategy.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, _this) : storageStrategy.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey, _this); _foundCachePair = null; } else if (cacheConfig.slidingExpiration || common_1.GlobalCacheConfig.slidingExpiration) { @@ -63,7 +64,7 @@ var getResponse = function (oldMethod, cacheKey, cacheConfig, context, cachePair * renew cache duration */ _foundCachePair.created = new Date(); - storageStrategy.update ? storageStrategy.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey); + storageStrategy.update ? storageStrategy.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, _this) : storageStrategy.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, _this); } } if (_foundCachePair) { @@ -87,13 +88,13 @@ var getResponse = function (oldMethod, cacheKey, cacheConfig, context, cachePair (cacheConfig.maxCacheCount || common_1.GlobalCacheConfig.maxCacheCount) === 1 || ((cacheConfig.maxCacheCount || common_1.GlobalCacheConfig.maxCacheCount) && (cacheConfig.maxCacheCount || common_1.GlobalCacheConfig.maxCacheCount) < cachePairs.length + 1)) { - storageStrategy.remove ? storageStrategy.remove(0, cachePairs[0], cacheKey) : storageStrategy.removeAtIndex(0, cacheKey); + storageStrategy.remove ? storageStrategy.remove(0, cachePairs[0], cacheKey, _this) : storageStrategy.removeAtIndex(0, cacheKey, _this); } storageStrategy.add({ parameters: cacheParameters, response: response, created: (cacheConfig.maxAge || common_1.GlobalCacheConfig.maxAge) ? new Date() : null - }, cacheKey); + }, cacheKey, _this); } return response; }) @@ -139,8 +140,8 @@ function PCacheable(cacheConfig) { case 0: _b = (_a = storageStrategy_1).addMany; _c = callback; - return [4 /*yield*/, storageStrategy_1.getAll(cacheKey)]; - case 1: return [2 /*return*/, _b.apply(_a, [_c.apply(void 0, [_d.sent()]), cacheKey])]; + return [4 /*yield*/, storageStrategy_1.getAll(cacheKey, this)]; + case 1: return [2 /*return*/, _b.apply(_a, [_c.apply(void 0, [_d.sent()]), cacheKey, this])]; } }); }); }); } @@ -152,7 +153,7 @@ function PCacheable(cacheConfig) { rxjs_1.merge(exports.promiseGlobalCacheBusterNotifier.asObservable(), cacheConfig.cacheBusterObserver ? cacheConfig.cacheBusterObserver : rxjs_1.empty()).subscribe(function (_) { - storageStrategy_1.removeAll(cacheKey); + storageStrategy_1.removeAll(cacheKey, _this); pendingCachePairs_1.length = 0; }); var cacheResolver = cacheConfig.cacheResolver || common_1.GlobalCacheConfig.cacheResolver; @@ -173,7 +174,7 @@ function PCacheable(cacheConfig) { var promiseImplementation = typeof common_1.GlobalCacheConfig.promiseImplementation === 'function' && (common_1.GlobalCacheConfig.promiseImplementation !== Promise) ? common_1.GlobalCacheConfig.promiseImplementation.call(this) : common_1.GlobalCacheConfig.promiseImplementation; - var cachePairs = storageStrategy_1.getAll(cacheKey); + var cachePairs = storageStrategy_1.getAll(cacheKey, this); if (!(cachePairs instanceof promiseImplementation)) { cachePairs = promiseImplementation.resolve(cachePairs); } diff --git a/dist/cjs/promise.cacheable.decorator.js.map b/dist/cjs/promise.cacheable.decorator.js.map index be32ec7..bcc887d 100644 --- a/dist/cjs/promise.cacheable.decorator.js.map +++ b/dist/cjs/promise.cacheable.decorator.js.map @@ -1 +1 @@ -{"version":3,"file":"promise.cacheable.decorator.js","sourceRoot":"","sources":["../../promise.cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"promise.cacheable.decorator.js","sourceRoot":"","sources":["../../promise.cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/specs/observable-cacheable.decorator.spec.d.ts b/dist/cjs/specs/observable-cacheable.decorator.spec.d.ts index cb0ff5c..a9e654b 100644 --- a/dist/cjs/specs/observable-cacheable.decorator.spec.d.ts +++ b/dist/cjs/specs/observable-cacheable.decorator.spec.d.ts @@ -1 +1,5 @@ -export {}; +import { ICachePair } from '../common'; +import { InMemoryStorageStrategy } from '../common/InMemoryStorageStrategy'; +export declare class CustomContextStrategy extends InMemoryStorageStrategy { + add(cachePair: ICachePair, cacheKey: string, ctx?: any): void; +} diff --git a/dist/cjs/specs/observable-cacheable.decorator.spec.js b/dist/cjs/specs/observable-cacheable.decorator.spec.js index a3e95fd..fe23342 100644 --- a/dist/cjs/specs/observable-cacheable.decorator.spec.js +++ b/dist/cjs/specs/observable-cacheable.decorator.spec.js @@ -1,4 +1,14 @@ "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -53,6 +63,20 @@ var common_1 = require("../common"); var LocalStorageStrategy_1 = require("../common/LocalStorageStrategy"); var InMemoryStorageStrategy_1 = require("../common/InMemoryStorageStrategy"); var cat_1 = require("./cat"); +var customStrategySpy = jasmine.createSpy(); +var CustomContextStrategy = /** @class */ (function (_super) { + __extends(CustomContextStrategy, _super); + function CustomContextStrategy() { + return _super !== null && _super.apply(this, arguments) || this; + } + CustomContextStrategy.prototype.add = function (cachePair, cacheKey, ctx) { + customStrategySpy(ctx); + _super.prototype.add.call(this, cachePair, cacheKey, ctx); + }; + ; + return CustomContextStrategy; +}(InMemoryStorageStrategy_1.InMemoryStorageStrategy)); +exports.CustomContextStrategy = CustomContextStrategy; var strategies = [ null, LocalStorageStrategy_1.LocalStorageStrategy @@ -139,6 +163,10 @@ strategies.forEach(function (s) { Service.prototype.getMutableData = function (parameter) { return this.mockServiceCall(parameter); }; + Service.prototype.getDataWithCustomContextStorageStrategy = function (parameter) { + if (parameter === void 0) { parameter = 'Parameter1'; } + return this.mockServiceCall(parameter); + }; __decorate([ cacheable_decorator_2.Cacheable() ], Service.prototype, "getData", null); @@ -236,6 +264,12 @@ strategies.forEach(function (s) { cacheModifier: cacheModifier }) ], Service.prototype, "getMutableData", null); + __decorate([ + cacheable_decorator_2.Cacheable({ + storageStrategy: CustomContextStrategy, + maxCacheCount: 3 + }) + ], Service.prototype, "getDataWithCustomContextStorageStrategy", null); return Service; }()); jasmine.clock().install(); @@ -1002,6 +1036,10 @@ strategies.forEach(function (s) { var cachedResponse2 = _timedStreamAsyncAwait(service.getMutableData('test')); expect(cachedResponse2).toEqual({ payload: 'test_modified' }); }); + it('should work with a custom context storage strategy', function () { + _timedStreamAsyncAwait(service.getDataWithCustomContextStorageStrategy('test'), 1000); + expect(customStrategySpy).toHaveBeenCalledWith(jasmine.any(Object)); + }); }); function _timedStreamAsyncAwait(stream$, skipTime) { var response = null; diff --git a/dist/cjs/specs/observable-cacheable.decorator.spec.js.map b/dist/cjs/specs/observable-cacheable.decorator.spec.js.map index 5d37357..07ec3a3 100644 --- a/dist/cjs/specs/observable-cacheable.decorator.spec.js.map +++ b/dist/cjs/specs/observable-cacheable.decorator.spec.js.map @@ -1 +1 @@ -{"version":3,"file":"observable-cacheable.decorator.spec.js","sourceRoot":"","sources":["../../../specs/observable-cacheable.decorator.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBA8tCG;;AA9tCH,6BAA2D;AAC3D,4CAA2C;AAC3C,8DAAmE;AACnE,8DAAmD;AACnD,oEAAwD;AACxD,6BAAsC;AACtC,4CAAuC;AACvC,oCAA8C;AAC9C,uEAAsE;AACtE,6EAA4E;AAE5E,6BAA4B;AAC5B,IAAM,UAAU,GAAU;IACxB,IAAI;IACJ,2CAAoB;CACrB,CAAC;AACF,UAAU,CAAC,OAAO,CAAC,UAAA,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,0BAAiB,CAAC,eAAe,GAAG,CAAC,CAAC;KACvC;IACD,QAAQ,CAAC,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,0BAAsB,EAAE;QACzE,IAAI,OAAO,GAA8B,IAAI,CAAC;QAC9C,IAAI,kBAAkB,GAAgB,IAAI,CAAC;QAC3C,IAAM,aAAa,GAAG,IAAI,cAAO,EAAO,CAAC;QACzC,UAAU,CAAC;YACT,IAAM,mBAAmB,GAAG,IAAI,cAAO,EAAE,CAAC;YAC1C;gBAAA;gBAwJA,CAAC;gBAvJC,iCAAe,GAAf,UAAgB,SAAc;oBAC5B,OAAO,YAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;gBACD,qCAAmB,GAAnB;oBACE,OAAO,YAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBAED,uDAAqC,GAArC,UAAsC,UAAe,EAAE,UAAe;oBACpE,OAAO,YAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxE,CAAC;gBAGD,yBAAO,GAAP,UAAQ,SAAiB;oBACvB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAGD,sCAAoB,GAApB,UAAqB,SAAc;oBACjC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAGD,8CAA4B,GAA5B,UAA6B,SAAiB;oBAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAKD,8BAAY,GAAZ,UAAa,SAAiB;oBAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAKD,uCAAqB,GAArB,UAAsB,SAAiB;oBACrC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAMD,8CAA4B,GAA5B,UAA6B,SAAiB;oBAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAKD,0CAAwB,GAAxB,UAAyB,SAAiB;oBACxC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAMD,uDAAqC,GAArC,UAAsC,SAAiB;oBACrD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAOD,8DAA4C,GAA5C,UAA6C,SAAiB;oBAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAOD,gDAA8B,GAA9B,UACE,SAAiB,EACjB,uBAA0D;oBAE1D,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAQD,yDAAuC,GAAvC,UACE,SAAiB;oBAEjB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAGD,qCAAmB,GAAnB,UACE,SAAc;oBAEd,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAOD,+CAA6B,GAA7B,UAA8B,SAAiB;oBAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAKD,sCAAoB,GAApB;oBACE,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACpC,CAAC;gBAKD,yCAAuB,GAAvB,UAAwB,SAAiB;oBACvC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAGD,+CAA6B,GAA7B,UAA8B,SAAsB;oBAAtB,0BAAA,EAAA,cAAsB;oBAClD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAGD,wDAAsC,GAAtC,UAAuC,SAAgC,EAAE,UAAiC;oBAAnE,0BAAA,EAAA,wBAAgC;oBAAE,2BAAA,EAAA,yBAAiC;oBACxG,OAAO,IAAI,CAAC,qCAAqC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC3E,CAAC;gBAOD,0DAAwC,GAAxC,UAAyC,SAAiB;oBACxD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAKD,gCAAc,GAAd,UAAe,SAAiB;oBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBA1ID;oBADC,+BAAS,EAAE;sDAGX;gBAGD;oBADC,+BAAS,EAAE;mEAGX;gBAGD;oBADC,+BAAS,EAAE;2EAGX;gBAKD;oBAHC,+BAAS,CAAC;wBACT,KAAK,EAAE,IAAI;qBACZ,CAAC;2DAGD;gBAKD;oBAHC,+BAAS,CAAC;wBACT,MAAM,EAAE,IAAI;qBACb,CAAC;oEAGD;gBAMD;oBAJC,+BAAS,CAAC;wBACT,MAAM,EAAE,IAAI;wBACZ,iBAAiB,EAAE,IAAI;qBACxB,CAAC;2EAGD;gBAKD;oBAHC,+BAAS,CAAC;wBACT,aAAa,EAAE,CAAC;qBACjB,CAAC;uEAGD;gBAMD;oBAJC,+BAAS,CAAC;wBACT,MAAM,EAAE,IAAI;wBACZ,aAAa,EAAE,CAAC;qBACjB,CAAC;oFAGD;gBAOD;oBALC,+BAAS,CAAC;wBACT,MAAM,EAAE,IAAI;wBACZ,aAAa,EAAE,CAAC;wBAChB,iBAAiB,EAAE,IAAI;qBACxB,CAAC;2FAGD;gBAOD;oBALC,+BAAS,CAAC;wBACT,aAAa,EAAE,UAAC,cAAc,EAAE,aAAa;4BAC3C,OAAO,aAAa,CAAC,IAAI,CAAC,UAAC,KAAU,IAAK,OAAA,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAA3B,CAA2B,CAAC,CAAC;wBACzE,CAAC;qBACF,CAAC;6EAMD;gBAQD;oBANC,+BAAS,CAAC;wBACT,WAAW,EAAE,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAlB,CAAkB;wBAChD,aAAa,EAAE,UAAC,YAAY,EAAE,YAAY;4BACxC,OAAO,YAAY,GAAG,CAAC,CAAA;wBACzB,CAAC;qBACF,CAAC;sFAKD;gBAGD;oBADC,+BAAS,EAAE;kEAKX;gBAOD;oBALC,+BAAS,CAAC;wBACT,kBAAkB,EAAE,UAAC,QAA6B;4BAChD,OAAO,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC;wBACrC,CAAC;qBACF,CAAC;4EAGD;gBAKD;oBAHC,oCAAW,CAAC;wBACX,mBAAmB,EAAE,mBAAmB;qBACzC,CAAC;mEAGD;gBAKD;oBAHC,+BAAS,CAAC;wBACT,mBAAmB,EAAE,mBAAmB,CAAC,YAAY,EAAE;qBACxD,CAAC;sEAGD;gBAGD;oBADC,+BAAS,EAAE;4EAGX;gBAGD;oBADC,+BAAS,EAAE;qFAGX;gBAOD;oBALC,+BAAS,CAAC;wBACT,MAAM,EAAE,IAAI;wBACZ,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,iDAAuB;qBACzC,CAAC;uFAGD;gBAKD;oBAJC,+BAAS,CAAC;wBACT,eAAe,EAAE,iDAAuB;wBACxC,aAAa,eAAA;qBACd,CAAC;6DAGD;gBACH,cAAC;aAAA,AAxJD,IAwJC;YACD,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,kBAAkB,GAAG,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACzE,IAAI,0BAAiB,CAAC,eAAe,KAAK,2CAAoB,EAAE;gBAC9D,YAAY,CAAC,KAAK,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC;YACR,OAAO,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH;;;;WAIG;QAEH,EAAE,CAAC,+EAA+E,EAAE;YAClF,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,IAAI,CACL,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtC;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YAEF;;eAEG;YACH,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEtD;;eAEG;YACH,IAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE;YAChE,IAAI,MAAM,GAAG;gBACX,MAAM,EAAE,CAAC,CAAC,CAAC;aACZ,CAAC;YACF;;eAEG;YACH,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAErC;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B;;eAEG;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB;;eAEG;YACH,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACrC;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE;YACjE;;;eAGG;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC5B,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;aAC9C;YAED,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B;;eAEG;YACH,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;YAC7C;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8GAA8G,EAAE;YACjH,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAC5B,IAAI,CACL,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,kBAAkB,GAAG,sBAAsB,CAC/C,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAC7B,CAAC;YACF;;;eAGG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC;;eAEG;YACH,IAAM,kBAAkB,GAAG,sBAAsB,CAC/C,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAC5B,CAAC,CACF,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACxD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC,CACF,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtC;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,IAAI,CACL,CAAC;YAEF;;eAEG;YACH,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEtD;;;eAGG;YACH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAC5B,CAAC,CACF,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2FAA2F,EAAE;YAC9F,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,EACrC,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CACtC,CAAC;YACF;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B;;eAEG;YACH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CACtC,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAI,4BAA4B,GAAG,IAAI,CAAC;YACxC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAA,IAAI;gBAClD,4BAA4B,GAAG,IAAI,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oGAAoG,EAAE;YACvG,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAC5C,IAAI,CACL,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAC7C,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B;;eAEG;YACH,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B;;eAEG;YAEH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAC7C,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAC7C,CAAC;YACF;;eAEG;YACH,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE;YAC9E;;eAEG;YACH,IAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,UAAU,CAAC,OAAO,CAAC,UAAM,KAAK;gBAC5B,sBAAA,sBAAsB,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAA;qBAAA,CACtE,CAAC;YACF;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAC1C,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,yBAAyB;YACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,iBAAiB,GAAG,sBAAsB,CAC9C,eAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAvC,CAAuC,CAAC,CAAC,CAC3E,CAAC;YAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;gBAChC,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;aACrB,CAAC,CAAC;YACH,yBAAyB;YACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,SAAS,GAAG,sBAAsB,CACtC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,EACzC,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAChD,oCAAoC;YACpC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEpE;;eAEG;YACH,IAAM,kBAAkB,GAAG,sBAAsB,CAC/C,eAAQ,CACN,aAAa,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAvC,CAAuC,CAAC,CACpE,EACD,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;gBACjC,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;aACrB,CAAC,CAAC;YAEH,yGAAyG;YACzG,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD;;eAEG;YACH,IAAM,iBAAiB,GAAG,sBAAsB,CAC9C,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,EACzC,IAAI,CACL,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAC1C,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE;YACtE,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;YAE3B;;eAEG;YACH,IAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,UAAU,CAAC,OAAO,CAAC,UAAA,KAAK;gBACtB,OAAA,OAAO,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE;YAAhE,CAAgE,CACjE,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAM,eAAe,GAAG,sBAAsB,CAC5C,eAAQ,CACN,UAAU,CAAC,GAAG,CAAC,UAAA,KAAK;gBAClB,OAAA,OAAO,CAAC,qCAAqC,CAAC,KAAK,CAAC;YAApD,CAAoD,CACrD,CACF,CACF,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;gBAC9B,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;aACrB,CAAC,CAAC;YAEH;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,qCAAqC,CAAC,OAAO,CAAC,CACvD,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6FAA6F,EAAE;YAChG,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3B;;eAEG;YACH,IAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,UAAU,CAAC,OAAO,CAAC,UAAA,KAAK;gBACtB,OAAA,OAAO,CAAC,4CAA4C,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE;YAAvE,CAAuE,CACxE,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B;;eAEG;YACH,OAAO,CAAC,4CAA4C,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;YAE1E,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAM,cAAc,GAAG,sBAAsB,CAC3C,oBAAa,CACX,UAAU,CAAC,GAAG,CAAC,UAAA,KAAK;gBAClB,OAAA,OAAO;qBACJ,4CAA4C,CAAC,KAAK,CAAC;qBACnD,IAAI,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC;YAFxB,CAEwB,CACzB,CACF,CACF,CAAC;YACF;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;gBAC7B,IAAI;gBACJ,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,IAAI;gBACJ,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE;YAC1F,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAC/C,IAAI,CACL,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAE9C,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAC/C,IAAI,CACL,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,8BAA8B,CAAC,OAAO,EAAE;gBAC9C,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CACH,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,sBAAsB,CAAC,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,yEAAyE;YACzE,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kGAAkG,EAAE;YACrG,6BAA6B;YAC7B,sBAAsB,CACpB,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAClD,IAAI,CACL,CAAC;YACF,4DAA4D;YAC5D,qEAAqE;YACrE,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC;YACnD,4CAA4C;YAC5C,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC;YAEnD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yGAAyG,EAAE;YAC5G,0BAAiB,CAAC,WAAW,GAAG,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,EAA1B,CAA0B,CAAC;YAC5E,0BAAiB,CAAC,aAAa,GAAG,UAAC,YAAY,EAAE,YAAY;gBAC3D,OAAO,YAAY,KAAK,eAAe,CAAC;YAC1C,CAAC,CAAC;YACF;gBAAA;gBAQA,CAAC;gBAPC,iCAAe,GAAf,UAAgB,SAAc;oBAC5B,OAAO,YAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;gBAED,yBAAO,GAAP,UAAQ,SAAiB;oBACvB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAFD;oBADC,+BAAS,EAAE;sDAGX;gBACH,cAAC;aAAA,AARD,IAQC;YACD,IAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,kBAAkB,GAAG,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAEzE,kCAAkC;YAClC,sBAAsB,CACpB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EACzB,IAAI,CACL,CAAC;YACF,qDAAqD;YACrD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1B,4CAA4C;YAC5C,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE9B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,0BAAiB,CAAC,WAAW,GAAG,SAAS,CAAC;YAC1C,0BAAiB,CAAC,aAAa,GAAG,SAAS,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uHAAuH,EAAE;YAC1H,IAAM,aAAa,GAAG,IAAI,SAAG,EAAE,CAAC;YAChC,aAAa,CAAC,IAAI,GAAG,OAAO,CAAC;YAC7B,IAAM,QAAQ,GAAG,sBAAsB,CACrC,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAC1C,IAAI,CACL,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACpE,oGAAoG;YACpG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gGAAgG,EAAE;YACnG,IAAM,SAAS,GAAG,sBAAsB,CACtC,OAAO,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAC9C,IAAI,CACL,CAAC;YACF,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,UAAU,GAAG,sBAAsB,CACvC,OAAO,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAC/C,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YAEH,IAAM,UAAU,GAAG,sBAAsB,CACvC,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAC7C,IAAI,CACL,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,WAAW,GAAG,sBAAsB,CACxC,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAC9C,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE;YACzD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,EACvC,IAAI,CACL,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CACxC,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;;eAGG;YACH,MAAM,CACJ,sBAAsB,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAC7D,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEnB,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CACxC,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B;;eAEG;YACH,MAAM,CACJ,sBAAsB,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAChE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE;YACnE;;eAEG;YACH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzB,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,IAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD;;;eAGG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzB,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,IAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAGpD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzB,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,IAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,+CAAyB,CAAC,IAAI,EAAE,CAAC;YAEjC,sBAAsB,CACpB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YACF,sBAAsB,CACpB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YACF,sBAAsB,CACpB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YAEF;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE;YACnD,OAAO,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,6BAA6B,EAAE,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAEpD,IAAI,wCAAwC,GAAG,KAAK,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACzH,IAAM,SAAS,GAAG,sBAAsB,CACtC,OAAO,CAAC,sCAAsC,CAAC,SAAS,EAAE,SAAS,CAAC,EACpE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,wCAAwC,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAElG,OAAO,CAAC,sCAAsC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACrE,MAAM,CAAC,wCAAwC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAE1E,OAAO,CAAC,sCAAsC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACxE,MAAM,CAAC,wCAAwC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE;YACzD,IAAM,MAAM,GAAG,KAAK,CAAC,iDAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACjF,IAAM,SAAS,GAAG,KAAK,CAAC,iDAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACvF,IAAM,SAAS,GAAG,KAAK,CAAC,iDAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACvF,IAAM,SAAS,GAAG,KAAK,CAAC,iDAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACvF,IAAM,YAAY,GAAG,KAAK,CAAC,iDAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAE7F,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,EACxD,IAAI,CACL,CAAC;YACF,qHAAqH;YACrH,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,gCAAgC;YAChC,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAExC,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,CACzD,CAAC;YACF,uFAAuF;YACvF,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,wGAAwG;YACxG,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAExC;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B;;eAEG;YACH,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YACrE,uFAAuF;YACvF,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,0CAA0C;YAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B;;eAEG;YAEH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,CACzD,CAAC;YACF,uFAAuF;YACvF,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,2GAA2G;YAC3G,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,CACzD,CAAC;YACF,2HAA2H;YAC3H,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACxC;;eAEG;YACH,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,+CAAyB,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iEAAiE,EAAE;YACpE,0BAAiB,CAAC,MAAM,GAAG,IAAI,CAAC;YAChC,0BAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC3C,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,IAAI,CACL,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CACxB,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B;;eAEG;YACH,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B;;eAEG;YAEH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CACxB,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CACxB,CAAC;YACF;;eAEG;YACH,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,0BAAiB,CAAC,MAAM,GAAG,SAAS,CAAC;YACrC,0BAAiB,CAAC,iBAAiB,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE;YACrD,0BAAiB,CAAC,aAAa,GAAG,CAAC,CAAC;YACpC;;eAEG;YACH,IAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,UAAU,CAAC,OAAO,CAAC,UAAM,KAAK;gBAC5B,sBAAA,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAA;qBAAA,CACrD,CAAC;YACF;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACzB,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,yBAAyB;YACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,iBAAiB,GAAG,sBAAsB,CAC9C,eAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC,CAC1D,CAAC;YAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;gBAChC,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;aACrB,CAAC,CAAC;YACH,yBAAyB;YACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,SAAS,GAAG,sBAAsB,CACtC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAChD,oCAAoC;YACpC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEpE;;eAEG;YACH,IAAM,kBAAkB,GAAG,sBAAsB,CAC/C,eAAQ,CACN,aAAa,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CACnD,EACD,IAAI,CACL,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;gBACjC,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;gBACpB,EAAE,OAAO,EAAE,OAAO,EAAE;aACrB,CAAC,CAAC;YAEH,yGAAyG;YACzG,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD;;eAEG;YACH,IAAM,iBAAiB,GAAG,sBAAsB,CAC9C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxB,IAAI,CACL,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD;;eAEG;YACH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACzB,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,0BAAiB,CAAC,aAAa,GAAG,SAAS,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2CAA2C,EAAE;YAC9C,0BAAiB,CAAC,MAAM,GAAG,KAAK,CAAC;YACjC,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;YAE3B,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CACxB,CAAC;YACF;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpD;;eAEG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE5B;;eAEG;YACH,IAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CACxB,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAI,4BAA4B,GAAG,IAAI,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAA,IAAI;gBACpC,4BAA4B,GAAG,IAAI,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,0BAAiB,CAAC,MAAM,GAAG,SAAS,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE;YACtD,IAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAC9B,IAAI,CACL,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;YAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9E,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;YAClD,aAAa,CAAC,IAAI,CAAC,UAAC,IAAW;gBAC7B,IAAI,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAA1B,CAA0B,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC;gBAC9E,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH;;eAEG;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,IAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/E,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,gCAAgC,OAAwB,EAAE,QAAiB;QACzE,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,SAAS,CAAC,UAAA,IAAI;YACpB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE;YACZ;;;;eAIG;YACH,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"observable-cacheable.decorator.spec.js","sourceRoot":"","sources":["../../../specs/observable-cacheable.decorator.spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/specs/promise-cacheable.decorator.spec.d.ts b/dist/cjs/specs/promise-cacheable.decorator.spec.d.ts index cb0ff5c..a9e654b 100644 --- a/dist/cjs/specs/promise-cacheable.decorator.spec.d.ts +++ b/dist/cjs/specs/promise-cacheable.decorator.spec.d.ts @@ -1 +1,5 @@ -export {}; +import { ICachePair } from '../common'; +import { InMemoryStorageStrategy } from '../common/InMemoryStorageStrategy'; +export declare class CustomContextStrategy extends InMemoryStorageStrategy { + add(cachePair: ICachePair, cacheKey: string, ctx?: any): void; +} diff --git a/dist/cjs/specs/promise-cacheable.decorator.spec.js b/dist/cjs/specs/promise-cacheable.decorator.spec.js index a7ac2ad..a614d49 100644 --- a/dist/cjs/specs/promise-cacheable.decorator.spec.js +++ b/dist/cjs/specs/promise-cacheable.decorator.spec.js @@ -61,6 +61,20 @@ var LocalStorageStrategy_1 = require("../common/LocalStorageStrategy"); var InMemoryStorageStrategy_1 = require("../common/InMemoryStorageStrategy"); var IAsyncStorageStrategy_1 = require("common/IAsyncStorageStrategy"); var cat_1 = require("./cat"); +var customStrategySpy = jasmine.createSpy(); +var CustomContextStrategy = /** @class */ (function (_super) { + __extends(CustomContextStrategy, _super); + function CustomContextStrategy() { + return _super !== null && _super.apply(this, arguments) || this; + } + CustomContextStrategy.prototype.add = function (cachePair, cacheKey, ctx) { + customStrategySpy(ctx); + _super.prototype.add.call(this, cachePair, cacheKey, ctx); + }; + ; + return CustomContextStrategy; +}(InMemoryStorageStrategy_1.InMemoryStorageStrategy)); +exports.CustomContextStrategy = CustomContextStrategy; jasmine.DEFAULT_TIMEOUT_INTERVAL = 15000; var AsyncStorageStrategy = /** @class */ (function (_super) { __extends(AsyncStorageStrategy, _super); @@ -207,6 +221,10 @@ strategies.forEach(function (s) { Service.prototype.getMutableData = function (parameter) { return this.mockServiceCall(parameter); }; + Service.prototype.getDataWithCustomContextStorageStrategy = function (parameter) { + if (parameter === void 0) { parameter = 'Parameter1'; } + return this.mockServiceCall(parameter); + }; __decorate([ promise_cacheable_decorator_1.PCacheable() ], Service.prototype, "getData", null); @@ -308,6 +326,11 @@ strategies.forEach(function (s) { cacheModifier: cacheModifier }) ], Service.prototype, "getMutableData", null); + __decorate([ + promise_cacheable_decorator_1.PCacheable({ + storageStrategy: CustomContextStrategy + }) + ], Service.prototype, "getDataWithCustomContextStorageStrategy", null); return Service; }()); beforeEach(function () { @@ -1234,6 +1257,17 @@ strategies.forEach(function (s) { } }); }); }); + it('should work with a custom context storage strategy', function () { return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, service.getDataWithCustomContextStorageStrategy('test')]; + case 1: + _a.sent(); + expect(customStrategySpy).toHaveBeenCalledWith(jasmine.any(Object)); + return [2 /*return*/]; + } + }); + }); }); }); }); //# sourceMappingURL=promise-cacheable.decorator.spec.js.map \ No newline at end of file diff --git a/dist/cjs/specs/promise-cacheable.decorator.spec.js.map b/dist/cjs/specs/promise-cacheable.decorator.spec.js.map index 1949ffc..932991f 100644 --- a/dist/cjs/specs/promise-cacheable.decorator.spec.js.map +++ b/dist/cjs/specs/promise-cacheable.decorator.spec.js.map @@ -1 +1 @@ -{"version":3,"file":"promise-cacheable.decorator.spec.js","sourceRoot":"","sources":["../../../specs/promise-cacheable.decorator.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBA23BG;;AA33BH,6BAA6B;AAC7B,oFAA+D;AAC/D,8EAA0D;AAC1D,8EAAgF;AAChF,oCAAwD;AACxD,uEAAoE;AACpE,6EAA0E;AAC1E,sEAAmE;AAEnE,6BAA0B;AAC1B,OAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC;AACzC;IAAmC,wCAAqB;IAAxD;QAAA,qEA4CC;QA3CS,gBAAU,GAA2B,EAAE,CAAC;;IA2ClD,CAAC;IAzCC,kCAAG,GAAH,UAAI,SAA0B;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAAA,CAAC;IAEF,sCAAO,GAAP,UAAQ,UAA6B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAAA,CAAC;IAGF,4CAAa,GAAb,UAAc,KAAa,EAAE,MAAuB;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,qCAAM,GAAN,UAAO,KAAa,EAAE,MAAuB;QAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,qCAAM,GAAN;QACE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAAA,CAAC;IAEF,4CAAa,GAAb,UAAc,KAAa;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,qCAAM,GAAN,UAAO,KAAa;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,wCAAS,GAAT;QACE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACH,2BAAC;AAAD,CAAC,AA5CD,CAAmC,6CAAqB,GA4CvD;AACD,IAAM,UAAU,GAAG,CAAC,IAAI,EAAE,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AACtE,UAAU,CAAC,OAAO,CAAC,UAAA,CAAC;IAClB,IAAM,mBAAmB,GAAG,IAAI,cAAO,EAAE,CAAC;IAC1C,IAAI,CAAC,EAAE;QACL,0BAAiB,CAAC,eAAe,GAAG,CAAC,CAAC;KACvC;IAED,QAAQ,CAAC,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,2BAAuB,EAAE;QAC1E,IAAI,OAAO,GAA2B,IAAI,CAAC;QAC3C,IAAI,kBAAkB,GAAgB,IAAI,CAAC;QAC3C,IAAM,aAAa,GAAG,IAAI,cAAO,EAAO,CAAC;QACzC;YAAA;YA2KA,CAAC;YA1KC,iCAAe,GAAf,UAAgB,SAAc;gBAC5B,OAAO,IAAI,OAAO,CAAM,UAAA,OAAO;oBAC7B,UAAU,CAAC;wBACT,OAAO,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;oBAChC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;YACL,CAAC;YACD,qCAAmB,GAAnB;gBACE,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;oBACxB,UAAU,CAAC;wBACT,OAAO,CAAC,OAAO,CAAC,CAAC;oBACnB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;YACL,CAAC;YAED,uDAAqC,GAArC,UAAsC,UAAe,EAAE,UAAe;gBACpE,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;oBACxB,UAAU,CAAC;wBACT,OAAO,CAAC,EAAC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAC,CAAC,CAAC;oBAC/C,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;YACL,CAAC;YAGD,yBAAO,GAAP,UAAQ,SAAiB;gBACvB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAGD,0BAAQ,GAAR,UAAS,SAAiB;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAGD,0BAAQ,GAAR,UAAS,SAAiB;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAGD,0BAAQ,GAAR,UAAS,SAAiB;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAGD,sCAAoB,GAApB,UAAqB,SAAc;gBACjC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAGD,8CAA4B,GAA5B,UAA6B,SAAiB;gBAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAKD,uCAAqB,GAArB,UAAsB,SAAiB;gBACrC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAMD,8CAA4B,GAA5B,UAA6B,SAAiB;gBAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAKD,0CAAwB,GAAxB,UAAyB,SAAiB;gBACxC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAMD,uDAAqC,GAArC,UAAsC,SAAiB;gBACrD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAOD,8DAA4C,GAA5C,UAA6C,SAAiB;gBAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAOD,gDAA8B,GAA9B,UACE,SAAiB,EACjB,uBAAwD;gBAExD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAQD,yDAAuC,GAAvC,UACE,SAAiB;gBAEjB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAGD,qCAAmB,GAAnB,UACE,SAAc;gBAEd,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAOD,+CAA6B,GAA7B,UAA8B,SAAiB;gBAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAKD,sCAAoB,GAApB;gBACE,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpC,CAAC;YAKD,yCAAuB,GAAvB,UAAwB,SAAiB;gBACvC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAGD,+CAA6B,GAA7B,UAA8B,SAAsB;gBAAtB,0BAAA,EAAA,cAAsB;gBAClD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAGD,wDAAsC,GAAtC,UAAuC,SAAgC,EAAE,UAAiC;gBAAnE,0BAAA,EAAA,wBAAgC;gBAAE,2BAAA,EAAA,yBAAiC;gBACxG,OAAO,IAAI,CAAC,qCAAqC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC3E,CAAC;YAMD,0DAAwC,GAAxC,UAAyC,SAAiB;gBACxD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAKD,gCAAc,GAAd,UAAe,SAAiB;gBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAjJD;gBADC,wCAAU,EAAE;kDAGZ;YAGD;gBADC,wCAAU,EAAE;mDAGZ;YAGD;gBADC,wCAAU,EAAE;mDAGZ;YAGD;gBADC,wCAAU,EAAE;mDAGZ;YAGD;gBADC,wCAAU,EAAE;+DAGZ;YAGD;gBADC,wCAAU,EAAE;uEAGZ;YAKD;gBAHC,wCAAU,CAAC;oBACV,MAAM,EAAE,GAAG;iBACZ,CAAC;gEAGD;YAMD;gBAJC,wCAAU,CAAC;oBACV,MAAM,EAAE,GAAG;oBACX,iBAAiB,EAAE,IAAI;iBACxB,CAAC;uEAGD;YAKD;gBAHC,wCAAU,CAAC;oBACV,aAAa,EAAE,CAAC;iBACjB,CAAC;mEAGD;YAMD;gBAJC,wCAAU,CAAC;oBACV,MAAM,EAAE,GAAG;oBACX,aAAa,EAAE,CAAC;iBACjB,CAAC;gFAGD;YAOD;gBALC,wCAAU,CAAC;oBACV,MAAM,EAAE,GAAG;oBACX,aAAa,EAAE,CAAC;oBAChB,iBAAiB,EAAE,IAAI;iBACxB,CAAC;uFAGD;YAOD;gBALC,wCAAU,CAAC;oBACV,aAAa,EAAE,UAAC,cAAc,EAAE,aAAa;wBAC3C,OAAO,aAAa,CAAC,IAAI,CAAC,UAAC,KAAU,IAAK,OAAA,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAA3B,CAA2B,CAAC,CAAC;oBACzE,CAAC;iBACF,CAAC;yEAMD;YAQD;gBANC,wCAAU,CAAC;oBACV,WAAW,EAAE,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAlB,CAAkB;oBAChD,aAAa,EAAE,UAAC,YAAY,EAAE,YAAY;wBACxC,OAAO,YAAY,GAAG,CAAC,CAAA;oBACzB,CAAC;iBACF,CAAC;kFAKD;YAGD;gBADC,wCAAU,EAAE;8DAKZ;YAOD;gBALC,wCAAU,CAAC;oBACV,kBAAkB,EAAE,UAAC,QAA2B;wBAC9C,OAAO,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC;oBACrC,CAAC;iBACF,CAAC;wEAGD;YAKD;gBAHC,6CAAY,CAAC;oBACZ,mBAAmB,EAAE,mBAAmB;iBACzC,CAAC;+DAGD;YAKD;gBAHC,wCAAU,CAAC;oBACV,mBAAmB,EAAE,mBAAmB,CAAC,YAAY,EAAE;iBACxD,CAAC;kEAGD;YAGD;gBADC,wCAAU,EAAE;wEAGZ;YAGD;gBADC,wCAAU,EAAE;iFAGZ;YAMD;gBALC,wCAAU,CAAC;oBACV,MAAM,EAAE,GAAG;oBACX,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,iDAAuB;iBACzC,CAAC;mFAGD;YAKD;gBAJC,wCAAU,CAAC;oBACV,eAAe,EAAE,iDAAuB;oBACxC,aAAa,eAAA;iBACd,CAAC;yDAGD;YACH,cAAC;SAAA,AA3KD,IA2KC;QACD,UAAU,CAAC;YACT,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,kBAAkB,GAAG,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACzE,IAAI,0BAAiB,CAAC,eAAe,KAAK,2CAAoB,EAAE;gBAC9D,YAAY,CAAC,KAAK,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+EAA+E,EAAE;;;;4BAC3D,qBAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;wBAA9C,cAAc,GAAG,SAA6B;wBACpD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;wBAA9C,cAAc,GAAG,SAA6B;wBACpD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,qBAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA;;wBAA9B,SAA8B,CAAC;wBAE/B;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE5B,qBAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA;;wBAAhD,eAAe,GAAG,SAA8B;wBAEtD,MAAM;wBACN,yCAAyC;wBACzC,MAAM;wBACN,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD;;2BAEG;wBACH,qBAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;wBAH7B;;2BAEG;wBACH,SAA6B,CAAC;wBAE9B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,UAAO,IAAI;;;;;wBACpE,MAAM,GAAG;4BACX,MAAM,EAAE,CAAC,CAAC,CAAC;yBACZ,CAAC;wBACF;;2BAEG;wBACH,qBAAM,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAA;;wBAH1C;;2BAEG;wBACH,SAA0C,CAAC;wBAE3C;;2BAEG;wBACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACtB;;2BAEG;wBACH,qBAAM,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAA;;wBAH1C;;2BAEG;wBACH,SAA0C,CAAC;wBAC3C;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpD,IAAI,EAAE,CAAC;;;;aACR,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,UAAO,IAAI;;;;;;wBAKnE,CAAC,GAAG,CAAC;;;6BAAC,CAAA,CAAC,GAAG,GAAG,CAAA;wBACpB,qBAAM,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAA;;wBAAlD,SAAkD,CAAC;;;wBAD9B,CAAC,EAAE,CAAA;;;wBAI1B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpD,UAAU,CAAC;;;;oCACT;;uCAEG;oCACH,qBAAM,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAA;;wCAHlD;;2CAEG;wCACH,SAAkD,CAAC;wCACnD;;2CAEG;wCACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wCACpD,IAAI,EAAE,CAAC;;;;6BACR,EAAE,IAAI,CAAC,CAAC;;;;aACV,CAAC,CAAC;QAEH,EAAE,CAAC,2FAA2F,EAAE,UAAM,IAAI;;;;;4BACjF,qBAAM,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;wBAA5D,cAAc,GAAG,SAA2C;wBAElE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;wBAA5D,cAAc,GAAG,SAA2C;wBAClE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,UAAU,CAAC;;;;oCACT;;uCAEG;oCACH,qBAAM,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;wCAH3C;;2CAEG;wCACH,SAA2C,CAAC;wCAC5C,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wCACpD,IAAI,EAAE,CAAC;;;;6BACR,EAAE,GAAG,CAAC,CAAC;;;;aACT,CAAC,CAAC;QAEH,EAAE,CAAC,oGAAoG,EAAE,UAAM,IAAI;;;;;4BAC1F,qBAAM,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAA;;wBAAnE,cAAc,GAAG,SAAkD;wBACzE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAA;;wBAAnE,cAAc,GAAG,SAAkD;wBACzE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,UAAU,CAAC;;;;4CACT,qBAAM,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAA;;wCAAlD,SAAkD,CAAC;wCACnD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wCACpD,UAAU,CAAC;;;4DACT,qBAAM,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAA;;wDAAlD,SAAkD,CAAC;wDACnD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wDACpD,IAAI,EAAE,CAAC;;;;6CACR,EAAE,GAAG,CAAC,CAAC;;;;6BACT,EAAE,GAAG,CAAC,CAAC;;;;aACT,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE;;;;;wBAIxE,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBACjE,qBAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAC9B,UAAA,KAAK,IAAI,OAAA,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,EAAzC,CAAyC,CACnD,CAAC;4BACF;;+BAEG;0BAHD;;wBAFF,SAEE,CAAA;wBACF;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAA;;wBAAhE,cAAc,GAAG,SAA+C;wBACtE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACnD,yBAAyB;wBACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAK1B,qBAAM,OAAO,CAAC,GAAG,CACzC,UAAU,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAvC,CAAuC,CAAC,CACjE,EAAA;;wBAFK,iBAAiB,GAAG,SAEzB;wBAED,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;4BAChC,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;yBACnB,CAAC,CAAC;wBACH,yBAAyB;wBACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAElC,qBAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAA;;wBAA3D,SAAS,GAAG,SAA+C;wBAEjE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBAC9C,oCAAoC;wBACpC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAK9C,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBAKzC,qBAAM,OAAO,CAAC,GAAG,CAC1C,aAAa,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAvC,CAAuC,CAAC,CACpE,EAAA;;wBAFK,kBAAkB,GAAG,SAE1B;wBAED,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;4BACjC,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;yBACnB,CAAC,CAAC;wBAEH,yGAAyG;wBACzG,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAI1B,qBAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAA;;wBAAnE,iBAAiB,GAAG,SAA+C;wBACzE,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACtD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD;;2BAEG;wBACH,qBAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAA;;wBAH/C;;2BAEG;wBACH,SAA+C,CAAC;wBAChD;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,UAAO,IAAI;;;;;;wBAI3E,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBACzC,qBAAM,OAAO,CAAC,GAAG,CACvC,UAAU,CAAC,GAAG,CAAC,UAAA,KAAK;gCAClB,OAAA,OAAO,CAAC,qCAAqC,CAAC,KAAK,CAAC;4BAApD,CAAoD,CACrD,CACF,EAAA;;wBAJK,eAAe,GAAG,SAIvB;wBACD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;4BAC9B,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;yBACnB,CAAC,CAAC;wBAEH,UAAU,CAAC;;;4CACT,qBAAM,OAAO,CAAC,qCAAqC,CAAC,OAAO,CAAC,EAAA;;wCAA5D,SAA4D,CAAC;wCAC7D;;2CAEG;wCACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wCACpD,IAAI,EAAE,CAAC;;;;6BACR,EAAE,GAAG,CAAC,CAAC;;;;aACT,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE;;;;4BACnE,qBAAM,OAAO,CAAC,8BAA8B,CACjE,OAAO,CACR,EAAA;;wBAFK,cAAc,GAAG,SAEtB;wBACD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACnD,MAAM,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,EAAE,CAAC;wBAEtB,qBAAM,OAAO,CAAC,8BAA8B,CAClE,OAAO,CACR,EAAA;;wBAFK,eAAe,GAAG,SAEvB;wBACD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,8BAA8B,CACjE,OAAO,EACP;gCACE,mBAAmB,EAAE,IAAI;6BAC1B,CACF,EAAA;;wBALK,cAAc,GAAG,SAKtB;wBACD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACnD;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpD,qBAAM,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAA;;wBAArD,SAAqD,CAAC;wBACtD,yEAAyE;wBACzE,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,EAAE,CAAC,gGAAgG,EAAE;;;;4BACjF,qBAAM,OAAO,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAA;;wBAAhE,SAAS,GAAG,SAAoD;wBACtE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBAC9C,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,qBAAM,OAAO,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBACrD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAMjC,qBAAM,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAA;;wBAAhE,UAAU,GAAG,SAAmD;wBACtE,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAC9C,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAKhC,qBAAM,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAA;;wBAAjE,WAAW,GAAG,SAAmD;wBACvE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAC/C;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE;;;;4BAClC,qBAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAA9D,cAAc,GAAG,SAA6C;wBACpE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAA9D,cAAc,GAAG,SAA6C;wBACpE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD;;;2BAGG;wBACH,KAAA,MAAM,CAAA;wBAAC,qBAAM,OAAO,CAAC,oBAAoB,EAAE,EAAA;;wBAJ3C;;;2BAGG;wBACH,kBAAO,SAAoC,EAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAE9D,qBAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAA7C,SAA6C,CAAC;wBAC9C;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpD;;2BAEG;wBACH;;2BAEG;wBACH,KAAA,MAAM,CAAA;wBAAC,qBAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBANpD;;2BAEG;wBACH;;2BAEG;wBACH,kBAAO,SAA6C,EAAC,CAAC,OAAO,CAAC;4BAC5D,OAAO,EAAE,MAAM;yBAChB,CAAC,CAAC;;;;aACJ,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE;;;;;wBACnE;;2BAEG;wBACH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACD,qBAAM,CAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACzB,EAAA;;wBAFK,eAAe,GAAG,SAEvB;wBAED,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBAC5B,qBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAA;;wBAAlD,eAAe,GAAG,SAAgC;wBACxD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACpD;;;2BAGG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACD,qBAAM,CAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACzB,EAAA;;wBAFK,eAAe,GAAG,SAEvB;wBAED,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBAC5B,qBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAA;;wBAAlD,eAAe,GAAG,SAAgC;wBACxD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACD,qBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAA;;wBAAlD,eAAe,GAAG,SAAgC;wBACxD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBAC5B,qBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAA;;wBAAlD,eAAe,GAAG,SAAgC;wBACxD,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD;;2BAEG;wBACH,8DAAgC,CAAC,IAAI,EAAE,CAAC;wBAExC,qBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAA;;wBAAhC,SAAgC,CAAC;wBACjC,qBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAA;;wBAAhC,SAAgC,CAAC;wBACjC,qBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAA;;wBAAhC,SAAgC,CAAC;wBAEjC;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE;;;;4BACnD,qBAAM,OAAO,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAA;;wBAAtD,SAAsD,CAAC;wBACvD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;wBACpD,qBAAM,OAAO,CAAC,6BAA6B,EAAE,EAAA;;wBAA7C,SAA6C,CAAC;wBAC9C,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;wBAEhD,wCAAwC,GAAG,KAAK,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACzH,qBAAM,OAAO,CAAC,sCAAsC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAA;;wBAA1E,SAA0E,CAAC;wBAC3E,MAAM,CAAC,wCAAwC,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBAGhF,qBAAM,OAAO,CAAC,sCAAsC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAA;;wBAAtF,SAAS,GAAG,SAA0E;wBAE5F,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,EAAC,CAAC,CAAC;wBACnE,MAAM,CAAC,wCAAwC,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBAElG,qBAAM,OAAO,CAAC,sCAAsC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAA;;wBAA1E,SAA0E,CAAC;wBAC3E,MAAM,CAAC,wCAAwC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE1E,qBAAM,OAAO,CAAC,sCAAsC,CAAC,YAAY,EAAE,SAAS,CAAC,EAAA;;wBAA7E,SAA6E,CAAC;wBAC9E,MAAM,CAAC,wCAAwC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;aAC3E,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,UAAO,IAAI;;;;;;wBAE9D,SAAS,GAAG,KAAK,CAAC,iDAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBAChE,qBAAM,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,EAAA;;wBAA/E,cAAc,GAAG,SAA8D;wBACrF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpD,gCAAgC;wBAChC,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpB,qBAAM,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,EAAA;;wBAA/E,cAAc,GAAG,SAA8D;wBACrF,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAC3C;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,UAAU,CAAC;;;;4CACT,qBAAM,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,EAAA;;wCAA9D,SAA8D,CAAC;wCAC/D,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wCACpD,6FAA6F;wCAC7F,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wCAC3C,UAAU,CAAC;;;4DACT,qBAAM,OAAO,CAAC,wCAAwC,CAAC,MAAM,CAAC,EAAA;;wDAA9D,SAA8D,CAAC;wDAC/D,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wDACpD,IAAI,EAAE,CAAC;;;;6CACR,EAAE,GAAG,CAAC,CAAC;;;;6BACT,EAAE,GAAG,CAAC,CAAC;;;;aACT,CAAC,CAAC;QAEH,EAAE,CAAC,kGAAkG,EAAE;;;;oBACrG,6BAA6B;oBAC7B,qBAAM,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAA;;wBADxD,6BAA6B;wBAC7B,SAAwD,CAAC;wBACzD,4DAA4D;wBAC5D,qEAAqE;wBACrE,qBAAM,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAA;;wBAFxD,4DAA4D;wBAC5D,qEAAqE;wBACrE,SAAwD,CAAC;wBACzD,qBAAM,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAA;;wBAAxD,SAAwD,CAAC;wBACzD,4CAA4C;wBAC5C,qBAAM,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAA;;wBADxD,4CAA4C;wBAC5C,SAAwD,CAAC;wBACzD,qBAAM,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAA;;wBAAxD,SAAwD,CAAC;wBACzD,qBAAM,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAA;;wBAAxD,SAAwD,CAAC;wBACzD,qBAAM,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAA;;wBAAxD,SAAwD,CAAC;wBAEzD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;aACrD,CAAC,CAAC;QAEH,EAAE,CAAC,yGAAyG,EAAE;;;;;wBAC5G,0BAAiB,CAAC,WAAW,GAAG,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,EAA1B,CAA0B,CAAC;wBAC5E,0BAAiB,CAAC,aAAa,GAAG,UAAC,YAAY,EAAE,YAAY;4BAC3D,OAAO,YAAY,KAAK,eAAe,CAAC;wBAC1C,CAAC,CAAC;;4BACF;4BAYA,CAAC;4BAXC,iCAAe,GAAf,UAAgB,SAAc;gCAC5B,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;oCACxB,UAAU,CAAC;wCACT,OAAO,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;oCAChC,CAAC,EAAE,GAAG,CAAC,CAAC;gCACV,CAAC,CAAC,CAAC;4BACL,CAAC;4BAED,yBAAO,GAAP,UAAQ,SAAiB;gCACvB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;4BACzC,CAAC;4BAFD;gCADC,wCAAU,EAAE;kEAGZ;4BACH,cAAC;yBAAA,AAZD;wBAaM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;wBAC9B,kBAAkB,GAAG,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBAEzE,kCAAkC;wBAClC,qBAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;;wBAD/B,kCAAkC;wBAClC,SAA+B,CAAC;wBAChC,qDAAqD;wBACrD,qBAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;;wBAD/B,qDAAqD;wBACrD,SAA+B,CAAC;wBAChC,qBAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;;wBAA/B,SAA+B,CAAC;wBAChC,4CAA4C;wBAC5C,qBAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAA;;wBADnC,4CAA4C;wBAC5C,SAAmC,CAAC;wBACpC,qBAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;wBACpC,qBAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;wBACpC,qBAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;wBAEpC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpD,0BAAiB,CAAC,WAAW,GAAG,SAAS,CAAC;wBAC1C,0BAAiB,CAAC,aAAa,GAAG,SAAS,CAAC;;;;aAC7C,CAAC,CAAC;QAEH,EAAE,CAAC,uHAAuH,EAAE;;;;;wBACpH,aAAa,GAAG,IAAI,SAAG,EAAE,CAAC;wBAChC,aAAa,CAAC,IAAI,GAAG,OAAO,CAAC;wBACZ,qBAAM,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAA;;wBAA3D,QAAQ,GAAG,SAAgD;wBACjE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;wBACpE,oGAAoG;wBACpG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;;;;aAC9E,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,UAAM,IAAI;;;;;;wBAC9E,0BAAiB,CAAC,MAAM,GAAG,GAAG,CAAC;wBAC/B,0BAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAEpB,qBAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wBAA/C,cAAc,GAAG,SAA8B;wBACrD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wBAA/C,cAAc,GAAG,SAA8B;wBACrD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,UAAU,CAAC;;;;4CACT,qBAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wCAA9B,SAA8B,CAAC;wCAC/B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wCACpD,UAAU,CAAC;;;4DACT,qBAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wDAA9B,SAA8B,CAAC;wDAC/B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wDACpD,IAAI,EAAE,CAAC;wDACP,0BAAiB,CAAC,MAAM,GAAG,SAAS,CAAC;wDACrC,0BAAiB,CAAC,iBAAiB,GAAG,SAAS,CAAC;;;;6CACjD,EAAE,GAAG,CAAC,CAAC;;;;6BACT,EAAE,GAAG,CAAC,CAAC;;;;aAET,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE;;;;;wBACrD,0BAAiB,CAAC,aAAa,GAAG,CAAC,CAAC;wBAI9B,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBACjE,qBAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAC9B,UAAA,KAAK,IAAI,OAAA,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAzB,CAAyB,CACnC,CAAC;4BACF;;+BAEG;0BAHD;;wBAFF,SAEE,CAAA;wBACF;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;wBAAhD,cAAc,GAAG,SAA+B;wBACtD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACnD,yBAAyB;wBACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAK1B,qBAAM,OAAO,CAAC,GAAG,CACzC,UAAU,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC,CACjD,EAAA;;wBAFK,iBAAiB,GAAG,SAEzB;wBAED,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;4BAChC,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;yBACnB,CAAC,CAAC;wBACH,yBAAyB;wBACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAElC,qBAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;wBAA3C,SAAS,GAAG,SAA+B;wBAEjD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBAC9C,oCAAoC;wBACpC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAK9C,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBAKzC,qBAAM,OAAO,CAAC,GAAG,CAC1C,aAAa,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC,CACpD,EAAA;;wBAFK,kBAAkB,GAAG,SAE1B;wBAED,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;4BACjC,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;4BAClB,EAAC,OAAO,EAAE,OAAO,EAAC;yBACnB,CAAC,CAAC;wBAEH,yGAAyG;wBACzG,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAI1B,qBAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;wBAAnD,iBAAiB,GAAG,SAA+B;wBACzD,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;wBACtD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD;;2BAEG;wBACH,qBAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;wBAH/B;;2BAEG;wBACH,SAA+B,CAAC;wBAChC;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACpD,0BAAiB,CAAC,aAAa,GAAG,SAAS,CAAC;;;;aAC7C,CAAC,CAAC;QAGH,EAAE,CAAC,2CAA2C,EAAE,UAAM,IAAI;;;;;;wBACxD,0BAAiB,CAAC,MAAM,GAAG,IAAI,CAAC;wBACT,qBAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wBAA/C,cAAc,GAAG,SAA8B;wBAErD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wBAA/C,cAAc,GAAG,SAA8B;wBACrD,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAEpD,UAAU,CAAC;;;;oCACT;;uCAEG;oCACH,qBAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wCAH9B;;2CAEG;wCACH,SAA8B,CAAC;wCAC/B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wCACpD,0BAAiB,CAAC,MAAM,GAAG,SAAS,CAAC;wCACrC,IAAI,EAAE,CAAC;;;;6BACR,EAAE,IAAI,CAAC,CAAC;;;;aACV,CAAC,CAAC;QACH,EAAE,CAAC,mDAAmD,EAAE;;;;4BAC/B,qBAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAA;;wBAArD,cAAc,GAAG,SAAoC;wBAC3D,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAE7B,qBAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAA;;wBAArD,cAAc,GAAG,SAAoC;wBAC3D,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;wBAElD,aAAa,CAAC,IAAI,CAAC,UAAC,IAAW;4BAC7B,IAAI,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAA1B,CAA0B,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC;4BAC9E,OAAO,IAAI,CAAC;wBACd,CAAC,CAAC,CAAC;wBAEqB,qBAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAA;;wBAAtD,eAAe,GAAG,SAAoC;wBAC5D,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC;wBAC5D;;2BAEG;wBACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;aACrD,CAAC,CAAA;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"promise-cacheable.decorator.spec.js","sourceRoot":"","sources":["../../../specs/promise-cacheable.decorator.spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/specs/service.interface.d.ts b/dist/cjs/specs/service.interface.d.ts index 5c6160d..824ec55 100644 --- a/dist/cjs/specs/service.interface.d.ts +++ b/dist/cjs/specs/service.interface.d.ts @@ -22,6 +22,7 @@ export interface IService { getDataWithUndefinedParameter(parameter?: string): T; getDataWithMultipleUndefinedParameters(parameter: string, parameter1: string): T; getDateWithCustomStorageStrategyProvided(parameter: string): T; + getDataWithCustomContextStorageStrategy(parameter: string): T; getDataAsync?(parameter: string): T; getData1?(parameter: string): T; getData2?(parameter: string): T; diff --git a/dist/esm2015/cacheable.decorator.js b/dist/esm2015/cacheable.decorator.js index c06cdac..151a733 100644 --- a/dist/esm2015/cacheable.decorator.js +++ b/dist/esm2015/cacheable.decorator.js @@ -12,7 +12,7 @@ export function Cacheable(cacheConfig = {}) { : new cacheConfig.storageStrategy(); const pendingCachePairs = []; if (cacheConfig.cacheModifier) { - cacheConfig.cacheModifier.subscribe(callback => storageStrategy.addMany(callback(storageStrategy.getAll(cacheKey)), cacheKey)); + cacheConfig.cacheModifier.subscribe(callback => storageStrategy.addMany(callback(storageStrategy.getAll(cacheKey, this)), cacheKey, this)); } /** * subscribe to the globalCacheBuster @@ -22,7 +22,7 @@ export function Cacheable(cacheConfig = {}) { merge(globalCacheBusterNotifier.asObservable(), cacheConfig.cacheBusterObserver ? cacheConfig.cacheBusterObserver : empty()).subscribe(_ => { - storageStrategy.removeAll(cacheKey); + storageStrategy.removeAll(cacheKey, this); pendingCachePairs.length = 0; }); const cacheResolver = cacheConfig.cacheResolver || GlobalCacheConfig.cacheResolver; @@ -35,7 +35,7 @@ export function Cacheable(cacheConfig = {}) { : DEFAULT_HASHER; /* use function instead of an arrow function to keep context of invocation */ propertyDescriptor.value = function (...parameters) { - const cachePairs = storageStrategy.getAll(cacheKey); + const cachePairs = storageStrategy.getAll(cacheKey, this); let cacheParameters = cacheConfig.cacheHasher(parameters); let _foundCachePair = cachePairs.find(cp => cacheConfig.cacheResolver(cp.parameters, cacheParameters)); const _foundPendingCachePair = pendingCachePairs.find(cp => cacheConfig.cacheResolver(cp.parameters, cacheParameters)); @@ -48,7 +48,7 @@ export function Cacheable(cacheConfig = {}) { /** * cache duration has expired - remove it from the cachePairs array */ - storageStrategy.remove ? storageStrategy.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey); + storageStrategy.remove ? storageStrategy.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this) : storageStrategy.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey, this); _foundCachePair = null; } else if (cacheConfig.slidingExpiration || GlobalCacheConfig.slidingExpiration) { @@ -56,7 +56,7 @@ export function Cacheable(cacheConfig = {}) { * renew cache duration */ _foundCachePair.created = new Date(); - storageStrategy.update ? storageStrategy.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey); + storageStrategy.update ? storageStrategy.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this) : storageStrategy.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this); } } if (_foundCachePair) { @@ -84,13 +84,13 @@ export function Cacheable(cacheConfig = {}) { (cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) === 1 || ((cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) && (cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) < cachePairs.length + 1)) { - storageStrategy.remove ? storageStrategy.remove(0, cachePairs[0], cacheKey) : storageStrategy.removeAtIndex(0, cacheKey); + storageStrategy.remove ? storageStrategy.remove(0, cachePairs[0], cacheKey, this) : storageStrategy.removeAtIndex(0, cacheKey, this); } storageStrategy.add({ parameters: cacheParameters, response, created: (cacheConfig.maxAge || GlobalCacheConfig.maxAge) ? new Date() : null - }, cacheKey); + }, cacheKey, this); } }), publishReplay(1), refCount()); /** diff --git a/dist/esm2015/cacheable.decorator.js.map b/dist/esm2015/cacheable.decorator.js.map index c325cc0..d02e763 100644 --- a/dist/esm2015/cacheable.decorator.js.map +++ b/dist/esm2015/cacheable.decorator.js.map @@ -1 +1 @@ -{"version":3,"file":"cacheable.decorator.js","sourceRoot":"","sources":["../../cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"cacheable.decorator.js","sourceRoot":"","sources":["../../cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/esm2015/common/IAsyncStorageStrategy.d.ts b/dist/esm2015/common/IAsyncStorageStrategy.d.ts index 58acb68..7f3fc0a 100644 --- a/dist/esm2015/common/IAsyncStorageStrategy.d.ts +++ b/dist/esm2015/common/IAsyncStorageStrategy.d.ts @@ -1,17 +1,17 @@ import { ICachePair } from '.'; export declare abstract class IAsyncStorageStrategy { - abstract getAll(cacheKey: string): Array> | Promise>>; - abstract add(entity: ICachePair, cacheKey: string): void | Promise; + abstract getAll(cacheKey: string, ctx?: any): Array> | Promise>>; + abstract add(entity: ICachePair, cacheKey: string, ctx?: any): void | Promise; /** * @deprecated Use update instead. */ - abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string): void | Promise; - abstract update?(index: number, entity: ICachePair, cacheKey: string): Promise; + abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void | Promise; + abstract update?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): Promise; /** * @deprecated Use remove instead. */ - abstract removeAtIndex(index: number, cacheKey: string): void | Promise; - abstract remove?(index: number, entity: ICachePair, cacheKey: string): Promise; - abstract removeAll(cacheKey: string): void | Promise; - abstract addMany(entities: ICachePair[], cacheKey: string): Promise; + abstract removeAtIndex(index: number, cacheKey: string, ctx?: any): void | Promise; + abstract remove?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): Promise; + abstract removeAll(cacheKey: string, ctx?: any): void | Promise; + abstract addMany(entities: ICachePair[], cacheKey: string, ctx?: any): Promise; } diff --git a/dist/esm2015/common/IStorageStrategy.d.ts b/dist/esm2015/common/IStorageStrategy.d.ts index e90e777..89d013a 100644 --- a/dist/esm2015/common/IStorageStrategy.d.ts +++ b/dist/esm2015/common/IStorageStrategy.d.ts @@ -1,17 +1,17 @@ import { ICachePair } from '.'; export declare abstract class IStorageStrategy { - abstract getAll(cacheKey: string): Array>; - abstract add(entity: ICachePair, cacheKey: string): void; + abstract getAll(cacheKey: string, ctx?: any): Array>; + abstract add(entity: ICachePair, cacheKey: string, ctx?: any): void; /** * @deprecated Use update instead. */ - abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string): void; - abstract update?(index: number, entity: ICachePair, cacheKey: string): void; + abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; + abstract update?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; /** * @deprecated Use remove instead. */ - abstract removeAtIndex(index: number, cacheKey: string): void; - abstract remove?(index: number, entity: ICachePair, cacheKey: string): void; - abstract removeAll(cacheKey: string): void; - abstract addMany(entities: ICachePair[], cacheKey: string): void; + abstract removeAtIndex(index: number, cacheKey: string, ctx?: any): void; + abstract remove?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; + abstract removeAll(cacheKey: string, ctx?: any): void; + abstract addMany(entities: ICachePair[], cacheKey: string, ctx?: any): void; } diff --git a/dist/esm2015/common/InMemoryStorageStrategy.d.ts b/dist/esm2015/common/InMemoryStorageStrategy.d.ts index 9f6c113..ea65454 100644 --- a/dist/esm2015/common/InMemoryStorageStrategy.d.ts +++ b/dist/esm2015/common/InMemoryStorageStrategy.d.ts @@ -2,7 +2,7 @@ import { IStorageStrategy } from './IStorageStrategy'; import { ICachePair } from '.'; export declare class InMemoryStorageStrategy extends IStorageStrategy { private cachePairs; - add(cachePair: ICachePair): void; + add(cachePair: ICachePair, cacheKey: string, ctx?: any): void; addMany(cachePairs: ICachePair[]): void; updateAtIndex(index: number, entity: ICachePair): void; update(index: number, entity: ICachePair): void; diff --git a/dist/esm2015/common/InMemoryStorageStrategy.js b/dist/esm2015/common/InMemoryStorageStrategy.js index e2fcf3d..e070e9a 100644 --- a/dist/esm2015/common/InMemoryStorageStrategy.js +++ b/dist/esm2015/common/InMemoryStorageStrategy.js @@ -4,7 +4,7 @@ export class InMemoryStorageStrategy extends IStorageStrategy { super(...arguments); this.cachePairs = []; } - add(cachePair) { + add(cachePair, cacheKey, ctx) { this.cachePairs.push(cachePair); } ; diff --git a/dist/esm2015/common/InMemoryStorageStrategy.js.map b/dist/esm2015/common/InMemoryStorageStrategy.js.map index 8841ac4..33dc42a 100644 --- a/dist/esm2015/common/InMemoryStorageStrategy.js.map +++ b/dist/esm2015/common/InMemoryStorageStrategy.js.map @@ -1 +1 @@ -{"version":3,"file":"InMemoryStorageStrategy.js","sourceRoot":"","sources":["../../../common/InMemoryStorageStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAGpD,MAAM,8BAA+B,SAAQ,gBAAgB;IAA7D;;QACU,eAAU,GAA2B,EAAE,CAAC;IAmClD,CAAC;IAjCC,GAAG,CAAC,SAA0B;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAAA,CAAC;IAEF,OAAO,CAAC,UAA6B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,aAAa,CAAC,KAAa,EAAE,MAAuB;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,MAAuB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"InMemoryStorageStrategy.js","sourceRoot":"","sources":["../../../common/InMemoryStorageStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAGpD,MAAM,8BAA+B,SAAQ,gBAAgB;IAA7D;;QACU,eAAU,GAA2B,EAAE,CAAC;IAmClD,CAAC;IAjCC,GAAG,CAAC,SAA0B,EAAE,QAAgB,EAAE,GAAS;QACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,OAAO,CAAC,UAA6B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,aAAa,CAAC,KAAa,EAAE,MAAuB;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,MAAuB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF"} \ No newline at end of file diff --git a/dist/esm2015/promise.cacheable.decorator.js b/dist/esm2015/promise.cacheable.decorator.js index 108be22..0d8db1f 100644 --- a/dist/esm2015/promise.cacheable.decorator.js +++ b/dist/esm2015/promise.cacheable.decorator.js @@ -22,7 +22,7 @@ const getResponse = (oldMethod, cacheKey, cacheConfig, context, cachePairs, para /** * cache duration has expired - remove it from the cachePairs array */ - storageStrategy.remove ? storageStrategy.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey); + storageStrategy.remove ? storageStrategy.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this) : storageStrategy.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey, this); _foundCachePair = null; } else if (cacheConfig.slidingExpiration || GlobalCacheConfig.slidingExpiration) { @@ -30,7 +30,7 @@ const getResponse = (oldMethod, cacheKey, cacheConfig, context, cachePairs, para * renew cache duration */ _foundCachePair.created = new Date(); - storageStrategy.update ? storageStrategy.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey); + storageStrategy.update ? storageStrategy.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this) : storageStrategy.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this); } } if (_foundCachePair) { @@ -54,13 +54,13 @@ const getResponse = (oldMethod, cacheKey, cacheConfig, context, cachePairs, para (cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) === 1 || ((cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) && (cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) < cachePairs.length + 1)) { - storageStrategy.remove ? storageStrategy.remove(0, cachePairs[0], cacheKey) : storageStrategy.removeAtIndex(0, cacheKey); + storageStrategy.remove ? storageStrategy.remove(0, cachePairs[0], cacheKey, this) : storageStrategy.removeAtIndex(0, cacheKey, this); } storageStrategy.add({ parameters: cacheParameters, response, created: (cacheConfig.maxAge || GlobalCacheConfig.maxAge) ? new Date() : null - }, cacheKey); + }, cacheKey, this); } return response; }) @@ -97,7 +97,7 @@ export function PCacheable(cacheConfig = {}) { : new cacheConfig.storageStrategy(); const pendingCachePairs = []; if (cacheConfig.cacheModifier) { - cacheConfig.cacheModifier.subscribe((callback) => __awaiter(this, void 0, void 0, function* () { return storageStrategy.addMany(callback(yield storageStrategy.getAll(cacheKey)), cacheKey); })); + cacheConfig.cacheModifier.subscribe((callback) => __awaiter(this, void 0, void 0, function* () { return storageStrategy.addMany(callback(yield storageStrategy.getAll(cacheKey, this)), cacheKey, this); })); } /** * subscribe to the promiseGlobalCacheBusterNotifier @@ -107,7 +107,7 @@ export function PCacheable(cacheConfig = {}) { merge(promiseGlobalCacheBusterNotifier.asObservable(), cacheConfig.cacheBusterObserver ? cacheConfig.cacheBusterObserver : empty()).subscribe(_ => { - storageStrategy.removeAll(cacheKey); + storageStrategy.removeAll(cacheKey, this); pendingCachePairs.length = 0; }); const cacheResolver = cacheConfig.cacheResolver || GlobalCacheConfig.cacheResolver; @@ -123,7 +123,7 @@ export function PCacheable(cacheConfig = {}) { const promiseImplementation = typeof GlobalCacheConfig.promiseImplementation === 'function' && (GlobalCacheConfig.promiseImplementation !== Promise) ? GlobalCacheConfig.promiseImplementation.call(this) : GlobalCacheConfig.promiseImplementation; - let cachePairs = storageStrategy.getAll(cacheKey); + let cachePairs = storageStrategy.getAll(cacheKey, this); if (!(cachePairs instanceof promiseImplementation)) { cachePairs = promiseImplementation.resolve(cachePairs); } diff --git a/dist/esm2015/promise.cacheable.decorator.js.map b/dist/esm2015/promise.cacheable.decorator.js.map index 3561915..720245c 100644 --- a/dist/esm2015/promise.cacheable.decorator.js.map +++ b/dist/esm2015/promise.cacheable.decorator.js.map @@ -1 +1 @@ -{"version":3,"file":"promise.cacheable.decorator.js","sourceRoot":"","sources":["../../promise.cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"promise.cacheable.decorator.js","sourceRoot":"","sources":["../../promise.cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/esm5/cacheable.decorator.js b/dist/esm5/cacheable.decorator.js index d91c666..efe8585 100644 --- a/dist/esm5/cacheable.decorator.js +++ b/dist/esm5/cacheable.decorator.js @@ -5,6 +5,7 @@ export var globalCacheBusterNotifier = new Subject(); export function Cacheable(cacheConfig) { if (cacheConfig === void 0) { cacheConfig = {}; } return function (_target, _propertyKey, propertyDescriptor) { + var _this = this; var cacheKey = cacheConfig.cacheKey || _target.constructor.name + '#' + _propertyKey; var oldMethod = propertyDescriptor.value; if (propertyDescriptor && propertyDescriptor.value) { @@ -13,7 +14,7 @@ export function Cacheable(cacheConfig) { : new cacheConfig.storageStrategy(); var pendingCachePairs_1 = []; if (cacheConfig.cacheModifier) { - cacheConfig.cacheModifier.subscribe(function (callback) { return storageStrategy_1.addMany(callback(storageStrategy_1.getAll(cacheKey)), cacheKey); }); + cacheConfig.cacheModifier.subscribe(function (callback) { return storageStrategy_1.addMany(callback(storageStrategy_1.getAll(cacheKey, _this)), cacheKey, _this); }); } /** * subscribe to the globalCacheBuster @@ -23,7 +24,7 @@ export function Cacheable(cacheConfig) { merge(globalCacheBusterNotifier.asObservable(), cacheConfig.cacheBusterObserver ? cacheConfig.cacheBusterObserver : empty()).subscribe(function (_) { - storageStrategy_1.removeAll(cacheKey); + storageStrategy_1.removeAll(cacheKey, _this); pendingCachePairs_1.length = 0; }); var cacheResolver = cacheConfig.cacheResolver || GlobalCacheConfig.cacheResolver; @@ -36,11 +37,12 @@ export function Cacheable(cacheConfig) { : DEFAULT_HASHER; /* use function instead of an arrow function to keep context of invocation */ propertyDescriptor.value = function () { + var _this = this; var parameters = []; for (var _i = 0; _i < arguments.length; _i++) { parameters[_i] = arguments[_i]; } - var cachePairs = storageStrategy_1.getAll(cacheKey); + var cachePairs = storageStrategy_1.getAll(cacheKey, this); var cacheParameters = cacheConfig.cacheHasher(parameters); var _foundCachePair = cachePairs.find(function (cp) { return cacheConfig.cacheResolver(cp.parameters, cacheParameters); @@ -57,7 +59,7 @@ export function Cacheable(cacheConfig) { /** * cache duration has expired - remove it from the cachePairs array */ - storageStrategy_1.remove ? storageStrategy_1.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy_1.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey); + storageStrategy_1.remove ? storageStrategy_1.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this) : storageStrategy_1.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey, this); _foundCachePair = null; } else if (cacheConfig.slidingExpiration || GlobalCacheConfig.slidingExpiration) { @@ -65,7 +67,7 @@ export function Cacheable(cacheConfig) { * renew cache duration */ _foundCachePair.created = new Date(); - storageStrategy_1.update ? storageStrategy_1.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy_1.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey); + storageStrategy_1.update ? storageStrategy_1.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this) : storageStrategy_1.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, this); } } if (_foundCachePair) { @@ -95,13 +97,13 @@ export function Cacheable(cacheConfig) { (cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) === 1 || ((cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) && (cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) < cachePairs.length + 1)) { - storageStrategy_1.remove ? storageStrategy_1.remove(0, cachePairs[0], cacheKey) : storageStrategy_1.removeAtIndex(0, cacheKey); + storageStrategy_1.remove ? storageStrategy_1.remove(0, cachePairs[0], cacheKey, _this) : storageStrategy_1.removeAtIndex(0, cacheKey, _this); } storageStrategy_1.add({ parameters: cacheParameters, response: response, created: (cacheConfig.maxAge || GlobalCacheConfig.maxAge) ? new Date() : null - }, cacheKey); + }, cacheKey, _this); } }), publishReplay(1), refCount()); /** diff --git a/dist/esm5/cacheable.decorator.js.map b/dist/esm5/cacheable.decorator.js.map index 3266719..63e13b1 100644 --- a/dist/esm5/cacheable.decorator.js.map +++ b/dist/esm5/cacheable.decorator.js.map @@ -1 +1 @@ -{"version":3,"file":"cacheable.decorator.js","sourceRoot":"","sources":["../../cacheable.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,KAAK,EAAc,EAAE,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AAC3D,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAC,sBAAsB,EAAc,iBAAiB,EAAoB,cAAc,EAAC,MAAM,UAAU,CAAC;AAGjH,MAAM,CAAC,IAAM,yBAAyB,GAAG,IAAI,OAAO,EAAQ,CAAC;AAE7D,MAAM,oBAAoB,WAAwC;IAAxC,4BAAA,EAAA,gBAAwC;IAChE,OAAO,UACL,OAAe,EACf,YAAoB,EACpB,kBAAwE;QAExE,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,YAAY,CAAC;QACvF,IAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAC3C,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,KAAK,EAAE;YAClD,IAAI,iBAAe,GAAqB,CAAC,WAAW,CAAC,eAAe;gBAClE,CAAC,CAAC,IAAI,iBAAiB,CAAC,eAAe,EAAsB;gBAC7D,CAAC,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;YACtC,IAAM,mBAAiB,GAAuC,EAAE,CAAC;YACjE,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,UAAA,QAAQ,IAAI,OAAA,iBAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,EAA7E,CAA6E,CAAC,CAAA;aAC/H;YACD;;;;eAIG;YACH,KAAK,CACH,yBAAyB,CAAC,YAAY,EAAE,EACxC,WAAW,CAAC,mBAAmB;gBAC7B,CAAC,CAAC,WAAW,CAAC,mBAAmB;gBACjC,CAAC,CAAC,KAAK,EAAE,CACZ,CAAC,SAAS,CAAC,UAAA,CAAC;gBACX,iBAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACpC,mBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,IAAM,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,iBAAiB,CAAC,aAAa,CAAC;YACnF,WAAW,CAAC,aAAa,GAAG,aAAa;gBACvC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,sBAAsB,CAAC;YAC3B,IAAM,WAAW,GAAG,WAAW,CAAC,WAAW,IAAI,iBAAiB,CAAC,WAAW,CAAC;YAC7E,WAAW,CAAC,WAAW,GAAG,WAAW;gBACnC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,cAAc,CAAC;YAEnB,6EAA6E;YAC5E,kBAAkB,CAAC,KAAa,GAAG;gBAAS,oBAAyB;qBAAzB,UAAyB,EAAzB,qBAAyB,EAAzB,IAAyB;oBAAzB,+BAAyB;;gBACpE,IAAM,UAAU,GAAuC,iBAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxF,IAAI,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAI,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,UAAA,EAAE;oBACtC,OAAA,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;gBAAzD,CAAyD,CAAC,CAAC;gBAC7D,IAAM,sBAAsB,GAAG,mBAAiB,CAAC,IAAI,CAAC,UAAA,EAAE;oBACtD,OAAA,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;gBAAzD,CAAyD,CAC1D,CAAC;gBACF;;mBAEG;gBACH,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,eAAe,IAAI,eAAe,CAAC,OAAO,EAAE;oBAClG,IACE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;wBAClE,CAAC,WAAW,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAChD;wBACA;;2BAEG;wBACH,iBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAe,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAe,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;wBAC/L,eAAe,GAAG,IAAI,CAAC;qBACxB;yBAAM,IAAI,WAAW,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,iBAAiB,EAAE;wBAC/E;;2BAEG;wBACH,eAAe,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;wBACrC,iBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAe,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAe,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;qBACjN;iBACF;gBAED,IAAI,eAAe,EAAE;oBACnB,IAAM,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC7C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC7D;qBAAM,IAAI,sBAAsB,EAAE;oBACjC,OAAO,sBAAsB,CAAC,QAAQ,CAAC;iBACxC;qBAAM;oBACL,IAAM,SAAS,GAAI,SAAS,CAAC,IAAI,OAAd,SAAS,GAAM,IAAI,SAAK,UAAU,EAEnD,CAAC,IAAI,CACL,QAAQ,CAAC;wBACP;;2BAEG;wBACH,IAAM,yBAAyB,GAAG,mBAAiB,CAAC,IAAI,CAAC,UAAA,EAAE;4BACzD,OAAA,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;wBAAzD,CAAyD,CAC1D,CAAC;wBACF,mBAAiB,CAAC,MAAM,CACtB,mBAAiB,CAAC,OAAO,CAAC,yBAAyB,CAAC,EACpD,CAAC,CACF,CAAC;oBACJ,CAAC,CAAC,EACF,GAAG,CAAC,UAAA,QAAQ;wBACV;;;2BAGG;wBACH,IACE,CAAC,WAAW,CAAC,kBAAkB;4BAC/B,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EACxC;4BACA,IACE,CAAC,CAAC,WAAW,CAAC,aAAa,IAAI,iBAAiB,CAAC,aAAa,CAAC;gCAC/D,CAAC,WAAW,CAAC,aAAa,IAAI,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;gCACpE,CAAC,CAAC,WAAW,CAAC,aAAa,IAAI,iBAAiB,CAAC,aAAa,CAAC;oCAC7D,CAAC,WAAW,CAAC,aAAa,IAAI,iBAAiB,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EACzF;gCACA,iBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAe,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAe,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;6BAC1H;4BACD,iBAAe,CAAC,GAAG,CAAC;gCAClB,UAAU,EAAE,eAAe;gCAC3B,QAAQ,UAAA;gCACR,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;6BAC9E,EAAE,QAAQ,CAAC,CAAC;yBACd;oBACH,CAAC,CAAC,EACF,aAAa,CAAC,CAAC,CAAC,EAChB,QAAQ,EAAE,CACX,CAAC;oBACF;;uBAEG;oBACH,mBAAiB,CAAC,IAAI,CAAC;wBACrB,UAAU,EAAE,eAAe;wBAC3B,QAAQ,EAAE,SAAS;wBACnB,OAAO,EAAE,IAAI,IAAI,EAAE;qBACpB,CAAC,CAAC;oBACH,OAAO,SAAS,CAAC;iBAClB;YACH,CAAC,CAAC;SACH;QACD,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA;AACH,CAAC;AAAA,CAAC"} \ No newline at end of file +{"version":3,"file":"cacheable.decorator.js","sourceRoot":"","sources":["../../cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/esm5/common/IAsyncStorageStrategy.d.ts b/dist/esm5/common/IAsyncStorageStrategy.d.ts index 58acb68..7f3fc0a 100644 --- a/dist/esm5/common/IAsyncStorageStrategy.d.ts +++ b/dist/esm5/common/IAsyncStorageStrategy.d.ts @@ -1,17 +1,17 @@ import { ICachePair } from '.'; export declare abstract class IAsyncStorageStrategy { - abstract getAll(cacheKey: string): Array> | Promise>>; - abstract add(entity: ICachePair, cacheKey: string): void | Promise; + abstract getAll(cacheKey: string, ctx?: any): Array> | Promise>>; + abstract add(entity: ICachePair, cacheKey: string, ctx?: any): void | Promise; /** * @deprecated Use update instead. */ - abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string): void | Promise; - abstract update?(index: number, entity: ICachePair, cacheKey: string): Promise; + abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void | Promise; + abstract update?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): Promise; /** * @deprecated Use remove instead. */ - abstract removeAtIndex(index: number, cacheKey: string): void | Promise; - abstract remove?(index: number, entity: ICachePair, cacheKey: string): Promise; - abstract removeAll(cacheKey: string): void | Promise; - abstract addMany(entities: ICachePair[], cacheKey: string): Promise; + abstract removeAtIndex(index: number, cacheKey: string, ctx?: any): void | Promise; + abstract remove?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): Promise; + abstract removeAll(cacheKey: string, ctx?: any): void | Promise; + abstract addMany(entities: ICachePair[], cacheKey: string, ctx?: any): Promise; } diff --git a/dist/esm5/common/IStorageStrategy.d.ts b/dist/esm5/common/IStorageStrategy.d.ts index e90e777..89d013a 100644 --- a/dist/esm5/common/IStorageStrategy.d.ts +++ b/dist/esm5/common/IStorageStrategy.d.ts @@ -1,17 +1,17 @@ import { ICachePair } from '.'; export declare abstract class IStorageStrategy { - abstract getAll(cacheKey: string): Array>; - abstract add(entity: ICachePair, cacheKey: string): void; + abstract getAll(cacheKey: string, ctx?: any): Array>; + abstract add(entity: ICachePair, cacheKey: string, ctx?: any): void; /** * @deprecated Use update instead. */ - abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string): void; - abstract update?(index: number, entity: ICachePair, cacheKey: string): void; + abstract updateAtIndex(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; + abstract update?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; /** * @deprecated Use remove instead. */ - abstract removeAtIndex(index: number, cacheKey: string): void; - abstract remove?(index: number, entity: ICachePair, cacheKey: string): void; - abstract removeAll(cacheKey: string): void; - abstract addMany(entities: ICachePair[], cacheKey: string): void; + abstract removeAtIndex(index: number, cacheKey: string, ctx?: any): void; + abstract remove?(index: number, entity: ICachePair, cacheKey: string, ctx?: any): void; + abstract removeAll(cacheKey: string, ctx?: any): void; + abstract addMany(entities: ICachePair[], cacheKey: string, ctx?: any): void; } diff --git a/dist/esm5/common/InMemoryStorageStrategy.d.ts b/dist/esm5/common/InMemoryStorageStrategy.d.ts index 9f6c113..ea65454 100644 --- a/dist/esm5/common/InMemoryStorageStrategy.d.ts +++ b/dist/esm5/common/InMemoryStorageStrategy.d.ts @@ -2,7 +2,7 @@ import { IStorageStrategy } from './IStorageStrategy'; import { ICachePair } from '.'; export declare class InMemoryStorageStrategy extends IStorageStrategy { private cachePairs; - add(cachePair: ICachePair): void; + add(cachePair: ICachePair, cacheKey: string, ctx?: any): void; addMany(cachePairs: ICachePair[]): void; updateAtIndex(index: number, entity: ICachePair): void; update(index: number, entity: ICachePair): void; diff --git a/dist/esm5/common/InMemoryStorageStrategy.js b/dist/esm5/common/InMemoryStorageStrategy.js index 573c8be..2db4e3f 100644 --- a/dist/esm5/common/InMemoryStorageStrategy.js +++ b/dist/esm5/common/InMemoryStorageStrategy.js @@ -16,7 +16,7 @@ var InMemoryStorageStrategy = /** @class */ (function (_super) { _this.cachePairs = []; return _this; } - InMemoryStorageStrategy.prototype.add = function (cachePair) { + InMemoryStorageStrategy.prototype.add = function (cachePair, cacheKey, ctx) { this.cachePairs.push(cachePair); }; ; diff --git a/dist/esm5/common/InMemoryStorageStrategy.js.map b/dist/esm5/common/InMemoryStorageStrategy.js.map index 8e6e07a..147eb41 100644 --- a/dist/esm5/common/InMemoryStorageStrategy.js.map +++ b/dist/esm5/common/InMemoryStorageStrategy.js.map @@ -1 +1 @@ -{"version":3,"file":"InMemoryStorageStrategy.js","sourceRoot":"","sources":["../../../common/InMemoryStorageStrategy.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAGpD;IAA6C,2CAAgB;IAA7D;QAAA,qEAoCC;QAnCS,gBAAU,GAA2B,EAAE,CAAC;;IAmClD,CAAC;IAjCC,qCAAG,GAAH,UAAI,SAA0B;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAAA,CAAC;IAEF,yCAAO,GAAP,UAAQ,UAA6B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,+CAAa,GAAb,UAAc,KAAa,EAAE,MAAuB;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa,EAAE,MAAuB;QAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,+CAAa,GAAb,UAAc,KAAa;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,2CAAS,GAAT;QACE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IACH,8BAAC;AAAD,CAAC,AApCD,CAA6C,gBAAgB,GAoC5D"} \ No newline at end of file +{"version":3,"file":"InMemoryStorageStrategy.js","sourceRoot":"","sources":["../../../common/InMemoryStorageStrategy.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAGpD;IAA6C,2CAAgB;IAA7D;QAAA,qEAoCC;QAnCS,gBAAU,GAA2B,EAAE,CAAC;;IAmClD,CAAC;IAjCC,qCAAG,GAAH,UAAI,SAA0B,EAAE,QAAgB,EAAE,GAAS;QACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,yCAAO,GAAP,UAAQ,UAA6B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,+CAAa,GAAb,UAAc,KAAa,EAAE,MAAuB;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa,EAAE,MAAuB;QAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,+CAAa,GAAb,UAAc,KAAa;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,2CAAS,GAAT;QACE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IACH,8BAAC;AAAD,CAAC,AApCD,CAA6C,gBAAgB,GAoC5D"} \ No newline at end of file diff --git a/dist/esm5/promise.cacheable.decorator.js b/dist/esm5/promise.cacheable.decorator.js index 0e8422f..17892e9 100644 --- a/dist/esm5/promise.cacheable.decorator.js +++ b/dist/esm5/promise.cacheable.decorator.js @@ -33,6 +33,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; +var _this = this; import { empty, merge, Subject } from 'rxjs'; import { DEFAULT_CACHE_RESOLVER, GlobalCacheConfig, DEFAULT_HASHER } from './common'; export var promiseGlobalCacheBusterNotifier = new Subject(); @@ -53,7 +54,7 @@ var getResponse = function (oldMethod, cacheKey, cacheConfig, context, cachePair /** * cache duration has expired - remove it from the cachePairs array */ - storageStrategy.remove ? storageStrategy.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey); + storageStrategy.remove ? storageStrategy.remove(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, _this) : storageStrategy.removeAtIndex(cachePairs.indexOf(_foundCachePair), cacheKey, _this); _foundCachePair = null; } else if (cacheConfig.slidingExpiration || GlobalCacheConfig.slidingExpiration) { @@ -61,7 +62,7 @@ var getResponse = function (oldMethod, cacheKey, cacheConfig, context, cachePair * renew cache duration */ _foundCachePair.created = new Date(); - storageStrategy.update ? storageStrategy.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey) : storageStrategy.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey); + storageStrategy.update ? storageStrategy.update(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, _this) : storageStrategy.updateAtIndex(cachePairs.indexOf(_foundCachePair), _foundCachePair, cacheKey, _this); } } if (_foundCachePair) { @@ -85,13 +86,13 @@ var getResponse = function (oldMethod, cacheKey, cacheConfig, context, cachePair (cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) === 1 || ((cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) && (cacheConfig.maxCacheCount || GlobalCacheConfig.maxCacheCount) < cachePairs.length + 1)) { - storageStrategy.remove ? storageStrategy.remove(0, cachePairs[0], cacheKey) : storageStrategy.removeAtIndex(0, cacheKey); + storageStrategy.remove ? storageStrategy.remove(0, cachePairs[0], cacheKey, _this) : storageStrategy.removeAtIndex(0, cacheKey, _this); } storageStrategy.add({ parameters: cacheParameters, response: response, created: (cacheConfig.maxAge || GlobalCacheConfig.maxAge) ? new Date() : null - }, cacheKey); + }, cacheKey, _this); } return response; }) @@ -137,8 +138,8 @@ export function PCacheable(cacheConfig) { case 0: _b = (_a = storageStrategy_1).addMany; _c = callback; - return [4 /*yield*/, storageStrategy_1.getAll(cacheKey)]; - case 1: return [2 /*return*/, _b.apply(_a, [_c.apply(void 0, [_d.sent()]), cacheKey])]; + return [4 /*yield*/, storageStrategy_1.getAll(cacheKey, this)]; + case 1: return [2 /*return*/, _b.apply(_a, [_c.apply(void 0, [_d.sent()]), cacheKey, this])]; } }); }); }); } @@ -150,7 +151,7 @@ export function PCacheable(cacheConfig) { merge(promiseGlobalCacheBusterNotifier.asObservable(), cacheConfig.cacheBusterObserver ? cacheConfig.cacheBusterObserver : empty()).subscribe(function (_) { - storageStrategy_1.removeAll(cacheKey); + storageStrategy_1.removeAll(cacheKey, _this); pendingCachePairs_1.length = 0; }); var cacheResolver = cacheConfig.cacheResolver || GlobalCacheConfig.cacheResolver; @@ -171,7 +172,7 @@ export function PCacheable(cacheConfig) { var promiseImplementation = typeof GlobalCacheConfig.promiseImplementation === 'function' && (GlobalCacheConfig.promiseImplementation !== Promise) ? GlobalCacheConfig.promiseImplementation.call(this) : GlobalCacheConfig.promiseImplementation; - var cachePairs = storageStrategy_1.getAll(cacheKey); + var cachePairs = storageStrategy_1.getAll(cacheKey, this); if (!(cachePairs instanceof promiseImplementation)) { cachePairs = promiseImplementation.resolve(cachePairs); } diff --git a/dist/esm5/promise.cacheable.decorator.js.map b/dist/esm5/promise.cacheable.decorator.js.map index 3378029..26cfd91 100644 --- a/dist/esm5/promise.cacheable.decorator.js.map +++ b/dist/esm5/promise.cacheable.decorator.js.map @@ -1 +1 @@ -{"version":3,"file":"promise.cacheable.decorator.js","sourceRoot":"","sources":["../../promise.cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"promise.cacheable.decorator.js","sourceRoot":"","sources":["../../promise.cacheable.decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 681488e..43d17b6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ts-cacheable", - "version": "1.0.4", + "version": "1.0.5", "description": "Promise/Observable cache decorators", "main": "./dist/cjs/index.js", "module": "./dist/esm5/index.js",