@mirascript/mirascript 0.1.39 → 0.1.41
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/{chunk-EOF4KUT4.js → chunk-43TX2QFV.js} +56 -24
- package/dist/chunk-43TX2QFV.js.map +6 -0
- package/dist/helpers/convert/to-number.d.ts.map +1 -1
- package/dist/index.js +179 -5
- package/dist/index.js.map +2 -2
- package/dist/subtle.js +63 -6
- package/dist/subtle.js.map +2 -2
- package/dist/vm/lib/global/to-primitive.d.ts.map +1 -1
- package/package.json +6 -16
- package/src/helpers/convert/to-number.ts +58 -20
- package/src/vm/lib/global/math-const.ts +1 -1
- package/src/vm/lib/global/to-primitive.ts +5 -1
- package/cli.js +0 -3
- package/dist/chunk-EOF4KUT4.js.map +0 -6
- package/dist/chunk-FIKQPSZ6.js +0 -74
- package/dist/chunk-FIKQPSZ6.js.map +0 -6
- package/dist/chunk-V5SL3PMV.js +0 -188
- package/dist/chunk-V5SL3PMV.js.map +0 -6
- package/dist/cli/execute.d.ts +0 -4
- package/dist/cli/execute.d.ts.map +0 -1
- package/dist/cli/index.d.ts +0 -9
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -165
- package/dist/cli/index.js.map +0 -6
- package/dist/cli/print.d.ts +0 -4
- package/dist/cli/print.d.ts.map +0 -1
- package/src/cli/execute.ts +0 -40
- package/src/cli/index.ts +0 -89
- package/src/cli/print.ts +0 -57
|
@@ -62,28 +62,58 @@ __export(convert_exports, {
|
|
|
62
62
|
});
|
|
63
63
|
|
|
64
64
|
// src/helpers/convert/to-number.ts
|
|
65
|
-
function
|
|
66
|
-
if (
|
|
67
|
-
|
|
65
|
+
function parseNumericLiteral(value) {
|
|
66
|
+
if (value === "") return null;
|
|
67
|
+
const ch0 = value.charAt(0);
|
|
68
|
+
if (ch0 < "0" || ch0 > "9") {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
if (/^0[bB][01]+$/.test(value)) {
|
|
72
|
+
const num2 = Number.parseInt(value.slice(2), 2);
|
|
73
|
+
return isNaN(num2) ? null : num2;
|
|
74
|
+
}
|
|
75
|
+
if (/^0[oO][0-7]+$/.test(value)) {
|
|
76
|
+
const num2 = Number.parseInt(value.slice(2), 8);
|
|
77
|
+
return isNaN(num2) ? null : num2;
|
|
78
|
+
}
|
|
79
|
+
if (/^0[xX][0-9a-fA-F]+$/.test(value)) {
|
|
80
|
+
const num2 = Number.parseInt(value.slice(2), 16);
|
|
81
|
+
return isNaN(num2) ? null : num2;
|
|
82
|
+
}
|
|
83
|
+
if (/^[0-9]+(\.[0-9]+)?([eE][+-]?[0-9]+)?$/.test(value)) {
|
|
84
|
+
const num2 = Number.parseFloat(value);
|
|
85
|
+
return isNaN(num2) ? null : num2;
|
|
86
|
+
}
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
function stringToNumber(value) {
|
|
90
|
+
value = value.trim();
|
|
91
|
+
if (value === "") return null;
|
|
92
|
+
if (value === "inf" || value === "+inf" || value === "Infinity" || value === "+Infinity") {
|
|
93
|
+
return PositiveInfinity;
|
|
94
|
+
}
|
|
95
|
+
if (value === "-inf" || value === "-Infinity") {
|
|
96
|
+
return NegativeInfinity;
|
|
68
97
|
}
|
|
69
|
-
if (
|
|
70
|
-
return
|
|
98
|
+
if (value === "nan" || value === "NaN") {
|
|
99
|
+
return NotNumber;
|
|
71
100
|
}
|
|
101
|
+
if (value.startsWith("-")) {
|
|
102
|
+
const num2 = parseNumericLiteral(value.slice(1));
|
|
103
|
+
if (num2 !== null) return -num2;
|
|
104
|
+
return null;
|
|
105
|
+
} else if (value.startsWith("+")) {
|
|
106
|
+
return parseNumericLiteral(value.slice(1));
|
|
107
|
+
} else {
|
|
108
|
+
return parseNumericLiteral(value);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function toNumber(value, fallback) {
|
|
112
|
+
if (typeof value === "number") return value;
|
|
113
|
+
if (typeof value == "boolean") return value ? 1 : 0;
|
|
72
114
|
if (typeof value == "string") {
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
if (value === "inf" || value === "+inf" || value === "Infinity" || value === "+Infinity") {
|
|
76
|
-
return PositiveInfinity;
|
|
77
|
-
}
|
|
78
|
-
if (value === "-inf" || value === "-Infinity") {
|
|
79
|
-
return NegativeInfinity;
|
|
80
|
-
}
|
|
81
|
-
if (value === "nan" || value === "NaN") {
|
|
82
|
-
return NotNumber;
|
|
83
|
-
}
|
|
84
|
-
const num2 = Number(value);
|
|
85
|
-
if (!isNaN(num2)) return num2;
|
|
86
|
-
}
|
|
115
|
+
const num2 = stringToNumber(value);
|
|
116
|
+
if (num2 !== null) return num2;
|
|
87
117
|
}
|
|
88
118
|
if (fallback === void 0) {
|
|
89
119
|
throw new VmError(`Failed to convert value to number: ${display(value)}`, NotNumber);
|
|
@@ -1629,7 +1659,7 @@ var e = VmLib(Math.E, {
|
|
|
1629
1659
|
}
|
|
1630
1660
|
});
|
|
1631
1661
|
var SQRT1_2 = VmLib(Math.SQRT1_2, {
|
|
1632
|
-
summary: "
|
|
1662
|
+
summary: "½ 的平方根",
|
|
1633
1663
|
returnsType: "number"
|
|
1634
1664
|
});
|
|
1635
1665
|
var SQRT2 = VmLib(Math.SQRT2, {
|
|
@@ -2753,7 +2783,11 @@ var to_boolean = VmLib(
|
|
|
2753
2783
|
},
|
|
2754
2784
|
paramsType: { data: "boolean", fallback: "any" },
|
|
2755
2785
|
returnsType: "boolean | type(fallback)",
|
|
2756
|
-
examples: [
|
|
2786
|
+
examples: [
|
|
2787
|
+
"to_boolean(true, false) // true",
|
|
2788
|
+
'to_boolean(nil, "failed") // "failed"',
|
|
2789
|
+
'to_boolean(0, "failed") // "failed"'
|
|
2790
|
+
]
|
|
2757
2791
|
}
|
|
2758
2792
|
);
|
|
2759
2793
|
var format = VmLib(
|
|
@@ -3585,8 +3619,6 @@ export {
|
|
|
3585
3619
|
reportDiagnostic,
|
|
3586
3620
|
emitScript,
|
|
3587
3621
|
VmModule,
|
|
3588
|
-
debug_print,
|
|
3589
|
-
panic,
|
|
3590
3622
|
lib
|
|
3591
3623
|
};
|
|
3592
|
-
//# sourceMappingURL=chunk-
|
|
3624
|
+
//# sourceMappingURL=chunk-43TX2QFV.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/compiler/load-module.ts", "../src/helpers/convert/index.ts", "../src/helpers/convert/to-number.ts", "../src/helpers/convert/to-format.ts", "../src/helpers/convert/to-boolean.ts", "../src/vm/types/wrapper.ts", "../src/vm/operations/common.ts", "../src/vm/operations/call.ts", "../src/vm/types/boundary.ts", "../src/vm/types/extern.ts", "../src/vm/checkpoint.ts", "../src/vm/types/function.ts", "../src/vm/types/context.ts", "../src/vm/operations/index.ts", "../src/vm/operations/convert.ts", "../src/vm/operations/type-check.ts", "../src/vm/operations/utils.ts", "../src/vm/operations/operator.ts", "../src/vm/operations/slice.ts", "../src/vm/operations/helpers.ts", "../src/vm/operations/compound.ts", "../src/compiler/create-script.ts", "../src/compiler/emit-script.ts", "../src/vm/types/module.ts", "../src/vm/lib/global/index.ts", "../src/vm/lib/helpers.ts", "../src/vm/lib/global/math-arr.ts", "../src/vm/lib/global/math-const.ts", "../src/vm/lib/global/math-unary.ts", "../src/vm/lib/global/math-additional.ts", "../src/vm/lib/global/math.ts", "../src/vm/lib/global/bit.ts", "../src/vm/lib/global/sequence/with.ts", "../src/vm/lib/global/sequence/entries.ts", "../src/vm/lib/global/sequence/len.ts", "../src/vm/lib/global/sequence/map-filter.ts", "../src/vm/lib/global/sequence/find.ts", "../src/vm/lib/global/sequence/flatten.ts", "../src/vm/lib/global/sequence/reverse.ts", "../src/vm/lib/global/sequence/zip.ts", "../src/vm/lib/global/sequence/all-any.ts", "../src/vm/lib/global/sequence/sort.ts", "../src/vm/lib/global/sequence/repeat.ts", "../src/vm/lib/global/debug.ts", "../src/vm/lib/global/json.ts", "../src/vm/lib/global/to-primitive.ts", "../src/vm/lib/global/string.ts", "../src/vm/lib/global/time.ts", "../src/vm/lib/mod/index.ts", "../src/vm/lib/mod/matrix.ts", "../src/vm/lib/loader.ts", "../src/vm/lib/index.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["num", "abs", "format", "keys", "e", "toString", "val", "format", "len", "e", "len", "e", "len", "keys", "values", "abs", "ceil", "entries", "keys", "map", "min", "pow", "trunc", "values", "min", "max", "len", "e", "values", "min", "DiagnosticCode", "DiagnosticCode", "build", "trunc", "ceil", "abs", "sqrt", "exp", "pow", "entries", "keys", "len", "values", "entries", "data", "map", "data", "entries", "len", "len", "e", "format", "values", "format", "num", "timestamp", "result", "rr", "a", "b", "e", "size", "repeat", "lib"]
|
|
6
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-number.d.ts","sourceRoot":"","sources":["../../../src/helpers/convert/to-number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"to-number.d.ts","sourceRoot":"","sources":["../../../src/helpers/convert/to-number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AA2D/C,iBAAiB;AACjB,wBAAgB,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAWlG"}
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
compileSync
|
|
4
|
-
} from "./chunk-V5SL3PMV.js";
|
|
5
|
-
import {
|
|
2
|
+
$GlobalFallback,
|
|
6
3
|
VmExtern,
|
|
7
4
|
VmFunction,
|
|
8
5
|
VmModule,
|
|
9
6
|
configCheckpoint,
|
|
7
|
+
createScript,
|
|
10
8
|
createVmContext,
|
|
11
9
|
defineVmContextValue,
|
|
10
|
+
emitScript,
|
|
11
|
+
reportDiagnostic,
|
|
12
12
|
unwrapFromVmValue,
|
|
13
|
+
wrapScript,
|
|
13
14
|
wrapToVmValue
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-43TX2QFV.js";
|
|
15
16
|
import {
|
|
16
17
|
VmError,
|
|
18
|
+
defineProperty,
|
|
19
|
+
generateBytecode,
|
|
20
|
+
generateBytecodeSync,
|
|
17
21
|
getVmFunctionInfo,
|
|
22
|
+
isFinite,
|
|
18
23
|
isVmAny,
|
|
19
24
|
isVmArray,
|
|
20
25
|
isVmArrayLikeRecord,
|
|
@@ -34,6 +39,175 @@ import {
|
|
|
34
39
|
isVmWrapper,
|
|
35
40
|
serialize
|
|
36
41
|
} from "./chunk-GBWG7BQZ.js";
|
|
42
|
+
|
|
43
|
+
// src/compiler/compile-fast.ts
|
|
44
|
+
import { isKeyword } from "@mirascript/constants";
|
|
45
|
+
var REG_NUMBER_FULL = /^(?:[+-])?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$/;
|
|
46
|
+
var REG_IDENTIFIER_FAST = /^(?:\$+|@+|[A-Za-z])[a-zA-Z0-9_]*$/;
|
|
47
|
+
var FAST_SCRIPT_MAX_LEN = 32;
|
|
48
|
+
function constantFiniteNumber(value) {
|
|
49
|
+
if (value === 0) {
|
|
50
|
+
if (Object.is(value, -0)) {
|
|
51
|
+
return () => -0;
|
|
52
|
+
} else {
|
|
53
|
+
return () => 0;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const f = () => value;
|
|
57
|
+
defineProperty(f, "toString", {
|
|
58
|
+
value: () => {
|
|
59
|
+
return `() => ${value};`;
|
|
60
|
+
},
|
|
61
|
+
writable: false,
|
|
62
|
+
enumerable: false,
|
|
63
|
+
configurable: false
|
|
64
|
+
});
|
|
65
|
+
return f;
|
|
66
|
+
}
|
|
67
|
+
function constantString(value) {
|
|
68
|
+
const f = () => value;
|
|
69
|
+
defineProperty(f, "toString", {
|
|
70
|
+
value: () => {
|
|
71
|
+
return `() => ${JSON.stringify(value)};`;
|
|
72
|
+
},
|
|
73
|
+
writable: false,
|
|
74
|
+
enumerable: false,
|
|
75
|
+
configurable: false
|
|
76
|
+
});
|
|
77
|
+
return f;
|
|
78
|
+
}
|
|
79
|
+
function nan() {
|
|
80
|
+
return () => 0 / 0;
|
|
81
|
+
}
|
|
82
|
+
function posInf() {
|
|
83
|
+
return () => 1 / 0;
|
|
84
|
+
}
|
|
85
|
+
function negInf() {
|
|
86
|
+
return () => -1 / 0;
|
|
87
|
+
}
|
|
88
|
+
function constantBoolean(value) {
|
|
89
|
+
if (value) {
|
|
90
|
+
return () => true;
|
|
91
|
+
} else {
|
|
92
|
+
return () => false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function nil() {
|
|
96
|
+
return () => null;
|
|
97
|
+
}
|
|
98
|
+
function globalVariable(id) {
|
|
99
|
+
const f = (global) => (global ?? $GlobalFallback()).get(id);
|
|
100
|
+
defineProperty(f, "toString", {
|
|
101
|
+
value: () => {
|
|
102
|
+
return `(global) => (global ?? $GlobalFallback()).get(${JSON.stringify(id)});`;
|
|
103
|
+
},
|
|
104
|
+
writable: false,
|
|
105
|
+
enumerable: false,
|
|
106
|
+
configurable: false
|
|
107
|
+
});
|
|
108
|
+
return f;
|
|
109
|
+
}
|
|
110
|
+
function compileScriptFast(code) {
|
|
111
|
+
if (code.length > FAST_SCRIPT_MAX_LEN) return void 0;
|
|
112
|
+
const trimmedCode = code.trim();
|
|
113
|
+
if (!trimmedCode) {
|
|
114
|
+
return wrapScript(code, "Script", nil());
|
|
115
|
+
}
|
|
116
|
+
switch (trimmedCode) {
|
|
117
|
+
case "nil":
|
|
118
|
+
return wrapScript(code, "Script", nil());
|
|
119
|
+
case "true":
|
|
120
|
+
return wrapScript(code, "Script", constantBoolean(true));
|
|
121
|
+
case "false":
|
|
122
|
+
return wrapScript(code, "Script", constantBoolean(false));
|
|
123
|
+
case "nan":
|
|
124
|
+
return wrapScript(code, "Script", nan());
|
|
125
|
+
case "inf":
|
|
126
|
+
case "+inf":
|
|
127
|
+
return wrapScript(code, "Script", posInf());
|
|
128
|
+
case "-inf":
|
|
129
|
+
return wrapScript(code, "Script", negInf());
|
|
130
|
+
}
|
|
131
|
+
if (REG_IDENTIFIER_FAST.test(trimmedCode)) {
|
|
132
|
+
const id = trimmedCode;
|
|
133
|
+
if (isKeyword(id)) {
|
|
134
|
+
return void 0;
|
|
135
|
+
}
|
|
136
|
+
return wrapScript(code, "Script", globalVariable(id));
|
|
137
|
+
}
|
|
138
|
+
if (REG_NUMBER_FULL.test(trimmedCode)) {
|
|
139
|
+
const num = Number(trimmedCode);
|
|
140
|
+
if (!isFinite(num)) return void 0;
|
|
141
|
+
return wrapScript(code, "Script", constantFiniteNumber(num));
|
|
142
|
+
}
|
|
143
|
+
return void 0;
|
|
144
|
+
}
|
|
145
|
+
var FAST_TEMPLATE_MAX_LEN = 1024;
|
|
146
|
+
function compileTemplateFast(code) {
|
|
147
|
+
if (code.length > FAST_TEMPLATE_MAX_LEN) return void 0;
|
|
148
|
+
if (!code.includes("$")) {
|
|
149
|
+
return wrapScript(code, "Template", constantString(code));
|
|
150
|
+
}
|
|
151
|
+
return void 0;
|
|
152
|
+
}
|
|
153
|
+
function compileFast(code, options) {
|
|
154
|
+
if (options.sourceMap) return void 0;
|
|
155
|
+
return (options.input_mode === "Template" ? compileTemplateFast : compileScriptFast)(code);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// src/compiler/worker-manager.ts
|
|
159
|
+
import { WorkerPool } from "@cloudpss/worker/pool";
|
|
160
|
+
var pool = /* @__PURE__ */ new WorkerPool(
|
|
161
|
+
() => {
|
|
162
|
+
return new Worker(new URL("#compiler/worker", import.meta.url), {
|
|
163
|
+
type: "module",
|
|
164
|
+
name: "@mirascript/compiler"
|
|
165
|
+
});
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: "@mirascript/compiler"
|
|
169
|
+
}
|
|
170
|
+
);
|
|
171
|
+
async function compileWorker(...args) {
|
|
172
|
+
return await pool.call("compile", args);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// src/compiler/index.ts
|
|
176
|
+
var WORKER_MIN_LEN = typeof Worker != "function" ? Number.MAX_VALUE : 1024;
|
|
177
|
+
function getOptions(options) {
|
|
178
|
+
options ??= {};
|
|
179
|
+
if (options.sourceMap) {
|
|
180
|
+
options.diagnostic_sourcemap = true;
|
|
181
|
+
options.diagnostic_position_encoding ??= "Utf16";
|
|
182
|
+
}
|
|
183
|
+
options.input_mode ??= "Script";
|
|
184
|
+
return options;
|
|
185
|
+
}
|
|
186
|
+
async function compile(source, options) {
|
|
187
|
+
options = getOptions(options);
|
|
188
|
+
if (typeof source == "string") {
|
|
189
|
+
const result = compileFast(source, options);
|
|
190
|
+
if (result) return result;
|
|
191
|
+
}
|
|
192
|
+
if (source.length < WORKER_MIN_LEN) {
|
|
193
|
+
const bc = await generateBytecode(source, options);
|
|
194
|
+
return emitScript(source, bc, options);
|
|
195
|
+
}
|
|
196
|
+
const [target, diagnostics] = await compileWorker(source, options);
|
|
197
|
+
if (target == null) {
|
|
198
|
+
reportDiagnostic(source, diagnostics, options.fileName);
|
|
199
|
+
}
|
|
200
|
+
return createScript(source, options.input_mode ?? "Script", target);
|
|
201
|
+
}
|
|
202
|
+
function compileSync(source, options) {
|
|
203
|
+
options = getOptions(options);
|
|
204
|
+
if (typeof source == "string") {
|
|
205
|
+
const result = compileFast(source, options);
|
|
206
|
+
if (result) return result;
|
|
207
|
+
}
|
|
208
|
+
const bc = generateBytecodeSync(source, options);
|
|
209
|
+
return emitScript(source, bc, options);
|
|
210
|
+
}
|
|
37
211
|
export {
|
|
38
212
|
VmError,
|
|
39
213
|
VmExtern,
|
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": [],
|
|
4
|
-
"mappings": "",
|
|
3
|
+
"sources": ["../src/compiler/compile-fast.ts", "../src/compiler/worker-manager.ts", "../src/compiler/index.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/subtle.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
OpCode,
|
|
3
|
-
analyzeGlobalReferences,
|
|
4
|
-
isKeyword
|
|
5
|
-
} from "./chunk-FIKQPSZ6.js";
|
|
6
1
|
import {
|
|
7
2
|
DefaultVmContext,
|
|
8
3
|
convert_exports,
|
|
@@ -11,9 +6,10 @@ import {
|
|
|
11
6
|
lib,
|
|
12
7
|
operations_exports,
|
|
13
8
|
wrapScript
|
|
14
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-43TX2QFV.js";
|
|
15
10
|
import {
|
|
16
11
|
DiagnosticCode,
|
|
12
|
+
REG_IDENTIFIER,
|
|
17
13
|
constants_exports,
|
|
18
14
|
display,
|
|
19
15
|
formatDiagnostics,
|
|
@@ -30,6 +26,67 @@ import {
|
|
|
30
26
|
serializeRecordKey,
|
|
31
27
|
serializeString
|
|
32
28
|
} from "./chunk-GBWG7BQZ.js";
|
|
29
|
+
|
|
30
|
+
// src/subtle.ts
|
|
31
|
+
import { OpCode, isKeyword } from "@mirascript/constants";
|
|
32
|
+
|
|
33
|
+
// src/helpers/analyze.ts
|
|
34
|
+
var REG_SPILT = /\s*!?\s*\.\s*/u;
|
|
35
|
+
var REG_CHAIN = new RegExp(
|
|
36
|
+
String.raw`^(${REG_IDENTIFIER.source})(?:${REG_SPILT.source}(?:\d+|${REG_IDENTIFIER.source}))*`,
|
|
37
|
+
"u"
|
|
38
|
+
);
|
|
39
|
+
var { parseInt } = Number;
|
|
40
|
+
function analyzeGlobalReferences(expression, mode) {
|
|
41
|
+
if (expression.trim() === "") {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
const [code, diagnostics] = generateBytecodeSync(expression, {
|
|
45
|
+
input_mode: mode || "Script",
|
|
46
|
+
diagnostic_position_encoding: "Utf16",
|
|
47
|
+
// 需要设为 true 以便在编译失败时返回空的 bytecode
|
|
48
|
+
diagnostic_error: true,
|
|
49
|
+
diagnostic_warning: false,
|
|
50
|
+
diagnostic_info: false,
|
|
51
|
+
diagnostic_hint: false,
|
|
52
|
+
diagnostic_reference: false,
|
|
53
|
+
diagnostic_tag: true,
|
|
54
|
+
diagnostic_sourcemap: false,
|
|
55
|
+
trivia: false
|
|
56
|
+
});
|
|
57
|
+
if (code == null || diagnostics.length === 0) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
const parsedDiagnostics = parseDiagnostics(expression, diagnostics);
|
|
61
|
+
const globals = parsedDiagnostics.tags.filter((t) => t.code === DiagnosticCode.GlobalVariable);
|
|
62
|
+
if (globals.length === 0) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
const lines = expression.split(/\r?\n/);
|
|
66
|
+
const result = /* @__PURE__ */ new Set();
|
|
67
|
+
for (const global of globals) {
|
|
68
|
+
const line = lines[global.range.startLineNumber - 1];
|
|
69
|
+
if (!line) continue;
|
|
70
|
+
const access = line.slice(global.range.startColumn - 1);
|
|
71
|
+
const chain = REG_CHAIN.exec(access);
|
|
72
|
+
if (chain == null) continue;
|
|
73
|
+
const globalName = chain[1];
|
|
74
|
+
if (globalName?.length !== global.range.endColumn - global.range.startColumn) continue;
|
|
75
|
+
const chainStr = chain[0].split(REG_SPILT).join(".");
|
|
76
|
+
result.add(chainStr);
|
|
77
|
+
}
|
|
78
|
+
const accessChains = [];
|
|
79
|
+
for (const chainStr of result) {
|
|
80
|
+
const parts = chainStr.split(".").map((part) => {
|
|
81
|
+
if (/^\d/.test(part)) {
|
|
82
|
+
return parseInt(part, 10);
|
|
83
|
+
}
|
|
84
|
+
return part;
|
|
85
|
+
});
|
|
86
|
+
accessChains.push(parts);
|
|
87
|
+
}
|
|
88
|
+
return accessChains;
|
|
89
|
+
}
|
|
33
90
|
export {
|
|
34
91
|
DefaultVmContext,
|
|
35
92
|
DiagnosticCode,
|
package/dist/subtle.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": [],
|
|
4
|
-
"mappings": "",
|
|
3
|
+
"sources": ["../src/subtle.ts", "../src/helpers/analyze.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,QAAQ,iBAAiB;;;ACMlC,IAAM,YAAY;AAClB,IAAM,YAAY,IAAI;AAAA,EAClB,OAAO,QAAQ,eAAe,MAAM,OAAO,UAAU,MAAM,UAAU,eAAe,MAAM;AAAA,EAC1F;AACJ;AAEA,IAAM,EAAE,SAAS,IAAI;AAId,SAAS,wBAAwB,YAAoB,MAA0C;AAClG,MAAI,WAAW,KAAK,MAAM,IAAI;AAC1B,WAAO,CAAC;AAAA,EACZ;AACA,QAAM,CAAC,MAAM,WAAW,IAAI,qBAAqB,YAAY;AAAA,IACzD,YAAY,QAAQ;AAAA,IACpB,8BAA8B;AAAA;AAAA,IAE9B,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,QAAQ;AAAA,EACZ,CAAC;AACD,MAAI,QAAQ,QAAQ,YAAY,WAAW,GAAG;AAC1C,WAAO,CAAC;AAAA,EACZ;AACA,QAAM,oBAAoB,iBAAiB,YAAY,WAAW;AAClE,QAAM,UAAU,kBAAkB,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,eAAe,cAAc;AAC7F,MAAI,QAAQ,WAAW,GAAG;AACtB,WAAO,CAAC;AAAA,EACZ;AACA,QAAM,QAAQ,WAAW,MAAM,OAAO;AACtC,QAAM,SAAS,oBAAI,IAAY;AAC/B,aAAW,UAAU,SAAS;AAE1B,UAAM,OAAO,MAAM,OAAO,MAAM,kBAAkB,CAAC;AACnD,QAAI,CAAC,KAAM;AACX,UAAM,SAAS,KAAK,MAAM,OAAO,MAAM,cAAc,CAAC;AACtD,UAAM,QAAQ,UAAU,KAAK,MAAM;AACnC,QAAI,SAAS,KAAM;AACnB,UAAM,aAAa,MAAM,CAAC;AAC1B,QAAI,YAAY,WAAW,OAAO,MAAM,YAAY,OAAO,MAAM,YAAa;AAC9E,UAAM,WAAW,MAAM,CAAC,EAAE,MAAM,SAAS,EAAE,KAAK,GAAG;AACnD,WAAO,IAAI,QAAQ;AAAA,EACvB;AACA,QAAM,eAAuC,CAAC;AAC9C,aAAW,YAAY,QAAQ;AAC3B,UAAM,QAAQ,SAAS,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS;AAC5C,UAAI,MAAM,KAAK,IAAI,GAAG;AAElB,eAAO,SAAS,MAAM,EAAE;AAAA,MAC5B;AACA,aAAO;AAAA,IACX,CAAC;AACD,iBAAa,KAAK,KAAwC;AAAA,EAC9D;AACA,SAAO;AACX;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-primitive.d.ts","sourceRoot":"","sources":["../../../../src/vm/lib/global/to-primitive.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,ocAerB,CAAC;AAEF,eAAO,MAAM,SAAS,ocAerB,CAAC;AAEF,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"to-primitive.d.ts","sourceRoot":"","sources":["../../../../src/vm/lib/global/to-primitive.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,ocAerB,CAAC;AAEF,eAAO,MAAM,SAAS,ocAerB,CAAC;AAEF,eAAO,MAAM,UAAU,ocAmBtB,CAAC;AAEF,eAAO,MAAM,MAAM,qLAYlB,CAAC"}
|