angular-three 2.0.0-beta.9 → 2.1.0

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.
Files changed (160) hide show
  1. package/README.md +221 -4
  2. package/esm2022/index.mjs +13 -14
  3. package/esm2022/lib/canvas.mjs +130 -197
  4. package/esm2022/lib/directives/args.mjs +46 -20
  5. package/esm2022/lib/directives/selection.mjs +65 -0
  6. package/esm2022/lib/dom/events.mjs +2 -2
  7. package/esm2022/lib/events.mjs +33 -31
  8. package/esm2022/lib/html.mjs +40 -0
  9. package/esm2022/lib/instance.mjs +43 -36
  10. package/esm2022/lib/loader.mjs +72 -36
  11. package/esm2022/lib/loop.mjs +29 -26
  12. package/esm2022/lib/pipes/hexify.mjs +67 -0
  13. package/esm2022/lib/portal.mjs +173 -193
  14. package/esm2022/lib/renderer/catalogue.mjs +3 -3
  15. package/esm2022/lib/renderer/constants.mjs +6 -6
  16. package/esm2022/lib/renderer/index.mjs +356 -217
  17. package/esm2022/lib/renderer/state.mjs +54 -0
  18. package/esm2022/lib/renderer/utils.mjs +120 -64
  19. package/esm2022/lib/roots.mjs +86 -62
  20. package/esm2022/lib/routed-scene.mjs +11 -8
  21. package/esm2022/lib/store.mjs +164 -195
  22. package/esm2022/lib/three-types.mjs +1 -1
  23. package/esm2022/lib/types.mjs +1 -1
  24. package/esm2022/lib/utils/apply-props.mjs +31 -28
  25. package/esm2022/lib/utils/attach.mjs +26 -12
  26. package/esm2022/lib/utils/before-render.mjs +12 -0
  27. package/esm2022/lib/utils/is.mjs +6 -5
  28. package/esm2022/lib/utils/make.mjs +19 -17
  29. package/esm2022/lib/utils/non-nullish.mjs +7 -0
  30. package/esm2022/lib/utils/object-events.mjs +91 -0
  31. package/esm2022/lib/utils/parameters.mjs +70 -0
  32. package/esm2022/lib/utils/resolve-ref.mjs +8 -0
  33. package/esm2022/lib/utils/signal-store.mjs +59 -60
  34. package/esm2022/lib/utils/update.mjs +8 -4
  35. package/esm2022/nativescript/angular-three-nativescript.mjs +5 -0
  36. package/esm2022/nativescript/index.mjs +2 -0
  37. package/esm2022/nativescript/lib/canvas.mjs +127 -0
  38. package/esm2022/testing/angular-three-testing.mjs +5 -0
  39. package/esm2022/testing/index.mjs +3 -0
  40. package/esm2022/testing/lib/test-bed.mjs +130 -0
  41. package/esm2022/testing/lib/test-canvas.mjs +45 -0
  42. package/esm2022/testing/lib/utils/mock-canvas.mjs +37 -0
  43. package/esm2022/testing/lib/utils/web-gl-rendering-context.mjs +752 -0
  44. package/fesm2022/angular-three-nativescript.mjs +134 -0
  45. package/fesm2022/angular-three-nativescript.mjs.map +1 -0
  46. package/fesm2022/angular-three-testing.mjs +966 -0
  47. package/fesm2022/angular-three-testing.mjs.map +1 -0
  48. package/fesm2022/angular-three.mjs +2271 -2306
  49. package/fesm2022/angular-three.mjs.map +1 -1
  50. package/index.d.ts +14 -14
  51. package/lib/canvas.d.ts +357 -96
  52. package/lib/directives/args.d.ts +14 -7
  53. package/lib/directives/selection.d.ts +17 -0
  54. package/lib/dom/events.d.ts +2 -3
  55. package/lib/events.d.ts +4 -80
  56. package/lib/html.d.ts +17 -0
  57. package/lib/instance.d.ts +3 -35
  58. package/lib/loader.d.ts +19 -7
  59. package/lib/loop.d.ts +11 -59
  60. package/lib/pipes/hexify.d.ts +20 -0
  61. package/lib/portal.d.ts +54 -48
  62. package/lib/renderer/catalogue.d.ts +7 -3
  63. package/lib/renderer/constants.d.ts +5 -5
  64. package/lib/renderer/index.d.ts +63 -4
  65. package/lib/renderer/state.d.ts +25 -0
  66. package/lib/renderer/utils.d.ts +10 -27
  67. package/lib/roots.d.ts +9 -7
  68. package/lib/store.d.ts +13 -141
  69. package/lib/three-types.d.ts +528 -147
  70. package/lib/types.d.ts +291 -0
  71. package/lib/utils/apply-props.d.ts +2 -3
  72. package/lib/utils/attach.d.ts +4 -6
  73. package/lib/{before-render.d.ts → utils/before-render.d.ts} +1 -1
  74. package/lib/utils/is.d.ts +13 -14
  75. package/lib/utils/make.d.ts +7 -13
  76. package/lib/utils/non-nullish.d.ts +4 -0
  77. package/lib/utils/object-events.d.ts +32 -0
  78. package/lib/utils/parameters.d.ts +20 -0
  79. package/lib/utils/resolve-ref.d.ts +2 -0
  80. package/lib/utils/signal-store.d.ts +13 -4
  81. package/lib/utils/update.d.ts +1 -1
  82. package/metadata.json +1 -1
  83. package/nativescript/README.md +5 -0
  84. package/nativescript/index.d.ts +1 -0
  85. package/nativescript/lib/canvas.d.ts +359 -0
  86. package/nativescript/package.json +3 -0
  87. package/package.json +65 -14
  88. package/plugin/generators.json +8 -30
  89. package/plugin/package.json +3 -3
  90. package/plugin/src/generators/add-soba/compat.js.map +1 -0
  91. package/plugin/src/generators/add-soba/generator.d.ts +3 -0
  92. package/plugin/src/generators/add-soba/generator.js +77 -0
  93. package/plugin/src/generators/add-soba/generator.js.map +1 -0
  94. package/plugin/src/generators/add-soba/schema.json +4 -0
  95. package/plugin/src/generators/init/compat.d.ts +1 -1
  96. package/plugin/src/generators/init/files/experience/experience.component.ts__tmpl__ +29 -0
  97. package/plugin/src/generators/init/generator.d.ts +5 -1
  98. package/plugin/src/generators/init/generator.js +131 -25
  99. package/plugin/src/generators/init/generator.js.map +1 -1
  100. package/plugin/src/generators/init/schema.json +9 -2
  101. package/plugin/src/generators/utils.d.ts +2 -0
  102. package/plugin/src/generators/utils.js +35 -0
  103. package/plugin/src/generators/utils.js.map +1 -0
  104. package/plugin/src/generators/version.d.ts +17 -0
  105. package/plugin/src/generators/version.js +21 -0
  106. package/plugin/src/generators/version.js.map +1 -0
  107. package/plugin/src/index.d.ts +0 -3
  108. package/plugin/src/index.js +0 -9
  109. package/plugin/src/index.js.map +1 -1
  110. package/testing/README.md +3 -0
  111. package/testing/index.d.ts +2 -0
  112. package/testing/lib/test-bed.d.ts +38 -0
  113. package/testing/lib/test-canvas.d.ts +11 -0
  114. package/testing/lib/utils/mock-canvas.d.ts +5 -0
  115. package/testing/lib/utils/web-gl-rendering-context.d.ts +16 -0
  116. package/testing/package.json +3 -0
  117. package/web-types.json +1 -1
  118. package/esm2022/lib/before-render.mjs +0 -13
  119. package/esm2022/lib/directives/common.mjs +0 -41
  120. package/esm2022/lib/directives/key.mjs +0 -29
  121. package/esm2022/lib/directives/parent.mjs +0 -35
  122. package/esm2022/lib/directives/repeat.mjs +0 -17
  123. package/esm2022/lib/ref.mjs +0 -48
  124. package/esm2022/lib/renderer/store.mjs +0 -405
  125. package/esm2022/lib/utils/assert-injection-context.mjs +0 -14
  126. package/esm2022/lib/utils/create-injection-token.mjs +0 -47
  127. package/esm2022/lib/utils/safe-detect-changes.mjs +0 -17
  128. package/lib/directives/common.d.ts +0 -15
  129. package/lib/directives/key.d.ts +0 -10
  130. package/lib/directives/parent.d.ts +0 -11
  131. package/lib/directives/repeat.d.ts +0 -7
  132. package/lib/ref.d.ts +0 -8
  133. package/lib/renderer/store.d.ts +0 -67
  134. package/lib/utils/assert-injection-context.d.ts +0 -2
  135. package/lib/utils/create-injection-token.d.ts +0 -27
  136. package/lib/utils/safe-detect-changes.d.ts +0 -2
  137. package/plugin/src/generators/init-cannon/compat.js.map +0 -1
  138. package/plugin/src/generators/init-cannon/generator.d.ts +0 -2
  139. package/plugin/src/generators/init-cannon/generator.js +0 -22
  140. package/plugin/src/generators/init-cannon/generator.js.map +0 -1
  141. package/plugin/src/generators/init-cannon/schema.json +0 -6
  142. package/plugin/src/generators/init-postprocessing/compat.d.ts +0 -2
  143. package/plugin/src/generators/init-postprocessing/compat.js +0 -6
  144. package/plugin/src/generators/init-postprocessing/compat.js.map +0 -1
  145. package/plugin/src/generators/init-postprocessing/generator.d.ts +0 -2
  146. package/plugin/src/generators/init-postprocessing/generator.js +0 -20
  147. package/plugin/src/generators/init-postprocessing/generator.js.map +0 -1
  148. package/plugin/src/generators/init-postprocessing/schema.json +0 -6
  149. package/plugin/src/generators/init-soba/compat.d.ts +0 -2
  150. package/plugin/src/generators/init-soba/compat.js +0 -6
  151. package/plugin/src/generators/init-soba/compat.js.map +0 -1
  152. package/plugin/src/generators/init-soba/generator.d.ts +0 -2
  153. package/plugin/src/generators/init-soba/generator.js +0 -24
  154. package/plugin/src/generators/init-soba/generator.js.map +0 -1
  155. package/plugin/src/generators/init-soba/schema.json +0 -6
  156. package/plugin/src/generators/versions.d.ts +0 -12
  157. package/plugin/src/generators/versions.js +0 -16
  158. package/plugin/src/generators/versions.js.map +0 -1
  159. /package/plugin/src/generators/{init-cannon → add-soba}/compat.d.ts +0 -0
  160. /package/plugin/src/generators/{init-cannon → add-soba}/compat.js +0 -0
@@ -1,10 +1,11 @@
1
- import * as THREE from 'three';
1
+ import { MathUtils, OrthographicCamera, PerspectiveCamera, WebGLRenderer } from 'three';
2
+ import { is } from './is';
2
3
  const idCache = {};
3
4
  export function makeId(event) {
4
5
  if (event) {
5
6
  return (event.eventObject || event.object).uuid + '/' + event.index + event.instanceId;
6
7
  }
7
- const newId = THREE.MathUtils.generateUUID();
8
+ const newId = MathUtils.generateUUID();
8
9
  // ensure not already used
9
10
  if (!idCache[newId]) {
10
11
  idCache[newId] = true;
@@ -13,26 +14,28 @@ export function makeId(event) {
13
14
  return makeId();
14
15
  }
15
16
  export function makeDpr(dpr, window) {
16
- const target = window?.devicePixelRatio || 1;
17
+ // Err on the side of progress by assuming 2x dpr if we can't detect it
18
+ // This will happen in workers where window is defined but dpr isn't.
19
+ const target = typeof window !== 'undefined' ? (window.devicePixelRatio ?? 2) : 1;
17
20
  return Array.isArray(dpr) ? Math.min(Math.max(dpr[0], target), dpr[1]) : dpr;
18
21
  }
19
- export function makeDefaultCamera(isOrthographic, size) {
20
- if (isOrthographic)
21
- return new THREE.OrthographicCamera(0, 0, 0, 0, 0.1, 1000);
22
- return new THREE.PerspectiveCamera(75, size.width / size.height, 0.1, 1000);
23
- }
24
- export function makeDefaultRenderer(glOptions, canvasElement) {
25
- const customRenderer = (typeof glOptions === 'function' ? glOptions(canvasElement) : glOptions);
26
- if (customRenderer?.render != null)
22
+ export function makeRendererInstance(glOptions, canvas) {
23
+ const customRenderer = (typeof glOptions === 'function' ? glOptions(canvas) : glOptions);
24
+ if (is.renderer(customRenderer))
27
25
  return customRenderer;
28
- return new THREE.WebGLRenderer({
26
+ return new WebGLRenderer({
29
27
  powerPreference: 'high-performance',
30
- canvas: canvasElement,
28
+ canvas,
31
29
  antialias: true,
32
30
  alpha: true,
33
- ...(glOptions || {}),
31
+ ...glOptions,
34
32
  });
35
33
  }
34
+ export function makeCameraInstance(isOrthographic, size) {
35
+ if (isOrthographic)
36
+ return new OrthographicCamera(0, 0, 0, 0, 0.1, 1000);
37
+ return new PerspectiveCamera(75, size.width / size.height, 0.1, 1000);
38
+ }
36
39
  export function makeObjectGraph(object) {
37
40
  const data = { nodes: {}, materials: {} };
38
41
  if (object) {
@@ -40,11 +43,10 @@ export function makeObjectGraph(object) {
40
43
  if (child.name)
41
44
  data.nodes[child.name] = child;
42
45
  if ('material' in child && !data.materials[child.material.name]) {
43
- data.materials[child.material.name] = child
44
- .material;
46
+ data.materials[child.material.name] = child.material;
45
47
  }
46
48
  });
47
49
  }
48
50
  return data;
49
51
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL21ha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFLL0IsTUFBTSxPQUFPLEdBQTBDLEVBQUUsQ0FBQztBQUMxRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQXVCO0lBQzdDLElBQUksS0FBSyxFQUFFO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO0tBQ3ZGO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QywwQkFBMEI7SUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0tBQ2I7SUFDRCxPQUFPLE1BQU0sRUFBRSxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVcsRUFBRSxNQUFlO0lBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7SUFDN0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDOUUsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxjQUF1QixFQUFFLElBQWE7SUFDdkUsSUFBSSxjQUFjO1FBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9FLE9BQU8sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxTQUF1QixFQUFFLGFBQWdDO0lBQzVGLE1BQU0sY0FBYyxHQUFHLENBQ3RCLE9BQU8sU0FBUyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQy9DLENBQUM7SUFFekIsSUFBSSxjQUFjLEVBQUUsTUFBTSxJQUFJLElBQUk7UUFBRSxPQUFPLGNBQWMsQ0FBQztJQUUxRCxPQUFPLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUM5QixlQUFlLEVBQUUsa0JBQWtCO1FBQ25DLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztLQUNwQixDQUFDLENBQUM7QUFDSixDQUFDO0FBUUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFzQjtJQUNyRCxNQUFNLElBQUksR0FBaUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUV4RCxJQUFJLE1BQU0sRUFBRTtRQUNYLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUU7WUFDekMsSUFBSSxLQUFLLENBQUMsSUFBSTtnQkFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDL0MsSUFBSSxVQUFVLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBRyxLQUFvQixDQUFDLFFBQTJCLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3BHLElBQUksQ0FBQyxTQUFTLENBQUcsS0FBb0IsQ0FBQyxRQUEyQixDQUFDLElBQUksQ0FBQyxHQUFJLEtBQW9CO3FCQUM3RixRQUEwQixDQUFDO2FBQzdCO1FBQ0YsQ0FBQyxDQUFDLENBQUM7S0FDSDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB0eXBlIHsgTmd0R0xPcHRpb25zIH0gZnJvbSAnLi4vY2FudmFzJztcbmltcG9ydCB0eXBlIHsgTmd0SW50ZXJzZWN0aW9uIH0gZnJvbSAnLi4vZXZlbnRzJztcbmltcG9ydCB0eXBlIHsgTmd0RHByLCBOZ3RTaXplIH0gZnJvbSAnLi4vc3RvcmUnO1xuXG5jb25zdCBpZENhY2hlOiB7IFtpZDogc3RyaW5nXTogYm9vbGVhbiB8IHVuZGVmaW5lZCB9ID0ge307XG5leHBvcnQgZnVuY3Rpb24gbWFrZUlkKGV2ZW50PzogTmd0SW50ZXJzZWN0aW9uKTogc3RyaW5nIHtcblx0aWYgKGV2ZW50KSB7XG5cdFx0cmV0dXJuIChldmVudC5ldmVudE9iamVjdCB8fCBldmVudC5vYmplY3QpLnV1aWQgKyAnLycgKyBldmVudC5pbmRleCArIGV2ZW50Lmluc3RhbmNlSWQ7XG5cdH1cblxuXHRjb25zdCBuZXdJZCA9IFRIUkVFLk1hdGhVdGlscy5nZW5lcmF0ZVVVSUQoKTtcblx0Ly8gZW5zdXJlIG5vdCBhbHJlYWR5IHVzZWRcblx0aWYgKCFpZENhY2hlW25ld0lkXSkge1xuXHRcdGlkQ2FjaGVbbmV3SWRdID0gdHJ1ZTtcblx0XHRyZXR1cm4gbmV3SWQ7XG5cdH1cblx0cmV0dXJuIG1ha2VJZCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZURwcihkcHI6IE5ndERwciwgd2luZG93PzogV2luZG93KSB7XG5cdGNvbnN0IHRhcmdldCA9IHdpbmRvdz8uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxO1xuXHRyZXR1cm4gQXJyYXkuaXNBcnJheShkcHIpID8gTWF0aC5taW4oTWF0aC5tYXgoZHByWzBdLCB0YXJnZXQpLCBkcHJbMV0pIDogZHByO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZURlZmF1bHRDYW1lcmEoaXNPcnRob2dyYXBoaWM6IGJvb2xlYW4sIHNpemU6IE5ndFNpemUpIHtcblx0aWYgKGlzT3J0aG9ncmFwaGljKSByZXR1cm4gbmV3IFRIUkVFLk9ydGhvZ3JhcGhpY0NhbWVyYSgwLCAwLCAwLCAwLCAwLjEsIDEwMDApO1xuXHRyZXR1cm4gbmV3IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhKDc1LCBzaXplLndpZHRoIC8gc2l6ZS5oZWlnaHQsIDAuMSwgMTAwMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRGVmYXVsdFJlbmRlcmVyKGdsT3B0aW9uczogTmd0R0xPcHRpb25zLCBjYW52YXNFbGVtZW50OiBIVE1MQ2FudmFzRWxlbWVudCk6IFRIUkVFLldlYkdMUmVuZGVyZXIge1xuXHRjb25zdCBjdXN0b21SZW5kZXJlciA9IChcblx0XHR0eXBlb2YgZ2xPcHRpb25zID09PSAnZnVuY3Rpb24nID8gZ2xPcHRpb25zKGNhbnZhc0VsZW1lbnQpIDogZ2xPcHRpb25zXG5cdCkgYXMgVEhSRUUuV2ViR0xSZW5kZXJlcjtcblxuXHRpZiAoY3VzdG9tUmVuZGVyZXI/LnJlbmRlciAhPSBudWxsKSByZXR1cm4gY3VzdG9tUmVuZGVyZXI7XG5cblx0cmV0dXJuIG5ldyBUSFJFRS5XZWJHTFJlbmRlcmVyKHtcblx0XHRwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcblx0XHRjYW52YXM6IGNhbnZhc0VsZW1lbnQsXG5cdFx0YW50aWFsaWFzOiB0cnVlLFxuXHRcdGFscGhhOiB0cnVlLFxuXHRcdC4uLihnbE9wdGlvbnMgfHwge30pLFxuXHR9KTtcbn1cblxuZXhwb3J0IHR5cGUgTmd0T2JqZWN0TWFwID0ge1xuXHRub2RlczogeyBbbmFtZTogc3RyaW5nXTogVEhSRUUuT2JqZWN0M0QgfTtcblx0bWF0ZXJpYWxzOiB7IFtuYW1lOiBzdHJpbmddOiBUSFJFRS5NYXRlcmlhbCB9O1xuXHRba2V5OiBzdHJpbmddOiBhbnk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbWFrZU9iamVjdEdyYXBoKG9iamVjdDogVEhSRUUuT2JqZWN0M0QpOiBOZ3RPYmplY3RNYXAge1xuXHRjb25zdCBkYXRhOiBOZ3RPYmplY3RNYXAgPSB7IG5vZGVzOiB7fSwgbWF0ZXJpYWxzOiB7fSB9O1xuXG5cdGlmIChvYmplY3QpIHtcblx0XHRvYmplY3QudHJhdmVyc2UoKGNoaWxkOiBUSFJFRS5PYmplY3QzRCkgPT4ge1xuXHRcdFx0aWYgKGNoaWxkLm5hbWUpIGRhdGEubm9kZXNbY2hpbGQubmFtZV0gPSBjaGlsZDtcblx0XHRcdGlmICgnbWF0ZXJpYWwnIGluIGNoaWxkICYmICFkYXRhLm1hdGVyaWFsc1soKGNoaWxkIGFzIFRIUkVFLk1lc2gpLm1hdGVyaWFsIGFzIFRIUkVFLk1hdGVyaWFsKS5uYW1lXSkge1xuXHRcdFx0XHRkYXRhLm1hdGVyaWFsc1soKGNoaWxkIGFzIFRIUkVFLk1lc2gpLm1hdGVyaWFsIGFzIFRIUkVFLk1hdGVyaWFsKS5uYW1lXSA9IChjaGlsZCBhcyBUSFJFRS5NZXNoKVxuXHRcdFx0XHRcdC5tYXRlcmlhbCBhcyBUSFJFRS5NYXRlcmlhbDtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRyZXR1cm4gZGF0YTtcbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL21ha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFNBQVMsRUFBa0Isa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxILE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxPQUFPLEdBQTBDLEVBQUUsQ0FBQztBQUMxRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQXVCO0lBQzdDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDeEYsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QywwQkFBMEI7SUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxNQUFNLEVBQUUsQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFXLEVBQUUsTUFBZTtJQUNuRCx1RUFBdUU7SUFDdkUscUVBQXFFO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUM5RSxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNuQyxTQUF1QixFQUN2QixNQUFlO0lBRWYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFPLFNBQVMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFrQixDQUFDO0lBQzFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFBRSxPQUFPLGNBQWMsQ0FBQztJQUN2RCxPQUFPLElBQUksYUFBYSxDQUFDO1FBQ3hCLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMsTUFBTTtRQUNOLFNBQVMsRUFBRSxJQUFJO1FBQ2YsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLFNBQVM7S0FDWixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLGNBQXVCLEVBQUUsSUFBYTtJQUN4RSxJQUFJLGNBQWM7UUFBRSxPQUFPLElBQUksa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RSxPQUFPLElBQUksaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQVFELE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBZ0I7SUFDL0MsTUFBTSxJQUFJLEdBQWlCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFFeEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNuQyxJQUFJLEtBQUssQ0FBQyxJQUFJO2dCQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMvQyxJQUFJLFVBQVUsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFHLEtBQWMsQ0FBQyxRQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3pGLElBQUksQ0FBQyxTQUFTLENBQUcsS0FBYyxDQUFDLFFBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUksS0FBYyxDQUFDLFFBQW9CLENBQUM7WUFDcEcsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdGVyaWFsLCBNYXRoVXRpbHMsIE1lc2gsIE9iamVjdDNELCBPcnRob2dyYXBoaWNDYW1lcmEsIFBlcnNwZWN0aXZlQ2FtZXJhLCBXZWJHTFJlbmRlcmVyIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0Q2FudmFzRWxlbWVudCwgTmd0RHByLCBOZ3RHTE9wdGlvbnMsIE5ndEludGVyc2VjdGlvbiwgTmd0U2l6ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi9pcyc7XG5cbmNvbnN0IGlkQ2FjaGU6IHsgW2lkOiBzdHJpbmddOiBib29sZWFuIHwgdW5kZWZpbmVkIH0gPSB7fTtcbmV4cG9ydCBmdW5jdGlvbiBtYWtlSWQoZXZlbnQ/OiBOZ3RJbnRlcnNlY3Rpb24pOiBzdHJpbmcge1xuXHRpZiAoZXZlbnQpIHtcblx0XHRyZXR1cm4gKGV2ZW50LmV2ZW50T2JqZWN0IHx8IGV2ZW50Lm9iamVjdCkudXVpZCArICcvJyArIGV2ZW50LmluZGV4ICsgZXZlbnQuaW5zdGFuY2VJZDtcblx0fVxuXG5cdGNvbnN0IG5ld0lkID0gTWF0aFV0aWxzLmdlbmVyYXRlVVVJRCgpO1xuXHQvLyBlbnN1cmUgbm90IGFscmVhZHkgdXNlZFxuXHRpZiAoIWlkQ2FjaGVbbmV3SWRdKSB7XG5cdFx0aWRDYWNoZVtuZXdJZF0gPSB0cnVlO1xuXHRcdHJldHVybiBuZXdJZDtcblx0fVxuXHRyZXR1cm4gbWFrZUlkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRHByKGRwcjogTmd0RHByLCB3aW5kb3c/OiBXaW5kb3cpIHtcblx0Ly8gRXJyIG9uIHRoZSBzaWRlIG9mIHByb2dyZXNzIGJ5IGFzc3VtaW5nIDJ4IGRwciBpZiB3ZSBjYW4ndCBkZXRlY3QgaXRcblx0Ly8gVGhpcyB3aWxsIGhhcHBlbiBpbiB3b3JrZXJzIHdoZXJlIHdpbmRvdyBpcyBkZWZpbmVkIGJ1dCBkcHIgaXNuJ3QuXG5cdGNvbnN0IHRhcmdldCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvID8/IDIpIDogMTtcblx0cmV0dXJuIEFycmF5LmlzQXJyYXkoZHByKSA/IE1hdGgubWluKE1hdGgubWF4KGRwclswXSwgdGFyZ2V0KSwgZHByWzFdKSA6IGRwcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VSZW5kZXJlckluc3RhbmNlPFRDYW52YXMgZXh0ZW5kcyBOZ3RDYW52YXNFbGVtZW50Pihcblx0Z2xPcHRpb25zOiBOZ3RHTE9wdGlvbnMsXG5cdGNhbnZhczogVENhbnZhcyxcbik6IFdlYkdMUmVuZGVyZXIge1xuXHRjb25zdCBjdXN0b21SZW5kZXJlciA9ICh0eXBlb2YgZ2xPcHRpb25zID09PSAnZnVuY3Rpb24nID8gZ2xPcHRpb25zKGNhbnZhcykgOiBnbE9wdGlvbnMpIGFzIFdlYkdMUmVuZGVyZXI7XG5cdGlmIChpcy5yZW5kZXJlcihjdXN0b21SZW5kZXJlcikpIHJldHVybiBjdXN0b21SZW5kZXJlcjtcblx0cmV0dXJuIG5ldyBXZWJHTFJlbmRlcmVyKHtcblx0XHRwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcblx0XHRjYW52YXMsXG5cdFx0YW50aWFsaWFzOiB0cnVlLFxuXHRcdGFscGhhOiB0cnVlLFxuXHRcdC4uLmdsT3B0aW9ucyxcblx0fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlQ2FtZXJhSW5zdGFuY2UoaXNPcnRob2dyYXBoaWM6IGJvb2xlYW4sIHNpemU6IE5ndFNpemUpIHtcblx0aWYgKGlzT3J0aG9ncmFwaGljKSByZXR1cm4gbmV3IE9ydGhvZ3JhcGhpY0NhbWVyYSgwLCAwLCAwLCAwLCAwLjEsIDEwMDApO1xuXHRyZXR1cm4gbmV3IFBlcnNwZWN0aXZlQ2FtZXJhKDc1LCBzaXplLndpZHRoIC8gc2l6ZS5oZWlnaHQsIDAuMSwgMTAwMCk7XG59XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdE1hcCA9IHtcblx0bm9kZXM6IFJlY29yZDxzdHJpbmcsIE9iamVjdDNEPGFueT4+O1xuXHRtYXRlcmlhbHM6IFJlY29yZDxzdHJpbmcsIE1hdGVyaWFsPjtcblx0W2tleTogc3RyaW5nXTogYW55O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VPYmplY3RHcmFwaChvYmplY3Q6IE9iamVjdDNEKTogTmd0T2JqZWN0TWFwIHtcblx0Y29uc3QgZGF0YTogTmd0T2JqZWN0TWFwID0geyBub2Rlczoge30sIG1hdGVyaWFsczoge30gfTtcblxuXHRpZiAob2JqZWN0KSB7XG5cdFx0b2JqZWN0LnRyYXZlcnNlKChjaGlsZDogT2JqZWN0M0QpID0+IHtcblx0XHRcdGlmIChjaGlsZC5uYW1lKSBkYXRhLm5vZGVzW2NoaWxkLm5hbWVdID0gY2hpbGQ7XG5cdFx0XHRpZiAoJ21hdGVyaWFsJyBpbiBjaGlsZCAmJiAhZGF0YS5tYXRlcmlhbHNbKChjaGlsZCBhcyBNZXNoKS5tYXRlcmlhbCBhcyBNYXRlcmlhbCkubmFtZV0pIHtcblx0XHRcdFx0ZGF0YS5tYXRlcmlhbHNbKChjaGlsZCBhcyBNZXNoKS5tYXRlcmlhbCBhcyBNYXRlcmlhbCkubmFtZV0gPSAoY2hpbGQgYXMgTWVzaCkubWF0ZXJpYWwgYXMgTWF0ZXJpYWw7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGRhdGE7XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { toObservable } from '@angular/core/rxjs-interop';
2
+ import { assertInjector } from 'ngxtension/assert-injector';
3
+ import { map } from 'rxjs';
4
+ export function injectNonNullish$(sig, { injector } = {}) {
5
+ return assertInjector(injectNonNullish$, injector, () => toObservable(sig).pipe(map((val) => val != null)));
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9uLW51bGxpc2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9ub24tbnVsbGlzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0IsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQW9CLEVBQUUsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFDakcsT0FBTyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tm9uTnVsbGlzaCQoc2lnOiBTaWduYWw8dW5rbm93bj4sIHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSkge1xuXHRyZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0Tm9uTnVsbGlzaCQsIGluamVjdG9yLCAoKSA9PiB0b09ic2VydmFibGUoc2lnKS5waXBlKG1hcCgodmFsKSA9PiB2YWwgIT0gbnVsbCkpKTtcbn1cbiJdfQ==
@@ -0,0 +1,91 @@
1
+ import { afterNextRender, DestroyRef, Directive, effect, inject, Injector, model, output, Renderer2, } from '@angular/core';
2
+ import { assertInjector } from 'ngxtension/assert-injector';
3
+ import { resolveRef } from './resolve-ref';
4
+ import * as i0 from "@angular/core";
5
+ export class NgtObjectEvents {
6
+ constructor() {
7
+ this.click = output();
8
+ this.dblclick = output();
9
+ this.contextmenu = output();
10
+ this.pointerup = output();
11
+ this.pointerdown = output();
12
+ this.pointerover = output();
13
+ this.pointerout = output();
14
+ this.pointerenter = output();
15
+ this.pointerleave = output();
16
+ this.pointermove = output();
17
+ this.pointermissed = output();
18
+ this.pointercancel = output();
19
+ this.wheel = output();
20
+ // NOTE: we use model here to allow for the hostDirective host to set this value
21
+ this.ngtObjectEvents = model();
22
+ const injector = inject(Injector);
23
+ afterNextRender(() => {
24
+ injectObjectEvents(this.ngtObjectEvents, {
25
+ click: this.emitEvent('click'),
26
+ dblclick: this.emitEvent('dblclick'),
27
+ contextmenu: this.emitEvent('contextmenu'),
28
+ pointerup: this.emitEvent('pointerup'),
29
+ pointerdown: this.emitEvent('pointerdown'),
30
+ pointerover: this.emitEvent('pointerover'),
31
+ pointerout: this.emitEvent('pointerout'),
32
+ pointerenter: this.emitEvent('pointerenter'),
33
+ pointerleave: this.emitEvent('pointerleave'),
34
+ pointermove: this.emitEvent('pointermove'),
35
+ pointermissed: this.emitEvent('pointermissed'),
36
+ pointercancel: this.emitEvent('pointercancel'),
37
+ wheel: this.emitEvent('wheel'),
38
+ }, { injector });
39
+ });
40
+ }
41
+ emitEvent(eventName) {
42
+ return this[eventName].emit.bind(this[eventName]);
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgtObjectEvents, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.0", type: NgtObjectEvents, isStandalone: true, selector: "[ngtObjectEvents]", inputs: { ngtObjectEvents: { classPropertyName: "ngtObjectEvents", publicName: "ngtObjectEvents", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click", dblclick: "dblclick", contextmenu: "contextmenu", pointerup: "pointerup", pointerdown: "pointerdown", pointerover: "pointerover", pointerout: "pointerout", pointerenter: "pointerenter", pointerleave: "pointerleave", pointermove: "pointermove", pointermissed: "pointermissed", pointercancel: "pointercancel", wheel: "wheel", ngtObjectEvents: "ngtObjectEventsChange" }, ngImport: i0 }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgtObjectEvents, decorators: [{
48
+ type: Directive,
49
+ args: [{ standalone: true, selector: '[ngtObjectEvents]' }]
50
+ }], ctorParameters: () => [] });
51
+ export const NgtObjectEventsHostDirective = {
52
+ directive: NgtObjectEvents,
53
+ inputs: ['ngtObjectEvents'],
54
+ outputs: [
55
+ 'click',
56
+ 'dblclick',
57
+ 'contextmenu',
58
+ 'pointerup',
59
+ 'pointerdown',
60
+ 'pointerover',
61
+ 'pointerout',
62
+ 'pointerenter',
63
+ 'pointerleave',
64
+ 'pointermove',
65
+ 'pointermissed',
66
+ 'pointercancel',
67
+ 'wheel',
68
+ ],
69
+ };
70
+ export function injectObjectEvents(target, events, { injector } = {}) {
71
+ return assertInjector(injectObjectEvents, injector, () => {
72
+ const renderer = inject(Renderer2);
73
+ const cleanUps = [];
74
+ effect((onCleanup) => {
75
+ const targetRef = resolveRef(target());
76
+ if (!targetRef)
77
+ return;
78
+ Object.entries(events).forEach(([eventName, eventHandler]) => {
79
+ cleanUps.push(renderer.listen(targetRef, eventName, eventHandler));
80
+ });
81
+ onCleanup(() => {
82
+ cleanUps.forEach((cleanUp) => cleanUp());
83
+ });
84
+ });
85
+ inject(DestroyRef).onDestroy(() => {
86
+ cleanUps.forEach((cleanUp) => cleanUp());
87
+ });
88
+ return cleanUps;
89
+ });
90
+ }
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWV2ZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL29iamVjdC1ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFFTixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sZUFBZTtJQWtCM0I7UUFqQkEsVUFBSyxHQUFHLE1BQU0sRUFBNkIsQ0FBQztRQUM1QyxhQUFRLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBQy9DLGdCQUFXLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBQ2xELGNBQVMsR0FBRyxNQUFNLEVBQStCLENBQUM7UUFDbEQsZ0JBQVcsR0FBRyxNQUFNLEVBQStCLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxNQUFNLEVBQStCLENBQUM7UUFDcEQsZUFBVSxHQUFHLE1BQU0sRUFBK0IsQ0FBQztRQUNuRCxpQkFBWSxHQUFHLE1BQU0sRUFBK0IsQ0FBQztRQUNyRCxpQkFBWSxHQUFHLE1BQU0sRUFBK0IsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLE1BQU0sRUFBK0IsQ0FBQztRQUNwRCxrQkFBYSxHQUFHLE1BQU0sRUFBNkIsQ0FBQztRQUNwRCxrQkFBYSxHQUFHLE1BQU0sRUFBK0IsQ0FBQztRQUN0RCxVQUFLLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRTVDLGdGQUFnRjtRQUNoRixvQkFBZSxHQUFHLEtBQUssRUFBc0QsQ0FBQztRQUc3RSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7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RUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFFBQVEsQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRhZnRlck5leHRSZW5kZXIsXG5cdERlc3Ryb3lSZWYsXG5cdERpcmVjdGl2ZSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdEluamVjdG9yLFxuXHRtb2RlbCxcblx0b3V0cHV0LFxuXHRSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IgfSBmcm9tICduZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvcic7XG5pbXBvcnQgeyBPYmplY3QzRCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndEV2ZW50SGFuZGxlcnMsIE5ndFRocmVlRXZlbnQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyByZXNvbHZlUmVmIH0gZnJvbSAnLi9yZXNvbHZlLXJlZic7XG5cbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ1tuZ3RPYmplY3RFdmVudHNdJyB9KVxuZXhwb3J0IGNsYXNzIE5ndE9iamVjdEV2ZW50cyB7XG5cdGNsaWNrID0gb3V0cHV0PE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4+KCk7XG5cdGRibGNsaWNrID0gb3V0cHV0PE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4+KCk7XG5cdGNvbnRleHRtZW51ID0gb3V0cHV0PE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4+KCk7XG5cdHBvaW50ZXJ1cCA9IG91dHB1dDxOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4+KCk7XG5cdHBvaW50ZXJkb3duID0gb3V0cHV0PE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pj4oKTtcblx0cG9pbnRlcm92ZXIgPSBvdXRwdXQ8Tmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+PigpO1xuXHRwb2ludGVyb3V0ID0gb3V0cHV0PE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pj4oKTtcblx0cG9pbnRlcmVudGVyID0gb3V0cHV0PE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pj4oKTtcblx0cG9pbnRlcmxlYXZlID0gb3V0cHV0PE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pj4oKTtcblx0cG9pbnRlcm1vdmUgPSBvdXRwdXQ8Tmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+PigpO1xuXHRwb2ludGVybWlzc2VkID0gb3V0cHV0PE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4+KCk7XG5cdHBvaW50ZXJjYW5jZWwgPSBvdXRwdXQ8Tmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+PigpO1xuXHR3aGVlbCA9IG91dHB1dDxOZ3RUaHJlZUV2ZW50PFdoZWVsRXZlbnQ+PigpO1xuXG5cdC8vIE5PVEU6IHdlIHVzZSBtb2RlbCBoZXJlIHRvIGFsbG93IGZvciB0aGUgaG9zdERpcmVjdGl2ZSBob3N0IHRvIHNldCB0aGlzIHZhbHVlXG5cdG5ndE9iamVjdEV2ZW50cyA9IG1vZGVsPEVsZW1lbnRSZWY8T2JqZWN0M0Q+IHwgT2JqZWN0M0QgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG5cdFx0XHRpbmplY3RPYmplY3RFdmVudHMoXG5cdFx0XHRcdHRoaXMubmd0T2JqZWN0RXZlbnRzLFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0Y2xpY2s6IHRoaXMuZW1pdEV2ZW50KCdjbGljaycpLFxuXHRcdFx0XHRcdGRibGNsaWNrOiB0aGlzLmVtaXRFdmVudCgnZGJsY2xpY2snKSxcblx0XHRcdFx0XHRjb250ZXh0bWVudTogdGhpcy5lbWl0RXZlbnQoJ2NvbnRleHRtZW51JyksXG5cdFx0XHRcdFx0cG9pbnRlcnVwOiB0aGlzLmVtaXRFdmVudCgncG9pbnRlcnVwJyksXG5cdFx0XHRcdFx0cG9pbnRlcmRvd246IHRoaXMuZW1pdEV2ZW50KCdwb2ludGVyZG93bicpLFxuXHRcdFx0XHRcdHBvaW50ZXJvdmVyOiB0aGlzLmVtaXRFdmVudCgncG9pbnRlcm92ZXInKSxcblx0XHRcdFx0XHRwb2ludGVyb3V0OiB0aGlzLmVtaXRFdmVudCgncG9pbnRlcm91dCcpLFxuXHRcdFx0XHRcdHBvaW50ZXJlbnRlcjogdGhpcy5lbWl0RXZlbnQoJ3BvaW50ZXJlbnRlcicpLFxuXHRcdFx0XHRcdHBvaW50ZXJsZWF2ZTogdGhpcy5lbWl0RXZlbnQoJ3BvaW50ZXJsZWF2ZScpLFxuXHRcdFx0XHRcdHBvaW50ZXJtb3ZlOiB0aGlzLmVtaXRFdmVudCgncG9pbnRlcm1vdmUnKSxcblx0XHRcdFx0XHRwb2ludGVybWlzc2VkOiB0aGlzLmVtaXRFdmVudCgncG9pbnRlcm1pc3NlZCcpLFxuXHRcdFx0XHRcdHBvaW50ZXJjYW5jZWw6IHRoaXMuZW1pdEV2ZW50KCdwb2ludGVyY2FuY2VsJyksXG5cdFx0XHRcdFx0d2hlZWw6IHRoaXMuZW1pdEV2ZW50KCd3aGVlbCcpLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7IGluamVjdG9yIH0sXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBlbWl0RXZlbnQ8VEV2ZW50IGV4dGVuZHMga2V5b2YgTmd0RXZlbnRIYW5kbGVycz4oZXZlbnROYW1lOiBURXZlbnQpIHtcblx0XHRyZXR1cm4gdGhpc1tldmVudE5hbWVdLmVtaXQuYmluZCh0aGlzW2V2ZW50TmFtZV0pIGFzIE5ndEV2ZW50SGFuZGxlcnNbVEV2ZW50XTtcblx0fVxufVxuXG5leHBvcnQgY29uc3QgTmd0T2JqZWN0RXZlbnRzSG9zdERpcmVjdGl2ZSA9IHtcblx0ZGlyZWN0aXZlOiBOZ3RPYmplY3RFdmVudHMsXG5cdGlucHV0czogWyduZ3RPYmplY3RFdmVudHMnXSxcblx0b3V0cHV0czogW1xuXHRcdCdjbGljaycsXG5cdFx0J2RibGNsaWNrJyxcblx0XHQnY29udGV4dG1lbnUnLFxuXHRcdCdwb2ludGVydXAnLFxuXHRcdCdwb2ludGVyZG93bicsXG5cdFx0J3BvaW50ZXJvdmVyJyxcblx0XHQncG9pbnRlcm91dCcsXG5cdFx0J3BvaW50ZXJlbnRlcicsXG5cdFx0J3BvaW50ZXJsZWF2ZScsXG5cdFx0J3BvaW50ZXJtb3ZlJyxcblx0XHQncG9pbnRlcm1pc3NlZCcsXG5cdFx0J3BvaW50ZXJjYW5jZWwnLFxuXHRcdCd3aGVlbCcsXG5cdF0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0T2JqZWN0RXZlbnRzKFxuXHR0YXJnZXQ6ICgpID0+IEVsZW1lbnRSZWY8T2JqZWN0M0Q+IHwgT2JqZWN0M0QgfCBudWxsIHwgdW5kZWZpbmVkLFxuXHRldmVudHM6IE5ndEV2ZW50SGFuZGxlcnMsXG5cdHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRyZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0T2JqZWN0RXZlbnRzLCBpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cblx0XHRjb25zdCBjbGVhblVwczogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCB0YXJnZXRSZWYgPSByZXNvbHZlUmVmKHRhcmdldCgpKTtcblxuXHRcdFx0aWYgKCF0YXJnZXRSZWYpIHJldHVybjtcblxuXHRcdFx0T2JqZWN0LmVudHJpZXMoZXZlbnRzKS5mb3JFYWNoKChbZXZlbnROYW1lLCBldmVudEhhbmRsZXJdKSA9PiB7XG5cdFx0XHRcdGNsZWFuVXBzLnB1c2gocmVuZGVyZXIubGlzdGVuKHRhcmdldFJlZiwgZXZlbnROYW1lLCBldmVudEhhbmRsZXIpKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRvbkNsZWFudXAoKCkgPT4ge1xuXHRcdFx0XHRjbGVhblVwcy5mb3JFYWNoKChjbGVhblVwKSA9PiBjbGVhblVwKCkpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHtcblx0XHRcdGNsZWFuVXBzLmZvckVhY2goKGNsZWFuVXApID0+IGNsZWFuVXAoKSk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gY2xlYW5VcHM7XG5cdH0pO1xufVxuIl19
@@ -0,0 +1,70 @@
1
+ import { computed } from '@angular/core';
2
+ import { Vector2, Vector3, Vector4 } 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
+ function createVectorComputed(vectorCtor) {
36
+ return ((inputOrOptions, keyOrKeepUndefined, keepUndefined) => {
37
+ if (typeof keyOrKeepUndefined === 'undefined' || typeof keyOrKeepUndefined === 'boolean') {
38
+ keepUndefined = !!keyOrKeepUndefined;
39
+ const input = inputOrOptions;
40
+ return computed(() => {
41
+ const value = input();
42
+ if (keepUndefined && value == undefined)
43
+ return undefined;
44
+ if (typeof value === 'number')
45
+ return new vectorCtor().setScalar(value);
46
+ else if (value)
47
+ return new vectorCtor(...value);
48
+ else
49
+ return new vectorCtor();
50
+ }, { equal: (a, b) => !!a && !!b && a.equals(b) });
51
+ }
52
+ const options = inputOrOptions;
53
+ const key = keyOrKeepUndefined;
54
+ return computed(() => {
55
+ const value = options()[key];
56
+ if (keepUndefined && value == undefined)
57
+ return undefined;
58
+ if (typeof value === 'number')
59
+ return new vectorCtor().setScalar(value);
60
+ else if (value)
61
+ return new vectorCtor(...value);
62
+ else
63
+ return new vectorCtor();
64
+ }, { equal: (a, b) => !!a && !!b && a.equals(b) });
65
+ });
66
+ }
67
+ export const vector2 = createVectorComputed(Vector2);
68
+ export const vector3 = createVectorComputed(Vector3);
69
+ export const vector4 = createVectorComputed(Vector4);
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3BhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBZWxELE1BQU0sVUFBVSxJQUFJLENBQUMsS0FBeUIsRUFBRSxVQUFvQjtJQUNuRSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDcEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsRUFBa0IsQ0FBQztRQUVsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUFFLFNBQVM7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBVUQsTUFBTSxVQUFVLElBQUksQ0FBQyxLQUF5QixFQUFFLFNBQTRCO0lBQzNFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUNwQixNQUFNLE1BQU0sR0FBRyxFQUFrQixDQUFDO1lBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7Z0JB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QyxFQUFFLENBQ3JELENBQUM7SUFDSCxDQUFDLENBQTJDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIFNpZ25hbCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmVjdG9yMiwgVmVjdG9yMywgVmVjdG9yNCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndFZlY3RvcjIsIE5ndFZlY3RvcjMsIE5ndFZlY3RvcjQgfSBmcm9tICcuLi90aHJlZS10eXBlcyc7XG5pbXBvcnQgeyBOZ3RBbnlSZWNvcmQgfSBmcm9tICcuLi90eXBlcyc7XG5cbnR5cGUgS2V5c09mVHlwZTxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0LCBUVHlwZT4gPSBFeGNsdWRlPFxuXHR7XG5cdFx0W0sgaW4ga2V5b2YgVE9iamVjdF06IFRPYmplY3RbS10gZXh0ZW5kcyBUVHlwZSB8IHVuZGVmaW5lZCB8IG51bGwgPyBLIDogbmV2ZXI7XG5cdH1ba2V5b2YgVE9iamVjdF0sXG5cdHVuZGVmaW5lZFxuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIG9taXQ8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVEtleXMgZXh0ZW5kcyAoa2V5b2YgVE9iamVjdClbXT4oXG5cdG9iakZuOiAoKSA9PiBUT2JqZWN0LFxuXHRrZXlzVG9PbWl0OiBUS2V5cyxcbik6IFNpZ25hbDxPbWl0PFRPYmplY3QsIFRLZXlzW251bWJlcl0+PjtcbmV4cG9ydCBmdW5jdGlvbiBvbWl0KG9iakZuOiAoKSA9PiBOZ3RBbnlSZWNvcmQsIGtleXNUb09taXQ6IHN0cmluZ1tdKSB7XG5cdHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3Qgb2JqID0gb2JqRm4oKTtcblx0XHRjb25zdCByZXN1bHQgPSB7fSBhcyBOZ3RBbnlSZWNvcmQ7XG5cblx0XHRmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XG5cdFx0XHRpZiAoa2V5c1RvT21pdC5pbmNsdWRlcyhrZXkpKSBjb250aW51ZTtcblx0XHRcdE9iamVjdC5hc3NpZ24ocmVzdWx0LCB7IFtrZXldOiBvYmpba2V5XSB9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBpY2s8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVEtleSBleHRlbmRzIGtleW9mIFRPYmplY3Q+KFxuXHRvYmpGbjogKCkgPT4gVE9iamVjdCxcblx0a2V5OiBUS2V5LFxuKTogU2lnbmFsPFRPYmplY3RbVEtleV0+O1xuZXhwb3J0IGZ1bmN0aW9uIHBpY2s8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVEtleXMgZXh0ZW5kcyAoa2V5b2YgVE9iamVjdClbXT4oXG5cdG9iakZuOiAoKSA9PiBUT2JqZWN0LFxuXHRrZXlzOiBUS2V5cyxcbik6IFNpZ25hbDxQaWNrPFRPYmplY3QsIFRLZXlzW251bWJlcl0+PjtcbmV4cG9ydCBmdW5jdGlvbiBwaWNrKG9iakZuOiAoKSA9PiBOZ3RBbnlSZWNvcmQsIGtleU9yS2V5czogc3RyaW5nIHwgc3RyaW5nW10pIHtcblx0aWYgKEFycmF5LmlzQXJyYXkoa2V5T3JLZXlzKSkge1xuXHRcdHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCBvYmogPSBvYmpGbigpO1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0ge30gYXMgTmd0QW55UmVjb3JkO1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgb2Yga2V5T3JLZXlzKSB7XG5cdFx0XHRcdGlmICghKGtleSBpbiBvYmopKSBjb250aW51ZTtcblx0XHRcdFx0T2JqZWN0LmFzc2lnbihyZXN1bHQsIHsgW2tleV06IG9ialtrZXldIH0pO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9KTtcblx0fVxuXG5cdHJldHVybiBjb21wdXRlZCgoKSA9PiBvYmpGbigpW2tleU9yS2V5c10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8VE9iamVjdCBleHRlbmRzIG9iamVjdD4oXG5cdG9iakZuOiAoKSA9PiBUT2JqZWN0LFxuXHR0b01lcmdlOiBQYXJ0aWFsPFRPYmplY3Q+LFxuXHRtb2RlOiAnb3ZlcnJpZGUnIHwgJ2JhY2tmaWxsJyA9ICdvdmVycmlkZScsXG4pIHtcblx0aWYgKG1vZGUgPT09ICdvdmVycmlkZScpIHJldHVybiBjb21wdXRlZCgoKSA9PiAoeyAuLi5vYmpGbigpLCAuLi50b01lcmdlIH0pKTtcblx0cmV0dXJuIGNvbXB1dGVkKCgpID0+ICh7IC4uLnRvTWVyZ2UsIC4uLm9iakZuKCkgfSkpO1xufVxuXG50eXBlIE5ndFZlY3RvckNvbXB1dGVkPFxuXHRUVmVjdG9yIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0LFxuXHRUTmd0VmVjdG9yID0gVFZlY3RvciBleHRlbmRzIFZlY3RvcjIgPyBOZ3RWZWN0b3IyIDogVFZlY3RvciBleHRlbmRzIFZlY3RvcjMgPyBOZ3RWZWN0b3IzIDogTmd0VmVjdG9yNCxcbj4gPSB7XG5cdChpbnB1dDogU2lnbmFsPFROZ3RWZWN0b3I+KTogU2lnbmFsPFRWZWN0b3I+O1xuXHQoaW5wdXQ6IFNpZ25hbDxUTmd0VmVjdG9yPiwga2VlcFVuZGVmaW5lZDogdHJ1ZSk6IFNpZ25hbDxUVmVjdG9yIHwgdW5kZWZpbmVkPjtcblx0PFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KG9wdGlvbnM6IFNpZ25hbDxUT2JqZWN0Piwga2V5OiBLZXlzT2ZUeXBlPFRPYmplY3QsIFROZ3RWZWN0b3I+KTogU2lnbmFsPFRWZWN0b3I+O1xuXHQ8VE9iamVjdCBleHRlbmRzIG9iamVjdD4oXG5cdFx0b3B0aW9uczogU2lnbmFsPFRPYmplY3Q+LFxuXHRcdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBUTmd0VmVjdG9yPixcblx0XHRrZWVwVW5kZWZpbmVkOiB0cnVlLFxuXHQpOiBTaWduYWw8VFZlY3RvciB8IHVuZGVmaW5lZD47XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVWZWN0b3JDb21wdXRlZDxUVmVjdG9yIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0Pih2ZWN0b3JDdG9yOiBUeXBlPFRWZWN0b3I+KSB7XG5cdHR5cGUgVE5ndFZlY3RvciA9IFRWZWN0b3IgZXh0ZW5kcyBWZWN0b3IyID8gTmd0VmVjdG9yMiA6IFRWZWN0b3IgZXh0ZW5kcyBWZWN0b3IzID8gTmd0VmVjdG9yMyA6IE5ndFZlY3RvcjQ7XG5cdHJldHVybiAoKFxuXHRcdGlucHV0T3JPcHRpb25zOiBTaWduYWw8Tmd0QW55UmVjb3JkPiB8IFNpZ25hbDxUTmd0VmVjdG9yPixcblx0XHRrZXlPcktlZXBVbmRlZmluZWQ/OiBzdHJpbmcgfCB0cnVlLFxuXHRcdGtlZXBVbmRlZmluZWQ/OiBib29sZWFuLFxuXHQpID0+IHtcblx0XHRpZiAodHlwZW9mIGtleU9yS2VlcFVuZGVmaW5lZCA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIGtleU9yS2VlcFVuZGVmaW5lZCA9PT0gJ2Jvb2xlYW4nKSB7XG5cdFx0XHRrZWVwVW5kZWZpbmVkID0gISFrZXlPcktlZXBVbmRlZmluZWQ7XG5cdFx0XHRjb25zdCBpbnB1dCA9IGlucHV0T3JPcHRpb25zIGFzIFNpZ25hbDxUTmd0VmVjdG9yPjtcblx0XHRcdHJldHVybiBjb21wdXRlZChcblx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gaW5wdXQoKTtcblx0XHRcdFx0XHRpZiAoa2VlcFVuZGVmaW5lZCAmJiB2YWx1ZSA9PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHJldHVybiBuZXcgdmVjdG9yQ3RvcigpLnNldFNjYWxhcih2YWx1ZSk7XG5cdFx0XHRcdFx0ZWxzZSBpZiAodmFsdWUpIHJldHVybiBuZXcgdmVjdG9yQ3RvciguLi4odmFsdWUgYXMgYW55KSk7XG5cdFx0XHRcdFx0ZWxzZSByZXR1cm4gbmV3IHZlY3RvckN0b3IoKTtcblx0XHRcdFx0fSxcblx0XHRcdFx0eyBlcXVhbDogKGEsIGIpID0+ICEhYSAmJiAhIWIgJiYgYS5lcXVhbHMoYiBhcyBhbnkpIH0sXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9wdGlvbnMgPSBpbnB1dE9yT3B0aW9ucyBhcyBTaWduYWw8Tmd0QW55UmVjb3JkPjtcblx0XHRjb25zdCBrZXkgPSBrZXlPcktlZXBVbmRlZmluZWQgYXMgc3RyaW5nO1xuXG5cdFx0cmV0dXJuIGNvbXB1dGVkKFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IG9wdGlvbnMoKVtrZXldO1xuXHRcdFx0XHRpZiAoa2VlcFVuZGVmaW5lZCAmJiB2YWx1ZSA9PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSByZXR1cm4gbmV3IHZlY3RvckN0b3IoKS5zZXRTY2FsYXIodmFsdWUpO1xuXHRcdFx0XHRlbHNlIGlmICh2YWx1ZSkgcmV0dXJuIG5ldyB2ZWN0b3JDdG9yKC4uLih2YWx1ZSBhcyBhbnkpKTtcblx0XHRcdFx0ZWxzZSByZXR1cm4gbmV3IHZlY3RvckN0b3IoKTtcblx0XHRcdH0sXG5cdFx0XHR7IGVxdWFsOiAoYSwgYikgPT4gISFhICYmICEhYiAmJiBhLmVxdWFscyhiIGFzIGFueSkgfSxcblx0XHQpO1xuXHR9KSBhcyBOZ3RWZWN0b3JDb21wdXRlZDxUVmVjdG9yLCBUTmd0VmVjdG9yPjtcbn1cblxuZXhwb3J0IGNvbnN0IHZlY3RvcjIgPSBjcmVhdGVWZWN0b3JDb21wdXRlZChWZWN0b3IyKTtcbmV4cG9ydCBjb25zdCB2ZWN0b3IzID0gY3JlYXRlVmVjdG9yQ29tcHV0ZWQoVmVjdG9yMyk7XG5leHBvcnQgY29uc3QgdmVjdG9yNCA9IGNyZWF0ZVZlY3RvckNvbXB1dGVkKFZlY3RvcjQpO1xuIl19
@@ -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
- const setter = (_source) => (state) => {
4
- const updater = (previous) => {
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
- untracked(() => {
15
- _source.update((previous) => ({ ...previous, ...updater(previous) }));
16
- });
17
- };
18
- const patcher = (_source) => (state) => {
19
- const updater = (previous) => {
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
- untracked(() => {
29
- _source.update((previous) => ({ ...updater(previous), ...previous }));
30
- });
31
- };
32
- const getter = (_source) => (...keys) => {
33
- const root = untracked(_source);
34
- if (keys.length === 0)
35
- return root;
36
- return keys.reduce((value, key) => value[key], root);
37
- };
38
- const selector = (_state, computedCache) => (...keysAndOptions) => {
39
- if (keysAndOptions.length === 0)
40
- return _state;
41
- if (keysAndOptions.length === 1 && typeof keysAndOptions[0] === 'object') {
42
- const cachedKey = STORE_COMPUTED_KEY.concat(JSON.stringify(keysAndOptions[0]));
43
- if (!computedCache.has(cachedKey)) {
44
- computedCache.set(cachedKey, computed(_state, keysAndOptions));
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
- return computedCache.get(cachedKey);
47
- }
48
- const [keys, options] = parseStoreOptions(keysAndOptions);
49
- const joinedKeys = keys.join('-');
50
- const cachedKeys = joinedKeys.concat(options ? JSON.stringify(options) : '');
51
- if (!computedCache.has(cachedKeys)) {
52
- computedCache.set(cachedKeys, computed(() => keys.reduce((value, key) => value[key], _state()), options));
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 computedCache.get(cachedKeys);
55
- };
55
+ return [keysAndOptions, { equal: Object.is }];
56
+ }
56
57
  export function signalStore(initialState = {}, options) {
57
58
  let source;
58
- let set;
59
+ let update;
59
60
  let get;
60
- let patch;
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
- set = setter(source);
65
- patch = patcher(source);
66
- source.set(initialState({ set, get, patch }));
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
- set = setter(source);
72
- patch = patcher(source);
79
+ update = updater(source);
80
+ select = selector(state, computedCache);
73
81
  }
74
- const state = source.asReadonly();
75
- const computedCache = new Map();
76
- const store = { select: selector(state, computedCache), get, set, patch, state };
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=
@@ -7,13 +7,16 @@ export function checkNeedsUpdate(value) {
7
7
  }
8
8
  }
9
9
  export function checkUpdate(value) {
10
- if (is.object3D(value))
11
- value.updateMatrix();
10
+ // TODO (chau): this is messing with PivotControls. Re-evaluate later
11
+ // if (is.object3D(value)) value.updateMatrix();
12
12
  if (is.camera(value)) {
13
13
  if (is.perspectiveCamera(value) || is.orthographicCamera(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWM7SUFDOUMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxJQUFLLEtBQXNCLEVBQUU7UUFDL0UsS0FBc0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUMsSUFBSSxvQkFBb0IsSUFBSyxLQUFzQjtZQUFHLEtBQXNCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDMUc7QUFDRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFjO0lBQ3pDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFN0MsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7WUFBRSxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoRyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztLQUMxQjtJQUVELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQXVCLEVBQUUsSUFBYTtJQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNuQixJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDOUIsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNqQzs7WUFBTSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVoRCxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztLQUMzQjtBQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5ndENhbWVyYU1hbnVhbCwgTmd0U2l6ZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXMgfSBmcm9tICcuL2lzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrTmVlZHNVcGRhdGUodmFsdWU6IHVua25vd24pIHtcblx0aWYgKHZhbHVlICE9PSBudWxsICYmIGlzLm9iaih2YWx1ZSkgJiYgJ25lZWRzVXBkYXRlJyBpbiAodmFsdWUgYXMgTmd0QW55UmVjb3JkKSkge1xuXHRcdCh2YWx1ZSBhcyBOZ3RBbnlSZWNvcmQpWyduZWVkc1VwZGF0ZSddID0gdHJ1ZTtcblx0XHRpZiAoJ3VuaWZvcm1zTmVlZFVwZGF0ZScgaW4gKHZhbHVlIGFzIE5ndEFueVJlY29yZCkpICh2YWx1ZSBhcyBOZ3RBbnlSZWNvcmQpWyd1bmlmb3Jtc05lZWRVcGRhdGUnXSA9IHRydWU7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrVXBkYXRlKHZhbHVlOiB1bmtub3duKSB7XG5cdGlmIChpcy5vYmplY3QzRCh2YWx1ZSkpIHZhbHVlLnVwZGF0ZU1hdHJpeCgpO1xuXG5cdGlmIChpcy5jYW1lcmEodmFsdWUpKSB7XG5cdFx0aWYgKGlzLnBlcnNwZWN0aXZlQ2FtZXJhKHZhbHVlKSB8fCBpcy5vcnRob2dyYXBoaWNDYW1lcmEodmFsdWUpKSB2YWx1ZS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG5cdFx0dmFsdWUudXBkYXRlTWF0cml4V29ybGQoKTtcblx0fVxuXG5cdGNoZWNrTmVlZHNVcGRhdGUodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2FtZXJhKGNhbWVyYTogTmd0Q2FtZXJhTWFudWFsLCBzaXplOiBOZ3RTaXplKSB7XG5cdGlmICghY2FtZXJhLm1hbnVhbCkge1xuXHRcdGlmIChpcy5vcnRob2dyYXBoaWNDYW1lcmEoY2FtZXJhKSkge1xuXHRcdFx0Y2FtZXJhLmxlZnQgPSBzaXplLndpZHRoIC8gLTI7XG5cdFx0XHRjYW1lcmEucmlnaHQgPSBzaXplLndpZHRoIC8gMjtcblx0XHRcdGNhbWVyYS50b3AgPSBzaXplLmhlaWdodCAvIDI7XG5cdFx0XHRjYW1lcmEuYm90dG9tID0gc2l6ZS5oZWlnaHQgLyAtMjtcblx0XHR9IGVsc2UgY2FtZXJhLmFzcGVjdCA9IHNpemUud2lkdGggLyBzaXplLmhlaWdodDtcblxuXHRcdGNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG5cdFx0Y2FtZXJhLnVwZGF0ZU1hdHJpeFdvcmxkKCk7XG5cdH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWM7SUFDOUMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQy9ELEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxvQkFBb0IsSUFBSSxLQUFLO1lBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3ZFLENBQUM7QUFDRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFjO0lBQ3pDLHFFQUFxRTtJQUNyRSxnREFBZ0Q7SUFFaEQsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEIsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztZQUFFLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hHLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsSUFBSSxLQUFLLElBQUssS0FBcUIsQ0FBQyxhQUFhO1FBQUUsT0FBTztJQUUxRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUF1QixFQUFFLElBQWE7SUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDN0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUMsQ0FBQztRQUVELE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzVCLENBQUM7QUFDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3ViZVRleHR1cmUgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RDYW1lcmFNYW51YWwsIE5ndFNpemUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpcyB9IGZyb20gJy4vaXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tOZWVkc1VwZGF0ZSh2YWx1ZTogdW5rbm93bikge1xuXHRpZiAodmFsdWUgIT09IG51bGwgJiYgaXMub2JqKHZhbHVlKSAmJiAnbmVlZHNVcGRhdGUnIGluIHZhbHVlKSB7XG5cdFx0dmFsdWVbJ25lZWRzVXBkYXRlJ10gPSB0cnVlO1xuXHRcdGlmICgndW5pZm9ybXNOZWVkVXBkYXRlJyBpbiB2YWx1ZSkgdmFsdWVbJ3VuaWZvcm1zTmVlZFVwZGF0ZSddID0gdHJ1ZTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tVcGRhdGUodmFsdWU6IHVua25vd24pIHtcblx0Ly8gVE9ETyAoY2hhdSk6IHRoaXMgaXMgbWVzc2luZyB3aXRoIFBpdm90Q29udHJvbHMuIFJlLWV2YWx1YXRlIGxhdGVyXG5cdC8vIGlmIChpcy5vYmplY3QzRCh2YWx1ZSkpIHZhbHVlLnVwZGF0ZU1hdHJpeCgpO1xuXG5cdGlmIChpcy5jYW1lcmEodmFsdWUpKSB7XG5cdFx0aWYgKGlzLnBlcnNwZWN0aXZlQ2FtZXJhKHZhbHVlKSB8fCBpcy5vcnRob2dyYXBoaWNDYW1lcmEodmFsdWUpKSB2YWx1ZS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG5cdFx0dmFsdWUudXBkYXRlTWF0cml4V29ybGQoKTtcblx0fVxuXG5cdC8vIE5PVEU6IHNraXAgY2hlY2tOZWVkc1VwZGF0ZSBmb3IgQ3ViZVRleHR1cmVcblx0aWYgKHZhbHVlICYmICh2YWx1ZSBhcyBDdWJlVGV4dHVyZSkuaXNDdWJlVGV4dHVyZSkgcmV0dXJuO1xuXG5cdGNoZWNrTmVlZHNVcGRhdGUodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2FtZXJhKGNhbWVyYTogTmd0Q2FtZXJhTWFudWFsLCBzaXplOiBOZ3RTaXplKSB7XG5cdGlmICghY2FtZXJhLm1hbnVhbCkge1xuXHRcdGlmIChpcy5vcnRob2dyYXBoaWNDYW1lcmEoY2FtZXJhKSkge1xuXHRcdFx0Y2FtZXJhLmxlZnQgPSBzaXplLndpZHRoIC8gLTI7XG5cdFx0XHRjYW1lcmEucmlnaHQgPSBzaXplLndpZHRoIC8gMjtcblx0XHRcdGNhbWVyYS50b3AgPSBzaXplLmhlaWdodCAvIDI7XG5cdFx0XHRjYW1lcmEuYm90dG9tID0gc2l6ZS5oZWlnaHQgLyAtMjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2FtZXJhLmFzcGVjdCA9IHNpemUud2lkdGggLyBzaXplLmhlaWdodDtcblx0XHR9XG5cblx0XHRjYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuXHRcdGNhbWVyYS51cGRhdGVNYXRyaXhXb3JsZCgpO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1uYXRpdmVzY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmF0aXZlc2NyaXB0L3NyYy9hbmd1bGFyLXRocmVlLW5hdGl2ZXNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './lib/canvas';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmF0aXZlc2NyaXB0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NhbnZhcyc7XG4iXX0=