@adaas/are 0.0.2 → 0.0.3
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/README.md +214 -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 +10 -8
- 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,132 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
* Default is ':'.
|
|
16
|
-
*/
|
|
17
|
-
bindingDelimiter?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Custom listener delimiters for event binding parsing.
|
|
20
|
-
* Default is '@'.
|
|
21
|
-
*/
|
|
22
|
-
listenerDelimiter?: string;
|
|
23
|
-
/**
|
|
24
|
-
* Enable or disable strict mode for syntax parsing.
|
|
25
|
-
* When enabled, the parser will throw errors for any syntax violations.
|
|
26
|
-
* Default is true.
|
|
27
|
-
*/
|
|
28
|
-
strictMode?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* A list of custom directives to be recognized by the syntax parser.
|
|
31
|
-
* Each directive should be a string representing the directive name.
|
|
32
|
-
* Default is an empty array.
|
|
33
|
-
*/
|
|
34
|
-
customDirectives?: string[];
|
|
35
|
-
/**
|
|
36
|
-
* Enable or disable whitespace trimming in templates.
|
|
37
|
-
* When enabled, leading and trailing whitespace in template expressions will be trimmed.
|
|
38
|
-
* Default is true.
|
|
39
|
-
*/
|
|
40
|
-
trimWhitespace?: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* identifier of the root tag to use when compiling in browser context.
|
|
43
|
-
*/
|
|
44
|
-
rootTag?: string;
|
|
45
|
-
/**
|
|
46
|
-
* Custom directive delimiter for directive parsing.
|
|
47
|
-
* Default is '$'.
|
|
48
|
-
*/
|
|
49
|
-
directiveDelimiter?: string;
|
|
50
|
-
/**
|
|
51
|
-
* List of standard HTML tags to recognize.
|
|
52
|
-
*/
|
|
53
|
-
standardTags?: string[];
|
|
54
|
-
};
|
|
55
|
-
type AreAttribute = {
|
|
56
|
-
/**
|
|
57
|
-
* Tag name where the attribute was found
|
|
58
|
-
*/
|
|
59
|
-
tag: string;
|
|
60
|
-
/**
|
|
61
|
-
* Property name (e.g. "label")
|
|
62
|
-
*/
|
|
63
|
-
name: string;
|
|
64
|
-
/**
|
|
65
|
-
* Full raw attribute (e.g. ' :label="buttonLabel" ')
|
|
66
|
-
*/
|
|
67
|
-
raw: string;
|
|
68
|
-
/**
|
|
69
|
-
* Attribute value (e.g. "buttonLabel")
|
|
70
|
-
*/
|
|
71
|
-
value: string;
|
|
72
|
-
/**
|
|
73
|
-
* True if the attribute is a binding (e.g. :prop), false otherwise (e.g. prop="value")
|
|
74
|
-
*/
|
|
75
|
-
binding: boolean;
|
|
76
|
-
};
|
|
77
|
-
type AreInterpolation = {
|
|
78
|
-
/**
|
|
79
|
-
* Tag name where the interpolation was found
|
|
80
|
-
*/
|
|
81
|
-
raw: string;
|
|
82
|
-
/**
|
|
83
|
-
* Name of the interpolation (e.g. "userName")
|
|
84
|
-
*/
|
|
85
|
-
name: string;
|
|
86
|
-
/**
|
|
87
|
-
* Position in the template where this interpolation was found
|
|
88
|
-
*/
|
|
89
|
-
position: number;
|
|
90
|
-
};
|
|
91
|
-
type AreListener = {
|
|
92
|
-
/**
|
|
93
|
-
* tag name where listener was found
|
|
94
|
-
*/
|
|
95
|
-
tag: string;
|
|
96
|
-
/**
|
|
97
|
-
* event name (e.g. "input")
|
|
98
|
-
*/
|
|
99
|
-
name: string;
|
|
100
|
-
/**
|
|
101
|
-
* full raw attribute (e.g. ' @input="onChange"')
|
|
102
|
-
*/
|
|
103
|
-
raw: string;
|
|
104
|
-
/**
|
|
105
|
-
* handler expression (e.g. "onChange")
|
|
106
|
-
*/
|
|
107
|
-
handler: string;
|
|
108
|
-
};
|
|
109
|
-
type AreDirective = {
|
|
110
|
-
/**
|
|
111
|
-
* The tag name where the directive was found
|
|
112
|
-
*/
|
|
113
|
-
tag: string;
|
|
114
|
-
/**
|
|
115
|
-
* The name of the directive (e.g. "$if")
|
|
116
|
-
*/
|
|
117
|
-
name: string;
|
|
118
|
-
/**
|
|
119
|
-
* The full raw attribute text (e.g. '$if="condition"')
|
|
120
|
-
*/
|
|
121
|
-
raw: string;
|
|
122
|
-
/**
|
|
123
|
-
* The value expression associated with the directive (e.g. "condition")
|
|
124
|
-
*/
|
|
125
|
-
value?: string;
|
|
126
|
-
/**
|
|
127
|
-
* The full tag template where the directive was found
|
|
128
|
-
*/
|
|
129
|
-
template: string;
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
export type { AreAttribute, AreDirective, AreInterpolation, AreListener, AreSyntaxInitOptions };
|
|
1
|
+
import '@adaas/a-concept';
|
|
2
|
+
export { p as AreSyntaxCompiledExpression, q as AreSyntaxInitOptions, r as AreSyntaxTokenMatch, s as AreSyntaxTokenPayload, t as AreSyntaxTokenRules } from '../../Are.context-9Ija_fdC.js';
|
|
3
|
+
import '@adaas/a-utils/a-signal';
|
|
4
|
+
import '../AreEvent/AreEvent.context.js';
|
|
5
|
+
import '@adaas/a-utils/a-execution';
|
|
6
|
+
import '../AreStore/AreStore.types.js';
|
|
7
|
+
import '../AreStore/AreStore.constants.js';
|
|
8
|
+
import '../AreScene/AreScene.constants.js';
|
|
9
|
+
import '../AreAttribute/AreAttribute.types.js';
|
|
10
|
+
import '../AreAttribute/AreAttribute.constants.js';
|
|
11
|
+
import '../AreComponent/Are.component.js';
|
|
12
|
+
import '../AreComponent/Are.types.js';
|
|
13
|
+
import '../AreComponent/Are.constants.js';
|
|
14
|
+
import '../AreNode/AreNode.constants.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"AreSyntax.types.js"}
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"AreSyntax.types.js","sourcesContent":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"AreSyntax.types.mjs"}
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"AreSyntax.types.mjs","sourcesContent":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { A_Component } from '@adaas/a-concept';
|
|
2
|
+
import { g as AreNode, a as AreContext, r as AreSyntaxTokenMatch, t as AreSyntaxTokenRules } from '../../Are.context-D7w32H1G.mjs';
|
|
3
|
+
import { AreSyntax } from '../AreSyntax/AreSyntax.context.mjs';
|
|
4
|
+
import { A_Logger } from '@adaas/a-utils/a-logger';
|
|
5
|
+
import '@adaas/a-utils/a-signal';
|
|
6
|
+
import '../AreEvent/AreEvent.context.mjs';
|
|
7
|
+
import '@adaas/a-utils/a-execution';
|
|
8
|
+
import '../AreStore/AreStore.types.mjs';
|
|
9
|
+
import '../AreStore/AreStore.constants.mjs';
|
|
10
|
+
import '../AreScene/AreScene.constants.mjs';
|
|
11
|
+
import '../AreAttribute/AreAttribute.types.mjs';
|
|
12
|
+
import '../AreAttribute/AreAttribute.constants.mjs';
|
|
13
|
+
import '../AreComponent/Are.component.mjs';
|
|
14
|
+
import '../AreComponent/Are.types.mjs';
|
|
15
|
+
import '../AreComponent/Are.constants.mjs';
|
|
16
|
+
import '../AreNode/AreNode.constants.mjs';
|
|
17
|
+
|
|
18
|
+
declare class AreTokenizer extends A_Component {
|
|
19
|
+
/**
|
|
20
|
+
* Get the AreSyntax from the current scope. The AreSyntax defines the syntax rules and structures for tokenizing templates. It provides mechanisms for parsing and interpreting templates, attributes, directives, interpolations, and event listeners, enabling dynamic and interactive UI rendering within the ARE framework. If no AreSyntax is found in the scope, an error is thrown indicating that AreTokenizer requires an AreSyntax to function properly.
|
|
21
|
+
*/
|
|
22
|
+
protected get config(): AreSyntax;
|
|
23
|
+
/**
|
|
24
|
+
* Instantiate AreNodes based on the token matches obtained from scanning the source template. This method takes the raw source string from the context, scans it for tokens using the defined syntax rules, and creates corresponding AreNode instances for each matched token. The resulting array of AreNodes represents the structured representation of the template, which can then be used for further processing, such as rendering or applying scene instructions.
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
* @param context
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
instantiate<T extends AreNode>(context: AreContext): void;
|
|
31
|
+
tokenize(node: AreNode, context: AreContext, logger?: A_Logger): void;
|
|
32
|
+
protected scan(source: string, from: number, to: number, context: AreContext): AreSyntaxTokenMatch[];
|
|
33
|
+
protected findNextMatch(source: string, from: number, to: number): AreSyntaxTokenMatch | null;
|
|
34
|
+
protected matchRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null;
|
|
35
|
+
protected matchStandardRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null;
|
|
36
|
+
protected matchPrefixedRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null;
|
|
37
|
+
protected findMatchingClose(source: string, opening: string, closing: string, from: number, to: number): number;
|
|
38
|
+
protected buildMatch(rule: AreSyntaxTokenRules, raw: string, content: string, position: number, closingUsed: string): AreSyntaxTokenMatch;
|
|
39
|
+
protected tryPlainText(raw: string, position: number): AreSyntaxTokenMatch | null;
|
|
40
|
+
protected findRuleForMatch(match: AreSyntaxTokenMatch): AreSyntaxTokenRules | undefined;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { AreTokenizer };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { A_Component } from '@adaas/a-concept';
|
|
2
|
+
import { g as AreNode, a as AreContext, r as AreSyntaxTokenMatch, t as AreSyntaxTokenRules } from '../../Are.context-9Ija_fdC.js';
|
|
3
|
+
import { AreSyntax } from '../AreSyntax/AreSyntax.context.js';
|
|
4
|
+
import { A_Logger } from '@adaas/a-utils/a-logger';
|
|
5
|
+
import '@adaas/a-utils/a-signal';
|
|
6
|
+
import '../AreEvent/AreEvent.context.js';
|
|
7
|
+
import '@adaas/a-utils/a-execution';
|
|
8
|
+
import '../AreStore/AreStore.types.js';
|
|
9
|
+
import '../AreStore/AreStore.constants.js';
|
|
10
|
+
import '../AreScene/AreScene.constants.js';
|
|
11
|
+
import '../AreAttribute/AreAttribute.types.js';
|
|
12
|
+
import '../AreAttribute/AreAttribute.constants.js';
|
|
13
|
+
import '../AreComponent/Are.component.js';
|
|
14
|
+
import '../AreComponent/Are.types.js';
|
|
15
|
+
import '../AreComponent/Are.constants.js';
|
|
16
|
+
import '../AreNode/AreNode.constants.js';
|
|
17
|
+
|
|
18
|
+
declare class AreTokenizer extends A_Component {
|
|
19
|
+
/**
|
|
20
|
+
* Get the AreSyntax from the current scope. The AreSyntax defines the syntax rules and structures for tokenizing templates. It provides mechanisms for parsing and interpreting templates, attributes, directives, interpolations, and event listeners, enabling dynamic and interactive UI rendering within the ARE framework. If no AreSyntax is found in the scope, an error is thrown indicating that AreTokenizer requires an AreSyntax to function properly.
|
|
21
|
+
*/
|
|
22
|
+
protected get config(): AreSyntax;
|
|
23
|
+
/**
|
|
24
|
+
* Instantiate AreNodes based on the token matches obtained from scanning the source template. This method takes the raw source string from the context, scans it for tokens using the defined syntax rules, and creates corresponding AreNode instances for each matched token. The resulting array of AreNodes represents the structured representation of the template, which can then be used for further processing, such as rendering or applying scene instructions.
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
* @param context
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
instantiate<T extends AreNode>(context: AreContext): void;
|
|
31
|
+
tokenize(node: AreNode, context: AreContext, logger?: A_Logger): void;
|
|
32
|
+
protected scan(source: string, from: number, to: number, context: AreContext): AreSyntaxTokenMatch[];
|
|
33
|
+
protected findNextMatch(source: string, from: number, to: number): AreSyntaxTokenMatch | null;
|
|
34
|
+
protected matchRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null;
|
|
35
|
+
protected matchStandardRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null;
|
|
36
|
+
protected matchPrefixedRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null;
|
|
37
|
+
protected findMatchingClose(source: string, opening: string, closing: string, from: number, to: number): number;
|
|
38
|
+
protected buildMatch(rule: AreSyntaxTokenRules, raw: string, content: string, position: number, closingUsed: string): AreSyntaxTokenMatch;
|
|
39
|
+
protected tryPlainText(raw: string, position: number): AreSyntaxTokenMatch | null;
|
|
40
|
+
protected findRuleForMatch(match: AreSyntaxTokenMatch): AreSyntaxTokenRules | undefined;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { AreTokenizer };
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var aConcept = require('@adaas/a-concept');
|
|
4
|
+
var aFrame = require('@adaas/a-frame');
|
|
5
|
+
var AreNode_entity = require('@adaas/are/node/AreNode.entity');
|
|
6
|
+
var AreSyntax_context = require('@adaas/are/syntax/AreSyntax.context');
|
|
7
|
+
var Are_context = require('@adaas/are/component/Are.context');
|
|
8
|
+
var AreEngine_constants = require('@adaas/are/engine/AreEngine.constants');
|
|
9
|
+
var AreTokenizer_error = require('./AreTokenizer.error');
|
|
10
|
+
var AreNode_constants = require('@adaas/are/node/AreNode.constants');
|
|
11
|
+
var aLogger = require('@adaas/a-utils/a-logger');
|
|
12
|
+
|
|
13
|
+
var __defProp = Object.defineProperty;
|
|
14
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
15
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
16
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
17
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
18
|
+
if (decorator = decorators[i])
|
|
19
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
20
|
+
if (kind && result) __defProp(target, key, result);
|
|
21
|
+
return result;
|
|
22
|
+
};
|
|
23
|
+
var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
|
|
24
|
+
exports.AreTokenizer = class AreTokenizer extends aConcept.A_Component {
|
|
25
|
+
/**
|
|
26
|
+
* Get the AreSyntax from the current scope. The AreSyntax defines the syntax rules and structures for tokenizing templates. It provides mechanisms for parsing and interpreting templates, attributes, directives, interpolations, and event listeners, enabling dynamic and interactive UI rendering within the ARE framework. If no AreSyntax is found in the scope, an error is thrown indicating that AreTokenizer requires an AreSyntax to function properly.
|
|
27
|
+
*/
|
|
28
|
+
get config() {
|
|
29
|
+
const syntax = aConcept.A_Context.scope(this).resolve(AreSyntax_context.AreSyntax);
|
|
30
|
+
if (!syntax) throw new AreTokenizer_error.AreTokenizerError({
|
|
31
|
+
title: "Syntax Context Not Found",
|
|
32
|
+
description: "AreTokenizer requires an AreSyntax to be present in the same scope. Ensure that an AreSyntax fragment is included in the concept and is accessible from the scope where AreTokenizer is used."
|
|
33
|
+
});
|
|
34
|
+
return syntax;
|
|
35
|
+
}
|
|
36
|
+
instantiate(context) {
|
|
37
|
+
context.startPerformance("Tokenizer Instantiate");
|
|
38
|
+
const source = context.source;
|
|
39
|
+
const nodes = this.scan(source, 0, source.length, context).map((match) => {
|
|
40
|
+
const rule = this.findRuleForMatch(match);
|
|
41
|
+
if (!rule) throw new Error(`No rule found for match at position ${match.position}`);
|
|
42
|
+
return new rule.component(match);
|
|
43
|
+
});
|
|
44
|
+
for (const node of nodes) {
|
|
45
|
+
context.addRoot(node);
|
|
46
|
+
}
|
|
47
|
+
context.endPerformance("Tokenizer Instantiate");
|
|
48
|
+
}
|
|
49
|
+
tokenize(node, context, logger) {
|
|
50
|
+
context.startPerformance(`Tokenize method`);
|
|
51
|
+
const source = node.content;
|
|
52
|
+
const content = this.scan(source, 0, source.length, context).map((match) => {
|
|
53
|
+
const rule = this.findRuleForMatch(match);
|
|
54
|
+
if (!rule) throw new Error(`No rule found for match at position ${match.position}`);
|
|
55
|
+
return new rule.component(match);
|
|
56
|
+
});
|
|
57
|
+
logger?.debug("red", `Tokenized node <${node.aseid.toString()}> with content:`, content.length);
|
|
58
|
+
context.endPerformance(`Tokenize method`);
|
|
59
|
+
context.startPerformance(`Tokenize node Create Children`);
|
|
60
|
+
for (const child of content) {
|
|
61
|
+
node.addChild(child);
|
|
62
|
+
context.startPerformance("AreTokenizer.tokenize child init");
|
|
63
|
+
child.init();
|
|
64
|
+
context.endPerformance("AreTokenizer.tokenize child init");
|
|
65
|
+
}
|
|
66
|
+
context.endPerformance(`Tokenize node Create Children`);
|
|
67
|
+
}
|
|
68
|
+
scan(source, from, to, context) {
|
|
69
|
+
context.startPerformance("Tokenizer Scan");
|
|
70
|
+
const tokens = [];
|
|
71
|
+
let index = from;
|
|
72
|
+
let hasMatchBefore = false;
|
|
73
|
+
while (index < to) {
|
|
74
|
+
const match = this.findNextMatch(source, index, to);
|
|
75
|
+
if (!match) {
|
|
76
|
+
const rest = source.slice(index, to);
|
|
77
|
+
const t = this.tryPlainText(rest, index);
|
|
78
|
+
if (t && !(this.config.trimWhitespace && !rest.trim())) tokens.push(t);
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
if (match.position > index) {
|
|
82
|
+
const plain = source.slice(index, match.position);
|
|
83
|
+
const t = this.tryPlainText(plain, index);
|
|
84
|
+
if (t) {
|
|
85
|
+
if (this.config.trimWhitespace && !plain.trim()) {
|
|
86
|
+
if (hasMatchBefore) {
|
|
87
|
+
t.content = " ";
|
|
88
|
+
tokens.push(t);
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
tokens.push(t);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
tokens.push(match);
|
|
96
|
+
hasMatchBefore = true;
|
|
97
|
+
index = match.position + match.raw.length;
|
|
98
|
+
}
|
|
99
|
+
context.endPerformance("Tokenizer Scan");
|
|
100
|
+
return tokens;
|
|
101
|
+
}
|
|
102
|
+
findNextMatch(source, from, to) {
|
|
103
|
+
let earliest = null;
|
|
104
|
+
for (const rule of this.config.rules) {
|
|
105
|
+
if (!rule.opening && !rule.closing && !rule.pattern && !rule.matcher) continue;
|
|
106
|
+
const match = this.matchRule(source, rule, from, to);
|
|
107
|
+
if (!match) continue;
|
|
108
|
+
if (!earliest || match.position < earliest.position) earliest = match;
|
|
109
|
+
}
|
|
110
|
+
return earliest;
|
|
111
|
+
}
|
|
112
|
+
matchRule(source, rule, from, to) {
|
|
113
|
+
if (rule.matcher) {
|
|
114
|
+
return rule.matcher(
|
|
115
|
+
source,
|
|
116
|
+
from,
|
|
117
|
+
to,
|
|
118
|
+
(raw, content, position, closing) => this.buildMatch(rule, raw, content, position, closing)
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
if (rule.pattern) {
|
|
122
|
+
const slice = source.slice(from, to);
|
|
123
|
+
rule.pattern.lastIndex = 0;
|
|
124
|
+
const m = rule.pattern.exec(slice);
|
|
125
|
+
if (!m) return null;
|
|
126
|
+
return this.buildMatch(rule, m[0], m[0], from + m.index, "");
|
|
127
|
+
}
|
|
128
|
+
if (!rule.opening || !rule.closing) return null;
|
|
129
|
+
if (rule.prefix) return this.matchPrefixedRule(source, rule, from, to);
|
|
130
|
+
return this.matchStandardRule(source, rule, from, to);
|
|
131
|
+
}
|
|
132
|
+
matchStandardRule(source, rule, from, to) {
|
|
133
|
+
const opening = rule.opening;
|
|
134
|
+
const closing = rule.closing;
|
|
135
|
+
const openPos = source.indexOf(opening, from);
|
|
136
|
+
if (openPos === -1 || openPos >= to) return null;
|
|
137
|
+
const contentStart = openPos + opening.length;
|
|
138
|
+
if (rule.selfClosing) {
|
|
139
|
+
const selfClosePos = source.indexOf(rule.selfClosing, contentStart);
|
|
140
|
+
const normalClosePos = source.indexOf(closing, contentStart);
|
|
141
|
+
if (selfClosePos !== -1 && (normalClosePos === -1 || selfClosePos < normalClosePos)) {
|
|
142
|
+
const closeEnd = selfClosePos + rule.selfClosing.length;
|
|
143
|
+
return this.buildMatch(rule, source.slice(openPos, closeEnd), source.slice(contentStart, selfClosePos), openPos, rule.selfClosing);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const closePos = rule.nested !== false ? this.findMatchingClose(source, opening, closing, contentStart, to) : source.indexOf(closing, contentStart);
|
|
147
|
+
if (closePos === -1) {
|
|
148
|
+
if (this.config.strictMode) throw new Error(`Unclosed token '${opening}' at position ${openPos}`);
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
return this.buildMatch(rule, source.slice(openPos, closePos + closing.length), source.slice(contentStart, closePos), openPos, closing);
|
|
152
|
+
}
|
|
153
|
+
matchPrefixedRule(source, rule, from, to) {
|
|
154
|
+
const opening = rule.opening;
|
|
155
|
+
const closing = rule.closing;
|
|
156
|
+
let searchFrom = from;
|
|
157
|
+
while (searchFrom < to) {
|
|
158
|
+
const openPos = source.indexOf(opening, searchFrom);
|
|
159
|
+
if (openPos === -1 || openPos >= to) return null;
|
|
160
|
+
const before = source.slice(from, openPos);
|
|
161
|
+
const prefixRe = new RegExp(rule.prefix.source + "$");
|
|
162
|
+
const prefixM = prefixRe.exec(before);
|
|
163
|
+
if (prefixM) {
|
|
164
|
+
const actualStart = openPos - prefixM[0].length;
|
|
165
|
+
const contentStart = openPos + opening.length;
|
|
166
|
+
const closePos = rule.nested !== false ? this.findMatchingClose(source, opening, closing, contentStart, to) : source.indexOf(closing, contentStart);
|
|
167
|
+
if (closePos === -1) {
|
|
168
|
+
if (this.config.strictMode) throw new Error(`Unclosed token '${opening}' at position ${openPos}`);
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
return this.buildMatch(rule, source.slice(actualStart, closePos + closing.length), source.slice(contentStart, closePos), actualStart, closing);
|
|
172
|
+
}
|
|
173
|
+
searchFrom = openPos + 1;
|
|
174
|
+
}
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
findMatchingClose(source, opening, closing, from, to) {
|
|
178
|
+
let level = 1;
|
|
179
|
+
let index = from;
|
|
180
|
+
while (index < to) {
|
|
181
|
+
const nextOpen = source.indexOf(opening, index);
|
|
182
|
+
const nextClose = source.indexOf(closing, index);
|
|
183
|
+
if (nextClose === -1) return -1;
|
|
184
|
+
if (nextOpen !== -1 && nextOpen < nextClose) {
|
|
185
|
+
level++;
|
|
186
|
+
index = nextOpen + opening.length;
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
level--;
|
|
190
|
+
if (level === 0) return nextClose;
|
|
191
|
+
index = nextClose + closing.length;
|
|
192
|
+
}
|
|
193
|
+
return -1;
|
|
194
|
+
}
|
|
195
|
+
buildMatch(rule, raw, content, position, closingUsed) {
|
|
196
|
+
const trimmed = this.config.trimWhitespace ? content.trim() : content;
|
|
197
|
+
const match = { raw, content: trimmed, opening: rule.opening ?? "", closing: closingUsed, position, payload: {}, _rule: rule };
|
|
198
|
+
if (rule.extract) match.payload = rule.extract(raw, match);
|
|
199
|
+
return match;
|
|
200
|
+
}
|
|
201
|
+
tryPlainText(raw, position) {
|
|
202
|
+
if (!raw) return null;
|
|
203
|
+
const rule = this.config.rules.find((r) => !r.opening && !r.closing && !r.pattern && !r.matcher);
|
|
204
|
+
if (!rule) return null;
|
|
205
|
+
const match = this.buildMatch(rule, raw, raw, position, "");
|
|
206
|
+
match._rule = rule;
|
|
207
|
+
return match;
|
|
208
|
+
}
|
|
209
|
+
findRuleForMatch(match) {
|
|
210
|
+
if (match._rule) return match._rule;
|
|
211
|
+
return this.config.rules.find((r) => (r.opening ?? "") === match.opening && (r.closing ?? "") === match.closing);
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
__decorateClass([
|
|
215
|
+
aConcept.A_Feature.Extend({
|
|
216
|
+
name: AreEngine_constants.AreEngineFeatures.Load
|
|
217
|
+
// scope: [AreEngine]
|
|
218
|
+
}),
|
|
219
|
+
__decorateParam(0, aConcept.A_Inject(Are_context.AreContext))
|
|
220
|
+
], exports.AreTokenizer.prototype, "instantiate", 1);
|
|
221
|
+
__decorateClass([
|
|
222
|
+
aConcept.A_Feature.Extend({
|
|
223
|
+
name: AreNode_constants.AreNodeFeatures.onTokenize,
|
|
224
|
+
scope: [AreNode_entity.AreNode]
|
|
225
|
+
}),
|
|
226
|
+
__decorateParam(0, aConcept.A_Inject(aConcept.A_Caller)),
|
|
227
|
+
__decorateParam(1, aConcept.A_Inject(Are_context.AreContext)),
|
|
228
|
+
__decorateParam(2, aConcept.A_Inject(aLogger.A_Logger))
|
|
229
|
+
], exports.AreTokenizer.prototype, "tokenize", 1);
|
|
230
|
+
exports.AreTokenizer = __decorateClass([
|
|
231
|
+
aFrame.A_Frame.Component({
|
|
232
|
+
namespace: "A-ARE",
|
|
233
|
+
name: "AreTokenizer",
|
|
234
|
+
description: "AreTokenizer is responsible for scanning and tokenizing template source strings using the syntax rules defined in AreSyntax. It converts raw template strings into AreNode instances that represent the structured AST of the template, enabling downstream compilation and rendering within the ARE framework."
|
|
235
|
+
})
|
|
236
|
+
], exports.AreTokenizer);
|
|
237
|
+
//# sourceMappingURL=AreTokenizer.component.js.map
|
|
238
|
+
//# sourceMappingURL=AreTokenizer.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/AreTokenizer/AreTokenizer.component.ts"],"names":["AreTokenizer","A_Component","A_Context","AreSyntax","AreTokenizerError","A_Feature","AreEngineFeatures","AreContext","AreNodeFeatures","AreNode","A_Caller","A_Logger","A_Frame"],"mappings":"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","file":"AreTokenizer.component.js","sourcesContent":["import { A_Caller, A_Component, A_Context, A_Feature, A_Inject, A_Scope } from \"@adaas/a-concept\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { AreNode } from \"@adaas/are/node/AreNode.entity\";\nimport { AreSyntaxTokenMatch, AreSyntaxTokenRules } from \"@adaas/are/syntax/AreSyntax.types\";\nimport { AreSyntax } from \"@adaas/are/syntax/AreSyntax.context\";\nimport { AreContext } from \"@adaas/are/component/Are.context\";\n// import { AreEngine } from \"@adaas/are/engine/AreEngine.component\";\nimport { AreEngineFeatures } from \"@adaas/are/engine/AreEngine.constants\";\nimport { AreTokenizerError } from \"./AreTokenizer.error\";\nimport { AreNodeFeatures } from \"@adaas/are/node/AreNode.constants\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\n\n\n@A_Frame.Component({\n namespace: 'A-ARE',\n name: 'AreTokenizer',\n description: 'AreTokenizer is responsible for scanning and tokenizing template source strings using the syntax rules defined in AreSyntax. It converts raw template strings into AreNode instances that represent the structured AST of the template, enabling downstream compilation and rendering within the ARE framework.'\n})\nexport class AreTokenizer extends A_Component {\n\n /**\n * Get the AreSyntax from the current scope. The AreSyntax defines the syntax rules and structures for tokenizing templates. It provides mechanisms for parsing and interpreting templates, attributes, directives, interpolations, and event listeners, enabling dynamic and interactive UI rendering within the ARE framework. If no AreSyntax is found in the scope, an error is thrown indicating that AreTokenizer requires an AreSyntax to function properly.\n */\n protected get config(): AreSyntax {\n const syntax = A_Context.scope(this).resolve(AreSyntax);\n\n if (!syntax) throw new AreTokenizerError({\n title: 'Syntax Context Not Found',\n description: 'AreTokenizer requires an AreSyntax to be present in the same scope. Ensure that an AreSyntax fragment is included in the concept and is accessible from the scope where AreTokenizer is used.'\n });\n\n return syntax\n }\n\n /**\n * Instantiate AreNodes based on the token matches obtained from scanning the source template. This method takes the raw source string from the context, scans it for tokens using the defined syntax rules, and creates corresponding AreNode instances for each matched token. The resulting array of AreNodes represents the structured representation of the template, which can then be used for further processing, such as rendering or applying scene instructions.\n * \n * \n * @param context \n * @returns \n */\n @A_Feature.Extend({\n name: AreEngineFeatures.Load,\n // scope: [AreEngine]\n })\n instantiate<T extends AreNode>(\n @A_Inject(AreContext) context: AreContext,\n ): void {\n context.startPerformance('Tokenizer Instantiate');\n\n const source = context.source;\n\n const nodes = this\n .scan(source, 0, source.length, context)\n .map(match => {\n const rule = this.findRuleForMatch(match)\n if (!rule) throw new Error(`No rule found for match at position ${match.position}`)\n return new (rule.component as typeof AreNode)(match)\n })\n\n for (const node of nodes) {\n context.addRoot(node)\n }\n\n context.endPerformance('Tokenizer Instantiate');\n }\n\n\n @A_Feature.Extend({\n name: AreNodeFeatures.onTokenize,\n scope: [AreNode]\n })\n tokenize(\n @A_Inject(A_Caller) node: AreNode,\n @A_Inject(AreContext) context: AreContext,\n @A_Inject(A_Logger) logger?: A_Logger,\n ) {\n context.startPerformance(`Tokenize method`);\n\n const source = node.content\n const content = this\n .scan(source, 0, source.length, context)\n .map(match => {\n const rule = this.findRuleForMatch(match)\n if (!rule) throw new Error(`No rule found for match at position ${match.position}`)\n return new (rule.component as typeof AreNode)(match)\n })\n\n logger?.debug('red', `Tokenized node <${node.aseid.toString()}> with content:`, content.length);\n\n context.endPerformance(`Tokenize method`);\n\n context.startPerformance(`Tokenize node Create Children`);\n for (const child of content) {\n node.addChild(child);\n\n context.startPerformance('AreTokenizer.tokenize child init');\n child.init();\n // child.call(AreNodeFeatures.onInit, child.scope);\n\n context.endPerformance('AreTokenizer.tokenize child init');\n }\n\n context.endPerformance(`Tokenize node Create Children`);\n\n\n }\n\n protected scan(source: string, from: number, to: number, context: AreContext): AreSyntaxTokenMatch[] {\n context.startPerformance('Tokenizer Scan');\n\n const tokens: AreSyntaxTokenMatch[] = []\n let index = from\n let hasMatchBefore = false\n\n while (index < to) {\n const match = this.findNextMatch(source, index, to)\n if (!match) {\n const rest = source.slice(index, to)\n /**\n * Trailing text (after the last match). When trimWhitespace is on,\n * discard it if it is whitespace-only — it is edge indentation/newlines.\n */\n const t = this.tryPlainText(rest, index)\n if (t && !(this.config.trimWhitespace && !rest.trim())) tokens.push(t)\n break\n }\n if (match.position > index) {\n const plain = source.slice(index, match.position)\n const t = this.tryPlainText(plain, index)\n if (t) {\n /**\n * When trimWhitespace is on and the text is whitespace-only:\n * - Discard if it is leading text (before the first match)\n * - Preserve (collapse to single space) if it is between two matches\n */\n if (this.config.trimWhitespace && !plain.trim()) {\n if (hasMatchBefore) {\n t.content = ' '\n tokens.push(t)\n }\n // else: leading whitespace — skip\n } else {\n tokens.push(t)\n }\n }\n }\n tokens.push(match)\n hasMatchBefore = true\n index = match.position + match.raw.length\n }\n\n context.endPerformance('Tokenizer Scan');\n\n\n return tokens\n }\n\n protected findNextMatch(source: string, from: number, to: number): AreSyntaxTokenMatch | null {\n let earliest: AreSyntaxTokenMatch | null = null\n for (const rule of this.config.rules) {\n if (!rule.opening && !rule.closing && !rule.pattern && !rule.matcher) continue\n const match = this.matchRule(source, rule, from, to)\n if (!match) continue\n if (!earliest || match.position < earliest.position) earliest = match\n }\n return earliest\n }\n\n protected matchRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null {\n if (rule.matcher) {\n return rule.matcher(source, from, to, (raw, content, position, closing) =>\n this.buildMatch(rule, raw, content, position, closing)\n )\n }\n if (rule.pattern) {\n const slice = source.slice(from, to)\n rule.pattern.lastIndex = 0\n const m = rule.pattern.exec(slice)\n if (!m) return null\n return this.buildMatch(rule, m[0], m[0], from + m.index, '')\n }\n if (!rule.opening || !rule.closing) return null\n if (rule.prefix) return this.matchPrefixedRule(source, rule, from, to)\n return this.matchStandardRule(source, rule, from, to)\n }\n\n protected matchStandardRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null {\n const opening = rule.opening!\n const closing = rule.closing!\n const openPos = source.indexOf(opening, from)\n if (openPos === -1 || openPos >= to) return null\n const contentStart = openPos + opening.length\n\n if (rule.selfClosing) {\n const selfClosePos = source.indexOf(rule.selfClosing, contentStart)\n const normalClosePos = source.indexOf(closing, contentStart)\n if (selfClosePos !== -1 && (normalClosePos === -1 || selfClosePos < normalClosePos)) {\n const closeEnd = selfClosePos + rule.selfClosing.length\n return this.buildMatch(rule, source.slice(openPos, closeEnd), source.slice(contentStart, selfClosePos), openPos, rule.selfClosing)\n }\n }\n\n const closePos = rule.nested !== false\n ? this.findMatchingClose(source, opening, closing, contentStart, to)\n : source.indexOf(closing, contentStart)\n\n if (closePos === -1) {\n if (this.config.strictMode) throw new Error(`Unclosed token '${opening}' at position ${openPos}`)\n return null\n }\n\n return this.buildMatch(rule, source.slice(openPos, closePos + closing.length), source.slice(contentStart, closePos), openPos, closing)\n }\n\n protected matchPrefixedRule(source: string, rule: AreSyntaxTokenRules, from: number, to: number): AreSyntaxTokenMatch | null {\n const opening = rule.opening!\n const closing = rule.closing!\n let searchFrom = from\n\n while (searchFrom < to) {\n const openPos = source.indexOf(opening, searchFrom)\n if (openPos === -1 || openPos >= to) return null\n\n const before = source.slice(from, openPos)\n const prefixRe = new RegExp(rule.prefix!.source + '$')\n const prefixM = prefixRe.exec(before)\n\n if (prefixM) {\n const actualStart = openPos - prefixM[0].length\n const contentStart = openPos + opening.length\n const closePos = rule.nested !== false\n ? this.findMatchingClose(source, opening, closing, contentStart, to)\n : source.indexOf(closing, contentStart)\n\n if (closePos === -1) {\n if (this.config.strictMode) throw new Error(`Unclosed token '${opening}' at position ${openPos}`)\n return null\n }\n\n return this.buildMatch(rule, source.slice(actualStart, closePos + closing.length), source.slice(contentStart, closePos), actualStart, closing)\n }\n searchFrom = openPos + 1\n }\n return null\n }\n\n protected findMatchingClose(source: string, opening: string, closing: string, from: number, to: number): number {\n let level = 1\n let index = from\n while (index < to) {\n const nextOpen = source.indexOf(opening, index)\n const nextClose = source.indexOf(closing, index)\n if (nextClose === -1) return -1\n if (nextOpen !== -1 && nextOpen < nextClose) {\n level++\n index = nextOpen + opening.length\n continue\n }\n level--\n if (level === 0) return nextClose\n index = nextClose + closing.length\n }\n return -1\n }\n\n protected buildMatch(rule: AreSyntaxTokenRules, raw: string, content: string, position: number, closingUsed: string): AreSyntaxTokenMatch {\n const trimmed = this.config.trimWhitespace ? content.trim() : content\n const match: AreSyntaxTokenMatch = { raw, content: trimmed, opening: rule.opening ?? '', closing: closingUsed, position, payload: {}, _rule: rule }\n if (rule.extract) match.payload = rule.extract(raw, match)\n return match\n }\n\n protected tryPlainText(raw: string, position: number): AreSyntaxTokenMatch | null {\n if (!raw) return null\n const rule = this.config.rules.find(r => !r.opening && !r.closing && !r.pattern && !r.matcher)\n if (!rule) return null\n const match = this.buildMatch(rule, raw, raw, position, '')\n match._rule = rule\n return match\n }\n\n protected findRuleForMatch(match: AreSyntaxTokenMatch): AreSyntaxTokenRules | undefined {\n // Fast path: the rule that produced this match is already stored\n if (match._rule) return match._rule\n // Fallback: match by opening/closing (for externally constructed AreSyntaxTokenMatch objects)\n return this.config.rules.find(r => (r.opening ?? '') === match.opening && (r.closing ?? '') === match.closing)\n }\n}"]}
|