@adaas/are 0.0.2 → 0.0.4
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/.conf/tsconfig.base.json +25 -32
- package/.conf/tsconfig.browser.json +24 -32
- package/.conf/tsconfig.node.json +24 -33
- package/CHANGELOG.md +39 -0
- package/LICENSE +10 -19
- package/README.md +216 -2
- package/dist/browser/index.d.mts +1375 -727
- package/dist/browser/index.mjs +2812 -2170
- package/dist/browser/index.mjs.map +1 -1
- package/dist/node/Are.context-9Ija_fdC.d.ts +846 -0
- package/dist/node/Are.context-D7w32H1G.d.mts +846 -0
- package/dist/node/index.d.mts +32 -31
- package/dist/node/index.d.ts +32 -31
- package/dist/node/index.js +371 -42
- package/dist/node/index.mjs +61 -14
- package/dist/node/lib/AreAttribute/AreAttribute.constants.d.mts +24 -0
- package/dist/node/lib/AreAttribute/AreAttribute.constants.d.ts +24 -0
- package/dist/node/lib/AreAttribute/AreAttribute.constants.js +28 -0
- package/dist/node/lib/AreAttribute/AreAttribute.constants.js.map +1 -0
- package/dist/node/lib/AreAttribute/AreAttribute.constants.mjs +28 -0
- package/dist/node/lib/AreAttribute/AreAttribute.constants.mjs.map +1 -0
- package/dist/node/lib/AreAttribute/AreAttribute.entity.d.mts +14 -0
- package/dist/node/lib/AreAttribute/AreAttribute.entity.d.ts +14 -0
- package/dist/node/lib/AreAttribute/AreAttribute.entity.js +113 -0
- package/dist/node/lib/AreAttribute/AreAttribute.entity.js.map +1 -0
- package/dist/node/lib/AreAttribute/AreAttribute.entity.mjs +104 -0
- package/dist/node/lib/AreAttribute/AreAttribute.entity.mjs.map +1 -0
- package/dist/node/lib/AreAttribute/AreAttribute.types.d.mts +47 -0
- package/dist/node/lib/AreAttribute/AreAttribute.types.d.ts +47 -0
- package/dist/node/lib/AreAttribute/AreAttribute.types.js +4 -0
- package/dist/node/lib/AreAttribute/AreAttribute.types.js.map +1 -0
- package/dist/node/lib/AreAttribute/AreAttribute.types.mjs +3 -0
- package/dist/node/lib/AreAttribute/AreAttribute.types.mjs.map +1 -0
- package/dist/node/lib/AreCompiler/AreCompiler.component.d.mts +19 -224
- package/dist/node/lib/AreCompiler/AreCompiler.component.d.ts +19 -224
- package/dist/node/lib/AreCompiler/AreCompiler.component.js +31 -607
- package/dist/node/lib/AreCompiler/AreCompiler.component.js.map +1 -1
- package/dist/node/lib/AreCompiler/AreCompiler.component.mjs +29 -605
- package/dist/node/lib/AreCompiler/AreCompiler.component.mjs.map +1 -1
- package/dist/node/lib/AreComponent/Are.component.d.mts +59 -7
- package/dist/node/lib/AreComponent/Are.component.d.ts +59 -7
- package/dist/node/lib/AreComponent/Are.component.js +84 -25
- package/dist/node/lib/AreComponent/Are.component.js.map +1 -1
- package/dist/node/lib/AreComponent/Are.component.mjs +85 -26
- package/dist/node/lib/AreComponent/Are.component.mjs.map +1 -1
- package/dist/node/lib/AreComponent/Are.constants.d.mts +46 -30
- package/dist/node/lib/AreComponent/Are.constants.d.ts +46 -30
- package/dist/node/lib/AreComponent/Are.constants.js +58 -21
- package/dist/node/lib/AreComponent/Are.constants.js.map +1 -1
- package/dist/node/lib/AreComponent/Are.constants.mjs +58 -21
- package/dist/node/lib/AreComponent/Are.constants.mjs.map +1 -1
- package/dist/node/lib/AreComponent/Are.context.d.mts +13 -21
- package/dist/node/lib/AreComponent/Are.context.d.ts +13 -21
- package/dist/node/lib/AreComponent/Are.context.js +91 -2
- package/dist/node/lib/AreComponent/Are.context.js.map +1 -1
- package/dist/node/lib/AreComponent/Are.context.mjs +92 -3
- package/dist/node/lib/AreComponent/Are.context.mjs.map +1 -1
- package/dist/node/lib/AreComponent/Are.meta.d.mts +14 -0
- package/dist/node/lib/AreComponent/Are.meta.d.ts +14 -0
- package/dist/node/lib/AreComponent/Are.meta.js +10 -0
- package/dist/node/lib/AreComponent/Are.meta.js.map +1 -0
- package/dist/node/lib/AreComponent/Are.meta.mjs +9 -0
- package/dist/node/lib/AreComponent/Are.meta.mjs.map +1 -0
- package/dist/node/lib/AreComponent/Are.types.d.mts +30 -1
- package/dist/node/lib/AreComponent/Are.types.d.ts +30 -1
- package/dist/node/lib/AreEngine/AreEngine.component.d.mts +77 -0
- package/dist/node/lib/AreEngine/AreEngine.component.d.ts +77 -0
- package/dist/node/lib/AreEngine/AreEngine.component.js +259 -0
- package/dist/node/lib/AreEngine/AreEngine.component.js.map +1 -0
- package/dist/node/lib/AreEngine/AreEngine.component.mjs +249 -0
- package/dist/node/lib/AreEngine/AreEngine.component.mjs.map +1 -0
- package/dist/node/lib/AreEngine/AreEngine.constants.d.mts +7 -0
- package/dist/node/lib/AreEngine/AreEngine.constants.d.ts +7 -0
- package/dist/node/lib/AreEngine/AreEngine.constants.js +11 -0
- package/dist/node/lib/AreEngine/AreEngine.constants.js.map +1 -0
- package/dist/node/lib/AreEngine/AreEngine.constants.mjs +11 -0
- package/dist/node/lib/AreEngine/AreEngine.constants.mjs.map +1 -0
- package/dist/node/lib/AreEngine/AreEngine.error.d.mts +7 -0
- package/dist/node/lib/AreEngine/AreEngine.error.d.ts +7 -0
- package/dist/node/lib/AreEngine/AreEngine.error.js +11 -0
- package/dist/node/lib/AreEngine/AreEngine.error.js.map +1 -0
- package/dist/node/lib/AreEngine/AreEngine.error.mjs +10 -0
- package/dist/node/lib/AreEngine/AreEngine.error.mjs.map +1 -0
- package/dist/node/lib/AreEngine/AreEngine.types.d.mts +40 -0
- package/dist/node/lib/AreEngine/AreEngine.types.d.ts +40 -0
- package/dist/node/lib/AreEngine/AreEngine.types.js +4 -0
- package/dist/node/lib/AreEngine/AreEngine.types.js.map +1 -0
- package/dist/node/lib/AreEngine/AreEngine.types.mjs +3 -0
- package/dist/node/lib/AreEngine/AreEngine.types.mjs.map +1 -0
- package/dist/node/lib/AreEvent/AreEvent.context.d.mts +6 -8
- package/dist/node/lib/AreEvent/AreEvent.context.d.ts +6 -8
- package/dist/node/lib/AreEvent/AreEvent.context.js +2 -12
- package/dist/node/lib/AreEvent/AreEvent.context.js.map +1 -1
- package/dist/node/lib/AreEvent/AreEvent.context.mjs +2 -12
- package/dist/node/lib/AreEvent/AreEvent.context.mjs.map +1 -1
- package/dist/node/lib/AreInstruction/AreInstruction.constants.d.mts +21 -0
- package/dist/node/lib/AreInstruction/AreInstruction.constants.d.ts +21 -0
- package/dist/node/lib/AreInstruction/AreInstruction.constants.js +26 -0
- package/dist/node/lib/AreInstruction/AreInstruction.constants.js.map +1 -0
- package/dist/node/lib/AreInstruction/AreInstruction.constants.mjs +25 -0
- package/dist/node/lib/AreInstruction/AreInstruction.constants.mjs.map +1 -0
- package/dist/node/lib/AreInstruction/AreInstruction.entity.d.mts +14 -0
- package/dist/node/lib/AreInstruction/AreInstruction.entity.d.ts +14 -0
- package/dist/node/lib/AreInstruction/AreInstruction.entity.js +152 -0
- package/dist/node/lib/AreInstruction/AreInstruction.entity.js.map +1 -0
- package/dist/node/lib/AreInstruction/AreInstruction.entity.mjs +145 -0
- package/dist/node/lib/AreInstruction/AreInstruction.entity.mjs.map +1 -0
- package/dist/node/lib/AreInstruction/AreInstruction.error.d.mts +6 -0
- package/dist/node/lib/AreInstruction/AreInstruction.error.d.ts +6 -0
- package/dist/node/lib/AreInstruction/AreInstruction.error.js +10 -0
- package/dist/node/lib/AreInstruction/AreInstruction.error.js.map +1 -0
- package/dist/node/lib/AreInstruction/AreInstruction.error.mjs +9 -0
- package/dist/node/lib/AreInstruction/AreInstruction.error.mjs.map +1 -0
- package/dist/node/lib/AreInstruction/AreInstruction.types.d.mts +14 -0
- package/dist/node/lib/AreInstruction/AreInstruction.types.d.ts +14 -0
- package/dist/node/lib/AreInstruction/AreInstruction.types.js +4 -0
- package/dist/node/lib/AreInstruction/AreInstruction.types.js.map +1 -0
- package/dist/node/lib/AreInstruction/AreInstruction.types.mjs +3 -0
- package/dist/node/lib/AreInstruction/AreInstruction.types.mjs.map +1 -0
- package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.d.mts +14 -0
- package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.d.ts +14 -0
- package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.js +37 -0
- package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.js.map +1 -0
- package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.mjs +30 -0
- package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.mjs.map +1 -0
- package/dist/node/lib/AreInstruction/types/AreMutation.instruction.d.mts +14 -0
- package/dist/node/lib/AreInstruction/types/AreMutation.instruction.d.ts +14 -0
- package/dist/node/lib/AreInstruction/types/AreMutation.instruction.js +52 -0
- package/dist/node/lib/AreInstruction/types/AreMutation.instruction.js.map +1 -0
- package/dist/node/lib/AreInstruction/types/AreMutation.instruction.mjs +45 -0
- package/dist/node/lib/AreInstruction/types/AreMutation.instruction.mjs.map +1 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.component.d.mts +49 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.component.d.ts +49 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.component.js +164 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.component.js.map +1 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.component.mjs +154 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.component.mjs.map +1 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.constants.js +4 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.constants.js.map +1 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.constants.mjs +3 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.constants.mjs.map +1 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.error.d.mts +6 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.error.d.ts +6 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.error.js +10 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.error.js.map +1 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.error.mjs +9 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.error.mjs.map +1 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.types.js +4 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.types.js.map +1 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.types.mjs +3 -0
- package/dist/node/lib/AreInterpreter/AreInterpreter.types.mjs.map +1 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.component.d.mts +188 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.component.d.ts +188 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.component.js +349 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.component.js.map +1 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.component.mjs +339 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.component.mjs.map +1 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.constants.d.mts +2 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.constants.d.ts +2 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.constants.js +4 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.constants.js.map +1 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.constants.mjs +3 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.constants.mjs.map +1 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.error.d.mts +7 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.error.d.ts +7 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.error.js +11 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.error.js.map +1 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.error.mjs +10 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.error.mjs.map +1 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.types.d.mts +2 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.types.d.ts +2 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.types.js +4 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.types.js.map +1 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.types.mjs +3 -0
- package/dist/node/lib/AreLifecycle/AreLifecycle.types.mjs.map +1 -0
- package/dist/node/lib/AreLoader/AreLoader.component.d.mts +31 -0
- package/dist/node/lib/AreLoader/AreLoader.component.d.ts +31 -0
- package/dist/node/lib/AreLoader/AreLoader.component.js +64 -0
- package/dist/node/lib/AreLoader/AreLoader.component.js.map +1 -0
- package/dist/node/lib/AreLoader/AreLoader.component.mjs +54 -0
- package/dist/node/lib/AreLoader/AreLoader.component.mjs.map +1 -0
- package/dist/node/lib/AreLoader/AreLoader.constants.d.mts +2 -0
- package/dist/node/lib/AreLoader/AreLoader.constants.d.ts +2 -0
- package/dist/node/lib/AreLoader/AreLoader.constants.js +4 -0
- package/dist/node/lib/AreLoader/AreLoader.constants.js.map +1 -0
- package/dist/node/lib/AreLoader/AreLoader.constants.mjs +3 -0
- package/dist/node/lib/AreLoader/AreLoader.constants.mjs.map +1 -0
- package/dist/node/lib/AreLoader/AreLoader.error.d.mts +8 -0
- package/dist/node/lib/AreLoader/AreLoader.error.d.ts +8 -0
- package/dist/node/lib/AreLoader/AreLoader.error.js +12 -0
- package/dist/node/lib/AreLoader/AreLoader.error.js.map +1 -0
- package/dist/node/lib/AreLoader/AreLoader.error.mjs +11 -0
- package/dist/node/lib/AreLoader/AreLoader.error.mjs.map +1 -0
- package/dist/node/lib/AreLoader/AreLoader.types.d.mts +2 -0
- package/dist/node/lib/AreLoader/AreLoader.types.d.ts +2 -0
- package/dist/node/lib/AreLoader/AreLoader.types.js +4 -0
- package/dist/node/lib/AreLoader/AreLoader.types.js.map +1 -0
- package/dist/node/lib/AreLoader/AreLoader.types.mjs +3 -0
- package/dist/node/lib/AreLoader/AreLoader.types.mjs.map +1 -0
- package/dist/node/lib/AreNode/AreNode.constants.d.mts +87 -17
- package/dist/node/lib/AreNode/AreNode.constants.d.ts +87 -17
- package/dist/node/lib/AreNode/AreNode.constants.js +111 -11
- package/dist/node/lib/AreNode/AreNode.constants.js.map +1 -1
- package/dist/node/lib/AreNode/AreNode.constants.mjs +111 -12
- package/dist/node/lib/AreNode/AreNode.constants.mjs.map +1 -1
- package/dist/node/lib/AreNode/AreNode.entity.d.mts +12 -6
- package/dist/node/lib/AreNode/AreNode.entity.d.ts +12 -6
- package/dist/node/lib/AreNode/AreNode.entity.js +281 -49
- package/dist/node/lib/AreNode/AreNode.entity.js.map +1 -1
- package/dist/node/lib/AreNode/AreNode.entity.mjs +282 -50
- package/dist/node/lib/AreNode/AreNode.entity.mjs.map +1 -1
- package/dist/node/lib/AreNode/AreNode.types.d.mts +14 -13
- package/dist/node/lib/AreNode/AreNode.types.d.ts +14 -13
- package/dist/node/lib/AreScene/AreScene.constants.d.mts +7 -0
- package/dist/node/lib/AreScene/AreScene.constants.d.ts +7 -0
- package/dist/node/lib/AreScene/AreScene.constants.js +11 -0
- package/dist/node/lib/AreScene/AreScene.constants.js.map +1 -0
- package/dist/node/lib/AreScene/AreScene.constants.mjs +11 -0
- package/dist/node/lib/AreScene/AreScene.constants.mjs.map +1 -0
- package/dist/node/lib/AreScene/AreScene.context.d.mts +12 -6
- package/dist/node/lib/AreScene/AreScene.context.d.ts +12 -6
- package/dist/node/lib/AreScene/AreScene.context.js +284 -186
- package/dist/node/lib/AreScene/AreScene.context.js.map +1 -1
- package/dist/node/lib/AreScene/AreScene.context.mjs +277 -185
- package/dist/node/lib/AreScene/AreScene.context.mjs.map +1 -1
- package/dist/node/lib/AreScene/AreScene.error.d.mts +4 -0
- package/dist/node/lib/AreScene/AreScene.error.d.ts +4 -0
- package/dist/node/lib/AreScene/AreScene.error.js +4 -0
- package/dist/node/lib/AreScene/AreScene.error.js.map +1 -1
- package/dist/node/lib/AreScene/AreScene.error.mjs +4 -0
- package/dist/node/lib/AreScene/AreScene.error.mjs.map +1 -1
- package/dist/node/lib/AreScene/AreScene.types.d.mts +14 -9
- package/dist/node/lib/AreScene/AreScene.types.d.ts +14 -9
- package/dist/node/lib/AreSignals/AreSignal.entity.d.mts +6 -0
- package/dist/node/lib/AreSignals/AreSignal.entity.d.ts +6 -0
- package/dist/node/lib/AreSignals/AreSignal.entity.js +24 -0
- package/dist/node/lib/AreSignals/AreSignal.entity.js.map +1 -0
- package/dist/node/lib/AreSignals/AreSignal.entity.mjs +17 -0
- package/dist/node/lib/AreSignals/AreSignal.entity.mjs.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.component.d.mts +35 -0
- package/dist/node/lib/AreSignals/AreSignals.component.d.ts +35 -0
- package/dist/node/lib/AreSignals/AreSignals.component.js +90 -0
- package/dist/node/lib/AreSignals/AreSignals.component.js.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.component.mjs +80 -0
- package/dist/node/lib/AreSignals/AreSignals.component.mjs.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.constants.d.mts +2 -0
- package/dist/node/lib/AreSignals/AreSignals.constants.d.ts +2 -0
- package/dist/node/lib/AreSignals/AreSignals.constants.js +4 -0
- package/dist/node/lib/AreSignals/AreSignals.constants.js.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.constants.mjs +3 -0
- package/dist/node/lib/AreSignals/AreSignals.constants.mjs.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.context.d.mts +86 -0
- package/dist/node/lib/AreSignals/AreSignals.context.d.ts +86 -0
- package/dist/node/lib/AreSignals/AreSignals.context.js +153 -0
- package/dist/node/lib/AreSignals/AreSignals.context.js.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.context.mjs +146 -0
- package/dist/node/lib/AreSignals/AreSignals.context.mjs.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.meta.d.mts +15 -0
- package/dist/node/lib/AreSignals/AreSignals.meta.d.ts +15 -0
- package/dist/node/lib/AreSignals/AreSignals.meta.js +48 -0
- package/dist/node/lib/AreSignals/AreSignals.meta.js.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.meta.mjs +47 -0
- package/dist/node/lib/AreSignals/AreSignals.meta.mjs.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.types.d.mts +18 -0
- package/dist/node/lib/AreSignals/AreSignals.types.d.ts +18 -0
- package/dist/node/lib/AreSignals/AreSignals.types.js +4 -0
- package/dist/node/lib/AreSignals/AreSignals.types.js.map +1 -0
- package/dist/node/lib/AreSignals/AreSignals.types.mjs +3 -0
- package/dist/node/lib/AreSignals/AreSignals.types.mjs.map +1 -0
- package/dist/node/lib/AreSignals/entities/AreInit.signal.d.mts +8 -0
- package/dist/node/lib/AreSignals/entities/AreInit.signal.d.ts +8 -0
- package/dist/node/lib/AreSignals/entities/AreInit.signal.js +13 -0
- package/dist/node/lib/AreSignals/entities/AreInit.signal.js.map +1 -0
- package/dist/node/lib/AreSignals/entities/AreInit.signal.mjs +12 -0
- package/dist/node/lib/AreSignals/entities/AreInit.signal.mjs.map +1 -0
- package/dist/node/lib/AreSignals/entities/AreRoute.signal.d.mts +12 -0
- package/dist/node/lib/AreSignals/entities/AreRoute.signal.d.ts +12 -0
- package/dist/node/lib/AreSignals/entities/AreRoute.signal.js +25 -0
- package/dist/node/lib/AreSignals/entities/AreRoute.signal.js.map +1 -0
- package/dist/node/lib/AreSignals/entities/AreRoute.signal.mjs +24 -0
- package/dist/node/lib/AreSignals/entities/AreRoute.signal.mjs.map +1 -0
- package/dist/node/lib/AreStore/AreStore.constants.d.mts +5 -0
- package/dist/node/lib/AreStore/AreStore.constants.d.ts +5 -0
- package/dist/node/lib/AreStore/AreStore.constants.js +9 -0
- package/dist/node/lib/AreStore/AreStore.constants.js.map +1 -0
- package/dist/node/lib/AreStore/AreStore.constants.mjs +9 -0
- package/dist/node/lib/AreStore/AreStore.constants.mjs.map +1 -0
- package/dist/node/lib/AreStore/AreStore.context.d.mts +14 -10
- package/dist/node/lib/AreStore/AreStore.context.d.ts +14 -10
- package/dist/node/lib/AreStore/AreStore.context.js +162 -6
- package/dist/node/lib/AreStore/AreStore.context.js.map +1 -1
- package/dist/node/lib/AreStore/AreStore.context.mjs +162 -6
- package/dist/node/lib/AreStore/AreStore.context.mjs.map +1 -1
- package/dist/node/lib/AreStore/AreStore.types.d.mts +9 -0
- package/dist/node/lib/AreStore/AreStore.types.d.ts +9 -0
- package/dist/node/lib/AreStore/AreStore.types.js +4 -0
- package/dist/node/lib/AreStore/AreStore.types.js.map +1 -0
- package/dist/node/lib/AreStore/AreStore.types.mjs +3 -0
- package/dist/node/lib/AreStore/AreStore.types.mjs.map +1 -0
- package/dist/node/lib/AreSyntax/AreSyntax.constants.d.mts +2 -0
- package/dist/node/lib/AreSyntax/AreSyntax.constants.d.ts +2 -0
- package/dist/node/lib/AreSyntax/AreSyntax.constants.js +4 -0
- package/dist/node/lib/AreSyntax/AreSyntax.constants.js.map +1 -0
- package/dist/node/lib/AreSyntax/AreSyntax.constants.mjs +3 -0
- package/dist/node/lib/AreSyntax/AreSyntax.constants.mjs.map +1 -0
- package/dist/node/lib/AreSyntax/AreSyntax.context.d.mts +99 -51
- package/dist/node/lib/AreSyntax/AreSyntax.context.d.ts +99 -51
- package/dist/node/lib/AreSyntax/AreSyntax.context.js +305 -73
- package/dist/node/lib/AreSyntax/AreSyntax.context.js.map +1 -1
- package/dist/node/lib/AreSyntax/AreSyntax.context.mjs +306 -74
- package/dist/node/lib/AreSyntax/AreSyntax.context.mjs.map +1 -1
- package/dist/node/lib/AreSyntax/AreSyntax.types.d.mts +14 -132
- package/dist/node/lib/AreSyntax/AreSyntax.types.d.ts +14 -132
- package/dist/node/lib/AreSyntax/AreSyntax.types.js.map +1 -1
- package/dist/node/lib/AreSyntax/AreSyntax.types.mjs.map +1 -1
- package/dist/node/lib/AreTokenizer/AreTokenizer.component.d.mts +43 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.component.d.ts +43 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.component.js +238 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.component.js.map +1 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.component.mjs +228 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.component.mjs.map +1 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.error.d.mts +6 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.error.d.ts +6 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.error.js +10 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.error.js.map +1 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.error.mjs +9 -0
- package/dist/node/lib/AreTokenizer/AreTokenizer.error.mjs.map +1 -0
- package/dist/node/lib/AreTransformer/AreTransformer.component.d.mts +20 -0
- package/dist/node/lib/AreTransformer/AreTransformer.component.d.ts +20 -0
- package/dist/node/lib/AreTransformer/AreTransformer.component.js +48 -0
- package/dist/node/lib/AreTransformer/AreTransformer.component.js.map +1 -0
- package/dist/node/lib/AreTransformer/AreTransformer.component.mjs +38 -0
- package/dist/node/lib/AreTransformer/AreTransformer.component.mjs.map +1 -0
- package/dist/node/lib/AreTransformer/AreTransformer.constants.d.mts +2 -0
- package/dist/node/lib/AreTransformer/AreTransformer.constants.d.ts +2 -0
- package/dist/node/lib/AreTransformer/AreTransformer.constants.js +4 -0
- package/dist/node/lib/AreTransformer/AreTransformer.constants.js.map +1 -0
- package/dist/node/lib/AreTransformer/AreTransformer.constants.mjs +3 -0
- package/dist/node/lib/AreTransformer/AreTransformer.constants.mjs.map +1 -0
- package/dist/node/lib/AreTransformer/AreTransformer.types.d.mts +2 -0
- package/dist/node/lib/AreTransformer/AreTransformer.types.d.ts +2 -0
- package/dist/node/lib/AreTransformer/AreTransformer.types.js +4 -0
- package/dist/node/lib/AreTransformer/AreTransformer.types.js.map +1 -0
- package/dist/node/lib/AreTransformer/AreTransformer.types.mjs +3 -0
- package/dist/node/lib/AreTransformer/AreTransformer.types.mjs.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.d.mts +18 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.d.ts +18 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.js +78 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.js.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.mjs +71 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.mjs.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.constants.d.mts +2 -0
- package/dist/node/lib/AreWatcher/AreWatcher.constants.d.ts +2 -0
- package/dist/node/lib/AreWatcher/AreWatcher.constants.js +4 -0
- package/dist/node/lib/AreWatcher/AreWatcher.constants.js.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.constants.mjs +3 -0
- package/dist/node/lib/AreWatcher/AreWatcher.constants.mjs.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.context.d.mts +2 -0
- package/dist/node/lib/AreWatcher/AreWatcher.context.d.ts +2 -0
- package/dist/node/lib/AreWatcher/AreWatcher.context.js +4 -0
- package/dist/node/lib/AreWatcher/AreWatcher.context.js.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.context.mjs +3 -0
- package/dist/node/lib/AreWatcher/AreWatcher.context.mjs.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.types.d.mts +2 -0
- package/dist/node/lib/AreWatcher/AreWatcher.types.d.ts +2 -0
- package/dist/node/lib/AreWatcher/AreWatcher.types.js +4 -0
- package/dist/node/lib/AreWatcher/AreWatcher.types.js.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.types.mjs +3 -0
- package/dist/node/lib/AreWatcher/AreWatcher.types.mjs.map +1 -0
- package/jest.config.ts +30 -19
- package/package.json +39 -23
- package/src/index.ts +92 -15
- package/src/lib/AreAttribute/AreAttribute.constants.ts +22 -0
- package/src/lib/AreAttribute/AreAttribute.entity.ts +136 -0
- package/src/lib/AreAttribute/AreAttribute.types.ts +51 -0
- package/src/lib/AreCompiler/AreCompiler.component.ts +48 -980
- package/src/lib/AreComponent/Are.component.ts +102 -50
- package/src/lib/AreComponent/Are.constants.ts +59 -39
- package/src/lib/AreComponent/Are.context.ts +120 -8
- package/src/lib/AreComponent/Are.meta.ts +16 -0
- package/src/lib/AreComponent/Are.types.ts +30 -0
- package/src/lib/AreEngine/AreEngine.component.ts +317 -0
- package/src/lib/AreEngine/AreEngine.constants.ts +7 -0
- package/src/lib/AreEngine/AreEngine.error.ts +9 -0
- package/src/lib/AreEngine/AreEngine.types.ts +24 -0
- package/src/lib/AreEvent/AreEvent.context.ts +3 -27
- package/src/lib/AreInstruction/AreInstruction.constants.ts +23 -0
- package/src/lib/AreInstruction/AreInstruction.entity.ts +207 -0
- package/src/lib/AreInstruction/AreInstruction.error.ts +7 -0
- package/src/lib/AreInstruction/AreInstruction.types.ts +63 -0
- package/src/lib/AreInstruction/types/AreDeclaration.instruction.ts +77 -0
- package/src/lib/AreInstruction/types/AreMutation.instruction.ts +87 -0
- package/src/lib/AreInterpreter/AreInterpreter.component.ts +208 -0
- package/src/lib/AreInterpreter/AreInterpreter.error.ts +6 -0
- package/src/lib/AreLifecycle/AreLifecycle.component.ts +638 -0
- package/src/lib/AreLifecycle/AreLifecycle.constants.ts +0 -0
- package/src/lib/AreLifecycle/AreLifecycle.error.ts +9 -0
- package/src/lib/AreLifecycle/AreLifecycle.types.ts +0 -0
- package/src/lib/AreLoader/AreLoader.component.ts +89 -0
- package/src/lib/AreLoader/AreLoader.constants.ts +0 -0
- package/src/lib/AreLoader/AreLoader.error.ts +10 -0
- package/src/lib/AreLoader/AreLoader.types.ts +0 -0
- package/src/lib/AreNode/AreNode.constants.ts +111 -16
- package/src/lib/AreNode/AreNode.entity.ts +380 -91
- package/src/lib/AreNode/AreNode.types.ts +7 -11
- package/src/lib/AreScene/AreScene.constants.ts +7 -0
- package/src/lib/AreScene/AreScene.context.ts +305 -284
- package/src/lib/AreScene/AreScene.error.ts +9 -1
- package/src/lib/AreScene/AreScene.types.ts +21 -3
- package/src/lib/AreSignals/AreSignal.entity.ts +17 -0
- package/src/lib/AreSignals/AreSignals.component.ts +98 -0
- package/src/lib/AreSignals/AreSignals.constants.ts +0 -0
- package/src/lib/AreSignals/AreSignals.context.ts +196 -0
- package/src/lib/AreSignals/AreSignals.meta.ts +75 -0
- package/src/lib/AreSignals/AreSignals.types.ts +18 -0
- package/src/lib/AreSignals/entities/AreInit.signal.ts +7 -0
- package/src/lib/AreSignals/entities/AreRoute.signal.ts +27 -0
- package/src/lib/AreStore/AreStore.constants.ts +6 -0
- package/src/lib/AreStore/AreStore.context.ts +243 -14
- package/src/lib/AreStore/AreStore.types.ts +19 -0
- package/src/lib/AreSyntax/AreSyntax.constants.ts +0 -0
- package/src/lib/AreSyntax/AreSyntax.context.ts +352 -78
- package/src/lib/AreSyntax/AreSyntax.types.ts +75 -139
- package/src/lib/AreTokenizer/AreTokenizer.component.ts +289 -0
- package/src/lib/AreTokenizer/AreTokenizer.error.ts +7 -0
- package/src/lib/AreTransformer/AreTransformer.component.ts +46 -0
- package/src/lib/AreTransformer/AreTransformer.constants.ts +0 -0
- package/src/lib/AreTransformer/AreTransformer.types.ts +0 -0
- package/src/lib/AreWatcher/AreWatcher.component.ts +84 -0
- package/src/lib/AreWatcher/AreWatcher.constants.ts +0 -0
- package/src/lib/AreWatcher/AreWatcher.context.ts +0 -0
- package/src/lib/AreWatcher/AreWatcher.types.ts +0 -0
- package/tests/AreInstruction.test.ts +73 -0
- package/tests/AreScene.test.ts +62 -0
- package/tests/AreSignals.test.ts +55 -0
- package/tests/AreTokenizer.test.ts +254 -0
- package/tests/jest.setup.ts +30 -0
- package/tsconfig.json +19 -19
- package/tsup.config.ts +6 -0
- package/dist/node/engines/html/AreHTML.compiler.d.mts +0 -114
- package/dist/node/engines/html/AreHTML.compiler.d.ts +0 -114
- package/dist/node/engines/html/AreHTML.compiler.js +0 -408
- package/dist/node/engines/html/AreHTML.compiler.js.map +0 -1
- package/dist/node/engines/html/AreHTML.compiler.mjs +0 -398
- package/dist/node/engines/html/AreHTML.compiler.mjs.map +0 -1
- package/dist/node/engines/html/AreHTML.engine.d.mts +0 -36
- package/dist/node/engines/html/AreHTML.engine.d.ts +0 -36
- package/dist/node/engines/html/AreHTML.engine.js +0 -122
- package/dist/node/engines/html/AreHTML.engine.js.map +0 -1
- package/dist/node/engines/html/AreHTML.engine.mjs +0 -112
- package/dist/node/engines/html/AreHTML.engine.mjs.map +0 -1
- package/dist/node/engines/html/index.d.mts +0 -26
- package/dist/node/engines/html/index.d.ts +0 -26
- package/dist/node/engines/html/index.js +0 -17
- package/dist/node/engines/html/index.js.map +0 -1
- package/dist/node/engines/html/index.mjs +0 -5
- package/dist/node/engines/html/index.mjs.map +0 -1
- package/dist/node/engines/json/AreJSON.compiler.d.mts +0 -21
- package/dist/node/engines/json/AreJSON.compiler.d.ts +0 -21
- package/dist/node/engines/json/AreJSON.compiler.js +0 -24
- package/dist/node/engines/json/AreJSON.compiler.js.map +0 -1
- package/dist/node/engines/json/AreJSON.compiler.mjs +0 -17
- package/dist/node/engines/json/AreJSON.compiler.mjs.map +0 -1
- package/dist/node/index-BD-6iOuR.d.ts +0 -238
- package/dist/node/index-DMXWCL7R.d.mts +0 -238
- package/dist/node/lib/AreApp/AreApp.container.d.mts +0 -22
- package/dist/node/lib/AreApp/AreApp.container.d.ts +0 -22
- package/dist/node/lib/AreApp/AreApp.container.js +0 -60
- package/dist/node/lib/AreApp/AreApp.container.js.map +0 -1
- package/dist/node/lib/AreApp/AreApp.container.mjs +0 -48
- package/dist/node/lib/AreApp/AreApp.container.mjs.map +0 -1
- package/dist/node/lib/AreApp/AreApp.env.js +0 -4
- package/dist/node/lib/AreApp/AreApp.env.js.map +0 -1
- package/dist/node/lib/AreApp/AreApp.env.mjs +0 -3
- package/dist/node/lib/AreApp/AreApp.env.mjs.map +0 -1
- package/dist/node/lib/AreApp/AreApp.error.d.mts +0 -6
- package/dist/node/lib/AreApp/AreApp.error.d.ts +0 -6
- package/dist/node/lib/AreApp/AreApp.error.js +0 -10
- package/dist/node/lib/AreApp/AreApp.error.js.map +0 -1
- package/dist/node/lib/AreApp/AreApp.error.mjs +0 -9
- package/dist/node/lib/AreApp/AreApp.error.mjs.map +0 -1
- package/dist/node/lib/AreApp/AreApp.types.js +0 -4
- package/dist/node/lib/AreApp/AreApp.types.js.map +0 -1
- package/dist/node/lib/AreApp/AreApp.types.mjs +0 -3
- package/dist/node/lib/AreApp/AreApp.types.mjs.map +0 -1
- package/dist/node/lib/AreApp/index.d.mts +0 -17
- package/dist/node/lib/AreApp/index.d.ts +0 -17
- package/dist/node/lib/AreApp/index.js +0 -24
- package/dist/node/lib/AreApp/index.js.map +0 -1
- package/dist/node/lib/AreApp/index.mjs +0 -6
- package/dist/node/lib/AreApp/index.mjs.map +0 -1
- package/dist/node/lib/AreCompiler/index.d.mts +0 -17
- package/dist/node/lib/AreCompiler/index.d.ts +0 -17
- package/dist/node/lib/AreCompiler/index.js +0 -24
- package/dist/node/lib/AreCompiler/index.js.map +0 -1
- package/dist/node/lib/AreCompiler/index.mjs +0 -6
- package/dist/node/lib/AreCompiler/index.mjs.map +0 -1
- package/dist/node/lib/AreComponent/index.d.mts +0 -11
- package/dist/node/lib/AreComponent/index.d.ts +0 -11
- package/dist/node/lib/AreComponent/index.js +0 -31
- package/dist/node/lib/AreComponent/index.js.map +0 -1
- package/dist/node/lib/AreComponent/index.mjs +0 -7
- package/dist/node/lib/AreComponent/index.mjs.map +0 -1
- package/dist/node/lib/AreEvent/index.d.mts +0 -8
- package/dist/node/lib/AreEvent/index.d.ts +0 -8
- package/dist/node/lib/AreEvent/index.js +0 -19
- package/dist/node/lib/AreEvent/index.js.map +0 -1
- package/dist/node/lib/AreEvent/index.mjs +0 -5
- package/dist/node/lib/AreEvent/index.mjs.map +0 -1
- package/dist/node/lib/AreIndex/AreIndex.context.d.mts +0 -8
- package/dist/node/lib/AreIndex/AreIndex.context.d.ts +0 -8
- package/dist/node/lib/AreIndex/AreIndex.context.js +0 -142
- package/dist/node/lib/AreIndex/AreIndex.context.js.map +0 -1
- package/dist/node/lib/AreIndex/AreIndex.context.mjs +0 -141
- package/dist/node/lib/AreIndex/AreIndex.context.mjs.map +0 -1
- package/dist/node/lib/AreIndex/index.d.mts +0 -8
- package/dist/node/lib/AreIndex/index.d.ts +0 -8
- package/dist/node/lib/AreIndex/index.js +0 -12
- package/dist/node/lib/AreIndex/index.js.map +0 -1
- package/dist/node/lib/AreIndex/index.mjs +0 -4
- package/dist/node/lib/AreIndex/index.mjs.map +0 -1
- package/dist/node/lib/AreNode/index.d.mts +0 -9
- package/dist/node/lib/AreNode/index.d.ts +0 -9
- package/dist/node/lib/AreNode/index.js +0 -26
- package/dist/node/lib/AreNode/index.js.map +0 -1
- package/dist/node/lib/AreNode/index.mjs +0 -6
- package/dist/node/lib/AreNode/index.mjs.map +0 -1
- package/dist/node/lib/AreProps/AreProps.context.d.mts +0 -9
- package/dist/node/lib/AreProps/AreProps.context.d.ts +0 -9
- package/dist/node/lib/AreProps/AreProps.context.js +0 -32
- package/dist/node/lib/AreProps/AreProps.context.js.map +0 -1
- package/dist/node/lib/AreProps/AreProps.context.mjs +0 -25
- package/dist/node/lib/AreProps/AreProps.context.mjs.map +0 -1
- package/dist/node/lib/AreProps/index.d.mts +0 -3
- package/dist/node/lib/AreProps/index.d.ts +0 -3
- package/dist/node/lib/AreProps/index.js +0 -12
- package/dist/node/lib/AreProps/index.js.map +0 -1
- package/dist/node/lib/AreProps/index.mjs +0 -4
- package/dist/node/lib/AreProps/index.mjs.map +0 -1
- package/dist/node/lib/AreRoot/AreRoot.component.d.mts +0 -18
- package/dist/node/lib/AreRoot/AreRoot.component.d.ts +0 -18
- package/dist/node/lib/AreRoot/AreRoot.component.js +0 -53
- package/dist/node/lib/AreRoot/AreRoot.component.js.map +0 -1
- package/dist/node/lib/AreRoot/AreRoot.component.mjs +0 -41
- package/dist/node/lib/AreRoot/AreRoot.component.mjs.map +0 -1
- package/dist/node/lib/AreRoot/index.d.mts +0 -11
- package/dist/node/lib/AreRoot/index.d.ts +0 -11
- package/dist/node/lib/AreRoot/index.js +0 -12
- package/dist/node/lib/AreRoot/index.js.map +0 -1
- package/dist/node/lib/AreRoot/index.mjs +0 -4
- package/dist/node/lib/AreRoot/index.mjs.map +0 -1
- package/dist/node/lib/AreRouter/AreRouter.componeent.d.mts +0 -17
- package/dist/node/lib/AreRouter/AreRouter.componeent.d.ts +0 -17
- package/dist/node/lib/AreRouter/AreRouter.componeent.js +0 -37
- package/dist/node/lib/AreRouter/AreRouter.componeent.js.map +0 -1
- package/dist/node/lib/AreRouter/AreRouter.componeent.mjs +0 -25
- package/dist/node/lib/AreRouter/AreRouter.componeent.mjs.map +0 -1
- package/dist/node/lib/AreRouter/index.d.mts +0 -12
- package/dist/node/lib/AreRouter/index.d.ts +0 -12
- package/dist/node/lib/AreRouter/index.js +0 -12
- package/dist/node/lib/AreRouter/index.js.map +0 -1
- package/dist/node/lib/AreRouter/index.mjs +0 -4
- package/dist/node/lib/AreRouter/index.mjs.map +0 -1
- package/dist/node/lib/AreScene/index.d.mts +0 -9
- package/dist/node/lib/AreScene/index.d.ts +0 -9
- package/dist/node/lib/AreScene/index.js +0 -24
- package/dist/node/lib/AreScene/index.js.map +0 -1
- package/dist/node/lib/AreScene/index.mjs +0 -6
- package/dist/node/lib/AreScene/index.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.d.mts +0 -7
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.d.ts +0 -7
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.js +0 -12
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.mjs +0 -12
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.d.mts +0 -8
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.d.ts +0 -8
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.js +0 -95
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.mjs +0 -94
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.d.mts +0 -8
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.d.ts +0 -8
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.js +0 -4
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.mjs +0 -3
- package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/index.d.mts +0 -19
- package/dist/node/lib/AreSceneInstruction/index.d.ts +0 -19
- package/dist/node/lib/AreSceneInstruction/index.js +0 -33
- package/dist/node/lib/AreSceneInstruction/index.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/index.mjs +0 -7
- package/dist/node/lib/AreSceneInstruction/index.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.d.mts +0 -19
- package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.d.ts +0 -19
- package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.js +0 -27
- package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.mjs +0 -26
- package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.d.mts +0 -20
- package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.d.ts +0 -20
- package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.js +0 -27
- package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.mjs +0 -26
- package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.d.mts +0 -17
- package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.d.ts +0 -17
- package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.js +0 -23
- package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.mjs +0 -22
- package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.d.mts +0 -19
- package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.d.ts +0 -19
- package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.js +0 -27
- package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.mjs +0 -26
- package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.d.mts +0 -23
- package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.d.ts +0 -23
- package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.js +0 -41
- package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.mjs +0 -40
- package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.d.mts +0 -15
- package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.d.ts +0 -15
- package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.js +0 -21
- package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs +0 -20
- package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.d.mts +0 -17
- package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.d.ts +0 -17
- package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.js +0 -23
- package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.mjs +0 -22
- package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.d.mts +0 -23
- package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.d.ts +0 -23
- package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js +0 -34
- package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs +0 -33
- package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.d.mts +0 -16
- package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.d.ts +0 -16
- package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.js +0 -20
- package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.mjs +0 -19
- package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.mjs.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/index.d.mts +0 -18
- package/dist/node/lib/AreSceneInstruction/types/index.d.ts +0 -18
- package/dist/node/lib/AreSceneInstruction/types/index.js +0 -52
- package/dist/node/lib/AreSceneInstruction/types/index.js.map +0 -1
- package/dist/node/lib/AreSceneInstruction/types/index.mjs +0 -12
- package/dist/node/lib/AreSceneInstruction/types/index.mjs.map +0 -1
- package/dist/node/lib/AreSlot/AreSlot.component.d.mts +0 -8
- package/dist/node/lib/AreSlot/AreSlot.component.d.ts +0 -8
- package/dist/node/lib/AreSlot/AreSlot.component.js +0 -37
- package/dist/node/lib/AreSlot/AreSlot.component.js.map +0 -1
- package/dist/node/lib/AreSlot/AreSlot.component.mjs +0 -36
- package/dist/node/lib/AreSlot/AreSlot.component.mjs.map +0 -1
- package/dist/node/lib/AreStore/index.d.mts +0 -3
- package/dist/node/lib/AreStore/index.d.ts +0 -3
- package/dist/node/lib/AreStore/index.js +0 -12
- package/dist/node/lib/AreStore/index.js.map +0 -1
- package/dist/node/lib/AreStore/index.mjs +0 -4
- package/dist/node/lib/AreStore/index.mjs.map +0 -1
- package/dist/node/lib/AreSyntax/AreSyntax.component.d.mts +0 -89
- package/dist/node/lib/AreSyntax/AreSyntax.component.d.ts +0 -89
- package/dist/node/lib/AreSyntax/AreSyntax.component.js +0 -241
- package/dist/node/lib/AreSyntax/AreSyntax.component.js.map +0 -1
- package/dist/node/lib/AreSyntax/AreSyntax.component.mjs +0 -232
- package/dist/node/lib/AreSyntax/AreSyntax.component.mjs.map +0 -1
- package/dist/node/lib/AreSyntax/index.d.mts +0 -12
- package/dist/node/lib/AreSyntax/index.d.ts +0 -12
- package/dist/node/lib/AreSyntax/index.js +0 -29
- package/dist/node/lib/AreSyntax/index.js.map +0 -1
- package/dist/node/lib/AreSyntax/index.mjs +0 -7
- package/dist/node/lib/AreSyntax/index.mjs.map +0 -1
- package/dist/node/signals/AreInit.signal.d.mts +0 -7
- package/dist/node/signals/AreInit.signal.d.ts +0 -7
- package/dist/node/signals/AreInit.signal.js +0 -13
- package/dist/node/signals/AreInit.signal.js.map +0 -1
- package/dist/node/signals/AreInit.signal.mjs +0 -12
- package/dist/node/signals/AreInit.signal.mjs.map +0 -1
- package/dist/node/signals/AreRoute.signal.d.mts +0 -12
- package/dist/node/signals/AreRoute.signal.d.ts +0 -12
- package/dist/node/signals/AreRoute.signal.js +0 -24
- package/dist/node/signals/AreRoute.signal.js.map +0 -1
- package/dist/node/signals/AreRoute.signal.mjs +0 -23
- package/dist/node/signals/AreRoute.signal.mjs.map +0 -1
- package/dist/node/signals/index.d.mts +0 -4
- package/dist/node/signals/index.d.ts +0 -4
- package/dist/node/signals/index.js +0 -17
- package/dist/node/signals/index.js.map +0 -1
- package/dist/node/signals/index.mjs +0 -5
- package/dist/node/signals/index.mjs.map +0 -1
- package/examples/jumpstart/concept.ts +0 -60
- package/examples/jumpstart/containers/UI.container.ts +0 -172
- package/examples/jumpstart/dist/index.html +0 -22
- package/examples/jumpstart/dist/mls3rrlq-lofs95.js +0 -129
- package/examples/jumpstart/dist/static/css/main.css +0 -40
- package/examples/jumpstart/dist/static/img/test.png +0 -0
- package/examples/jumpstart/public/index.html +0 -22
- package/examples/jumpstart/public/static/css/main.css +0 -40
- package/examples/jumpstart/public/static/img/test.png +0 -0
- package/examples/jumpstart/src/components/A-Btn.component.ts +0 -124
- package/examples/jumpstart/src/components/A-Input.component.ts +0 -78
- package/examples/jumpstart/src/components/A-Navigation.component.ts +0 -167
- package/examples/jumpstart/src/components/SignInComponent.component.ts +0 -127
- package/examples/jumpstart/src/concept.ts +0 -92
- package/src/engines/html/AreHTML.compiler.ts +0 -657
- package/src/engines/html/AreHTML.engine.ts +0 -62
- package/src/engines/html/index.ts +0 -2
- package/src/engines/json/AreJSON.compiler.ts +0 -13
- package/src/lib/AreApp/AreApp.container.ts +0 -77
- package/src/lib/AreApp/AreApp.error.ts +0 -7
- package/src/lib/AreApp/index.ts +0 -4
- package/src/lib/AreCompiler/index.ts +0 -3
- package/src/lib/AreComponent/index.ts +0 -4
- package/src/lib/AreEvent/index.ts +0 -2
- package/src/lib/AreIndex/AreIndex.context.ts +0 -174
- package/src/lib/AreIndex/index.ts +0 -1
- package/src/lib/AreNode/index.ts +0 -4
- package/src/lib/AreProps/AreProps.context.ts +0 -26
- package/src/lib/AreProps/index.ts +0 -1
- package/src/lib/AreRoot/AreRoot.component.ts +0 -54
- package/src/lib/AreRoot/index.ts +0 -1
- package/src/lib/AreRouter/AreRouter.componeent.ts +0 -24
- package/src/lib/AreRouter/index.ts +0 -1
- package/src/lib/AreScene/index.ts +0 -3
- package/src/lib/AreSceneInstruction/AreSceneInstruction.constants.ts +0 -7
- package/src/lib/AreSceneInstruction/AreSceneInstruction.entity.ts +0 -156
- package/src/lib/AreSceneInstruction/AreSceneInstruction.types.ts +0 -8
- package/src/lib/AreSceneInstruction/index.ts +0 -4
- package/src/lib/AreSceneInstruction/types/AddAttribute.instruction.ts +0 -34
- package/src/lib/AreSceneInstruction/types/AddDirective.instruction.ts +0 -36
- package/src/lib/AreSceneInstruction/types/AddStyle.instruction.ts +0 -26
- package/src/lib/AreSceneInstruction/types/AddStyleProperty.instruction.ts +0 -32
- package/src/lib/AreSceneInstruction/types/AttachListener.instruction.ts +0 -57
- package/src/lib/AreSceneInstruction/types/AttachRootNode.instruction.ts +0 -23
- package/src/lib/AreSceneInstruction/types/MountNode.instruction.ts +0 -29
- package/src/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.ts +0 -45
- package/src/lib/AreSceneInstruction/types/UnmountNode.instruction.ts +0 -22
- package/src/lib/AreSceneInstruction/types/index.ts +0 -10
- package/src/lib/AreSlot/AreSlot.component.ts +0 -48
- package/src/lib/AreStore/index.ts +0 -1
- package/src/lib/AreSyntax/AreSyntax.component.ts +0 -378
- package/src/lib/AreSyntax/index.ts +0 -4
- package/src/signals/AreInit.signal.ts +0 -7
- package/src/signals/AreRoute.signal.ts +0 -25
- package/src/signals/index.ts +0 -2
- package/tests/A-HttpChannel.test.ts +0 -204
- package/tests/A-HttpServerError.test.ts +0 -204
- package/tests/A-Request.test.ts +0 -742
- package/tests/A-Service.test.ts +0 -18
- /package/dist/node/lib/{AreApp/AreApp.env.d.mts → AreInterpreter/AreInterpreter.constants.d.mts} +0 -0
- /package/dist/node/lib/{AreApp/AreApp.env.d.ts → AreInterpreter/AreInterpreter.constants.d.ts} +0 -0
- /package/dist/node/lib/{AreApp/AreApp.types.d.mts → AreInterpreter/AreInterpreter.types.d.mts} +0 -0
- /package/dist/node/lib/{AreApp/AreApp.types.d.ts → AreInterpreter/AreInterpreter.types.d.ts} +0 -0
- /package/src/lib/{AreApp/AreApp.env.ts → AreInterpreter/AreInterpreter.constants.ts} +0 -0
- /package/src/lib/{AreApp/AreApp.types.ts → AreInterpreter/AreInterpreter.types.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/AreCompiler/AreCompiler.component.ts"],"names":[],"mappings":"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","file":"AreCompiler.component.mjs","sourcesContent":["import { A_Caller, A_Component, A_Container, A_Context, A_Dependency, A_Error, A_Feature, A_FormatterHelper, A_Inject, A_Scope, A_TYPES__EntityFeatures, ASEID } from \"@adaas/a-concept\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { AreIndex } from \"@adaas/are/index\";\nimport { AreScene } from \"@adaas/are/scene\";\nimport { AreNode, AreNodeFeatures } from \"@adaas/are/node\";\nimport {\n AreSceneInstructionFeatures,\n AttachRootNodeInstruction,\n MountNodeInstruction,\n UnmountNodeInstruction,\n AddStyleInstruction,\n AttachListenerInstruction,\n AddAttributeInstruction,\n ReplaceInterpolationInstruction,\n AddDirectiveInstruction,\n} from \"@adaas/are/scene-instruction\";\nimport { AreSyntax } from \"@adaas/are/syntax\";\nimport { A_ExecutionContext } from \"@adaas/a-utils/a-execution\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_SignalBusFeatures, A_SignalState, A_SignalVector } from \"@adaas/a-utils/a-signal\";\nimport { Are, AreContext, AreFeatures } from \"@adaas/are/component\";\nimport { AreProps } from \"@adaas/are/props\";\nimport { AreStore } from \"@adaas/are/store\";\nimport { AreEvent } from \"@adaas/are/event\";\nimport { AreCompilerError } from \"./AreCompiler.error\";\n\n\n\n@A_Frame.Component({\n namespace: 'A-ARE',\n name: 'AreCompiler',\n description: 'AreCompiler is responsible for compiling AreNodes into their respective components, managing the compilation lifecycle, and ensuring that each node is processed according to its defined behavior within the A-Concept Rendering Engine (ARE) framework.'\n})\nexport class AreCompiler extends A_Component {\n\n\n\n // ==================================================================================\n // ========================= COMPONENT METHODS ======================================\n // ==================================================================================\n index(node: AreNode) {\n\n }\n\n component(node: AreNode): Are | undefined {\n let scope: A_Scope\n\n try {\n scope = node.scope\n } catch (error) {\n scope = A_Context.scope(this)\n }\n\n return scope.resolve<Are>(A_FormatterHelper.toPascalCase(node.aseid.entity)) as Are | undefined;\n }\n // ==================================================================================\n // ========================= ARE-NODE METHODS ======================================\n // ==================================================================================\n\n // -----------------------------------------------------------------------------------------\n // ----------------------------Are-Node Load Section----------------------------------------\n // -----------------------------------------------------------------------------------------\n /**\n * Handles before load lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: A_TYPES__EntityFeatures.LOAD,\n before: /.*/,\n scope: [AreNode]\n })\n async beforeLoad(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n\n\n const component = scope.resolveOnce<Are>(A_FormatterHelper.toPascalCase(node.aseid.entity));\n\n if (component)\n await feature.chain(component, AreFeatures.onBeforeLoad, node.scope);\n }\n\n /**\n * Loads the AreNode into the AreScene\n * \n * @param node \n * @param scope \n * @param syntax \n * @param feature \n * @param logger \n * @param args \n */\n @A_Feature.Extend({\n name: A_TYPES__EntityFeatures.LOAD,\n scope: [AreNode]\n })\n async load(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreSyntax) syntax: AreSyntax,\n @A_Inject(A_Feature) feature: A_Feature,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ...args: any[]\n ) {\n const loadTimerLabel = `Load Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`;\n console.time(loadTimerLabel);\n\n console.time(`Load: Component Resolution for <${node.aseid.entity}>`);\n const component = this.component(node);\n console.timeEnd(`Load: Component Resolution for <${node.aseid.entity}>`);\n\n\n if (!component && syntax.isCustomNode(node)) {\n logger?.warning(\n 'Component Not Found',\n `No component registered for entity: ${node.aseid.entity}. Please ensure that the component is registered in the scope before rendering.`\n );\n }\n\n console.time(`Load: Scene/Store/Props Creation for <${node.aseid.entity}>`);\n const newNodeScene = new AreScene(node.aseid);\n const newNodeIndex = new AreIndex(node.aseid);\n const newNodeStore = new AreStore(node.aseid);\n const newNodeProps = new AreProps(node.aseid);\n\n scope.register(newNodeScene);\n scope.register(newNodeIndex);\n\n if (syntax.isCustomNode(node)) {\n scope.register(newNodeStore);\n scope.register(newNodeProps);\n }\n console.timeEnd(`Load: Scene/Store/Props Creation for <${node.aseid.entity}>`);\n\n if (component) {\n console.time(`Load: Component Lifecycle Chains for <${node.aseid.entity}>`);\n await feature.chain(component, AreFeatures.onData, scope);\n await feature.chain(component, AreFeatures.onStyles, scope);\n await feature.chain(component, AreFeatures.onTemplate, scope);\n console.timeEnd(`Load: Component Lifecycle Chains for <${node.aseid.entity}>`);\n }\n\n console.time(`Load: Node Indexing for <${node.aseid.entity}>`);\n this.index(node);\n console.timeEnd(`Load: Node Indexing for <${node.aseid.entity}>`);\n\n logger?.debug(newNodeScene.debugPrefix + `Loaded component <${node.aseid.entity}> with ${this.constructor.name}`);\n\n console.time(`Load: Child Nodes Processing for <${node.aseid.entity}>`);\n const sceneNodes = newNodeScene.nodes();\n for (let i = 0; i < sceneNodes.length; i++) {\n const sceneNode = sceneNodes[i];\n const childTimerLabel = `Load: Child Node [${i}] <${sceneNode.aseid.entity}> for Parent <${node.aseid.entity}>`;\n console.time(childTimerLabel);\n\n if (!newNodeScene.isAttached(sceneNode)) {\n newNodeScene.attach(sceneNode)\n await sceneNode.load();\n }\n\n console.timeEnd(childTimerLabel);\n }\n console.timeEnd(`Load: Child Nodes Processing for <${node.aseid.entity}>`);\n\n console.timeEnd(loadTimerLabel);\n\n }\n /**\n * Handles after load lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: A_TYPES__EntityFeatures.LOAD,\n after: /.*/,\n scope: [AreNode]\n })\n async afterLoad(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n\n logger?.debug(scene.debugPrefix + `[Load -> After] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n const component = this.component(node);\n\n if (component)\n await feature.chain(component, AreFeatures.onAfterLoad, node.scope);\n\n }\n\n // -----------------------------------------------------------------------------------------\n // ----------------------------Are-Node Compile Section----------------------------------------\n // -----------------------------------------------------------------------------------------\n /**\n * Handles before compile lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onCompile,\n before: /.*/,\n scope: [AreNode]\n })\n beforeCompile(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n\n logger?.debug(scene.debugPrefix + `[Compile -> Before] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n const component = scope.resolveOnce<Are>(A_FormatterHelper.toPascalCase(node.aseid.entity));\n\n if (component)\n feature.chain(component, AreFeatures.onBeforeCompile, node.scope);\n }\n /**\n * Compiles the AreNode using AreCompiler\n * \n * \n * @param logger \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onCompile,\n scope: [AreNode]\n })\n compile(\n /**\n * Actual Node no be compiled\n */\n @A_Inject(A_Caller) node: AreNode,\n /**\n * Nodes owned Scene, Node content\n */\n @A_Dependency.Flat()\n @A_Inject(AreScene) scene: AreScene,\n /**\n * Parent Scene where the node is registered\n */\n @A_Dependency.Parent()\n @A_Inject(AreScene) parentScene: AreScene,\n /**\n * Global Syntax Definition for parsing markup\n */\n @A_Inject(AreSyntax) syntax: AreSyntax,\n\n @A_Inject(AreProps) props: AreProps,\n @A_Inject(AreStore) store: AreStore,\n\n @A_Dependency.Parent()\n @A_Inject(AreStore) parentStore: AreStore,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n\n @A_Inject(A_Scope) scope?: A_Scope,\n ) {\n const compileTimerLabel = `Compile Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`;\n console.time(compileTimerLabel);\n\n try {\n // the case when it's NOT a RootNode\n if (!syntax.isRootNode(node)) {\n\n logger?.debug('violet', scene.debugPrefix + `Compiling node <${node.aseid.entity}> in Scene <${parentScene.name}>`);\n\n console.time(`Compile: Mount Instruction Planning for <${node.aseid.entity}>`);\n // -------------------------------------------------------\n // 1) index the scene and plan Mount Node instruction\n // -------------------------------------------------------\n const mountInstruction = new MountNodeInstruction(node, scene.path);\n\n if (!parentScene.isPlanned(mountInstruction)) {\n logger?.debug('red', scene.debugPrefix + `Planning Node Mount for Node <${node.type}> ASEID: <${node.aseid.entity}>`);\n\n parentScene.plan(mountInstruction);\n mountInstruction.init();\n }\n console.timeEnd(`Compile: Mount Instruction Planning for <${node.aseid.entity}>`);\n\n console.time(`Compile: Template Interpolation Processing for <${node.aseid.entity}>`);\n if (syntax.isCustomNode(node)) {\n const interpolations = syntax.extractInterpolations(node.template);\n for (let i = 0; i < interpolations.length; i++) {\n const interpolation = interpolations[i];\n console.time(`Compile: Interpolation [${i}] \"${interpolation.name}\" for <${node.aseid.entity}>`);\n\n const value = store.get(interpolation.name) || parentStore.get(interpolation.name);\n\n const instruction = new ReplaceInterpolationInstruction(node, interpolation, value);\n\n const stateInstruction = parentScene.getState(instruction);\n\n instruction.update({ value, prevValue: stateInstruction?.value });\n\n if (!parentScene.isPlanned(instruction)) {\n parentScene.plan(instruction);\n instruction.init();\n } else {\n parentScene.dropState(instruction);\n parentScene.unPlan(instruction);\n parentScene.plan(instruction);\n }\n\n console.timeEnd(`Compile: Interpolation [${i}] \"${interpolation.name}\" for <${node.aseid.entity}>`);\n }\n }\n console.timeEnd(`Compile: Template Interpolation Processing for <${node.aseid.entity}>`);\n\n console.time(`Compile: Attributes Processing for <${node.aseid.entity}>`);\n // 1) extract all props from the markup and set them in the props store\n const attributes = syntax.extractAttributes(node.markup);\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes[i];\n console.time(`Compile: Attribute [${i}] \"${attr.name}\" for <${node.aseid.entity}>`);\n\n const name = attr.name;\n const value = (syntax.isBindingProp(attr) ?\n store.get(attr.value) || parentStore.get(attr.value)\n : attr.value) || '';\n\n props.set(name, value);\n\n parentScene.plan(new AddAttributeInstruction(node, name, value));\n\n console.timeEnd(`Compile: Attribute [${i}] \"${attr.name}\" for <${node.aseid.entity}>`);\n }\n console.timeEnd(`Compile: Attributes Processing for <${node.aseid.entity}>`);\n\n console.time(`Compile: Directives Processing for <${node.aseid.entity}>`);\n // 3a) Process directives first before other operations\n const directives = syntax.extractDirectives(node.markup);\n for (let i = 0; i < directives.length; i++) {\n const directive = directives[i];\n console.time(`Compile: Directive [${i}] \"${directive.name}\" for <${node.aseid.entity}>`);\n\n let directiveValue: any;\n\n // Get the directive value from store or props\n if (directive.value) {\n directiveValue = store.get(directive.value) || parentStore.get(directive.value);\n }\n\n let instruction = new AddDirectiveInstruction(node, directive, directiveValue);\n\n const stateInstruction = parentScene.getState(instruction);\n\n if (!stateInstruction || stateInstruction.value !== directiveValue) {\n parentScene.unPlan(instruction);\n parentScene.plan(instruction);\n\n instruction.init();\n }\n\n console.timeEnd(`Compile: Directive [${i}] \"${directive.name}\" for <${node.aseid.entity}>`);\n }\n console.timeEnd(`Compile: Directives Processing for <${node.aseid.entity}>`);\n\n console.time(`Compile: Styles Processing for <${node.aseid.entity}>`);\n // -------------------------------------------------------\n // 2) replace all style interpolations in the styles\n // -------------------------------------------------------\n let styles = node.styles || '';\n const styleInterpolations = syntax.extractInterpolations(styles);\n for (let i = 0; i < styleInterpolations.length; i++) {\n const interpolation = styleInterpolations[i];\n console.time(`Compile: Style Interpolation [${i}] \"${interpolation.name}\" for <${node.aseid.entity}>`);\n\n const value = store.get(interpolation.name);\n styles = syntax.replaceInterpolation(styles, interpolation, value);\n\n console.timeEnd(`Compile: Style Interpolation [${i}] \"${interpolation.name}\" for <${node.aseid.entity}>`);\n }\n\n if (styles.trim()) {\n const instruction = new AddStyleInstruction(node, styles);\n\n if (!parentScene.isPlanned(instruction)) {\n parentScene.plan(instruction);\n instruction.init();\n }\n }\n console.timeEnd(`Compile: Styles Processing for <${node.aseid.entity}>`);\n\n console.time(`Compile: Listeners Processing for <${node.aseid.entity}>`);\n // -------------------------------------------------------\n // 3) go through all listeners and register them in the scene\n // -------------------------------------------------------\n const listeners = syntax.extractListeners(node.markup);\n for (let i = 0; i < listeners.length; i++) {\n const listener = listeners[i];\n console.time(`Compile: Listener [${i}] \"${listener.name}\" for <${node.aseid.entity}>`);\n\n // target emitter should be custom component that owns the listener\n let currentScene = scene;\n let targetNode = node\n\n while (!syntax.isCustomNode(targetNode) && currentScene.parent) {\n targetNode = currentScene.parent.scope.resolve<AreNode>(new A_Dependency(AreNode, {\n query: {\n aseid: currentScene.id\n }\n })) as AreNode\n\n currentScene = currentScene.parent;\n }\n\n const instruction = new AttachListenerInstruction(node, targetNode, listener);\n\n if (!parentScene.isPlanned(instruction)) {\n parentScene.plan(instruction);\n instruction.init();\n }\n\n console.timeEnd(`Compile: Listener [${i}] \"${listener.name}\" for <${node.aseid.entity}>`);\n }\n console.timeEnd(`Compile: Listeners Processing for <${node.aseid.entity}>`);\n }\n\n console.time(`Compile: Child Nodes Compilation for <${node.aseid.entity}>`);\n const sceneNodes = scene.nodes();\n for (let i = 0; i < sceneNodes.length; i++) {\n const sceneNode = sceneNodes[i];\n const childTimerLabel = `Compile: Child Node [${i}] <${sceneNode.aseid.entity}> for Parent <${node.aseid.entity}>`;\n console.time(childTimerLabel);\n\n sceneNode.compile();\n\n console.timeEnd(childTimerLabel);\n }\n console.timeEnd(`Compile: Child Nodes Compilation for <${node.aseid.entity}>`);\n\n } catch (error) {\n logger?.error(error);\n }\n\n console.timeEnd(compileTimerLabel);\n }\n /**\n * Handles after compile lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onCompile,\n after: /.*/,\n scope: [AreNode]\n })\n afterCompile(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n const component = scope.resolveOnce<Are>(A_FormatterHelper.toPascalCase(node.aseid.entity));\n\n logger?.debug(scene.debugPrefix + `[Compile -> After] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n if (component)\n feature.chain(component, AreFeatures.onAfterCompile, node.scope);\n }\n\n\n // -----------------------------------------------------------------------------------------\n // ----------------------------Are-Node Event Section----------------------------------------\n // -----------------------------------------------------------------------------------------\n /**\n * Handles events triggered on the AreNode\n * \n * @param node \n * @param scope \n * @param event \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onEvent,\n scope: [AreNode]\n })\n async event(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreEvent) event: AreEvent,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n\n logger?.debug(scene.debugPrefix + `Event Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}} for event: ${event.name}`);\n\n const component = scope.resolveOnce<Are>(A_FormatterHelper.toPascalCase(node.aseid.entity));\n\n if (component) {\n\n try {\n\n await feature.chain(component, event.name, scope);\n\n } catch (error) {\n logger?.error(error);\n }\n }\n }\n\n // -----------------------------------------------------------------------------------------\n // ----------------------------Are-Node Render Section----------------------------------------\n // -----------------------------------------------------------------------------------------\n /**\n * Handles before render lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onBeforeRender,\n before: /.*/,\n scope: [AreNode]\n })\n beforeRender(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n const component = scope.resolveOnce<Are>(A_FormatterHelper.toPascalCase(node.aseid.entity));\n\n logger?.debug(scene.debugPrefix + `[Render -> Before] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n if (component)\n feature.chain(component, AreFeatures.onBeforeRender, node.scope);\n }\n /**\n * Renders the AreNode into the AreScene\n * \n * @param scope \n * @param node \n * @param scene \n * @param logger \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onRender,\n scope: [AreNode]\n })\n render(\n /**\n * Node to be mounted\n */\n @A_Inject(A_Caller) node: AreNode,\n /**\n * Template Parsing Syntax to be used\n */\n @A_Inject(AreSyntax) syntax: AreSyntax,\n /**\n * Node Content\n */\n @A_Dependency.Flat()\n @A_Inject(AreScene) scene: AreScene,\n /**\n * Scene where target node is registered\n * \n * [!] For Root Node it doesn't exists\n */\n @A_Dependency.Parent()\n @A_Inject(AreScene) parentScene?: AreScene,\n\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ...args: any[]\n ) {\n const renderTimerLabel = `Render Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`;\n console.time(renderTimerLabel);\n\n if (syntax.isRootNode(node)) {\n logger?.debug('red', scene.debugPrefix + `Rendering Root Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n console.time(`Render: Root Node Attachment for <${node.aseid.entity}>`);\n new AttachRootNodeInstruction(node).apply(node.scope);\n console.timeEnd(`Render: Root Node Attachment for <${node.aseid.entity}>`);\n } else {\n\n if (!parentScene) {\n throw new AreCompilerError(\n AreCompilerError.RenderError,\n `Parent Scene not found for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} during render process.`\n );\n }\n\n logger?.debug('red', scene.debugPrefix + `Rendering Child Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`, parentScene);\n\n console.time(`Render: Mount/Unmount Instructions Processing for <${node.aseid.entity}>`);\n // 1) should be mounted or unmounted\n const mountUnmountInstructions = parentScene.renderPlanFor(node, {\n filter: (inst) => inst instanceof MountNodeInstruction || inst instanceof UnmountNodeInstruction,\n });\n\n for (let i = 0; i < mountUnmountInstructions.length; i++) {\n const instruction = mountUnmountInstructions[i];\n const instructionTimerLabel = `Render: Mount/Unmount Instruction [${i}] \"${instruction.action}\" for <${node.aseid.entity}>`;\n console.time(instructionTimerLabel);\n\n if (parentScene.getState(instruction)) {\n logger?.debug('yellow', scene.debugPrefix + `Skipping Action '${instruction.action}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} already processed.`);\n console.timeEnd(instructionTimerLabel);\n continue;\n }\n\n logger?.debug('red', scene.debugPrefix + `Processing ${instruction.action} Instruction for Node <${node.aseid.entity}> `);\n\n instruction.apply();\n parentScene.setState(instruction);\n\n console.timeEnd(instructionTimerLabel);\n }\n console.timeEnd(`Render: Mount/Unmount Instructions Processing for <${node.aseid.entity}>`);\n\n // if There's no Mount Instruction planned, ite means that this node should not be rendered \n // and any other instructions related to it should be ignored\n if (!parentScene.isPlanned(new MountNodeInstruction(node, scene.path))) {\n logger?.debug('yellow', scene.debugPrefix + `No Mount Instruction found for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}. Skipping...`);\n console.timeEnd(renderTimerLabel);\n return;\n }\n\n console.time(`Render: Other Instructions Processing for <${node.aseid.entity}>`);\n // 2) process other instructions\n const otherInstructions = parentScene.renderPlanFor(node, {\n order: [\n AddStyleInstruction,\n AttachListenerInstruction,\n AddAttributeInstruction,\n ReplaceInterpolationInstruction\n ]\n });\n\n for (let i = 0; i < otherInstructions.length; i++) {\n const instruction = otherInstructions[i];\n const instructionTimerLabel = `Render: Instruction [${i}] \"${instruction.action}\" for <${node.aseid.entity}>`;\n console.time(instructionTimerLabel);\n\n if (parentScene.getState(instruction)) {\n logger?.debug('yellow', scene.debugPrefix + `Skipping Action '${instruction.action}' for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} already processed.`);\n console.timeEnd(instructionTimerLabel);\n continue;\n }\n\n try {\n console.time(`Render: Execution Context Creation for Instruction [${i}] <${node.aseid.entity}>`);\n const executionContext = new A_ExecutionContext('AreBrowserCompiler: Mount Node Instruction');\n executionContext.set('content', scene)\n const applyScope = new A_Scope({ fragments: [executionContext] }).inherit(node.scope);\n console.timeEnd(`Render: Execution Context Creation for Instruction [${i}] <${node.aseid.entity}>`);\n\n console.time(`Render: Instruction Apply for [${i}] \"${instruction.action}\" <${node.aseid.entity}>`);\n instruction.apply(applyScope);\n console.timeEnd(`Render: Instruction Apply for [${i}] \"${instruction.action}\" <${node.aseid.entity}>`);\n\n applyScope.destroy();\n parentScene.setState(instruction);\n\n } catch (error) {\n logger?.error(error);\n }\n\n console.timeEnd(instructionTimerLabel);\n }\n console.timeEnd(`Render: Other Instructions Processing for <${node.aseid.entity}>`);\n }\n\n console.time(`Render: Child Nodes Rendering for <${node.aseid.entity}>`);\n const childNodes = scene.nodes();\n for (let i = 0; i < childNodes.length; i++) {\n const child = childNodes[i];\n const childTimerLabel = `Render: Child Node [${i}] <${child.aseid.entity}> for Parent <${node.aseid.entity}>`;\n console.time(childTimerLabel);\n\n console.log(scene.debugPrefix + `Rendering Child Node <${child.aseid.entity}> ASEID: ${child.aseid.toString()}`);\n child.render();\n\n console.timeEnd(childTimerLabel);\n }\n console.timeEnd(`Render: Child Nodes Rendering for <${node.aseid.entity}>`);\n\n console.timeEnd(renderTimerLabel);\n }\n /**\n * Handles after render lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onAfterRender,\n after: /.*/,\n scope: [AreNode]\n })\n afterRender(\n /**\n * Node to be rendered\n */\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n const component = this.component(node);\n\n logger?.debug(scene.debugPrefix + `[Render -> After] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n\n if (component)\n feature.chain(component, AreFeatures.onAfterRender, node.scope);\n\n }\n\n // -----------------------------------------------------------------------------------------\n // ----------------------------Are-Node Update Section----------------------------------------\n // -----------------------------------------------------------------------------------------\n /**\n * Handles before update lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onUpdate,\n before: /.*/,\n scope: [AreNode]\n })\n beforeUpdate(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n\n logger?.debug(scene.debugPrefix + `[Update -> Before] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n const component = this.component(node);\n\n if (component)\n feature.chain(component, AreFeatures.onBeforeUpdate, node.scope);\n }\n /**\n * Updates the AreNode in the AreScene\n * \n * @param node \n * @param scene \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onUpdate,\n scope: [AreNode]\n })\n update(\n /**\n * Node to be updated\n */\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(AreScene) scene: AreScene,\n\n ...args: any[]\n ) {\n console.time(scene.debugPrefix + `Updating Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n console.time(`Node Compile Time for <${node.aseid.entity}> ASEID: ${node.aseid.toString()}>`);\n node.compile();\n console.timeEnd(`Node Compile Time for <${node.aseid.entity}> ASEID: ${node.aseid.toString()}>`);\n\n console.time(`Node Render Time for <${node.aseid.entity}> ASEID: ${node.aseid.toString()}>`);\n node.render();\n console.timeEnd(`Node Render Time for <${node.aseid.entity}> ASEID: ${node.aseid.toString()}>`);\n\n console.timeEnd(scene.debugPrefix + `Updating Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n }\n /**\n * Handles after update lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onUpdate,\n after: /.*/,\n scope: [AreNode]\n })\n afterUpdate(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n\n logger?.debug(scene.debugPrefix + `[Update -> After] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n const component = this.component(node);\n\n if (component)\n feature.chain(component, AreFeatures.onAfterUpdate, node.scope);\n }\n\n // -----------------------------------------------------------------------------------------\n // ----------------------------Are-Node Unmount Section----------------------------------------\n // -----------------------------------------------------------------------------------------\n /**\n * Handles before unmount lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onUnmount,\n before: /.*/,\n scope: [AreNode]\n })\n beforeUnmount(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n\n logger?.debug(scene.debugPrefix + `[Unmount -> Before] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n const component = this.component(node);\n\n if (component)\n feature.chain(component, AreFeatures.onBeforeUnmount, node.scope);\n }\n /**\n * Unmounts the AreNode from the AreScene\n * \n * @param node \n * @param syntax \n * @param scene \n * @param parentScene \n * @param logger \n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onUnmount,\n scope: [AreNode]\n })\n unmount(\n /**\n * Node to be unmounted\n */\n @A_Inject(A_Caller) node: AreNode,\n /**\n * Template Parsing Syntax to be used\n */\n @A_Inject(AreSyntax) syntax: AreSyntax,\n /**\n * Node Content\n */\n @A_Dependency.Flat()\n @A_Inject(AreScene) scene: AreScene,\n /**\n * Scene where target node is registered\n * \n * [!] For Root Node it doesn't exists\n */\n @A_Dependency.Parent()\n @A_Inject(AreScene) parentScene?: AreScene,\n\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n try {\n\n\n logger?.debug('red', scene.debugPrefix + `Unmounting Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()}`);\n\n if (!syntax.isRootNode(node)) {\n if (!parentScene) {\n throw new AreCompilerError(\n AreCompilerError.RenderError,\n `Parent Scene not found for Node <${node.aseid.entity}> ASEID: ${node.aseid.toString()} during unmount process.`\n );\n }\n\n for (const instruction of parentScene.renderPlanFor(node)) {\n if (instruction.node === node) {\n instruction.revert(node.scope);\n parentScene.dropState(instruction);\n parentScene.unPlan(instruction);\n }\n }\n }\n\n for (const child of scene.nodes()) {\n child.unmount();\n }\n\n // await node.reset();\n } catch (error) {\n logger?.error(error);\n }\n }\n /**\n * Handles after unmount lifecycle of the AreNode\n * \n * @param node \n * @param scope \n * @param scene \n * @param feature \n * @param args\n */\n @A_Feature.Extend({\n name: AreNodeFeatures.onUnmount,\n after: /.*/,\n scope: [AreNode]\n })\n afterUnmount(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Feature) feature: A_Feature,\n ...args: any[]\n ) {\n const logger = scope.resolve<A_Logger>(A_Logger);\n\n logger?.debug(scene.debugPrefix + `[Unmount -> After] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);\n\n const component = this.component(node);\n\n if (component)\n feature.chain(component, AreFeatures.onAfterUnmount, node.scope);\n }\n\n\n @A_Feature.Extend({\n name: A_SignalBusFeatures.onNext,\n })\n handleSignalVector(\n @A_Inject(A_SignalVector) vector: A_SignalVector,\n @A_Inject(AreContext) context: AreContext,\n @A_Inject(A_SignalState) state: A_SignalState,\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n logger?.info(`Handling Signal Vector with ${context.roots.length} root nodes.`);\n\n try {\n for (const root of context.roots) {\n\n const callScope = new A_Scope({\n fragments: [new AreEvent(\n AreFeatures.onSignal, {\n event: 'SignalVectorNext',\n data: { vector }\n })]\n })\n .import(scope, root.scope);\n\n console.log('Emitting signal for root node:', vector);\n\n root.emit(callScope);\n\n callScope.destroy();\n }\n } catch (error) {\n logger?.error(error);\n }\n\n }\n\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/AreCompiler/AreCompiler.component.ts"],"names":[],"mappings":";;;;;;;;;;AAgBO,IAAM,WAAA,GAAN,cAA0B,WAAA,CAAY;AAAA,EAczC,OAAO,QAA0C,MAAA,EAAwC;AACrF,IAAA,OAAO,CAAC,MAAA,EAAa,WAAA,EAAqB,UAAA,KAAmC;AACzE,MAAA,OAAO,UAAU,MAAA,CAAO;AAAA,QACpB,MAAM,MAAA,CAAO,SAAA,YAAqB,OAAA,GAC5B,eAAA,CAAgB,YAChB,oBAAA,CAAqB,OAAA;AAAA,QAC3B,KAAA,EAAO,CAAC,MAAM,CAAA;AAAA,QACd,QAAA,EAAU,CAAC,SAAS;AAAA,OACvB,CAAA,CAAE,MAAA,EAAQ,WAAA,EAAa,UAAU,CAAA;AAAA,IACtC,CAAA;AAAA,EACJ;AAAA,EAUA,OAAA,CACwB,IAAA,EACA,KAAA,EACA,MAAA,EAAA,GACjB,IAAA,EACL;AACE,IAAA,IAAI;AACA,MAAA,MAAA,EAAQ,MAAM,MAAA,EAAQ,CAAA,2BAAA,EAA8B,KAAK,KAAA,CAAM,QAAA,EAAU,CAAA,CAAA,CAAG,CAAA;AAO5E,MAAA,MAAM,eAAA,GAAkB,IAAI,cAAA,EAAe;AAC3C,MAAA,KAAA,CAAM,QAAQ,eAAe,CAAA;AAC7B,MAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAK1B,MAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,UAAA,CAAW,QAAQ,CAAA,EAAA,EAAK;AAC7C,QAAA,MAAM,SAAA,GAAY,IAAA,CAAK,UAAA,CAAW,CAAC,CAAA;AACnC,QAAA,SAAA,CAAU,OAAA,EAAQ;AAAA,MACtB;AAKA,MAAA,IAAI,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,QAAA,CAAS,SAAS,CAAA,EAAG;AAC3C,QAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,QAAA,CAAS,QAAQ,CAAA,EAAA,EAAK;AAC3C,UAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,QAAA,CAAS,CAAC,CAAA;AAC7B,UAAA,KAAA,CAAM,OAAA,EAAQ;AAAA,QAClB;AAAA,MACJ;AAAA,IAEJ,SAAS,KAAA,EAAO;AACZ,MAAA,MAAA,EAAQ,MAAM,KAAK,CAAA;AAAA,IACvB;AAAA,EACJ;AACJ;AAxCI,eAAA,CAAA;AAAA,EAJC,UAAU,MAAA,CAAO;AAAA,IACd,MAAM,eAAA,CAAgB,SAAA;AAAA,IACtB,KAAA,EAAO,CAAC,OAAO;AAAA,GAClB,CAAA;AAAA,EAEI,4BAAS,QAAQ,CAAA,CAAA;AAAA,EACjB,4BAAS,QAAQ,CAAA,CAAA;AAAA,EACjB,4BAAS,QAAQ,CAAA;AAAA,CAAA,EArCb,WAAA,CAkCT,SAAA,EAAA,SAAA,EAAA,CAAA,CAAA;AAlCS,WAAA,GAAN,eAAA,CAAA;AAAA,EALN,QAAQ,SAAA,CAAU;AAAA,IACf,SAAA,EAAW,OAAA;AAAA,IACX,IAAA,EAAM,aAAA;AAAA,IACN,WAAA,EAAa;AAAA,GAChB;AAAA,CAAA,EACY,WAAA,CAAA","file":"AreCompiler.component.mjs","sourcesContent":["import { A_Caller, A_Component, A_Feature, A_Inject, A_TYPES__Entity_Constructor, } from \"@adaas/a-concept\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { AreScene } from \"@adaas/are/scene/AreScene.context\";\nimport { AreNode } from \"@adaas/are/node/AreNode.entity\";\nimport { AreNodeFeatures } from \"@adaas/are/node/AreNode.constants\";\nimport { AreAttribute } from \"@adaas/are/attribute/AreAttribute.entity\";\nimport { AreAttributeFeatures } from \"@adaas/are/attribute/AreAttribute.constants\";\nimport { AreDeclaration } from \"@adaas/are/instruction/types/AreDeclaration.instruction\";\n\n\n@A_Frame.Component({\n namespace: 'A-ARE',\n name: 'AreCompiler',\n description: 'Walks the transformed AreNode tree and emits a Scene. Translates each node, binding, directive and interpolation into a typed instruction. Knows nothing about the DOM or any rendering target — its only concern is producing a complete and ordered set of instructions that fully describes how the tree should be rendered.'\n})\nexport class AreCompiler extends A_Component {\n\n /**\n * Defines a custom method for compiling a node into a set of SceneInstructions. This method is called during the compilation phase of the ARE component and should perform any necessary transformations on the node and its attributes to generate the appropriate instructions for rendering. This can include tasks such as processing directives, evaluating expressions, and generating instructions for dynamic content based on the node's properties and context.\n * \n * @param node \n */\n static Compile<T extends AreNode>(node: A_TYPES__Entity_Constructor<T>)\n /**\n * Defines a custom method for compiling an attribute into a set of SceneInstructions. This method is called during the compilation phase of the ARE component and should perform any necessary transformations on the attribute to generate the appropriate instructions for rendering. This can include tasks such as processing directives, evaluating expressions, and generating instructions for dynamic content based on the attribute's properties and context.\n * \n * @param attribute \n */\n static Compile<T extends AreAttribute>(attribute: A_TYPES__Entity_Constructor<T>)\n static Compile<T extends AreNode | AreAttribute>(param1: A_TYPES__Entity_Constructor<T>) {\n return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {\n return A_Feature.Extend({\n name: param1.prototype instanceof AreNode\n ? AreNodeFeatures.onCompile\n : AreAttributeFeatures.Compile,\n scope: [param1],\n override: ['compile']\n })(target, propertyKey, descriptor);\n }\n }\n\n\n // -----------------------------------------------------------------------------------------\n // ----------------------------Are-Node Compile Section----------------------------------------\n // -----------------------------------------------------------------------------------------\n @A_Feature.Extend({\n name: AreNodeFeatures.onCompile,\n scope: [AreNode]\n })\n compile(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(AreScene) scene: AreScene,\n @A_Inject(A_Logger) logger?: A_Logger,\n ...args: any[]\n ) {\n try {\n logger?.debug('cyan', `AreCompiler: compile node <${node.aseid.toString()}>`);\n\n /**\n * 1. Create & register Host Instructions to add it if no other cases presented\n * \n * [!] Note: it can be removed by directives or modified if needed\n */\n const hostInstruction = new AreDeclaration()\n scene.setHost(hostInstruction);\n scene.plan(hostInstruction);\n\n /**\n * 1. Prepare Instructions for attributes and add then to render plan.\n */\n for (let i = 0; i < node.attributes.length; i++) {\n const attribute = node.attributes[i];\n attribute.compile();\n }\n\n /**\n * 2. Compile all nested nodes of the root node. \n */\n if (node.children && node.children.length > 0) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n child.compile();\n }\n }\n\n } catch (error) {\n logger?.error(error)\n }\n }\n}"]}
|
|
@@ -1,21 +1,73 @@
|
|
|
1
1
|
import { A_Component } from '@adaas/a-concept';
|
|
2
|
+
import { A_SignalVector, A_Signal } from '@adaas/a-utils/a-signal';
|
|
3
|
+
import { ArePropDefinition } from './Are.types.mjs';
|
|
4
|
+
import './Are.constants.mjs';
|
|
2
5
|
|
|
3
6
|
declare class Are extends A_Component {
|
|
7
|
+
/**
|
|
8
|
+
* Allows to apply Signal Vector as a condition for rendering the component. The component will be rendered only if at least one of the signals in the vector is active. This can be used to manage complex rendering logic and to optimize performance by ensuring that components are only rendered when necessary based on the defined conditions.
|
|
9
|
+
*
|
|
10
|
+
* @param signals
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
static Condition(vector: A_SignalVector): any;
|
|
14
|
+
static Condition(vector: Array<A_Signal>): any;
|
|
15
|
+
/**
|
|
16
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
17
|
+
*/
|
|
4
18
|
static get EventHandler(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
static get
|
|
19
|
+
/**
|
|
20
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
21
|
+
*/
|
|
22
|
+
static get onBeforeInit(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
23
|
+
/**
|
|
24
|
+
* Allows to define a custom method for the component's initialization logic. This method is called after the component is instantiated but before it is rendered, and can be used to set up any necessary state, perform data fetching, or execute any other logic that needs to happen before the component is rendered for the first time.
|
|
25
|
+
*/
|
|
26
|
+
static get onAfterInit(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
27
|
+
/**
|
|
28
|
+
* Allows to define a custom method for the component's mounting logic. This method is called after the component has been rendered and added to the DOM, and can be used to perform any necessary setup or initialization that requires access to the DOM elements of the component. It can also be used to implement custom logic for handling specific features or behaviors of the component during the mounting process.
|
|
29
|
+
*/
|
|
9
30
|
static get onBeforeMount(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
31
|
+
/**
|
|
32
|
+
* Allows to define a custom method for the component's logic that should be executed after the component is mounted. This method is called after the component has been rendered and added to the DOM, and can be used to perform any necessary setup or initialization that requires access to the DOM elements of the component. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-mounting process.
|
|
33
|
+
*/
|
|
10
34
|
static get onAfterMount(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
35
|
+
/**
|
|
36
|
+
* Allows to define a custom method for the component's unmounting logic. This method is called before the component is removed from the DOM, and can be used to perform any necessary cleanup or teardown, such as removing event listeners, canceling timers, or releasing any resources that were allocated during the component's lifecycle. It can also be used to implement custom logic for handling specific features or behaviors of the component during the unmounting process.
|
|
37
|
+
*/
|
|
11
38
|
static get onBeforeUnmount(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
39
|
+
/**
|
|
40
|
+
* Allows to define a custom method for the component's logic that should be executed after the component is unmounted. This method is called after the component has been removed from the DOM, and can be used to perform any necessary cleanup or teardown that needs to happen after the component is no longer in the DOM. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-unmounting process.
|
|
41
|
+
*/
|
|
12
42
|
static get onAfterUnmount(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
43
|
+
/**
|
|
44
|
+
* Allows to define a custom method for the component's update logic. This method is called whenever the component's state changes and can be used to perform any necessary updates or side effects based on the new state. It can also be used to optimize performance by implementing custom logic for determining when the component should re-render based on specific state changes.
|
|
45
|
+
*/
|
|
13
46
|
static get onBeforeUpdate(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
47
|
+
/**
|
|
48
|
+
* Allows to define a custom method for the component's logic that should be executed after the component's state has been updated. This method is called after the component has re-rendered in response to state changes, and can be used to perform any necessary side effects or additional updates based on the new state. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-update process.
|
|
49
|
+
*/
|
|
14
50
|
static get onAfterUpdate(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
51
|
+
/**
|
|
52
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
53
|
+
*/
|
|
15
54
|
static get Template(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
55
|
+
/**
|
|
56
|
+
* Allows to define a custom method for the component's styles. This method should return a string representing the CSS styles of the component. The styles can include dynamic content and can be processed during rendering to apply the appropriate styles to the component's DOM elements.
|
|
57
|
+
*/
|
|
16
58
|
static get Styles(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
59
|
+
/**
|
|
60
|
+
* Allows to define a custom method for the component's data. This method should return an object representing the initial state of the component. The data can include any properties that are needed to manage the component's state and can be reactive, allowing the component to re-render when the data changes.
|
|
61
|
+
*/
|
|
17
62
|
static get Data(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
63
|
+
/**
|
|
64
|
+
* Allows to define a custom method for handling signals emitted by the component or other parts of the application. This method can be used to implement custom logic for responding to specific signals, such as user interactions, state changes, or other events that may affect the component's behavior or appearance. By defining this method, developers can create more dynamic and interactive components that can react to changes in the application state or user input in a flexible and efficient way.
|
|
65
|
+
*/
|
|
18
66
|
static get Signal(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
67
|
+
/**
|
|
68
|
+
* Props can be used to store any additional data or configuration for the component. They are not reactive by default but can be used in the component's methods and lifecycle hooks to manage state or pass information. Props can be defined as a simple object with key-value pairs, where keys are the prop names and values are the prop values. They can be accessed and modified within the component's methods to influence rendering or behavior based on the component's state or external inputs.
|
|
69
|
+
*/
|
|
70
|
+
props: Record<string, ArePropDefinition>;
|
|
19
71
|
/**
|
|
20
72
|
* Returns the template string for the component
|
|
21
73
|
*
|
|
@@ -23,7 +75,7 @@ declare class Are extends A_Component {
|
|
|
23
75
|
*
|
|
24
76
|
* @returns
|
|
25
77
|
*/
|
|
26
|
-
template(...args: any[]): Promise<void
|
|
78
|
+
template(...args: any[]): Promise<void> | void;
|
|
27
79
|
/**
|
|
28
80
|
* Returns the styles string for the component
|
|
29
81
|
*
|
|
@@ -31,7 +83,7 @@ declare class Are extends A_Component {
|
|
|
31
83
|
*
|
|
32
84
|
* @returns
|
|
33
85
|
*/
|
|
34
|
-
styles(...args: any[]): Promise<void
|
|
86
|
+
styles(...args: any[]): Promise<void> | void;
|
|
35
87
|
/**
|
|
36
88
|
* Returns the data object for the component
|
|
37
89
|
*
|
|
@@ -39,7 +91,7 @@ declare class Are extends A_Component {
|
|
|
39
91
|
*
|
|
40
92
|
* @returns
|
|
41
93
|
*/
|
|
42
|
-
data(...args: any[]): Promise<void
|
|
94
|
+
data(...args: any[]): Promise<void> | void;
|
|
43
95
|
}
|
|
44
96
|
|
|
45
97
|
export { Are };
|
|
@@ -1,21 +1,73 @@
|
|
|
1
1
|
import { A_Component } from '@adaas/a-concept';
|
|
2
|
+
import { A_SignalVector, A_Signal } from '@adaas/a-utils/a-signal';
|
|
3
|
+
import { ArePropDefinition } from './Are.types.js';
|
|
4
|
+
import './Are.constants.js';
|
|
2
5
|
|
|
3
6
|
declare class Are extends A_Component {
|
|
7
|
+
/**
|
|
8
|
+
* Allows to apply Signal Vector as a condition for rendering the component. The component will be rendered only if at least one of the signals in the vector is active. This can be used to manage complex rendering logic and to optimize performance by ensuring that components are only rendered when necessary based on the defined conditions.
|
|
9
|
+
*
|
|
10
|
+
* @param signals
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
static Condition(vector: A_SignalVector): any;
|
|
14
|
+
static Condition(vector: Array<A_Signal>): any;
|
|
15
|
+
/**
|
|
16
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
17
|
+
*/
|
|
4
18
|
static get EventHandler(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
static get
|
|
19
|
+
/**
|
|
20
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
21
|
+
*/
|
|
22
|
+
static get onBeforeInit(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
23
|
+
/**
|
|
24
|
+
* Allows to define a custom method for the component's initialization logic. This method is called after the component is instantiated but before it is rendered, and can be used to set up any necessary state, perform data fetching, or execute any other logic that needs to happen before the component is rendered for the first time.
|
|
25
|
+
*/
|
|
26
|
+
static get onAfterInit(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
27
|
+
/**
|
|
28
|
+
* Allows to define a custom method for the component's mounting logic. This method is called after the component has been rendered and added to the DOM, and can be used to perform any necessary setup or initialization that requires access to the DOM elements of the component. It can also be used to implement custom logic for handling specific features or behaviors of the component during the mounting process.
|
|
29
|
+
*/
|
|
9
30
|
static get onBeforeMount(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
31
|
+
/**
|
|
32
|
+
* Allows to define a custom method for the component's logic that should be executed after the component is mounted. This method is called after the component has been rendered and added to the DOM, and can be used to perform any necessary setup or initialization that requires access to the DOM elements of the component. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-mounting process.
|
|
33
|
+
*/
|
|
10
34
|
static get onAfterMount(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
35
|
+
/**
|
|
36
|
+
* Allows to define a custom method for the component's unmounting logic. This method is called before the component is removed from the DOM, and can be used to perform any necessary cleanup or teardown, such as removing event listeners, canceling timers, or releasing any resources that were allocated during the component's lifecycle. It can also be used to implement custom logic for handling specific features or behaviors of the component during the unmounting process.
|
|
37
|
+
*/
|
|
11
38
|
static get onBeforeUnmount(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
39
|
+
/**
|
|
40
|
+
* Allows to define a custom method for the component's logic that should be executed after the component is unmounted. This method is called after the component has been removed from the DOM, and can be used to perform any necessary cleanup or teardown that needs to happen after the component is no longer in the DOM. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-unmounting process.
|
|
41
|
+
*/
|
|
12
42
|
static get onAfterUnmount(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
43
|
+
/**
|
|
44
|
+
* Allows to define a custom method for the component's update logic. This method is called whenever the component's state changes and can be used to perform any necessary updates or side effects based on the new state. It can also be used to optimize performance by implementing custom logic for determining when the component should re-render based on specific state changes.
|
|
45
|
+
*/
|
|
13
46
|
static get onBeforeUpdate(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
47
|
+
/**
|
|
48
|
+
* Allows to define a custom method for the component's logic that should be executed after the component's state has been updated. This method is called after the component has re-rendered in response to state changes, and can be used to perform any necessary side effects or additional updates based on the new state. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-update process.
|
|
49
|
+
*/
|
|
14
50
|
static get onAfterUpdate(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
51
|
+
/**
|
|
52
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
53
|
+
*/
|
|
15
54
|
static get Template(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
55
|
+
/**
|
|
56
|
+
* Allows to define a custom method for the component's styles. This method should return a string representing the CSS styles of the component. The styles can include dynamic content and can be processed during rendering to apply the appropriate styles to the component's DOM elements.
|
|
57
|
+
*/
|
|
16
58
|
static get Styles(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
59
|
+
/**
|
|
60
|
+
* Allows to define a custom method for the component's data. This method should return an object representing the initial state of the component. The data can include any properties that are needed to manage the component's state and can be reactive, allowing the component to re-render when the data changes.
|
|
61
|
+
*/
|
|
17
62
|
static get Data(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
63
|
+
/**
|
|
64
|
+
* Allows to define a custom method for handling signals emitted by the component or other parts of the application. This method can be used to implement custom logic for responding to specific signals, such as user interactions, state changes, or other events that may affect the component's behavior or appearance. By defining this method, developers can create more dynamic and interactive components that can react to changes in the application state or user input in a flexible and efficient way.
|
|
65
|
+
*/
|
|
18
66
|
static get Signal(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => any;
|
|
67
|
+
/**
|
|
68
|
+
* Props can be used to store any additional data or configuration for the component. They are not reactive by default but can be used in the component's methods and lifecycle hooks to manage state or pass information. Props can be defined as a simple object with key-value pairs, where keys are the prop names and values are the prop values. They can be accessed and modified within the component's methods to influence rendering or behavior based on the component's state or external inputs.
|
|
69
|
+
*/
|
|
70
|
+
props: Record<string, ArePropDefinition>;
|
|
19
71
|
/**
|
|
20
72
|
* Returns the template string for the component
|
|
21
73
|
*
|
|
@@ -23,7 +75,7 @@ declare class Are extends A_Component {
|
|
|
23
75
|
*
|
|
24
76
|
* @returns
|
|
25
77
|
*/
|
|
26
|
-
template(...args: any[]): Promise<void
|
|
78
|
+
template(...args: any[]): Promise<void> | void;
|
|
27
79
|
/**
|
|
28
80
|
* Returns the styles string for the component
|
|
29
81
|
*
|
|
@@ -31,7 +83,7 @@ declare class Are extends A_Component {
|
|
|
31
83
|
*
|
|
32
84
|
* @returns
|
|
33
85
|
*/
|
|
34
|
-
styles(...args: any[]): Promise<void
|
|
86
|
+
styles(...args: any[]): Promise<void> | void;
|
|
35
87
|
/**
|
|
36
88
|
* Returns the data object for the component
|
|
37
89
|
*
|
|
@@ -39,7 +91,7 @@ declare class Are extends A_Component {
|
|
|
39
91
|
*
|
|
40
92
|
* @returns
|
|
41
93
|
*/
|
|
42
|
-
data(...args: any[]): Promise<void
|
|
94
|
+
data(...args: any[]): Promise<void> | void;
|
|
43
95
|
}
|
|
44
96
|
|
|
45
97
|
export { Are };
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var aConcept = require('@adaas/a-concept');
|
|
4
|
-
var Are_constants = require('./Are.constants');
|
|
5
4
|
var aFrame = require('@adaas/a-frame');
|
|
5
|
+
var aSignal = require('@adaas/a-utils/a-signal');
|
|
6
|
+
var AreSignals_component = require('@adaas/are/signals/AreSignals.component');
|
|
7
|
+
var Are_meta = require('./Are.meta');
|
|
8
|
+
var Are_constants = require('./Are.constants');
|
|
6
9
|
|
|
7
10
|
var __defProp = Object.defineProperty;
|
|
8
11
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -15,9 +18,44 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
15
18
|
return result;
|
|
16
19
|
};
|
|
17
20
|
exports.Are = class Are extends aConcept.A_Component {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
// ==================================================================================
|
|
24
|
+
// ========================= COMPONENT PROPERTIES ===================================
|
|
25
|
+
// ==================================================================================
|
|
26
|
+
/**
|
|
27
|
+
* Props can be used to store any additional data or configuration for the component. They are not reactive by default but can be used in the component's methods and lifecycle hooks to manage state or pass information. Props can be defined as a simple object with key-value pairs, where keys are the prop names and values are the prop values. They can be accessed and modified within the component's methods to influence rendering or behavior based on the component's state or external inputs.
|
|
28
|
+
*/
|
|
29
|
+
this.props = {};
|
|
30
|
+
}
|
|
31
|
+
static Condition(signals) {
|
|
32
|
+
return function(target) {
|
|
33
|
+
const componentMeta = aConcept.A_Context.meta(target);
|
|
34
|
+
const signalsMeta = aConcept.A_Context.meta(AreSignals_component.AreSignals);
|
|
35
|
+
let vector;
|
|
36
|
+
switch (true) {
|
|
37
|
+
case signals instanceof aSignal.A_SignalVector:
|
|
38
|
+
vector = signals;
|
|
39
|
+
break;
|
|
40
|
+
case Array.isArray(signals):
|
|
41
|
+
vector = new aSignal.A_SignalVector(signals);
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
throw new Error("Invalid input for Are.Condition. Expected an array of A_Signal or an instance of A_SignalVector.");
|
|
45
|
+
}
|
|
46
|
+
if (vector) {
|
|
47
|
+
componentMeta.vector = vector;
|
|
48
|
+
signalsMeta.registerCondition(target, vector);
|
|
49
|
+
}
|
|
50
|
+
return target;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
18
53
|
//==================================================================================
|
|
19
54
|
//======================== LIFECYCLE DECORATORS ====================================
|
|
20
55
|
//==================================================================================
|
|
56
|
+
/**
|
|
57
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
58
|
+
*/
|
|
21
59
|
static get EventHandler() {
|
|
22
60
|
return (target, propertyKey, descriptor) => {
|
|
23
61
|
return aConcept.A_Feature.Extend({
|
|
@@ -26,38 +64,31 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
26
64
|
})(target, propertyKey, descriptor);
|
|
27
65
|
};
|
|
28
66
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
scope: [target.constructor]
|
|
34
|
-
})(target, propertyKey, descriptor);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
static get onAfterLoad() {
|
|
38
|
-
return (target, propertyKey, descriptor) => {
|
|
39
|
-
return aConcept.A_Feature.Extend({
|
|
40
|
-
name: Are_constants.AreFeatures.onAfterLoad,
|
|
41
|
-
scope: [target.constructor]
|
|
42
|
-
})(target, propertyKey, descriptor);
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
static get onBeforeCompile() {
|
|
67
|
+
/**
|
|
68
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
69
|
+
*/
|
|
70
|
+
static get onBeforeInit() {
|
|
46
71
|
return (target, propertyKey, descriptor) => {
|
|
47
72
|
return aConcept.A_Feature.Extend({
|
|
48
|
-
name: Are_constants.AreFeatures.
|
|
73
|
+
name: Are_constants.AreFeatures.onBeforeInit,
|
|
49
74
|
scope: [target.constructor]
|
|
50
75
|
})(target, propertyKey, descriptor);
|
|
51
76
|
};
|
|
52
77
|
}
|
|
53
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Allows to define a custom method for the component's initialization logic. This method is called after the component is instantiated but before it is rendered, and can be used to set up any necessary state, perform data fetching, or execute any other logic that needs to happen before the component is rendered for the first time.
|
|
80
|
+
*/
|
|
81
|
+
static get onAfterInit() {
|
|
54
82
|
return (target, propertyKey, descriptor) => {
|
|
55
83
|
return aConcept.A_Feature.Extend({
|
|
56
|
-
name: Are_constants.AreFeatures.
|
|
84
|
+
name: Are_constants.AreFeatures.onAfterInit,
|
|
57
85
|
scope: [target.constructor]
|
|
58
86
|
})(target, propertyKey, descriptor);
|
|
59
87
|
};
|
|
60
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Allows to define a custom method for the component's mounting logic. This method is called after the component has been rendered and added to the DOM, and can be used to perform any necessary setup or initialization that requires access to the DOM elements of the component. It can also be used to implement custom logic for handling specific features or behaviors of the component during the mounting process.
|
|
91
|
+
*/
|
|
61
92
|
static get onBeforeMount() {
|
|
62
93
|
return (target, propertyKey, descriptor) => {
|
|
63
94
|
return aConcept.A_Feature.Extend({
|
|
@@ -66,6 +97,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
66
97
|
})(target, propertyKey, descriptor);
|
|
67
98
|
};
|
|
68
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Allows to define a custom method for the component's logic that should be executed after the component is mounted. This method is called after the component has been rendered and added to the DOM, and can be used to perform any necessary setup or initialization that requires access to the DOM elements of the component. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-mounting process.
|
|
102
|
+
*/
|
|
69
103
|
static get onAfterMount() {
|
|
70
104
|
return (target, propertyKey, descriptor) => {
|
|
71
105
|
return aConcept.A_Feature.Extend({
|
|
@@ -74,6 +108,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
74
108
|
})(target, propertyKey, descriptor);
|
|
75
109
|
};
|
|
76
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Allows to define a custom method for the component's unmounting logic. This method is called before the component is removed from the DOM, and can be used to perform any necessary cleanup or teardown, such as removing event listeners, canceling timers, or releasing any resources that were allocated during the component's lifecycle. It can also be used to implement custom logic for handling specific features or behaviors of the component during the unmounting process.
|
|
113
|
+
*/
|
|
77
114
|
static get onBeforeUnmount() {
|
|
78
115
|
return (target, propertyKey, descriptor) => {
|
|
79
116
|
return aConcept.A_Feature.Extend({
|
|
@@ -82,6 +119,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
82
119
|
})(target, propertyKey, descriptor);
|
|
83
120
|
};
|
|
84
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Allows to define a custom method for the component's logic that should be executed after the component is unmounted. This method is called after the component has been removed from the DOM, and can be used to perform any necessary cleanup or teardown that needs to happen after the component is no longer in the DOM. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-unmounting process.
|
|
124
|
+
*/
|
|
85
125
|
static get onAfterUnmount() {
|
|
86
126
|
return (target, propertyKey, descriptor) => {
|
|
87
127
|
return aConcept.A_Feature.Extend({
|
|
@@ -90,6 +130,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
90
130
|
})(target, propertyKey, descriptor);
|
|
91
131
|
};
|
|
92
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Allows to define a custom method for the component's update logic. This method is called whenever the component's state changes and can be used to perform any necessary updates or side effects based on the new state. It can also be used to optimize performance by implementing custom logic for determining when the component should re-render based on specific state changes.
|
|
135
|
+
*/
|
|
93
136
|
static get onBeforeUpdate() {
|
|
94
137
|
return (target, propertyKey, descriptor) => {
|
|
95
138
|
return aConcept.A_Feature.Extend({
|
|
@@ -98,6 +141,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
98
141
|
})(target, propertyKey, descriptor);
|
|
99
142
|
};
|
|
100
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Allows to define a custom method for the component's logic that should be executed after the component's state has been updated. This method is called after the component has re-rendered in response to state changes, and can be used to perform any necessary side effects or additional updates based on the new state. It can also be used to implement custom logic for handling specific features or behaviors of the component during the post-update process.
|
|
146
|
+
*/
|
|
101
147
|
static get onAfterUpdate() {
|
|
102
148
|
return (target, propertyKey, descriptor) => {
|
|
103
149
|
return aConcept.A_Feature.Extend({
|
|
@@ -106,6 +152,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
106
152
|
})(target, propertyKey, descriptor);
|
|
107
153
|
};
|
|
108
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Allows to define a custom method for the component's template. This method should return a string representing the HTML template of the component. The template can include dynamic content and bindings that will be processed during rendering to create the final DOM structure for the component.
|
|
157
|
+
*/
|
|
109
158
|
static get Template() {
|
|
110
159
|
return (target, propertyKey, descriptor) => {
|
|
111
160
|
return aConcept.A_Feature.Extend({
|
|
@@ -114,6 +163,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
114
163
|
})(target, propertyKey, descriptor);
|
|
115
164
|
};
|
|
116
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Allows to define a custom method for the component's styles. This method should return a string representing the CSS styles of the component. The styles can include dynamic content and can be processed during rendering to apply the appropriate styles to the component's DOM elements.
|
|
168
|
+
*/
|
|
117
169
|
static get Styles() {
|
|
118
170
|
return (target, propertyKey, descriptor) => {
|
|
119
171
|
return aConcept.A_Feature.Extend({
|
|
@@ -122,6 +174,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
122
174
|
})(target, propertyKey, descriptor);
|
|
123
175
|
};
|
|
124
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Allows to define a custom method for the component's data. This method should return an object representing the initial state of the component. The data can include any properties that are needed to manage the component's state and can be reactive, allowing the component to re-render when the data changes.
|
|
179
|
+
*/
|
|
125
180
|
static get Data() {
|
|
126
181
|
return (target, propertyKey, descriptor) => {
|
|
127
182
|
return aConcept.A_Feature.Extend({
|
|
@@ -130,6 +185,9 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
130
185
|
})(target, propertyKey, descriptor);
|
|
131
186
|
};
|
|
132
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Allows to define a custom method for handling signals emitted by the component or other parts of the application. This method can be used to implement custom logic for responding to specific signals, such as user interactions, state changes, or other events that may affect the component's behavior or appearance. By defining this method, developers can create more dynamic and interactive components that can react to changes in the application state or user input in a flexible and efficient way.
|
|
190
|
+
*/
|
|
133
191
|
static get Signal() {
|
|
134
192
|
return (target, propertyKey, descriptor) => {
|
|
135
193
|
return aConcept.A_Feature.Extend({
|
|
@@ -138,11 +196,11 @@ exports.Are = class Are extends aConcept.A_Component {
|
|
|
138
196
|
})(target, propertyKey, descriptor);
|
|
139
197
|
};
|
|
140
198
|
}
|
|
141
|
-
|
|
199
|
+
template(...args) {
|
|
142
200
|
}
|
|
143
|
-
|
|
201
|
+
styles(...args) {
|
|
144
202
|
}
|
|
145
|
-
|
|
203
|
+
data(...args) {
|
|
146
204
|
}
|
|
147
205
|
};
|
|
148
206
|
__decorateClass([
|
|
@@ -159,7 +217,8 @@ exports.Are = __decorateClass([
|
|
|
159
217
|
namespace: "A-ARE",
|
|
160
218
|
name: "Are",
|
|
161
219
|
description: "Base component class for A-Concept Rendering Engine (ARE) components. It provides lifecycle decorators and methods for defining templates, styles, and data, facilitating the creation of dynamic and interactive UI components within the ARE framework."
|
|
162
|
-
})
|
|
220
|
+
}),
|
|
221
|
+
aConcept.A_Meta.Define(Are_meta.AreMeta)
|
|
163
222
|
], exports.Are);
|
|
164
223
|
//# sourceMappingURL=Are.component.js.map
|
|
165
224
|
//# sourceMappingURL=Are.component.js.map
|