@poe-platform/safe-bash 0.1.433 → 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.
Files changed (35) hide show
  1. package/dist/safe-bash/browser.js +236 -90
  2. package/dist/safe-bash/browser.js.map +3 -3
  3. package/dist/safe-bash/commands/stream-format/nl.js +1 -1
  4. package/dist/safe-bash/commands/stream-format/nl.js.map +1 -1
  5. package/dist/safe-bash/commands/structured/interpreter.js +10 -10
  6. package/dist/safe-bash/commands/structured/interpreter.js.map +1 -1
  7. package/dist/safe-bash/commands/structured/limits.d.ts +3 -1
  8. package/dist/safe-bash/commands/structured/limits.d.ts.map +1 -1
  9. package/dist/safe-bash/commands/structured/limits.js +16 -5
  10. package/dist/safe-bash/commands/structured/limits.js.map +1 -1
  11. package/dist/safe-bash/commands/structured/values.d.ts +5 -3
  12. package/dist/safe-bash/commands/structured/values.d.ts.map +1 -1
  13. package/dist/safe-bash/commands/structured/values.js +73 -21
  14. package/dist/safe-bash/commands/structured/values.js.map +1 -1
  15. package/dist/safe-bash/commands/text-programs/awk-runtime.js +4 -4
  16. package/dist/safe-bash/commands/text-programs/awk-runtime.js.map +1 -1
  17. package/dist/safe-bash/commands/text-programs/regex.d.ts +2 -1
  18. package/dist/safe-bash/commands/text-programs/regex.d.ts.map +1 -1
  19. package/dist/safe-bash/commands/text-programs/regex.js +230 -93
  20. package/dist/safe-bash/commands/text-programs/regex.js.map +1 -1
  21. package/dist/safe-bash/commands/text-programs/sed.js +1 -1
  22. package/dist/safe-bash/commands/text-programs/sed.js.map +1 -1
  23. package/dist/safe-bash/portable.js +325 -125
  24. package/dist/safe-bash/portable.js.map +3 -3
  25. package/dist/safe-bash/shell/arrays/state.d.ts.map +1 -1
  26. package/dist/safe-bash/shell/arrays/state.js +8 -2
  27. package/dist/safe-bash/shell/arrays/state.js.map +1 -1
  28. package/dist/safe-bash/shell/cleanup.d.ts +1 -1
  29. package/dist/safe-bash/shell/cleanup.d.ts.map +1 -1
  30. package/dist/safe-bash/shell/cleanup.js +7 -3
  31. package/dist/safe-bash/shell/cleanup.js.map +1 -1
  32. package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
  33. package/dist/safe-bash/shell/runtime.js +21 -6
  34. package/dist/safe-bash/shell/runtime.js.map +1 -1
  35. 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":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAyC,MAAM,aAAa,CAAC;AAItF,MAAM,aAAc,SAAQ,MAAM;IACX;IAArB,YAAqB,OAAgB;QACnC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QADzH,YAAO,GAAP,OAAO,CAAS;IAErC,CAAC;IACQ,IAAI,CAAC,KAAK,GAAG,CAAC,IAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IACnG,MAAM,IAAI,UAAU,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,MAAM,CAAC,IAAY;IAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,MAAM,IAAI,EAAE,IAAI,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;IAC9G,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAA0B;IACxD,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,uBAAuB,EAAE;YACpE,kBAAkB,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG;YACvE,sBAAsB,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG;YACtE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;YACrE,eAAe,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG;SAC/C,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QACpI,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5G,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC;QAClF,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,mCAAmC,MAAM,GAAG,CAAC,CAAC;QAC7G,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAC3F,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtF,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,GAAU,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACjE,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnG,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;oBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,MAAM,GAAG,KAAK,CAAC;oBAC3C,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzB,SAAS;gBACX,CAAC;gBACD,IAAI,QAAiB,CAAC;gBACtB,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;oBACpB,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC;oBAChE,IAAI,QAAQ;wBAAE,MAAM,GAAG,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,OAAO,KAAK,GAAG;oBAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;qBACpD,IAAI,OAAO,KAAK,GAAG;oBAAE,QAAQ,GAAG,KAAK,CAAC;;oBACtC,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC;gBACrF,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,MAAM,IAAI,EAAE,IAAI,GAAG;wBAAE,MAAM,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAC;oBAC/F,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC9B,IAAI,MAAM,KAAK,IAAI;wBAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;yBACjD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,EAAE;wBAAE,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;;wBAC1F,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;oBACtC,MAAM,IAAI,SAAS,CAAC;gBACtB,CAAC;;oBAAM,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -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, stringCompare, type } from "./values.js";
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.sort((first, second) => -compare(first, second, this.budget));
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" ? objectKeys(input).sort(stringCompare) : objectKeys(input);
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.sort((left, right) => compare(left.key, right.key, budget));
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":"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"}
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":"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"}
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 compare(left: Json, right: Json, budget: Budget): number;
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,EAAgE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAI9G,wBAAgB,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAExC;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAI5D;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOjE;AACD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBvE;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,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA6DtF"}
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
- const leftPoints = Array.from(left, character => character.codePointAt(0));
14
- const rightPoints = Array.from(right, character => character.codePointAt(0));
15
- for (let index = 0; index < Math.min(leftPoints.length, rightPoints.length); index++) {
16
- if (leftPoints[index] !== rightPoints[index])
17
- return leftPoints[index] < rightPoints[index] ? -1 : 1;
18
- }
19
- return Math.sign(leftPoints.length - rightPoints.length);
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 compare(left, right, budget) {
22
- budget.step();
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 = objectKeys(left).sort(stringCompare);
43
- const otherKeys = objectKeys(right).sort(stringCompare);
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;