@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.
- package/CHANGELOG.md +23 -1
- package/bundle.js +13 -13
- package/package.json +3 -3
- package/src/bundle.js +4 -4
- package/src/bundle.js.map +7 -1
- package/src/constants.js +53 -40
- package/src/constants.js.map +7 -1
- package/src/create-worker.bundle.js +6 -8
- package/src/create-worker.bundle.js.map +7 -1
- package/src/create-worker.js +5 -2
- package/src/create-worker.js.map +7 -1
- package/src/elements/ShaeElement.js +57 -54
- package/src/elements/ShaeElement.js.map +7 -1
- package/src/elements/ShaeEntElement.d.ts.map +1 -1
- package/src/elements/ShaeEntElement.js +320 -341
- package/src/elements/ShaeEntElement.js.map +7 -1
- package/src/elements/ShaePropElement.js +312 -320
- package/src/elements/ShaePropElement.js.map +7 -1
- package/src/elements/ShaeWorkerElement.js +234 -229
- package/src/elements/ShaeWorkerElement.js.map +7 -1
- package/src/elements/constants.js +37 -22
- package/src/elements/constants.js.map +7 -1
- package/src/elements/events.d.ts +1 -1
- package/src/elements/events.d.ts.map +1 -1
- package/src/elements/events.js +1 -2
- package/src/elements/events.js.map +7 -1
- package/src/elements.js +4 -4
- package/src/elements.js.map +7 -1
- package/src/in-the-dark/Entity.d.ts +1 -1
- package/src/in-the-dark/Entity.d.ts.map +1 -1
- package/src/in-the-dark/Entity.js +299 -293
- package/src/in-the-dark/Entity.js.map +7 -1
- package/src/in-the-dark/Kernel.d.ts.map +1 -1
- package/src/in-the-dark/Kernel.js +556 -533
- package/src/in-the-dark/Kernel.js.map +7 -1
- package/src/in-the-dark/Registry.d.ts.map +1 -1
- package/src/in-the-dark/Registry.js +101 -104
- package/src/in-the-dark/Registry.js.map +7 -1
- package/src/in-the-dark/ShadowObject.d.ts.map +1 -1
- package/src/in-the-dark/ShadowObject.js +21 -23
- package/src/in-the-dark/ShadowObject.js.map +7 -1
- package/src/in-the-dark/SignalsPath.d.ts.map +1 -1
- package/src/in-the-dark/SignalsPath.js +139 -123
- package/src/in-the-dark/SignalsPath.js.map +7 -1
- package/src/in-the-dark/events.js +11 -9
- package/src/in-the-dark/events.js.map +7 -1
- package/src/in-the-dark/importModule.js +31 -29
- package/src/in-the-dark/importModule.js.map +7 -1
- package/src/index.d.ts +2 -2
- package/src/index.d.ts.map +1 -1
- package/src/index.js +14 -14
- package/src/index.js.map +7 -1
- package/src/shadow-objects.js +6 -6
- package/src/shadow-objects.js.map +7 -1
- package/src/shadow-objects.worker.js +3 -3
- package/src/shadow-objects.worker.js.map +7 -1
- package/src/shae-ent.js +3 -3
- package/src/shae-ent.js.map +7 -1
- package/src/shae-prop.js +3 -3
- package/src/shae-prop.js.map +7 -1
- package/src/shae-worker.js +3 -3
- package/src/shae-worker.js.map +7 -1
- package/src/types.d.ts +3 -2
- package/src/types.d.ts.map +1 -1
- package/src/types.js +1 -2
- package/src/types.js.map +7 -1
- package/src/utils/ConsoleLogger.js +179 -185
- package/src/utils/ConsoleLogger.js.map +7 -1
- package/src/utils/FrameLoop.js +41 -40
- package/src/utils/FrameLoop.js.map +7 -1
- package/src/utils/array-utils.js +22 -24
- package/src/utils/array-utils.js.map +7 -1
- package/src/utils/attr-utils.js +15 -11
- package/src/utils/attr-utils.js.map +7 -1
- package/src/utils/constants.js +5 -2
- package/src/utils/constants.js.map +7 -1
- package/src/utils/generateUUID.d.ts.map +1 -1
- package/src/utils/generateUUID.js +269 -32
- package/src/utils/generateUUID.js.map +7 -1
- package/src/utils/props-utils.js +34 -43
- package/src/utils/props-utils.js.map +7 -1
- package/src/utils/toMaybe.js +5 -2
- package/src/utils/toMaybe.js.map +7 -1
- package/src/utils/toNamespace.js +6 -3
- package/src/utils/toNamespace.js.map +7 -1
- package/src/utils/toUrlString.js +9 -6
- package/src/utils/toUrlString.js.map +7 -1
- package/src/utils/waitForMessageOfType.js +30 -32
- package/src/utils/waitForMessageOfType.js.map +7 -1
- package/src/view/ComponentChanges.d.ts +1 -1
- package/src/view/ComponentChanges.d.ts.map +1 -1
- package/src/view/ComponentChanges.js +249 -251
- package/src/view/ComponentChanges.js.map +7 -1
- package/src/view/ComponentContext.d.ts.map +1 -1
- package/src/view/ComponentContext.js +303 -331
- package/src/view/ComponentContext.js.map +7 -1
- package/src/view/ComponentMemory.d.ts +1 -0
- package/src/view/ComponentMemory.d.ts.map +1 -1
- package/src/view/ComponentMemory.js +73 -76
- package/src/view/ComponentMemory.js.map +7 -1
- package/src/view/IShadowObjectEnvProxy.js +1 -2
- package/src/view/IShadowObjectEnvProxy.js.map +7 -1
- package/src/view/LocalShadowObjectEnv.d.ts.map +1 -1
- package/src/view/LocalShadowObjectEnv.js +57 -52
- package/src/view/LocalShadowObjectEnv.js.map +7 -1
- package/src/view/RemoteWorkerEnv.js +134 -123
- package/src/view/RemoteWorkerEnv.js.map +7 -1
- package/src/view/ShadowEnv.d.ts.map +1 -1
- package/src/view/ShadowEnv.js +232 -228
- package/src/view/ShadowEnv.js.map +7 -1
- package/src/view/ViewComponent.d.ts +9 -0
- package/src/view/ViewComponent.d.ts.map +1 -1
- package/src/view/ViewComponent.js +142 -130
- package/src/view/ViewComponent.js.map +7 -1
- package/src/view/cloneChangeTrail.js +13 -11
- package/src/view/cloneChangeTrail.js.map +7 -1
- package/src/worker/MessageRouter.d.ts.map +1 -1
- package/src/worker/MessageRouter.js +78 -67
- package/src/worker/MessageRouter.js.map +7 -1
- package/src/worker/WorkerRuntime.js +22 -21
- package/src/worker/WorkerRuntime.js.map +7 -1
- package/tsconfig.lib.tsbuildinfo +0 -1
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../../src/in-the-dark/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,KAAK,EAEL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,IAAI,GAGL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,mBAAmB,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAWnE,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAgB,QAAQ,EAAkB,SAAS,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAuB7C,IAAK,kBAIJ;AAJD,WAAK,kBAAkB;IACrB,mFAAoB,CAAA;IACpB,uEAAU,CAAA;IACV,yEAAW,CAAA;AACb,CAAC,EAJI,kBAAkB,KAAlB,kBAAkB,QAItB;AAED,MAAM,cAAc,GAAG,CAAC,SAAkC,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC;AAEvG,IAAI,oCAAoC,GAAG,KAAK,CAAC;AACjD,IAAI,0CAA0C,GAAG,KAAK,CAAC;AACvD,IAAI,gCAAgC,GAAG,KAAK,CAAC;AAC7C,IAAI,sCAAsC,GAAG,KAAK,CAAC;AACnD,IAAI,iCAAiC,GAAG,KAAK,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IAKjB,SAAS,CAAuC;IAChD,aAAa,CAA0B;IAEvC,YAAY,CAAY;IACxB,oBAAoB,CAAY;IAChC,sBAAsB,CAAQ;IAE9B,aAAa,CAAgD;IAE7D,YAAY,QAAmB;QAXtB,WAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE9C,cAAS,GAA6B,IAAI,GAAG,EAAE,CAAC;QAChD,kBAAa,GAAgB,IAAI,GAAG,EAAE,CAAC;QAIvC,2BAAsB,GAAG,IAAI,CAAC;QAE9B,kBAAa,GAAsC,IAAI,GAAG,EAAE,CAAC;QAG3D,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,cAAc,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,OAAO,GAAG,KAAK;QACnC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;YAExC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;gBAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAE/B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC/B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;iBAC1C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YAEvC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YAChE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACtC,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACjE,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAE,CAAC,CAAC;IACtF,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAEhD,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO;YACL,KAAK;YACL,MAAM;YACN,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAwC,CAAC;QAE3E,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7G,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5G,CAAC;QAED,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,KAAgB;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,CAAC,GAAG,EAAE;YACT,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,KAA2B;QACvC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,mBAAmB,CAAC,cAAc;gBACrC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC5F,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM;YAER,KAAK,mBAAmB,CAAC,eAAe;gBACtC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM;YAER,KAAK,mBAAmB,CAAC,SAAS;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM;YAER,KAAK,mBAAmB,CAAC,WAAW;gBAClC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM;YAER,KAAK,mBAAmB,CAAC,gBAAgB;gBACvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpD,MAAM;YAER,KAAK,mBAAmB,CAAC,WAAW;gBAClC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM;YAER,KAAK,mBAAmB,CAAC,UAAU;gBACjC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtD,MAAM;QACV,CAAC;IACH,CAAC;IAED,YAAY,CACV,IAAY,EACZ,KAAa,EACb,UAAmB,EACnB,KAAK,GAAG,CAAC,EACT,UAAgC,EAChC,8BAA8B,GAAG,KAAK;QAEtC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAEhB,MAAM,KAAK,GAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,GAAG,EAAE,EAAC,CAAC;QAE3E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEhC,IAAI,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5B,CAAC;QAED,CAAC,CAAC,8BAA8B,GAAG,8BAA8B,CAAC;QAElE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAEtC,MAAM,EAAC,MAAM,EAAE,gBAAgB,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5D,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAEhC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,UAAmB,EAAE,KAAK,GAAG,CAAC;QACpD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QAE7D,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAErB,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;QAE1B,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,CAAC,CAAC,2BAA2B,EAAE,CAAC;QAEhC,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,KAAa;QACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,sBAAsB,CAAC,IAAY,EAAE,MAAyB;QAC5D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,UAA+B;QAC5D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,KAAa;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QAElC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,qBAAqB,CAAC,OAA2B;QAC/C,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,IAAY,EACZ,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,EAC5C,gBAA+C;QAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,gBAAgB,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEtG,MAAM,aAAa,GAAG,MAAM,KAAK,kBAAkB,CAAC,gBAAgB,IAAI,MAAM,KAAK,kBAAkB,CAAC,WAAW,CAAC;QAClH,MAAM,YAAY,GAAG,MAAM,KAAK,kBAAkB,CAAC,gBAAgB,IAAI,MAAM,KAAK,kBAAkB,CAAC,UAAU,CAAC;QAEhH,2EAA2E;QAC3E,EAAE;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAChE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACzC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;wBAChC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,yFAAyF;QACzF,EAAE;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,qBAAqB,CAAC,SAAkC,EAAE,KAAkB;QAClF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAa,CAAC;QAChD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAa,CAAC;QAElD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsC,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC3E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;QACjE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAgC,CAAC;QAErE,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAE7D,MAAM,cAAc,GAAG,CACrB,IAAY,EACZ,OAA4D,EAC3C,EAAE;YACnB,IAAI,CAAC,iCAAiC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3F,OAAO,CAAC,IAAI,CACV,yJAAyJ,CAC1J,CAAC;gBACF,iCAAiC,GAAG,IAAI,CAAC;YAC3C,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAE1E,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,GAAG,YAAY,CAAM,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC;gBACpD,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;gBACnE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,QAAQ,CAC3B,IAAI,SAAS,CAAC;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YAEpB,cAAc,CACZ,IAAqB,EACrB,oBAAsD,EACtD,OAA+D;gBAE/D,IAAI,CAAC,oCAAoC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC9F,OAAO,CAAC,IAAI,CACV,4JAA4J,CAC7J,CAAC;oBACF,oCAAoC,GAAG,IAAI,CAAC;gBAC9C,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAE1E,IAAI,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE7C,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAyB,CAAC,CAAC;oBAE5E,WAAW,GAAG,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAE9F,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAuC,EAAE,WAAW,CAAC,CAAC;wBACtE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChD,CAAC;oBAED,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9C,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1C,CAAC;gBAED,IAAI,WAAW,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC1D,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE;wBAC5B,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,oBAAoB,CAClB,IAAqB,EACrB,oBAAsD,EACtD,OAA+D;gBAE/D,IAAI,CAAC,0CAA0C,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBACpG,OAAO,CAAC,IAAI,CACV,kKAAkK,CACnK,CAAC;oBACF,0CAA0C,GAAG,IAAI,CAAC;gBACpD,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAE1E,IAAI,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEjD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAyB,CAAC,CAAC;oBAE5E,WAAW,GAAG,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAE9F,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAuC,EAAE,WAAW,CAAC,CAAC;wBACtE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChD,CAAC;oBAED,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9C,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC9C,CAAC;gBAED,IAAI,WAAW,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC1D,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE;wBAC5B,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,UAAU,CAAc,IAAqB,EAAE,OAA4D;gBACzG,IAAI,CAAC,gCAAgC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC1F,OAAO,CAAC,IAAI,CACV,wJAAwJ,CACzJ,CAAC;oBACF,gCAAgC,GAAG,IAAI,CAAC;gBAC1C,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAE1E,IAAI,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,SAAS,GAAG,YAAY,CAAM,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC;oBACnD,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACpC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;oBAC1D,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,gBAAgB,CAAc,IAAqB,EAAE,OAA4D;gBAC/G,IAAI,CAAC,sCAAsC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBAChG,OAAO,CAAC,IAAI,CACV,8JAA8J,CAC/J,CAAC;oBACF,sCAAsC,GAAG,IAAI,CAAC;gBAChD,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAE1E,IAAI,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,SAAS,GAAG,YAAY,CAAM,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC;oBACnD,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;oBAChE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,qBAAqB,CAAC,IAAY,EAAE,IAAc,EAAE,aAA8B,EAAE,gBAAgB,GAAG,KAAK;gBAC1G,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;YAClF,CAAC;YAED,WAAW,EAAE,cAAc;YAE3B,aAAa,CAA8D,KAA+B;gBAGxG,MAAM,MAAM,GAAG,EAAiD,CAAC;gBACjE,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;wBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,cAAc,CACZ,OAA4B,EAC5B,OAA+C;gBAE/C,MAAM,cAAc,GAAG,YAAY,EAAY,CAAC;gBAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE;oBAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAE7B,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,EAAE,CAAC;wBACtC,OAAO,GAAG,EAAE;4BACV,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAClB,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAChC,CAAC,CAAC;oBACJ,CAAC;oBAED,OAAO,GAAG,EAAE;wBACV,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAChC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE;oBAC5B,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC9B,aAAa,CAAC,cAAc,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBAEH,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,YAAY,CAAC,GAAG,IAAqC;gBACnD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;gBACrC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,YAAY,CAAc,GAAG,IAAwC;gBACnE,MAAM,GAAG,GAAG,YAAY,CAAI,GAAG,IAAI,CAAC,CAAC;gBACrC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE;oBAC5B,aAAa,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC;YACb,CAAC;YAED,UAAU,CAAc,GAAG,IAAsC;gBAC/D,MAAM,GAAG,GAAG,UAAU,CAAI,GAAG,IAAI,CAAC,CAAC;gBACnC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE;oBAC5B,aAAa,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC;YACb,CAAC;YAED,EAAE,CAAC,GAAG,IAAW;gBACf,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;gBACxB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5F,aAAa;oBACb,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBACxC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAChC,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,aAAa;gBACb,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC1B,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChC,gBAAgB;gBAChB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;oBACxB,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnC,KAAK,EAAE,CAAC;gBACV,CAAC,EAAE,KAAK,CAAC,CAAC;YACZ,CAAC;YAED,IAAI,CAAC,GAAG,IAAW;gBACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;gBACxB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5F,aAAa;oBACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBAC1C,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAChC,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,aAAa;gBACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC5B,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChC,gBAAgB;gBAChB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;oBACxB,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnC,KAAK,EAAE,CAAC;gBACV,CAAC,EAAE,KAAK,CAAC,CAAC;YACZ,CAAC;YAED,IAAI,CAAC,GAAG,IAAW;gBACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;gBACxB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5F,aAAa;oBACb,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,aAAa;oBACb,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,WAAW,CAAC,QAA8C;gBACxD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE;oBAC1E,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,SAAS,CAAC,QAAmB;gBAC3B,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;SACF,CAAC,CACH,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;YAC7G,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBAC1C,QAAQ,EAAE,CAAC;YACb,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE,CAAC;gBAC5C,QAAQ,EAAE,CAAC;YACb,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1C,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChD,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC3C,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5C,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChD,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAC7B,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAC7B,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAE7B,MAAM,kBAAkB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,kBAAkB,EAAE,CAAC;gBACvB,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,kBAAkB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAClC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gFAAgF;QAChF,gBAAgB;QAChB,EAAE;QACF,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7F,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAEzC,MAAM,EAAC,gBAAgB,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAEO,kBAAkB,CAAC,YAAoB,EAAE,MAAc;QAC7D,kHAAkH;QAClH,EAAE;QACF,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAEzB,wFAAwF;QACxF,EAAE;QACF,IAAI,OAAQ,YAAoB,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;YACzD,YAAyB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,YAAoB,EAAE,MAAc;QAC9D,IAAI,OAAQ,YAAoB,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;YAC1D,YAA0B,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAEtC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,IAAqB;QAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/in-the-dark/Kernel.ts"],
|
|
4
|
+
"sourcesContent": ["import {emit, eventize, off, on, once, Priority} from '@spearwolf/eventize';\nimport {\n batch,\n type CompareFunc,\n createEffect,\n createMemo,\n createSignal,\n destroySignal,\n isSignal,\n link,\n type Signal,\n type SignalReader,\n} from '@spearwolf/signalize';\nimport {ComponentChangeType, MessageToView} from '../constants.js';\nimport type {\n IComponentChangeType,\n IComponentEvent,\n Maybe,\n ProvideContextOptions,\n ShadowObjectConstructor,\n ShadowObjectType,\n SignalValueOptions,\n SyncEvent,\n} from '../types.js';\nimport {ConsoleLogger} from '../utils/ConsoleLogger.js';\nimport {toMaybe} from '../utils/toMaybe.js';\nimport {Entity} from './Entity.js';\nimport {type OnCreate, type OnDestroy, onCreate, onDestroy, onParentChanged, onViewEvent} from './events.js';\nimport {Registry} from './Registry.js';\nimport {SignalsPath} from './SignalsPath.js';\n\nexport interface MessageToViewEvent {\n uuid: string;\n type: string;\n data?: unknown;\n transferables?: Transferable[];\n traverseChildren?: boolean;\n}\n\ninterface EntityEntry {\n token: string;\n entity: Entity;\n usedConstructors: Map<ShadowObjectConstructor, Set<ShadowObjectType>>;\n}\n\ninterface EntityGraphNode {\n token: string;\n entity: Entity;\n props: Record<string, unknown>;\n children: EntityGraphNode[];\n}\n\nenum ShadowObjectAction {\n CreateAndDestroy = 0,\n JustCreate,\n DestroyOnly,\n}\n\nconst getDisplayName = (construct: ShadowObjectConstructor) => construct.displayName || construct.name;\n\nlet provideContextOptionsDeprecatedShown = false;\nlet provideGlobalContextOptionsDeprecatedShown = false;\nlet useContextOptionsDeprecatedShown = false;\nlet useParentContextOptionsDeprecatedShown = false;\nlet usePropertyOptionsDeprecatedShown = false;\n\n/**\n * The entity kernel manages the lifecycle of all entities and shadow-objects.\n *\n * An entity is created for each view-component. The entities act as containers for the shadow-objects.\n *\n * Which shadow-objects are created is determined by the token.\n */\nexport class Kernel {\n registry: Registry;\n\n readonly logger = new ConsoleLogger('Kernel');\n\n #entities: Map<string, EntityEntry> = new Map();\n #rootEntities: Set<string> = new Set();\n\n #allEntities?: Entity[];\n #allEntitiesReversed?: Entity[];\n #allEntitiesNeedUpdate = true;\n\n #rootContexts: Map<string | symbol, SignalsPath> = new Map();\n\n constructor(registry?: Registry) {\n eventize(this);\n this.registry = Registry.get(registry);\n }\n\n getEntity(uuid: string): Entity {\n const entity = this.#entities.get(uuid)?.entity;\n if (!entity) {\n throw new Error(`entity with uuid \"${uuid}\" not found!`);\n }\n return entity;\n }\n\n hasEntity(uuid: string): boolean {\n return this.#entities.has(uuid);\n }\n\n /**\n * @returns all entities in breadth-first order\n */\n traverseLevelOrderBFS(reverse = false): Entity[] {\n if (this.#allEntitiesNeedUpdate) {\n const lvl = new Map<number, Entity[]>();\n\n const traverse = (uuid: string, depth: number) => {\n const e = this.getEntity(uuid);\n\n if (lvl.has(depth)) {\n lvl.get(depth).push(e);\n } else {\n lvl.set(depth, [e]);\n }\n\n for (const child of e.children) {\n traverse(child.uuid, depth + 1);\n }\n };\n\n this.#rootEntities.forEach((uuid) => {\n traverse(uuid, 0);\n });\n\n this.#allEntities = Array.from(lvl.entries())\n .sort((a, b) => a[0] - b[0])\n .flatMap(([, entities]) => entities);\n\n this.#allEntitiesReversed = this.#allEntities.slice().reverse();\n this.#allEntitiesNeedUpdate = false;\n }\n\n return reverse ? this.#allEntitiesReversed : this.#allEntities;\n }\n\n getEntityGraph(): EntityGraphNode[] {\n return Array.from(this.#rootEntities).map((uuid) => this.getEntityGraphNode(uuid)!);\n }\n\n private getEntityGraphNode(uuid: string): EntityGraphNode | undefined {\n if (!this.#entities.has(uuid)) return undefined;\n\n const {token, entity} = this.#entities.get(uuid);\n return {\n token,\n entity,\n props: Object.fromEntries(entity.propEntries()),\n children: entity.children.map((child) => this.getEntityGraphNode(child.uuid)),\n };\n }\n\n upgradeEntities(): void {\n const entityConstructors = new Map<String, Set<ShadowObjectConstructor>>();\n\n for (const entity of this.traverseLevelOrderBFS(true)) {\n entityConstructors.set(entity.uuid, this.updateShadowObjects(entity.uuid, ShadowObjectAction.DestroyOnly));\n }\n\n for (const entity of this.traverseLevelOrderBFS(false)) {\n this.updateShadowObjects(entity.uuid, ShadowObjectAction.JustCreate, entityConstructors.get(entity.uuid));\n }\n\n entityConstructors.clear();\n }\n\n run(event: SyncEvent): void {\n if (this.logger.isDebug) {\n this.logger.debug('sync', event);\n }\n batch(() => {\n for (const entry of event.changeTrail) {\n this.parse(entry);\n }\n });\n }\n\n private parse(entry: IComponentChangeType): void {\n switch (entry.type) {\n case ComponentChangeType.CreateEntities:\n this.createEntity(\n entry.uuid,\n entry.token,\n entry.parentUuid,\n entry.order,\n entry.properties,\n entry.autoDestructionOnParentRemoval,\n );\n this.#allEntitiesNeedUpdate = true;\n break;\n\n case ComponentChangeType.DestroyEntities:\n this.destroyEntity(entry.uuid);\n this.#allEntitiesNeedUpdate = true;\n break;\n\n case ComponentChangeType.SetParent:\n this.setParent(entry.uuid, entry.parentUuid, entry.order);\n this.#allEntitiesNeedUpdate = true;\n break;\n\n case ComponentChangeType.UpdateOrder:\n this.updateOrder(entry.uuid, entry.order);\n this.#allEntitiesNeedUpdate = true;\n break;\n\n case ComponentChangeType.ChangeProperties:\n this.changeProperties(entry.uuid, entry.properties);\n break;\n\n case ComponentChangeType.ChangeToken:\n this.changeToken(entry.uuid, entry.token);\n break;\n\n case ComponentChangeType.SendEvents:\n this.dispatchEventsToEntity(entry.uuid, entry.events);\n break;\n }\n }\n\n createEntity(\n uuid: string,\n token: string,\n parentUuid?: string,\n order = 0,\n properties?: [string, unknown][],\n autoDestructionOnParentRemoval = false,\n ): void {\n const e = new Entity(this, uuid);\n\n e.order = order;\n\n const entry: EntityEntry = {token, entity: e, usedConstructors: new Map()};\n\n this.#entities.set(uuid, entry);\n\n if (parentUuid) {\n e.parentUuid = parentUuid;\n }\n\n e.autoDestructionOnParentRemoval = autoDestructionOnParentRemoval;\n\n if (!e.hasParent) {\n this.#rootEntities.add(uuid);\n }\n\n if (properties) {\n e.setProperties(properties);\n }\n\n this.createShadowObjects(uuid);\n }\n\n destroyEntity(uuid: string): void {\n if (!this.#entities.has(uuid)) return;\n\n const {entity, usedConstructors} = this.#entities.get(uuid);\n\n // Children with autoDestructionOnParentRemoval cascade; the rest are promoted\n // to root so they remain reachable instead of leaking inside the kernel.\n // Snapshot first because both branches mutate the children list.\n const childrenSnapshot = [...entity.children];\n for (const child of childrenSnapshot) {\n if (child.autoDestructionOnParentRemoval) {\n this.destroyEntity(child.uuid);\n } else {\n child.removeFromParent();\n this.#rootEntities.add(child.uuid);\n }\n }\n\n entity.removeFromParent();\n emit(entity, onDestroy, entity);\n\n usedConstructors.clear();\n\n this.#entities.delete(entity.uuid);\n this.#rootEntities.delete(entity.uuid);\n this.#allEntitiesNeedUpdate = true;\n }\n\n setParent(uuid: string, parentUuid?: string, order = 0): void {\n const e = this.getEntity(uuid);\n\n if (e.parentUuid === parentUuid && e.order === order) return;\n\n // Validate the new parent before detaching the current one, so a bad UUID\n // never leaves the entity orphaned (KERN-5).\n if (parentUuid && !this.#entities.has(parentUuid)) {\n throw new Error(`entity with uuid \"${parentUuid}\" not found!`);\n }\n\n e.removeFromParent();\n\n e.order = order;\n e.parentUuid = parentUuid;\n\n if (e.hasParent) {\n this.#rootEntities.delete(uuid);\n } else {\n this.#rootEntities.add(uuid);\n }\n\n e.reSubscribeToParentContexts();\n\n queueMicrotask(() => {\n if (this.logger.isDebug) {\n this.logger.debug('entity.onParentChanged', {uuid, parentUuid, order, entity: e});\n }\n emit(e, onParentChanged, e);\n });\n }\n\n updateOrder(uuid: string, order: number): void {\n this.getEntity(uuid).order = order;\n }\n\n dispatchEventsToEntity(uuid: string, events: IComponentEvent[]): void {\n this.getEntity(uuid)?.dispatchViewEvents(events);\n }\n\n changeProperties(uuid: string, properties: [string, unknown][]): void {\n this.getEntity(uuid).setProperties(properties);\n this.updateShadowObjects(uuid);\n }\n\n changeToken(uuid: string, token: string): void {\n if (!this.#entities.has(uuid)) return;\n\n const entry = this.#entities.get(uuid);\n\n if (entry.token === token) return;\n\n entry.token = token;\n\n this.updateShadowObjects(uuid);\n }\n\n dispatchMessageToView(message: MessageToViewEvent): void {\n queueMicrotask(() => {\n emit(this as Kernel, MessageToView, message);\n });\n }\n\n /**\n * Create or destroy the shadow-objects of an entity using the registered constructors.\n * After a token change or registry changes, an entity may be given different shadow-objects.\n */\n private updateShadowObjects(\n uuid: string,\n action = ShadowObjectAction.CreateAndDestroy,\n nextConstructors?: Set<ShadowObjectConstructor>,\n ): Set<ShadowObjectConstructor> {\n const entry = this.#entities.get(uuid);\n nextConstructors ??= new Set(this.registry.findConstructors(entry.token, entry.entity.truthyProps()));\n\n const shouldDestroy = action === ShadowObjectAction.CreateAndDestroy || action === ShadowObjectAction.DestroyOnly;\n const shouldCreate = action === ShadowObjectAction.CreateAndDestroy || action === ShadowObjectAction.JustCreate;\n\n // destroy all shadow-objects created by constructors no longer in the list\n //\n if (shouldDestroy) {\n for (const [construct, shadowObjects] of entry.usedConstructors) {\n if (!nextConstructors.has(construct)) {\n entry.usedConstructors.delete(construct);\n for (const obj of shadowObjects) {\n this.destroyShadowObject(obj, entry.entity);\n }\n }\n }\n }\n\n // shadow-objects for new constructors are now created using the updated constructor list\n //\n if (shouldCreate) {\n for (const construct of nextConstructors) {\n if (!entry.usedConstructors.has(construct)) {\n this.constructShadowObject(construct, entry);\n }\n }\n }\n\n return nextConstructors;\n }\n\n private constructShadowObject(construct: ShadowObjectConstructor, entry: EntityEntry): ShadowObjectType {\n const unsubscribePrimary = new Set<() => any>();\n const unsubscribeSecondary = new Set<() => any>();\n\n const contextReaders = new Map<string | symbol, SignalReader<any>>();\n const contextReaderCompares = new Map<string | symbol, CompareFunc<any> | undefined>();\n const contextParentReaders = new Map<string | symbol, SignalReader<any>>();\n const contextParentReaderCompares = new Map<string | symbol, CompareFunc<any> | undefined>();\n const contextProviders = new Map<string | symbol, Signal<any>>();\n const contextRootProviders = new Map<string | symbol, Signal<any>>();\n\n const propertyReaders = new Map<string, SignalReader<any>>();\n const propertyCompares = new Map<string, CompareFunc<any> | undefined>();\n\n const getUseProperty = <T = any>(\n name: string,\n options?: SignalValueOptions<T> | CompareFunc<T | undefined>,\n ): SignalReader<T> => {\n if (!usePropertyOptionsDeprecatedShown && options != null && typeof options === 'function') {\n console.warn(\n '[shadow-objects] Deprecation Warning: The \"isEqual\" option of \"useProperty()\" is now passed as {compare} argument. Please update your code accordingly.',\n );\n usePropertyOptionsDeprecatedShown = true;\n }\n\n const opts = typeof options === 'function' ? {compare: options} : options;\n\n let propReader = propertyReaders.get(name);\n\n if (propReader === undefined) {\n propReader = createSignal<any>(undefined, opts).get;\n propertyReaders.set(name, propReader);\n propertyCompares.set(name, opts?.compare);\n const con = link(entry.entity.getPropertyReader(name), propReader);\n unsubscribeSecondary.add(con.destroy.bind(con));\n } else if (opts?.compare != null && propertyCompares.get(name) !== opts.compare) {\n console.warn(\n `[shadow-objects] useProperty(\"${name}\"): the cached signal already exists with a different (or no) {compare} function \u2014 the new options are ignored. Pass options only on the first call per property.`,\n );\n }\n\n return propReader;\n };\n\n const shadowObject = eventize(\n new construct({\n entity: entry.entity,\n\n provideContext<T = unknown>(\n name: string | symbol,\n sourceOrInitialValue?: T | SignalReader<T | undefined>,\n options?: ProvideContextOptions<T> | CompareFunc<T | undefined>,\n ) {\n if (!provideContextOptionsDeprecatedShown && options != null && typeof options === 'function') {\n console.warn(\n '[shadow-objects] Deprecation Warning: The \"isEqual\" option of \"provideContext()\" is now passed as {compare} argument. Please update your code accordingly.',\n );\n provideContextOptionsDeprecatedShown = true;\n }\n\n const opts = typeof options === 'function' ? {compare: options} : options;\n\n let ctxProvider = contextProviders.get(name);\n\n if (ctxProvider == null) {\n const isSig = isSignal(sourceOrInitialValue);\n const initialValue = isSig ? undefined : toMaybe(sourceOrInitialValue as T);\n\n ctxProvider = createSignal(initialValue, opts?.compare ? {compare: opts.compare} : undefined);\n\n if (isSig) {\n const ln = link(sourceOrInitialValue as SignalReader<T>, ctxProvider);\n unsubscribeSecondary.add(ln.destroy.bind(ln));\n }\n\n const ln = link(ctxProvider, entry.entity.provideContext(name));\n unsubscribeSecondary.add(ln.destroy.bind(ln));\n contextProviders.set(name, ctxProvider);\n }\n\n if (ctxProvider != null && (opts?.clearOnDestroy ?? true)) {\n unsubscribeSecondary.add(() => {\n ctxProvider.set(undefined);\n });\n }\n\n return ctxProvider;\n },\n\n provideGlobalContext<T = unknown>(\n name: string | symbol,\n sourceOrInitialValue?: T | SignalReader<T | undefined>,\n options?: ProvideContextOptions<T> | CompareFunc<T | undefined>,\n ) {\n if (!provideGlobalContextOptionsDeprecatedShown && options != null && typeof options === 'function') {\n console.warn(\n '[shadow-objects] Deprecation Warning: The \"isEqual\" option of \"provideGlobalContext()\" is now passed as {compare} argument. Please update your code accordingly.',\n );\n provideGlobalContextOptionsDeprecatedShown = true;\n }\n\n const opts = typeof options === 'function' ? {compare: options} : options;\n\n let ctxProvider = contextRootProviders.get(name);\n\n if (ctxProvider == null) {\n const isSig = isSignal(sourceOrInitialValue);\n const initialValue = isSig ? undefined : toMaybe(sourceOrInitialValue as T);\n\n ctxProvider = createSignal(initialValue, opts?.compare ? {compare: opts.compare} : undefined);\n\n if (isSig) {\n const ln = link(sourceOrInitialValue as SignalReader<T>, ctxProvider);\n unsubscribeSecondary.add(ln.destroy.bind(ln));\n }\n\n const ln = link(ctxProvider, entry.entity.provideGlobalContext(name));\n unsubscribeSecondary.add(ln.destroy.bind(ln));\n contextRootProviders.set(name, ctxProvider);\n }\n\n if (ctxProvider != null && (opts?.clearOnDestroy ?? true)) {\n unsubscribeSecondary.add(() => {\n ctxProvider.set(undefined);\n });\n }\n\n return ctxProvider;\n },\n\n useContext<T = unknown>(name: string | symbol, options?: SignalValueOptions<T> | CompareFunc<T | undefined>) {\n if (!useContextOptionsDeprecatedShown && options != null && typeof options === 'function') {\n console.warn(\n '[shadow-objects] Deprecation Warning: The \"isEqual\" option of \"useContext()\" is now passed as {compare} argument. Please update your code accordingly.',\n );\n useContextOptionsDeprecatedShown = true;\n }\n\n const opts = typeof options === 'function' ? {compare: options} : options;\n\n let ctxReader = contextReaders.get(name);\n\n if (ctxReader === undefined) {\n ctxReader = createSignal<any>(undefined, opts).get;\n contextReaders.set(name, ctxReader);\n contextReaderCompares.set(name, opts?.compare);\n const ln = link(entry.entity.useContext(name), ctxReader);\n unsubscribeSecondary.add(ln.destroy.bind(ln));\n } else if (opts?.compare != null && contextReaderCompares.get(name) !== opts.compare) {\n console.warn(\n `[shadow-objects] useContext(\"${String(name)}\"): the cached signal already exists with a different (or no) {compare} function \u2014 the new options are ignored. Pass options only on the first call per context.`,\n );\n }\n\n return ctxReader;\n },\n\n useParentContext<T = unknown>(name: string | symbol, options?: SignalValueOptions<T> | CompareFunc<T | undefined>) {\n if (!useParentContextOptionsDeprecatedShown && options != null && typeof options === 'function') {\n console.warn(\n '[shadow-objects] Deprecation Warning: The \"isEqual\" option of \"useParentContext()\" is now passed as {compare} argument. Please update your code accordingly.',\n );\n useParentContextOptionsDeprecatedShown = true;\n }\n\n const opts = typeof options === 'function' ? {compare: options} : options;\n\n let ctxReader = contextParentReaders.get(name);\n\n if (ctxReader === undefined) {\n ctxReader = createSignal<any>(undefined, opts).get;\n contextParentReaders.set(name, ctxReader);\n contextParentReaderCompares.set(name, opts?.compare);\n const ln = link(entry.entity.useParentContext(name), ctxReader);\n unsubscribeSecondary.add(ln.destroy.bind(ln));\n } else if (opts?.compare != null && contextParentReaderCompares.get(name) !== opts.compare) {\n console.warn(\n `[shadow-objects] useParentContext(\"${String(name)}\"): the cached signal already exists with a different (or no) {compare} function \u2014 the new options are ignored. Pass options only on the first call per parent context.`,\n );\n }\n\n return ctxReader;\n },\n\n dispatchMessageToView(type: string, data?: unknown, transferables?: Transferable[], traverseChildren = false) {\n entry.entity.dispatchMessageToView(type, data, transferables, traverseChildren);\n },\n\n useProperty: getUseProperty,\n\n useProperties<T extends Record<string, unknown> = Record<string, unknown>>(\n props: {[K in keyof T]: string},\n ): {\n [K in keyof T]: SignalReader<Maybe<T[K]>>;\n } {\n const result = {} as {[K in keyof T]: SignalReader<Maybe<T[K]>>};\n for (const key in props) {\n if (Object.hasOwn(props, key)) {\n result[key] = getUseProperty(props[key]);\n }\n }\n return result;\n },\n\n createResource<T = unknown>(\n factory: () => T | undefined,\n cleanup?: (resource: NonNullable<T>) => unknown,\n ): Signal<Maybe<T>> {\n const resourceSignal = createSignal<Maybe<T>>();\n\n const effect = createEffect(() => {\n const resource = toMaybe(factory());\n resourceSignal.set(resource);\n\n if (resource !== undefined && cleanup) {\n return () => {\n cleanup(resource);\n resourceSignal.set(undefined);\n };\n }\n\n return () => {\n resourceSignal.set(undefined);\n };\n });\n\n unsubscribeSecondary.add(() => {\n effect.destroy();\n resourceSignal.set(undefined);\n destroySignal(resourceSignal);\n });\n\n return resourceSignal;\n },\n\n createEffect(...args: Parameters<typeof createEffect>): ReturnType<typeof createEffect> {\n const effect = createEffect(...args);\n unsubscribeSecondary.add(effect.destroy);\n return effect;\n },\n\n createSignal<T = unknown>(...args: Parameters<typeof createSignal<T>>): ReturnType<typeof createSignal<T>> {\n const sig = createSignal<T>(...args);\n unsubscribeSecondary.add(() => {\n destroySignal(sig);\n });\n return sig;\n },\n\n createMemo<T = unknown>(...args: Parameters<typeof createMemo<T>>): SignalReader<T> {\n const sig = createMemo<T>(...args);\n unsubscribeSecondary.add(() => {\n destroySignal(sig);\n });\n return sig;\n },\n\n on(...args: any[]): ReturnType<typeof on> {\n const [firstArg] = args;\n if (typeof firstArg === 'string' || typeof firstArg === 'symbol' || Array.isArray(firstArg)) {\n // @ts-ignore\n const unsub = on(entry.entity, ...args);\n unsubscribeSecondary.add(unsub);\n return unsub;\n }\n // @ts-ignore\n const unsub = on(...args);\n unsubscribeSecondary.add(unsub);\n // return unsub;\n return Object.assign(() => {\n unsubscribeSecondary.delete(unsub);\n unsub();\n }, unsub);\n },\n\n once(...args: any[]): ReturnType<typeof once> {\n const [firstArg] = args;\n if (typeof firstArg === 'string' || typeof firstArg === 'symbol' || Array.isArray(firstArg)) {\n // @ts-ignore\n const unsub = once(entry.entity, ...args);\n unsubscribeSecondary.add(unsub);\n return unsub;\n }\n // @ts-ignore\n const unsub = once(...args);\n unsubscribeSecondary.add(unsub);\n // return unsub;\n return Object.assign(() => {\n unsubscribeSecondary.delete(unsub);\n unsub();\n }, unsub);\n },\n\n emit(...args: any[]): void {\n const [firstArg] = args;\n if (typeof firstArg === 'string' || typeof firstArg === 'symbol' || Array.isArray(firstArg)) {\n // @ts-ignore\n emit(entry.entity, ...args);\n } else {\n // @ts-ignore\n emit(...args);\n }\n },\n\n onViewEvent(callback: (type: string, data: unknown) => any) {\n const unsub = on(entry.entity, onViewEvent, (type: string, data: unknown) => {\n callback(type, data);\n });\n unsubscribeSecondary.add(unsub);\n },\n\n onDestroy(callback: () => any) {\n unsubscribePrimary.add(callback);\n },\n }),\n );\n\n if (this.logger.isInfo) {\n this.logger.info('create shadow-object', getDisplayName(construct), {shadowObject, entity: entry.entity});\n }\n\n once(entry.entity, onDestroy, Priority.Low, () => {\n if (this.logger.isInfo) {\n this.logger.info('destroy shadow-object', getDisplayName(construct), {shadowObject, entity: entry.entity});\n }\n\n for (const callback of unsubscribePrimary) {\n callback();\n }\n\n for (const callback of unsubscribeSecondary) {\n callback();\n }\n\n for (const sig of contextReaders.values()) {\n destroySignal(sig);\n }\n\n for (const sig of contextParentReaders.values()) {\n destroySignal(sig);\n }\n\n for (const sig of propertyReaders.values()) {\n destroySignal(sig);\n }\n\n for (const sig of contextProviders.values()) {\n destroySignal(sig);\n }\n\n for (const sig of contextRootProviders.values()) {\n destroySignal(sig);\n }\n\n unsubscribePrimary.clear();\n unsubscribeSecondary.clear();\n contextReaders.clear();\n contextParentReaders.clear();\n propertyReaders.clear();\n contextProviders.clear();\n contextRootProviders.clear();\n\n const otherShadowObjects = entry.usedConstructors.get(construct);\n if (otherShadowObjects) {\n otherShadowObjects.delete(shadowObject);\n if (otherShadowObjects.size === 0) {\n entry.usedConstructors.delete(construct);\n }\n }\n });\n\n // We want to keep track which shadow-objects are created by which constructors.\n // This will all\n //\n if (entry.usedConstructors.has(construct)) {\n entry.usedConstructors.get(construct).add(shadowObject);\n } else {\n entry.usedConstructors.set(construct, new Set([shadowObject]));\n }\n\n this.attachShadowObject(shadowObject, entry.entity);\n\n return shadowObject;\n }\n\n private createShadowObjects(uuid: string): void {\n const entry = this.#entities.get(uuid);\n\n this.registry.findConstructors(entry.token, entry.entity.truthyProps())?.forEach((construct) => {\n this.constructShadowObject(construct, entry);\n });\n }\n\n findShadowObjects(uuid: string): ShadowObjectType[] {\n if (!this.#entities.has(uuid)) return [];\n\n const {usedConstructors} = this.#entities.get(uuid);\n\n return Array.from(new Set(Array.from(usedConstructors.values()).flatMap((objs) => Array.from(objs))));\n }\n\n private attachShadowObject(shadowObject: object, entity: Entity): void {\n // Like all other objects, the new shadow-object should be able to respond to the events that the entity receives.\n //\n on(entity, shadowObject);\n\n // Finally, the `shadowObject.onCreate(entity)` callback is called on the shadow-object.\n //\n if (typeof (shadowObject as any)[onCreate] === 'function') {\n (shadowObject as OnCreate)[onCreate](entity);\n }\n }\n\n private destroyShadowObject(shadowObject: object, entity: Entity): void {\n if (typeof (shadowObject as any)[onDestroy] === 'function') {\n (shadowObject as OnDestroy)[onDestroy](entity);\n }\n\n emit(shadowObject, onDestroy, entity);\n\n off(entity, shadowObject);\n }\n\n findOrCreateRootContext(name: string | symbol): SignalsPath {\n let ctx = this.#rootContexts.get(name);\n if (!ctx) {\n ctx = new SignalsPath();\n this.#rootContexts.set(name, ctx);\n }\n return ctx;\n }\n\n destroy(): void {\n for (const ctx of this.#rootContexts.values()) {\n ctx.dispose();\n }\n this.#rootContexts.clear();\n\n for (const entity of this.traverseLevelOrderBFS().reverse()) {\n this.destroyEntity(entity.uuid);\n }\n }\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ShadowObjectAction", "ln", "unsub"]
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../../../src/in-the-dark/Registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AA+BzD,uCAAuC;AACvC,qBAAa,QAAQ;;IACnB,6EAA6E;IAC7E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAQ9B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB;IAQ1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAiB3C,UAAU,CAAC,KAAK,EAAE,MAAM;IASxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IA2CxE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,uBAAuB,EAAE,GAAG,SAAS;IAWjG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC,KAAK;
|
|
1
|
+
{"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../../../src/in-the-dark/Registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AA+BzD,uCAAuC;AACvC,qBAAa,QAAQ;;IACnB,6EAA6E;IAC7E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAQ9B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB;IAQ1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAiB3C,UAAU,CAAC,KAAK,EAAE,MAAM;IASxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IA2CxE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,uBAAuB,EAAE,GAAG,SAAS;IAWjG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC,KAAK;CAKN"}
|
|
@@ -1,122 +1,119 @@
|
|
|
1
|
-
import { appendTo } from
|
|
1
|
+
import { appendTo } from "../utils/array-utils.js";
|
|
2
2
|
const toPropRoute = (route) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
3
|
+
const parts = route.split("@").map((part) => part.trim());
|
|
4
|
+
if (parts.length === 2 && parts[1]) {
|
|
5
|
+
return parts[0] ? { key: `${parts[0]}@${parts[1]}`, prop: parts[1], token: parts[0] } : { key: parts[1], prop: parts[1] };
|
|
6
|
+
} else {
|
|
7
|
+
return void 0;
|
|
8
|
+
}
|
|
10
9
|
};
|
|
11
10
|
const addRoutes = (set, routes) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
for (const route of routes) {
|
|
12
|
+
set.add(route);
|
|
13
|
+
}
|
|
15
14
|
};
|
|
16
15
|
const addConstructors = (entry, constructors) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
16
|
+
if (entry != null) {
|
|
17
|
+
for (const constructor of entry.constructors) {
|
|
18
|
+
constructors.add(constructor);
|
|
21
19
|
}
|
|
20
|
+
}
|
|
22
21
|
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
class Registry {
|
|
23
|
+
/** return the specified registry or, if not defined, the default registry */
|
|
24
|
+
static get(registry) {
|
|
25
|
+
return registry ?? defaultRegistry;
|
|
26
|
+
}
|
|
27
|
+
#registry = /* @__PURE__ */ new Map();
|
|
28
|
+
#routes = /* @__PURE__ */ new Map();
|
|
29
|
+
#truthyPropRoutes = /* @__PURE__ */ new Map();
|
|
30
|
+
define(token, constructor) {
|
|
31
|
+
if (this.#registry.has(token)) {
|
|
32
|
+
appendTo(this.#registry.get(token).constructors, constructor);
|
|
33
|
+
} else {
|
|
34
|
+
this.#registry.set(token, { token, constructors: [constructor] });
|
|
28
35
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
}
|
|
37
|
+
appendRoute(token, routes) {
|
|
38
|
+
const propRoute = toPropRoute(token);
|
|
39
|
+
if (propRoute) {
|
|
40
|
+
if (this.#truthyPropRoutes.has(propRoute.key)) {
|
|
41
|
+
addRoutes(this.#truthyPropRoutes.get(propRoute.key).routes, routes);
|
|
42
|
+
} else {
|
|
43
|
+
this.#truthyPropRoutes.set(propRoute.key, { routes: new Set(routes), token: propRoute.token });
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
if (this.#routes.has(token)) {
|
|
47
|
+
addRoutes(this.#routes.get(token), routes);
|
|
48
|
+
} else {
|
|
49
|
+
this.#routes.set(token, new Set(routes));
|
|
50
|
+
}
|
|
39
51
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.#truthyPropRoutes.set(propRoute.key, { routes: new Set(routes), token: propRoute.token });
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
if (this.#routes.has(token)) {
|
|
52
|
-
addRoutes(this.#routes.get(token), routes);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
this.#routes.set(token, new Set(routes));
|
|
56
|
-
}
|
|
57
|
-
}
|
|
52
|
+
}
|
|
53
|
+
clearRoute(route) {
|
|
54
|
+
const propRoute = toPropRoute(route);
|
|
55
|
+
if (propRoute) {
|
|
56
|
+
this.#truthyPropRoutes.delete(propRoute.key);
|
|
57
|
+
} else {
|
|
58
|
+
this.#routes.delete(route);
|
|
58
59
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
}
|
|
61
|
+
findTokensByRoute(route, truthyProps) {
|
|
62
|
+
const tokens = /* @__PURE__ */ new Set([route]);
|
|
63
|
+
const next = this.#routes.has(route) ? [...this.#routes.get(route)] : [];
|
|
64
|
+
while (next.length) {
|
|
65
|
+
const cur = next.shift();
|
|
66
|
+
if (tokens.has(cur)) {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
tokens.add(cur);
|
|
70
|
+
if (this.#routes.has(cur)) {
|
|
71
|
+
next.push(...Array.from(this.#routes.get(cur)).filter((route2) => !tokens.has(route2)));
|
|
72
|
+
}
|
|
67
73
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const cur = next.shift();
|
|
73
|
-
if (tokens.has(cur)) {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
tokens.add(cur);
|
|
77
|
-
if (this.#routes.has(cur)) {
|
|
78
|
-
next.push(...Array.from(this.#routes.get(cur)).filter((route) => !tokens.has(route)));
|
|
79
|
-
}
|
|
74
|
+
if (truthyProps) {
|
|
75
|
+
for (const prop of truthyProps) {
|
|
76
|
+
if (this.#truthyPropRoutes.has(prop)) {
|
|
77
|
+
addRoutes(tokens, this.#truthyPropRoutes.get(prop).routes);
|
|
80
78
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
}
|
|
80
|
+
let tokenCountBefore;
|
|
81
|
+
do {
|
|
82
|
+
tokenCountBefore = tokens.size;
|
|
83
|
+
for (const token of new Set(tokens)) {
|
|
84
|
+
for (const prop of truthyProps) {
|
|
85
|
+
const key = `${token}@${prop}`;
|
|
86
|
+
if (this.#truthyPropRoutes.has(key)) {
|
|
87
|
+
addRoutes(tokens, this.#truthyPropRoutes.get(key).routes);
|
|
86
88
|
}
|
|
87
|
-
|
|
88
|
-
do {
|
|
89
|
-
tokenCountBefore = tokens.size;
|
|
90
|
-
for (const token of new Set(tokens)) {
|
|
91
|
-
for (const prop of truthyProps) {
|
|
92
|
-
const key = `${token}@${prop}`;
|
|
93
|
-
if (this.#truthyPropRoutes.has(key)) {
|
|
94
|
-
addRoutes(tokens, this.#truthyPropRoutes.get(key).routes);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
} while (tokenCountBefore !== tokens.size);
|
|
89
|
+
}
|
|
99
90
|
}
|
|
100
|
-
|
|
91
|
+
} while (tokenCountBefore !== tokens.size);
|
|
101
92
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
hasToken(token) {
|
|
111
|
-
return this.#registry.has(token);
|
|
112
|
-
}
|
|
113
|
-
hasRoute(route) {
|
|
114
|
-
return this.#routes.has(route);
|
|
115
|
-
}
|
|
116
|
-
clear() {
|
|
117
|
-
this.#registry.clear();
|
|
118
|
-
this.#routes.clear();
|
|
93
|
+
return tokens;
|
|
94
|
+
}
|
|
95
|
+
findConstructors(route, truthyProps) {
|
|
96
|
+
const tokens = this.findTokensByRoute(route, truthyProps);
|
|
97
|
+
const constructors = /* @__PURE__ */ new Set();
|
|
98
|
+
for (const token of tokens) {
|
|
99
|
+
addConstructors(this.#registry.get(token), constructors);
|
|
119
100
|
}
|
|
101
|
+
return constructors.size > 0 ? Array.from(constructors) : void 0;
|
|
102
|
+
}
|
|
103
|
+
hasToken(token) {
|
|
104
|
+
return this.#registry.has(token);
|
|
105
|
+
}
|
|
106
|
+
hasRoute(route) {
|
|
107
|
+
return this.#routes.has(route);
|
|
108
|
+
}
|
|
109
|
+
clear() {
|
|
110
|
+
this.#registry.clear();
|
|
111
|
+
this.#routes.clear();
|
|
112
|
+
this.#truthyPropRoutes.clear();
|
|
113
|
+
}
|
|
120
114
|
}
|
|
121
115
|
const defaultRegistry = new Registry();
|
|
122
|
-
|
|
116
|
+
export {
|
|
117
|
+
Registry
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=Registry.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/in-the-dark/Registry.ts"],
|
|
4
|
+
"sourcesContent": ["import type {ShadowObjectConstructor} from '../types.js';\nimport {appendTo} from '../utils/array-utils.js';\n\ninterface RegistryEntry {\n token: string;\n constructors: ShadowObjectConstructor[];\n}\n\nconst toPropRoute = (route: string): undefined | {key: string; prop: string; token?: string} => {\n const parts = route.split('@').map((part) => part.trim());\n if (parts.length === 2 && parts[1]) {\n return parts[0] ? {key: `${parts[0]}@${parts[1]}`, prop: parts[1], token: parts[0]} : {key: parts[1], prop: parts[1]};\n } else {\n return undefined;\n }\n};\n\nconst addRoutes = (set: Set<string>, routes: string[] | Set<string>) => {\n for (const route of routes) {\n set.add(route);\n }\n};\n\nconst addConstructors = (entry: RegistryEntry | null | undefined, constructors: Set<ShadowObjectConstructor>) => {\n if (entry != null) {\n for (const constructor of entry.constructors) {\n constructors.add(constructor);\n }\n }\n};\n\n/** The shadow-object class registry */\nexport class Registry {\n /** return the specified registry or, if not defined, the default registry */\n static get(registry?: Registry) {\n return registry ?? defaultRegistry;\n }\n\n readonly #registry = new Map<string, RegistryEntry>();\n readonly #routes = new Map<string, Set<string>>();\n readonly #truthyPropRoutes = new Map<string, {routes: Set<string>; token?: string}>();\n\n define(token: string, constructor: ShadowObjectConstructor) {\n if (this.#registry.has(token)) {\n appendTo(this.#registry.get(token)!.constructors, constructor);\n } else {\n this.#registry.set(token, {token, constructors: [constructor]});\n }\n }\n\n appendRoute(token: string, routes: string[]) {\n const propRoute = toPropRoute(token);\n if (propRoute) {\n if (this.#truthyPropRoutes.has(propRoute.key)) {\n addRoutes(this.#truthyPropRoutes.get(propRoute.key)!.routes, routes);\n } else {\n this.#truthyPropRoutes.set(propRoute.key, {routes: new Set(routes), token: propRoute.token});\n }\n } else {\n if (this.#routes.has(token)) {\n addRoutes(this.#routes.get(token), routes);\n } else {\n this.#routes.set(token, new Set(routes));\n }\n }\n }\n\n clearRoute(route: string) {\n const propRoute = toPropRoute(route);\n if (propRoute) {\n this.#truthyPropRoutes.delete(propRoute.key);\n } else {\n this.#routes.delete(route);\n }\n }\n\n findTokensByRoute(route: string, truthyProps?: Set<string>): Set<string> {\n const tokens = new Set<string>([route]);\n\n const next = this.#routes.has(route) ? [...this.#routes.get(route)] : [];\n\n while (next.length) {\n const cur = next.shift();\n\n if (tokens.has(cur)) {\n continue;\n }\n\n tokens.add(cur);\n\n if (this.#routes.has(cur)) {\n next.push(...Array.from(this.#routes.get(cur)).filter((route) => !tokens.has(route)));\n }\n }\n\n if (truthyProps) {\n for (const prop of truthyProps) {\n if (this.#truthyPropRoutes.has(prop)) {\n addRoutes(tokens, this.#truthyPropRoutes.get(prop)!.routes);\n }\n }\n\n let tokenCountBefore: number;\n do {\n tokenCountBefore = tokens.size;\n for (const token of new Set(tokens)) {\n for (const prop of truthyProps) {\n const key = `${token}@${prop}`;\n if (this.#truthyPropRoutes.has(key)) {\n addRoutes(tokens, this.#truthyPropRoutes.get(key)!.routes);\n }\n }\n }\n } while (tokenCountBefore !== tokens.size);\n }\n\n return tokens;\n }\n\n findConstructors(route: string, truthyProps?: Set<string>): ShadowObjectConstructor[] | undefined {\n const tokens = this.findTokensByRoute(route, truthyProps);\n const constructors = new Set<ShadowObjectConstructor>();\n\n for (const token of tokens) {\n addConstructors(this.#registry.get(token), constructors);\n }\n\n return constructors.size > 0 ? Array.from(constructors) : undefined;\n }\n\n hasToken(token: string): boolean {\n return this.#registry.has(token);\n }\n\n hasRoute(route: string): boolean {\n return this.#routes.has(route);\n }\n\n clear() {\n this.#registry.clear();\n this.#routes.clear();\n this.#truthyPropRoutes.clear();\n }\n}\n\nconst defaultRegistry = new Registry();"],
|
|
5
|
+
"mappings": "AACA,SAAQ,gBAAe;AAOvB,MAAM,cAAc,CAAC,UAA2E;AAC9F,QAAM,QAAQ,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;AACxD,MAAI,MAAM,WAAW,KAAK,MAAM,CAAC,GAAG;AAClC,WAAO,MAAM,CAAC,IAAI,EAAC,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAC,IAAI,EAAC,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,EAAC;AAAA,EACtH,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,MAAM,YAAY,CAAC,KAAkB,WAAmC;AACtE,aAAW,SAAS,QAAQ;AAC1B,QAAI,IAAI,KAAK;AAAA,EACf;AACF;AAEA,MAAM,kBAAkB,CAAC,OAAyC,iBAA+C;AAC/G,MAAI,SAAS,MAAM;AACjB,eAAW,eAAe,MAAM,cAAc;AAC5C,mBAAa,IAAI,WAAW;AAAA,IAC9B;AAAA,EACF;AACF;AAGO,MAAM,SAAS;AAAA;AAAA,EAEpB,OAAO,IAAI,UAAqB;AAC9B,WAAO,YAAY;AAAA,EACrB;AAAA,EAES,YAAY,oBAAI,IAA2B;AAAA,EAC3C,UAAU,oBAAI,IAAyB;AAAA,EACvC,oBAAoB,oBAAI,IAAmD;AAAA,EAEpF,OAAO,OAAe,aAAsC;AAC1D,QAAI,KAAK,UAAU,IAAI,KAAK,GAAG;AAC7B,eAAS,KAAK,UAAU,IAAI,KAAK,EAAG,cAAc,WAAW;AAAA,IAC/D,OAAO;AACL,WAAK,UAAU,IAAI,OAAO,EAAC,OAAO,cAAc,CAAC,WAAW,EAAC,CAAC;AAAA,IAChE;AAAA,EACF;AAAA,EAEA,YAAY,OAAe,QAAkB;AAC3C,UAAM,YAAY,YAAY,KAAK;AACnC,QAAI,WAAW;AACb,UAAI,KAAK,kBAAkB,IAAI,UAAU,GAAG,GAAG;AAC7C,kBAAU,KAAK,kBAAkB,IAAI,UAAU,GAAG,EAAG,QAAQ,MAAM;AAAA,MACrE,OAAO;AACL,aAAK,kBAAkB,IAAI,UAAU,KAAK,EAAC,QAAQ,IAAI,IAAI,MAAM,GAAG,OAAO,UAAU,MAAK,CAAC;AAAA,MAC7F;AAAA,IACF,OAAO;AACL,UAAI,KAAK,QAAQ,IAAI,KAAK,GAAG;AAC3B,kBAAU,KAAK,QAAQ,IAAI,KAAK,GAAG,MAAM;AAAA,MAC3C,OAAO;AACL,aAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,MAAM,CAAC;AAAA,MACzC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,WAAW,OAAe;AACxB,UAAM,YAAY,YAAY,KAAK;AACnC,QAAI,WAAW;AACb,WAAK,kBAAkB,OAAO,UAAU,GAAG;AAAA,IAC7C,OAAO;AACL,WAAK,QAAQ,OAAO,KAAK;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,kBAAkB,OAAe,aAAwC;AACvE,UAAM,SAAS,oBAAI,IAAY,CAAC,KAAK,CAAC;AAEtC,UAAM,OAAO,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC;AAEvE,WAAO,KAAK,QAAQ;AAClB,YAAM,MAAM,KAAK,MAAM;AAEvB,UAAI,OAAO,IAAI,GAAG,GAAG;AACnB;AAAA,MACF;AAEA,aAAO,IAAI,GAAG;AAEd,UAAI,KAAK,QAAQ,IAAI,GAAG,GAAG;AACzB,aAAK,KAAK,GAAG,MAAM,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,OAAO,CAACA,WAAU,CAAC,OAAO,IAAIA,MAAK,CAAC,CAAC;AAAA,MACtF;AAAA,IACF;AAEA,QAAI,aAAa;AACf,iBAAW,QAAQ,aAAa;AAC9B,YAAI,KAAK,kBAAkB,IAAI,IAAI,GAAG;AACpC,oBAAU,QAAQ,KAAK,kBAAkB,IAAI,IAAI,EAAG,MAAM;AAAA,QAC5D;AAAA,MACF;AAEA,UAAI;AACJ,SAAG;AACD,2BAAmB,OAAO;AAC1B,mBAAW,SAAS,IAAI,IAAI,MAAM,GAAG;AACnC,qBAAW,QAAQ,aAAa;AAC9B,kBAAM,MAAM,GAAG,KAAK,IAAI,IAAI;AAC5B,gBAAI,KAAK,kBAAkB,IAAI,GAAG,GAAG;AACnC,wBAAU,QAAQ,KAAK,kBAAkB,IAAI,GAAG,EAAG,MAAM;AAAA,YAC3D;AAAA,UACF;AAAA,QACF;AAAA,MACF,SAAS,qBAAqB,OAAO;AAAA,IACvC;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB,OAAe,aAAkE;AAChG,UAAM,SAAS,KAAK,kBAAkB,OAAO,WAAW;AACxD,UAAM,eAAe,oBAAI,IAA6B;AAEtD,eAAW,SAAS,QAAQ;AAC1B,sBAAgB,KAAK,UAAU,IAAI,KAAK,GAAG,YAAY;AAAA,IACzD;AAEA,WAAO,aAAa,OAAO,IAAI,MAAM,KAAK,YAAY,IAAI;AAAA,EAC5D;AAAA,EAEA,SAAS,OAAwB;AAC/B,WAAO,KAAK,UAAU,IAAI,KAAK;AAAA,EACjC;AAAA,EAEA,SAAS,OAAwB;AAC/B,WAAO,KAAK,QAAQ,IAAI,KAAK;AAAA,EAC/B;AAAA,EAEA,QAAQ;AACN,SAAK,UAAU,MAAM;AACrB,SAAK,QAAQ,MAAM;AACnB,SAAK,kBAAkB,MAAM;AAAA,EAC/B;AACF;AAEA,MAAM,kBAAkB,IAAI,SAAS;",
|
|
6
|
+
"names": ["route"]
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowObject.d.ts","sourceRoot":"","sources":["../../../src/in-the-dark/ShadowObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,4BAA4B,
|
|
1
|
+
{"version":3,"file":"ShadowObject.d.ts","sourceRoot":"","sources":["../../../src/in-the-dark/ShadowObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,4BAA4B,IACxD,CAAC,SAAS,uBAAuB,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG;kBAG3C,GAAG,EAAE;;MAW/B;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;kBACV,MAAM,eAAe,uBAAuB,aAAa,QAAQ;CAGhF,CAAC"}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
import { eventize } from
|
|
2
|
-
import { Registry } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
super(...args);
|
|
11
|
-
eventize(this);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
Registry.get(options.registry).define(options.token, __ShadowObject);
|
|
15
|
-
return __ShadowObject;
|
|
1
|
+
import { eventize } from "@spearwolf/eventize";
|
|
2
|
+
import { Registry } from "./Registry.js";
|
|
3
|
+
function ShadowObject(options) {
|
|
4
|
+
return (target, _context) => {
|
|
5
|
+
const __ShadowObject = class extends target {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
eventize(this);
|
|
9
|
+
}
|
|
16
10
|
};
|
|
11
|
+
Registry.get(options.registry).define(options.token, __ShadowObject);
|
|
12
|
+
return __ShadowObject;
|
|
13
|
+
};
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
define(token, constructor, registry) {
|
|
23
|
-
Registry.get(registry).define(token, constructor);
|
|
24
|
-
},
|
|
15
|
+
const shadowObjects = {
|
|
16
|
+
define(token, constructor, registry) {
|
|
17
|
+
Registry.get(registry).define(token, constructor);
|
|
18
|
+
}
|
|
25
19
|
};
|
|
26
|
-
|
|
20
|
+
export {
|
|
21
|
+
ShadowObject,
|
|
22
|
+
shadowObjects
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=ShadowObject.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/in-the-dark/ShadowObject.ts"],
|
|
4
|
+
"sourcesContent": ["import {eventize} from '@spearwolf/eventize';\nimport type {ShadowObjectConstructor} from '../types.js';\nimport {Registry} from './Registry.js';\n\nexport interface ShadowObjectDecoratorOptions {\n token: string;\n registry?: Registry;\n}\n\n/** The `@ShadowObject` decorator */\nexport function ShadowObject(options: ShadowObjectDecoratorOptions) {\n return <C extends ShadowObjectConstructor>(target: C, _context?: any) => {\n // @ts-ignore\n const __ShadowObject = class extends target {\n constructor(...args: any[]) {\n // @ts-ignore\n super(...args);\n eventize(this);\n }\n };\n\n Registry.get(options.registry).define(options.token, __ShadowObject);\n\n return __ShadowObject;\n };\n}\n\n/**\n * If you don't want to use the decorator, you can simply call this method instead.\n */\nexport const shadowObjects = {\n define(token: string, constructor: ShadowObjectConstructor, registry?: Registry) {\n Registry.get(registry).define(token, constructor);\n },\n};"],
|
|
5
|
+
"mappings": "AAAA,SAAQ,gBAAe;AAEvB,SAAQ,gBAAe;AAQhB,SAAS,aAAa,SAAuC;AAClE,SAAO,CAAoC,QAAW,aAAmB;AAEvE,UAAM,iBAAiB,cAAc,OAAO;AAAA,MAC1C,eAAe,MAAa;AAE1B,cAAM,GAAG,IAAI;AACb,iBAAS,IAAI;AAAA,MACf;AAAA,IACF;AAEA,aAAS,IAAI,QAAQ,QAAQ,EAAE,OAAO,QAAQ,OAAO,cAAc;AAEnE,WAAO;AAAA,EACT;AACF;AAKO,MAAM,gBAAgB;AAAA,EAC3B,OAAO,OAAe,aAAsC,UAAqB;AAC/E,aAAS,IAAI,QAAQ,EAAE,OAAO,OAAO,WAAW;AAAA,EAClD;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignalsPath.d.ts","sourceRoot":"","sources":["../../../src/in-the-dark/SignalsPath.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"SignalsPath.d.ts","sourceRoot":"","sources":["../../../src/in-the-dark/SignalsPath.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,MAAM,EACX,KAAK,UAAU,EAEhB,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,WAAW;;IACtB,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAS;IAKP,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAa;IAEvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEjB,OAAO,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;IAWvC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;IAMjD,OAAO,CAAC,GAAG,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;IAMrC,MAAM,CAAC,GAAG,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;IAIpC,KAAK;IAKL,OAAO;CA6CR"}
|