angular-three 2.0.0-beta.25 → 2.0.0-beta.251
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/index.mjs +5 -12
- package/esm2022/lib/canvas.mjs +124 -196
- package/esm2022/lib/directives/args.mjs +46 -20
- package/esm2022/lib/dom/events.mjs +2 -2
- package/esm2022/lib/events.mjs +33 -31
- package/esm2022/lib/instance.mjs +43 -36
- package/esm2022/lib/loader.mjs +50 -32
- package/esm2022/lib/loop.mjs +28 -25
- package/esm2022/lib/portal.mjs +173 -193
- package/esm2022/lib/renderer/catalogue.mjs +3 -3
- package/esm2022/lib/renderer/constants.mjs +5 -6
- package/esm2022/lib/renderer/index.mjs +345 -231
- package/esm2022/lib/renderer/state.mjs +49 -0
- package/esm2022/lib/renderer/utils.mjs +76 -87
- package/esm2022/lib/roots.mjs +87 -76
- package/esm2022/lib/routed-scene.mjs +6 -7
- package/esm2022/lib/store.mjs +170 -194
- package/esm2022/lib/three-types.mjs +2 -2
- package/esm2022/lib/utils/apply-props.mjs +24 -28
- package/esm2022/lib/utils/attach.mjs +6 -6
- package/esm2022/lib/utils/before-render.mjs +23 -0
- package/esm2022/lib/utils/create-api-token.mjs +13 -0
- package/esm2022/lib/utils/is.mjs +6 -5
- package/esm2022/lib/utils/make.mjs +19 -17
- package/esm2022/lib/utils/parameters.mjs +61 -0
- package/esm2022/lib/utils/resolve-ref.mjs +8 -0
- package/esm2022/lib/utils/signal-store.mjs +59 -60
- package/esm2022/lib/utils/update.mjs +6 -2
- package/fesm2022/angular-three.mjs +2254 -2683
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +7 -11
- package/lib/canvas.d.ts +398 -53
- package/lib/directives/args.d.ts +13 -6
- package/lib/dom/events.d.ts +3 -3
- package/lib/events.d.ts +15 -15
- package/lib/instance.d.ts +25 -20
- package/lib/loader.d.ts +17 -7
- package/lib/loop.d.ts +9 -56
- package/lib/portal.d.ts +55 -48
- package/lib/renderer/catalogue.d.ts +6 -2
- package/lib/renderer/constants.d.ts +4 -5
- package/lib/renderer/index.d.ts +65 -4
- package/lib/renderer/state.d.ts +23 -0
- package/lib/renderer/utils.d.ts +8 -26
- package/lib/roots.d.ts +12 -6
- package/lib/store.d.ts +30 -32
- package/lib/three-types.d.ts +142 -145
- package/lib/utils/apply-props.d.ts +2 -3
- package/lib/utils/attach.d.ts +4 -4
- package/lib/utils/before-render.d.ts +10 -0
- package/lib/utils/create-api-token.d.ts +23 -0
- package/lib/utils/is.d.ts +13 -13
- package/lib/utils/make.d.ts +10 -9
- package/lib/utils/parameters.d.ts +15 -0
- package/lib/utils/resolve-ref.d.ts +2 -0
- package/lib/utils/signal-store.d.ts +13 -4
- package/lib/utils/update.d.ts +1 -1
- package/metadata.json +1 -1
- package/package.json +30 -11
- package/web-types.json +1 -1
- package/esm2022/lib/before-render.mjs +0 -13
- package/esm2022/lib/directives/common.mjs +0 -41
- package/esm2022/lib/directives/key.mjs +0 -29
- package/esm2022/lib/directives/parent.mjs +0 -35
- package/esm2022/lib/directives/repeat.mjs +0 -17
- package/esm2022/lib/ref.mjs +0 -48
- package/esm2022/lib/renderer/store.mjs +0 -408
- package/esm2022/lib/utils/assert-injection-context.mjs +0 -14
- package/esm2022/lib/utils/create-injection-token.mjs +0 -47
- package/esm2022/lib/utils/safe-detect-changes.mjs +0 -17
- package/lib/before-render.d.ts +0 -6
- package/lib/directives/common.d.ts +0 -15
- package/lib/directives/key.d.ts +0 -10
- package/lib/directives/parent.d.ts +0 -11
- package/lib/directives/repeat.d.ts +0 -7
- package/lib/ref.d.ts +0 -8
- package/lib/renderer/store.d.ts +0 -67
- package/lib/utils/assert-injection-context.d.ts +0 -2
- package/lib/utils/create-injection-token.d.ts +0 -27
- package/lib/utils/safe-detect-changes.d.ts +0 -2
- package/plugin/README.md +0 -11
- package/plugin/generators.json +0 -49
- package/plugin/package.json +0 -6
- package/plugin/src/generators/init/compat.d.ts +0 -4
- package/plugin/src/generators/init/compat.js +0 -6
- package/plugin/src/generators/init/compat.js.map +0 -1
- package/plugin/src/generators/init/files/experience/experience.component.html__tmpl__ +0 -4
- package/plugin/src/generators/init/files/experience/experience.component.ts__tmpl__ +0 -18
- package/plugin/src/generators/init/generator.d.ts +0 -6
- package/plugin/src/generators/init/generator.js +0 -155
- package/plugin/src/generators/init/generator.js.map +0 -1
- package/plugin/src/generators/init/schema.json +0 -17
- package/plugin/src/generators/init-cannon/compat.d.ts +0 -2
- package/plugin/src/generators/init-cannon/compat.js +0 -6
- package/plugin/src/generators/init-cannon/compat.js.map +0 -1
- package/plugin/src/generators/init-cannon/generator.d.ts +0 -2
- package/plugin/src/generators/init-cannon/generator.js +0 -22
- package/plugin/src/generators/init-cannon/generator.js.map +0 -1
- package/plugin/src/generators/init-cannon/schema.json +0 -6
- package/plugin/src/generators/init-postprocessing/compat.d.ts +0 -2
- package/plugin/src/generators/init-postprocessing/compat.js +0 -6
- package/plugin/src/generators/init-postprocessing/compat.js.map +0 -1
- package/plugin/src/generators/init-postprocessing/generator.d.ts +0 -2
- package/plugin/src/generators/init-postprocessing/generator.js +0 -20
- package/plugin/src/generators/init-postprocessing/generator.js.map +0 -1
- package/plugin/src/generators/init-postprocessing/schema.json +0 -6
- package/plugin/src/generators/init-soba/compat.d.ts +0 -2
- package/plugin/src/generators/init-soba/compat.js +0 -6
- package/plugin/src/generators/init-soba/compat.js.map +0 -1
- package/plugin/src/generators/init-soba/generator.d.ts +0 -2
- package/plugin/src/generators/init-soba/generator.js +0 -26
- package/plugin/src/generators/init-soba/generator.js.map +0 -1
- package/plugin/src/generators/init-soba/schema.json +0 -6
- package/plugin/src/generators/utils.d.ts +0 -2
- package/plugin/src/generators/utils.js +0 -34
- package/plugin/src/generators/utils.js.map +0 -1
- package/plugin/src/generators/versions.d.ts +0 -12
- package/plugin/src/generators/versions.js +0 -16
- package/plugin/src/generators/versions.js.map +0 -1
- package/plugin/src/index.d.ts +0 -3
- package/plugin/src/index.js +0 -10
- package/plugin/src/index.js.map +0 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { computed } from '@angular/core';
|
|
2
|
+
import { Vector2, Vector3 } from 'three';
|
|
3
|
+
export function omit(objFn, keysToOmit) {
|
|
4
|
+
return computed(() => {
|
|
5
|
+
const obj = objFn();
|
|
6
|
+
const result = {};
|
|
7
|
+
for (const key of Object.keys(obj)) {
|
|
8
|
+
if (keysToOmit.includes(key))
|
|
9
|
+
continue;
|
|
10
|
+
Object.assign(result, { [key]: obj[key] });
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export function pick(objFn, keyOrKeys) {
|
|
16
|
+
if (Array.isArray(keyOrKeys)) {
|
|
17
|
+
return computed(() => {
|
|
18
|
+
const obj = objFn();
|
|
19
|
+
const result = {};
|
|
20
|
+
for (const key of keyOrKeys) {
|
|
21
|
+
if (!(key in obj))
|
|
22
|
+
continue;
|
|
23
|
+
Object.assign(result, { [key]: obj[key] });
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return computed(() => objFn()[keyOrKeys]);
|
|
29
|
+
}
|
|
30
|
+
export function merge(objFn, toMerge, mode = 'override') {
|
|
31
|
+
if (mode === 'override')
|
|
32
|
+
return computed(() => ({ ...objFn(), ...toMerge }));
|
|
33
|
+
return computed(() => ({ ...toMerge, ...objFn() }));
|
|
34
|
+
}
|
|
35
|
+
export function vector2(options, key, keepUndefined = false) {
|
|
36
|
+
return computed(() => {
|
|
37
|
+
const value = options()[key];
|
|
38
|
+
if (keepUndefined && value == undefined)
|
|
39
|
+
return undefined;
|
|
40
|
+
if (typeof value === 'number')
|
|
41
|
+
return new Vector2(value, value);
|
|
42
|
+
else if (value)
|
|
43
|
+
return new Vector2(...value);
|
|
44
|
+
else
|
|
45
|
+
return new Vector2();
|
|
46
|
+
}, { equal: (a, b) => !!a && !!b && a.equals(b) });
|
|
47
|
+
}
|
|
48
|
+
export function vector3(options, key, keepUndefined = false) {
|
|
49
|
+
return computed(() => {
|
|
50
|
+
const value = options()[key];
|
|
51
|
+
if (keepUndefined && value == undefined)
|
|
52
|
+
return undefined;
|
|
53
|
+
if (typeof value === 'number')
|
|
54
|
+
return new Vector3(value, value, value);
|
|
55
|
+
else if (value)
|
|
56
|
+
return new Vector3(...value);
|
|
57
|
+
else
|
|
58
|
+
return new Vector3();
|
|
59
|
+
}, { equal: (a, b) => !!a && !!b && a.equals(b) });
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3BhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFnQixPQUFPLEVBQWdCLE1BQU0sT0FBTyxDQUFDO0FBZXJFLE1BQU0sVUFBVSxJQUFJLENBQUMsS0FBeUIsRUFBRSxVQUFvQjtJQUNuRSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDcEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsRUFBa0IsQ0FBQztRQUVsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUFFLFNBQVM7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBVUQsTUFBTSxVQUFVLElBQUksQ0FBQyxLQUF5QixFQUFFLFNBQTRCO0lBQzNFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUNwQixNQUFNLE1BQU0sR0FBRyxFQUFrQixDQUFDO1lBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUM7b0JBQUUsU0FBUztnQkFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FDcEIsS0FBb0IsRUFDcEIsT0FBeUIsRUFDekIsT0FBZ0MsVUFBVTtJQUUxQyxJQUFJLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQVdELE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBNkIsRUFBRSxHQUFXLEVBQUUsYUFBYSxHQUFHLEtBQUs7SUFDeEYsT0FBTyxRQUFRLENBQ2QsR0FBRyxFQUFFO1FBQ0osTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxhQUFhLElBQUksS0FBSyxJQUFJLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMxRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMzRCxJQUFJLEtBQUs7WUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUksS0FBc0IsQ0FBQyxDQUFDOztZQUMxRCxPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxFQUNELEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDOUMsQ0FBQztBQUNILENBQUM7QUFVRCxNQUFNLFVBQVUsT0FBTyxDQUFDLE9BQTZCLEVBQUUsR0FBVyxFQUFFLGFBQWEsR0FBRyxLQUFLO0lBQ3hGLE9BQU8sUUFBUSxDQUNkLEdBQUcsRUFBRTtRQUNKLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksYUFBYSxJQUFJLEtBQUssSUFBSSxTQUFTO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDMUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1lBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ2xFLElBQUksS0FBSztZQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBSSxLQUFzQixDQUFDLENBQUM7O1lBQzFELE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDLEVBQ0QsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM5QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlY3RvcjIsIFZlY3RvcjJUdXBsZSwgVmVjdG9yMywgVmVjdG9yM1R1cGxlIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0VmVjdG9yMiwgTmd0VmVjdG9yMyB9IGZyb20gJy4uL3RocmVlLXR5cGVzJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcblxudHlwZSBLZXlzT2ZUeXBlPFRPYmplY3QgZXh0ZW5kcyBvYmplY3QsIFRUeXBlPiA9IEV4Y2x1ZGU8XG5cdHtcblx0XHRbSyBpbiBrZXlvZiBUT2JqZWN0XTogVE9iamVjdFtLXSBleHRlbmRzIFRUeXBlIHwgdW5kZWZpbmVkIHwgbnVsbCA/IEsgOiBuZXZlcjtcblx0fVtrZXlvZiBUT2JqZWN0XSxcblx0dW5kZWZpbmVkXG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gb21pdDxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0LCBUS2V5cyBleHRlbmRzIChrZXlvZiBUT2JqZWN0KVtdPihcblx0b2JqRm46ICgpID0+IFRPYmplY3QsXG5cdGtleXNUb09taXQ6IFRLZXlzLFxuKTogU2lnbmFsPE9taXQ8VE9iamVjdCwgVEtleXNbbnVtYmVyXT4+O1xuZXhwb3J0IGZ1bmN0aW9uIG9taXQob2JqRm46ICgpID0+IE5ndEFueVJlY29yZCwga2V5c1RvT21pdDogc3RyaW5nW10pIHtcblx0cmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBvYmogPSBvYmpGbigpO1xuXHRcdGNvbnN0IHJlc3VsdCA9IHt9IGFzIE5ndEFueVJlY29yZDtcblxuXHRcdGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iaikpIHtcblx0XHRcdGlmIChrZXlzVG9PbWl0LmluY2x1ZGVzKGtleSkpIGNvbnRpbnVlO1xuXHRcdFx0T2JqZWN0LmFzc2lnbihyZXN1bHQsIHsgW2tleV06IG9ialtrZXldIH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGljazxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0LCBUS2V5IGV4dGVuZHMga2V5b2YgVE9iamVjdD4oXG5cdG9iakZuOiAoKSA9PiBUT2JqZWN0LFxuXHRrZXk6IFRLZXksXG4pOiBTaWduYWw8VE9iamVjdFtUS2V5XT47XG5leHBvcnQgZnVuY3Rpb24gcGljazxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0LCBUS2V5cyBleHRlbmRzIChrZXlvZiBUT2JqZWN0KVtdPihcblx0b2JqRm46ICgpID0+IFRPYmplY3QsXG5cdGtleXM6IFRLZXlzLFxuKTogU2lnbmFsPFBpY2s8VE9iamVjdCwgVEtleXNbbnVtYmVyXT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHBpY2sob2JqRm46ICgpID0+IE5ndEFueVJlY29yZCwga2V5T3JLZXlzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuXHRpZiAoQXJyYXkuaXNBcnJheShrZXlPcktleXMpKSB7XG5cdFx0cmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IG9iaiA9IG9iakZuKCk7XG5cdFx0XHRjb25zdCByZXN1bHQgPSB7fSBhcyBOZ3RBbnlSZWNvcmQ7XG5cdFx0XHRmb3IgKGNvbnN0IGtleSBvZiBrZXlPcktleXMpIHtcblx0XHRcdFx0aWYgKCEoa2V5IGluIG9iaikpIGNvbnRpbnVlO1xuXHRcdFx0XHRPYmplY3QuYXNzaWduKHJlc3VsdCwgeyBba2V5XTogb2JqW2tleV0gfSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0pO1xuXHR9XG5cblx0cmV0dXJuIGNvbXB1dGVkKCgpID0+IG9iakZuKClba2V5T3JLZXlzXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZTxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0Pihcblx0b2JqRm46ICgpID0+IFRPYmplY3QsXG5cdHRvTWVyZ2U6IFBhcnRpYWw8VE9iamVjdD4sXG5cdG1vZGU6ICdvdmVycmlkZScgfCAnYmFja2ZpbGwnID0gJ292ZXJyaWRlJyxcbikge1xuXHRpZiAobW9kZSA9PT0gJ292ZXJyaWRlJykgcmV0dXJuIGNvbXB1dGVkKCgpID0+ICh7IC4uLm9iakZuKCksIC4uLnRvTWVyZ2UgfSkpO1xuXHRyZXR1cm4gY29tcHV0ZWQoKCkgPT4gKHsgLi4udG9NZXJnZSwgLi4ub2JqRm4oKSB9KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IyPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IyPixcbik6IFNpZ25hbDxWZWN0b3IyPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IyPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IyPixcblx0a2VlcFVuZGVmaW5lZDogdHJ1ZSxcbik6IFNpZ25hbDxWZWN0b3IyIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IyKG9wdGlvbnM6IFNpZ25hbDxOZ3RBbnlSZWNvcmQ+LCBrZXk6IHN0cmluZywga2VlcFVuZGVmaW5lZCA9IGZhbHNlKSB7XG5cdHJldHVybiBjb21wdXRlZChcblx0XHQoKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IG9wdGlvbnMoKVtrZXldO1xuXHRcdFx0aWYgKGtlZXBVbmRlZmluZWQgJiYgdmFsdWUgPT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHJldHVybiBuZXcgVmVjdG9yMih2YWx1ZSwgdmFsdWUpO1xuXHRcdFx0ZWxzZSBpZiAodmFsdWUpIHJldHVybiBuZXcgVmVjdG9yMiguLi4odmFsdWUgYXMgVmVjdG9yMlR1cGxlKSk7XG5cdFx0XHRlbHNlIHJldHVybiBuZXcgVmVjdG9yMigpO1xuXHRcdH0sXG5cdFx0eyBlcXVhbDogKGEsIGIpID0+ICEhYSAmJiAhIWIgJiYgYS5lcXVhbHMoYikgfSxcblx0KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IzPixcbik6IFNpZ25hbDxWZWN0b3IzPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IzPixcblx0a2VlcFVuZGVmaW5lZDogdHJ1ZSxcbik6IFNpZ25hbDxWZWN0b3IzIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzKG9wdGlvbnM6IFNpZ25hbDxOZ3RBbnlSZWNvcmQ+LCBrZXk6IHN0cmluZywga2VlcFVuZGVmaW5lZCA9IGZhbHNlKSB7XG5cdHJldHVybiBjb21wdXRlZChcblx0XHQoKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IG9wdGlvbnMoKVtrZXldO1xuXHRcdFx0aWYgKGtlZXBVbmRlZmluZWQgJiYgdmFsdWUgPT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHJldHVybiBuZXcgVmVjdG9yMyh2YWx1ZSwgdmFsdWUsIHZhbHVlKTtcblx0XHRcdGVsc2UgaWYgKHZhbHVlKSByZXR1cm4gbmV3IFZlY3RvcjMoLi4uKHZhbHVlIGFzIFZlY3RvcjNUdXBsZSkpO1xuXHRcdFx0ZWxzZSByZXR1cm4gbmV3IFZlY3RvcjMoKTtcblx0XHR9LFxuXHRcdHsgZXF1YWw6IChhLCBiKSA9PiAhIWEgJiYgISFiICYmIGEuZXF1YWxzKGIpIH0sXG5cdCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { is } from './is';
|
|
2
|
+
export function resolveRef(ref) {
|
|
3
|
+
if (is.ref(ref)) {
|
|
4
|
+
return ref.nativeElement;
|
|
5
|
+
}
|
|
6
|
+
return ref;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9yZXNvbHZlLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFCLE1BQU0sVUFBVSxVQUFVLENBQVUsR0FBMEQ7SUFDN0YsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpcyB9IGZyb20gJy4vaXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVJlZjxUT2JqZWN0PihyZWY6IEVsZW1lbnRSZWY8VE9iamVjdCB8IHVuZGVmaW5lZD4gfCBUT2JqZWN0IHwgdW5kZWZpbmVkKTogVE9iamVjdCB8IHVuZGVmaW5lZCB7XG5cdGlmIChpcy5yZWYocmVmKSkge1xuXHRcdHJldHVybiByZWYubmF0aXZlRWxlbWVudDtcblx0fVxuXG5cdHJldHVybiByZWY7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed, signal, untracked, } from '@angular/core';
|
|
2
2
|
const STORE_COMPUTED_KEY = '__ngt_signal_store_computed__';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
function reducer(state) {
|
|
4
|
+
return (previous) => {
|
|
5
5
|
const partial = typeof state === 'function' ? state(previous) : state;
|
|
6
6
|
Object.keys(partial).forEach((key) => {
|
|
7
7
|
const typedKey = key;
|
|
@@ -11,81 +11,80 @@ const setter = (_source) => (state) => {
|
|
|
11
11
|
});
|
|
12
12
|
return partial;
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Object.keys(state).forEach((key) => {
|
|
21
|
-
const typedKey = key;
|
|
22
|
-
if (state[typedKey] === undefined && previous[typedKey] != null) {
|
|
23
|
-
state[typedKey] = previous[typedKey];
|
|
24
|
-
}
|
|
14
|
+
}
|
|
15
|
+
function updater(_source) {
|
|
16
|
+
return (state) => {
|
|
17
|
+
const updater = reducer(state);
|
|
18
|
+
untracked(() => {
|
|
19
|
+
_source.update((previous) => ({ ...previous, ...updater(previous) }));
|
|
25
20
|
});
|
|
26
|
-
return state;
|
|
27
21
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
22
|
+
}
|
|
23
|
+
function getter(_source) {
|
|
24
|
+
return (...keys) => {
|
|
25
|
+
const root = untracked(_source);
|
|
26
|
+
if (keys.length === 0)
|
|
27
|
+
return root;
|
|
28
|
+
return keys.reduce((value, key) => value[key], root);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function selector(_state, computedCache) {
|
|
32
|
+
return (...keysAndOptions) => {
|
|
33
|
+
if (keysAndOptions.length === 0)
|
|
34
|
+
return _state;
|
|
35
|
+
if (keysAndOptions.length === 1 && typeof keysAndOptions[0] === 'object') {
|
|
36
|
+
const cachedKey = STORE_COMPUTED_KEY.concat(JSON.stringify(keysAndOptions[0]));
|
|
37
|
+
if (!computedCache.has(cachedKey)) {
|
|
38
|
+
computedCache.set(cachedKey, computed(_state, keysAndOptions));
|
|
39
|
+
}
|
|
40
|
+
return computedCache.get(cachedKey);
|
|
45
41
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
computedCache.
|
|
42
|
+
const [keys, options] = parseStoreOptions(keysAndOptions);
|
|
43
|
+
const joinedKeys = keys.join('-');
|
|
44
|
+
const cachedKeys = joinedKeys.concat(JSON.stringify(options));
|
|
45
|
+
if (!computedCache.has(cachedKeys)) {
|
|
46
|
+
computedCache.set(cachedKeys, computed(() => keys.reduce((value, key) => value[key], _state()), options));
|
|
47
|
+
}
|
|
48
|
+
return computedCache.get(cachedKeys);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function parseStoreOptions(keysAndOptions) {
|
|
52
|
+
if (typeof keysAndOptions.at(-1) === 'object') {
|
|
53
|
+
return [keysAndOptions.slice(0, -1), keysAndOptions.at(-1)];
|
|
53
54
|
}
|
|
54
|
-
return
|
|
55
|
-
}
|
|
55
|
+
return [keysAndOptions, { equal: Object.is }];
|
|
56
|
+
}
|
|
56
57
|
export function signalStore(initialState = {}, options) {
|
|
57
58
|
let source;
|
|
58
|
-
let
|
|
59
|
+
let update;
|
|
59
60
|
let get;
|
|
60
|
-
let
|
|
61
|
+
let select;
|
|
62
|
+
let state;
|
|
63
|
+
const computedCache = new Map();
|
|
64
|
+
if (!options) {
|
|
65
|
+
options = { equal: Object.is };
|
|
66
|
+
}
|
|
61
67
|
if (typeof initialState === 'function') {
|
|
62
68
|
source = signal({}, options);
|
|
69
|
+
state = source.asReadonly();
|
|
63
70
|
get = getter(source);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
source.set(initialState({
|
|
71
|
+
update = updater(source);
|
|
72
|
+
select = selector(state, computedCache);
|
|
73
|
+
source.set(initialState({ update, get, select }));
|
|
67
74
|
}
|
|
68
75
|
else {
|
|
69
76
|
source = signal(initialState, options);
|
|
77
|
+
state = source.asReadonly();
|
|
70
78
|
get = getter(source);
|
|
71
|
-
|
|
72
|
-
|
|
79
|
+
update = updater(source);
|
|
80
|
+
select = selector(state, computedCache);
|
|
73
81
|
}
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// NOTE: internal _snapshot to debug current state
|
|
78
|
-
Object.defineProperty(store, '_snapshot', {
|
|
79
|
-
get: state,
|
|
82
|
+
const store = { select, get, update, state };
|
|
83
|
+
Object.defineProperty(store, 'snapshot', {
|
|
84
|
+
get: untracked.bind({}, state),
|
|
80
85
|
configurable: false,
|
|
81
86
|
enumerable: false,
|
|
82
87
|
});
|
|
83
88
|
return store;
|
|
84
89
|
}
|
|
85
|
-
function parseStoreOptions(keysAndOptions) {
|
|
86
|
-
if (typeof keysAndOptions.at(-1) === 'object') {
|
|
87
|
-
return [keysAndOptions.slice(0, -1), keysAndOptions.at(-1)];
|
|
88
|
-
}
|
|
89
|
-
return [keysAndOptions];
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvc2lnbmFsLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FLVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixNQUFNLGtCQUFrQixHQUFHLCtCQUErQixDQUFDO0FBdUQzRCxNQUFNLE1BQU0sR0FDWCxDQUF1QixPQUE4QixFQUFFLEVBQUUsQ0FDekQsQ0FBQyxLQUEyQyxFQUFFLEVBQUU7SUFDL0MsTUFBTSxPQUFPLEdBQUcsQ0FBQyxRQUFlLEVBQUUsRUFBRTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxRQUFRLEdBQUcsR0FBa0IsQ0FBQztZQUNwQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxTQUFTLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDbEUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2QztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0lBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMs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TSxLQUFLLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUVqRixrREFBa0Q7SUFDbEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO1FBQ3pDLEdBQUcsRUFBRSxLQUFLO1FBQ1YsWUFBWSxFQUFFLEtBQUs7UUFDbkIsVUFBVSxFQUFFLEtBQUs7S0FDakIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxjQUFxQjtJQUMvQyxJQUFJLE9BQU8sY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUM5QyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM1RDtJQUVELE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Y29tcHV0ZWQsXG5cdHNpZ25hbCxcblx0dW50cmFja2VkLFxuXHR0eXBlIENyZWF0ZUNvbXB1dGVkT3B0aW9ucyxcblx0dHlwZSBDcmVhdGVTaWduYWxPcHRpb25zLFxuXHR0eXBlIFNpZ25hbCxcblx0dHlwZSBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgU1RPUkVfQ09NUFVURURfS0VZID0gJ19fbmd0X3NpZ25hbF9zdG9yZV9jb21wdXRlZF9fJztcblxuZXhwb3J0IHR5cGUgTmd0U2lnbmFsU3RvcmU8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuXHRzZWxlY3Q8XG5cdFx0S2V5MSBleHRlbmRzIGtleW9mIFN0YXRlLFxuXHRcdEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXSxcblx0XHRLZXkzIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV1bS2V5Ml0sXG5cdFx0S2V5NCBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdW0tleTNdLFxuXHQ+KFxuXHRcdGtleTE6IEtleTEsXG5cdFx0a2V5MjogS2V5Mixcblx0XHRrZXkzOiBLZXkzLFxuXHRcdGtleTQ6IEtleTQsXG5cdFx0b3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XT4sXG5cdCk6IFNpZ25hbDxTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XT47XG5cdHNlbGVjdDxLZXkxIGV4dGVuZHMga2V5b2YgU3RhdGUsIEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXSwgS2V5MyBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdPihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0a2V5MzogS2V5Myxcblx0XHRvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFN0YXRlW0tleTFdW0tleTJdW0tleTNdPixcblx0KTogU2lnbmFsPFN0YXRlW0tleTFdW0tleTJdW0tleTNdPjtcblx0c2VsZWN0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdPihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0b3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxTdGF0ZVtLZXkxXVtLZXkyXT4sXG5cdCk6IFNpZ25hbDxTdGF0ZVtLZXkxXVtLZXkyXT47XG5cdHNlbGVjdDxLZXkgZXh0ZW5kcyBrZXlvZiBTdGF0ZT4oa2V5OiBLZXksIG9wdGlvbnM/OiBDcmVhdGVDb21wdXRlZE9wdGlvbnM8U3RhdGVbS2V5XT4pOiBTaWduYWw8U3RhdGVbS2V5XT47XG5cdHNlbGVjdChvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFN0YXRlPik6IFNpZ25hbDxTdGF0ZT47XG5cblx0Z2V0PFxuXHRcdEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSxcblx0XHRLZXkyIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV0sXG5cdFx0S2V5MyBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdLFxuXHRcdEtleTQgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXSxcblx0Pihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0a2V5MzogS2V5Myxcblx0XHRrZXk0OiBLZXk0LFxuXHQpOiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XTtcblx0Z2V0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdLCBLZXkzIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV1bS2V5Ml0+KFxuXHRcdGtleTE6IEtleTEsXG5cdFx0a2V5MjogS2V5Mixcblx0XHRrZXkzOiBLZXkzLFxuXHQpOiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXTtcblx0Z2V0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdPihrZXkxOiBLZXkxLCBrZXkyOiBLZXkyKTogU3RhdGVbS2V5MV1bS2V5Ml07XG5cdGdldDxLZXkgZXh0ZW5kcyBrZXlvZiBTdGF0ZT4oa2V5OiBLZXkpOiBTdGF0ZVtLZXldO1xuXHRnZXQoKTogU3RhdGU7XG5cblx0c2V0KHN0YXRlOiBQYXJ0aWFsPFN0YXRlPiB8ICgocHJldmlvdXM6IFN0YXRlKSA9PiBQYXJ0aWFsPFN0YXRlPikpOiB2b2lkO1xuXHRwYXRjaChzdGF0ZTogUGFydGlhbDxTdGF0ZT4pOiB2b2lkO1xuXG5cdHN0YXRlOiBTaWduYWw8U3RhdGU+O1xufTtcblxuY29uc3Qgc2V0dGVyID1cblx0PFN0YXRlIGV4dGVuZHMgb2JqZWN0Pihfc291cmNlOiBXcml0YWJsZVNpZ25hbDxTdGF0ZT4pID0+XG5cdChzdGF0ZTogU3RhdGUgfCAoKHByZXZpb3VzOiBTdGF0ZSkgPT4gU3RhdGUpKSA9PiB7XG5cdFx0Y29uc3QgdXBkYXRlciA9IChwcmV2aW91czogU3RhdGUpID0+IHtcblx0XHRcdGNvbnN0IHBhcnRpYWwgPSB0eXBlb2Ygc3RhdGUgPT09ICdmdW5jdGlvbicgPyBzdGF0ZShwcmV2aW91cykgOiBzdGF0ZTtcblx0XHRcdE9iamVjdC5rZXlzKHBhcnRpYWwpLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdFx0XHRjb25zdCB0eXBlZEtleSA9IGtleSBhcyBrZXlvZiBTdGF0ZTtcblx0XHRcdFx0aWYgKHBhcnRpYWxbdHlwZWRLZXldID09PSB1bmRlZmluZWQgJiYgcHJldmlvdXNbdHlwZWRLZXldICE9IG51bGwpIHtcblx0XHRcdFx0XHRwYXJ0aWFsW3R5cGVkS2V5XSA9IHByZXZpb3VzW3R5cGVkS2V5XTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRyZXR1cm4gcGFydGlhbDtcblx0XHR9O1xuXHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRfc291cmNlLnVwZGF0ZSgocHJldmlvdXMpID0+ICh7IC4uLnByZXZpb3VzLCAuLi51cGRhdGVyKHByZXZpb3VzKSB9KSk7XG5cdFx0fSk7XG5cdH07XG5cbmNvbnN0IHBhdGNoZXIgPVxuXHQ8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KF9zb3VyY2U6IFdyaXRhYmxlU2lnbmFsPFN0YXRlPikgPT5cblx0KHN0YXRlOiBTdGF0ZSkgPT4ge1xuXHRcdGNvbnN0IHVwZGF0ZXIgPSAocHJldmlvdXM6IFN0YXRlKSA9PiB7XG5cdFx0XHRPYmplY3Qua2V5cyhzdGF0ZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG5cdFx0XHRcdGNvbnN0IHR5cGVkS2V5ID0ga2V5IGFzIGtleW9mIFN0YXRlO1xuXHRcdFx0XHRpZiAoc3RhdGVbdHlwZWRLZXldID09PSB1bmRlZmluZWQgJiYgcHJldmlvdXNbdHlwZWRLZXldICE9IG51bGwpIHtcblx0XHRcdFx0XHRzdGF0ZVt0eXBlZEtleV0gPSBwcmV2aW91c1t0eXBlZEtleV07XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0cmV0dXJuIHN0YXRlO1xuXHRcdH07XG5cdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdF9zb3VyY2UudXBkYXRlKChwcmV2aW91cykgPT4gKHsgLi4udXBkYXRlcihwcmV2aW91cyksIC4uLnByZXZpb3VzIH0pKTtcblx0XHR9KTtcblx0fTtcblxuY29uc3QgZ2V0dGVyID1cblx0PFN0YXRlIGV4dGVuZHMgb2JqZWN0Pihfc291cmNlOiBXcml0YWJsZVNpZ25hbDxTdGF0ZT4pID0+XG5cdCguLi5rZXlzOiBzdHJpbmdbXSkgPT4ge1xuXHRcdGNvbnN0IHJvb3QgPSB1bnRyYWNrZWQoX3NvdXJjZSk7XG5cdFx0aWYgKGtleXMubGVuZ3RoID09PSAwKSByZXR1cm4gcm9vdDtcblx0XHRyZXR1cm4ga2V5cy5yZWR1Y2UoKHZhbHVlLCBrZXkpID0+ICh2YWx1ZSBhcyBOZ3RBbnlSZWNvcmQpW2tleV0sIHJvb3QpO1xuXHR9O1xuXG5jb25zdCBzZWxlY3RvciA9XG5cdDxTdGF0ZSBleHRlbmRzIG9iamVjdD4oX3N0YXRlOiBTaWduYWw8U3RhdGU+LCBjb21wdXRlZENhY2hlOiBNYXA8c3RyaW5nLCBTaWduYWw8YW55Pj4pID0+XG5cdCguLi5rZXlzQW5kT3B0aW9uczogYW55W10pID0+IHtcblx0XHRpZiAoa2V5c0FuZE9wdGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm4gX3N0YXRlO1xuXHRcdGlmIChrZXlzQW5kT3B0aW9ucy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIGtleXNBbmRPcHRpb25zWzBdID09PSAnb2JqZWN0Jykge1xuXHRcdFx0Y29uc3QgY2FjaGVkS2V5ID0gU1RPUkVfQ09NUFVURURfS0VZLmNvbmNhdChKU09OLnN0cmluZ2lmeShrZXlzQW5kT3B0aW9uc1swXSkpO1xuXHRcdFx0aWYgKCFjb21wdXRlZENhY2hlLmhhcyhjYWNoZWRLZXkpKSB7XG5cdFx0XHRcdGNvbXB1dGVkQ2FjaGUuc2V0KGNhY2hlZEtleSwgY29tcHV0ZWQoX3N0YXRlLCBrZXlzQW5kT3B0aW9ucyBhcyBDcmVhdGVDb21wdXRlZE9wdGlvbnM8b2JqZWN0PikpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGNvbXB1dGVkQ2FjaGUuZ2V0KGNhY2hlZEtleSkhO1xuXHRcdH1cblx0XHRjb25zdCBba2V5cywgb3B0aW9uc10gPSBwYXJzZVN0b3JlT3B0aW9ucyhrZXlzQW5kT3B0aW9ucyk7XG5cdFx0Y29uc3Qgam9pbmVkS2V5cyA9IGtleXMuam9pbignLScpO1xuXHRcdGNvbnN0IGNhY2hlZEtleXMgPSBqb2luZWRLZXlzLmNvbmNhdChvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiAnJyk7XG5cblx0XHRpZiAoIWNvbXB1dGVkQ2FjaGUuaGFzKGNhY2hlZEtleXMpKSB7XG5cdFx0XHRjb21wdXRlZENhY2hlLnNldChcblx0XHRcdFx0Y2FjaGVkS2V5cyxcblx0XHRcdFx0Y29tcHV0ZWQoKCkgPT4ga2V5cy5yZWR1Y2UoKHZhbHVlLCBrZXkpID0+ICh2YWx1ZSBhcyBOZ3RBbnlSZWNvcmQpW2tleV0sIF9zdGF0ZSgpKSwgb3B0aW9ucyksXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4gY29tcHV0ZWRDYWNoZS5nZXQoY2FjaGVkS2V5cykhO1xuXHR9O1xuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KFxuXHRpbml0aWFsU3RhdGU6XG5cdFx0fCBQYXJ0aWFsPFN0YXRlPlxuXHRcdHwgKChzdG9yZUFwaTogUGljazxOZ3RTaWduYWxTdG9yZTxTdGF0ZT4sICdnZXQnIHwgJ3NldCcgfCAncGF0Y2gnPikgPT4gUGFydGlhbDxTdGF0ZT4pID0ge30sXG5cdG9wdGlvbnM/OiBDcmVhdGVTaWduYWxPcHRpb25zPFN0YXRlPixcbik6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPiB7XG5cdGxldCBzb3VyY2U6IFdyaXRhYmxlU2lnbmFsPFN0YXRlPjtcblx0bGV0IHNldDogTmd0U2lnbmFsU3RvcmU8U3RhdGU+WydzZXQnXTtcblx0bGV0IGdldDogTmd0U2lnbmFsU3RvcmU8U3RhdGU+WydnZXQnXTtcblx0bGV0IHBhdGNoOiBOZ3RTaWduYWxTdG9yZTxTdGF0ZT5bJ3BhdGNoJ107XG5cblx0aWYgKHR5cGVvZiBpbml0aWFsU3RhdGUgPT09ICdmdW5jdGlvbicpIHtcblx0XHRzb3VyY2UgPSBzaWduYWwoe30gYXMgU3RhdGUsIG9wdGlvbnMpO1xuXHRcdGdldCA9IGdldHRlcihzb3VyY2UpO1xuXHRcdHNldCA9IHNldHRlcihzb3VyY2UpO1xuXHRcdHBhdGNoID0gcGF0Y2hlcihzb3VyY2UpO1xuXHRcdHNvdXJjZS5zZXQoaW5pdGlhbFN0YXRlKHsgc2V0LCBnZXQsIHBhdGNoIH0pIGFzIFN0YXRlKTtcblx0fSBlbHNlIHtcblx0XHRzb3VyY2UgPSBzaWduYWwoaW5pdGlhbFN0YXRlIGFzIFN0YXRlLCBvcHRpb25zKTtcblx0XHRnZXQgPSBnZXR0ZXIoc291cmNlKTtcblx0XHRzZXQgPSBzZXR0ZXIoc291cmNlKTtcblx0XHRwYXRjaCA9IHBhdGNoZXIoc291cmNlKTtcblx0fVxuXG5cdGNvbnN0IHN0YXRlID0gc291cmNlLmFzUmVhZG9ubHkoKTtcblx0Y29uc3QgY29tcHV0ZWRDYWNoZSA9IG5ldyBNYXAoKTtcblxuXHRjb25zdCBzdG9yZSA9IHsgc2VsZWN0OiBzZWxlY3RvcihzdGF0ZSwgY29tcHV0ZWRDYWNoZSksIGdldCwgc2V0LCBwYXRjaCwgc3RhdGUgfTtcblxuXHQvLyBOT1RFOiBpbnRlcm5hbCBfc25hcHNob3QgdG8gZGVidWcgY3VycmVudCBzdGF0ZVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RvcmUsICdfc25hcHNob3QnLCB7XG5cdFx0Z2V0OiBzdGF0ZSxcblx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuXHRcdGVudW1lcmFibGU6IGZhbHNlLFxuXHR9KTtcblxuXHRyZXR1cm4gc3RvcmU7XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3RvcmVPcHRpb25zKGtleXNBbmRPcHRpb25zOiBhbnlbXSk6IFtzdHJpbmdbXSwgQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPGFueT4/XSB7XG5cdGlmICh0eXBlb2Yga2V5c0FuZE9wdGlvbnMuYXQoLTEpID09PSAnb2JqZWN0Jykge1xuXHRcdHJldHVybiBba2V5c0FuZE9wdGlvbnMuc2xpY2UoMCwgLTEpLCBrZXlzQW5kT3B0aW9ucy5hdCgtMSldO1xuXHR9XG5cblx0cmV0dXJuIFtrZXlzQW5kT3B0aW9uc107XG59XG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvc2lnbmFsLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixNQUFNLGtCQUFrQixHQUFHLCtCQUErQixDQUFDO0FBZ0UzRCxTQUFTLE9BQU8sQ0FBdUIsS0FBMkM7SUFDakYsT0FBTyxDQUFDLFFBQWUsRUFBRSxFQUFFO1FBQzFCLE1BQU0sT0FBTyxHQUFHLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwQyxNQUFNLFFBQVEsR0FBRyxHQUFrQixDQUFDO1lBQ3BDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUF1QixPQUE4QjtJQUNwRSxPQUFPLENBQUMsS0FBMkMsRUFBRSxFQUFFO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxF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LEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUU3QyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDeEMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUM5QixZQUFZLEVBQUUsS0FBSztRQUNuQixVQUFVLEVBQUUsS0FBSztLQUNqQixDQUFDLENBQUM7SUFFSCxPQUFPLEtBQThCLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENyZWF0ZUNvbXB1dGVkT3B0aW9ucyxcblx0Q3JlYXRlU2lnbmFsT3B0aW9ucyxcblx0U2lnbmFsLFxuXHRXcml0YWJsZVNpZ25hbCxcblx0Y29tcHV0ZWQsXG5cdHNpZ25hbCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgU1RPUkVfQ09NUFVURURfS0VZID0gJ19fbmd0X3NpZ25hbF9zdG9yZV9jb21wdXRlZF9fJztcblxuZXhwb3J0IHR5cGUgTmd0U2lnbmFsU3RvcmU8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuXHRzZWxlY3Q8XG5cdFx0S2V5MSBleHRlbmRzIGtleW9mIFN0YXRlLFxuXHRcdEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXSxcblx0XHRLZXkzIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV1bS2V5Ml0sXG5cdFx0S2V5NCBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdW0tleTNdLFxuXHQ+KFxuXHRcdGtleTE6IEtleTEsXG5cdFx0a2V5MjogS2V5Mixcblx0XHRrZXkzOiBLZXkzLFxuXHRcdGtleTQ6IEtleTQsXG5cdFx0b3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XT4sXG5cdCk6IFNpZ25hbDxTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XT47XG5cdHNlbGVjdDxLZXkxIGV4dGVuZHMga2V5b2YgU3RhdGUsIEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXSwgS2V5MyBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdPihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0a2V5MzogS2V5Myxcblx0XHRvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFN0YXRlW0tleTFdW0tleTJdW0tleTNdPixcblx0KTogU2lnbmFsPFN0YXRlW0tleTFdW0tleTJdW0tleTNdPjtcblx0c2VsZWN0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdPihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0b3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxTdGF0ZVtLZXkxXVtLZXkyXT4sXG5cdCk6IFNpZ25hbDxTdGF0ZVtLZXkxXVtLZXkyXT47XG5cdHNlbGVjdDxLZXkgZXh0ZW5kcyBrZXlvZiBTdGF0ZT4oa2V5OiBLZXksIG9wdGlvbnM/OiBDcmVhdGVDb21wdXRlZE9wdGlvbnM8U3RhdGVbS2V5XT4pOiBTaWduYWw8U3RhdGVbS2V5XT47XG5cdHNlbGVjdChvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFN0YXRlPik6IFNpZ25hbDxTdGF0ZT47XG5cblx0Z2V0PFxuXHRcdEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSxcblx0XHRLZXkyIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV0sXG5cdFx0S2V5MyBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdLFxuXHRcdEtleTQgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXSxcblx0Pihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0a2V5MzogS2V5Myxcblx0XHRrZXk0OiBLZXk0LFxuXHQpOiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XTtcblx0Z2V0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdLCBLZXkzIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV1bS2V5Ml0+KFxuXHRcdGtleTE6IEtleTEsXG5cdFx0a2V5MjogS2V5Mixcblx0XHRrZXkzOiBLZXkzLFxuXHQpOiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXTtcblx0Z2V0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdPihrZXkxOiBLZXkxLCBrZXkyOiBLZXkyKTogU3RhdGVbS2V5MV1bS2V5Ml07XG5cdGdldDxLZXkgZXh0ZW5kcyBrZXlvZiBTdGF0ZT4oa2V5OiBLZXkpOiBTdGF0ZVtLZXldO1xuXHRnZXQoKTogU3RhdGU7XG5cblx0LyoqXG5cdCAqIE5ldyBzdGF0ZSB0YWtlcyBwcmVjZWRlbmNlXG5cdCAqL1xuXHR1cGRhdGUoc3RhdGU6IFBhcnRpYWw8U3RhdGU+IHwgKChwcmV2aW91czogU3RhdGUpID0+IFBhcnRpYWw8U3RhdGU+KSk6IHZvaWQ7XG5cblx0LyoqXG5cdCAqIEVxdWl2YWxlbmNlIHRvIHNlbGVjdCgpXG5cdCAqL1xuXHRzdGF0ZTogU2lnbmFsPFN0YXRlPjtcblx0LyoqXG5cdCAqIEVxdWl2YWxlbmNlIHRvIGdldCgpXG5cdCAqL1xuXHRnZXQgc25hcHNob3QoKTogU3RhdGU7XG59O1xuXG5mdW5jdGlvbiByZWR1Y2VyPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihzdGF0ZTogU3RhdGUgfCAoKHByZXZpb3VzOiBTdGF0ZSkgPT4gU3RhdGUpKSB7XG5cdHJldHVybiAocHJldmlvdXM6IFN0YXRlKSA9PiB7XG5cdFx0Y29uc3QgcGFydGlhbCA9IHR5cGVvZiBzdGF0ZSA9PT0gJ2Z1bmN0aW9uJyA/IHN0YXRlKHByZXZpb3VzKSA6IHN0YXRlO1xuXHRcdE9iamVjdC5rZXlzKHBhcnRpYWwpLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdFx0Y29uc3QgdHlwZWRLZXkgPSBrZXkgYXMga2V5b2YgU3RhdGU7XG5cdFx0XHRpZiAocGFydGlhbFt0eXBlZEtleV0gPT09IHVuZGVmaW5lZCAmJiBwcmV2aW91c1t0eXBlZEtleV0gIT0gbnVsbCkge1xuXHRcdFx0XHRwYXJ0aWFsW3R5cGVkS2V5XSA9IHByZXZpb3VzW3R5cGVkS2V5XTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZXR1cm4gcGFydGlhbDtcblx0fTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlcjxTdGF0ZSBleHRlbmRzIG9iamVjdD4oX3NvdXJjZTogV3JpdGFibGVTaWduYWw8U3RhdGU+KSB7XG5cdHJldHVybiAoc3RhdGU6IFN0YXRlIHwgKChwcmV2aW91czogU3RhdGUpID0+IFN0YXRlKSkgPT4ge1xuXHRcdGNvbnN0IHVwZGF0ZXIgPSByZWR1Y2VyKHN0YXRlKTtcblx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0X3NvdXJjZS51cGRhdGUoKHByZXZpb3VzKSA9PiAoeyAuLi5wcmV2aW91cywgLi4udXBkYXRlcihwcmV2aW91cykgfSkpO1xuXHRcdH0pO1xuXHR9O1xufVxuXG5mdW5jdGlvbiBnZXR0ZXI8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KF9zb3VyY2U6IFdyaXRhYmxlU2lnbmFsPFN0YXRlPikge1xuXHRyZXR1cm4gKC4uLmtleXM6IHN0cmluZ1tdKSA9PiB7XG5cdFx0Y29uc3Qgcm9vdCA9IHVudHJhY2tlZChfc291cmNlKTtcblx0XHRpZiAoa2V5cy5sZW5ndGggPT09IDApIHJldHVybiByb290O1xuXHRcdHJldHVybiBrZXlzLnJlZHVjZSgodmFsdWUsIGtleSkgPT4gKHZhbHVlIGFzIE5ndEFueVJlY29yZClba2V5XSwgcm9vdCk7XG5cdH07XG59XG5cbmZ1bmN0aW9uIHNlbGVjdG9yPFN0YXRlIGV4dGVuZHMgb2JqZWN0Pihfc3RhdGU6IFNpZ25hbDxTdGF0ZT4sIGNvbXB1dGVkQ2FjaGU6IE1hcDxzdHJpbmcsIFNpZ25hbDxhbnk+Pikge1xuXHRyZXR1cm4gKC4uLmtleXNBbmRPcHRpb25zOiBhbnlbXSkgPT4ge1xuXHRcdGlmIChrZXlzQW5kT3B0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBfc3RhdGU7XG5cdFx0aWYgKGtleXNBbmRPcHRpb25zLmxlbmd0aCA9PT0gMSAmJiB0eXBlb2Yga2V5c0FuZE9wdGlvbnNbMF0gPT09ICdvYmplY3QnKSB7XG5cdFx0XHRjb25zdCBjYWNoZWRLZXkgPSBTVE9SRV9DT01QVVRFRF9LRVkuY29uY2F0KEpTT04uc3RyaW5naWZ5KGtleXNBbmRPcHRpb25zWzBdKSk7XG5cdFx0XHRpZiAoIWNvbXB1dGVkQ2FjaGUuaGFzKGNhY2hlZEtleSkpIHtcblx0XHRcdFx0Y29tcHV0ZWRDYWNoZS5zZXQoY2FjaGVkS2V5LCBjb21wdXRlZChfc3RhdGUsIGtleXNBbmRPcHRpb25zIGFzIENyZWF0ZUNvbXB1dGVkT3B0aW9uczxvYmplY3Q+KSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gY29tcHV0ZWRDYWNoZS5nZXQoY2FjaGVkS2V5KSE7XG5cdFx0fVxuXHRcdGNvbnN0IFtrZXlzLCBvcHRpb25zXSA9IHBhcnNlU3RvcmVPcHRpb25zKGtleXNBbmRPcHRpb25zKTtcblx0XHRjb25zdCBqb2luZWRLZXlzID0ga2V5cy5qb2luKCctJyk7XG5cdFx0Y29uc3QgY2FjaGVkS2V5cyA9IGpvaW5lZEtleXMuY29uY2F0KEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcblxuXHRcdGlmICghY29tcHV0ZWRDYWNoZS5oYXMoY2FjaGVkS2V5cykpIHtcblx0XHRcdGNvbXB1dGVkQ2FjaGUuc2V0KFxuXHRcdFx0XHRjYWNoZWRLZXlzLFxuXHRcdFx0XHRjb21wdXRlZCgoKSA9PiBrZXlzLnJlZHVjZSgodmFsdWUsIGtleSkgPT4gKHZhbHVlIGFzIE5ndEFueVJlY29yZClba2V5XSwgX3N0YXRlKCkpLCBvcHRpb25zKSxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiBjb21wdXRlZENhY2hlLmdldChjYWNoZWRLZXlzKSE7XG5cdH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3RvcmVPcHRpb25zKGtleXNBbmRPcHRpb25zOiBhbnlbXSk6IFtzdHJpbmdbXSwgQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPGFueT4/XSB7XG5cdGlmICh0eXBlb2Yga2V5c0FuZE9wdGlvbnMuYXQoLTEpID09PSAnb2JqZWN0Jykge1xuXHRcdHJldHVybiBba2V5c0FuZE9wdGlvbnMuc2xpY2UoMCwgLTEpLCBrZXlzQW5kT3B0aW9ucy5hdCgtMSldO1xuXHR9XG5cblx0cmV0dXJuIFtrZXlzQW5kT3B0aW9ucywgeyBlcXVhbDogT2JqZWN0LmlzIH1dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KFxuXHRpbml0aWFsU3RhdGU6XG5cdFx0fCBQYXJ0aWFsPFN0YXRlPlxuXHRcdHwgKChzdG9yZUFwaTogUGljazxOZ3RTaWduYWxTdG9yZTxTdGF0ZT4sICdnZXQnIHwgJ3VwZGF0ZScgfCAnc2VsZWN0Jz4pID0+IFBhcnRpYWw8U3RhdGU+KSA9IHt9LFxuXHRvcHRpb25zPzogQ3JlYXRlU2lnbmFsT3B0aW9uczxTdGF0ZT4sXG4pOiBOZ3RTaWduYWxTdG9yZTxTdGF0ZT4ge1xuXHRsZXQgc291cmNlOiBXcml0YWJsZVNpZ25hbDxTdGF0ZT47XG5cdGxldCB1cGRhdGU6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPlsndXBkYXRlJ107XG5cdGxldCBnZXQ6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPlsnZ2V0J107XG5cdGxldCBzZWxlY3Q6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPlsnc2VsZWN0J107XG5cdGxldCBzdGF0ZTogU2lnbmFsPFN0YXRlPjtcblxuXHRjb25zdCBjb21wdXRlZENhY2hlID0gbmV3IE1hcCgpO1xuXG5cdGlmICghb3B0aW9ucykge1xuXHRcdG9wdGlvbnMgPSB7IGVxdWFsOiBPYmplY3QuaXMgfTtcblx0fVxuXG5cdGlmICh0eXBlb2YgaW5pdGlhbFN0YXRlID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0c291cmNlID0gc2lnbmFsKHt9IGFzIFN0YXRlLCBvcHRpb25zKTtcblx0XHRzdGF0ZSA9IHNvdXJjZS5hc1JlYWRvbmx5KCk7XG5cdFx0Z2V0ID0gZ2V0dGVyKHNvdXJjZSk7XG5cdFx0dXBkYXRlID0gdXBkYXRlcihzb3VyY2UpO1xuXHRcdHNlbGVjdCA9IHNlbGVjdG9yKHN0YXRlLCBjb21wdXRlZENhY2hlKTtcblx0XHRzb3VyY2Uuc2V0KGluaXRpYWxTdGF0ZSh7IHVwZGF0ZSwgZ2V0LCBzZWxlY3QgfSkgYXMgU3RhdGUpO1xuXHR9IGVsc2Uge1xuXHRcdHNvdXJjZSA9IHNpZ25hbChpbml0aWFsU3RhdGUgYXMgU3RhdGUsIG9wdGlvbnMpO1xuXHRcdHN0YXRlID0gc291cmNlLmFzUmVhZG9ubHkoKTtcblx0XHRnZXQgPSBnZXR0ZXIoc291cmNlKTtcblx0XHR1cGRhdGUgPSB1cGRhdGVyKHNvdXJjZSk7XG5cdFx0c2VsZWN0ID0gc2VsZWN0b3Ioc3RhdGUsIGNvbXB1dGVkQ2FjaGUpO1xuXHR9XG5cblx0Y29uc3Qgc3RvcmUgPSB7IHNlbGVjdCwgZ2V0LCB1cGRhdGUsIHN0YXRlIH07XG5cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHN0b3JlLCAnc25hcHNob3QnLCB7XG5cdFx0Z2V0OiB1bnRyYWNrZWQuYmluZCh7fSwgc3RhdGUpLFxuXHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG5cdFx0ZW51bWVyYWJsZTogZmFsc2UsXG5cdH0pO1xuXG5cdHJldHVybiBzdG9yZSBhcyBOZ3RTaWduYWxTdG9yZTxTdGF0ZT47XG59XG4iXX0=
|
|
@@ -14,6 +14,9 @@ export function checkUpdate(value) {
|
|
|
14
14
|
value.updateProjectionMatrix();
|
|
15
15
|
value.updateMatrixWorld();
|
|
16
16
|
}
|
|
17
|
+
// NOTE: skip checkNeedsUpdate for CubeTexture
|
|
18
|
+
if (value && value.isCubeTexture)
|
|
19
|
+
return;
|
|
17
20
|
checkNeedsUpdate(value);
|
|
18
21
|
}
|
|
19
22
|
export function updateCamera(camera, size) {
|
|
@@ -24,10 +27,11 @@ export function updateCamera(camera, size) {
|
|
|
24
27
|
camera.top = size.height / 2;
|
|
25
28
|
camera.bottom = size.height / -2;
|
|
26
29
|
}
|
|
27
|
-
else
|
|
30
|
+
else {
|
|
28
31
|
camera.aspect = size.width / size.height;
|
|
32
|
+
}
|
|
29
33
|
camera.updateProjectionMatrix();
|
|
30
34
|
camera.updateMatrixWorld();
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWM7SUFDOUMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQy9ELEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxvQkFBb0IsSUFBSSxLQUFLO1lBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3ZFLENBQUM7QUFDRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFjO0lBQ3pDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFN0MsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEIsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztZQUFFLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hHLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsSUFBSSxLQUFLLElBQUssS0FBcUIsQ0FBQyxhQUFhO1FBQUUsT0FBTztJQUUxRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUF1QixFQUFFLElBQWE7SUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDN0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUMsQ0FBQztRQUVELE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzVCLENBQUM7QUFDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3ViZVRleHR1cmUgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RDYW1lcmFNYW51YWwsIE5ndFNpemUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBpcyB9IGZyb20gJy4vaXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tOZWVkc1VwZGF0ZSh2YWx1ZTogdW5rbm93bikge1xuXHRpZiAodmFsdWUgIT09IG51bGwgJiYgaXMub2JqKHZhbHVlKSAmJiAnbmVlZHNVcGRhdGUnIGluIHZhbHVlKSB7XG5cdFx0dmFsdWVbJ25lZWRzVXBkYXRlJ10gPSB0cnVlO1xuXHRcdGlmICgndW5pZm9ybXNOZWVkVXBkYXRlJyBpbiB2YWx1ZSkgdmFsdWVbJ3VuaWZvcm1zTmVlZFVwZGF0ZSddID0gdHJ1ZTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tVcGRhdGUodmFsdWU6IHVua25vd24pIHtcblx0aWYgKGlzLm9iamVjdDNEKHZhbHVlKSkgdmFsdWUudXBkYXRlTWF0cml4KCk7XG5cblx0aWYgKGlzLmNhbWVyYSh2YWx1ZSkpIHtcblx0XHRpZiAoaXMucGVyc3BlY3RpdmVDYW1lcmEodmFsdWUpIHx8IGlzLm9ydGhvZ3JhcGhpY0NhbWVyYSh2YWx1ZSkpIHZhbHVlLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcblx0XHR2YWx1ZS51cGRhdGVNYXRyaXhXb3JsZCgpO1xuXHR9XG5cblx0Ly8gTk9URTogc2tpcCBjaGVja05lZWRzVXBkYXRlIGZvciBDdWJlVGV4dHVyZVxuXHRpZiAodmFsdWUgJiYgKHZhbHVlIGFzIEN1YmVUZXh0dXJlKS5pc0N1YmVUZXh0dXJlKSByZXR1cm47XG5cblx0Y2hlY2tOZWVkc1VwZGF0ZSh2YWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVDYW1lcmEoY2FtZXJhOiBOZ3RDYW1lcmFNYW51YWwsIHNpemU6IE5ndFNpemUpIHtcblx0aWYgKCFjYW1lcmEubWFudWFsKSB7XG5cdFx0aWYgKGlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpKSB7XG5cdFx0XHRjYW1lcmEubGVmdCA9IHNpemUud2lkdGggLyAtMjtcblx0XHRcdGNhbWVyYS5yaWdodCA9IHNpemUud2lkdGggLyAyO1xuXHRcdFx0Y2FtZXJhLnRvcCA9IHNpemUuaGVpZ2h0IC8gMjtcblx0XHRcdGNhbWVyYS5ib3R0b20gPSBzaXplLmhlaWdodCAvIC0yO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjYW1lcmEuYXNwZWN0ID0gc2l6ZS53aWR0aCAvIHNpemUuaGVpZ2h0O1xuXHRcdH1cblxuXHRcdGNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG5cdFx0Y2FtZXJhLnVwZGF0ZU1hdHJpeFdvcmxkKCk7XG5cdH1cbn1cbiJdfQ==
|