@dereekb/dbx-core 11.0.0 → 11.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/action/action.handler.mjs +6 -3
- package/esm2022/lib/action/action.holder.mjs +8 -5
- package/esm2022/lib/action/action.machine.mjs +9 -6
- package/esm2022/lib/action/action.store.mjs +6 -6
- package/esm2022/lib/action/action.store.source.mjs +6 -3
- package/esm2022/lib/action/directive/map/action.map.directive.mjs +12 -6
- package/esm2022/lib/action/directive/state/action.handler.instance.mjs +6 -5
- package/esm2022/lib/injection/injection.instance.mjs +5 -4
- package/esm2022/lib/router/router/util/route.default.mjs +1 -1
- package/esm2022/lib/storage/storage.accessor.simple.mjs +25 -19
- package/esm2022/lib/storage/storage.accessor.string.mjs +3 -3
- package/esm2022/lib/storage/storage.object.localstorage.mjs +3 -3
- package/fesm2022/dereekb-dbx-core.mjs +79 -53
- package/fesm2022/dereekb-dbx-core.mjs.map +1 -1
- package/lib/action/action.handler.d.ts +2 -1
- package/lib/action/action.holder.d.ts +2 -1
- package/lib/action/action.machine.d.ts +4 -3
- package/lib/action/action.store.source.d.ts +2 -1
- package/lib/action/directive/map/action.map.directive.d.ts +4 -2
- package/lib/action/directive/state/action.handler.instance.d.ts +5 -5
- package/lib/injection/injection.instance.d.ts +6 -6
- package/lib/router/router/util/route.default.d.ts +4 -4
- package/lib/storage/storage.accessor.simple.d.ts +9 -7
- package/lib/storage/storage.accessor.string.d.ts +1 -1
- package/lib/storage/storage.object.localstorage.d.ts +2 -2
- package/package.json +1 -1
|
@@ -7,12 +7,12 @@ import { SubscriptionObject, filterMaybe, skipFirstMaybe } from '@dereekb/rxjs';
|
|
|
7
7
|
* Instance used by components to inject content based on the configuration into the view.
|
|
8
8
|
*/
|
|
9
9
|
export class DbxInjectionInstance {
|
|
10
|
-
_injector;
|
|
11
10
|
_subscriptionObject = new SubscriptionObject();
|
|
12
11
|
_config = new BehaviorSubject(undefined);
|
|
13
12
|
_template = new BehaviorSubject(undefined);
|
|
14
13
|
_content = new BehaviorSubject(undefined);
|
|
15
14
|
_componentRef = new BehaviorSubject(undefined);
|
|
15
|
+
_injector;
|
|
16
16
|
config$ = this._config.pipe(distinctUntilChanged());
|
|
17
17
|
template$ = this._template.pipe(distinctUntilChanged());
|
|
18
18
|
content$ = this._content.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
@@ -40,8 +40,8 @@ export class DbxInjectionInstance {
|
|
|
40
40
|
set componentRef(componentRef) {
|
|
41
41
|
this._componentRef.next(componentRef);
|
|
42
42
|
}
|
|
43
|
-
constructor(
|
|
44
|
-
this._injector =
|
|
43
|
+
constructor(injector) {
|
|
44
|
+
this._injector = injector;
|
|
45
45
|
}
|
|
46
46
|
init() {
|
|
47
47
|
// Wait until the first of either of the two inputs comes in as not defined, and then emit.
|
|
@@ -69,6 +69,7 @@ export class DbxInjectionInstance {
|
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
destroy() {
|
|
72
|
+
this._subscriptionObject.destroy();
|
|
72
73
|
this._config.complete();
|
|
73
74
|
this._template.complete();
|
|
74
75
|
this._content.complete();
|
|
@@ -115,4 +116,4 @@ export class DbxInjectionInstance {
|
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLmluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9pbmplY3Rpb24vaW5qZWN0aW9uLmluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFBMkQsNEJBQTRCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEgsT0FBTyxFQUFtQyw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRjs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUE2Q0Y7SUE1Q3JCLG1CQUFtQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUUvQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQXdDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hGLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBdUMsU0FBUyxDQUFDLENBQUM7SUFFakYsUUFBUSxHQUFHLElBQUksZUFBZSxDQUEwQixTQUFTLENBQUMsQ0FBQztJQUNuRSxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQXlCLFNBQVMsQ0FBQyxDQUFDO0lBRXRFLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDcEQsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUN4RCxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMs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QUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztTQUMvQjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZywgRGJ4SW5qZWN0aW9uVGVtcGxhdGVDb25maWcsIERCWF9JTkpFQ1RJT05fQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuL2luamVjdGlvbic7XG5pbXBvcnQgeyBJbml0aWFsaXplZCwgRGVzdHJveWFibGUsIE1heWJlLCBwdXNoSXRlbU9yQXJyYXlJdGVtc0ludG9BcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0LCBmaWx0ZXJNYXliZSwgc2tpcEZpcnN0TWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBJbnN0YW5jZSB1c2VkIGJ5IGNvbXBvbmVudHMgdG8gaW5qZWN0IGNvbnRlbnQgYmFzZWQgb24gdGhlIGNvbmZpZ3VyYXRpb24gaW50byB0aGUgdmlldy5cbiAqL1xuZXhwb3J0IGNsYXNzIERieEluamVjdGlvbkluc3RhbmNlPFQ+IGltcGxlbWVudHMgSW5pdGlhbGl6ZWQsIERlc3Ryb3lhYmxlIHtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uT2JqZWN0ID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIHByaXZhdGUgX2NvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFQ+Pj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfdGVtcGxhdGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieEluamVjdGlvblRlbXBsYXRlQ29uZmlnPFQ+Pj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9jb250ZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxWaWV3Q29udGFpbmVyUmVmPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxDb21wb25lbnRSZWY8VD4+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0aGlzLl9jb25maWcucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgcmVhZG9ubHkgdGVtcGxhdGUkID0gdGhpcy5fdGVtcGxhdGUucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgcmVhZG9ubHkgY29udGVudCQgPSB0aGlzLl9jb250ZW50LnBpcGUoZmlsdGVyTWF5YmUoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIGdldCBjb25maWcoKTogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy52YWx1ZTtcbiAgfVxuXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8VD4+KSB7XG4gICAgdGhpcy5fY29uZmlnLm5leHQoY29uZmlnKTtcbiAgfVxuXG4gIGdldCB0ZW1wbGF0ZSgpOiBNYXliZTxEYnhJbmplY3Rpb25UZW1wbGF0ZUNvbmZpZzxUPj4ge1xuICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZS52YWx1ZTtcbiAgfVxuXG4gIHNldCB0ZW1wbGF0ZSh0ZW1wbGF0ZTogTWF5YmU8RGJ4SW5qZWN0aW9uVGVtcGxhdGVDb25maWc8VD4+KSB7XG4gICAgdGhpcy5fdGVtcGxhdGUubmV4dCh0ZW1wbGF0ZSk7XG4gIH1cblxuICBnZXQgY29udGVudCgpOiBNYXliZTxNYXliZTxWaWV3Q29udGFpbmVyUmVmPj4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50LnZhbHVlO1xuICB9XG5cbiAgc2V0IGNvbnRlbnQoY29udGVudDogTWF5YmU8TWF5YmU8Vmlld0NvbnRhaW5lclJlZj4+KSB7XG4gICAgdGhpcy5fY29udGVudC5uZXh0KGNvbnRlbnQpO1xuICB9XG5cbiAgZ2V0IGNvbXBvbmVudFJlZigpOiBNYXliZTxDb21wb25lbnRSZWY8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50UmVmLnZhbHVlO1xuICB9XG5cbiAgc2V0IGNvbXBvbmVudFJlZihjb21wb25lbnRSZWY6IE1heWJlPENvbXBvbmVudFJlZjxUPj4pIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYubmV4dChjb21wb25lbnRSZWYpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgLy8gV2FpdCB1bnRpbCB0aGUgZmlyc3Qgb2YgZWl0aGVyIG9mIHRoZSB0d28gaW5wdXRzIGNvbWVzIGluIGFzIG5vdCBkZWZpbmVkLCBhbmQgdGhlbiBlbWl0LlxuICAgIC8vIFdlIGZpbHRlciB0aGUgZmlyc3QgbWF5YmUgaGVyZSBiZXR3ZWVuIHRoZSB0d28gaXRlbXMuXG4gICAgY29uc3QgY29uZmlnVGVtcGxhdGVPYnMgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbmZpZyQsIHRoaXMudGVtcGxhdGUkXSkucGlwZShcbiAgICAgIG1hcCgoW2NvbmZpZywgdGVtcGxhdGVdKSA9PiB7XG4gICAgICAgIGlmIChjb25maWcgfHwgdGVtcGxhdGUpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgdGVtcGxhdGVcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc2tpcEZpcnN0TWF5YmUoKVxuICAgICk7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb25PYmplY3Quc3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbY29uZmlnVGVtcGxhdGVPYnMsIHRoaXMuY29udGVudCRdKS5zdWJzY3JpYmUoKFtpbnB1dENvbmZpZywgY29udGVudF0pID0+IHtcbiAgICAgIGNvbnN0IHsgY29uZmlnLCB0ZW1wbGF0ZSB9ID0gaW5wdXRDb25maWcgPz8ge307XG4gICAgICB0aGlzLl9yZXNldChjb250ZW50KTtcblxuICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICB0aGlzLl9pbml0Q29tcG9uZW50KGNvbmZpZywgY29udGVudCk7XG4gICAgICB9IGVsc2UgaWYgKHRlbXBsYXRlKSB7XG4gICAgICAgIHRoaXMuX2luaXRUZW1wbGF0ZSh0ZW1wbGF0ZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbmZpZy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3RlbXBsYXRlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY29udGVudC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENvbXBvbmVudChjb25maWc6IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxUPiwgY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGNvbnRlbnQuY2xlYXIoKTtcblxuICAgIGNvbnN0IHsgaW5pdCwgaW5qZWN0b3I6IGlucHV0SW5qZWN0b3IsIHByb3ZpZGVycywgbmdNb2R1bGVSZWYsIGNvbXBvbmVudENsYXNzLCBkYXRhIH0gPSBjb25maWc7XG5cbiAgICBjb25zdCBwYXJlbnRJbmplY3RvciA9IGlucHV0SW5qZWN0b3IgPz8gdGhpcy5faW5qZWN0b3I7XG4gICAgbGV0IGluamVjdG9yOiBJbmplY3RvciB8IHVuZGVmaW5lZCA9IHBhcmVudEluamVjdG9yO1xuXG4gICAgaWYgKHByb3ZpZGVycyB8fCBkYXRhKSB7XG4gICAgICBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHBhcmVudDogcGFyZW50SW5qZWN0b3IsXG4gICAgICAgIHByb3ZpZGVyczogcHVzaEl0ZW1PckFycmF5SXRlbXNJbnRvQXJyYXkoXG4gICAgICAgICAgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwcm92aWRlOiBEQlhfSU5KRUNUSU9OX0NPTVBPTkVOVF9EQVRBLFxuICAgICAgICAgICAgICB1c2VWYWx1ZTogZGF0YVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvdmlkZXJzID8/IFtdXG4gICAgICAgIClcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+ID0gY29udGVudC5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50Q2xhc3MsIHsgaW5qZWN0b3IsIG5nTW9kdWxlUmVmIH0pO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG5cbiAgICBpZiAoaW5pdCkge1xuICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIF9pbml0VGVtcGxhdGUoY29uZmlnOiBEYnhJbmplY3Rpb25UZW1wbGF0ZUNvbmZpZzxUPiwgY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGNvbnRlbnQuY2xlYXIoKTtcblxuICAgIGNvbnN0IHsgdGVtcGxhdGVSZWYsIHZpZXdSZWYgfSA9IGNvbmZpZztcblxuICAgIGlmICh0ZW1wbGF0ZVJlZikge1xuICAgICAgY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYpO1xuXG4gICAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHRoZXNlIGl0ZW1zIG5lZWQgdG8gYmUgZGVzdHJveWVkIG9yIG5vdCB3aGVuIHRoaXMgaXRlbSBpcyBkZXN0cm95ZWQuIElmIHNvLCB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIGRlc3Ryb3kuXG4gICAgfSBlbHNlIGlmICh2aWV3UmVmKSB7XG4gICAgICBjb250ZW50Lmluc2VydCh2aWV3UmVmKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldChjb250ZW50OiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb250ZW50LmNsZWFyKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLmluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9pbmplY3Rpb24vaW5qZWN0aW9uLmluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFBMkQsNEJBQTRCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEgsT0FBTyxFQUFtQyw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRjs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDZCxtQkFBbUIsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFFL0MsT0FBTyxHQUFHLElBQUksZUFBZSxDQUF3QyxTQUFTLENBQUMsQ0FBQztJQUNoRixTQUFTLEdBQUcsSUFBSSxlQUFlLENBQXVDLFNBQVMsQ0FBQyxDQUFDO0lBRWpGLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBMEIsU0FBUyxDQUFDLENBQUM7SUFDbkUsYUFBYSxHQUFHLElBQUksZUFBZSxDQUF5QixTQUFTLENBQUMsQ0FBQztJQUV2RSxTQUFTLENBQVc7SUFFNUIsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUNwRCxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElB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LENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsT0FBeUI7UUFDdEMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztTQUMvQjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZywgRGJ4SW5qZWN0aW9uVGVtcGxhdGVDb25maWcsIERCWF9JTkpFQ1RJT05fQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuL2luamVjdGlvbic7XG5pbXBvcnQgeyBJbml0aWFsaXplZCwgRGVzdHJveWFibGUsIE1heWJlLCBwdXNoSXRlbU9yQXJyYXlJdGVtc0ludG9BcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0LCBmaWx0ZXJNYXliZSwgc2tpcEZpcnN0TWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBJbnN0YW5jZSB1c2VkIGJ5IGNvbXBvbmVudHMgdG8gaW5qZWN0IGNvbnRlbnQgYmFzZWQgb24gdGhlIGNvbmZpZ3VyYXRpb24gaW50byB0aGUgdmlldy5cbiAqL1xuZXhwb3J0IGNsYXNzIERieEluamVjdGlvbkluc3RhbmNlPFQ+IGltcGxlbWVudHMgSW5pdGlhbGl6ZWQsIERlc3Ryb3lhYmxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9uT2JqZWN0ID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFQ+Pj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGVtcGxhdGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieEluamVjdGlvblRlbXBsYXRlQ29uZmlnPFQ+Pj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxWaWV3Q29udGFpbmVyUmVmPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50UmVmID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxDb21wb25lbnRSZWY8VD4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcjtcblxuICByZWFkb25seSBjb25maWckID0gdGhpcy5fY29uZmlnLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIHJlYWRvbmx5IHRlbXBsYXRlJCA9IHRoaXMuX3RlbXBsYXRlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIHJlYWRvbmx5IGNvbnRlbnQkID0gdGhpcy5fY29udGVudC5waXBlKGZpbHRlck1heWJlKCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICBnZXQgY29uZmlnKCk6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxUPj4ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcudmFsdWU7XG4gIH1cblxuICBzZXQgY29uZmlnKGNvbmZpZzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFQ+Pikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBnZXQgdGVtcGxhdGUoKTogTWF5YmU8RGJ4SW5qZWN0aW9uVGVtcGxhdGVDb25maWc8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGUudmFsdWU7XG4gIH1cblxuICBzZXQgdGVtcGxhdGUodGVtcGxhdGU6IE1heWJlPERieEluamVjdGlvblRlbXBsYXRlQ29uZmlnPFQ+Pikge1xuICAgIHRoaXMuX3RlbXBsYXRlLm5leHQodGVtcGxhdGUpO1xuICB9XG5cbiAgZ2V0IGNvbnRlbnQoKTogTWF5YmU8TWF5YmU8Vmlld0NvbnRhaW5lclJlZj4+IHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudC52YWx1ZTtcbiAgfVxuXG4gIHNldCBjb250ZW50KGNvbnRlbnQ6IE1heWJlPE1heWJlPFZpZXdDb250YWluZXJSZWY+Pikge1xuICAgIHRoaXMuX2NvbnRlbnQubmV4dChjb250ZW50KTtcbiAgfVxuXG4gIGdldCBjb21wb25lbnRSZWYoKTogTWF5YmU8Q29tcG9uZW50UmVmPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZi52YWx1ZTtcbiAgfVxuXG4gIHNldCBjb21wb25lbnRSZWYoY29tcG9uZW50UmVmOiBNYXliZTxDb21wb25lbnRSZWY8VD4+KSB7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmLm5leHQoY29tcG9uZW50UmVmKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuX2luamVjdG9yID0gaW5qZWN0b3I7XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuICAgIC8vIFdhaXQgdW50aWwgdGhlIGZpcnN0IG9mIGVpdGhlciBvZiB0aGUgdHdvIGlucHV0cyBjb21lcyBpbiBhcyBub3QgZGVmaW5lZCwgYW5kIHRoZW4gZW1pdC5cbiAgICAvLyBXZSBmaWx0ZXIgdGhlIGZpcnN0IG1heWJlIGhlcmUgYmV0d2VlbiB0aGUgdHdvIGl0ZW1zLlxuICAgIGNvbnN0IGNvbmZpZ1RlbXBsYXRlT2JzID0gY29tYmluZUxhdGVzdChbdGhpcy5jb25maWckLCB0aGlzLnRlbXBsYXRlJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjb25maWcsIHRlbXBsYXRlXSkgPT4ge1xuICAgICAgICBpZiAoY29uZmlnIHx8IHRlbXBsYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIHRlbXBsYXRlXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHNraXBGaXJzdE1heWJlKClcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uT2JqZWN0LnN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW2NvbmZpZ1RlbXBsYXRlT2JzLCB0aGlzLmNvbnRlbnQkXSkuc3Vic2NyaWJlKChbaW5wdXRDb25maWcsIGNvbnRlbnRdKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbmZpZywgdGVtcGxhdGUgfSA9IGlucHV0Q29uZmlnID8/IHt9O1xuICAgICAgdGhpcy5fcmVzZXQoY29udGVudCk7XG5cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgdGhpcy5faW5pdENvbXBvbmVudChjb25maWcsIGNvbnRlbnQpO1xuICAgICAgfSBlbHNlIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgICB0aGlzLl9pbml0VGVtcGxhdGUodGVtcGxhdGUsIGNvbnRlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25PYmplY3QuZGVzdHJveSgpO1xuICAgIHRoaXMuX2NvbmZpZy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3RlbXBsYXRlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY29udGVudC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENvbXBvbmVudChjb25maWc6IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxUPiwgY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGNvbnRlbnQuY2xlYXIoKTtcblxuICAgIGNvbnN0IHsgaW5pdCwgaW5qZWN0b3I6IGlucHV0SW5qZWN0b3IsIHByb3ZpZGVycywgbmdNb2R1bGVSZWYsIGNvbXBvbmVudENsYXNzLCBkYXRhIH0gPSBjb25maWc7XG5cbiAgICBjb25zdCBwYXJlbnRJbmplY3RvciA9IGlucHV0SW5qZWN0b3IgPz8gdGhpcy5faW5qZWN0b3I7XG4gICAgbGV0IGluamVjdG9yOiBJbmplY3RvciB8IHVuZGVmaW5lZCA9IHBhcmVudEluamVjdG9yO1xuXG4gICAgaWYgKHByb3ZpZGVycyB8fCBkYXRhKSB7XG4gICAgICBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHBhcmVudDogcGFyZW50SW5qZWN0b3IsXG4gICAgICAgIHByb3ZpZGVyczogcHVzaEl0ZW1PckFycmF5SXRlbXNJbnRvQXJyYXkoXG4gICAgICAgICAgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwcm92aWRlOiBEQlhfSU5KRUNUSU9OX0NPTVBPTkVOVF9EQVRBLFxuICAgICAgICAgICAgICB1c2VWYWx1ZTogZGF0YVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvdmlkZXJzID8/IFtdXG4gICAgICAgIClcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+ID0gY29udGVudC5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50Q2xhc3MsIHsgaW5qZWN0b3IsIG5nTW9kdWxlUmVmIH0pO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG5cbiAgICBpZiAoaW5pdCkge1xuICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIF9pbml0VGVtcGxhdGUoY29uZmlnOiBEYnhJbmplY3Rpb25UZW1wbGF0ZUNvbmZpZzxUPiwgY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGNvbnRlbnQuY2xlYXIoKTtcblxuICAgIGNvbnN0IHsgdGVtcGxhdGVSZWYsIHZpZXdSZWYgfSA9IGNvbmZpZztcblxuICAgIGlmICh0ZW1wbGF0ZVJlZikge1xuICAgICAgY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYpO1xuXG4gICAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHRoZXNlIGl0ZW1zIG5lZWQgdG8gYmUgZGVzdHJveWVkIG9yIG5vdCB3aGVuIHRoaXMgaXRlbSBpcyBkZXN0cm95ZWQuIElmIHNvLCB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIGRlc3Ryb3kuXG4gICAgfSBlbHNlIGlmICh2aWV3UmVmKSB7XG4gICAgICBjb250ZW50Lmluc2VydCh2aWV3UmVmKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldChjb250ZW50OiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb250ZW50LmNsZWFyKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -60,4 +60,4 @@ export class DbxRouteParamDefaultRedirectInstance {
|
|
|
60
60
|
this._useDefaultFilter.next(useValueFilter);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvcm91dGVyL3JvdXRlci91dGlsL3JvdXRlLmRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RCxPQUFPLEVBQWtFLDZCQUE2QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBb0MsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRILE1BQU0seUNBQXlDLEdBQUcsNkJBQTZCLENBQTRDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7QUFFeko7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0NBQW9DO0lBQzlCLFFBQVEsQ0FBaUM7SUFFekMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBQzlDLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUE2QyxTQUFTLENBQUMsQ0FBQztJQUMvRixJQUFJLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRWpELFlBQVksUUFBd0M7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUTthQUNuQyxJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ25DLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ3hELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFFLHlDQUFnSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEwsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxFQUFFLEVBQUUscUNBQXFDO2dCQUNwRCxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtvQkFDekIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3JELENBQUMsQ0FBQyxDQUNILENBQUM7YUFDSDtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVTLHdCQUF3QixDQUFDLEtBQWU7UUFDaEQsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLHVCQUF1QjtZQUN2QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsYUFBYTtZQUNiLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFlO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7WUFDakQsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsS0FBSztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBZ0I7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG1CQUFtQixDQUFDLGNBQTBEO1FBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBFTVBUWSwgc3dpdGNoTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4Um91dGVQYXJhbVJlYWRlckluc3RhbmNlIH0gZnJvbSAnLi9yb3V0ZS5yZWFkZXInO1xuaW1wb3J0IHsgRGVzdHJveWFibGUsIEluaXRpYWxpemVkLCBNYXliZSwgRGVmYXVsdEZvcndhcmRGdW5jdGlvbkZhY3RvcnksIGRlZmF1bHRGb3J3YXJkRnVuY3Rpb25GYWN0b3J5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIHN3aXRjaE1hcFRvRGVmYXVsdCwgU3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb24sIGZpbHRlck1heWJlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbmNvbnN0IERFRkFVTFRfUkVESVJFQ1RfSU5TVEFOQ0VfRk9SV0FSRF9GQUNUT1JZID0gZGVmYXVsdEZvcndhcmRGdW5jdGlvbkZhY3Rvcnk8U3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb248dW5rbm93bj4+KCh2YWx1ZSkgPT4gb2YodmFsdWUgPT0gbnVsbCkpO1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgdXNlZCBpbiBjb25qdWN0aW9uIHdpdGggYSBEYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2UgdG8gcmVkaXJlY3Qgd2hlbiB0aGUgZGVmYXVsdCBwYXJhbSBpcyBub3QgdmFsaWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhSb3V0ZVBhcmFtRGVmYXVsdFJlZGlyZWN0SW5zdGFuY2U8VD4gaW1wbGVtZW50cyBJbml0aWFsaXplZCwgRGVzdHJveWFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlOiBEYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2U8VD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZW5hYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3VzZURlZmF1bHRGaWx0ZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uPFQ+Pj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKGluc3RhbmNlOiBEYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2U8VD4pIHtcbiAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl9lbmFibGVkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChlbmFibGVkKSA9PiB7XG4gICAgICAgICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmluc3RhbmNlLnBhcmFtVmFsdWUkLnBpcGUoXG4gICAgICAgICAgICAgIHN3aXRjaE1hcFRvRGVmYXVsdCh0aGlzLmluc3RhbmNlLmRlZmF1bHRWYWx1ZSQsICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl91c2VEZWZhdWx0RmlsdGVyLnBpcGUoc3dpdGNoTWFwKChmbikgPT4gKERFRkFVTFRfUkVESVJFQ1RfSU5TVEFOQ0VfRk9SV0FSRF9GQUNUT1JZIGFzIERlZmF1bHRGb3J3YXJkRnVuY3Rpb25GYWN0b3J5PFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uPFQ+PikoZm4pKHZhbHVlKSkpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZmlsdGVyTWF5YmUoKSwgLy8gZG8gbm90IHJlZGlyZWN0IG9uIE1heWJlTm90IHZhbHVlc1xuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGRlZmF1bHRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0V2l0aERlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWUpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZW5hYmxlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3VzZURlZmF1bHRGaWx0ZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZGlyZWN0V2l0aERlZmF1bHRWYWx1ZSh2YWx1ZTogTWF5YmU8VD4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgLy8gcGVyZm9ybSBhIHNlZ3VlIG9uY2VcbiAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0V2l0aFZhbHVlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlZGlyZWN0V2l0aFZhbHVlKHZhbHVlOiBNYXliZTxUPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmRieFJvdXRlclNlcnZpY2UudXBkYXRlUGFyYW1zKHtcbiAgICAgIFt0aGlzLmluc3RhbmNlLmdldFBhcmFtS2V5KCldOiB2YWx1ZVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQudmFsdWU7XG4gIH1cblxuICBzZXQgZW5hYmxlZChlbmFibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZW5hYmxlZC5uZXh0KGVuYWJsZWQpO1xuICB9XG5cbiAgc2V0VXNlRGVmYXVsdEZpbHRlcih1c2VWYWx1ZUZpbHRlcjogTWF5YmU8U3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb248VD4+KTogdm9pZCB7XG4gICAgdGhpcy5fdXNlRGVmYXVsdEZpbHRlci5uZXh0KHVzZVZhbHVlRmlsdGVyKTtcbiAgfVxufVxuIl19
|
|
@@ -12,9 +12,9 @@ export class StringifySimpleStorageAccessorConverter {
|
|
|
12
12
|
export class WrapperSimpleStorageAccessorDelegate {
|
|
13
13
|
_delegate;
|
|
14
14
|
_converter;
|
|
15
|
-
constructor(
|
|
16
|
-
this._delegate =
|
|
17
|
-
this._converter =
|
|
15
|
+
constructor(delegate, converter) {
|
|
16
|
+
this._delegate = delegate;
|
|
17
|
+
this._converter = converter;
|
|
18
18
|
}
|
|
19
19
|
get(key) {
|
|
20
20
|
return this._delegate.get(key);
|
|
@@ -41,25 +41,42 @@ export class WrapperSimpleStorageAccessorDelegate {
|
|
|
41
41
|
return this._converter.parseValue(data);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
+
export function assertValidStorageKeyPrefix(prefix, prefixSplitter) {
|
|
45
|
+
if (!prefixSplitter) {
|
|
46
|
+
throw new Error('Invalid storage key prefix splitter. Must be defined and not empty.'); // TODO(FUTURE): Consider changing to a concrete error type
|
|
47
|
+
}
|
|
48
|
+
if (!isValidStorageKeyPrefix(prefix, prefixSplitter)) {
|
|
49
|
+
throw new Error('Invalid storage key prefix.');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export function isValidStorageKeyPrefix(prefix, prefixSpltter) {
|
|
53
|
+
return Boolean(prefix && prefix.indexOf(prefixSpltter) === -1);
|
|
54
|
+
}
|
|
44
55
|
/**
|
|
45
56
|
* LimitedStorageAccessor implementation that uses a Delegate
|
|
46
57
|
*/
|
|
47
58
|
export class SimpleStorageAccessor {
|
|
48
|
-
_delegate;
|
|
49
59
|
static PREFIX_SPLITTER = '::';
|
|
60
|
+
_delegate;
|
|
50
61
|
_config;
|
|
51
|
-
constructor(
|
|
52
|
-
this._delegate = _delegate;
|
|
62
|
+
constructor(delegate, config) {
|
|
53
63
|
const prefix = config.prefix;
|
|
54
64
|
const prefixSplitter = config.prefixSplitter ?? SimpleStorageAccessor.PREFIX_SPLITTER;
|
|
55
|
-
|
|
65
|
+
assertValidStorageKeyPrefix(prefix, prefixSplitter);
|
|
56
66
|
const fullPrefix = `${prefix}${prefixSplitter}`;
|
|
67
|
+
this._delegate = delegate;
|
|
57
68
|
this._config = {
|
|
58
69
|
...config,
|
|
59
70
|
prefixSplitter,
|
|
60
71
|
fullPrefix
|
|
61
72
|
};
|
|
62
73
|
}
|
|
74
|
+
get delegate() {
|
|
75
|
+
return this._delegate;
|
|
76
|
+
}
|
|
77
|
+
get config() {
|
|
78
|
+
return this._config;
|
|
79
|
+
}
|
|
63
80
|
// MARK: LimitedStorageAccessor
|
|
64
81
|
get(inputKey) {
|
|
65
82
|
const storeKey = this.makeStorageKey(inputKey);
|
|
@@ -139,17 +156,6 @@ export class SimpleStorageAccessor {
|
|
|
139
156
|
}
|
|
140
157
|
}
|
|
141
158
|
// MARK: Internal
|
|
142
|
-
assertValidStorageKeyPrefix(prefix, prefixSplitter) {
|
|
143
|
-
if (!prefixSplitter) {
|
|
144
|
-
throw new Error('Invalid storage key prefix splitter. Must be defined and not empty.');
|
|
145
|
-
}
|
|
146
|
-
if (!this.isValidStorageKeyPrefix(prefix, prefixSplitter)) {
|
|
147
|
-
throw new Error('Invalid storage key prefix.');
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
isValidStorageKeyPrefix(prefix, prefixSpltter) {
|
|
151
|
-
return Boolean(prefix && prefix.indexOf(prefixSpltter) === -1);
|
|
152
|
-
}
|
|
153
159
|
makeStorageKey(key) {
|
|
154
160
|
return `${this._config.prefix}${this._config.prefixSplitter}${String(key)}`;
|
|
155
161
|
}
|
|
@@ -164,4 +170,4 @@ export class SimpleStorageAccessor {
|
|
|
164
170
|
return this._delegate.stringifyValue(value);
|
|
165
171
|
}
|
|
166
172
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBNkUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0IxTCxNQUFNLE9BQU8sdUNBQXVDO0lBQ2xELGNBQWMsQ0FBQyxLQUFRO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0NBQW9DO0lBQzNCO0lBQXNEO0lBQTFFLFlBQW9CLFNBQTRDLEVBQVUsVUFBNkM7UUFBbkcsY0FBUyxHQUFULFNBQVMsQ0FBbUM7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFtQztJQUFHLENBQUM7SUFFM0gsR0FBRyxDQUFDLEdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQXVCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxT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LE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRVMsZUFBZSxDQUFDLFVBQWdDO1FBQ3hELE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxVQUFnQztRQUN6RCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0UsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFRO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGltZUhhc0V4cGlyZWQsIHVuaXhUaW1lTnVtYmVyRm9yTm93IH0gZnJvbSAnQGRlcmVla2IvZGF0ZSc7XG5pbXBvcnQgeyBEYXRhRG9lc05vdEV4aXN0RXJyb3IsIERhdGFJc0V4cGlyZWRFcnJvciwgUmVhZFN0b3JlZERhdGEsIFN0b3JlZERhdGEsIFN0b3JlZERhdGFTdG9yYWdlS2V5LCBTdG9yZWREYXRhU3RyaW5nLCBNYXliZSwgaGFzTm9uTnVsbFZhbHVlLCBzcGxpdEpvaW5SZW1haW5kZXIgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IFN0b3JhZ2VBY2Nlc3NvciB9IGZyb20gJy4vc3RvcmFnZS5hY2Nlc3Nvcic7XG5cbi8vIE1BUks6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvclxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4ge1xuICAvKipcbiAgICogQ29udmVydHMgdGhlIGlucHV0IHZhbHVlIHRvIGEgc3RyaW5nLlxuICAgKi9cbiAgc3RyaW5naWZ5VmFsdWUodmFsdWU6IFQpOiBTdG9yZWREYXRhU3RyaW5nO1xuICAvKipcbiAgICogQ29udmVydHMgdGhlIGRhdGEgc3RyaW5nIGludG8gYSB2YWx1ZS5cbiAgICovXG4gIHBhcnNlVmFsdWUoZGF0YTogU3RvcmVkRGF0YVN0cmluZyk6IFQ7XG59XG5cbi8qKlxuICogU2ltcGxlU3RvcmFnZUFjY2Vzc29yIGRlbGVnYXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+IGV4dGVuZHMgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+LCBTdG9yYWdlQWNjZXNzb3I8U3RvcmVkRGF0YVN0cmluZz4ge31cblxuZXhwb3J0IGNsYXNzIFN0cmluZ2lmeVNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiBpbXBsZW1lbnRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiB7XG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgfVxuXG4gIHBhcnNlVmFsdWUoZGF0YTogU3RvcmVkRGF0YVN0cmluZyk6IFQge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRhdGEpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBXcmFwcGVyU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD4gaW1wbGVtZW50cyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RlbGVnYXRlOiBTdG9yYWdlQWNjZXNzb3I8U3RvcmVkRGF0YVN0cmluZz4sIHByaXZhdGUgX2NvbnZlcnRlcjogU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+KSB7fVxuXG4gIGdldChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8TWF5YmU8U3RvcmVkRGF0YVN0cmluZz4+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0KGtleSk7XG4gIH1cblxuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBTdG9yZWREYXRhU3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnNldChrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5yZW1vdmUoa2V5KTtcbiAgfVxuXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmNsZWFyKCk7XG4gIH1cblxuICBhbGwocHJlZml4Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGwocHJlZml4KTtcbiAgfVxuXG4gIGFsbEtleXMocHJlZml4Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGxLZXlzKHByZWZpeCk7XG4gIH1cblxuICBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IFN0b3JlZERhdGFTdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb252ZXJ0ZXIuc3RyaW5naWZ5VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcGFyc2VWYWx1ZShkYXRhOiBTdG9yZWREYXRhU3RyaW5nKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRlci5wYXJzZVZhbHVlKGRhdGEpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnIHtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgS2V5IFByZWZpeFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcmVmaXgvdmFsdWUgc3BsaXR0ZXIuXG4gICAqL1xuICByZWFkb25seSBwcmVmaXhTcGxpdHRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIE51bWJlciBpbiBtaWxsaXNlY29uZHMgdGhhdCBvYmplY3RzIHN0b3JlZCB3aWxsIGV4cGlyZSBpbi5cbiAgICovXG4gIHJlYWRvbmx5IGV4cGlyZXNJbj86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIENvbmZpZ3VyZWRTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcgZXh0ZW5kcyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcge1xuICByZWFkb25seSBwcmVmaXhTcGxpdHRlcjogc3RyaW5nO1xuICByZWFkb25seSBmdWxsUHJlZml4OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGltaXRlZFN0b3JhZ2VBY2Nlc3NvciBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgYSBEZWxlZ2F0ZVxuICovXG5leHBvcnQgY2xhc3MgU2ltcGxlU3RvcmFnZUFjY2Vzc29yPFQ+IGltcGxlbWVudHMgU3RvcmFnZUFjY2Vzc29yPFQ+IHtcbiAgc3RhdGljIHJlYWRvbmx5IFBSRUZJWF9TUExJVFRFUiA9ICc6Oic7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jb25maWc6IENvbmZpZ3VyZWRTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfZGVsZWdhdGU6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+LCBjb25maWc6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZykge1xuICAgIGNvbnN0IHByZWZpeCA9IGNvbmZpZy5wcmVmaXg7XG4gICAgY29uc3QgcHJlZml4U3BsaXR0ZXIgPSBjb25maWcucHJlZml4U3BsaXR0ZXIgPz8gU2ltcGxlU3RvcmFnZUFjY2Vzc29yLlBSRUZJWF9TUExJVFRFUjtcblxuICAgIHRoaXMuYXNzZXJ0VmFsaWRTdG9yYWdlS2V5UHJlZml4KHByZWZpeCwgcHJlZml4U3BsaXR0ZXIpO1xuXG4gICAgY29uc3QgZnVsbFByZWZpeCA9IGAke3ByZWZpeH0ke3ByZWZpeFNwbGl0dGVyfWA7XG4gICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgcHJlZml4U3BsaXR0ZXIsXG4gICAgICBmdWxsUHJlZml4XG4gICAgfTtcbiAgfVxuXG4gIC8vIE1BUks6IExpbWl0ZWRTdG9yYWdlQWNjZXNzb3JcbiAgZ2V0KGlucHV0S2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBzdG9yZUtleSA9IHRoaXMubWFrZVN0b3JhZ2VLZXkoaW5wdXRLZXkpO1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXQoc3RvcmVLZXkpLnBpcGUoXG4gICAgICBtYXAoKHN0b3JlZERhdGE6IE1heWJlPHN0cmluZz4pID0+IHtcbiAgICAgICAgaWYgKHN0b3JlZERhdGEpIHtcbiAgICAgICAgICBjb25zdCByZWFkU3RvcmVkRGF0YSA9IHRoaXMucmVhZFN0b3JlZERhdGEoc3RvcmVkRGF0YSk7XG5cbiAgICAgICAgICBpZiAoIXJlYWRTdG9yZWREYXRhLmV4cGlyZWQpIHtcbiAgICAgICAgICAgIHJldHVybiByZWFkU3RvcmVkRGF0YS5jb252ZXJ0ZWREYXRhO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRGF0YUlzRXhwaXJlZEVycm9yPFQ+KHJlYWRTdG9yZWREYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IERhdGFEb2VzTm90RXhpc3RFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzZXQoaW5wdXRLZXk6IHN0cmluZywgaW5wdXRWYWx1ZTogVCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHN0b3JlS2V5ID0gdGhpcy5tYWtlU3RvcmFnZUtleShpbnB1dEtleSk7XG4gICAgY29uc3Qgc3RvcmVEYXRhOiBTdG9yZWREYXRhID0gdGhpcy5idWlsZFN0b3JlZERhdGEoaW5wdXRWYWx1ZSk7XG4gICAgY29uc3QgZGF0YSA9IEpTT04uc3RyaW5naWZ5KHN0b3JlRGF0YSk7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnNldChzdG9yZUtleSwgZGF0YSk7XG4gIH1cblxuICByZW1vdmUoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBzdG9yZUtleSA9IHRoaXMubWFrZVN0b3JhZ2VLZXkoa2V5KTtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUucmVtb3ZlKHN0b3JlS2V5KTtcbiAgfVxuXG4gIGFsbCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGwodGhpcy5fY29uZmlnLmZ1bGxQcmVmaXgpLnBpcGUoXG4gICAgICBtYXAoKGFsbFN0b3JlZERhdGEpID0+IHtcbiAgICAgICAgcmV0dXJuIGFsbFN0b3JlZERhdGFcbiAgICAgICAgICAubWFwKChzdG9yZWREYXRhKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWFkU3RvcmVkRGF0YSA9IHRoaXMucmVhZFN0b3JlZERhdGEoc3RvcmVkRGF0YSk7XG5cbiAgICAgICAgICAgIGlmICghcmVhZFN0b3JlZERhdGEuZXhwaXJlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gcmVhZFN0b3JlZERhdGEuY29udmVydGVkRGF0YTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbHRlcihoYXNOb25OdWxsVmFsdWUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYWxsS2V5cygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbEtleXModGhpcy5fY29uZmlnLmZ1bGxQcmVmaXgpLnBpcGUobWFwKChrZXlzKSA9PiBrZXlzLm1hcCgoeCkgPT4gdGhpcy5kZWNvZGVTdG9yYWdlS2V5KHgpKSkpO1xuICB9XG5cbiAgY2xlYXIoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY2xlYXIoKTtcbiAgfVxuXG4gIC8vIE1BUks6IFN0b3JlZCBWYWx1ZXNcbiAgcHJvdGVjdGVkIHJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGFTdHJpbmc6IFN0b3JlZERhdGFTdHJpbmcpOiBSZWFkU3RvcmVkRGF0YTxUPiB7XG4gICAgY29uc3Qgc3RvcmVkRGF0YTogU3RvcmVkRGF0YSA9IEpTT04ucGFyc2Uoc3RvcmVkRGF0YVN0cmluZyk7XG4gICAgY29uc3QgZXhwaXJlZCA9IHRoaXMuaXNFeHBpcmVkU3RvcmVkRGF0YShzdG9yZWREYXRhKTtcbiAgICBjb25zdCBjb252ZXJ0ZWREYXRhID0gdGhpcy5fZGVsZWdhdGUucGFyc2VWYWx1ZShzdG9yZWREYXRhLmRhdGEpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0b3JlZERhdGEsXG4gICAgICBleHBpcmVkLFxuICAgICAgY29udmVydGVkRGF0YVxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRTdG9yZWREYXRhKHZhbHVlOiBUKTogU3RvcmVkRGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0b3JlZEF0OiB1bml4VGltZU51bWJlckZvck5vdygpLFxuICAgICAgZGF0YTogdGhpcy5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSlcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRXhwaXJlZFN0b3JlZERhdGEoc3RvcmVEYXRhOiBTdG9yZWREYXRhKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZXhwaXJlc0luID0gdGhpcy5fY29uZmlnLmV4cGlyZXNJbjtcbiAgICBpZiAoZXhwaXJlc0luKSB7XG4gICAgICBpZiAoc3RvcmVEYXRhLnN0b3JlZEF0KSB7XG4gICAgICAgIHJldHVybiB0aW1lSGFzRXhwaXJlZChzdG9yZURhdGEuc3RvcmVkQXQsIGV4cGlyZXNJbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgcHJvdGVjdGVkIGFzc2VydFZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXg6IHN0cmluZywgcHJlZml4U3BsaXR0ZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghcHJlZml4U3BsaXR0ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzdG9yYWdlIGtleSBwcmVmaXggc3BsaXR0ZXIuIE11c3QgYmUgZGVmaW5lZCBhbmQgbm90IGVtcHR5LicpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc1ZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXgsIHByZWZpeFNwbGl0dGVyKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeC4nKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4OiBzdHJpbmcsIHByZWZpeFNwbHR0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKHByZWZpeCAmJiBwcmVmaXguaW5kZXhPZihwcmVmaXhTcGx0dGVyKSA9PT0gLTEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1ha2VTdG9yYWdlS2V5KGtleTogc3RyaW5nKTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkge1xuICAgIHJldHVybiBgJHt0aGlzLl9jb25maWcucHJlZml4fSR7dGhpcy5fY29uZmlnLnByZWZpeFNwbGl0dGVyfSR7U3RyaW5nKGtleSl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0tleU9mQWNjZXNzb3Ioc3RvcmFnZUtleTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RvcmFnZUtleS5zdGFydHNXaXRoKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWNvZGVTdG9yYWdlS2V5KHN0b3JhZ2VLZXk6IFN0b3JlZERhdGFTdG9yYWdlS2V5KTogc3RyaW5nIHtcbiAgICBjb25zdCBzcGxpdCA9IHNwbGl0Sm9pblJlbWFpbmRlcihzdG9yYWdlS2V5LCB0aGlzLl9jb25maWcucHJlZml4U3BsaXR0ZXIsIDIpO1xuICAgIHJldHVybiBzcGxpdFsxXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnN0cmluZ2lmeVZhbHVlKHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBNkUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0IxTCxNQUFNLE9BQU8sdUNBQXVDO0lBQ2xELGNBQWMsQ0FBQyxLQUFRO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0NBQW9DO0lBQzlCLFNBQVMsQ0FBb0M7SUFDN0MsVUFBVSxDQUFvQztJQUUvRCxZQUFZLFFBQTJDLEVBQUUsU0FBNEM7UUFDbkcsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lB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QUFTLENBQUMsUUFBUSxFQUFFO2dCQUN0QixPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3REO1lBRUQsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxpQkFBaUI7SUFDUCxjQUFjLENBQUMsR0FBVztRQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVTLGVBQWUsQ0FBQyxVQUFnQztRQUN4RCxPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsVUFBZ0M7UUFDekQsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBUTtRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRpbWVIYXNFeHBpcmVkLCB1bml4VGltZU51bWJlckZvck5vdyB9IGZyb20gJ0BkZXJlZWtiL2RhdGUnO1xuaW1wb3J0IHsgRGF0YURvZXNOb3RFeGlzdEVycm9yLCBEYXRhSXNFeHBpcmVkRXJyb3IsIFJlYWRTdG9yZWREYXRhLCBTdG9yZWREYXRhLCBTdG9yZWREYXRhU3RvcmFnZUtleSwgU3RvcmVkRGF0YVN0cmluZywgTWF5YmUsIGhhc05vbk51bGxWYWx1ZSwgc3BsaXRKb2luUmVtYWluZGVyIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdG9yYWdlQWNjZXNzb3IgfSBmcm9tICcuL3N0b3JhZ2UuYWNjZXNzb3InO1xuXG4vLyBNQVJLOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBhIHN0cmluZy5cbiAgICovXG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZztcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBkYXRhIHN0cmluZyBpbnRvIGEgdmFsdWUuXG4gICAqL1xuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUO1xufVxuXG4vKipcbiAqIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvciBkZWxlZ2F0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiBleHRlbmRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiwgU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+IHt9XG5cbmV4cG9ydCBjbGFzcyBTdHJpbmdpZnlTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4gaW1wbGVtZW50cyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4ge1xuICBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IFN0b3JlZERhdGFTdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gIH1cblxuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgV3JhcHBlclNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+IGltcGxlbWVudHMgU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxlZ2F0ZTogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb252ZXJ0ZXI6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPjtcblxuICBjb25zdHJ1Y3RvcihkZWxlZ2F0ZTogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+LCBjb252ZXJ0ZXI6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPikge1xuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7XG4gICAgdGhpcy5fY29udmVydGVyID0gY29udmVydGVyO1xuICB9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxNYXliZTxTdG9yZWREYXRhU3RyaW5nPj4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXQoa2V5KTtcbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IFN0b3JlZERhdGFTdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuc2V0KGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnJlbW92ZShrZXkpO1xuICB9XG5cbiAgY2xlYXIoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY2xlYXIoKTtcbiAgfVxuXG4gIGFsbChwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbChwcmVmaXgpO1xuICB9XG5cbiAgYWxsS2V5cyhwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbEtleXMocHJlZml4KTtcbiAgfVxuXG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRlci5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fY29udmVydGVyLnBhcnNlVmFsdWUoZGF0YSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcge1xuICAvKipcbiAgICogU3RvcmFnZSBLZXkgUHJlZml4XG4gICAqL1xuICByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByZWZpeC92YWx1ZSBzcGxpdHRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeFNwbGl0dGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogTnVtYmVyIGluIG1pbGxpc2Vjb25kcyB0aGF0IG9iamVjdHMgc3RvcmVkIHdpbGwgZXhwaXJlIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhwaXJlc0luPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgQ29uZmlndXJlZFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyBleHRlbmRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyB7XG4gIHJlYWRvbmx5IHByZWZpeFNwbGl0dGVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZ1bGxQcmVmaXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXg6IHN0cmluZywgcHJlZml4U3BsaXR0ZXI6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIXByZWZpeFNwbGl0dGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeCBzcGxpdHRlci4gTXVzdCBiZSBkZWZpbmVkIGFuZCBub3QgZW1wdHkuJyk7IC8vIFRPRE8oRlVUVVJFKTogQ29uc2lkZXIgY2hhbmdpbmcgdG8gYSBjb25jcmV0ZSBlcnJvciB0eXBlXG4gIH1cblxuICBpZiAoIWlzVmFsaWRTdG9yYWdlS2V5UHJlZml4KHByZWZpeCwgcHJlZml4U3BsaXR0ZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeC4nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4OiBzdHJpbmcsIHByZWZpeFNwbHR0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihwcmVmaXggJiYgcHJlZml4LmluZGV4T2YocHJlZml4U3BsdHRlcikgPT09IC0xKTtcbn1cblxuLyoqXG4gKiBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBhIERlbGVnYXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVTdG9yYWdlQWNjZXNzb3I8VD4gaW1wbGVtZW50cyBTdG9yYWdlQWNjZXNzb3I8VD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgUFJFRklYX1NQTElUVEVSID0gJzo6JztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxlZ2F0ZTogU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD47XG4gIHByb3RlY3RlZCByZWFkb25seSBfY29uZmlnOiBDb25maWd1cmVkU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGRlbGVnYXRlOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiwgY29uZmlnOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcpIHtcbiAgICBjb25zdCBwcmVmaXggPSBjb25maWcucHJlZml4O1xuICAgIGNvbnN0IHByZWZpeFNwbGl0dGVyID0gY29uZmlnLnByZWZpeFNwbGl0dGVyID8/IFNpbXBsZVN0b3JhZ2VBY2Nlc3Nvci5QUkVGSVhfU1BMSVRURVI7XG5cbiAgICBhc3NlcnRWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4LCBwcmVmaXhTcGxpdHRlcik7XG5cbiAgICBjb25zdCBmdWxsUHJlZml4ID0gYCR7cHJlZml4fSR7cHJlZml4U3BsaXR0ZXJ9YDtcblxuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7XG4gICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgcHJlZml4U3BsaXR0ZXIsXG4gICAgICBmdWxsUHJlZml4XG4gICAgfTtcbiAgfVxuXG4gIGdldCBkZWxlZ2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGU7XG4gIH1cblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICAvLyBNQVJLOiBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yXG4gIGdldChpbnB1dEtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGlucHV0S2V5KTtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0KHN0b3JlS2V5KS5waXBlKFxuICAgICAgbWFwKChzdG9yZWREYXRhOiBNYXliZTxzdHJpbmc+KSA9PiB7XG4gICAgICAgIGlmIChzdG9yZWREYXRhKSB7XG4gICAgICAgICAgY29uc3QgcmVhZFN0b3JlZERhdGEgPSB0aGlzLnJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuXG4gICAgICAgICAgaWYgKCFyZWFkU3RvcmVkRGF0YS5leHBpcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVhZFN0b3JlZERhdGEuY29udmVydGVkRGF0YTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERhdGFJc0V4cGlyZWRFcnJvcjxUPihyZWFkU3RvcmVkRGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBEYXRhRG9lc05vdEV4aXN0RXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0KGlucHV0S2V5OiBzdHJpbmcsIGlucHV0VmFsdWU6IFQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBzdG9yZUtleSA9IHRoaXMubWFrZVN0b3JhZ2VLZXkoaW5wdXRLZXkpO1xuICAgIGNvbnN0IHN0b3JlRGF0YTogU3RvcmVkRGF0YSA9IHRoaXMuYnVpbGRTdG9yZWREYXRhKGlucHV0VmFsdWUpO1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShzdG9yZURhdGEpO1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5zZXQoc3RvcmVLZXksIGRhdGEpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGtleSk7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnJlbW92ZShzdG9yZUtleSk7XG4gIH1cblxuICBhbGwoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuYWxsKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KS5waXBlKFxuICAgICAgbWFwKChhbGxTdG9yZWREYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiBhbGxTdG9yZWREYXRhXG4gICAgICAgICAgLm1hcCgoc3RvcmVkRGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZFN0b3JlZERhdGEgPSB0aGlzLnJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuXG4gICAgICAgICAgICBpZiAoIXJlYWRTdG9yZWREYXRhLmV4cGlyZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlYWRTdG9yZWREYXRhLmNvbnZlcnRlZERhdGE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoaGFzTm9uTnVsbFZhbHVlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFsbEtleXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGxLZXlzKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KS5waXBlKG1hcCgoa2V5cykgPT4ga2V5cy5tYXAoKHgpID0+IHRoaXMuZGVjb2RlU3RvcmFnZUtleSh4KSkpKTtcbiAgfVxuXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmNsZWFyKCk7XG4gIH1cblxuICAvLyBNQVJLOiBTdG9yZWQgVmFsdWVzXG4gIHByb3RlY3RlZCByZWFkU3RvcmVkRGF0YShzdG9yZWREYXRhU3RyaW5nOiBTdG9yZWREYXRhU3RyaW5nKTogUmVhZFN0b3JlZERhdGE8VD4ge1xuICAgIGNvbnN0IHN0b3JlZERhdGE6IFN0b3JlZERhdGEgPSBKU09OLnBhcnNlKHN0b3JlZERhdGFTdHJpbmcpO1xuICAgIGNvbnN0IGV4cGlyZWQgPSB0aGlzLmlzRXhwaXJlZFN0b3JlZERhdGEoc3RvcmVkRGF0YSk7XG4gICAgY29uc3QgY29udmVydGVkRGF0YSA9IHRoaXMuX2RlbGVnYXRlLnBhcnNlVmFsdWUoc3RvcmVkRGF0YS5kYXRhKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdG9yZWREYXRhLFxuICAgICAgZXhwaXJlZCxcbiAgICAgIGNvbnZlcnRlZERhdGFcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkU3RvcmVkRGF0YSh2YWx1ZTogVCk6IFN0b3JlZERhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBzdG9yZWRBdDogdW5peFRpbWVOdW1iZXJGb3JOb3coKSxcbiAgICAgIGRhdGE6IHRoaXMuc3RyaW5naWZ5VmFsdWUodmFsdWUpXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0V4cGlyZWRTdG9yZWREYXRhKHN0b3JlRGF0YTogU3RvcmVkRGF0YSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV4cGlyZXNJbiA9IHRoaXMuX2NvbmZpZy5leHBpcmVzSW47XG4gICAgaWYgKGV4cGlyZXNJbikge1xuICAgICAgaWYgKHN0b3JlRGF0YS5zdG9yZWRBdCkge1xuICAgICAgICByZXR1cm4gdGltZUhhc0V4cGlyZWQoc3RvcmVEYXRhLnN0b3JlZEF0LCBleHBpcmVzSW4pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIHByb3RlY3RlZCBtYWtlU3RvcmFnZUtleShrZXk6IHN0cmluZyk6IFN0b3JlZERhdGFTdG9yYWdlS2V5IHtcbiAgICByZXR1cm4gYCR7dGhpcy5fY29uZmlnLnByZWZpeH0ke3RoaXMuX2NvbmZpZy5wcmVmaXhTcGxpdHRlcn0ke1N0cmluZyhrZXkpfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNLZXlPZkFjY2Vzc29yKHN0b3JhZ2VLZXk6IFN0b3JlZERhdGFTdG9yYWdlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0b3JhZ2VLZXkuc3RhcnRzV2l0aCh0aGlzLl9jb25maWcuZnVsbFByZWZpeCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVjb2RlU3RvcmFnZUtleShzdG9yYWdlS2V5OiBTdG9yZWREYXRhU3RvcmFnZUtleSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3BsaXQgPSBzcGxpdEpvaW5SZW1haW5kZXIoc3RvcmFnZUtleSwgdGhpcy5fY29uZmlnLnByZWZpeFNwbGl0dGVyLCAyKTtcbiAgICByZXR1cm4gc3BsaXRbMV07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RyaW5naWZ5VmFsdWUodmFsdWU6IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,8 +5,8 @@ import { Observable, map, shareReplay } from 'rxjs';
|
|
|
5
5
|
*/
|
|
6
6
|
export class StringStorageAccessor {
|
|
7
7
|
_storage;
|
|
8
|
-
constructor(
|
|
9
|
-
this._storage =
|
|
8
|
+
constructor(storage) {
|
|
9
|
+
this._storage = storage;
|
|
10
10
|
}
|
|
11
11
|
get(key) {
|
|
12
12
|
return new Observable((x) => {
|
|
@@ -47,4 +47,4 @@ export class StringStorageAccessor {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zdHJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUF1QyxvQkFBb0IsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2YsUUFBUSxDQUFvQjtJQUU3QyxZQUFZLE9BQTBCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVztRQUNiLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUF1QjtRQUN0QyxPQUFPLElBQUksVUFBVSxDQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNULENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXO1FBQ2hCLE9BQU8sSUFBSSxVQUFVLENBQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVCxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMxQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNyRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFCLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZVZhbHVlcywgU3RvcmVkRGF0YVN0cmluZywgRnVsbFN0b3JhZ2VPYmplY3QsIFN0b3JhZ2VPYmplY3RVdGlsaXR5LCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmFnZUFjY2Vzc29yIH0gZnJvbSAnLi9zdG9yYWdlLmFjY2Vzc29yJztcblxuLyoqXG4gKiBTaW1wbGUgU3RvcmFnZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uIHRoYXQgd3JhcHMgYSBGdWxsU3RvcmFnZU9iamVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ1N0b3JhZ2VBY2Nlc3NvciBpbXBsZW1lbnRzIFN0b3JhZ2VBY2Nlc3NvcjxTdG9yZWREYXRhU3RyaW5nPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JhZ2U6IEZ1bGxTdG9yYWdlT2JqZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JhZ2U6IEZ1bGxTdG9yYWdlT2JqZWN0KSB7XG4gICAgdGhpcy5fc3RvcmFnZSA9IHN0b3JhZ2U7XG4gIH1cblxuICBnZXQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPE1heWJlPFN0b3JlZERhdGFTdHJpbmc+PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCh4KSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX3N0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgeC5uZXh0KHZhbHVlKTtcbiAgICAgIHguY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IFN0b3JlZERhdGFTdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8dm9pZD4oKHgpID0+IHtcbiAgICAgIHRoaXMuX3N0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgICAgIHgubmV4dCgpO1xuICAgICAgeC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHZvaWQ+KCh4KSA9PiB7XG4gICAgICB0aGlzLl9zdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgIHgubmV4dCgpO1xuICAgICAgeC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xlYXIoKTogT2JzZXJ2YWJsZTxTdG9yZWREYXRhU3RyaW5nW10+IHtcbiAgICBjb25zdCByZW1vdmVkID0gdGhpcy5fc3RvcmFnZS5yZW1vdmVBbGwoKTtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHgpID0+IHtcbiAgICAgIHgubmV4dChyZW1vdmVkKTtcbiAgICAgIHguY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFsbCgpOiBPYnNlcnZhYmxlPFN0b3JlZERhdGFTdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmFsbEtleXMoKS5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBmaWx0ZXJNYXliZVZhbHVlcyh4Lm1hcCgoeSkgPT4gdGhpcy5fc3RvcmFnZS5nZXRJdGVtKHkpKSkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWxsS2V5cygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCh4KSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBTdG9yYWdlT2JqZWN0VXRpbGl0eS5hbGxLZXlzRnJvbVN0b3JhZ2VPYmplY3QodGhpcy5fc3RvcmFnZSk7XG4gICAgICB4Lm5leHQocmVzdWx0KTtcbiAgICAgIHguY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -4,8 +4,8 @@ import { StorageObjectUtility } from '@dereekb/util';
|
|
|
4
4
|
*/
|
|
5
5
|
export class FullLocalStorageObject {
|
|
6
6
|
_localStorage;
|
|
7
|
-
constructor(
|
|
8
|
-
this._localStorage =
|
|
7
|
+
constructor(localStorage) {
|
|
8
|
+
this._localStorage = localStorage;
|
|
9
9
|
}
|
|
10
10
|
get isPersistant() {
|
|
11
11
|
return true;
|
|
@@ -44,4 +44,4 @@ export class FullLocalStorageObject {
|
|
|
44
44
|
return keys;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5vYmplY3QubG9jYWxzdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9zdG9yYWdlL3N0b3JhZ2Uub2JqZWN0LmxvY2Fsc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJDLG9CQUFvQixFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUVwSDs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDaEIsYUFBYSxDQUFnQjtJQUU5QyxZQUFZLFlBQTJCO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLElBQUksR0FBRyxXQUFXLENBQUM7UUFFekIsSUFBSTtZQUNGLDBEQUEwRDtZQUMxRCxpREFBaUQ7WUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQXlCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUF5QixFQUFFLElBQVk7UUFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBeUI7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sSUFBSSxHQUFHLG9CQUFvQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZ1bGxTdG9yYWdlT2JqZWN0LCBNYXliZSwgU3RvcmFnZU9iamVjdCwgU3RvcmFnZU9iamVjdFV0aWxpdHksIFN0b3JlZERhdGFTdG9yYWdlS2V5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogU3RvcmFnZU9iamVjdCB1c2luZyBMb2NhbFN0b3JhZ2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBGdWxsTG9jYWxTdG9yYWdlT2JqZWN0IGltcGxlbWVudHMgRnVsbFN0b3JhZ2VPYmplY3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IF9sb2NhbFN0b3JhZ2U6IFN0b3JhZ2VPYmplY3Q7XG5cbiAgY29uc3RydWN0b3IobG9jYWxTdG9yYWdlOiBTdG9yYWdlT2JqZWN0KSB7XG4gICAgdGhpcy5fbG9jYWxTdG9yYWdlID0gbG9jYWxTdG9yYWdlO1xuICB9XG5cbiAgZ2V0IGlzUGVyc2lzdGFudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldCBpc0F2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCB0ZXN0ID0gJ19UX0VfU19UXyc7XG5cbiAgICB0cnkge1xuICAgICAgLy8gVGVzdHMgc2V0dGluZyBhbmQgcmVtb3ZpbmcgYW4gaXRlbS4gVGhlc2Ugd2lsbCB0aHJvdyBhblxuICAgICAgLy8gZXhjZXB0aW9uIGlmIHRoZSBsb2NhbHN0b3JhZ2UgaXMgbm90IGF2YWlsYWJsZVxuICAgICAgdGhpcy5fbG9jYWxTdG9yYWdlLnNldEl0ZW0odGVzdCwgdGVzdCk7XG4gICAgICB0aGlzLl9sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0ZXN0KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsU3RvcmFnZS5sZW5ndGg7XG4gIH1cblxuICBnZXRJdGVtKGtleTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgfVxuXG4gIHNldEl0ZW0oa2V5OiBTdG9yZWREYXRhU3RvcmFnZUtleSwgaXRlbTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBpdGVtKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBTdG9yZWREYXRhU3RvcmFnZUtleSk6IHZvaWQge1xuICAgIHRoaXMuX2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gIH1cblxuICBrZXkoaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbFN0b3JhZ2Uua2V5KGluZGV4KTtcbiAgfVxuXG4gIHJlbW92ZUFsbCgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qga2V5cyA9IFN0b3JhZ2VPYmplY3RVdGlsaXR5LmFsbEtleXNGcm9tU3RvcmFnZU9iamVjdCh0aGlzKTtcbiAgICBrZXlzLmZvckVhY2goKHgpID0+IHRoaXMucmVtb3ZlSXRlbSh4KSk7XG4gICAgcmV0dXJuIGtleXM7XG4gIH1cbn1cbiJdfQ==
|