@spearwolf/shadow-objects 0.30.2 → 0.32.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 (122) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/bundle.js +13 -13
  3. package/package.json +3 -3
  4. package/src/bundle.js +4 -4
  5. package/src/bundle.js.map +7 -1
  6. package/src/constants.js +53 -40
  7. package/src/constants.js.map +7 -1
  8. package/src/create-worker.bundle.js +6 -8
  9. package/src/create-worker.bundle.js.map +7 -1
  10. package/src/create-worker.js +5 -2
  11. package/src/create-worker.js.map +7 -1
  12. package/src/elements/ShaeElement.js +57 -54
  13. package/src/elements/ShaeElement.js.map +7 -1
  14. package/src/elements/ShaeEntElement.d.ts.map +1 -1
  15. package/src/elements/ShaeEntElement.js +320 -341
  16. package/src/elements/ShaeEntElement.js.map +7 -1
  17. package/src/elements/ShaePropElement.js +312 -320
  18. package/src/elements/ShaePropElement.js.map +7 -1
  19. package/src/elements/ShaeWorkerElement.js +234 -229
  20. package/src/elements/ShaeWorkerElement.js.map +7 -1
  21. package/src/elements/constants.js +37 -22
  22. package/src/elements/constants.js.map +7 -1
  23. package/src/elements/events.d.ts +1 -1
  24. package/src/elements/events.d.ts.map +1 -1
  25. package/src/elements/events.js +1 -2
  26. package/src/elements/events.js.map +7 -1
  27. package/src/elements.js +4 -4
  28. package/src/elements.js.map +7 -1
  29. package/src/in-the-dark/Entity.d.ts +1 -1
  30. package/src/in-the-dark/Entity.d.ts.map +1 -1
  31. package/src/in-the-dark/Entity.js +299 -293
  32. package/src/in-the-dark/Entity.js.map +7 -1
  33. package/src/in-the-dark/Kernel.d.ts.map +1 -1
  34. package/src/in-the-dark/Kernel.js +556 -533
  35. package/src/in-the-dark/Kernel.js.map +7 -1
  36. package/src/in-the-dark/Registry.d.ts.map +1 -1
  37. package/src/in-the-dark/Registry.js +101 -104
  38. package/src/in-the-dark/Registry.js.map +7 -1
  39. package/src/in-the-dark/ShadowObject.d.ts.map +1 -1
  40. package/src/in-the-dark/ShadowObject.js +21 -23
  41. package/src/in-the-dark/ShadowObject.js.map +7 -1
  42. package/src/in-the-dark/SignalsPath.d.ts.map +1 -1
  43. package/src/in-the-dark/SignalsPath.js +139 -123
  44. package/src/in-the-dark/SignalsPath.js.map +7 -1
  45. package/src/in-the-dark/events.js +11 -9
  46. package/src/in-the-dark/events.js.map +7 -1
  47. package/src/in-the-dark/importModule.js +31 -29
  48. package/src/in-the-dark/importModule.js.map +7 -1
  49. package/src/index.d.ts +2 -2
  50. package/src/index.d.ts.map +1 -1
  51. package/src/index.js +14 -14
  52. package/src/index.js.map +7 -1
  53. package/src/shadow-objects.js +6 -6
  54. package/src/shadow-objects.js.map +7 -1
  55. package/src/shadow-objects.worker.js +3 -3
  56. package/src/shadow-objects.worker.js.map +7 -1
  57. package/src/shae-ent.js +3 -3
  58. package/src/shae-ent.js.map +7 -1
  59. package/src/shae-prop.js +3 -3
  60. package/src/shae-prop.js.map +7 -1
  61. package/src/shae-worker.js +3 -3
  62. package/src/shae-worker.js.map +7 -1
  63. package/src/types.d.ts +3 -2
  64. package/src/types.d.ts.map +1 -1
  65. package/src/types.js +1 -2
  66. package/src/types.js.map +7 -1
  67. package/src/utils/ConsoleLogger.js +179 -185
  68. package/src/utils/ConsoleLogger.js.map +7 -1
  69. package/src/utils/FrameLoop.js +41 -40
  70. package/src/utils/FrameLoop.js.map +7 -1
  71. package/src/utils/array-utils.js +22 -24
  72. package/src/utils/array-utils.js.map +7 -1
  73. package/src/utils/attr-utils.js +15 -11
  74. package/src/utils/attr-utils.js.map +7 -1
  75. package/src/utils/constants.js +5 -2
  76. package/src/utils/constants.js.map +7 -1
  77. package/src/utils/generateUUID.d.ts.map +1 -1
  78. package/src/utils/generateUUID.js +269 -32
  79. package/src/utils/generateUUID.js.map +7 -1
  80. package/src/utils/props-utils.js +34 -43
  81. package/src/utils/props-utils.js.map +7 -1
  82. package/src/utils/toMaybe.js +5 -2
  83. package/src/utils/toMaybe.js.map +7 -1
  84. package/src/utils/toNamespace.js +6 -3
  85. package/src/utils/toNamespace.js.map +7 -1
  86. package/src/utils/toUrlString.js +9 -6
  87. package/src/utils/toUrlString.js.map +7 -1
  88. package/src/utils/waitForMessageOfType.js +30 -32
  89. package/src/utils/waitForMessageOfType.js.map +7 -1
  90. package/src/view/ComponentChanges.d.ts +1 -1
  91. package/src/view/ComponentChanges.d.ts.map +1 -1
  92. package/src/view/ComponentChanges.js +249 -251
  93. package/src/view/ComponentChanges.js.map +7 -1
  94. package/src/view/ComponentContext.d.ts.map +1 -1
  95. package/src/view/ComponentContext.js +303 -331
  96. package/src/view/ComponentContext.js.map +7 -1
  97. package/src/view/ComponentMemory.d.ts +1 -0
  98. package/src/view/ComponentMemory.d.ts.map +1 -1
  99. package/src/view/ComponentMemory.js +73 -76
  100. package/src/view/ComponentMemory.js.map +7 -1
  101. package/src/view/IShadowObjectEnvProxy.js +1 -2
  102. package/src/view/IShadowObjectEnvProxy.js.map +7 -1
  103. package/src/view/LocalShadowObjectEnv.d.ts.map +1 -1
  104. package/src/view/LocalShadowObjectEnv.js +57 -52
  105. package/src/view/LocalShadowObjectEnv.js.map +7 -1
  106. package/src/view/RemoteWorkerEnv.js +134 -123
  107. package/src/view/RemoteWorkerEnv.js.map +7 -1
  108. package/src/view/ShadowEnv.d.ts.map +1 -1
  109. package/src/view/ShadowEnv.js +232 -228
  110. package/src/view/ShadowEnv.js.map +7 -1
  111. package/src/view/ViewComponent.d.ts +9 -0
  112. package/src/view/ViewComponent.d.ts.map +1 -1
  113. package/src/view/ViewComponent.js +142 -130
  114. package/src/view/ViewComponent.js.map +7 -1
  115. package/src/view/cloneChangeTrail.js +13 -11
  116. package/src/view/cloneChangeTrail.js.map +7 -1
  117. package/src/worker/MessageRouter.d.ts.map +1 -1
  118. package/src/worker/MessageRouter.js +78 -67
  119. package/src/worker/MessageRouter.js.map +7 -1
  120. package/src/worker/WorkerRuntime.js +22 -21
  121. package/src/worker/WorkerRuntime.js.map +7 -1
  122. package/tsconfig.lib.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@spearwolf/shadow-objects",
3
3
  "description": "a reactive entity-component framework that feels at home in the shadows",
4
4
  "homepage": "https://github.com/spearwolf/shadow-objects/",
5
- "version": "0.30.2",
5
+ "version": "0.32.0",
6
6
  "author": {
7
7
  "name": "Wolfger Schramm",
8
8
  "email": "wolfger@spearwolf.de",
@@ -69,7 +69,7 @@
69
69
  "src/shae-worker.js"
70
70
  ],
71
71
  "dependencies": {
72
- "@spearwolf/eventize": "^4.0.2",
73
- "@spearwolf/signalize": "^0.27.2"
72
+ "@spearwolf/eventize": "^5.0.0",
73
+ "@spearwolf/signalize": "^0.29.0"
74
74
  }
75
75
  }
package/src/bundle.js CHANGED
@@ -1,5 +1,5 @@
1
- import './shae-ent.js';
2
- import './shae-prop.js';
3
- import './shae-worker.js';
1
+ import "./shae-ent.js";
2
+ import "./shae-prop.js";
3
+ import "./shae-worker.js";
4
4
  globalThis.SHADOW_ENTS_BUNDLE_LOADED = true;
5
- //# sourceMappingURL=bundle.js.map
5
+ //# sourceMappingURL=bundle.js.map
package/src/bundle.js.map CHANGED
@@ -1 +1,7 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAO1B,UAAU,CAAC,yBAAyB,GAAG,IAAI,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/bundle.ts"],
4
+ "sourcesContent": ["import './shae-ent.js';\nimport './shae-prop.js';\nimport './shae-worker.js';\n\ndeclare global {\n // eslint-disable-next-line no-var\n var SHADOW_ENTS_BUNDLE_LOADED: boolean;\n}\n\nglobalThis.SHADOW_ENTS_BUNDLE_LOADED = true;"],
5
+ "mappings": "AAAA,OAAO;AACP,OAAO;AACP,OAAO;AAOP,WAAW,4BAA4B;",
6
+ "names": []
7
+ }
package/src/constants.js CHANGED
@@ -1,40 +1,53 @@
1
- export var ChangeTrailPhase;
2
- (function (ChangeTrailPhase) {
3
- ChangeTrailPhase[ChangeTrailPhase["StructuralChanges"] = 1] = "StructuralChanges";
4
- ChangeTrailPhase[ChangeTrailPhase["ContentUpdates"] = 2] = "ContentUpdates";
5
- ChangeTrailPhase[ChangeTrailPhase["Removal"] = 3] = "Removal";
6
- })(ChangeTrailPhase || (ChangeTrailPhase = {}));
7
- export var ComponentChangeType;
8
- (function (ComponentChangeType) {
9
- ComponentChangeType[ComponentChangeType["CreateEntities"] = 1] = "CreateEntities";
10
- ComponentChangeType[ComponentChangeType["DestroyEntities"] = 2] = "DestroyEntities";
11
- ComponentChangeType[ComponentChangeType["SetParent"] = 3] = "SetParent";
12
- ComponentChangeType[ComponentChangeType["UpdateOrder"] = 4] = "UpdateOrder";
13
- ComponentChangeType[ComponentChangeType["ChangeProperties"] = 5] = "ChangeProperties";
14
- ComponentChangeType[ComponentChangeType["ChangeToken"] = 6] = "ChangeToken";
15
- ComponentChangeType[ComponentChangeType["SendEvents"] = 7] = "SendEvents";
16
- })(ComponentChangeType || (ComponentChangeType = {}));
17
- export const GlobalNS = Symbol.for('ShadowEntsGlobalNS');
18
- export const VoidToken = '#void';
19
- /**
20
- * The event is dispatched by {@link ComponentContext.reCreateChanges} and forwarded to all {@link ViewComponent}.
21
- * The event itself has no other data.
22
- */
23
- export const ContextLost = 'contextLost';
24
- export const Configure = 'configure';
25
- export const ChangeTrail = 'changeTrail';
26
- export const Destroy = 'destroy';
27
- export const Loaded = 'loaded';
28
- export const AppliedChangeTrail = 'appliedChangeTrail';
29
- export const ImportedModule = 'importedModule';
30
- export const Destroyed = 'destroyed';
31
- /**
32
- * The `messageToView` event is fired when the kernel receives a message from an entity (to its view component counterpart)
33
- */
34
- export const MessageToView = 'messageToView';
35
- export const WorkerLoadTimeout = 60000;
36
- export const WorkerConfigureTimeout = 60000;
37
- export const WorkerChangeTrailTimeout = 5000;
38
- export const WorkerDestroyTimeout = 5000;
39
- export const ShadowObjectsExport = 'shadowObjects';
40
- //# sourceMappingURL=constants.js.map
1
+ var ChangeTrailPhase = /* @__PURE__ */ ((ChangeTrailPhase2) => {
2
+ ChangeTrailPhase2[ChangeTrailPhase2["StructuralChanges"] = 1] = "StructuralChanges";
3
+ ChangeTrailPhase2[ChangeTrailPhase2["ContentUpdates"] = 2] = "ContentUpdates";
4
+ ChangeTrailPhase2[ChangeTrailPhase2["Removal"] = 3] = "Removal";
5
+ return ChangeTrailPhase2;
6
+ })(ChangeTrailPhase || {});
7
+ var ComponentChangeType = /* @__PURE__ */ ((ComponentChangeType2) => {
8
+ ComponentChangeType2[ComponentChangeType2["CreateEntities"] = 1] = "CreateEntities";
9
+ ComponentChangeType2[ComponentChangeType2["DestroyEntities"] = 2] = "DestroyEntities";
10
+ ComponentChangeType2[ComponentChangeType2["SetParent"] = 3] = "SetParent";
11
+ ComponentChangeType2[ComponentChangeType2["UpdateOrder"] = 4] = "UpdateOrder";
12
+ ComponentChangeType2[ComponentChangeType2["ChangeProperties"] = 5] = "ChangeProperties";
13
+ ComponentChangeType2[ComponentChangeType2["ChangeToken"] = 6] = "ChangeToken";
14
+ ComponentChangeType2[ComponentChangeType2["SendEvents"] = 7] = "SendEvents";
15
+ return ComponentChangeType2;
16
+ })(ComponentChangeType || {});
17
+ const GlobalNS = /* @__PURE__ */ Symbol.for("ShadowEntsGlobalNS");
18
+ const VoidToken = "#void";
19
+ const ContextLost = "contextLost";
20
+ const Configure = "configure";
21
+ const ChangeTrail = "changeTrail";
22
+ const Destroy = "destroy";
23
+ const Loaded = "loaded";
24
+ const AppliedChangeTrail = "appliedChangeTrail";
25
+ const ImportedModule = "importedModule";
26
+ const Destroyed = "destroyed";
27
+ const MessageToView = "messageToView";
28
+ const WorkerLoadTimeout = 6e4;
29
+ const WorkerConfigureTimeout = 6e4;
30
+ const WorkerChangeTrailTimeout = 5e3;
31
+ const WorkerDestroyTimeout = 5e3;
32
+ const ShadowObjectsExport = "shadowObjects";
33
+ export {
34
+ AppliedChangeTrail,
35
+ ChangeTrail,
36
+ ChangeTrailPhase,
37
+ ComponentChangeType,
38
+ Configure,
39
+ ContextLost,
40
+ Destroy,
41
+ Destroyed,
42
+ GlobalNS,
43
+ ImportedModule,
44
+ Loaded,
45
+ MessageToView,
46
+ ShadowObjectsExport,
47
+ VoidToken,
48
+ WorkerChangeTrailTimeout,
49
+ WorkerConfigureTimeout,
50
+ WorkerDestroyTimeout,
51
+ WorkerLoadTimeout
52
+ };
53
+ //# sourceMappingURL=constants.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,iFAAqB,CAAA;IACrB,2EAAc,CAAA;IACd,6DAAO,CAAA;AACT,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,iFAAkB,CAAA;IAClB,mFAAe,CAAA;IACf,uEAAS,CAAA;IACT,2EAAW,CAAA;IACX,qFAAgB,CAAA;IAChB,2EAAW,CAAA;IACX,yEAAU,CAAA;AACZ,CAAC,EARW,mBAAmB,KAAnB,mBAAmB,QAQ9B;AAED,MAAM,CAAC,MAAM,QAAQ,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AAEjC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACvC,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAC7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants.ts"],
4
+ "sourcesContent": ["import type {NamespaceType} from './types.ts';\n\nexport enum ChangeTrailPhase {\n StructuralChanges = 1,\n ContentUpdates,\n Removal,\n}\n\nexport enum ComponentChangeType {\n CreateEntities = 1,\n DestroyEntities,\n SetParent,\n UpdateOrder,\n ChangeProperties,\n ChangeToken,\n SendEvents,\n}\n\nexport const GlobalNS: NamespaceType = Symbol.for('ShadowEntsGlobalNS');\n\nexport const VoidToken = '#void';\n\n/**\n * The event is dispatched by {@link ComponentContext.reCreateChanges} and forwarded to all {@link ViewComponent}.\n * The event itself has no other data.\n */\nexport const ContextLost = 'contextLost';\n\nexport const Configure = 'configure';\nexport const ChangeTrail = 'changeTrail';\nexport const Destroy = 'destroy';\n\nexport const Loaded = 'loaded';\nexport const AppliedChangeTrail = 'appliedChangeTrail';\nexport const ImportedModule = 'importedModule';\nexport const Destroyed = 'destroyed';\n\n/**\n * The `messageToView` event is fired when the kernel receives a message from an entity (to its view component counterpart)\n */\nexport const MessageToView = 'messageToView';\n\nexport const WorkerLoadTimeout = 60000;\nexport const WorkerConfigureTimeout = 60000;\nexport const WorkerChangeTrailTimeout = 5000;\nexport const WorkerDestroyTimeout = 5000;\n\nexport const ShadowObjectsExport = 'shadowObjects';"],
5
+ "mappings": "AAEO,IAAK,mBAAL,kBAAKA,sBAAL;AACL,EAAAA,oCAAA,uBAAoB,KAApB;AACA,EAAAA,oCAAA;AACA,EAAAA,oCAAA;AAHU,SAAAA;AAAA,GAAA;AAML,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,0CAAA,oBAAiB,KAAjB;AACA,EAAAA,0CAAA;AACA,EAAAA,0CAAA;AACA,EAAAA,0CAAA;AACA,EAAAA,0CAAA;AACA,EAAAA,0CAAA;AACA,EAAAA,0CAAA;AAPU,SAAAA;AAAA,GAAA;AAUL,MAAM,WAA0B,uBAAO,IAAI,oBAAoB;AAE/D,MAAM,YAAY;AAMlB,MAAM,cAAc;AAEpB,MAAM,YAAY;AAClB,MAAM,cAAc;AACpB,MAAM,UAAU;AAEhB,MAAM,SAAS;AACf,MAAM,qBAAqB;AAC3B,MAAM,iBAAiB;AACvB,MAAM,YAAY;AAKlB,MAAM,gBAAgB;AAEtB,MAAM,oBAAoB;AAC1B,MAAM,yBAAyB;AAC/B,MAAM,2BAA2B;AACjC,MAAM,uBAAuB;AAE7B,MAAM,sBAAsB;",
6
+ "names": ["ChangeTrailPhase", "ComponentChangeType"]
7
+ }
@@ -1,8 +1,6 @@
1
- // @ts-ignore
2
- import Worker from './bundle.worker.js';
3
- // This module is converted to __inline__ worker code using the esbuild-plugin-inline-worker plugin.
4
- // It is done in the `bundle.mjs` build script.
5
- //
6
- // `worker/WorkerRuntime.ts` => `shadow-objects.worker.js` => `bundle.worker.js`
7
- export default () => new Worker();
8
- //# sourceMappingURL=create-worker.bundle.js.map
1
+ import Worker from "./bundle.worker.js";
2
+ var create_worker_bundle_default = () => new Worker();
3
+ export {
4
+ create_worker_bundle_default as default
5
+ };
6
+ //# sourceMappingURL=create-worker.bundle.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"create-worker.bundle.js","sourceRoot":"","sources":["../../src/create-worker.bundle.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,oGAAoG;AACpG,+CAA+C;AAC/C,EAAE;AACF,gFAAgF;AAEhF,eAAe,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/create-worker.bundle.ts"],
4
+ "sourcesContent": ["// @ts-ignore\nimport Worker from './bundle.worker.js';\n\n// This module is converted to __inline__ worker code using the esbuild-plugin-inline-worker plugin.\n// It is done in the `bundle.mjs` build script.\n//\n// `worker/WorkerRuntime.ts` => `shadow-objects.worker.js` => `bundle.worker.js`\n\nexport default () => new Worker();"],
5
+ "mappings": "AACA,OAAO,YAAY;AAOnB,IAAO,+BAAQ,MAAM,IAAI,OAAO;",
6
+ "names": []
7
+ }
@@ -1,2 +1,5 @@
1
- export default () => new Worker(new URL('./shadow-objects.worker.js', import.meta.url), { type: 'module' });
2
- //# sourceMappingURL=create-worker.js.map
1
+ var create_worker_default = () => new Worker(new URL("./shadow-objects.worker.js", import.meta.url), { type: "module" });
2
+ export {
3
+ create_worker_default as default
4
+ };
5
+ //# sourceMappingURL=create-worker.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"create-worker.js","sourceRoot":"","sources":["../../src/create-worker.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/create-worker.ts"],
4
+ "sourcesContent": ["export default () => new Worker(new URL('./shadow-objects.worker.js', import.meta.url), {type: 'module'});"],
5
+ "mappings": "AAAA,IAAO,wBAAQ,MAAM,IAAI,OAAO,IAAI,IAAI,8BAA8B,YAAY,GAAG,GAAG,EAAC,MAAM,SAAQ,CAAC;",
6
+ "names": []
7
+ }
@@ -1,63 +1,66 @@
1
- import { createSignal, Signal } from '@spearwolf/signalize';
2
- import { GlobalNS } from '../constants.js';
3
- import { readNamespaceAttribute } from '../utils/attr-utils.js';
4
- import { toNamespace } from '../utils/toNamespace.js';
5
- import { ShadowEnv } from '../view/ShadowEnv.js';
6
- import { ATTR_NS } from './constants.js';
1
+ import { createSignal, Signal } from "@spearwolf/signalize";
2
+ import { GlobalNS } from "../constants.js";
3
+ import { readNamespaceAttribute } from "../utils/attr-utils.js";
4
+ import { toNamespace } from "../utils/toNamespace.js";
5
+ import { ShadowEnv } from "../view/ShadowEnv.js";
6
+ import { ATTR_NS } from "./constants.js";
7
7
  const updateNamespace = (el, ns) => {
8
- ns.set(readNamespaceAttribute(el));
8
+ ns.set(readNamespaceAttribute(el));
9
9
  };
10
- const SyncNamespaces = new Set();
10
+ const SyncNamespaces = /* @__PURE__ */ new Set();
11
11
  let nextSyncIsScheduled = false;
12
12
  const syncShadowObjects = (ns) => {
13
- SyncNamespaces.add(ns);
14
- if (!nextSyncIsScheduled) {
15
- nextSyncIsScheduled = true;
16
- queueMicrotask(() => {
17
- nextSyncIsScheduled = false;
18
- for (const ns of SyncNamespaces) {
19
- ShadowEnv.get(ns)?.sync();
20
- }
21
- SyncNamespaces.clear();
22
- });
23
- }
13
+ SyncNamespaces.add(ns);
14
+ if (!nextSyncIsScheduled) {
15
+ nextSyncIsScheduled = true;
16
+ queueMicrotask(() => {
17
+ nextSyncIsScheduled = false;
18
+ for (const ns2 of SyncNamespaces) {
19
+ ShadowEnv.get(ns2)?.sync();
20
+ }
21
+ SyncNamespaces.clear();
22
+ });
23
+ }
24
24
  };
25
- export class ShaeElement extends HTMLElement {
26
- static { this.observedAttributes = [ATTR_NS]; }
27
- get ns() {
28
- return this.ns$.value;
29
- }
30
- set ns(ns) {
31
- if (typeof ns === 'symbol') {
32
- this.ns$.set(ns);
33
- }
34
- else {
35
- this.ns$.set(toNamespace(ns));
25
+ class ShaeElement extends HTMLElement {
26
+ constructor() {
27
+ super();
28
+ this.isShaeElement = true;
29
+ this.ns$ = createSignal(GlobalNS);
30
+ this.ns$.onChange((ns) => {
31
+ if (typeof ns === "string" && ns.length > 0) {
32
+ if (this.getAttribute(ATTR_NS) !== ns) {
33
+ this.setAttribute(ATTR_NS, ns);
36
34
  }
35
+ } else {
36
+ this.removeAttribute(ATTR_NS);
37
+ }
38
+ });
39
+ updateNamespace(this, this.ns$);
40
+ }
41
+ static {
42
+ this.observedAttributes = [ATTR_NS];
43
+ }
44
+ get ns() {
45
+ return this.ns$.value;
46
+ }
47
+ set ns(ns) {
48
+ if (typeof ns === "symbol") {
49
+ this.ns$.set(ns);
50
+ } else {
51
+ this.ns$.set(toNamespace(ns));
37
52
  }
38
- constructor() {
39
- super();
40
- this.isShaeElement = true;
41
- this.ns$ = createSignal(GlobalNS);
42
- this.ns$.onChange((ns) => {
43
- if (typeof ns === 'string' && ns.length > 0) {
44
- if (this.getAttribute(ATTR_NS) !== ns) {
45
- this.setAttribute(ATTR_NS, ns);
46
- }
47
- }
48
- else {
49
- this.removeAttribute(ATTR_NS);
50
- }
51
- });
52
- updateNamespace(this, this.ns$);
53
- }
54
- attributeChangedCallback(name) {
55
- if (name === ATTR_NS) {
56
- updateNamespace(this, this.ns$);
57
- }
58
- }
59
- syncShadowObjects() {
60
- syncShadowObjects(this.ns);
53
+ }
54
+ attributeChangedCallback(name) {
55
+ if (name === ATTR_NS) {
56
+ updateNamespace(this, this.ns$);
61
57
  }
58
+ }
59
+ syncShadowObjects() {
60
+ syncShadowObjects(this.ns);
61
+ }
62
62
  }
63
- //# sourceMappingURL=ShaeElement.js.map
63
+ export {
64
+ ShaeElement
65
+ };
66
+ //# sourceMappingURL=ShaeElement.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"ShaeElement.js","sourceRoot":"","sources":["../../../src/elements/ShaeElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAyB,EAAE,EAAE;IACrE,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;AAChD,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,EAAiB,EAAE,EAAE;IAC9C,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,mBAAmB,GAAG,IAAI,CAAC;QAC3B,cAAc,CAAC,GAAG,EAAE;YAClB,mBAAmB,GAAG,KAAK,CAAC;YAC5B,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;gBAChC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YAC5B,CAAC;YACD,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,OAAO,WAAY,SAAQ,WAAW;aACnC,uBAAkB,GAAG,CAAC,OAAO,CAAC,AAAZ,CAAa;IAMtC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,EAAE,CAAC,EAAiB;QACtB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAjBD,kBAAa,GAAG,IAAI,CAAC;QAErB,QAAG,GAAG,YAAY,CAAgB,QAAQ,CAAC,CAAC;QAiBnD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,wBAAwB,CAAC,IAAY;QACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/elements/ShaeElement.ts"],
4
+ "sourcesContent": ["import {createSignal, Signal} from '@spearwolf/signalize';\nimport {GlobalNS} from '../constants.js';\nimport type {NamespaceType} from '../types.ts';\nimport {readNamespaceAttribute} from '../utils/attr-utils.js';\nimport {toNamespace} from '../utils/toNamespace.js';\nimport {ShadowEnv} from '../view/ShadowEnv.js';\nimport {ATTR_NS} from './constants.js';\n\nconst updateNamespace = (el: HTMLElement, ns: Signal<NamespaceType>) => {\n ns.set(readNamespaceAttribute(el));\n};\n\nconst SyncNamespaces = new Set<NamespaceType>();\nlet nextSyncIsScheduled = false;\n\nconst syncShadowObjects = (ns: NamespaceType) => {\n SyncNamespaces.add(ns);\n if (!nextSyncIsScheduled) {\n nextSyncIsScheduled = true;\n queueMicrotask(() => {\n nextSyncIsScheduled = false;\n for (const ns of SyncNamespaces) {\n ShadowEnv.get(ns)?.sync();\n }\n SyncNamespaces.clear();\n });\n }\n};\n\nexport class ShaeElement extends HTMLElement {\n static observedAttributes = [ATTR_NS];\n\n readonly isShaeElement = true;\n\n readonly ns$ = createSignal<NamespaceType>(GlobalNS);\n\n get ns(): NamespaceType {\n return this.ns$.value;\n }\n\n set ns(ns: NamespaceType) {\n if (typeof ns === 'symbol') {\n this.ns$.set(ns);\n } else {\n this.ns$.set(toNamespace(ns));\n }\n }\n\n constructor() {\n super();\n\n this.ns$.onChange((ns) => {\n if (typeof ns === 'string' && ns.length > 0) {\n if (this.getAttribute(ATTR_NS) !== ns) {\n this.setAttribute(ATTR_NS, ns);\n }\n } else {\n this.removeAttribute(ATTR_NS);\n }\n });\n\n updateNamespace(this, this.ns$);\n }\n\n attributeChangedCallback(name: string) {\n if (name === ATTR_NS) {\n updateNamespace(this, this.ns$);\n }\n }\n\n syncShadowObjects() {\n syncShadowObjects(this.ns);\n }\n}"],
5
+ "mappings": "AAAA,SAAQ,cAAc,cAAa;AACnC,SAAQ,gBAAe;AAEvB,SAAQ,8BAA6B;AACrC,SAAQ,mBAAkB;AAC1B,SAAQ,iBAAgB;AACxB,SAAQ,eAAc;AAEtB,MAAM,kBAAkB,CAAC,IAAiB,OAA8B;AACtE,KAAG,IAAI,uBAAuB,EAAE,CAAC;AACnC;AAEA,MAAM,iBAAiB,oBAAI,IAAmB;AAC9C,IAAI,sBAAsB;AAE1B,MAAM,oBAAoB,CAAC,OAAsB;AAC/C,iBAAe,IAAI,EAAE;AACrB,MAAI,CAAC,qBAAqB;AACxB,0BAAsB;AACtB,mBAAe,MAAM;AACnB,4BAAsB;AACtB,iBAAWA,OAAM,gBAAgB;AAC/B,kBAAU,IAAIA,GAAE,GAAG,KAAK;AAAA,MAC1B;AACA,qBAAe,MAAM;AAAA,IACvB,CAAC;AAAA,EACH;AACF;AAEO,MAAM,oBAAoB,YAAY;AAAA,EAmB3C,cAAc;AACZ,UAAM;AAjBR,SAAS,gBAAgB;AAEzB,SAAS,MAAM,aAA4B,QAAQ;AAiBjD,SAAK,IAAI,SAAS,CAAC,OAAO;AACxB,UAAI,OAAO,OAAO,YAAY,GAAG,SAAS,GAAG;AAC3C,YAAI,KAAK,aAAa,OAAO,MAAM,IAAI;AACrC,eAAK,aAAa,SAAS,EAAE;AAAA,QAC/B;AAAA,MACF,OAAO;AACL,aAAK,gBAAgB,OAAO;AAAA,MAC9B;AAAA,IACF,CAAC;AAED,oBAAgB,MAAM,KAAK,GAAG;AAAA,EAChC;AAAA,EAhCA;AAAA,SAAO,qBAAqB,CAAC,OAAO;AAAA;AAAA,EAMpC,IAAI,KAAoB;AACtB,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,GAAG,IAAmB;AACxB,QAAI,OAAO,OAAO,UAAU;AAC1B,WAAK,IAAI,IAAI,EAAE;AAAA,IACjB,OAAO;AACL,WAAK,IAAI,IAAI,YAAY,EAAE,CAAC;AAAA,IAC9B;AAAA,EACF;AAAA,EAkBA,yBAAyB,MAAc;AACrC,QAAI,SAAS,SAAS;AACpB,sBAAgB,MAAM,KAAK,GAAG;AAAA,IAChC;AAAA,EACF;AAAA,EAEA,oBAAoB;AAClB,sBAAkB,KAAK,EAAE;AAAA,EAC3B;AACF;",
6
+ "names": ["ns"]
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ShaeEntElement.d.ts","sourceRoot":"","sources":["../../../src/elements/ShaeEntElement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAG7C,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,OAAgB,kBAAkB,WAA+E;IAEjH,QAAQ,CAAC,gBAAgB,QAAQ;IAEjC,QAAQ,CAAC,iBAAiB,0DAAgD;IAC1E,QAAQ,CAAC,cAAc,uDAA6C;IACpE,QAAQ,CAAC,MAAM,gDAAsC;IACrD,QAAQ,CAAC,oBAAoB,+DAA8C;IAE3E,IAAI,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAEnD;IAED,IAAI,aAAa,IAAI,aAAa,GAAG,SAAS,CAE7C;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAElC;IAED,aAAa,CAAC,EAAE,cAAc,CAAC;;IAkJ/B,kBAAkB,IAAI,WAAW,GAAG,SAAS;IAmB7C,SAAS,CAAC,wBAAwB;IAMlC,iBAAiB;IAmDjB,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,IAAI;IAUrD,wBAAwB,CAAC,IAAI,EAAE,MAAM;IAS9C,oBAAoB;CAgJrB"}
1
+ {"version":3,"file":"ShaeEntElement.d.ts","sourceRoot":"","sources":["../../../src/elements/ShaeEntElement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,OAAgB,kBAAkB,WAA+E;IAEjH,QAAQ,CAAC,gBAAgB,QAAQ;IAEjC,QAAQ,CAAC,iBAAiB,0DAAgD;IAC1E,QAAQ,CAAC,cAAc,uDAA6C;IACpE,QAAQ,CAAC,MAAM,gDAAsC;IACrD,QAAQ,CAAC,oBAAoB,+DAA8C;IAE3E,IAAI,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAEnD;IAED,IAAI,aAAa,IAAI,aAAa,GAAG,SAAS,CAE7C;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAElC;IAED,aAAa,CAAC,EAAE,cAAc,CAAC;;IAkJ/B,kBAAkB,IAAI,WAAW,GAAG,SAAS;IAmB7C,SAAS,CAAC,wBAAwB;IAMlC,iBAAiB;IAmDjB,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,IAAI;IAUrD,wBAAwB,CAAC,IAAI,EAAE,MAAM;IAS9C,oBAAoB;CAgJrB"}