angular-three 2.0.0-beta.37 → 2.0.0-beta.39
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/ref.mjs +13 -13
- package/fesm2022/angular-three.mjs +12 -12
- package/fesm2022/angular-three.mjs.map +1 -1
- package/lib/loop.d.ts +5 -1
- package/lib/renderer/catalogue.d.ts +5 -1
- package/lib/store.d.ts +5 -1
- package/package.json +11 -11
- package/plugin/package.json +11 -11
package/esm2022/lib/ref.mjs
CHANGED
|
@@ -5,15 +5,15 @@ import { is } from './utils/is';
|
|
|
5
5
|
export function injectNgtRef(initial = null, injector) {
|
|
6
6
|
injector = assertInjector(injectNgtRef, injector);
|
|
7
7
|
const ref = is.ref(initial) ? initial : new ElementRef(initial);
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
8
|
+
const refSignal = signal(ref.nativeElement);
|
|
9
|
+
const readonlyRef = refSignal.asReadonly();
|
|
10
|
+
const computedCached = new Map();
|
|
11
11
|
return runInInjectionContext(injector, () => {
|
|
12
|
-
inject(DestroyRef).onDestroy(() => void
|
|
12
|
+
inject(DestroyRef).onDestroy(() => void computedCached.clear());
|
|
13
13
|
const children = (type = 'objects') => {
|
|
14
|
-
if (!
|
|
15
|
-
|
|
16
|
-
const instance =
|
|
14
|
+
if (!computedCached.has(type)) {
|
|
15
|
+
computedCached.set(type, computed(() => {
|
|
16
|
+
const instance = readonlyRef();
|
|
17
17
|
if (!instance)
|
|
18
18
|
return [];
|
|
19
19
|
const localState = getLocalState(instance);
|
|
@@ -26,23 +26,23 @@ export function injectNgtRef(initial = null, injector) {
|
|
|
26
26
|
return [...localState.objects(), ...localState.nonObjects()];
|
|
27
27
|
}));
|
|
28
28
|
}
|
|
29
|
-
return
|
|
29
|
+
return computedCached.get(type);
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperties(ref, {
|
|
32
32
|
nativeElement: {
|
|
33
33
|
set: (newElement) => {
|
|
34
34
|
untracked(() => {
|
|
35
|
-
if (newElement !==
|
|
36
|
-
|
|
35
|
+
if (newElement !== refSignal()) {
|
|
36
|
+
refSignal.set(newElement);
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
39
|
},
|
|
40
|
-
get:
|
|
40
|
+
get: readonlyRef,
|
|
41
41
|
},
|
|
42
|
-
untracked: { get: () => untracked(
|
|
42
|
+
untracked: { get: () => untracked(readonlyRef) },
|
|
43
43
|
children: { get: () => children },
|
|
44
44
|
});
|
|
45
45
|
return ref;
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixVQUFVLEVBQ1YsVUFBVSxFQUNWLFFBQVEsRUFDUixNQUFNLEVBQ04scUJBQXFCLEVBQ3JCLE1BQU0sRUFDTixTQUFTLEdBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQXdCLE1BQU0sWUFBWSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFXaEMsTUFBTSxVQUFVLFlBQVksQ0FDM0IsVUFBMkMsSUFBSyxFQUNoRCxRQUFtQjtJQUVuQixRQUFRLEdBQUcsY0FBYyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE9BQW1CLENBQUMsQ0FBQztJQUM1RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzQyxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWpDLE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUMzQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFaEUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUEwQyxTQUFTLEVBQUUsRUFBRTtZQUN4RSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDOUIsY0FBYyxDQUFDLEdBQUcsQ0FDakIsSUFBSSxFQUNKLFFBQVEsQ0FBQyxHQUFHLEVBQUU7b0JBQ2IsTUFBTSxRQUFRLEdBQUcsV0FBVyxFQUFFLENBQUM7b0JBQy9CLElBQUksQ0FBQyxRQUFRO3dCQUFFLE9BQU8sRUFBRSxDQUFDO29CQUN6QixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7d0JBQUUsT0FBTyxFQUFFLENBQUM7b0JBQzdELElBQUksSUFBSSxLQUFLLFNBQVM7d0JBQUUsT0FBTyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3BELElBQUksSUFBSSxLQUFLLFlBQVk7d0JBQUUsT0FBTyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQzFELE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RCxDQUFDLENBQUMsQ0FDRixDQUFDO2FBQ0Y7WUFDRCxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtZQUM1QixhQUFhLEVBQUU7Z0JBQ2QsR0FBRyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQ25CLFNBQVMsQ0FBQyxHQUFHLEVBQUU7d0JBQ2QsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLEVBQUU7NEJBQy9CLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7eUJBQzFCO29CQUNGLENBQUMsQ0FBQyxDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsR0FBRyxFQUFFLFdBQVc7YUFDaEI7WUFDRCxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hELFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7U0FDakMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUErQixDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdERlc3Ryb3lSZWYsXG5cdEVsZW1lbnRSZWYsXG5cdGNvbXB1dGVkLFxuXHRpbmplY3QsXG5cdHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcblx0c2lnbmFsLFxuXHR1bnRyYWNrZWQsXG5cdHR5cGUgSW5qZWN0b3IsXG5cdHR5cGUgU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydEluamVjdG9yIH0gZnJvbSAnbmd4dGVuc2lvbi9hc3NlcnQtaW5qZWN0b3InO1xuaW1wb3J0IHsgZ2V0TG9jYWxTdGF0ZSwgdHlwZSBOZ3RJbnN0YW5jZU5vZGUgfSBmcm9tICcuL2luc3RhbmNlJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi91dGlscy9pcyc7XG5cbmV4cG9ydCB0eXBlIE5ndEluamVjdGVkUmVmPFRFbGVtZW50PiA9IEVsZW1lbnRSZWY8VEVsZW1lbnQ+ICYge1xuXHQvKiBjb25zdW1lcnMgc2hvdWxkIHVzZSB0aGlzIGZvciBsaXN0ZW50aW5nIHRvIGNoaWxkcmVuIGNoYW5nZXMgb24gdGhpcyByZWYgKi9cblx0Y2hpbGRyZW46ICh0eXBlPzogJ29iamVjdHMnIHwgJ25vbk9iamVjdHMnIHwgJ2JvdGgnKSA9PiBTaWduYWw8Tmd0SW5zdGFuY2VOb2RlW10+O1xuXHQvKiBjb25zdW1lcnMgc2hvdWxkIHVzZSB0aGlzIHRvIHJlYWQgdGhlIHJlZiBjdXJyZW50IHZhbHVlIHdpdGhvdXQgcmVnaXN0ZXJpbmcgdGhlIHNpZ25hbCAqL1xuXHR1bnRyYWNrZWQ6IFRFbGVtZW50O1xufTtcblxuZXhwb3J0IHR5cGUgTmd0UmVmPFRFbGVtZW50PiA9IFRFbGVtZW50IHwgTmd0SW5qZWN0ZWRSZWY8VEVsZW1lbnQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0UmVmPFRFbGVtZW50Pihcblx0aW5pdGlhbDogRWxlbWVudFJlZjxURWxlbWVudD4gfCBURWxlbWVudCA9IG51bGwhLFxuXHRpbmplY3Rvcj86IEluamVjdG9yLFxuKTogTmd0SW5qZWN0ZWRSZWY8VEVsZW1lbnQ+IHtcblx0aW5qZWN0b3IgPSBhc3NlcnRJbmplY3RvcihpbmplY3ROZ3RSZWYsIGluamVjdG9yKTtcblx0Y29uc3QgcmVmID0gaXMucmVmKGluaXRpYWwpID8gaW5pdGlhbCA6IG5ldyBFbGVtZW50UmVmKGluaXRpYWwgYXMgVEVsZW1lbnQpO1xuXHRjb25zdCByZWZTaWduYWwgPSBzaWduYWwocmVmLm5hdGl2ZUVsZW1lbnQpO1xuXHRjb25zdCByZWFkb25seVJlZiA9IHJlZlNpZ25hbC5hc1JlYWRvbmx5KCk7XG5cdGNvbnN0IGNvbXB1dGVkQ2FjaGVkID0gbmV3IE1hcCgpO1xuXG5cdHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHZvaWQgY29tcHV0ZWRDYWNoZWQuY2xlYXIoKSk7XG5cblx0XHRjb25zdCBjaGlsZHJlbiA9ICh0eXBlOiAnb2JqZWN0cycgfCAnbm9uT2JqZWN0cycgfCAnYm90aCcgPSAnb2JqZWN0cycpID0+IHtcblx0XHRcdGlmICghY29tcHV0ZWRDYWNoZWQuaGFzKHR5cGUpKSB7XG5cdFx0XHRcdGNvbXB1dGVkQ2FjaGVkLnNldChcblx0XHRcdFx0XHR0eXBlLFxuXHRcdFx0XHRcdGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IGluc3RhbmNlID0gcmVhZG9ubHlSZWYoKTtcblx0XHRcdFx0XHRcdGlmICghaW5zdGFuY2UpIHJldHVybiBbXTtcblx0XHRcdFx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGluc3RhbmNlKTtcblx0XHRcdFx0XHRcdGlmICghbG9jYWxTdGF0ZS5vYmplY3RzIHx8ICFsb2NhbFN0YXRlLm5vbk9iamVjdHMpIHJldHVybiBbXTtcblx0XHRcdFx0XHRcdGlmICh0eXBlID09PSAnb2JqZWN0cycpIHJldHVybiBsb2NhbFN0YXRlLm9iamVjdHMoKTtcblx0XHRcdFx0XHRcdGlmICh0eXBlID09PSAnbm9uT2JqZWN0cycpIHJldHVybiBsb2NhbFN0YXRlLm5vbk9iamVjdHMoKTtcblx0XHRcdFx0XHRcdHJldHVybiBbLi4ubG9jYWxTdGF0ZS5vYmplY3RzKCksIC4uLmxvY2FsU3RhdGUubm9uT2JqZWN0cygpXTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBjb21wdXRlZENhY2hlZC5nZXQodHlwZSkhO1xuXHRcdH07XG5cblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydGllcyhyZWYsIHtcblx0XHRcdG5hdGl2ZUVsZW1lbnQ6IHtcblx0XHRcdFx0c2V0OiAobmV3RWxlbWVudCkgPT4ge1xuXHRcdFx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAobmV3RWxlbWVudCAhPT0gcmVmU2lnbmFsKCkpIHtcblx0XHRcdFx0XHRcdFx0cmVmU2lnbmFsLnNldChuZXdFbGVtZW50KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSxcblx0XHRcdFx0Z2V0OiByZWFkb25seVJlZixcblx0XHRcdH0sXG5cdFx0XHR1bnRyYWNrZWQ6IHsgZ2V0OiAoKSA9PiB1bnRyYWNrZWQocmVhZG9ubHlSZWYpIH0sXG5cdFx0XHRjaGlsZHJlbjogeyBnZXQ6ICgpID0+IGNoaWxkcmVuIH0sXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gcmVmIGFzIE5ndEluamVjdGVkUmVmPFRFbGVtZW50Pjtcblx0fSk7XG59XG4iXX0=
|
|
@@ -2935,15 +2935,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
2935
2935
|
function injectNgtRef(initial = null, injector) {
|
|
2936
2936
|
injector = assertInjector(injectNgtRef, injector);
|
|
2937
2937
|
const ref = is.ref(initial) ? initial : new ElementRef(initial);
|
|
2938
|
-
const
|
|
2939
|
-
const
|
|
2940
|
-
const
|
|
2938
|
+
const refSignal = signal(ref.nativeElement);
|
|
2939
|
+
const readonlyRef = refSignal.asReadonly();
|
|
2940
|
+
const computedCached = new Map();
|
|
2941
2941
|
return runInInjectionContext(injector, () => {
|
|
2942
|
-
inject(DestroyRef).onDestroy(() => void
|
|
2942
|
+
inject(DestroyRef).onDestroy(() => void computedCached.clear());
|
|
2943
2943
|
const children = (type = 'objects') => {
|
|
2944
|
-
if (!
|
|
2945
|
-
|
|
2946
|
-
const instance =
|
|
2944
|
+
if (!computedCached.has(type)) {
|
|
2945
|
+
computedCached.set(type, computed(() => {
|
|
2946
|
+
const instance = readonlyRef();
|
|
2947
2947
|
if (!instance)
|
|
2948
2948
|
return [];
|
|
2949
2949
|
const localState = getLocalState(instance);
|
|
@@ -2956,20 +2956,20 @@ function injectNgtRef(initial = null, injector) {
|
|
|
2956
2956
|
return [...localState.objects(), ...localState.nonObjects()];
|
|
2957
2957
|
}));
|
|
2958
2958
|
}
|
|
2959
|
-
return
|
|
2959
|
+
return computedCached.get(type);
|
|
2960
2960
|
};
|
|
2961
2961
|
Object.defineProperties(ref, {
|
|
2962
2962
|
nativeElement: {
|
|
2963
2963
|
set: (newElement) => {
|
|
2964
2964
|
untracked(() => {
|
|
2965
|
-
if (newElement !==
|
|
2966
|
-
|
|
2965
|
+
if (newElement !== refSignal()) {
|
|
2966
|
+
refSignal.set(newElement);
|
|
2967
2967
|
}
|
|
2968
2968
|
});
|
|
2969
2969
|
},
|
|
2970
|
-
get:
|
|
2970
|
+
get: readonlyRef,
|
|
2971
2971
|
},
|
|
2972
|
-
untracked: { get: () => untracked(
|
|
2972
|
+
untracked: { get: () => untracked(readonlyRef) },
|
|
2973
2973
|
children: { get: () => children },
|
|
2974
2974
|
});
|
|
2975
2975
|
return ref;
|