@lokascript/framework 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.js +29 -516
- package/dist/api/index.js.map +1 -1
- package/dist/core/index.js +20 -128
- package/dist/core/index.js.map +1 -1
- package/dist/core/pattern-matching/index.js +19 -12
- package/dist/core/pattern-matching/index.js.map +1 -1
- package/dist/core/tokenization/index.js.map +1 -1
- package/dist/core/types.d.ts +7 -354
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +21 -129
- package/dist/core/types.js.map +1 -1
- package/dist/generation/diagnostics.d.ts +5 -115
- package/dist/generation/diagnostics.d.ts.map +1 -1
- package/dist/generation/index.js +20 -77
- package/dist/generation/index.js.map +1 -1
- package/dist/index.cjs +189 -1458
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +108 -1347
- package/dist/index.js.map +1 -1
- package/dist/interfaces/value-extractor.d.ts +20 -0
- package/dist/interfaces/value-extractor.d.ts.map +1 -1
- package/dist/ir/explicit-parser.d.ts +2 -83
- package/dist/ir/explicit-parser.d.ts.map +1 -1
- package/dist/ir/explicit-renderer.d.ts +2 -31
- package/dist/ir/explicit-renderer.d.ts.map +1 -1
- package/dist/ir/index.js +89 -1260
- package/dist/ir/index.js.map +1 -1
- package/dist/ir/protocol-json.d.ts +2 -70
- package/dist/ir/protocol-json.d.ts.map +1 -1
- package/dist/ir/references.d.ts +2 -16
- package/dist/ir/references.d.ts.map +1 -1
- package/dist/ir/types.d.ts +2 -148
- package/dist/ir/types.d.ts.map +1 -1
- package/dist/parsing/index.js +19 -12
- package/dist/parsing/index.js.map +1 -1
- package/dist/schema/command-schema.d.ts +3 -92
- package/dist/schema/command-schema.d.ts.map +1 -1
- package/dist/schema/index.js +3 -20
- package/dist/schema/index.js.map +1 -1
- package/dist/testing/index.js +1066 -712
- package/dist/testing/index.js.map +1 -1
- package/package.json +6 -2
- package/src/core/types.ts +71 -600
- package/src/generation/diagnostics.ts +12 -233
- package/src/interfaces/value-extractor.ts +32 -0
- package/src/ir/explicit-parser.ts +12 -792
- package/src/ir/explicit-renderer.ts +2 -195
- package/src/ir/from-interchange.test.ts +91 -4
- package/src/ir/from-interchange.ts +59 -0
- package/src/ir/protocol-json.test.ts +16 -7
- package/src/ir/protocol-json.ts +9 -748
- package/src/ir/references.ts +2 -30
- package/src/ir/types.ts +18 -190
- package/src/schema/command-schema.ts +3 -134
package/dist/core/index.js
CHANGED
|
@@ -1,132 +1,23 @@
|
|
|
1
1
|
// src/core/types.ts
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));
|
|
22
|
-
const node = {
|
|
23
|
-
kind: "command",
|
|
24
|
-
action,
|
|
25
|
-
roles: rolesMap
|
|
26
|
-
};
|
|
27
|
-
if (metadata) {
|
|
28
|
-
return { ...node, metadata };
|
|
29
|
-
}
|
|
30
|
-
return node;
|
|
31
|
-
}
|
|
32
|
-
function createEventHandlerNode(action, roles, body, metadata, eventModifiers) {
|
|
33
|
-
const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));
|
|
34
|
-
const base = {
|
|
35
|
-
kind: "event-handler",
|
|
36
|
-
action,
|
|
37
|
-
roles: rolesMap,
|
|
38
|
-
body
|
|
39
|
-
};
|
|
40
|
-
return {
|
|
41
|
-
...base,
|
|
42
|
-
...eventModifiers && { eventModifiers },
|
|
43
|
-
...metadata && { metadata }
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
function createConditionalNode(action, roles, thenBranch, elseBranch, metadata) {
|
|
47
|
-
const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));
|
|
48
|
-
const base = {
|
|
49
|
-
kind: "conditional",
|
|
50
|
-
action,
|
|
51
|
-
roles: rolesMap,
|
|
52
|
-
thenBranch
|
|
53
|
-
};
|
|
54
|
-
return {
|
|
55
|
-
...base,
|
|
56
|
-
...elseBranch && { elseBranch },
|
|
57
|
-
...metadata && { metadata }
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
function createCompoundNode(statements, chainType = "sequential", metadata) {
|
|
61
|
-
const base = {
|
|
62
|
-
kind: "compound",
|
|
63
|
-
action: "compound",
|
|
64
|
-
roles: /* @__PURE__ */ new Map(),
|
|
65
|
-
statements,
|
|
66
|
-
chainType
|
|
67
|
-
};
|
|
68
|
-
return metadata ? { ...base, metadata } : base;
|
|
69
|
-
}
|
|
70
|
-
function extractValue(value) {
|
|
71
|
-
if (value.type === "flag") return value.name;
|
|
72
|
-
if ("raw" in value && value.raw !== void 0) return String(value.raw);
|
|
73
|
-
if ("value" in value && value.value !== void 0) return String(value.value);
|
|
74
|
-
if (value.type === "property-path") return `${extractValue(value.object)}.${value.property}`;
|
|
75
|
-
return "";
|
|
76
|
-
}
|
|
77
|
-
function extractRoleValue(node, role) {
|
|
78
|
-
const value = node.roles.get(role);
|
|
79
|
-
if (!value) return "";
|
|
80
|
-
return extractValue(value);
|
|
81
|
-
}
|
|
82
|
-
function createLoopNode(action, roles, loopVariant, body, loopVariable, indexVariable, metadata) {
|
|
83
|
-
const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));
|
|
84
|
-
const base = {
|
|
85
|
-
kind: "loop",
|
|
86
|
-
action,
|
|
87
|
-
roles: rolesMap,
|
|
88
|
-
loopVariant,
|
|
89
|
-
body
|
|
90
|
-
};
|
|
91
|
-
return {
|
|
92
|
-
...base,
|
|
93
|
-
...loopVariable && { loopVariable },
|
|
94
|
-
...indexVariable && { indexVariable },
|
|
95
|
-
...metadata && { metadata }
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
function createTryNode(body, catchBranch, finallyBranch, metadata) {
|
|
99
|
-
return {
|
|
100
|
-
kind: "command",
|
|
101
|
-
action: "try",
|
|
102
|
-
roles: /* @__PURE__ */ new Map(),
|
|
103
|
-
body,
|
|
104
|
-
...catchBranch && catchBranch.length > 0 ? { catchBranch } : {},
|
|
105
|
-
...finallyBranch && finallyBranch.length > 0 ? { finallyBranch } : {},
|
|
106
|
-
...metadata ? { metadata } : {}
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
function createAsyncNode(variant, asyncBody, metadata) {
|
|
110
|
-
return {
|
|
111
|
-
kind: "command",
|
|
112
|
-
action: variant,
|
|
113
|
-
roles: /* @__PURE__ */ new Map(),
|
|
114
|
-
asyncVariant: variant,
|
|
115
|
-
asyncBody,
|
|
116
|
-
...metadata ? { metadata } : {}
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
function createMatchNode(roles, arms, defaultArm, metadata) {
|
|
120
|
-
const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));
|
|
121
|
-
return {
|
|
122
|
-
kind: "command",
|
|
123
|
-
action: "match",
|
|
124
|
-
roles: rolesMap,
|
|
125
|
-
arms,
|
|
126
|
-
...defaultArm && defaultArm.length > 0 ? { defaultArm } : {},
|
|
127
|
-
...metadata ? { metadata } : {}
|
|
128
|
-
};
|
|
129
|
-
}
|
|
2
|
+
import {
|
|
3
|
+
createLiteral,
|
|
4
|
+
createSelector,
|
|
5
|
+
createReference,
|
|
6
|
+
createPropertyPath,
|
|
7
|
+
createExpression,
|
|
8
|
+
createFlag,
|
|
9
|
+
createCommandNode,
|
|
10
|
+
createEventHandlerNode,
|
|
11
|
+
createConditionalNode,
|
|
12
|
+
createCompoundNode,
|
|
13
|
+
createLoopNode,
|
|
14
|
+
createTryNode,
|
|
15
|
+
createAsyncNode,
|
|
16
|
+
createMatchNode,
|
|
17
|
+
extractValue,
|
|
18
|
+
extractRoleValue,
|
|
19
|
+
getRoleValue
|
|
20
|
+
} from "@lokascript/intent";
|
|
130
21
|
|
|
131
22
|
// src/core/tokenization/token-utils.ts
|
|
132
23
|
var TokenStreamImpl = class {
|
|
@@ -2882,6 +2773,7 @@ export {
|
|
|
2882
2773
|
getAllPossessiveKeywords,
|
|
2883
2774
|
getDefaultExtractors,
|
|
2884
2775
|
getPossessiveReference,
|
|
2776
|
+
getRoleValue,
|
|
2885
2777
|
isAsciiIdentifierChar,
|
|
2886
2778
|
isAsciiLetter,
|
|
2887
2779
|
isBuiltInReference,
|