angular-three 1.6.8 → 1.6.10
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/esm2020/lib/stores/rx-store.mjs +17 -11
- package/fesm2015/angular-three.mjs +30 -22
- package/fesm2015/angular-three.mjs.map +1 -1
- package/fesm2020/angular-three.mjs +29 -22
- package/fesm2020/angular-three.mjs.map +1 -1
- package/lib/stores/rx-store.d.ts +7 -2
- package/package.json +1 -1
- package/plugin/package.json +1 -1
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
2
|
import { RxState } from '@rx-angular/state';
|
|
3
|
-
import { combineLatest, startWith, tap } from 'rxjs';
|
|
3
|
+
import { combineLatest, distinctUntilChanged, startWith, tap } from 'rxjs';
|
|
4
4
|
import { is } from '../utils/is';
|
|
5
|
-
import { safeDetectChanges } from '../utils/safe-detect-changes';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export const startWithUndefined = () => startWith(undefined);
|
|
8
7
|
/**
|
|
@@ -61,7 +60,7 @@ export function tapEffect(effectFn) {
|
|
|
61
60
|
export class NgtRxStore extends RxState {
|
|
62
61
|
constructor() {
|
|
63
62
|
super();
|
|
64
|
-
|
|
63
|
+
this.cache = {};
|
|
65
64
|
// set a dummy property so that initial this.get() won't return undefined
|
|
66
65
|
this.set({ __ngt_dummy__: '__ngt_dummy__' });
|
|
67
66
|
// call initialize that might be setup by derived Stores
|
|
@@ -78,14 +77,10 @@ export class NgtRxStore extends RxState {
|
|
|
78
77
|
modded[key] = value === undefined ? this.get(key) : value;
|
|
79
78
|
return modded;
|
|
80
79
|
}, {});
|
|
81
|
-
|
|
82
|
-
safeDetectChanges(cdr);
|
|
83
|
-
return value;
|
|
80
|
+
return originalSet(modArgs);
|
|
84
81
|
}
|
|
85
82
|
// @ts-expect-error not sure why ...args here doesn't pass tuple check
|
|
86
|
-
|
|
87
|
-
safeDetectChanges(cdr);
|
|
88
|
-
return value;
|
|
83
|
+
return originalSet(...args);
|
|
89
84
|
};
|
|
90
85
|
},
|
|
91
86
|
});
|
|
@@ -105,10 +100,21 @@ export class NgtRxStore extends RxState {
|
|
|
105
100
|
requestAnimationFrame(() => void cdr.detectChanges());
|
|
106
101
|
});
|
|
107
102
|
}
|
|
103
|
+
key$(...keys) {
|
|
104
|
+
const key = keys.join('.');
|
|
105
|
+
if (!this.cache[key]) {
|
|
106
|
+
this.cache[key] = this.select(...keys).pipe(startWith(this.get(...keys) ?? undefined), distinctUntilChanged());
|
|
107
|
+
}
|
|
108
|
+
return this.cache[key];
|
|
109
|
+
}
|
|
110
|
+
ngOnDestroy() {
|
|
111
|
+
this.cache = {};
|
|
112
|
+
super.ngOnDestroy();
|
|
113
|
+
}
|
|
108
114
|
}
|
|
109
115
|
NgtRxStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtRxStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
110
116
|
NgtRxStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtRxStore });
|
|
111
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtRxStore, decorators: [{
|
|
112
118
|
type: Injectable
|
|
113
119
|
}], ctorParameters: function () { return []; } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi9zdG9yZXMvcngtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQXdDLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0YsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFakUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBbUMsRUFBRSxDQUFDLFNBQVMsQ0FBSSxTQUFlLENBQUMsQ0FBQztBQU10Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQVMsUUFBMEI7SUFDeEQsSUFBSSxTQUFTLEdBQTZGLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNuSCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsSUFBSSxJQUFJLEdBQXVCLFNBQVMsQ0FBQztJQUV6QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sR0FBRyxFQUFFO1lBQ1IsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUM5QztRQUNMLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFTO1FBQ2YsSUFBSSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFD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O1FBRWhDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEc7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDZCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7dUdBdERRLFVBQVU7MkdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUnhTdGF0ZSB9IGZyb20gJ0ByeC1hbmd1bGFyL3N0YXRlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXMgfSBmcm9tICcuLi91dGlscy9pcyc7XG5pbXBvcnQgeyBzYWZlRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJy4uL3V0aWxzL3NhZmUtZGV0ZWN0LWNoYW5nZXMnO1xuXG5leHBvcnQgY29uc3Qgc3RhcnRXaXRoVW5kZWZpbmVkID0gPFQ+KCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiA9PiBzdGFydFdpdGg8VD4odW5kZWZpbmVkISBhcyBUKTtcblxudHlwZSBFZmZlY3RGbjxUVmFsdWU+ID0gKFxuICAgIHZhbHVlOiBUVmFsdWVcbikgPT4gdm9pZCB8IHVuZGVmaW5lZCB8ICgoY2xlYW5VcFBhcmFtczogeyBwcmV2OiBUVmFsdWUgfCB1bmRlZmluZWQ7IGNvbXBsZXRlOiBib29sZWFuOyBlcnJvcjogYm9vbGVhbiB9KSA9PiB2b2lkKTtcblxuLyoqXG4gKiBBbiBleHRlbmRlZCBgdGFwYCBvcGVyYXRvciB0aGF0IGFjY2VwdHMgYW4gYGVmZmVjdEZuYCB3aGljaDpcbiAqIC0gcnVucyBvbiBldmVyeSBgbmV4dGAgbm90aWZpY2F0aW9uIGZyb20gYHNvdXJjZSRgXG4gKiAtIGNhbiBvcHRpb25hbGx5IHJldHVybiBhIGBjbGVhblVwYCBmdW5jdGlvbiB0aGF0XG4gKiBpbnZva2VzIGZyb20gdGhlIDJuZCBgbmV4dGAgbm90aWZpY2F0aW9uIG9ud2FyZCBhbmQgb24gYHVuc3Vic2NyaWJlYCAoZGVzdHJveWVkKVxuICpcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogc291cmNlJC5waXBlKFxuICogIHRhcEVmZmVjdCgoc291cmNlVmFsdWUpID0ge1xuICogICAgY29uc3QgY2IgPSAoKSA9PiB7XG4gKiAgICAgIGRvU3R1ZmYoc291cmNlVmFsdWUpO1xuICogICAgfTtcbiAqICAgIGFkZExpc3RlbmVyKCdldmVudCcsIGNiKTtcbiAqXG4gKiAgICByZXR1cm4gKCkgPT4ge1xuICogICAgICByZW1vdmVMaXN0ZW5lcignZXZlbnQnLCBjYik7XG4gKiAgICB9XG4gKiAgfSlcbiAqIClcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdGFwRWZmZWN0PFRWYWx1ZT4oZWZmZWN0Rm46IEVmZmVjdEZuPFRWYWx1ZT4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VFZhbHVlPiB7XG4gICAgbGV0IGNsZWFudXBGbjogKGNsZWFuVXBQYXJhbXM6IHsgcHJldjogVFZhbHVlIHwgdW5kZWZpbmVkOyBjb21wbGV0ZTogYm9vbGVhbjsgZXJyb3I6IGJvb2xlYW4gfSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIGxldCBmaXJzdFJ1biA9IGZhbHNlO1xuICAgIGxldCBwcmV2OiBUVmFsdWUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB0ZWFyZG93biA9IChlcnJvcjogYm9vbGVhbikgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNsZWFudXBGbikge1xuICAgICAgICAgICAgICAgIGNsZWFudXBGbih7IHByZXYsIGNvbXBsZXRlOiB0cnVlLCBlcnJvciB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRhcDxUVmFsdWU+KHtcbiAgICAgICAgbmV4dDogKHZhbHVlOiBUVmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmIChjbGVhbnVwRm4gJiYgZmlyc3RSdW4pIHtcbiAgICAgICAgICAgICAgICBjbGVhbnVwRm4oeyBwcmV2LCBjb21wbGV0ZTogZmFsc2UsIGVycm9yOiBmYWxzZSB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2xlYW5VcE9yVm9pZCA9IGVmZmVjdEZuKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChjbGVhblVwT3JWb2lkKSB7XG4gICAgICAgICAgICAgICAgY2xlYW51cEZuID0gY2xlYW5VcE9yVm9pZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJldiA9IHZhbHVlO1xuXG4gICAgICAgICAgICBpZiAoIWZpcnN0UnVuKSB7XG4gICAgICAgICAgICAgICAgZmlyc3RSdW4gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb21wbGV0ZTogdGVhcmRvd24oZmFsc2UpLFxuICAgICAgICB1bnN1YnNjcmliZTogdGVhcmRvd24oZmFsc2UpLFxuICAgICAgICBlcnJvcjogdGVhcmRvd24odHJ1ZSksXG4gICAgfSk7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3RSeFN0b3JlPFxuICAgIFRTdGF0ZSBleHRlbmRzIG9iamVjdCA9IGFueSxcbiAgICBUUnhTdGF0ZSBleHRlbmRzIG9iamVjdCA9IFRTdGF0ZSAmIFJlY29yZDxzdHJpbmcsIGFueT5cbj4gZXh0ZW5kcyBSeFN0YXRlPFRSeFN0YXRlPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGNvbnN0IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICAgICAgLy8gc2V0IGEgZHVtbXkgcHJvcGVydHkgc28gdGhhdCBpbml0aWFsIHRoaXMuZ2V0KCkgd29uJ3QgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB0aGlzLnNldCh7IF9fbmd0X2R1bW15X186ICdfX25ndF9kdW1teV9fJyB9IGFzIFRSeFN0YXRlKTtcbiAgICAgICAgLy8gY2FsbCBpbml0aWFsaXplIHRoYXQgbWlnaHQgYmUgc2V0dXAgYnkgZGVyaXZlZCBTdG9yZXNcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgIC8vIG92ZXJyaWRlIHNldCBzbyBvdXIgY29uc3VtZXJzIGRvbid0IGhhdmUgdG8gaGFuZGxlIHVuZGVmaW5lZCBmb3Igc3RhdGUgdGhhdCBhbHJlYWR5IGhhdmUgZGVmYXVsdCB2YWx1ZXNcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxTZXQgPSB0aGlzLnNldC5iaW5kKHRoaXMpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3NldCcsIHtcbiAgICAgICAgICAgIGdldDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFBhcmFtZXRlcnMgdHlwZSBkb2VzIG5vdCBkbyB3ZWxsIHdpdGggb3ZlcmxvYWRzIChSeFN0YXRlI3NldCkuIFNvIHdlIHVzZSBhbnlbXSBoZXJlXG4gICAgICAgICAgICAgICAgcmV0dXJuICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEFyZyA9IGFyZ3NbMF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpcy5vYmooZmlyc3RBcmcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RBcmdzID0gT2JqZWN0LmVudHJpZXMoZmlyc3RBcmcpLnJlZHVjZSgobW9kZGVkLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RkZWRba2V5XSA9IHZhbHVlID09PSB1bmRlZmluZWQgPyB0aGlzLmdldChrZXkgYXMga2V5b2YgVFJ4U3RhdGUpIDogdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZGRlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHt9IGFzIE5ndEFueVJlY29yZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9yaWdpbmFsU2V0KG1vZEFyZ3MgYXMgUGFydGlhbDxUUnhTdGF0ZT4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2FmZURldGVjdENoYW5nZXMoY2RyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG5vdCBzdXJlIHdoeSAuLi5hcmdzIGhlcmUgZG9lc24ndCBwYXNzIHR1cGxlIGNoZWNrXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gb3JpZ2luYWxTZXQoLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgICAgIHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemUoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlZmZlY3Q8Uz4ob2JzOiBPYnNlcnZhYmxlPFM+LCBzaWRlRWZmZWN0Rm46IEVmZmVjdEZuPFM+KTogdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvbGQob2JzLnBpcGUodGFwRWZmZWN0KHNpZGVFZmZlY3RGbikpKTtcbiAgICB9XG5cbiAgICB0cmlnZ2VyQ2hhbmdlRGV0ZWN0aW9uKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIGtleXM6IEFycmF5PGtleW9mIFRSeFN0YXRlPiA9IFtdKSB7XG4gICAgICAgIGxldCAkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLiQ7XG5cbiAgICAgICAgaWYgKGtleXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAkID0gY29tYmluZUxhdGVzdChrZXlzLm1hcCgoa2V5KSA9PiB0aGlzLnNlbGVjdChrZXkpLnBpcGUoc3RhcnRXaXRoKHRoaXMuZ2V0KGtleSkgPz8gdW5kZWZpbmVkKSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG9sZCgkLCAoKSA9PiB7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdm9pZCBjZHIuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi9zdG9yZXMvcngtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQXdDLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakgsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFakMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBbUMsRUFBRSxDQUFDLFNBQVMsQ0FBSSxTQUFlLENBQUMsQ0FBQztBQU10Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQVMsUUFBMEI7SUFDeEQsSUFBSSxTQUFTLEdBQTZGLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNuSCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsSUFBSSxJQUFJLEdBQXVCLFNBQVMsQ0FBQztJQUV6QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sR0FBRyxFQUFFO1lBQ1IsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUM5QztRQUNMLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFTO1FBQ2YsSUFBSSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxTQUFTLElBQUksUUFBUSxFQUFFO2dCQUN2QixTQUFTLENBQUMsRUFBRSxJQUFJ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QUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNkLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBVUQsSUFBSSxDQUFDLEdBQUcsSUFBYztRQUNsQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFJLElBQWMsQ0FBQyxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBSSxJQUFjLENBQUMsSUFBSSxTQUFTLENBQUMsRUFDcEQsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFUSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOzt1R0F6RVEsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSeFN0YXRlIH0gZnJvbSAnQHJ4LWFuZ3VsYXIvc3RhdGUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXMgfSBmcm9tICcuLi91dGlscy9pcyc7XG5cbmV4cG9ydCBjb25zdCBzdGFydFdpdGhVbmRlZmluZWQgPSA8VD4oKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+ID0+IHN0YXJ0V2l0aDxUPih1bmRlZmluZWQhIGFzIFQpO1xuXG50eXBlIEVmZmVjdEZuPFRWYWx1ZT4gPSAoXG4gICAgdmFsdWU6IFRWYWx1ZVxuKSA9PiB2b2lkIHwgdW5kZWZpbmVkIHwgKChjbGVhblVwUGFyYW1zOiB7IHByZXY6IFRWYWx1ZSB8IHVuZGVmaW5lZDsgY29tcGxldGU6IGJvb2xlYW47IGVycm9yOiBib29sZWFuIH0pID0+IHZvaWQpO1xuXG4vKipcbiAqIEFuIGV4dGVuZGVkIGB0YXBgIG9wZXJhdG9yIHRoYXQgYWNjZXB0cyBhbiBgZWZmZWN0Rm5gIHdoaWNoOlxuICogLSBydW5zIG9uIGV2ZXJ5IGBuZXh0YCBub3RpZmljYXRpb24gZnJvbSBgc291cmNlJGBcbiAqIC0gY2FuIG9wdGlvbmFsbHkgcmV0dXJuIGEgYGNsZWFuVXBgIGZ1bmN0aW9uIHRoYXRcbiAqIGludm9rZXMgZnJvbSB0aGUgMm5kIGBuZXh0YCBub3RpZmljYXRpb24gb253YXJkIGFuZCBvbiBgdW5zdWJzY3JpYmVgIChkZXN0cm95ZWQpXG4gKlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBzb3VyY2UkLnBpcGUoXG4gKiAgdGFwRWZmZWN0KChzb3VyY2VWYWx1ZSkgPSB7XG4gKiAgICBjb25zdCBjYiA9ICgpID0+IHtcbiAqICAgICAgZG9TdHVmZihzb3VyY2VWYWx1ZSk7XG4gKiAgICB9O1xuICogICAgYWRkTGlzdGVuZXIoJ2V2ZW50JywgY2IpO1xuICpcbiAqICAgIHJldHVybiAoKSA9PiB7XG4gKiAgICAgIHJlbW92ZUxpc3RlbmVyKCdldmVudCcsIGNiKTtcbiAqICAgIH1cbiAqICB9KVxuICogKVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YXBFZmZlY3Q8VFZhbHVlPihlZmZlY3RGbjogRWZmZWN0Rm48VFZhbHVlPik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUVmFsdWU+IHtcbiAgICBsZXQgY2xlYW51cEZuOiAoY2xlYW5VcFBhcmFtczogeyBwcmV2OiBUVmFsdWUgfCB1bmRlZmluZWQ7IGNvbXBsZXRlOiBib29sZWFuOyBlcnJvcjogYm9vbGVhbiB9KSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgbGV0IGZpcnN0UnVuID0gZmFsc2U7XG4gICAgbGV0IHByZXY6IFRWYWx1ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHRlYXJkb3duID0gKGVycm9yOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2xlYW51cEZuKSB7XG4gICAgICAgICAgICAgICAgY2xlYW51cEZuKHsgcHJldiwgY29tcGxldGU6IHRydWUsIGVycm9yIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICByZXR1cm4gdGFwPFRWYWx1ZT4oe1xuICAgICAgICBuZXh0OiAodmFsdWU6IFRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGNsZWFudXBGbiAmJiBmaXJzdFJ1bikge1xuICAgICAgICAgICAgICAgIGNsZWFudXBGbih7IHByZXYsIGNvbXBsZXRlOiBmYWxzZSwgZXJyb3I6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjbGVhblVwT3JWb2lkID0gZWZmZWN0Rm4odmFsdWUpO1xuICAgICAgICAgICAgaWYgKGNsZWFuVXBPclZvaWQpIHtcbiAgICAgICAgICAgICAgICBjbGVhbnVwRm4gPSBjbGVhblVwT3JWb2lkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcmV2ID0gdmFsdWU7XG5cbiAgICAgICAgICAgIGlmICghZmlyc3RSdW4pIHtcbiAgICAgICAgICAgICAgICBmaXJzdFJ1biA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBsZXRlOiB0ZWFyZG93bihmYWxzZSksXG4gICAgICAgIHVuc3Vic2NyaWJlOiB0ZWFyZG93bihmYWxzZSksXG4gICAgICAgIGVycm9yOiB0ZWFyZG93bih0cnVlKSxcbiAgICB9KTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5ndFJ4U3RvcmU8VFN0YXRlIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBUUnhTdGF0ZSBleHRlbmRzIG9iamVjdCA9IFRTdGF0ZSAmIFJlY29yZDxzdHJpbmcsIGFueT4+XG4gICAgZXh0ZW5kcyBSeFN0YXRlPFRSeFN0YXRlPlxuICAgIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIC8vIHNldCBhIGR1bW15IHByb3BlcnR5IHNvIHRoYXQgaW5pdGlhbCB0aGlzLmdldCgpIHdvbid0IHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgdGhpcy5zZXQoeyBfX25ndF9kdW1teV9fOiAnX19uZ3RfZHVtbXlfXycgfSBhcyBUUnhTdGF0ZSk7XG4gICAgICAgIC8vIGNhbGwgaW5pdGlhbGl6ZSB0aGF0IG1pZ2h0IGJlIHNldHVwIGJ5IGRlcml2ZWQgU3RvcmVzXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAvLyBvdmVycmlkZSBzZXQgc28gb3VyIGNvbnN1bWVycyBkb24ndCBoYXZlIHRvIGhhbmRsZSB1bmRlZmluZWQgZm9yIHN0YXRlIHRoYXQgYWxyZWFkeSBoYXZlIGRlZmF1bHQgdmFsdWVzXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsU2V0ID0gdGhpcy5zZXQuYmluZCh0aGlzKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzZXQnLCB7XG4gICAgICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBQYXJhbWV0ZXJzIHR5cGUgZG9lcyBub3QgZG8gd2VsbCB3aXRoIG92ZXJsb2FkcyAoUnhTdGF0ZSNzZXQpLiBTbyB3ZSB1c2UgYW55W10gaGVyZVxuICAgICAgICAgICAgICAgIHJldHVybiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RBcmcgPSBhcmdzWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXMub2JqKGZpcnN0QXJnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kQXJncyA9IE9iamVjdC5lbnRyaWVzKGZpcnN0QXJnKS5yZWR1Y2UoKG1vZGRlZCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZGVkW2tleV0gPSB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5nZXQoa2V5IGFzIGtleW9mIFRSeFN0YXRlKSA6IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtb2RkZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB7fSBhcyBOZ3RBbnlSZWNvcmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsU2V0KG1vZEFyZ3MgYXMgUGFydGlhbDxUUnhTdGF0ZT4pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igbm90IHN1cmUgd2h5IC4uLmFyZ3MgaGVyZSBkb2Vzbid0IHBhc3MgdHVwbGUgY2hlY2tcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsU2V0KC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVmZmVjdDxTPihvYnM6IE9ic2VydmFibGU8Uz4sIHNpZGVFZmZlY3RGbjogRWZmZWN0Rm48Uz4pOiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9sZChvYnMucGlwZSh0YXBFZmZlY3Qoc2lkZUVmZmVjdEZuKSkpO1xuICAgIH1cblxuICAgIHRyaWdnZXJDaGFuZ2VEZXRlY3Rpb24oY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwga2V5czogQXJyYXk8a2V5b2YgVFJ4U3RhdGU+ID0gW10pIHtcbiAgICAgICAgbGV0ICQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuJDtcblxuICAgICAgICBpZiAoa2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICQgPSBjb21iaW5lTGF0ZXN0KGtleXMubWFwKChrZXkpID0+IHRoaXMuc2VsZWN0KGtleSkucGlwZShzdGFydFdpdGgodGhpcy5nZXQoa2V5KSA/PyB1bmRlZmluZWQpKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ob2xkKCQsICgpID0+IHtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB2b2lkIGNkci5kZXRlY3RDaGFuZ2VzKCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBPYnNlcnZhYmxlPGFueT4+ID0ge307XG4gICAga2V5JDxLIGV4dGVuZHMga2V5b2YgVFJ4U3RhdGU+KGtleTogSyk6IE9ic2VydmFibGU8VFJ4U3RhdGVbS10+O1xuICAgIGtleSQ8SzEgZXh0ZW5kcyBrZXlvZiBUUnhTdGF0ZSwgSzIgZXh0ZW5kcyBrZXlvZiBUUnhTdGF0ZVtLMV0+KGtleTE6IEsxLCBrZXkyOiBLMik6IE9ic2VydmFibGU8VFJ4U3RhdGVbSzFdW0syXT47XG4gICAga2V5JDxLMSBleHRlbmRzIGtleW9mIFRSeFN0YXRlLCBLMiBleHRlbmRzIGtleW9mIFRSeFN0YXRlW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUUnhTdGF0ZVtLMV1bSzJdPihcbiAgICAgICAga2V5MTogSzEsXG4gICAgICAgIGtleTI6IEsyLFxuICAgICAgICBrZXkzOiBLM1xuICAgICk6IE9ic2VydmFibGU8VFJ4U3RhdGVbSzFdW0syXVtLM10+O1xuICAgIGtleSQoLi4ua2V5czogc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3Qga2V5ID0ga2V5cy5qb2luKCcuJyk7XG4gICAgICAgIGlmICghdGhpcy5jYWNoZVtrZXldKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlW2tleV0gPSB0aGlzLnNlbGVjdCguLi4oa2V5cyBhcyBbYW55XSkpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZ2V0KC4uLihrZXlzIGFzIFthbnldKSkgPz8gdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlW2tleV07XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSB7fTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef,
|
|
2
|
+
import { ElementRef, Injectable, inject, InjectionToken, ViewContainerRef, TemplateRef, Directive, Input, EventEmitter, getDebugNode, RendererFactory2, ChangeDetectorRef, makeEnvironmentProviders, EnvironmentInjector, createEnvironmentInjector, Component, HostBinding, Output, ViewChild, Injector, Pipe, SkipSelf, ContentChild } from '@angular/core';
|
|
3
3
|
import { provideNgxResizeOptions, NgxResize } from 'ngx-resize';
|
|
4
|
-
import { isObservable, of, map, from, tap, retry, catchError, share, ReplaySubject, switchMap, forkJoin, take, BehaviorSubject, startWith, combineLatest,
|
|
4
|
+
import { isObservable, of, map, from, tap, retry, catchError, share, ReplaySubject, switchMap, forkJoin, take, BehaviorSubject, startWith, combineLatest, distinctUntilChanged, filter, takeUntil, merge } from 'rxjs';
|
|
5
5
|
import * as THREE from 'three';
|
|
6
6
|
import { __rest, __classPrivateFieldGet } from 'tslib';
|
|
7
7
|
import { DOCUMENT, NgForOf, NgIf } from '@angular/common';
|
|
@@ -446,19 +446,6 @@ function applyProps(instance, props) {
|
|
|
446
446
|
return instance;
|
|
447
447
|
}
|
|
448
448
|
|
|
449
|
-
function safeDetectChanges(cdr) {
|
|
450
|
-
if (!cdr)
|
|
451
|
-
return;
|
|
452
|
-
try {
|
|
453
|
-
if (cdr['context']) {
|
|
454
|
-
cdr.detectChanges();
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
catch (e) {
|
|
458
|
-
cdr.markForCheck();
|
|
459
|
-
}
|
|
460
|
-
}
|
|
461
|
-
|
|
462
449
|
const startWithUndefined = () => startWith(undefined);
|
|
463
450
|
/**
|
|
464
451
|
* An extended `tap` operator that accepts an `effectFn` which:
|
|
@@ -516,7 +503,7 @@ function tapEffect(effectFn) {
|
|
|
516
503
|
class NgtRxStore extends RxState {
|
|
517
504
|
constructor() {
|
|
518
505
|
super();
|
|
519
|
-
|
|
506
|
+
this.cache = {};
|
|
520
507
|
// set a dummy property so that initial this.get() won't return undefined
|
|
521
508
|
this.set({ __ngt_dummy__: '__ngt_dummy__' });
|
|
522
509
|
// call initialize that might be setup by derived Stores
|
|
@@ -533,14 +520,10 @@ class NgtRxStore extends RxState {
|
|
|
533
520
|
modded[key] = value === undefined ? this.get(key) : value;
|
|
534
521
|
return modded;
|
|
535
522
|
}, {});
|
|
536
|
-
|
|
537
|
-
safeDetectChanges(cdr);
|
|
538
|
-
return value;
|
|
523
|
+
return originalSet(modArgs);
|
|
539
524
|
}
|
|
540
525
|
// @ts-expect-error not sure why ...args here doesn't pass tuple check
|
|
541
|
-
|
|
542
|
-
safeDetectChanges(cdr);
|
|
543
|
-
return value;
|
|
526
|
+
return originalSet(...args);
|
|
544
527
|
};
|
|
545
528
|
},
|
|
546
529
|
});
|
|
@@ -560,6 +543,18 @@ class NgtRxStore extends RxState {
|
|
|
560
543
|
requestAnimationFrame(() => void cdr.detectChanges());
|
|
561
544
|
});
|
|
562
545
|
}
|
|
546
|
+
key$(...keys) {
|
|
547
|
+
var _a;
|
|
548
|
+
const key = keys.join('.');
|
|
549
|
+
if (!this.cache[key]) {
|
|
550
|
+
this.cache[key] = this.select(...keys).pipe(startWith((_a = this.get(...keys)) !== null && _a !== void 0 ? _a : undefined), distinctUntilChanged());
|
|
551
|
+
}
|
|
552
|
+
return this.cache[key];
|
|
553
|
+
}
|
|
554
|
+
ngOnDestroy() {
|
|
555
|
+
this.cache = {};
|
|
556
|
+
super.ngOnDestroy();
|
|
557
|
+
}
|
|
563
558
|
}
|
|
564
559
|
NgtRxStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtRxStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
565
560
|
NgtRxStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtRxStore });
|
|
@@ -2581,6 +2576,19 @@ function injectBeforeRender(cb, priority = 0) {
|
|
|
2581
2576
|
}
|
|
2582
2577
|
}
|
|
2583
2578
|
|
|
2579
|
+
function safeDetectChanges(cdr) {
|
|
2580
|
+
if (!cdr)
|
|
2581
|
+
return;
|
|
2582
|
+
try {
|
|
2583
|
+
if (cdr['context']) {
|
|
2584
|
+
cdr.detectChanges();
|
|
2585
|
+
}
|
|
2586
|
+
}
|
|
2587
|
+
catch (e) {
|
|
2588
|
+
cdr.markForCheck();
|
|
2589
|
+
}
|
|
2590
|
+
}
|
|
2591
|
+
|
|
2584
2592
|
function injectNgtRef(initialValue = null) {
|
|
2585
2593
|
const ref = is.ref(initialValue) ? initialValue : new ElementRef(initialValue);
|
|
2586
2594
|
let lastValue = ref.nativeElement;
|