@mirascript/mirascript 0.1.70 → 0.1.74
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-5MRXQCF7.js → chunk-GONOUVUN.js} +6 -6
- package/dist/{chunk-5MRXQCF7.js.map → chunk-GONOUVUN.js.map} +2 -2
- package/dist/{chunk-X4FUFXO6.js → chunk-VI74OKFU.js} +75 -71
- package/dist/chunk-VI74OKFU.js.map +6 -0
- package/dist/compiler/worker.js +1 -1
- package/dist/helpers/serialize.d.ts +32 -32
- package/dist/helpers/serialize.d.ts.map +1 -1
- package/dist/helpers/types.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/subtle.js +2 -2
- package/dist/vm/types/index.d.ts +1 -1
- package/package.json +4 -4
- package/src/helpers/serialize.ts +122 -114
- package/src/helpers/types.ts +1 -1
- package/src/vm/lib/global/sequence/zip.ts +4 -4
- package/src/vm/types/index.ts +1 -1
- package/dist/chunk-X4FUFXO6.js.map +0 -6
package/src/helpers/serialize.ts
CHANGED
|
@@ -4,88 +4,32 @@ import { entries, hasOwn, isFinite, isNaN } from '../helpers/utils.js';
|
|
|
4
4
|
import {
|
|
5
5
|
getVmFunctionInfo,
|
|
6
6
|
isVmArray,
|
|
7
|
-
|
|
7
|
+
isVmArrayLikeRecordByEntries,
|
|
8
8
|
isVmExtern,
|
|
9
9
|
isVmFunction,
|
|
10
10
|
isVmModule,
|
|
11
11
|
isVmRecord,
|
|
12
12
|
} from './types.js';
|
|
13
13
|
|
|
14
|
-
/**
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
maxDepth: number;
|
|
18
|
-
/** 序列化 nil 值 */
|
|
19
|
-
serializeNil: (options: SerializeOptions) => string;
|
|
20
|
-
/** 序列化布尔值 */
|
|
21
|
-
serializeBoolean: (value: boolean, options: SerializeOptions) => string;
|
|
22
|
-
/** 序列化数字 */
|
|
23
|
-
serializeNumber: (value: number, options: SerializeOptions) => string;
|
|
24
|
-
/** 序列化字符串 */
|
|
25
|
-
serializeString: (value: string, options: SerializeOptions) => string;
|
|
26
|
-
/** 序列化字符串引号 */
|
|
27
|
-
serializeStringQuote: (value: string, open: boolean, options: SerializeOptions) => string;
|
|
28
|
-
/** 序列化字符串转义序列 */
|
|
29
|
-
serializeStringEscape: (value: string, options: SerializeOptions) => string;
|
|
30
|
-
/** 序列化字符串常规内容 */
|
|
31
|
-
serializeStringContent: (value: string, options: SerializeOptions) => string;
|
|
32
|
-
/** 序列化函数 */
|
|
33
|
-
serializeFunction: (value: VmFunction, options: SerializeOptions) => string;
|
|
34
|
-
/** 序列化数组 */
|
|
35
|
-
serializeArray: (value: VmArray, depth: number, options: SerializeOptions) => string;
|
|
36
|
-
/** 序列化记录 */
|
|
37
|
-
serializeRecord: (value: VmRecord, depth: number, options: SerializeOptions) => string;
|
|
38
|
-
/** 序列化属性名 */
|
|
39
|
-
serializePropName: (value: number | string, options: SerializeOptions) => string;
|
|
40
|
-
/** 序列化模块 */
|
|
41
|
-
serializeModule: (value: VmModule, depth: number, options: SerializeOptions) => string;
|
|
42
|
-
/** 序列化外部值 */
|
|
43
|
-
serializeExtern: (value: VmExtern, depth: number, options: SerializeOptions) => string;
|
|
14
|
+
/** 序列化 nil 值 */
|
|
15
|
+
export function serializeNil(): string {
|
|
16
|
+
return 'nil';
|
|
44
17
|
}
|
|
45
18
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
serializeBoolean,
|
|
50
|
-
serializeNumber,
|
|
51
|
-
serializeString: serializeStringImpl,
|
|
52
|
-
serializeStringQuote: (value) => value,
|
|
53
|
-
serializeStringEscape: (value) => value,
|
|
54
|
-
serializeStringContent: (value) => value,
|
|
55
|
-
serializeArray,
|
|
56
|
-
serializeRecord,
|
|
57
|
-
serializePropName: String,
|
|
58
|
-
serializeFunction: serializeNil,
|
|
59
|
-
serializeModule: serializeNil,
|
|
60
|
-
serializeExtern: serializeNil,
|
|
61
|
-
} satisfies SerializeOptions);
|
|
62
|
-
|
|
63
|
-
/** 是否为默认选项 */
|
|
64
|
-
function isDefaultOptions(options: Partial<SerializeOptions> | undefined): boolean {
|
|
65
|
-
return options == null || options === DEFAULT_OPTIONS;
|
|
19
|
+
/** 序列化布尔值 */
|
|
20
|
+
export function serializeBoolean(value: boolean): string {
|
|
21
|
+
return value ? 'true' : 'false';
|
|
66
22
|
}
|
|
67
23
|
|
|
68
|
-
/**
|
|
69
|
-
function
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
for (const key in options) {
|
|
76
|
-
if (!hasOwn(options, key) || !hasOwn(base, key)) continue;
|
|
77
|
-
const el = options[key as keyof SerializeOptions];
|
|
78
|
-
if (el == null) continue;
|
|
79
|
-
opt ??= { ...base };
|
|
80
|
-
opt[key as keyof SerializeOptions] = el as never;
|
|
24
|
+
/** 序列化数字 */
|
|
25
|
+
export function serializeNumber(value: number): string {
|
|
26
|
+
if (isNaN(value)) return 'nan';
|
|
27
|
+
if (!isFinite(value)) return value < 0 ? '-inf' : 'inf';
|
|
28
|
+
if (value === 0) {
|
|
29
|
+
if (1 / value < 0) return '-0';
|
|
30
|
+
return '0';
|
|
81
31
|
}
|
|
82
|
-
return
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/** 获取选项 */
|
|
86
|
-
function getSerializeOptions(options: Partial<SerializeOptions> | undefined): Readonly<SerializeOptions> {
|
|
87
|
-
if (isDefaultOptions(options)) return DEFAULT_OPTIONS;
|
|
88
|
-
return mergeOptions(DEFAULT_OPTIONS, options);
|
|
32
|
+
return String(value);
|
|
89
33
|
}
|
|
90
34
|
|
|
91
35
|
/**
|
|
@@ -104,6 +48,7 @@ function serializeStringContent(value: string, options: Readonly<SerializeOption
|
|
|
104
48
|
|
|
105
49
|
const STRING_QUOTE = `'`;
|
|
106
50
|
const STRING_REG = new RegExp(String.raw`[${STRING_QUOTE}\\\$\p{C}\u2028\u2029]`, 'gu');
|
|
51
|
+
const STRING_MARK = /^[\p{M}]$/u;
|
|
107
52
|
/**
|
|
108
53
|
* 将 MiraScript 字符串序列化为 MiraScript 字面量。
|
|
109
54
|
*/
|
|
@@ -118,10 +63,13 @@ function serializeStringImpl(value: string, options: Readonly<SerializeOptions>)
|
|
|
118
63
|
let lastIndex = 0;
|
|
119
64
|
|
|
120
65
|
// 当开头字符是 \p{M} 时,使用转义序列化
|
|
121
|
-
while (value.length > lastIndex
|
|
122
|
-
const
|
|
66
|
+
while (value.length > lastIndex) {
|
|
67
|
+
const cp = value.codePointAt(lastIndex)!;
|
|
68
|
+
const ch = String.fromCodePoint(cp);
|
|
69
|
+
if (!STRING_MARK.test(ch)) break;
|
|
70
|
+
const c = serializeStringEscaped(`u{${cp.toString(16)}}`, options);
|
|
123
71
|
ret += c;
|
|
124
|
-
lastIndex +=
|
|
72
|
+
lastIndex += ch.length;
|
|
125
73
|
}
|
|
126
74
|
|
|
127
75
|
// 序列化字符串内容,遇到特殊字符时使用转义序列化
|
|
@@ -208,38 +156,17 @@ export function serializeRecordKey(key: string, options?: Partial<SerializeOptio
|
|
|
208
156
|
return serializeRecordKeyOpt(key, getSerializeOptions(options));
|
|
209
157
|
}
|
|
210
158
|
|
|
211
|
-
/** 序列化 nil 值 */
|
|
212
|
-
export function serializeNil(): string {
|
|
213
|
-
return 'nil';
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/** 序列化布尔值 */
|
|
217
|
-
export function serializeBoolean(value: boolean): string {
|
|
218
|
-
return value ? 'true' : 'false';
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/** 序列化数字 */
|
|
222
|
-
export function serializeNumber(value: number): string {
|
|
223
|
-
if (isNaN(value)) return 'nan';
|
|
224
|
-
if (!isFinite(value)) return value < 0 ? '-inf' : 'inf';
|
|
225
|
-
if (value === 0) {
|
|
226
|
-
if (1 / value < 0) return '-0';
|
|
227
|
-
return '0';
|
|
228
|
-
}
|
|
229
|
-
return String(value);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
159
|
/** 序列化数组 */
|
|
233
160
|
export function serializeArray(value: VmArray, depth: number, options: Readonly<SerializeOptions>): string {
|
|
234
161
|
if (depth > options.maxDepth) return `[]`;
|
|
235
162
|
if (value.length === 0) return '[]';
|
|
236
|
-
let
|
|
163
|
+
let result = '[';
|
|
237
164
|
for (let i = 0; i < value.length; i++) {
|
|
238
|
-
if (i > 0)
|
|
239
|
-
|
|
165
|
+
if (i > 0) result += ', ';
|
|
166
|
+
result += serializeImpl(value[i], depth, options);
|
|
240
167
|
}
|
|
241
|
-
|
|
242
|
-
return
|
|
168
|
+
result += ']';
|
|
169
|
+
return result;
|
|
243
170
|
}
|
|
244
171
|
|
|
245
172
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
@@ -275,18 +202,18 @@ export function serializeRecord(value: VmRecord, depth: number, options: Readonl
|
|
|
275
202
|
return `(${serializeRecordKeyOpt(k, options)}: ${serializeImpl(v, depth, options)})`;
|
|
276
203
|
}
|
|
277
204
|
|
|
278
|
-
const omitKey =
|
|
279
|
-
let
|
|
205
|
+
const omitKey = isVmArrayLikeRecordByEntries(e);
|
|
206
|
+
let result = '(';
|
|
280
207
|
for (const [key, val] of e) {
|
|
281
|
-
if (
|
|
208
|
+
if (result.length > 1) result += ', ';
|
|
282
209
|
if (omitKey) {
|
|
283
|
-
|
|
210
|
+
result += serializeImpl(val, depth, options);
|
|
284
211
|
} else {
|
|
285
|
-
|
|
212
|
+
result += `${serializeRecordKeyOpt(key, options)}: ${serializeImpl(val, depth, options)}`;
|
|
286
213
|
}
|
|
287
214
|
}
|
|
288
|
-
|
|
289
|
-
return
|
|
215
|
+
result += ')';
|
|
216
|
+
return result;
|
|
290
217
|
}
|
|
291
218
|
|
|
292
219
|
/** 序列化 */
|
|
@@ -340,6 +267,7 @@ export function displayFunction(value: VmFunction): string {
|
|
|
340
267
|
return `<function>`;
|
|
341
268
|
}
|
|
342
269
|
}
|
|
270
|
+
|
|
343
271
|
/** 将 MiraScript 模块转化为 MiraScript 字符串 */
|
|
344
272
|
export function displayModule(value: VmModule): string {
|
|
345
273
|
try {
|
|
@@ -349,6 +277,7 @@ export function displayModule(value: VmModule): string {
|
|
|
349
277
|
return `<module>`;
|
|
350
278
|
}
|
|
351
279
|
}
|
|
280
|
+
|
|
352
281
|
/** 将 MiraScript 外部值转化为 MiraScript 字符串 */
|
|
353
282
|
export function displayExtern(value: VmExtern): string {
|
|
354
283
|
try {
|
|
@@ -363,6 +292,92 @@ export function displayExtern(value: VmExtern): string {
|
|
|
363
292
|
return `<extern>`;
|
|
364
293
|
}
|
|
365
294
|
}
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* 将 MiraScript 值转化为 MiraScript 字符串。
|
|
298
|
+
*/
|
|
299
|
+
export function display(value: VmAny, options?: Partial<SerializeOptions>): string {
|
|
300
|
+
const opt = mergeOptions(DISPLAY_OPTIONS, options);
|
|
301
|
+
return serializeImpl(value, 0, opt);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/** 序列化设置 */
|
|
305
|
+
export interface SerializeOptions {
|
|
306
|
+
/** 最大递归深度,超过该深度的值将被序列化为 `nil`,默认值为 128 */
|
|
307
|
+
maxDepth: number;
|
|
308
|
+
/** 序列化 nil 值 */
|
|
309
|
+
serializeNil: (options: SerializeOptions) => string;
|
|
310
|
+
/** 序列化布尔值 */
|
|
311
|
+
serializeBoolean: (value: boolean, options: SerializeOptions) => string;
|
|
312
|
+
/** 序列化数字 */
|
|
313
|
+
serializeNumber: (value: number, options: SerializeOptions) => string;
|
|
314
|
+
/** 序列化字符串 */
|
|
315
|
+
serializeString: (value: string, options: SerializeOptions) => string;
|
|
316
|
+
/** 序列化字符串引号 */
|
|
317
|
+
serializeStringQuote: (value: string, open: boolean, options: SerializeOptions) => string;
|
|
318
|
+
/** 序列化字符串转义序列 */
|
|
319
|
+
serializeStringEscape: (value: string, options: SerializeOptions) => string;
|
|
320
|
+
/** 序列化字符串常规内容 */
|
|
321
|
+
serializeStringContent: (value: string, options: SerializeOptions) => string;
|
|
322
|
+
/** 序列化数组 */
|
|
323
|
+
serializeArray: (value: VmArray, depth: number, options: SerializeOptions) => string;
|
|
324
|
+
/** 序列化记录 */
|
|
325
|
+
serializeRecord: (value: VmRecord, depth: number, options: SerializeOptions) => string;
|
|
326
|
+
/** 序列化属性名 */
|
|
327
|
+
serializePropName: (value: number | string, options: SerializeOptions) => string;
|
|
328
|
+
/** 序列化函数 */
|
|
329
|
+
serializeFunction: (value: VmFunction, options: SerializeOptions) => string;
|
|
330
|
+
/** 序列化模块 */
|
|
331
|
+
serializeModule: (value: VmModule, depth: number, options: SerializeOptions) => string;
|
|
332
|
+
/** 序列化外部值 */
|
|
333
|
+
serializeExtern: (value: VmExtern, depth: number, options: SerializeOptions) => string;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/** 是否为默认选项 */
|
|
337
|
+
function isDefaultOptions(options: Partial<SerializeOptions> | undefined): boolean {
|
|
338
|
+
return options == null || options === DEFAULT_OPTIONS;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/** 合并选项 */
|
|
342
|
+
function mergeOptions(
|
|
343
|
+
base: Readonly<SerializeOptions>,
|
|
344
|
+
options: Partial<SerializeOptions> | null | undefined,
|
|
345
|
+
): Readonly<SerializeOptions> {
|
|
346
|
+
if (options == null) return base;
|
|
347
|
+
let opt: SerializeOptions | null = null;
|
|
348
|
+
for (const key in options) {
|
|
349
|
+
if (!hasOwn(options, key) || !hasOwn(base, key)) continue;
|
|
350
|
+
const el = options[key as keyof SerializeOptions];
|
|
351
|
+
if (el == null) continue;
|
|
352
|
+
opt ??= { ...base };
|
|
353
|
+
opt[key as keyof SerializeOptions] = el as never;
|
|
354
|
+
}
|
|
355
|
+
return opt ? Object.freeze(opt) : base;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
/** 获取选项 */
|
|
359
|
+
function getSerializeOptions(options: Partial<SerializeOptions> | undefined): Readonly<SerializeOptions> {
|
|
360
|
+
if (isDefaultOptions(options)) return DEFAULT_OPTIONS;
|
|
361
|
+
return mergeOptions(DEFAULT_OPTIONS, options);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
const DEFAULT_OPTIONS = Object.freeze({
|
|
365
|
+
maxDepth: 128,
|
|
366
|
+
serializeNil,
|
|
367
|
+
serializeBoolean,
|
|
368
|
+
serializeNumber,
|
|
369
|
+
serializeString: serializeStringImpl,
|
|
370
|
+
serializeStringQuote: (value) => value,
|
|
371
|
+
serializeStringEscape: (value) => value,
|
|
372
|
+
serializeStringContent: (value) => value,
|
|
373
|
+
serializeArray,
|
|
374
|
+
serializeRecord,
|
|
375
|
+
serializePropName: String,
|
|
376
|
+
serializeFunction: serializeNil,
|
|
377
|
+
serializeModule: serializeNil,
|
|
378
|
+
serializeExtern: serializeNil,
|
|
379
|
+
} satisfies SerializeOptions);
|
|
380
|
+
|
|
366
381
|
const DISPLAY_OPTIONS = Object.freeze({
|
|
367
382
|
maxDepth: 3,
|
|
368
383
|
serializeNil,
|
|
@@ -379,10 +394,3 @@ const DISPLAY_OPTIONS = Object.freeze({
|
|
|
379
394
|
serializeModule: displayModule,
|
|
380
395
|
serializeExtern: displayExtern,
|
|
381
396
|
} satisfies SerializeOptions);
|
|
382
|
-
/**
|
|
383
|
-
* 将 MiraScript 值转化为 MiraScript 字符串。
|
|
384
|
-
*/
|
|
385
|
-
export function display(value: VmAny, options?: Partial<SerializeOptions>): string {
|
|
386
|
-
const opt = mergeOptions(DISPLAY_OPTIONS, options);
|
|
387
|
-
return serializeImpl(value, 0, opt);
|
|
388
|
-
}
|
package/src/helpers/types.ts
CHANGED
|
@@ -94,7 +94,7 @@ export function isVmRecord(value: VmAny): value is VmRecord {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
/** 检查是否为仅包含从 0 开始的连续数字键的 MiraScript 记录 */
|
|
97
|
-
export function
|
|
97
|
+
export function isVmArrayLikeRecordByEntries(entries: ReadonlyArray<readonly [string, unknown]>): boolean {
|
|
98
98
|
const { length } = entries;
|
|
99
99
|
if (length === 0) return true;
|
|
100
100
|
if (length > VM_ARRAY_MAX_LENGTH) return false;
|
|
@@ -7,17 +7,17 @@ import { entries } from './entries.js';
|
|
|
7
7
|
export const zip = VmLib(
|
|
8
8
|
(data) => {
|
|
9
9
|
const ets = entries(data);
|
|
10
|
-
let
|
|
10
|
+
let length = 0;
|
|
11
11
|
for (const { 0: key, 1: arr } of ets) {
|
|
12
12
|
if (!isVmArray(arr)) {
|
|
13
13
|
throwError(`data[${display(key)}] is not an array: ${display(arr)}`, null);
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
length = Math.max(length, arr.length);
|
|
16
16
|
}
|
|
17
|
-
if (
|
|
17
|
+
if (length === 0) return [];
|
|
18
18
|
const result: Array<Record<number | string, VmConst>> = [];
|
|
19
19
|
const isArr = isVmArray(data);
|
|
20
|
-
for (let i = 0; i <
|
|
20
|
+
for (let i = 0; i < length; i++) {
|
|
21
21
|
Cp();
|
|
22
22
|
const obj: Record<number | string, VmConst> = isArr ? ([] as Record<number, VmConst>) : {};
|
|
23
23
|
for (const { 0: key, 1: arr } of ets) {
|
package/src/vm/types/index.ts
CHANGED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/helpers/constants.ts", "../src/helpers/utils.ts", "../src/helpers/types.ts", "../src/helpers/serialize.ts", "../src/helpers/error.ts", "../src/compiler/generate-bytecode.ts", "../src/compiler/emit/index.ts", "../src/helpers/convert/to-string.ts", "../src/compiler/emit/consts.ts", "../src/compiler/emit/sourcemap.ts", "../src/compiler/emit/constants.ts", "../src/compiler/diagnostic.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["entries", "keys", "value", "entries", "a", "b", "c", "e", "g", "i", "k", "m", "i"]
|
|
6
|
-
}
|