@poe-platform/safe-bash 0.1.434 → 0.1.435
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/safe-bash/browser.js +236 -90
- package/dist/safe-bash/browser.js.map +3 -3
- package/dist/safe-bash/commands/stream-format/nl.js +1 -1
- package/dist/safe-bash/commands/stream-format/nl.js.map +1 -1
- package/dist/safe-bash/commands/structured/interpreter.js +10 -10
- package/dist/safe-bash/commands/structured/interpreter.js.map +1 -1
- package/dist/safe-bash/commands/structured/limits.d.ts +3 -1
- package/dist/safe-bash/commands/structured/limits.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/limits.js +16 -5
- package/dist/safe-bash/commands/structured/limits.js.map +1 -1
- package/dist/safe-bash/commands/structured/values.d.ts +5 -3
- package/dist/safe-bash/commands/structured/values.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/values.js +73 -21
- package/dist/safe-bash/commands/structured/values.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-runtime.js +4 -4
- package/dist/safe-bash/commands/text-programs/awk-runtime.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/regex.d.ts +2 -1
- package/dist/safe-bash/commands/text-programs/regex.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/regex.js +230 -93
- package/dist/safe-bash/commands/text-programs/regex.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.js +1 -1
- package/dist/safe-bash/commands/text-programs/sed.js.map +1 -1
- package/dist/safe-bash/portable.js +325 -125
- package/dist/safe-bash/portable.js.map +3 -3
- package/dist/safe-bash/shell/arrays/state.d.ts.map +1 -1
- package/dist/safe-bash/shell/arrays/state.js +8 -2
- package/dist/safe-bash/shell/arrays/state.js.map +1 -1
- package/dist/safe-bash/shell/cleanup.d.ts +1 -1
- package/dist/safe-bash/shell/cleanup.d.ts.map +1 -1
- package/dist/safe-bash/shell/cleanup.js +7 -3
- package/dist/safe-bash/shell/cleanup.js.map +1 -1
- package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
- package/dist/safe-bash/shell/runtime.js +21 -6
- package/dist/safe-bash/shell/runtime.js.map +1 -1
- package/package.json +2 -2
|
@@ -71,7 +71,7 @@ export function createNlCommand(limits) {
|
|
|
71
71
|
else if (current === "n")
|
|
72
72
|
numbered = false;
|
|
73
73
|
else
|
|
74
|
-
numbered = current.find(bytes.toString("latin1"), budget) !== undefined;
|
|
74
|
+
numbered = (await current.find(bytes.toString("latin1"), budget)) !== undefined;
|
|
75
75
|
if (numbered) {
|
|
76
76
|
if (number < -(1n << 63n) || number >= 1n << 63n)
|
|
77
77
|
throw new UsageError("line number overflow");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nl.js","sourceRoot":"","sources":["../../../src/commands/stream-format/nl.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"nl.js","sourceRoot":"","sources":["../../../src/commands/stream-format/nl.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { Budget, copyObject, isObject, JqError, JqLimitError, object, objectKeys
|
|
|
2
2
|
import { isNumber, numberValue } from "./numbers.js";
|
|
3
3
|
import { JqParseError, parseJson, stringify } from "./input.js";
|
|
4
4
|
import { splitString } from "./split.js";
|
|
5
|
-
import { binary, compare, contains, describe, entries, equal, indexValue, sliceValue,
|
|
5
|
+
import { binary, compare, contains, describe, entries, equal, indexValue, sliceValue, sortedKeys, stableSort, type } from "./values.js";
|
|
6
6
|
const deleted = Symbol("deleted");
|
|
7
7
|
export class Interpreter {
|
|
8
8
|
budget;
|
|
@@ -203,7 +203,7 @@ export class Interpreter {
|
|
|
203
203
|
}
|
|
204
204
|
for await (const right of this.run(ast.right, input)) {
|
|
205
205
|
for await (const left of this.run(ast.left, input)) {
|
|
206
|
-
const result = binary(operator, left, right, this.budget);
|
|
206
|
+
const result = await binary(operator, left, right, this.budget);
|
|
207
207
|
this.budget.value(result);
|
|
208
208
|
yield result;
|
|
209
209
|
}
|
|
@@ -334,7 +334,7 @@ export class Interpreter {
|
|
|
334
334
|
let previous = result;
|
|
335
335
|
for (const key of path)
|
|
336
336
|
previous = indexValue(previous, key);
|
|
337
|
-
const assigned = operator === "=" ? value : operator === "//=" ? truth(previous) ? previous : value : binary(operator.slice(0, -1), previous, value, this.budget);
|
|
337
|
+
const assigned = operator === "=" ? value : operator === "//=" ? truth(previous) ? previous : value : await binary(operator.slice(0, -1), previous, value, this.budget);
|
|
338
338
|
result = this.set(result, path, assigned);
|
|
339
339
|
this.budget.value(result);
|
|
340
340
|
}
|
|
@@ -365,10 +365,10 @@ export class Interpreter {
|
|
|
365
365
|
this.budget.value(result);
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
|
-
deletions.
|
|
368
|
+
await stableSort(deletions, this.budget, async (first, second) => -await compare(first, second, this.budget));
|
|
369
369
|
let lastDeletion;
|
|
370
370
|
for (const path of deletions) {
|
|
371
|
-
if (!lastDeletion || compare(lastDeletion, path, this.budget) !== 0)
|
|
371
|
+
if (!lastDeletion || await compare(lastDeletion, path, this.budget) !== 0)
|
|
372
372
|
result = this.set(result, path, deleted);
|
|
373
373
|
lastDeletion = path;
|
|
374
374
|
}
|
|
@@ -442,7 +442,7 @@ export class Interpreter {
|
|
|
442
442
|
if (Array.isArray(input))
|
|
443
443
|
yield input.map((_, index) => index);
|
|
444
444
|
else if (isObject(input))
|
|
445
|
-
yield name === "keys" ?
|
|
445
|
+
yield name === "keys" ? await sortedKeys(input, budget) : objectKeys(input);
|
|
446
446
|
else
|
|
447
447
|
throw new JqError("keys requires an object or array");
|
|
448
448
|
return;
|
|
@@ -508,14 +508,14 @@ export class Interpreter {
|
|
|
508
508
|
await budget.tick();
|
|
509
509
|
if (!first && separator !== null) {
|
|
510
510
|
if (typeof separator !== "string")
|
|
511
|
-
binary("+", result, separator, budget);
|
|
511
|
+
await binary("+", result, separator, budget);
|
|
512
512
|
if (typeof separator !== "string")
|
|
513
513
|
throw new JqError("join separator must be a string or null when used");
|
|
514
514
|
append(separator, separatorBytes);
|
|
515
515
|
}
|
|
516
516
|
first = false;
|
|
517
517
|
if (isObject(item) || Array.isArray(item))
|
|
518
|
-
binary("+", result, item, budget);
|
|
518
|
+
await binary("+", result, item, budget);
|
|
519
519
|
const text = item === null ? "" : typeof item === "string" ? item : stringify(item, budget);
|
|
520
520
|
append(text, budget.value(text));
|
|
521
521
|
}
|
|
@@ -672,7 +672,7 @@ export class Interpreter {
|
|
|
672
672
|
let result = null;
|
|
673
673
|
for (const item of input) {
|
|
674
674
|
await budget.tick();
|
|
675
|
-
result = binary("+", result, item, budget);
|
|
675
|
+
result = await binary("+", result, item, budget);
|
|
676
676
|
budget.value(result);
|
|
677
677
|
}
|
|
678
678
|
yield result;
|
|
@@ -688,7 +688,7 @@ export class Interpreter {
|
|
|
688
688
|
throw new JqLimitError("maxValueBytes");
|
|
689
689
|
keyed.push({ value, key });
|
|
690
690
|
}
|
|
691
|
-
keyed
|
|
691
|
+
await stableSort(keyed, budget, (left, right) => compare(left.key, right.key, budget));
|
|
692
692
|
if (name === "min" || name === "min_by" || name === "max" || name === "max_by") {
|
|
693
693
|
yield keyed[name.startsWith("min") ? 0 : keyed.length - 1]?.value ?? null;
|
|
694
694
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/commands/structured/interpreter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/commands/structured/interpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,19 +36,21 @@ export declare class Budget {
|
|
|
36
36
|
readonly signal: AbortSignal;
|
|
37
37
|
private steps;
|
|
38
38
|
private nextYield;
|
|
39
|
+
private lastYield;
|
|
39
40
|
inputBytes: number;
|
|
40
41
|
outputBytes: number;
|
|
41
42
|
results: number;
|
|
42
43
|
inputLocation: InputLocation;
|
|
43
44
|
constructor(limits: JqLimits, signal: AbortSignal);
|
|
44
45
|
step(count?: number): void;
|
|
45
|
-
tick(): Promise<void>;
|
|
46
|
+
tick(count?: number): Promise<void>;
|
|
46
47
|
collection(size: number): void;
|
|
47
48
|
text(text: string): void;
|
|
48
49
|
value(value: Json): number;
|
|
49
50
|
}
|
|
50
51
|
export declare function object(): Record<string, Json>;
|
|
51
52
|
export declare function objectKeys(value: Record<string, Json>): string[];
|
|
53
|
+
export declare function objectKeyIterator(value: Record<string, Json>): IterableIterator<string>;
|
|
52
54
|
export declare function objectSize(value: Record<string, Json>): number;
|
|
53
55
|
export declare function put(value: Record<string, Json>, key: string, item: Json): void;
|
|
54
56
|
export declare function remove(value: Record<string, Json>, key: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../../src/commands/structured/limits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAwB,MAAM,cAAc,CAAC;AAE7D,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AACjG,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AACD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrC;AACD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAK7C,CAAC;AACH,qBAAa,OAAQ,SAAQ,KAAK;IACH,QAAQ,CAAC,QAAQ;gBAAlC,OAAO,EAAE,MAAM,EAAW,QAAQ,SAAI;CACnD;AACD,qBAAa,YAAa,SAAQ,OAAO;gBAC3B,IAAI,EAAE,MAAM,QAAQ;CACjC;AACD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,wBAAgB,eAAe,CAAC,OAAO,GAAE,OAAO,CAAC,QAAQ,CAAM,GAAG,QAAQ,CAOzE;AACD,qBAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../../src/commands/structured/limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { yieldTurn } from "../../contracts/yield.js";
|
|
1
|
+
import { monotonicNow, yieldTurn } from "../../contracts/yield.js";
|
|
2
2
|
import { Decimal, isNumber, numberText } from "./numbers.js";
|
|
3
3
|
export const defaultJqLimits = Object.freeze({
|
|
4
4
|
maxInputBytes: 64 * 1024 * 1024, maxValueBytes: 8 * 1024 * 1024,
|
|
@@ -31,6 +31,7 @@ export class Budget {
|
|
|
31
31
|
signal;
|
|
32
32
|
steps = 0;
|
|
33
33
|
nextYield = 1024;
|
|
34
|
+
lastYield = monotonicNow();
|
|
34
35
|
inputBytes = 0;
|
|
35
36
|
outputBytes = 0;
|
|
36
37
|
results = 0;
|
|
@@ -45,12 +46,13 @@ export class Budget {
|
|
|
45
46
|
if (this.steps > this.limits.maxSteps)
|
|
46
47
|
throw new JqLimitError("maxSteps");
|
|
47
48
|
}
|
|
48
|
-
async tick() {
|
|
49
|
-
this.step();
|
|
50
|
-
if (this.steps >= this.nextYield) {
|
|
51
|
-
this.nextYield = this.steps + 1024;
|
|
49
|
+
async tick(count = 1) {
|
|
50
|
+
this.step(count);
|
|
51
|
+
if (this.steps >= this.nextYield || monotonicNow() - this.lastYield >= 25) {
|
|
52
52
|
await yieldTurn(this.signal);
|
|
53
53
|
this.signal.throwIfAborted();
|
|
54
|
+
this.nextYield = this.steps + 1024;
|
|
55
|
+
this.lastYield = monotonicNow();
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
collection(size) {
|
|
@@ -104,6 +106,15 @@ export function object() {
|
|
|
104
106
|
return result;
|
|
105
107
|
}
|
|
106
108
|
export function objectKeys(value) { return keyOrders.get(value)?.slice() ?? Object.keys(value); }
|
|
109
|
+
export function* objectKeyIterator(value) {
|
|
110
|
+
const keys = keyOrders.get(value);
|
|
111
|
+
if (keys)
|
|
112
|
+
yield* keys;
|
|
113
|
+
else
|
|
114
|
+
for (const key in value)
|
|
115
|
+
if (Object.hasOwn(value, key))
|
|
116
|
+
yield key;
|
|
117
|
+
}
|
|
107
118
|
export function objectSize(value) { return keyOrders.get(value)?.length ?? Object.keys(value).length; }
|
|
108
119
|
export function put(value, key, item) {
|
|
109
120
|
if (!Object.hasOwn(value, key))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../../src/commands/structured/limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../../src/commands/structured/limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Budget, type Json } from "./limits.js";
|
|
2
2
|
export declare function type(value: Json): string;
|
|
3
3
|
export declare function describe(value: Json, budget: Budget): string;
|
|
4
|
-
export declare function stringCompare(left: string, right: string): number
|
|
5
|
-
export declare function
|
|
4
|
+
export declare function stringCompare(left: string, right: string, budget: Budget): Promise<number>;
|
|
5
|
+
export declare function stableSort<Item>(items: Item[], budget: Budget, comparator: (left: Item, right: Item) => Promise<number>): Promise<void>;
|
|
6
|
+
export declare function sortedKeys(value: Record<string, Json>, budget: Budget): Promise<string[]>;
|
|
7
|
+
export declare function compare(left: Json, right: Json, budget: Budget): Promise<number>;
|
|
6
8
|
export declare function equal(left: Json, right: Json, budget: Budget): boolean;
|
|
7
9
|
export declare function entries(value: Json, budget: Budget): [string | number, Json][];
|
|
8
10
|
export declare function indexValue(value: Json, index: Json): Json;
|
|
9
11
|
export declare function sliceValue(value: Json, start: Json, end: Json, budget: Budget): Promise<Json>;
|
|
10
12
|
export declare function contains(value: Json, sought: Json, budget: Budget): boolean;
|
|
11
|
-
export declare function binary(operator: string, left: Json, right: Json, budget: Budget): Json
|
|
13
|
+
export declare function binary(operator: string, left: Json, right: Json, budget: Budget): Promise<Json>;
|
|
12
14
|
//# sourceMappingURL=values.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/commands/structured/values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/commands/structured/values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmF,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAIjI,wBAAgB,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAExC;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAI5D;AACD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAchG;AACD,wBAAsB,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B7I;AACD,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAU/F;AACD,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBtF;AACD,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAUtE;AACD,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,CAI9E;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAUzD;AACD,wBAAsB,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BnG;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM3E;AACD,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DrG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Budget, copyObject, isObject, JqError, JqLimitError, objectKeys, put } from "./limits.js";
|
|
1
|
+
import { Budget, copyObject, isObject, JqError, JqLimitError, objectKeyIterator, objectKeys, put } from "./limits.js";
|
|
2
2
|
import { compareNumbers, isNumber, numberValue } from "./numbers.js";
|
|
3
3
|
import { stringify } from "./input.js";
|
|
4
4
|
export function type(value) {
|
|
@@ -9,43 +9,95 @@ export function describe(value, budget) {
|
|
|
9
9
|
const text = bytes.length < 15 ? bytes.toString() : `${bytes.subarray(0, 11).toString()}...`;
|
|
10
10
|
return `${type(value)} (${text})`;
|
|
11
11
|
}
|
|
12
|
-
export function stringCompare(left, right) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
export async function stringCompare(left, right, budget) {
|
|
13
|
+
await budget.tick(1 + Math.ceil(Math.min(left.length, right.length) / 32));
|
|
14
|
+
let leftOffset = 0;
|
|
15
|
+
let rightOffset = 0;
|
|
16
|
+
let points = 0;
|
|
17
|
+
while (leftOffset < left.length && rightOffset < right.length) {
|
|
18
|
+
if (points++ % 32 === 0)
|
|
19
|
+
await budget.tick(0);
|
|
20
|
+
const leftPoint = left.codePointAt(leftOffset);
|
|
21
|
+
const rightPoint = right.codePointAt(rightOffset);
|
|
22
|
+
if (leftPoint !== rightPoint)
|
|
23
|
+
return leftPoint < rightPoint ? -1 : 1;
|
|
24
|
+
leftOffset += leftPoint > 0xffff ? 2 : 1;
|
|
25
|
+
rightOffset += rightPoint > 0xffff ? 2 : 1;
|
|
26
|
+
}
|
|
27
|
+
return leftOffset < left.length ? 1 : rightOffset < right.length ? -1 : 0;
|
|
20
28
|
}
|
|
21
|
-
export function
|
|
22
|
-
budget.
|
|
29
|
+
export async function stableSort(items, budget, comparator) {
|
|
30
|
+
await budget.tick(0);
|
|
31
|
+
budget.collection(items.length);
|
|
32
|
+
if (items.length < 2)
|
|
33
|
+
return;
|
|
34
|
+
await budget.tick(items.length);
|
|
35
|
+
const scratch = new Array(items.length);
|
|
36
|
+
let source = items;
|
|
37
|
+
let target = scratch;
|
|
38
|
+
for (let width = 1; width < items.length; width *= 2) {
|
|
39
|
+
for (let start = 0; start < items.length; start += width * 2) {
|
|
40
|
+
const middle = Math.min(start + width, items.length);
|
|
41
|
+
const end = Math.min(start + width * 2, items.length);
|
|
42
|
+
let left = start;
|
|
43
|
+
let right = middle;
|
|
44
|
+
for (let index = start; index < end; index++) {
|
|
45
|
+
await budget.tick();
|
|
46
|
+
if (left < middle && (right >= end || await comparator(source[left], source[right]) <= 0))
|
|
47
|
+
target[index] = source[left++];
|
|
48
|
+
else
|
|
49
|
+
target[index] = source[right++];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const previous = source;
|
|
53
|
+
source = target;
|
|
54
|
+
target = previous;
|
|
55
|
+
}
|
|
56
|
+
if (source !== items)
|
|
57
|
+
for (let index = 0; index < items.length; index++) {
|
|
58
|
+
await budget.tick();
|
|
59
|
+
items[index] = source[index];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export async function sortedKeys(value, budget) {
|
|
63
|
+
await budget.tick(0);
|
|
64
|
+
const keys = [];
|
|
65
|
+
for (const key of objectKeyIterator(value)) {
|
|
66
|
+
await budget.tick();
|
|
67
|
+
budget.collection(keys.length + 1);
|
|
68
|
+
keys.push(key);
|
|
69
|
+
}
|
|
70
|
+
await stableSort(keys, budget, (left, right) => stringCompare(left, right, budget));
|
|
71
|
+
return keys;
|
|
72
|
+
}
|
|
73
|
+
export async function compare(left, right, budget) {
|
|
74
|
+
await budget.tick();
|
|
23
75
|
const rank = (value) => value === null ? 0 : value === false ? 1 : value === true ? 2 : isNumber(value) ? 3 : typeof value === "string" ? 4 : Array.isArray(value) ? 5 : 6;
|
|
24
76
|
const difference = rank(left) - rank(right);
|
|
25
77
|
if (difference)
|
|
26
78
|
return Math.sign(difference);
|
|
27
79
|
if (isNumber(left) && isNumber(right))
|
|
28
80
|
return compareNumbers(left, right, budget);
|
|
81
|
+
if (typeof left === "string" && typeof right === "string")
|
|
82
|
+
return stringCompare(left, right, budget);
|
|
29
83
|
if (left === right && !Array.isArray(left) && !isObject(left))
|
|
30
84
|
return 0;
|
|
31
|
-
if (typeof left === "string" && typeof right === "string")
|
|
32
|
-
return stringCompare(left, right);
|
|
33
85
|
if (Array.isArray(left) && Array.isArray(right)) {
|
|
34
86
|
for (let index = 0; index < Math.min(left.length, right.length); index++) {
|
|
35
|
-
const result = compare(left[index], right[index], budget);
|
|
87
|
+
const result = await compare(left[index], right[index], budget);
|
|
36
88
|
if (result)
|
|
37
89
|
return result;
|
|
38
90
|
}
|
|
39
91
|
return Math.sign(left.length - right.length);
|
|
40
92
|
}
|
|
41
93
|
if (isObject(left) && isObject(right)) {
|
|
42
|
-
const keys =
|
|
43
|
-
const otherKeys =
|
|
44
|
-
const keyDifference = compare(keys, otherKeys, budget);
|
|
94
|
+
const keys = await sortedKeys(left, budget);
|
|
95
|
+
const otherKeys = await sortedKeys(right, budget);
|
|
96
|
+
const keyDifference = await compare(keys, otherKeys, budget);
|
|
45
97
|
if (keyDifference)
|
|
46
98
|
return keyDifference;
|
|
47
99
|
for (const key of keys) {
|
|
48
|
-
const result = compare(left[key], right[key], budget);
|
|
100
|
+
const result = await compare(left[key], right[key], budget);
|
|
49
101
|
if (result)
|
|
50
102
|
return result;
|
|
51
103
|
}
|
|
@@ -144,14 +196,14 @@ export function contains(value, sought, budget) {
|
|
|
144
196
|
return objectKeys(sought).every(key => Object.hasOwn(value, key) && contains(value[key], sought[key], budget));
|
|
145
197
|
return type(value) === type(sought) && equal(value, sought, budget);
|
|
146
198
|
}
|
|
147
|
-
export function binary(operator, left, right, budget) {
|
|
199
|
+
export async function binary(operator, left, right, budget) {
|
|
148
200
|
budget.step();
|
|
149
201
|
if (["==", "!=", "<", "<=", ">", ">="].includes(operator)) {
|
|
150
202
|
if (operator === "==")
|
|
151
203
|
return equal(left, right, budget);
|
|
152
204
|
if (operator === "!=")
|
|
153
205
|
return !equal(left, right, budget);
|
|
154
|
-
const order = compare(left, right, budget);
|
|
206
|
+
const order = await compare(left, right, budget);
|
|
155
207
|
switch (operator) {
|
|
156
208
|
case "<": return order < 0;
|
|
157
209
|
case "<=": return order <= 0;
|
|
@@ -188,7 +240,7 @@ export function binary(operator, left, right, budget) {
|
|
|
188
240
|
const result = copyObject(left);
|
|
189
241
|
for (const key of objectKeys(right)) {
|
|
190
242
|
const value = right[key];
|
|
191
|
-
put(result, key, Object.hasOwn(left, key) && isObject(left[key]) && isObject(value) ? binary("*", left[key], value, budget) : value);
|
|
243
|
+
put(result, key, Object.hasOwn(left, key) && isObject(left[key]) && isObject(value) ? await binary("*", left[key], value, budget) : value);
|
|
192
244
|
}
|
|
193
245
|
budget.collection(objectKeys(result).length);
|
|
194
246
|
return result;
|