bc-minecraft-molang 1.21.100-9 → 1.21.133-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/README.md +21 -18
- package/{lib/src → dist}/data/animations-controllers.d.ts +2 -1
- package/dist/data/animations-controllers.d.ts.map +1 -0
- package/{lib/src → dist}/data/animations-controllers.js +2 -2
- package/dist/data/animations-controllers.js.map +1 -0
- package/{lib/src → dist}/data/animations.d.ts +2 -1
- package/dist/data/animations.d.ts.map +1 -0
- package/{lib/src → dist}/data/animations.js +2 -2
- package/dist/data/animations.js.map +1 -0
- package/{lib/src → dist}/data/attachables.d.ts +2 -1
- package/dist/data/attachables.d.ts.map +1 -0
- package/{lib/src → dist}/data/attachables.js +2 -2
- package/dist/data/attachables.js.map +1 -0
- package/{lib/src → dist}/data/blocks.d.ts +2 -1
- package/dist/data/blocks.d.ts.map +1 -0
- package/dist/data/blocks.js.map +1 -0
- package/dist/data/data.d.ts +4 -0
- package/dist/data/data.d.ts.map +1 -0
- package/{lib/src → dist}/data/data.js.map +1 -1
- package/{lib/src → dist}/data/entities.d.ts +2 -1
- package/dist/data/entities.d.ts.map +1 -0
- package/{lib/src → dist}/data/entities.js +2 -2
- package/dist/data/entities.js.map +1 -0
- package/{lib/src → dist}/data/features-rules.d.ts +2 -1
- package/dist/data/features-rules.d.ts.map +1 -0
- package/{lib/src → dist}/data/features-rules.js +8 -1
- package/dist/data/features-rules.js.map +1 -0
- package/{lib/src → dist}/data/general.d.ts +2 -1
- package/dist/data/general.d.ts.map +1 -0
- package/dist/data/general.js +1807 -0
- package/dist/data/general.js.map +1 -0
- package/dist/data/index.d.ts +14 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js.map +1 -0
- package/{lib/src → dist}/data/items.d.ts +2 -1
- package/dist/data/items.d.ts.map +1 -0
- package/{lib/src → dist}/data/items.js +1 -1
- package/dist/data/items.js.map +1 -0
- package/{lib/src → dist}/data/molang-data.d.ts +22 -12
- package/dist/data/molang-data.d.ts.map +1 -0
- package/{lib/src → dist}/data/molang-data.js +34 -2
- package/dist/data/molang-data.js.map +1 -0
- package/{lib/src → dist}/data/molang-function.d.ts +11 -4
- package/dist/data/molang-function.d.ts.map +1 -0
- package/{lib/src → dist}/data/molang-function.js +4 -4
- package/dist/data/molang-function.js.map +1 -0
- package/{lib/src → dist}/data/particles.d.ts +2 -1
- package/dist/data/particles.d.ts.map +1 -0
- package/dist/data/particles.js +28 -0
- package/dist/data/particles.js.map +1 -0
- package/{lib/src → dist}/data/render-controllers.d.ts +2 -1
- package/dist/data/render-controllers.d.ts.map +1 -0
- package/{lib/src → dist}/data/render-controllers.js +2 -2
- package/dist/data/render-controllers.js.map +1 -0
- package/{lib/src → dist}/graph/index.d.ts +1 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js.map +1 -0
- package/{lib/src → dist}/graph/mermaid.d.ts +3 -2
- package/dist/graph/mermaid.d.ts.map +1 -0
- package/{lib/src → dist}/graph/mermaid.js +43 -41
- package/dist/graph/mermaid.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/{lib/src/main.js → dist/index.js} +1 -1
- package/dist/index.js.map +1 -0
- package/{lib/src → dist}/molang/cache.d.ts +3 -2
- package/dist/molang/cache.d.ts.map +1 -0
- package/{lib/src → dist}/molang/cache.js +1 -0
- package/dist/molang/cache.js.map +1 -0
- package/{lib/src → dist}/molang/functions.d.ts +1 -0
- package/dist/molang/functions.d.ts.map +1 -0
- package/{lib/src → dist}/molang/functions.js +14 -14
- package/dist/molang/functions.js.map +1 -0
- package/dist/molang/index.d.ts +6 -0
- package/dist/molang/index.d.ts.map +1 -0
- package/dist/molang/index.js.map +1 -0
- package/{lib/src → dist}/molang/molang-set.d.ts +5 -3
- package/dist/molang/molang-set.d.ts.map +1 -0
- package/{lib/src → dist}/molang/molang-set.js +36 -15
- package/dist/molang/molang-set.js.map +1 -0
- package/{lib/src → dist}/molang/syntax/builder.d.ts +2 -1
- package/dist/molang/syntax/builder.d.ts.map +1 -0
- package/{lib/src → dist}/molang/syntax/builder.js +8 -2
- package/dist/molang/syntax/builder.js.map +1 -0
- package/dist/molang/syntax/collect.d.ts +3 -0
- package/dist/molang/syntax/collect.d.ts.map +1 -0
- package/dist/molang/syntax/collect.js.map +1 -0
- package/{lib/src → dist}/molang/syntax/errors.d.ts +2 -1
- package/dist/molang/syntax/errors.d.ts.map +1 -0
- package/{lib/src → dist}/molang/syntax/errors.js +4 -2
- package/dist/molang/syntax/errors.js.map +1 -0
- package/dist/molang/syntax/flatten.d.ts +3 -0
- package/dist/molang/syntax/flatten.d.ts.map +1 -0
- package/dist/molang/syntax/flatten.js.map +1 -0
- package/dist/molang/syntax/index.d.ts +11 -0
- package/dist/molang/syntax/index.d.ts.map +1 -0
- package/dist/molang/syntax/index.js.map +1 -0
- package/{lib/src → dist}/molang/syntax/nodes.d.ts +6 -5
- package/dist/molang/syntax/nodes.d.ts.map +1 -0
- package/{lib/src → dist}/molang/syntax/nodes.js +4 -5
- package/dist/molang/syntax/nodes.js.map +1 -0
- package/{lib/src → dist}/molang/syntax/operators.d.ts +2 -1
- package/dist/molang/syntax/operators.d.ts.map +1 -0
- package/{lib/src → dist}/molang/syntax/operators.js +26 -27
- package/dist/molang/syntax/operators.js.map +1 -0
- package/dist/molang/syntax/parse.d.ts +5 -0
- package/dist/molang/syntax/parse.d.ts.map +1 -0
- package/{lib/src → dist}/molang/syntax/parse.js +94 -35
- package/dist/molang/syntax/parse.js.map +1 -0
- package/dist/molang/syntax/tokens.d.ts +37 -0
- package/dist/molang/syntax/tokens.d.ts.map +1 -0
- package/{lib/src → dist}/molang/syntax/tokens.js +110 -64
- package/dist/molang/syntax/tokens.js.map +1 -0
- package/{lib/src → dist}/molang/syntax/util.d.ts +1 -0
- package/dist/molang/syntax/util.d.ts.map +1 -0
- package/{lib/src → dist}/molang/syntax/util.js +3 -3
- package/dist/molang/syntax/util.js.map +1 -0
- package/{lib/src → dist}/molang/syntax/walk.d.ts +2 -1
- package/dist/molang/syntax/walk.d.ts.map +1 -0
- package/dist/molang/syntax/walk.js.map +1 -0
- package/{lib/src → dist}/molang/traverse.d.ts +2 -1
- package/dist/molang/traverse.d.ts.map +1 -0
- package/{lib/src → dist}/molang/traverse.js +6 -6
- package/dist/molang/traverse.js.map +1 -0
- package/package.json +59 -59
- package/LICENSE +0 -29
- package/lib/src/data/animations-controllers.js.map +0 -1
- package/lib/src/data/animations.js.map +0 -1
- package/lib/src/data/attachables.js.map +0 -1
- package/lib/src/data/blocks.js.map +0 -1
- package/lib/src/data/data.d.ts +0 -3
- package/lib/src/data/entities.js.map +0 -1
- package/lib/src/data/features-rules.js.map +0 -1
- package/lib/src/data/general.js +0 -1522
- package/lib/src/data/general.js.map +0 -1
- package/lib/src/data/index.d.ts +0 -13
- package/lib/src/data/index.js.map +0 -1
- package/lib/src/data/items.js.map +0 -1
- package/lib/src/data/molang-data.js.map +0 -1
- package/lib/src/data/molang-function.js.map +0 -1
- package/lib/src/data/particles.js +0 -28
- package/lib/src/data/particles.js.map +0 -1
- package/lib/src/data/render-controllers.js.map +0 -1
- package/lib/src/graph/index.js.map +0 -1
- package/lib/src/graph/mermaid.js.map +0 -1
- package/lib/src/main.d.ts +0 -3
- package/lib/src/main.js.map +0 -1
- package/lib/src/molang/cache.js.map +0 -1
- package/lib/src/molang/functions.js.map +0 -1
- package/lib/src/molang/index.d.ts +0 -5
- package/lib/src/molang/index.js.map +0 -1
- package/lib/src/molang/molang-set.js.map +0 -1
- package/lib/src/molang/syntax/builder.js.map +0 -1
- package/lib/src/molang/syntax/collect.d.ts +0 -2
- package/lib/src/molang/syntax/collect.js.map +0 -1
- package/lib/src/molang/syntax/errors.js.map +0 -1
- package/lib/src/molang/syntax/flatten.d.ts +0 -2
- package/lib/src/molang/syntax/flatten.js.map +0 -1
- package/lib/src/molang/syntax/index.d.ts +0 -10
- package/lib/src/molang/syntax/index.js.map +0 -1
- package/lib/src/molang/syntax/nodes.js.map +0 -1
- package/lib/src/molang/syntax/operators.js.map +0 -1
- package/lib/src/molang/syntax/parse.d.ts +0 -4
- package/lib/src/molang/syntax/parse.js.map +0 -1
- package/lib/src/molang/syntax/tokens.d.ts +0 -35
- package/lib/src/molang/syntax/tokens.js.map +0 -1
- package/lib/src/molang/syntax/util.js.map +0 -1
- package/lib/src/molang/syntax/walk.js.map +0 -1
- package/lib/src/molang/traverse.js.map +0 -1
- /package/{lib/src → dist}/data/blocks.js +0 -0
- /package/{lib/src → dist}/data/data.js +0 -0
- /package/{lib/src → dist}/data/index.js +0 -0
- /package/{lib/src → dist}/graph/index.js +0 -0
- /package/{lib/src → dist}/molang/index.js +0 -0
- /package/{lib/src → dist}/molang/syntax/collect.js +0 -0
- /package/{lib/src → dist}/molang/syntax/flatten.js +0 -0
- /package/{lib/src → dist}/molang/syntax/index.js +0 -0
- /package/{lib/src → dist}/molang/syntax/walk.js +0 -0
|
@@ -16,25 +16,26 @@ var TokenType;
|
|
|
16
16
|
TokenType[TokenType["ArrayAccess"] = 0] = "ArrayAccess";
|
|
17
17
|
TokenType[TokenType["Arrow"] = 1] = "Arrow";
|
|
18
18
|
TokenType[TokenType["Assignment"] = 2] = "Assignment";
|
|
19
|
-
TokenType[TokenType["
|
|
20
|
-
TokenType[TokenType["
|
|
21
|
-
TokenType[TokenType["
|
|
22
|
-
TokenType[TokenType["
|
|
23
|
-
TokenType[TokenType["
|
|
24
|
-
TokenType[TokenType["
|
|
25
|
-
TokenType[TokenType["
|
|
26
|
-
TokenType[TokenType["
|
|
27
|
-
TokenType[TokenType["
|
|
28
|
-
TokenType[TokenType["
|
|
29
|
-
TokenType[TokenType["
|
|
30
|
-
TokenType[TokenType["
|
|
31
|
-
TokenType[TokenType["
|
|
32
|
-
TokenType[TokenType["
|
|
33
|
-
TokenType[TokenType["
|
|
34
|
-
TokenType[TokenType["
|
|
35
|
-
TokenType[TokenType["
|
|
36
|
-
TokenType[TokenType["
|
|
37
|
-
TokenType[TokenType["
|
|
19
|
+
TokenType[TokenType["Boolean"] = 3] = "Boolean";
|
|
20
|
+
TokenType[TokenType["CloseBrace"] = 4] = "CloseBrace";
|
|
21
|
+
TokenType[TokenType["CloseBracket"] = 5] = "CloseBracket";
|
|
22
|
+
TokenType[TokenType["CloseParen"] = 6] = "CloseParen";
|
|
23
|
+
TokenType[TokenType["Colon"] = 7] = "Colon";
|
|
24
|
+
TokenType[TokenType["Comma"] = 8] = "Comma";
|
|
25
|
+
TokenType[TokenType["Dot"] = 9] = "Dot";
|
|
26
|
+
TokenType[TokenType["Identifier"] = 10] = "Identifier";
|
|
27
|
+
TokenType[TokenType["NamespacedIdentifier"] = 11] = "NamespacedIdentifier";
|
|
28
|
+
TokenType[TokenType["NullishCoalescing"] = 12] = "NullishCoalescing";
|
|
29
|
+
TokenType[TokenType["Number"] = 13] = "Number";
|
|
30
|
+
TokenType[TokenType["OpenBrace"] = 14] = "OpenBrace";
|
|
31
|
+
TokenType[TokenType["OpenBracket"] = 15] = "OpenBracket";
|
|
32
|
+
TokenType[TokenType["OpenParen"] = 16] = "OpenParen";
|
|
33
|
+
TokenType[TokenType["Operator"] = 17] = "Operator";
|
|
34
|
+
TokenType[TokenType["QuestionMark"] = 18] = "QuestionMark";
|
|
35
|
+
TokenType[TokenType["Semicolon"] = 19] = "Semicolon";
|
|
36
|
+
TokenType[TokenType["StringLiteral"] = 20] = "StringLiteral";
|
|
37
|
+
TokenType[TokenType["UnaryOperator"] = 21] = "UnaryOperator";
|
|
38
|
+
TokenType[TokenType["EOF"] = 22] = "EOF";
|
|
38
39
|
})(TokenType || (exports.TokenType = TokenType = {}));
|
|
39
40
|
function isDigit(ch) {
|
|
40
41
|
const code = ch.charCodeAt(0);
|
|
@@ -44,7 +45,7 @@ function isAlpha(ch) {
|
|
|
44
45
|
const code = ch.charCodeAt(0);
|
|
45
46
|
return ((code >= 65 && code <= 90) || // A-Z
|
|
46
47
|
(code >= 97 && code <= 122) || // a-z
|
|
47
|
-
ch ===
|
|
48
|
+
ch === '_');
|
|
48
49
|
}
|
|
49
50
|
function isAlphaNumeric(ch) {
|
|
50
51
|
return isAlpha(ch) || isDigit(ch);
|
|
@@ -57,45 +58,69 @@ function tokenize(input) {
|
|
|
57
58
|
const char = input[pos];
|
|
58
59
|
// Skip whitespace
|
|
59
60
|
switch (char) {
|
|
60
|
-
case
|
|
61
|
-
case
|
|
62
|
-
case
|
|
63
|
-
case
|
|
61
|
+
case ' ':
|
|
62
|
+
case '\t':
|
|
63
|
+
case '\r':
|
|
64
|
+
case '\n':
|
|
64
65
|
pos++;
|
|
65
66
|
continue;
|
|
66
67
|
}
|
|
67
68
|
// Numbers
|
|
68
69
|
if (isDigit(char)) {
|
|
69
|
-
let value =
|
|
70
|
+
let value = '';
|
|
70
71
|
const start = pos;
|
|
71
|
-
while (pos < input.length && (isDigit(input[pos]) || input[pos] ===
|
|
72
|
+
while (pos < input.length && (isDigit(input[pos]) || input[pos] === '.')) {
|
|
72
73
|
value += input[pos];
|
|
73
74
|
pos++;
|
|
74
75
|
}
|
|
75
|
-
if (input[pos] ===
|
|
76
|
+
if (input[pos] === 'f') {
|
|
76
77
|
value += input[pos];
|
|
77
78
|
pos++;
|
|
78
79
|
}
|
|
79
80
|
tokens.push({ type: TokenType.Number, value, position: start });
|
|
80
81
|
continue;
|
|
81
82
|
}
|
|
83
|
+
//Boolean: true
|
|
84
|
+
if (char === 't' && input.slice(pos, pos + 4) === 'true') {
|
|
85
|
+
tokens.push({ type: TokenType.Boolean, value: 'true', position: pos });
|
|
86
|
+
pos += 4;
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
//Boolean: false
|
|
90
|
+
if (char === 'f' && input.slice(pos, pos + 5) === 'false') {
|
|
91
|
+
tokens.push({ type: TokenType.Boolean, value: 'false', position: pos });
|
|
92
|
+
pos += 5;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
82
95
|
// Identifiers (including namespaced ones like math.sin and minecraft:state)
|
|
83
96
|
if (isAlpha(char)) {
|
|
84
|
-
let value =
|
|
97
|
+
let value = '';
|
|
85
98
|
const start = pos;
|
|
86
99
|
while (pos < input.length) {
|
|
87
100
|
const ch = input[pos];
|
|
88
|
-
// Allow alphanumeric, dots, underscores
|
|
89
|
-
if (isAlphaNumeric(ch) || ch ===
|
|
101
|
+
// Allow alphanumeric, dots, underscores in identifiers
|
|
102
|
+
if (isAlphaNumeric(ch) || ch === '.') {
|
|
90
103
|
value += ch;
|
|
91
104
|
pos++;
|
|
92
105
|
}
|
|
106
|
+
else if (ch === ':') {
|
|
107
|
+
// Only include colon if it's followed by an alphanumeric character (for namespacing like minecraft:state)
|
|
108
|
+
// This prevents colons from ternary operators being included in identifiers
|
|
109
|
+
// Check bounds before accessing input[pos + 1] to avoid out-of-bounds access
|
|
110
|
+
if (pos + 1 < input.length && isAlphaNumeric(input[pos + 1])) {
|
|
111
|
+
value += ch;
|
|
112
|
+
pos++;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
93
118
|
else {
|
|
94
119
|
break;
|
|
95
120
|
}
|
|
96
121
|
}
|
|
97
122
|
// If it contains a dot, it's a namespaced identifier
|
|
98
|
-
if (value.includes(
|
|
123
|
+
if (value.includes('.')) {
|
|
99
124
|
tokens.push({ type: TokenType.NamespacedIdentifier, value: value.toLowerCase(), position: start });
|
|
100
125
|
}
|
|
101
126
|
else {
|
|
@@ -105,24 +130,24 @@ function tokenize(input) {
|
|
|
105
130
|
}
|
|
106
131
|
// Multi-character operators
|
|
107
132
|
const threeCharOp = input.slice(pos, pos + 3);
|
|
108
|
-
if (threeCharOp ===
|
|
133
|
+
if (threeCharOp === '???') {
|
|
109
134
|
tokens.push({ type: TokenType.NullishCoalescing, value: threeCharOp, position: pos });
|
|
110
135
|
pos += 3;
|
|
111
136
|
continue;
|
|
112
137
|
}
|
|
113
138
|
const twoCharOp = input.slice(pos, pos + 2);
|
|
114
139
|
switch (twoCharOp) {
|
|
115
|
-
case
|
|
116
|
-
case
|
|
117
|
-
case
|
|
118
|
-
case
|
|
119
|
-
case
|
|
120
|
-
case
|
|
121
|
-
case
|
|
140
|
+
case '&&':
|
|
141
|
+
case '||':
|
|
142
|
+
case '==':
|
|
143
|
+
case '!=':
|
|
144
|
+
case '<=':
|
|
145
|
+
case '>=':
|
|
146
|
+
case '->':
|
|
122
147
|
tokens.push({ type: TokenType.Operator, value: twoCharOp, position: pos });
|
|
123
148
|
pos += 2;
|
|
124
149
|
continue;
|
|
125
|
-
case
|
|
150
|
+
case '??':
|
|
126
151
|
tokens.push({ type: TokenType.NullishCoalescing, value: twoCharOp, position: pos });
|
|
127
152
|
pos += 2;
|
|
128
153
|
continue;
|
|
@@ -130,51 +155,51 @@ function tokenize(input) {
|
|
|
130
155
|
}
|
|
131
156
|
// Single-character operators and punctuation
|
|
132
157
|
switch (char) {
|
|
133
|
-
case
|
|
158
|
+
case '(':
|
|
134
159
|
tokens.push({ type: TokenType.OpenParen, value: char, position: pos });
|
|
135
160
|
break;
|
|
136
|
-
case
|
|
161
|
+
case ')':
|
|
137
162
|
tokens.push({ type: TokenType.CloseParen, value: char, position: pos });
|
|
138
163
|
break;
|
|
139
|
-
case
|
|
164
|
+
case '{':
|
|
140
165
|
tokens.push({ type: TokenType.OpenBrace, value: char, position: pos });
|
|
141
166
|
break;
|
|
142
|
-
case
|
|
167
|
+
case '}':
|
|
143
168
|
tokens.push({ type: TokenType.CloseBrace, value: char, position: pos });
|
|
144
169
|
break;
|
|
145
|
-
case
|
|
170
|
+
case '[':
|
|
146
171
|
tokens.push({ type: TokenType.OpenBracket, value: char, position: pos });
|
|
147
172
|
break;
|
|
148
|
-
case
|
|
173
|
+
case ']':
|
|
149
174
|
tokens.push({ type: TokenType.CloseBracket, value: char, position: pos });
|
|
150
175
|
break;
|
|
151
|
-
case
|
|
176
|
+
case ';':
|
|
152
177
|
tokens.push({ type: TokenType.Semicolon, value: char, position: pos });
|
|
153
178
|
break;
|
|
154
|
-
case
|
|
179
|
+
case '?':
|
|
155
180
|
tokens.push({ type: TokenType.QuestionMark, value: char, position: pos });
|
|
156
181
|
break;
|
|
157
|
-
case
|
|
182
|
+
case ':':
|
|
158
183
|
tokens.push({ type: TokenType.Colon, value: char, position: pos });
|
|
159
184
|
break;
|
|
160
|
-
case
|
|
185
|
+
case '.':
|
|
161
186
|
tokens.push({ type: TokenType.Dot, value: char, position: pos });
|
|
162
187
|
break;
|
|
163
|
-
case
|
|
188
|
+
case '=':
|
|
164
189
|
tokens.push({ type: TokenType.Assignment, value: char, position: pos });
|
|
165
190
|
break;
|
|
166
|
-
case
|
|
191
|
+
case '!':
|
|
167
192
|
tokens.push({ type: TokenType.UnaryOperator, value: char, position: pos });
|
|
168
193
|
break;
|
|
169
|
-
case
|
|
170
|
-
case
|
|
171
|
-
case
|
|
172
|
-
case
|
|
173
|
-
case
|
|
174
|
-
case
|
|
194
|
+
case '+':
|
|
195
|
+
case '-':
|
|
196
|
+
case '*':
|
|
197
|
+
case '/':
|
|
198
|
+
case '<':
|
|
199
|
+
case '>':
|
|
175
200
|
tokens.push({ type: TokenType.Operator, value: char, position: pos });
|
|
176
201
|
break;
|
|
177
|
-
case
|
|
202
|
+
case ',':
|
|
178
203
|
tokens.push({ type: TokenType.Comma, value: char, position: pos });
|
|
179
204
|
break;
|
|
180
205
|
case "'":
|
|
@@ -183,7 +208,7 @@ function tokenize(input) {
|
|
|
183
208
|
const quote = char;
|
|
184
209
|
const start = pos;
|
|
185
210
|
pos++;
|
|
186
|
-
let value =
|
|
211
|
+
let value = '';
|
|
187
212
|
while (pos < input.length && input[pos] !== quote) {
|
|
188
213
|
// Capture everything inside quotes including special characters
|
|
189
214
|
value += input[pos];
|
|
@@ -206,17 +231,19 @@ function tokenize(input) {
|
|
|
206
231
|
continue;
|
|
207
232
|
}
|
|
208
233
|
// Always add an EOF token at the end
|
|
209
|
-
tokens.push({ type: TokenType.EOF, value:
|
|
234
|
+
tokens.push({ type: TokenType.EOF, value: ' ', position: pos });
|
|
210
235
|
// Check for unary operators
|
|
211
236
|
tokens.forEach(checkUnaryOperators);
|
|
212
237
|
return tokens;
|
|
213
238
|
}
|
|
214
239
|
function checkUnaryOperators(item, index, items) {
|
|
215
|
-
if (item.type === TokenType.Identifier && item.value ===
|
|
240
|
+
if (item.type === TokenType.Identifier && item.value === 'return') {
|
|
216
241
|
item.type = TokenType.UnaryOperator;
|
|
217
242
|
return;
|
|
218
243
|
}
|
|
219
|
-
if (item.type !== TokenType.Operator
|
|
244
|
+
if (item.type !== TokenType.Operator)
|
|
245
|
+
return;
|
|
246
|
+
if (item.value !== '-' && item.value !== '+')
|
|
220
247
|
return;
|
|
221
248
|
if (index === 0) {
|
|
222
249
|
item.type = TokenType.UnaryOperator;
|
|
@@ -224,11 +251,30 @@ function checkUnaryOperators(item, index, items) {
|
|
|
224
251
|
}
|
|
225
252
|
const previous = items[index - 1];
|
|
226
253
|
switch (previous.type) {
|
|
254
|
+
case TokenType.CloseBrace:
|
|
255
|
+
case TokenType.CloseBracket:
|
|
256
|
+
case TokenType.CloseParen:
|
|
257
|
+
case TokenType.Identifier:
|
|
258
|
+
case TokenType.NamespacedIdentifier:
|
|
259
|
+
case TokenType.Number:
|
|
260
|
+
case TokenType.Boolean:
|
|
261
|
+
case TokenType.StringLiteral:
|
|
262
|
+
break;
|
|
263
|
+
case TokenType.ArrayAccess:
|
|
264
|
+
case TokenType.Arrow:
|
|
265
|
+
case TokenType.Assignment:
|
|
266
|
+
case TokenType.Colon:
|
|
227
267
|
case TokenType.Comma:
|
|
228
|
-
case TokenType.
|
|
268
|
+
case TokenType.Dot:
|
|
269
|
+
case TokenType.EOF:
|
|
270
|
+
case TokenType.NullishCoalescing:
|
|
229
271
|
case TokenType.OpenBrace:
|
|
230
272
|
case TokenType.OpenBracket:
|
|
231
273
|
case TokenType.OpenParen:
|
|
274
|
+
case TokenType.Operator:
|
|
275
|
+
case TokenType.QuestionMark:
|
|
276
|
+
case TokenType.Semicolon:
|
|
277
|
+
case TokenType.UnaryOperator:
|
|
232
278
|
item.type = TokenType.UnaryOperator;
|
|
233
279
|
break;
|
|
234
280
|
default:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/molang/syntax/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/molang/syntax/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,EAAE,CAuDlF"}
|
|
@@ -10,7 +10,7 @@ const tokens_1 = require("./tokens");
|
|
|
10
10
|
*/
|
|
11
11
|
function getMatchingTokenSlice(tokens, startIndex) {
|
|
12
12
|
if (startIndex >= tokens.length) {
|
|
13
|
-
throw new Error(
|
|
13
|
+
throw new Error('Start index is out of bounds');
|
|
14
14
|
}
|
|
15
15
|
const startToken = tokens[startIndex];
|
|
16
16
|
let targetType;
|
|
@@ -50,8 +50,8 @@ function getMatchingTokenSlice(tokens, startIndex) {
|
|
|
50
50
|
}
|
|
51
51
|
// Validate that we found the matching closing token
|
|
52
52
|
if (endIndex === -1) {
|
|
53
|
-
const tokenName = startToken.type === tokens_1.TokenType.OpenBrace ?
|
|
54
|
-
const closingName = targetType === tokens_1.TokenType.CloseBrace ?
|
|
53
|
+
const tokenName = startToken.type === tokens_1.TokenType.OpenBrace ? '{' : startToken.type === tokens_1.TokenType.OpenParen ? '(' : '[';
|
|
54
|
+
const closingName = targetType === tokens_1.TokenType.CloseBrace ? '}' : targetType === tokens_1.TokenType.CloseParen ? ')' : ']';
|
|
55
55
|
throw new Error(`Couldn't find the matching closing ${closingName} for ${tokenName} at index ${startIndex}`);
|
|
56
56
|
}
|
|
57
57
|
// Return the slice including both opening and closing tokens
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/molang/syntax/util.ts"],"names":[],"mappings":";;AAQA,sDAuDC;AA/DD,qCAA4C;AAE5C;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,MAAe,EAAE,UAAkB;IACvE,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,UAAqB,CAAC;IAC1B,IAAI,WAAsB,CAAC;IAE3B,+DAA+D;IAC/D,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,kBAAS,CAAC,SAAS;YACtB,UAAU,GAAG,kBAAS,CAAC,UAAU,CAAC;YAClC,WAAW,GAAG,kBAAS,CAAC,SAAS,CAAC;YAClC,MAAM;QACR,KAAK,kBAAS,CAAC,SAAS;YACtB,UAAU,GAAG,kBAAS,CAAC,UAAU,CAAC;YAClC,WAAW,GAAG,kBAAS,CAAC,SAAS,CAAC;YAClC,MAAM;QACR,KAAK,kBAAS,CAAC,WAAW;YACxB,UAAU,GAAG,kBAAS,CAAC,YAAY,CAAC;YACpC,WAAW,GAAG,kBAAS,CAAC,WAAW,CAAC;YACpC,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,mDAAmD,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,yDAAyD;IACxE,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAElB,wCAAwC;IACxC,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,SAAS,GACb,UAAU,CAAC,IAAI,KAAK,kBAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,kBAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACtG,MAAM,WAAW,GAAG,UAAU,KAAK,kBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,kBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChH,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,QAAQ,SAAS,aAAa,UAAU,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,6DAA6D;IAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../../src/molang/syntax/walk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI,CAUxF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk.js","sourceRoot":"","sources":["../../../src/molang/syntax/walk.ts"],"names":[],"mappings":";;AAEA,oBAUC;AAZD,mCAAyC;AAEzC,SAAgB,IAAI,CAAC,GAAmB,EAAE,QAAwC;IAChF,MAAM,IAAI,GAAqB,CAAC,GAAG,CAAC,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { MolangType } from
|
|
1
|
+
import { MolangType } from './functions';
|
|
2
2
|
/**
|
|
3
3
|
* Traverses the object and returns all the molang strings
|
|
4
4
|
* @param obj The object to traverse
|
|
5
5
|
* @param callbackfn The callback to call when a molang string is found
|
|
6
6
|
*/
|
|
7
7
|
export declare function traverse(obj: any, callbackfn: (molang: string, type: MolangType, path: string) => void, path?: string): void;
|
|
8
|
+
//# sourceMappingURL=traverse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/molang/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EACpE,IAAI,GAAE,MAAY,GACjB,IAAI,CAwBN"}
|
|
@@ -7,15 +7,15 @@ const functions_1 = require("./functions");
|
|
|
7
7
|
* @param obj The object to traverse
|
|
8
8
|
* @param callbackfn The callback to call when a molang string is found
|
|
9
9
|
*/
|
|
10
|
-
function traverse(obj, callbackfn, path =
|
|
11
|
-
if (!path.endsWith(
|
|
12
|
-
path +=
|
|
10
|
+
function traverse(obj, callbackfn, path = '$') {
|
|
11
|
+
if (!path.endsWith('/'))
|
|
12
|
+
path += '/';
|
|
13
13
|
switch (typeof obj) {
|
|
14
14
|
default:
|
|
15
15
|
return;
|
|
16
|
-
case
|
|
16
|
+
case 'string':
|
|
17
17
|
return StringCheck(obj, callbackfn, path);
|
|
18
|
-
case
|
|
18
|
+
case 'object':
|
|
19
19
|
if (Array.isArray(obj)) {
|
|
20
20
|
for (let I = 0; I < obj.length; I++) {
|
|
21
21
|
traverse(obj[I], callbackfn, path + I);
|
|
@@ -31,7 +31,7 @@ function traverse(obj, callbackfn, path = "$") {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
/** */
|
|
34
|
-
function StringCheck(data, callbackfn, path =
|
|
34
|
+
function StringCheck(data, callbackfn, path = '') {
|
|
35
35
|
const type = (0, functions_1.isMolangType)(data);
|
|
36
36
|
if (type !== functions_1.MolangType.unknown)
|
|
37
37
|
callbackfn(data, type, path);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../src/molang/traverse.ts"],"names":[],"mappings":";;AAOA,4BA4BC;AAnCD,2CAAuD;AAEvD;;;;GAIG;AACH,SAAgB,QAAQ,CACtB,GAAQ,EACR,UAAoE,EACpE,OAAe,GAAG;IAElB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,IAAI,IAAI,GAAG,CAAC;IAErC,QAAQ,OAAO,GAAG,EAAE,CAAC;QACnB;YACE,OAAO;QAET,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAE5C,KAAK,QAAQ;YACX,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM;AACN,SAAS,WAAW,CAClB,IAAY,EACZ,UAAoE,EACpE,OAAe,EAAE;IAEjB,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,IAAI,KAAK,sBAAU,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "bc-minecraft-molang",
|
|
3
|
-
"version": "1.21.
|
|
4
|
-
"description": "The library designed to deal with minecraft bedrock molang",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
"keywords": [
|
|
26
|
-
"ts",
|
|
27
|
-
"library",
|
|
28
|
-
"minecraft",
|
|
29
|
-
"molang"
|
|
30
|
-
],
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"@
|
|
46
|
-
"@types/
|
|
47
|
-
"
|
|
48
|
-
"eslint
|
|
49
|
-
"rimraf": "^6.
|
|
50
|
-
"ts-
|
|
51
|
-
"ts-
|
|
52
|
-
"
|
|
53
|
-
"typescript": "^
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"bc-minecraft-bedrock-types": "
|
|
58
|
-
}
|
|
59
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "bc-minecraft-molang",
|
|
3
|
+
"version": "1.21.133-0",
|
|
4
|
+
"description": "The library designed to deal with minecraft bedrock molang",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Blockception Ltd",
|
|
7
|
+
"url": "https://www.blockception.com/"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/Blockception/minecraft-bedrock-language-server",
|
|
12
|
+
"directory": "packages/molang"
|
|
13
|
+
},
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/Blockception/minecraft-bedrock-language-server/issues"
|
|
16
|
+
},
|
|
17
|
+
"homepage": "https://github.com/Blockception/minecraft-bedrock-language-server#readme",
|
|
18
|
+
"license": "BSD-3-Clause",
|
|
19
|
+
"main": "./dist/index.js",
|
|
20
|
+
"typings": "./dist/index.d.ts",
|
|
21
|
+
"files": [
|
|
22
|
+
"./dist",
|
|
23
|
+
"../../../LICENSE"
|
|
24
|
+
],
|
|
25
|
+
"keywords": [
|
|
26
|
+
"ts",
|
|
27
|
+
"library",
|
|
28
|
+
"minecraft",
|
|
29
|
+
"molang"
|
|
30
|
+
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"compile": "tsc -b --pretty ./tsconfig.json",
|
|
33
|
+
"format": "prettier --write \"src/**/*.{ts,js}\"",
|
|
34
|
+
"test": "jest --config ./jest.config.ts",
|
|
35
|
+
"lint": "eslint --config ../../eslint.config.mjs .",
|
|
36
|
+
"clean": "rimraf ./dist tsconfig.tsbuildinfo",
|
|
37
|
+
"pretest": "npm run compile",
|
|
38
|
+
"prepublishOnly": "npm test && npm run compile",
|
|
39
|
+
"preversion": "",
|
|
40
|
+
"postversion": "git push && git push --tags",
|
|
41
|
+
"version": "git add -A src",
|
|
42
|
+
"watch": "tsc -w -p ./tsconfig.json"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@eslint/js": "^9.35.0",
|
|
46
|
+
"@types/eslint__js": "^8.42.3",
|
|
47
|
+
"@types/node": "^24.3.1",
|
|
48
|
+
"eslint": "^9.35.0",
|
|
49
|
+
"rimraf": "^6.1.2",
|
|
50
|
+
"ts-loader": "^9.5.0",
|
|
51
|
+
"ts-node": "^10.9.1",
|
|
52
|
+
"typescript": "^5.9.2",
|
|
53
|
+
"typescript-eslint": "^8.42.0"
|
|
54
|
+
},
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"@blockception/packages-shared": "*",
|
|
57
|
+
"bc-minecraft-bedrock-types": "*"
|
|
58
|
+
}
|
|
59
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
BSD 3-Clause License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2021, Blockception Ltd
|
|
4
|
-
All rights reserved.
|
|
5
|
-
|
|
6
|
-
Redistribution and use in source and binary forms, with or without
|
|
7
|
-
modification, are permitted provided that the following conditions are met:
|
|
8
|
-
|
|
9
|
-
1. Redistributions of source code must retain the above copyright notice, this
|
|
10
|
-
list of conditions and the following disclaimer.
|
|
11
|
-
|
|
12
|
-
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
-
this list of conditions and the following disclaimer in the documentation
|
|
14
|
-
and/or other materials provided with the distribution.
|
|
15
|
-
|
|
16
|
-
3. Neither the name of the copyright holder nor the names of its
|
|
17
|
-
contributors may be used to endorse or promote products derived from
|
|
18
|
-
this software without specific prior written permission.
|
|
19
|
-
|
|
20
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
21
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
22
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
23
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
24
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
25
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
26
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
27
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
28
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"animations-controllers.js","sourceRoot":"","sources":["../../../src/data/animations-controllers.ts"],"names":[],"mappings":";;;AAEA,2CAA2C;AAC3C,IAAiB,qBAAqB,CAOrC;AAPD,WAAiB,qBAAqB;IACpC,wDAAwD;IAC3C,+BAAS,GAAW,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IACzD,gEAAgE;IACnD,8BAAQ,GAAW,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/E,6DAA6D;IAClD,2BAAK,GAAW,EAAE,CAAC;AAClC,CAAC,EAPgB,qBAAqB,qCAArB,qBAAqB,QAOrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"animations.js","sourceRoot":"","sources":["../../../src/data/animations.ts"],"names":[],"mappings":";;;AAEA,gCAAgC;AAChC,IAAiB,UAAU,CAO1B;AAPD,WAAiB,UAAU;IACzB,wDAAwD;IAC3C,oBAAS,GAAW,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IACzD,gEAAgE;IACnD,mBAAQ,GAAW,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACjF,6DAA6D;IAChD,gBAAK,GAAW,EAAE,CAAC;AAClC,CAAC,EAPgB,UAAU,0BAAV,UAAU,QAO1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachables.js","sourceRoot":"","sources":["../../../src/data/attachables.ts"],"names":[],"mappings":";;;AAEA,2CAA2C;AAC3C,IAAiB,WAAW,CAO3B;AAPD,WAAiB,WAAW;IAC1B,wDAAwD;IAC3C,qBAAS,GAAW,CAAC,EAAC,EAAE,EAAE,cAAc,EAAC,CAAC,CAAC;IACxD,gEAAgE;IACnD,oBAAQ,GAAW,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACjF,6DAA6D;IAChD,iBAAK,GAAW,EAAE,CAAC;AAClC,CAAC,EAPgB,WAAW,2BAAX,WAAW,QAO3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../src/data/blocks.ts"],"names":[],"mappings":";;;AAEA,2BAA2B;AAC3B,IAAiB,MAAM,CAOtB;AAPD,WAAiB,MAAM;IACrB,wDAAwD;IAC3C,gBAAS,GAAW,EAAE,CAAC;IACpC,gEAAgE;IACnD,eAAQ,GAAW,EAAE,CAAC;IACjC,6DAA6D;IAClD,YAAK,GAAW,EAAE,CAAC;AAClC,CAAC,EAPgB,MAAM,sBAAN,MAAM,QAOtB"}
|
package/lib/src/data/data.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/data/entities.ts"],"names":[],"mappings":";;;AAEA,6BAA6B;AAC7B,IAAiB,QAAQ,CAOxB;AAPD,WAAiB,QAAQ;IACvB,wDAAwD;IAC3C,kBAAS,GAAW,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IACzD,gEAAgE;IACnD,iBAAQ,GAAW,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/E,6DAA6D;IAClD,cAAK,GAAW,EAAE,CAAC;AAClC,CAAC,EAPgB,QAAQ,wBAAR,QAAQ,QAOxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features-rules.js","sourceRoot":"","sources":["../../../src/data/features-rules.ts"],"names":[],"mappings":";;;AAEA,kCAAkC;AAClC,IAAiB,aAAa,CAO7B;AAPD,WAAiB,aAAa;IAC5B,wDAAwD;IAC3C,uBAAS,GAAW,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjJ,gEAAgE;IACnD,sBAAQ,GAAW,EAAE,CAAC;IACjC,6DAA6D;IAClD,mBAAK,GAAW,EAAE,CAAC;AAClC,CAAC,EAPgB,aAAa,6BAAb,aAAa,QAO7B"}
|