@adaas/are 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +11 -1
  2. package/dist/browser/index.d.mts +843 -751
  3. package/dist/browser/index.mjs +2729 -2481
  4. package/dist/browser/index.mjs.map +1 -1
  5. package/dist/node/AreInstruction.entity-Ceyy0tbf.d.mts +163 -0
  6. package/dist/node/AreInstruction.entity-Ceyy0tbf.d.ts +163 -0
  7. package/dist/node/index.d.mts +37 -1
  8. package/dist/node/index.d.ts +37 -1
  9. package/dist/node/index.js +28 -0
  10. package/dist/node/index.mjs +4 -0
  11. package/dist/node/lib/AreAttribute/AreAttribute.entity.d.mts +80 -13
  12. package/dist/node/lib/AreAttribute/AreAttribute.entity.d.ts +80 -13
  13. package/dist/node/lib/AreCompiler/AreCompiler.component.d.mts +3 -13
  14. package/dist/node/lib/AreCompiler/AreCompiler.component.d.ts +3 -13
  15. package/dist/node/lib/AreComponent/Are.context.d.mts +64 -14
  16. package/dist/node/lib/AreComponent/Are.context.d.ts +64 -14
  17. package/dist/node/lib/AreEngine/AreEngine.component.d.mts +9 -23
  18. package/dist/node/lib/AreEngine/AreEngine.component.d.ts +9 -23
  19. package/dist/node/lib/AreEngine/AreEngine.types.d.mts +9 -25
  20. package/dist/node/lib/AreEngine/AreEngine.types.d.ts +9 -25
  21. package/dist/node/lib/AreInstruction/AreInstruction.entity.d.mts +3 -13
  22. package/dist/node/lib/AreInstruction/AreInstruction.entity.d.ts +3 -13
  23. package/dist/node/lib/AreInstruction/AreInstruction.types.d.mts +3 -13
  24. package/dist/node/lib/AreInstruction/AreInstruction.types.d.ts +3 -13
  25. package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.d.mts +37 -14
  26. package/dist/node/lib/AreInstruction/types/AreDeclaration.instruction.d.ts +37 -14
  27. package/dist/node/lib/AreInstruction/types/AreMutation.instruction.d.mts +29 -14
  28. package/dist/node/lib/AreInstruction/types/AreMutation.instruction.d.ts +29 -14
  29. package/dist/node/lib/AreInterpreter/AreInterpreter.component.d.mts +3 -13
  30. package/dist/node/lib/AreInterpreter/AreInterpreter.component.d.ts +3 -13
  31. package/dist/node/lib/AreLifecycle/AreLifecycle.component.d.mts +4 -13
  32. package/dist/node/lib/AreLifecycle/AreLifecycle.component.d.ts +4 -13
  33. package/dist/node/lib/AreLoader/AreLoader.component.d.mts +2 -13
  34. package/dist/node/lib/AreLoader/AreLoader.component.d.ts +2 -13
  35. package/dist/node/lib/AreNode/AreNode.entity.d.mts +197 -13
  36. package/dist/node/lib/AreNode/AreNode.entity.d.ts +197 -13
  37. package/dist/node/lib/AreNode/AreNode.types.d.mts +8 -14
  38. package/dist/node/lib/AreNode/AreNode.types.d.ts +8 -14
  39. package/dist/node/lib/AreScene/AreScene.context.d.mts +170 -13
  40. package/dist/node/lib/AreScene/AreScene.context.d.ts +170 -13
  41. package/dist/node/lib/AreScene/AreScene.types.d.mts +21 -14
  42. package/dist/node/lib/AreScene/AreScene.types.d.ts +21 -14
  43. package/dist/node/lib/AreSignals/AreSignals.component.d.mts +3 -12
  44. package/dist/node/lib/AreSignals/AreSignals.component.d.ts +3 -12
  45. package/dist/node/lib/AreSignals/AreSignals.context.d.mts +2 -12
  46. package/dist/node/lib/AreSignals/AreSignals.context.d.ts +2 -12
  47. package/dist/node/lib/AreSignals/AreSignals.meta.d.mts +1 -3
  48. package/dist/node/lib/AreSignals/AreSignals.meta.d.ts +1 -3
  49. package/dist/node/lib/AreSignals/AreSignals.types.d.mts +1 -3
  50. package/dist/node/lib/AreSignals/AreSignals.types.d.ts +1 -3
  51. package/dist/node/lib/AreSignals/entities/AreInit.signal.d.mts +1 -2
  52. package/dist/node/lib/AreSignals/entities/AreInit.signal.d.ts +1 -2
  53. package/dist/node/lib/AreSignals/entities/AreRoute.signal.d.mts +1 -1
  54. package/dist/node/lib/AreSignals/entities/AreRoute.signal.d.ts +1 -1
  55. package/dist/node/lib/AreStore/AreStore.context.d.mts +54 -13
  56. package/dist/node/lib/AreStore/AreStore.context.d.ts +54 -13
  57. package/dist/node/lib/AreSyntax/AreSyntax.context.d.mts +10 -12
  58. package/dist/node/lib/AreSyntax/AreSyntax.context.d.ts +10 -12
  59. package/dist/node/lib/AreSyntax/AreSyntax.types.d.mts +79 -14
  60. package/dist/node/lib/AreSyntax/AreSyntax.types.d.ts +79 -14
  61. package/dist/node/lib/AreTokenizer/AreTokenizer.component.d.mts +4 -14
  62. package/dist/node/lib/AreTokenizer/AreTokenizer.component.d.ts +4 -14
  63. package/dist/node/lib/AreTransformer/AreTransformer.component.d.mts +2 -13
  64. package/dist/node/lib/AreTransformer/AreTransformer.component.d.ts +2 -13
  65. package/package.json +3 -2
  66. package/src/index.ts +6 -0
  67. package/dist/node/Are.context-9Ija_fdC.d.ts +0 -846
  68. package/dist/node/Are.context-D7w32H1G.d.mts +0 -846
@@ -1,14 +1,79 @@
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
+ import { A_TYPES__Entity_Constructor } from '@adaas/a-concept';
2
+ import { AreNode } from '@adaas/are/node/AreNode.entity';
3
+ import { AreStore } from '@adaas/are/store/AreStore.context';
4
+
5
+ interface AreSyntaxTokenRules<T extends AreNode = AreNode> {
6
+ /** Opening delimiter e.g. '<', '{{', '<!--', '{' */
7
+ opening?: string;
8
+ /** Closing delimiter e.g. '>', '}}', '-->', '}' */
9
+ closing?: string;
10
+ /** Optional self-closing marker e.g. '/>' */
11
+ selfClosing?: string;
12
+ /** Regex that must match content immediately before the opening delimiter */
13
+ prefix?: RegExp;
14
+ /** Replaces open/close entirely — matches entire pattern via RegExp */
15
+ pattern?: RegExp;
16
+ /**
17
+ * Fully custom matcher — complete control over how a token is found.
18
+ * Receives (source, from, to, build) where build(raw, content, position, closing)
19
+ * constructs the AreSyntaxTokenMatch. Return null if no match found.
20
+ */
21
+ matcher?: (source: string, from: number, to: number, build: (raw: string, content: string, position: number, closing: string) => AreSyntaxTokenMatch) => AreSyntaxTokenMatch | null;
22
+ /** Constructor to instantiate when this rule matches */
23
+ component: A_TYPES__Entity_Constructor<T>;
24
+ /** Higher = checked first. Default: 0 */
25
+ priority?: number;
26
+ /** Whether this token can contain nested tokens of same open/close. Default: true */
27
+ nested?: boolean;
28
+ /** Custom data extractor — called after match, result stored in match.meta */
29
+ extract?: (raw: string, match: AreSyntaxTokenMatch) => Record<string, any>;
30
+ }
31
+ type AreSyntaxTokenPayload = {
32
+ /**
33
+ * Allows to override ASEID generation for this token match. Useful when the token corresponds to an existing entity or needs a stable ID across parses. If not provided, ASEID will be generated based on position and content.
34
+ */
35
+ id?: string;
36
+ /**
37
+ * Allows to override the entity type for this token match. Useful when the token corresponds to an existing entity or needs a specific entity type across parses. If not provided, the entity type will be inferred from the token.
38
+ */
39
+ entity?: string;
40
+ /**
41
+ * Allows to override the scope for this token match. Useful when the token corresponds to an existing entity or needs a specific scope across parses. If not provided, the scope will be generated based on position and content.
42
+ */
43
+ scope?: string;
44
+ [key: string]: any;
45
+ };
46
+ interface AreSyntaxTokenMatch {
47
+ /** Full matched string including delimiters */
48
+ raw: string;
49
+ /** Content between delimiters */
50
+ content: string;
51
+ /** The opening delimiter that matched */
52
+ opening: string;
53
+ /** The closing delimiter that matched */
54
+ closing: string;
55
+ /** Start position in source string */
56
+ position: number;
57
+ /** Data extracted via rule.extract */
58
+ payload: AreSyntaxTokenPayload;
59
+ /** @internal – the rule that produced this match (used by instantiate) */
60
+ _rule?: AreSyntaxTokenRules;
61
+ }
62
+ interface AreSyntaxInitOptions {
63
+ /**
64
+ * Array of token rules defining the syntax to be parsed. Each rule specifies how to identify and process a particular type of token (e.g. interpolation, directive, comment) within templates. The rules are checked in order of priority, allowing for flexible and customizable parsing behavior.
65
+ */
66
+ rules: AreSyntaxTokenRules[];
67
+ /**
68
+ * Whether to trim leading/trailing whitespace from token content. Default: true. When enabled, any whitespace at the start or end of the content captured by a token will be removed before further processing. This can help prevent issues with unintended spaces affecting rendering or logic, especially in cases like interpolations or directives where extra whitespace may be common.
69
+ */
70
+ trimWhitespace?: boolean;
71
+ /** Throw on unclosed tokens. Default: true */
72
+ strictMode?: boolean;
73
+ }
74
+ type AreSyntaxCompiledExpression = {
75
+ execute: (store: AreStore, scope?: Record<string, any>) => any;
76
+ isCallable: boolean;
77
+ };
78
+
79
+ export type { AreSyntaxCompiledExpression, AreSyntaxInitOptions, AreSyntaxTokenMatch, AreSyntaxTokenPayload, AreSyntaxTokenRules };
@@ -1,19 +1,9 @@
1
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';
2
+ import { AreNode } from '@adaas/are/node/AreNode.entity';
3
+ import { AreSyntaxTokenMatch, AreSyntaxTokenRules } from '@adaas/are/syntax/AreSyntax.types';
4
+ import { AreSyntax } from '@adaas/are/syntax/AreSyntax.context';
5
+ import { AreContext } from '@adaas/are/component/Are.context';
4
6
  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
7
 
18
8
  declare class AreTokenizer extends A_Component {
19
9
  /**
@@ -1,19 +1,9 @@
1
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';
2
+ import { AreNode } from '@adaas/are/node/AreNode.entity';
3
+ import { AreSyntaxTokenMatch, AreSyntaxTokenRules } from '@adaas/are/syntax/AreSyntax.types';
4
+ import { AreSyntax } from '@adaas/are/syntax/AreSyntax.context';
5
+ import { AreContext } from '@adaas/are/component/Are.context';
4
6
  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
7
 
18
8
  declare class AreTokenizer extends A_Component {
19
9
  /**
@@ -1,17 +1,6 @@
1
1
  import { A_Component, A_Scope } from '@adaas/a-concept';
2
- import { g as AreNode, k as AreScene } from '../../Are.context-D7w32H1G.mjs';
3
- import '@adaas/a-utils/a-signal';
4
- import '../AreEvent/AreEvent.context.mjs';
5
- import '@adaas/a-utils/a-execution';
6
- import '../AreStore/AreStore.types.mjs';
7
- import '../AreStore/AreStore.constants.mjs';
8
- import '../AreScene/AreScene.constants.mjs';
9
- import '../AreAttribute/AreAttribute.types.mjs';
10
- import '../AreAttribute/AreAttribute.constants.mjs';
11
- import '../AreComponent/Are.component.mjs';
12
- import '../AreComponent/Are.types.mjs';
13
- import '../AreComponent/Are.constants.mjs';
14
- import '../AreNode/AreNode.constants.mjs';
2
+ import { AreNode } from '@adaas/are/node/AreNode.entity';
3
+ import { AreScene } from '@adaas/are/scene/AreScene.context';
15
4
 
16
5
  declare class AreTransformer extends A_Component {
17
6
  transform(node: AreNode, scope: A_Scope, scene: AreScene, ...args: any[]): void;
@@ -1,17 +1,6 @@
1
1
  import { A_Component, A_Scope } from '@adaas/a-concept';
2
- import { g as AreNode, k as AreScene } 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';
2
+ import { AreNode } from '@adaas/are/node/AreNode.entity';
3
+ import { AreScene } from '@adaas/are/scene/AreScene.context';
15
4
 
16
5
  declare class AreTransformer extends A_Component {
17
6
  transform(node: AreNode, scope: A_Scope, scene: AreScene, ...args: any[]): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaas/are",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "A-Concept Rendering Engine (ARE) is a powerful rendering engine designed to work seamlessly with the A-Concept framework. It provides developers with the tools and capabilities needed to create dynamic and interactive user interfaces for web applications.",
5
5
  "keywords": [
6
6
  "a-concept",
@@ -81,7 +81,8 @@
81
81
  "dependencies": {
82
82
  "@adaas/a-concept": "^0.3.13",
83
83
  "@adaas/a-frame": "^0.0.22",
84
- "@adaas/a-utils": "^0.3.18"
84
+ "@adaas/a-utils": "^0.3.18",
85
+ "@adaas/are": "^0.0.4"
85
86
  },
86
87
  "devDependencies": {
87
88
  "@types/chai": "^4.3.14",
package/src/index.ts CHANGED
@@ -90,3 +90,9 @@ export * from './lib/AreSignals/AreSignals.context';
90
90
  export * from './lib/AreSignals/AreSignals.types';
91
91
  export * from './lib/AreSignals/entities/AreInit.signal';
92
92
  export * from './lib/AreSignals/entities/AreRoute.signal';
93
+
94
+ // ─── AreEngine ────────────────────────────────────────────────────────────────
95
+ export * from './lib/AreEngine/AreEngine.component';
96
+ export * from './lib/AreEngine/AreEngine.constants';
97
+ export * from './lib/AreEngine/AreEngine.types';
98
+ export * from './lib/AreEngine/AreEngine.error';