@poe-platform/safe-bash 0.1.527 → 0.1.528

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.
@@ -1,16 +1,19 @@
1
1
  import { Admission, ArrayOwner } from "./ledger.js";
2
2
  import type { Tickets } from "./ledger.js";
3
+ import { type ShellValue } from "../../contracts/value.js";
3
4
  export declare const controlNames: ReadonlySet<string>;
4
5
  export declare class OwnedText {
5
6
  readonly value: string;
6
7
  readonly bytes: number;
7
8
  readonly admission: Admission;
9
+ readonly rawValue?: ShellValue | undefined;
8
10
  references: number;
9
- constructor(value: string, bytes: number, admission: Admission);
11
+ constructor(value: string, bytes: number, admission: Admission, rawValue?: ShellValue | undefined);
10
12
  retain(): this;
11
13
  release(): void;
12
14
  }
13
15
  export declare function textToken(owner: ArrayOwner, value: string, signal: AbortSignal): Promise<OwnedText>;
16
+ export declare function valueToken(owner: ArrayOwner, value: ShellValue, signal: AbortSignal): Promise<OwnedText>;
14
17
  export interface Element {
15
18
  readonly text: OwnedText;
16
19
  readonly slot: Admission;
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/shell/arrays/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/shell/arrays/bindings.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Admission, ArrayFailure, ArrayOwner, exactSum } from "./ledger.js";
2
+ import { shellValueByteLength, shellValueBytes, shellValueFromBytes, shellValueText } from "../../contracts/value.js";
2
3
  export const controlNames = new Set([
3
4
  "PATH", "PWD", "OLDPWD", "HOME", "CDPATH", "IFS", "OPTIND", "OPTERR", "OPTARG", "REPLY", "LANG", "LC_ALL", "LC_CTYPE",
4
5
  ]);
@@ -6,11 +7,13 @@ export class OwnedText {
6
7
  value;
7
8
  bytes;
8
9
  admission;
10
+ rawValue;
9
11
  references = 1;
10
- constructor(value, bytes, admission) {
12
+ constructor(value, bytes, admission, rawValue) {
11
13
  this.value = value;
12
14
  this.bytes = bytes;
13
15
  this.admission = admission;
16
+ this.rawValue = rawValue;
14
17
  }
15
18
  retain() {
16
19
  if (this.references === Number.MAX_SAFE_INTEGER)
@@ -38,6 +41,46 @@ export async function textToken(owner, value, signal) {
38
41
  const admission = owner.reserve({ payload: bytes, metadata: 32, work: 4 });
39
42
  return new OwnedText(value, bytes, admission);
40
43
  }
44
+ export async function valueToken(owner, value, signal) {
45
+ if (typeof value === "string")
46
+ return textToken(owner, value, signal);
47
+ const bytes = shellValueByteLength(value);
48
+ const temporary = owner.reserve({ payload: bytes * 3, metadata: 64, work: 4 });
49
+ try {
50
+ const input = shellValueBytes(value);
51
+ const decoder = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
52
+ let text = "";
53
+ for (let offset = 0; offset < bytes; offset += 1024) {
54
+ const end = Math.min(bytes, offset + 1024);
55
+ owner.reserve({ work: end - offset }).release();
56
+ await owner.ledger.checkpoint(signal, end - offset);
57
+ if (text !== undefined)
58
+ try {
59
+ text += decoder.decode(input.subarray(offset, end), { stream: end < bytes });
60
+ }
61
+ catch (error) {
62
+ if (!(error instanceof TypeError) || "code" in error && error.code !== "ERR_ENCODING_INVALID_ENCODED_DATA")
63
+ throw error;
64
+ text = undefined;
65
+ }
66
+ }
67
+ if (text !== undefined)
68
+ return await textToken(owner, text, signal);
69
+ // Invalid UTF-8 needs an owned raw copy and its decoded projection.
70
+ const admission = owner.reserve({ payload: bytes * 4, metadata: 128, work: 4 });
71
+ try {
72
+ const raw = shellValueFromBytes(input);
73
+ return new OwnedText(shellValueText(raw), bytes, admission, raw);
74
+ }
75
+ catch (error) {
76
+ admission.release();
77
+ throw error;
78
+ }
79
+ }
80
+ finally {
81
+ temporary.release();
82
+ }
83
+ }
41
84
  export class IndexedBinding {
42
85
  owner;
43
86
  values = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../src/shell/arrays/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../src/shell/arrays/bindings.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@ export declare class ShellInput implements ByteSource, CommandInput {
35
35
  value: ShellValue;
36
36
  terminated: boolean;
37
37
  }>;
38
+ mapfileRecord(delimiter: number, strip: boolean, allocation: ValueAllocation): Promise<{
39
+ value: ShellValue;
40
+ present: boolean;
41
+ }>;
38
42
  private readBounded;
39
43
  private readLine;
40
44
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/shell/input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAkB,QAAQ,EAAE,UAAU,EAA0B,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEvJ,OAAO,EAAE,MAAM,EAAiB,MAAM,cAAc,CAAC;AACrD,OAAO,EAA0C,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEtH,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,wBAAsB,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,GAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,cAAc,CAAM,EAAE,SAAS,CAAC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC,CAwIrS;AAyHD,qBAAa,UAAW,YAAW,UAAU,EAAE,YAAY;;IAUzB,QAAQ,CAAC,MAAM,EAAE,MAAM;IALvD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAGtC,MAAM,EAAE,UAAU,EAAW,MAAM,EAAE,MAAM,EAAE,MAAM,cAAgB,EAAE,UAAU,GAAE,eAAoB;IAejH,IAAI,QAAQ,IAAI,MAAM,CAAkC;IAExD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAoDtF,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAQ3C,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC;IAI3D,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA4B7C,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzL,kFAAkF;IAClF,UAAU,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;YA4C9E,WAAW;YAiEX,QAAQ;IAqDtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAOvB"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/shell/input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAkB,QAAQ,EAAE,UAAU,EAA0B,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEvJ,OAAO,EAAE,MAAM,EAAiB,MAAM,cAAc,CAAC;AACrD,OAAO,EAA0C,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEtH,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,wBAAsB,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,GAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,cAAc,CAAM,EAAE,SAAS,CAAC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC,CAwIrS;AAyHD,qBAAa,UAAW,YAAW,UAAU,EAAE,YAAY;;IAUzB,QAAQ,CAAC,MAAM,EAAE,MAAM;IALvD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAGtC,MAAM,EAAE,UAAU,EAAW,MAAM,EAAE,MAAM,EAAE,MAAM,cAAgB,EAAE,UAAU,GAAE,eAAoB;IAejH,IAAI,QAAQ,IAAI,MAAM,CAAkC;IAExD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAoDtF,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAQ3C,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC;IAI3D,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA4B7C,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzL,kFAAkF;IAClF,UAAU,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IA4C5F,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;YA8CjH,WAAW;YAiEX,QAAQ;IAqDtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAOvB"}
@@ -490,6 +490,59 @@ export class ShellInput {
490
490
  }
491
491
  });
492
492
  }
493
+ mapfileRecord(delimiter, strip, allocation) {
494
+ return this.#cursor.consume(this.signal, async () => {
495
+ this.#cursor.admitBoundedRead();
496
+ allocation.reserve(64, 0);
497
+ const parts = [];
498
+ let length = 0;
499
+ let truncated = false;
500
+ let pulls = 0;
501
+ while (true) {
502
+ if (++pulls % 128 === 0)
503
+ await yieldTurn(this.signal);
504
+ const result = await this.#cursor.take(this.signal);
505
+ if (result.done)
506
+ return { value: concatShellValues(parts, allocation), present: length > 0 };
507
+ const chunk = result.value;
508
+ for (let offset = 0; offset < chunk.length;) {
509
+ await yieldTurn(this.signal);
510
+ if (length >= this.budget.limits.maxOutputBytes)
511
+ this.budget.fail("maxOutputBytes");
512
+ const end = Math.min(offset + 1024, chunk.length, offset + this.budget.limits.maxOutputBytes - length);
513
+ allocation.reserve(end - offset + 64, 0);
514
+ const output = new Uint8Array(end - offset);
515
+ let used = 0;
516
+ let terminated = false;
517
+ while (offset < end) {
518
+ const byte = chunk[offset++];
519
+ this.#cursor.position++;
520
+ if (++length > this.budget.limits.maxOutputBytes)
521
+ this.budget.fail("maxOutputBytes");
522
+ if (byte === delimiter) {
523
+ if (!strip && byte !== 0 && !truncated)
524
+ output[used++] = byte;
525
+ terminated = true;
526
+ break;
527
+ }
528
+ if (byte === 0)
529
+ truncated = true;
530
+ if (!truncated)
531
+ output[used++] = byte;
532
+ }
533
+ if (used) {
534
+ allocation.reserve(32, 0);
535
+ parts.push(shellValueFromBytes(output.subarray(0, used), allocation));
536
+ }
537
+ if (terminated) {
538
+ if (offset < chunk.length)
539
+ this.#cursor.remainder = chunk.subarray(offset);
540
+ return { value: concatShellValues(parts, allocation), present: true };
541
+ }
542
+ }
543
+ }
544
+ });
545
+ }
493
546
  async readBounded(raw, options) {
494
547
  const text = new ReadText();
495
548
  let characters = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/shell/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/shell/input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type CommandContext } from "../contracts/index.js";
2
+ import type { ShellValue, ValueAllocation } from "../contracts/value.js";
3
+ import { type StringWork } from "./string-operations.js";
4
+ import type { ShellInput } from "./input.js";
5
+ export declare class MapfileUsageError extends Error {
6
+ readonly status: number;
7
+ constructor(message: string, status: number);
8
+ }
9
+ export interface MapfileOptions {
10
+ name: string;
11
+ strip: boolean;
12
+ delimiter: number;
13
+ count: number;
14
+ skip: number;
15
+ origin: number;
16
+ preserve: boolean;
17
+ callback: string | undefined;
18
+ quantum: number;
19
+ }
20
+ export declare function mapfileOptions(context: CommandContext, work: StringWork, allocation: ValueAllocation): Promise<MapfileOptions>;
21
+ export declare function collectMapfile(options: MapfileOptions, input: ShellInput, hooks: {
22
+ allocation(): ValueAllocation & {
23
+ close(): void;
24
+ };
25
+ loop(): void;
26
+ write(index: number, value: ShellValue): Promise<void>;
27
+ callback(source: string, index: number, value: ShellValue): Promise<void>;
28
+ }): Promise<void>;
29
+ //# sourceMappingURL=mapfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapfile.d.ts","sourceRoot":"","sources":["../../src/shell/mapfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,KAAK;IACb,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAxC,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CACrD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAiEpI;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IACtF,UAAU,IAAI,eAAe,GAAG;QAAE,KAAK,IAAI,IAAI,CAAA;KAAE,CAAC;IAClD,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhB"}
@@ -0,0 +1,134 @@
1
+ import { getCommandArguments } from "../contracts/index.js";
2
+ import { shellValueBytes } from "../contracts/value.js";
3
+ import { stringCheckpoint } from "./string-operations.js";
4
+ export class MapfileUsageError extends Error {
5
+ status;
6
+ constructor(message, status) {
7
+ super(message);
8
+ this.status = status;
9
+ }
10
+ }
11
+ export async function mapfileOptions(context, work, allocation) {
12
+ const options = { name: "MAPFILE", strip: false, delimiter: 10, count: 0, skip: 0, origin: 0, preserve: false, callback: undefined, quantum: 5000 };
13
+ const args = getCommandArguments(context);
14
+ let cursor = 0;
15
+ const numeric = async (text, maximum) => {
16
+ let value = 0;
17
+ let index = 0;
18
+ const whitespace = (code) => code === 32 || (code >= 9 && code <= 13);
19
+ while (index < text.length && whitespace(text.charCodeAt(index))) {
20
+ const pending = stringCheckpoint(work);
21
+ if (pending)
22
+ await pending;
23
+ index++;
24
+ }
25
+ const negative = text[index] === "-";
26
+ if (negative || text[index] === "+")
27
+ index++;
28
+ let digits = 0;
29
+ for (; index < text.length; index++) {
30
+ const pending = stringCheckpoint(work);
31
+ if (pending)
32
+ await pending;
33
+ const digit = text.charCodeAt(index) - 48;
34
+ if (digit < 0 || digit > 9)
35
+ break;
36
+ if (value > Math.floor((maximum - digit) / 10))
37
+ throw new MapfileUsageError(`${text}: invalid number`, 1);
38
+ value = value * 10 + digit;
39
+ digits++;
40
+ }
41
+ for (; index < text.length; index++) {
42
+ const pending = stringCheckpoint(work);
43
+ if (pending)
44
+ await pending;
45
+ if (!whitespace(text.charCodeAt(index)))
46
+ throw new MapfileUsageError(`${text}: invalid number`, 1);
47
+ }
48
+ if (!digits || (negative && value !== 0))
49
+ throw new MapfileUsageError(`${text}: invalid number`, 1);
50
+ return value;
51
+ };
52
+ while (cursor < context.args.length) {
53
+ const option = context.args[cursor];
54
+ if (option === "--") {
55
+ cursor++;
56
+ break;
57
+ }
58
+ if (!option.startsWith("-") || option === "-")
59
+ break;
60
+ cursor++;
61
+ for (let index = 1; index < option.length; index++) {
62
+ const pending = stringCheckpoint(work);
63
+ if (pending)
64
+ await pending;
65
+ const flag = option[index];
66
+ if (flag === "t") {
67
+ options.strip = true;
68
+ continue;
69
+ }
70
+ if (!"dnsOCc".includes(flag))
71
+ throw new MapfileUsageError(`-${flag}: invalid option`, 2);
72
+ const attached = index + 1 < option.length;
73
+ const operandIndex = attached ? cursor - 1 : cursor++;
74
+ const operand = attached ? option.slice(index + 1) : context.args[operandIndex];
75
+ if (operand === undefined)
76
+ throw new MapfileUsageError(`-${flag}: option requires an argument`, 2);
77
+ if (flag === "d") {
78
+ const bytes = shellValueBytes(args.values[operandIndex], allocation);
79
+ options.delimiter = bytes[attached ? index + 1 : 0] ?? 0;
80
+ }
81
+ else if (flag === "C")
82
+ options.callback = operand;
83
+ else {
84
+ const value = await numeric(operand, flag === "O" ? 2147483647 : Number.MAX_SAFE_INTEGER);
85
+ if (flag === "c") {
86
+ if (!value)
87
+ throw new MapfileUsageError("0: invalid callback quantum", 1);
88
+ options.quantum = value;
89
+ }
90
+ else if (flag === "n")
91
+ options.count = value;
92
+ else if (flag === "s")
93
+ options.skip = value;
94
+ else {
95
+ options.origin = value;
96
+ options.preserve = true;
97
+ }
98
+ }
99
+ break;
100
+ }
101
+ }
102
+ options.name = context.args[cursor] ?? "MAPFILE";
103
+ if (!/^[a-zA-Z_][a-zA-Z_0-9]*$/u.test(options.name))
104
+ throw new MapfileUsageError(`${options.name}: invalid identifier`, 1);
105
+ return options;
106
+ }
107
+ export async function collectMapfile(options, input, hooks) {
108
+ let skipped = 0;
109
+ let written = 0;
110
+ while (!options.count || written < options.count) {
111
+ hooks.loop();
112
+ const allocation = hooks.allocation();
113
+ try {
114
+ const record = await input.mapfileRecord(options.delimiter, options.strip, allocation);
115
+ if (!record.present)
116
+ break;
117
+ if (skipped < options.skip) {
118
+ skipped++;
119
+ continue;
120
+ }
121
+ const index = options.origin + written;
122
+ if (index > 2147483647)
123
+ throw new MapfileUsageError("array index exceeds 2147483647", 1);
124
+ if (options.callback !== undefined && (written + 1) % options.quantum === 0)
125
+ await hooks.callback(options.callback, index, record.value);
126
+ await hooks.write(index, record.value);
127
+ written++;
128
+ }
129
+ finally {
130
+ allocation.close();
131
+ }
132
+ }
133
+ }
134
+ //# sourceMappingURL=mapfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapfile.js","sourceRoot":"","sources":["../../src/shell/mapfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAG3E,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACJ;IAAtC,YAAY,OAAe,EAAW,MAAc;QAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAAjC,WAAM,GAAN,MAAM,CAAQ;IAAoB,CAAC;CAC1E;AAcD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB,EAAE,IAAgB,EAAE,UAA2B;IACzG,MAAM,OAAO,GAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpK,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,OAAe,EAAmB,EAAE;QACvE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACvF,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,KAAK,EAAE,CAAC;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;QACrC,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC1C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM;YAClC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;YAC1G,KAAK,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC;YAC3B,MAAM,EAAE,CAAC;QACX,CAAC;QACD,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,OAAO,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC;QACrC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAAC,MAAM,EAAE,CAAC;YAAC,MAAM;QAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QACrD,MAAM,EAAE,CAAC;QACT,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;YAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,SAAS;YAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChF,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,iBAAiB,CAAC,IAAI,IAAI,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACnG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,EAAE,UAAU,CAAC,CAAC;gBACtE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;iBAC/C,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC1F,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBAAC,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,iBAAiB,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;oBAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;gBAAC,CAAC;qBACpH,IAAI,IAAI,KAAK,GAAG;oBAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;qBACxC,IAAI,IAAI,KAAK,GAAG;oBAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;qBACvC,CAAC;oBAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;oBAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAAC,CAAC;YAC3D,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IACjD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC,CAAC;IAC3H,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB,EAAE,KAAiB,EAAE,KAKhF;IACC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM;YAC3B,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YACvC,IAAI,KAAK,GAAG,UAAU;gBAAE,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACzF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACzI,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC;gBAAS,CAAC;YAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -211,7 +211,7 @@ export declare class Runtime {
211
211
  discardVariable(saved: SavedVariable): Promise<void>;
212
212
  indexedEnvironment(state: State, env: Readonly<Record<string, string>>): Promise<void>;
213
213
  unsetIndexed(state: State, name: string, index?: number | "members"): Promise<void>;
214
- arrayZero(state: State, name: string, expand: () => Promise<string>, append?: boolean, freeze?: boolean): Promise<void>;
214
+ arrayZero(state: State, name: string, expand: () => Promise<ShellValue>, append?: boolean, freeze?: boolean): Promise<void>;
215
215
  arrayJoin(owner: ArrayOwner, values: readonly string[], separator: string): Promise<string>;
216
216
  arrayAssignment(assignment: ArrayAssignment, state: State, io: IO): Promise<void>;
217
217
  run(script: Script, state: State, io: IO): Promise<number>;
@@ -280,6 +280,7 @@ export declare class Runtime {
280
280
  private directoryStackBuiltin;
281
281
  private shoptBuiltin;
282
282
  private printfVariable;
283
+ private mapfileBuiltin;
283
284
  builtin(context: CommandContext & IO, state: State, assignments: Map<string, SavedVariable>, diagnose?: (error: unknown, diagnostic: string) => void, suppressSpecial?: boolean): Promise<number | undefined>;
284
285
  words(words: readonly Word[], state: State, io: IO, declaration?: boolean): Promise<string[]>;
285
286
  private valueWords;
@@ -305,7 +306,7 @@ export declare class Runtime {
305
306
  private positionalValues;
306
307
  private replacePositionals;
307
308
  private admitArguments;
308
- arrayMembers(name: string, state: State): Promise<string[]>;
309
+ arrayMembers(name: string, state: State, io: IO): Promise<ShellValue[]>;
309
310
  private recursiveGlob;
310
311
  glob(value: string, pattern: string, state: State): Promise<string[]>;
311
312
  }