@poe-platform/safe-bash 0.1.601 → 0.1.603

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 (100) hide show
  1. package/dist/safe-bash/chunks/{chunk-IYFB6VED.js → chunk-4BYUV5PA.js} +6 -4
  2. package/dist/safe-bash/chunks/{chunk-IYFB6VED.js.map → chunk-4BYUV5PA.js.map} +1 -1
  3. package/dist/safe-bash/chunks/{chunk-PE5NZIA2.js → chunk-6LSSEOG7.js} +3 -3
  4. package/dist/safe-bash/chunks/{chunk-3Y5PKSHX.js → chunk-AD7UAP5B.js} +10 -8
  5. package/dist/safe-bash/chunks/{chunk-3Y5PKSHX.js.map → chunk-AD7UAP5B.js.map} +1 -1
  6. package/dist/safe-bash/chunks/{chunk-XBLVOMEJ.js → chunk-AFH57PPL.js} +2 -2
  7. package/dist/safe-bash/chunks/{chunk-FMTBJ7SG.js → chunk-CEPNDODE.js} +3 -3
  8. package/dist/safe-bash/chunks/chunk-CXMIIXJA.js +178 -0
  9. package/dist/safe-bash/chunks/chunk-CXMIIXJA.js.map +7 -0
  10. package/dist/safe-bash/chunks/{chunk-E3NZKSTA.js → chunk-F5TCC4UG.js} +12 -10
  11. package/dist/safe-bash/chunks/{chunk-E3NZKSTA.js.map → chunk-F5TCC4UG.js.map} +1 -1
  12. package/dist/safe-bash/chunks/{chunk-TJVKGNKA.js → chunk-FWDMJTQO.js} +9 -7
  13. package/dist/safe-bash/chunks/{chunk-TJVKGNKA.js.map → chunk-FWDMJTQO.js.map} +1 -1
  14. package/dist/safe-bash/chunks/{chunk-LHKAA57T.js → chunk-GFZKQIPL.js} +8 -6
  15. package/dist/safe-bash/chunks/{chunk-LHKAA57T.js.map → chunk-GFZKQIPL.js.map} +1 -1
  16. package/dist/safe-bash/chunks/{chunk-W3TLNFDB.js → chunk-HHJSJWUD.js} +9 -7
  17. package/dist/safe-bash/chunks/{chunk-W3TLNFDB.js.map → chunk-HHJSJWUD.js.map} +1 -1
  18. package/dist/safe-bash/chunks/{chunk-XYVCXUGM.js → chunk-KZ7QCYNT.js} +10 -8
  19. package/dist/safe-bash/chunks/{chunk-XYVCXUGM.js.map → chunk-KZ7QCYNT.js.map} +1 -1
  20. package/dist/safe-bash/chunks/{chunk-HQCBEAFK.js → chunk-N5CYTGBN.js} +10 -8
  21. package/dist/safe-bash/chunks/{chunk-HQCBEAFK.js.map → chunk-N5CYTGBN.js.map} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-H6E6F5KJ.js → chunk-PCLOK32J.js} +9 -7
  23. package/dist/safe-bash/chunks/{chunk-H6E6F5KJ.js.map → chunk-PCLOK32J.js.map} +1 -1
  24. package/dist/safe-bash/chunks/{chunk-BXVGCJXW.js → chunk-PFMSKAFQ.js} +12 -10
  25. package/dist/safe-bash/chunks/{chunk-BXVGCJXW.js.map → chunk-PFMSKAFQ.js.map} +1 -1
  26. package/dist/safe-bash/chunks/{chunk-PMBBUNNN.js → chunk-PW4WQSCS.js} +11 -9
  27. package/dist/safe-bash/chunks/{chunk-PMBBUNNN.js.map → chunk-PW4WQSCS.js.map} +1 -1
  28. package/dist/safe-bash/chunks/{chunk-OECKXHVJ.js → chunk-RNKTWFEM.js} +2 -2
  29. package/dist/safe-bash/chunks/{chunk-2PQ3XOCQ.js → chunk-UYX72YHY.js} +4 -172
  30. package/dist/safe-bash/chunks/chunk-UYX72YHY.js.map +7 -0
  31. package/dist/safe-bash/chunks/{chunk-QAZN7SAN.js → chunk-WPEMUXV4.js} +7 -5
  32. package/dist/safe-bash/chunks/{chunk-QAZN7SAN.js.map → chunk-WPEMUXV4.js.map} +1 -1
  33. package/dist/safe-bash/commands/csplit/index.browser.js +5 -4
  34. package/dist/safe-bash/commands/factor/index.browser.js +4 -3
  35. package/dist/safe-bash/commands/getopt/index.browser.js +4 -3
  36. package/dist/safe-bash/commands/hexdump/index.browser.js +4 -3
  37. package/dist/safe-bash/commands/iconv/index.browser.js +4 -3
  38. package/dist/safe-bash/commands/line-endings/index.browser.js +5 -4
  39. package/dist/safe-bash/commands/llm/index.browser.js +5 -4
  40. package/dist/safe-bash/commands/network/index.browser.js +6 -5
  41. package/dist/safe-bash/commands/op/index.browser.js +5664 -0
  42. package/dist/safe-bash/commands/op/index.browser.js.map +7 -0
  43. package/dist/safe-bash/commands/op/index.d.ts +14 -0
  44. package/dist/safe-bash/commands/op/index.d.ts.map +1 -0
  45. package/dist/safe-bash/commands/op/index.js +4684 -0
  46. package/dist/safe-bash/commands/op/index.js.map +7 -0
  47. package/dist/safe-bash/commands/op/op.test.d.ts +2 -0
  48. package/dist/safe-bash/commands/op/op.test.d.ts.map +1 -0
  49. package/dist/safe-bash/commands/op/op.test.js +159 -0
  50. package/dist/safe-bash/commands/op/op.test.js.map +1 -0
  51. package/dist/safe-bash/commands/pr/index.browser.js +4 -3
  52. package/dist/safe-bash/commands/tsort/index.browser.js +4 -3
  53. package/dist/safe-bash/commands/xml/index.browser.js +5 -4
  54. package/dist/safe-bash/commands/yq/index.browser.js +6 -5
  55. package/dist/safe-bash/core.browser.js +455 -101
  56. package/dist/safe-bash/core.browser.js.map +4 -4
  57. package/dist/safe-bash/index.d.ts +1 -0
  58. package/dist/safe-bash/index.d.ts.map +1 -1
  59. package/dist/safe-bash/index.js +1 -0
  60. package/dist/safe-bash/index.js.map +1 -1
  61. package/dist/safe-bash/internal/op/admin.d.ts +31 -0
  62. package/dist/safe-bash/internal/op/backend.d.ts +8 -0
  63. package/dist/safe-bash/internal/op/cli.d.ts +80 -0
  64. package/dist/safe-bash/internal/op/documents.d.ts +6 -0
  65. package/dist/safe-bash/internal/op/encoding.d.ts +15 -0
  66. package/dist/safe-bash/internal/op/environment-commands.d.ts +11 -0
  67. package/dist/safe-bash/internal/op/environment.d.ts +9 -0
  68. package/dist/safe-bash/internal/op/file-mode.d.ts +1 -0
  69. package/dist/safe-bash/internal/op/host-contracts.d.ts +12 -0
  70. package/dist/safe-bash/internal/op/index.d.ts +19 -0
  71. package/dist/safe-bash/internal/op/items.d.ts +3 -0
  72. package/dist/safe-bash/internal/op/references.d.ts +4 -0
  73. package/dist/safe-bash/internal/op/secrets.d.ts +13 -0
  74. package/dist/safe-bash/internal/op/templates.d.ts +10 -0
  75. package/dist/safe-bash/internal/op/types.d.ts +202 -0
  76. package/dist/safe-bash/shell/arrays/state.js +1 -1
  77. package/dist/safe-bash/shell/arrays/state.js.map +1 -1
  78. package/dist/safe-bash/shell/background-jobs.d.ts +39 -0
  79. package/dist/safe-bash/shell/background-jobs.d.ts.map +1 -0
  80. package/dist/safe-bash/shell/background-jobs.js +85 -0
  81. package/dist/safe-bash/shell/background-jobs.js.map +1 -0
  82. package/dist/safe-bash/shell/display.js +7 -7
  83. package/dist/safe-bash/shell/display.js.map +1 -1
  84. package/dist/safe-bash/shell/parser.d.ts +1 -0
  85. package/dist/safe-bash/shell/parser.d.ts.map +1 -1
  86. package/dist/safe-bash/shell/parser.js +8 -8
  87. package/dist/safe-bash/shell/parser.js.map +1 -1
  88. package/dist/safe-bash/shell/runtime.d.ts +7 -1
  89. package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
  90. package/dist/safe-bash/shell/runtime.js +295 -46
  91. package/dist/safe-bash/shell/runtime.js.map +1 -1
  92. package/dist/safe-bash/shell/shell.d.ts.map +1 -1
  93. package/dist/safe-bash/shell/shell.js +11 -2
  94. package/dist/safe-bash/shell/shell.js.map +1 -1
  95. package/package.json +9 -2
  96. package/dist/safe-bash/chunks/chunk-2PQ3XOCQ.js.map +0 -7
  97. /package/dist/safe-bash/chunks/{chunk-PE5NZIA2.js.map → chunk-6LSSEOG7.js.map} +0 -0
  98. /package/dist/safe-bash/chunks/{chunk-XBLVOMEJ.js.map → chunk-AFH57PPL.js.map} +0 -0
  99. /package/dist/safe-bash/chunks/{chunk-FMTBJ7SG.js.map → chunk-CEPNDODE.js.map} +0 -0
  100. /package/dist/safe-bash/chunks/{chunk-OECKXHVJ.js.map → chunk-RNKTWFEM.js.map} +0 -0
@@ -1,14 +1,16 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-OECKXHVJ.js";
3
+ } from "./chunk-RNKTWFEM.js";
4
4
  import {
5
- FsError,
6
5
  PublicDiagnostic,
7
6
  getCommandArguments,
8
7
  shellValueByteLength,
9
8
  shellValueBytes,
10
9
  yieldTurn
11
- } from "./chunk-2PQ3XOCQ.js";
10
+ } from "./chunk-UYX72YHY.js";
11
+ import {
12
+ FsError
13
+ } from "./chunk-CXMIIXJA.js";
12
14
  import {
13
15
  init_platform
14
16
  } from "./chunk-2KL6W6NB.js";
@@ -526,4 +528,4 @@ export {
526
528
  createFactorCommands,
527
529
  factorCommands
528
530
  };
529
- //# sourceMappingURL=chunk-IYFB6VED.js.map
531
+ //# sourceMappingURL=chunk-4BYUV5PA.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/factor/index.ts", "../../src/commands/factor/command.ts", "../../src/commands/factor/internal.ts", "../../src/commands/factor/io.ts", "../../src/commands/factor/factor.ts"],
4
4
  "sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createFactorCommand } from \"./command.js\";\nimport type { FactorCommandsOptions } from \"./internal.js\";\n\nexport { createFactorCommand } from \"./command.js\";\nexport type { FactorCommandsOptions, FactorLimits } from \"./internal.js\";\n\nexport function createFactorCommands(options: FactorCommandsOptions = {}): readonly CommandDefinition[] {\n return [createFactorCommand(options)];\n}\n\nexport function factorCommands(options: FactorCommandsOptions = {}): VirtualShellPlugin {\n const commands = createFactorCommands(options);\n return { name: \"factor-commands\", setup(host) {\n for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });\n } };\n}\n", "import type { CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { Budget, FactorError, bytes, quote, settings, type FactorCommandsOptions } from \"./internal.js\";\nimport { Lifecycle, RecordWriter, TokenReader } from \"./io.js\";\nimport { factorRecord, parseNumber } from \"./factor.js\";\n\nexport function createFactorCommand(options: FactorCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"factor\", description: \"Print prime factors of bounded nonnegative integers\", async execute(context) {\n const output = createOutputOperation(context, context.stdout);\n const budget = new Budget(context, limits, output.signal);\n let lifecycle: Lifecycle | undefined;\n let failure: { reason: unknown } | undefined;\n let primary: { reason: unknown } | undefined;\n let exitCode = 0;\n try {\n lifecycle = new Lifecycle(budget, output);\n const operands: string[] = [];\n let optionsEnded = false, debug = false;\n let information: \"help\" | \"version\" | undefined;\n for (const argument of budget.arguments()) {\n if (!optionsEnded && argument === \"--\") { optionsEnded = true; continue; }\n if (!optionsEnded && argument.startsWith(\"--\")) {\n const equals = argument.indexOf(\"=\");\n const option = equals < 0 ? argument.slice(2) : argument.slice(2, equals);\n const matches = [\"-debug\", \"help\", \"version\"].filter(name => name.startsWith(option));\n if (matches.length > 1) throw new FactorError(`option '${argument}' is ambiguous; possibilities: ${matches.map(name => `'--${name}'`).join(\" \")}`, true);\n const matched = matches[0];\n if (!matched) throw new FactorError(`unrecognized option '${argument}'`, true);\n if (equals >= 0) throw new FactorError(`option '--${matched}' doesn't allow an argument`, true);\n if (matched === \"-debug\") debug = true;\n else { information = matched as \"help\" | \"version\"; break; }\n } else {\n if (!optionsEnded && argument.length > 1 && argument.startsWith(\"-\")) throw new FactorError(`invalid option -- '${argument[1]}'`, true);\n operands.push(argument);\n if (context.env.POSIXLY_CORRECT !== undefined) optionsEnded = true;\n }\n }\n if (information) {\n const message = information === \"version\" ? \"factor (virtual-bash)\\n\" : `Usage: factor [NUMBER]...\\nPrint prime factors; with no numbers, read standard input.\\nOptions: --help --version\\nMaximum supported value: ${limits.maxValue}\\n`;\n budget.outputRoom(message.length);\n await lifecycle.write(bytes(message));\n } else {\n const writer = new RecordWriter(lifecycle);\n const process = async (input: string): Promise<void> => {\n budget.number();\n budget.check(input.length, limits.maxTokenBytes, \"token bytes\");\n const value = await parseNumber(input, budget);\n if (typeof value === \"string\") {\n exitCode = 1;\n const suffix = value === \"invalid\" ? \" is not a valid positive integer\\n\" : ` exceeds supported maximum ${limits.maxValue}\\n`;\n await lifecycle!.diagnostic(`factor: ${quote(input, budget, 8 + suffix.length)}${suffix}`);\n } else {\n if (debug) await lifecycle!.diagnostic(\"[using single-precision arithmetic] \");\n await writer.append(await factorRecord(value, budget));\n }\n };\n if (operands.length) { for (const operand of operands) await process(operand); }\n else {\n const reader = new TokenReader(lifecycle);\n for (;;) {\n const token = await reader.next();\n if (token === undefined) break;\n try { await process(token); } finally { budget.retain(-token.length * 4); }\n }\n }\n await writer.finish();\n }\n } catch (error) {\n primary = { reason: error };\n if (error instanceof FactorError && !output.signal.aborted && lifecycle) {\n exitCode = 1;\n try { await lifecycle.diagnostic(`factor: ${error.message}\\n${error.usage ? \"Try 'factor --help' for more information.\\n\" : \"\"}`); }\n catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"factor failure reporting failed\") }; }\n } else failure = { reason: error };\n }\n try { await output.close(); }\n catch (cleanup) {\n const previous = failure ?? primary;\n failure = { reason: previous ? new AggregateError([previous.reason, cleanup], \"factor execution and cleanup failed\") : cleanup };\n }\n context.signal.throwIfAborted();\n output.signal.throwIfAborted();\n if (failure) throw failure.reason;\n return { exitCode };\n } };\n}\n", "import { getCommandArguments, type CommandContext } from \"../../contracts/index.js\";\nimport { shellValueByteLength, shellValueBytes } from \"../../contracts/value.js\";\nimport { yieldTurn } from \"../../contracts/yield.js\";\nimport { PublicDiagnostic } from \"../../diagnostics.js\";\n\nexport interface FactorLimits {\n readonly maxValue: number;\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxInputBytes: number;\n readonly maxTokenBytes: number;\n readonly maxNumbers: number;\n readonly maxBufferedBytes: number;\n readonly maxOutputBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxWork: number;\n readonly maxEmptyChunks: number;\n}\n\nexport interface FactorCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<FactorLimits>;\n}\n\nexport function settings(options: FactorCommandsOptions): FactorLimits {\n const limits: FactorLimits = {\n maxValue: 4_294_967_295, maxArguments: 4096, maxArgumentBytes: 65_536,\n maxInputBytes: 16_777_216, maxTokenBytes: 65_536, maxNumbers: 65_536,\n maxBufferedBytes: 4_194_304, maxOutputBytes: 16_777_216,\n maxDiagnosticBytes: 65_536, maxWork: 8_388_608, maxEmptyChunks: 4096, ...options.limits,\n };\n for (const [name, value] of Object.entries(limits)) {\n if (!Number.isSafeInteger(value) || value < 1) throw new RangeError(`Invalid factor limit: ${name}`);\n }\n if (limits.maxValue > 4_294_967_295) throw new RangeError(\"factor maxValue cannot exceed 4294967295\");\n return Object.freeze(limits);\n}\n\nexport class FactorError extends PublicDiagnostic {\n constructor(message: string, readonly usage = false) { super(message); }\n}\n\nexport function raw(value: Uint8Array): string {\n let result = \"\";\n for (let offset = 0; offset < value.length; offset += 4096) result += String.fromCharCode(...value.subarray(offset, offset + 4096));\n return result;\n}\n\nexport function bytes(value: string): Uint8Array {\n return Uint8Array.from(value, character => character.charCodeAt(0));\n}\n\nconst escapes: Readonly<Record<string, string>> = { \"\\x07\": \"\\\\a\", \"\\b\": \"\\\\b\", \"\\f\": \"\\\\f\", \"\\n\": \"\\\\n\", \"\\r\": \"\\\\r\", \"\\t\": \"\\\\t\", \"\\v\": \"\\\\v\", \"\\\\\": \"\\\\\\\\\", \"'\": \"\\\\'\" };\n\nexport function quote(value: string, budget: Budget, suffixLength: number): string {\n let length = 2;\n for (const character of value) {\n const code = character.charCodeAt(0);\n length += escapes[character]?.length ?? (code >= 32 && code < 127 ? 1 : 4);\n }\n budget.diagnosticRoom(length + suffixLength);\n let result = \"'\";\n for (const character of value) {\n const code = character.charCodeAt(0);\n result += escapes[character] ?? (code >= 32 && code < 127 ? character : `\\\\${code.toString(8).padStart(3, \"0\")}`);\n }\n return `${result}'`;\n}\n\nexport class Budget {\n private work = 0;\n private checkpoint = 0;\n private retained = 0;\n private input = 0;\n private numbers = 0;\n private output = 0;\n private diagnostics = 0;\n constructor(readonly context: CommandContext, readonly limits: FactorLimits, readonly signal: AbortSignal) {}\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new FactorError(`${label} limit exceeded`);\n }\n charge(amount = 1): void {\n this.signal.throwIfAborted();\n this.check(this.work + amount, this.limits.maxWork, \"work\");\n this.work += amount;\n }\n async checkpointWork(): Promise<void> {\n this.signal.throwIfAborted();\n if (this.work - this.checkpoint >= 1024) { this.checkpoint = this.work; await yieldTurn(this.signal); }\n }\n retain(amount: number): void {\n this.check(this.retained + amount, this.limits.maxBufferedBytes, \"buffered bytes\");\n this.retained += amount;\n }\n number(): void { this.check(++this.numbers, this.limits.maxNumbers, \"numbers\"); this.charge(); }\n inputBytes(amount: number): void {\n this.check(this.input + amount, this.limits.maxInputBytes, \"input bytes\");\n this.input += amount;\n }\n outputRoom(amount: number): void { this.check(this.output + amount, this.limits.maxOutputBytes, \"output bytes\"); }\n diagnosticRoom(amount: number): void { this.check(this.diagnostics + amount, this.limits.maxDiagnosticBytes, \"diagnostic bytes\"); }\n emitted(amount: number, diagnostic: boolean): void {\n if (diagnostic) { this.diagnosticRoom(amount); this.diagnostics += amount; }\n else { this.outputRoom(amount); this.charge(amount); this.output += amount; }\n }\n arguments(): string[] {\n this.check(this.context.args.length, this.limits.maxArguments, \"argument count\");\n let total = 0;\n for (const argument of this.context.args) {\n total += argument.length;\n this.check(total, this.limits.maxArgumentBytes, \"argument bytes\");\n for (let offset = 0; offset < argument.length; offset++) {\n const unit = argument.charCodeAt(offset);\n if (unit >= 0xd800 && unit <= 0xdbff) {\n const next = argument.charCodeAt(++offset);\n if (!(next >= 0xdc00 && next <= 0xdfff)) throw new FactorError(\"arguments must contain well-formed Unicode\");\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new FactorError(\"arguments must contain well-formed Unicode\");\n }\n }\n total = 0;\n const values = this.context.argumentValues === undefined ? this.context.args : getCommandArguments(this.context).values;\n for (const argument of values) { total += shellValueByteLength(argument); this.check(total, this.limits.maxArgumentBytes, \"argument bytes\"); }\n this.charge(total);\n this.retain(total * 8 + this.context.args.length * 64 + 128);\n return getCommandArguments(this.context).values.map(argument => {\n const value = shellValueBytes(argument);\n if (value.includes(0)) throw new FactorError(\"NUL is not supported in arguments\");\n return raw(value);\n });\n }\n}\n", "import { FsError } from \"../../contracts/index.js\";\nimport type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, FactorError, bytes, raw } from \"./internal.js\";\n\nexport class Lifecycle {\n private readonly pending = new Set<Promise<unknown>>();\n private readonly cleanups: (() => Promise<void>)[] = [];\n private closing: Promise<void> | undefined;\n constructor(readonly budget: Budget, output: OutputOperation) { output.registerCleanup(() => this.close()); }\n cleanup(action: () => Promise<void>): void { this.assertOpen(); this.cleanups.push(action); }\n assertOpen(): void {\n this.budget.signal.throwIfAborted();\n if (this.closing) throw new FactorError(\"command is closed\");\n }\n async operation<Value>(action: () => Value | Promise<Value>): Promise<Value> {\n this.assertOpen();\n const pending = Promise.resolve().then(() => { this.assertOpen(); return action(); });\n this.pending.add(pending);\n try { const value = await pending; this.assertOpen(); return value; }\n finally { this.pending.delete(pending); }\n }\n close(): Promise<void> {\n return this.closing ??= Promise.resolve().then(async () => {\n while (this.pending.size) await Promise.allSettled([...this.pending]);\n const failures: unknown[] = [];\n for (const cleanup of this.cleanups) { try { await cleanup(); } catch (error) { failures.push(error); } }\n if (failures.length === 1) throw failures[0];\n if (failures.length > 1) throw new AggregateError(failures, \"factor cleanup failed\");\n });\n }\n async write(value: Uint8Array, diagnostic = false): Promise<void> {\n this.budget.emitted(value.length, diagnostic);\n await this.operation(async () => {\n const sink = diagnostic ? this.budget.context.stderr : this.budget.context.stdout;\n this.assertOpen();\n const destination = sink.ownedOutput ?? sink;\n this.assertOpen();\n const write = destination.write;\n this.assertOpen();\n await Reflect.apply(write, destination, [value]);\n });\n }\n async diagnostic(value: string): Promise<void> {\n this.budget.diagnosticRoom(value.length);\n await this.write(bytes(value), true);\n }\n}\n\nexport class TokenReader {\n private iterator: AsyncIterator<Uint8Array> | undefined;\n private chunk: Uint8Array = new Uint8Array();\n private token: Uint8Array = new Uint8Array();\n private offset = 0;\n private ended = false;\n private empties = 0;\n constructor(readonly lifecycle: Lifecycle) {\n lifecycle.cleanup(async () => {\n try { if (!this.ended) await this.iterator?.return?.(); }\n finally {\n this.iterator = undefined;\n lifecycle.budget.retain(-this.chunk.length - this.token.length);\n this.chunk = new Uint8Array();\n this.token = new Uint8Array();\n }\n });\n }\n private async get(): Promise<number> {\n const { budget } = this.lifecycle;\n budget.charge();\n await budget.checkpointWork();\n while (this.offset === this.chunk.length) {\n if (this.ended) return -1;\n let next: IteratorResult<Uint8Array>;\n try {\n if (!this.iterator) await this.lifecycle.operation(() => {\n const source = budget.context.stdin;\n this.lifecycle.assertOpen();\n const factory = source[Symbol.asyncIterator];\n this.lifecycle.assertOpen();\n this.iterator = Reflect.apply(factory, source, []);\n });\n budget.charge();\n next = await this.lifecycle.operation(() => {\n const iterator = this.iterator!;\n const advance = iterator.next;\n this.lifecycle.assertOpen();\n return Reflect.apply(advance, iterator, []);\n });\n } catch (error) {\n if (error instanceof FsError) throw new FactorError(`standard input: ${error.code === \"EIO\" ? \"Input/output error\" : error.message}`);\n throw error;\n }\n budget.retain(-this.chunk.length);\n this.chunk = new Uint8Array();\n this.offset = 0;\n if (next.done) { this.ended = true; this.iterator = undefined; return -1; }\n if (!(next.value instanceof Uint8Array)) throw new TypeError(\"factor input requires bytes\");\n budget.inputBytes(next.value.length);\n budget.charge(next.value.length);\n budget.retain(next.value.length);\n this.chunk = Uint8Array.from(next.value);\n if (!this.chunk.length) budget.check(++this.empties, budget.limits.maxEmptyChunks, \"empty input chunks\");\n }\n return this.chunk[this.offset++]!;\n }\n async next(): Promise<string | undefined> {\n const { budget } = this.lifecycle;\n let length = 0, kept = 0;\n let nul = false;\n for (;;) {\n const value = await this.get();\n if (value < 0 || value === 32 || value === 9 || value === 10) {\n if (length) { budget.charge(kept); budget.retain(kept * 4); return raw(this.token.subarray(0, kept)); }\n if (value < 0) return undefined;\n } else {\n budget.check(++length, budget.limits.maxTokenBytes, \"token bytes\");\n if (value === 0) nul = true;\n if (!nul) {\n if (kept === this.token.length) {\n const capacity = Math.min(budget.limits.maxTokenBytes, Math.max(64, this.token.length * 2));\n budget.retain(capacity);\n budget.charge(this.token.length);\n const grown = new Uint8Array(capacity);\n grown.set(this.token);\n budget.retain(-this.token.length);\n this.token = grown;\n }\n this.token[kept++] = value;\n }\n }\n }\n }\n}\n\nexport class RecordWriter {\n private buffer: Uint8Array;\n private used = 0;\n constructor(readonly lifecycle: Lifecycle) {\n lifecycle.budget.retain(1024);\n this.buffer = new Uint8Array(1024);\n lifecycle.cleanup(async () => { lifecycle.budget.retain(-this.buffer.length); this.buffer = new Uint8Array(); });\n }\n async append(record: string): Promise<void> {\n const { budget } = this.lifecycle;\n this.lifecycle.assertOpen();\n budget.outputRoom(this.used + record.length);\n budget.charge(record.length);\n for (let offset = 0; offset < record.length; offset++) this.buffer[this.used++] = record.charCodeAt(offset);\n if (this.used >= 512) {\n let end = 512;\n while (this.buffer[end - 1] !== 10) end--;\n await this.lifecycle.write(this.buffer.subarray(0, end));\n this.buffer.copyWithin(0, end, this.used);\n this.used -= end;\n }\n }\n async finish(): Promise<void> {\n if (this.used) { await this.lifecycle.write(this.buffer.subarray(0, this.used)); this.used = 0; }\n }\n}\n", "import { Budget } from \"./internal.js\";\n\nexport async function parseNumber(input: string, budget: Budget): Promise<number | \"invalid\" | \"large\"> {\n let start = 0;\n while (input[start] === \" \") { budget.charge(); start++; await budget.checkpointWork(); }\n if (input[start] === \"+\") start++;\n if (start === input.length) return \"invalid\";\n let result = 0, large = false;\n for (let offset = start; offset < input.length; offset++) {\n budget.charge();\n const digit = input.charCodeAt(offset) - 48;\n if (digit < 0 || digit > 9) return \"invalid\";\n if (!large) {\n if (result > Math.floor((budget.limits.maxValue - digit) / 10)) large = true;\n else result = result * 10 + digit;\n }\n await budget.checkpointWork();\n }\n return large ? \"large\" : result;\n}\n\nexport async function factorRecord(value: number, budget: Budget): Promise<string> {\n let remaining = value;\n const factors: number[] = [];\n budget.retain(512);\n try {\n for (let divisor = 2; divisor * divisor <= remaining; divisor = divisor === 2 ? 3 : divisor + 2) {\n for (;;) {\n budget.charge();\n await budget.checkpointWork();\n if (remaining % divisor !== 0) break;\n budget.charge(2);\n factors.push(divisor);\n remaining /= divisor;\n }\n }\n if (remaining > 1) factors.push(remaining);\n budget.charge(1 + factors.length * 11);\n return `${value}:${factors.map(factor => ` ${factor}`).join(\"\")}\\n`;\n } finally { budget.retain(-512); }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-OECKXHVJ.js";
3
+ } from "./chunk-RNKTWFEM.js";
4
4
  import {
5
5
  PublicDiagnostic,
6
6
  getCommandArguments,
7
7
  shellValueByteLength,
8
8
  shellValueBytes,
9
9
  yieldTurn
10
- } from "./chunk-2PQ3XOCQ.js";
10
+ } from "./chunk-UYX72YHY.js";
11
11
  import {
12
12
  init_platform
13
13
  } from "./chunk-2KL6W6NB.js";
@@ -620,4 +620,4 @@ export {
620
620
  createGetoptCommands,
621
621
  getoptCommands
622
622
  };
623
- //# sourceMappingURL=chunk-PE5NZIA2.js.map
623
+ //# sourceMappingURL=chunk-6LSSEOG7.js.map
@@ -1,19 +1,21 @@
1
1
  import {
2
2
  interruptible
3
- } from "./chunk-XBLVOMEJ.js";
3
+ } from "./chunk-AFH57PPL.js";
4
4
  import {
5
5
  pathOf,
6
6
  writeDiagnostic
7
- } from "./chunk-LHKAA57T.js";
7
+ } from "./chunk-GFZKQIPL.js";
8
8
  import {
9
- FsError,
10
9
  getCommandArguments,
11
- readBytes,
12
10
  shellValueByteLength,
13
- toByteSource,
14
- writeBytes,
15
11
  yieldTurn
16
- } from "./chunk-2PQ3XOCQ.js";
12
+ } from "./chunk-UYX72YHY.js";
13
+ import {
14
+ FsError,
15
+ readBytes,
16
+ toByteSource,
17
+ writeBytes
18
+ } from "./chunk-CXMIIXJA.js";
17
19
  import {
18
20
  import_buffer,
19
21
  init_platform
@@ -523,4 +525,4 @@ export {
523
525
  createXmlCommands,
524
526
  xmlCommands
525
527
  };
526
- //# sourceMappingURL=chunk-3Y5PKSHX.js.map
528
+ //# sourceMappingURL=chunk-AD7UAP5B.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/xml/index.ts", "../../src/commands/xml/limits.ts", "../../src/commands/xml/query.ts", "../../src/commands/xml/evaluate.ts"],
4
4
  "sourcesContent": ["import { parseXmlSteps, XmlLimitError } from \"poe-code/safe-fs/core\";\nimport { FsError, getCommandArguments, readBytes, toByteSource, writeBytes, type ByteSource, type CommandContext, type CommandDefinition, type VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { shellValueByteLength } from \"../../contracts/value.js\";\nimport { writeDiagnostic } from \"../../escaping.js\";\nimport { pathOf } from \"../internal.js\";\nimport { interruptible } from \"../structured/limits.js\";\nimport { XmlBudget, XmlQueryError, XmlQueryLimitError, resolveXmlQueryLimits, type XmlCommandsOptions, type XmlQueryLimits } from \"./limits.js\";\nimport { parseQuery, type Query } from \"./query.js\";\nimport { evaluate, serialize, stringValue } from \"./evaluate.js\";\n\nexport { defaultXmlQueryLimits } from \"./limits.js\";\nexport type { XmlCommandsOptions, XmlQueryLimits } from \"./limits.js\";\n\nasync function argumentsFor(context: CommandContext, budget: XmlBudget): Promise<{ query: Query; file: string | undefined }> {\n if (context.args.length > 5) throw new XmlQueryError(\"expected one XML input FILE or -\", 2);\n const carrier = getCommandArguments(context);\n const args = carrier.args;\n async function admitted(position: number, limit: \"maxSourceBytes\" | \"maxInputBytes\"): Promise<string> {\n const text = args[position]!;\n if (text.length > budget.limits[limit]) throw new XmlQueryLimitError(limit);\n const size = shellValueByteLength(carrier.values[position]!);\n if (size > budget.limits[limit]) throw new XmlQueryLimitError(limit);\n for (let offset = 0; offset < size; offset += 1024) await budget.tick(Math.min(1024, size - offset));\n let decoded: string;\n try { decoded = new TextDecoder(\"utf-8\", { fatal: true, ignoreBOM: true }).decode(carrier.bytes(position)); }\n catch { throw new XmlQueryError(\"XPath and filenames require valid UTF-8\", 2); }\n if (decoded !== text) throw new XmlQueryError(\"XPath and filenames require lossless UTF-8\", 2);\n return decoded;\n }\n let index = 0;\n if (context.command === \"xmllint\") {\n if (args[index++] !== \"--xpath\") throw new XmlQueryError(\"expected --xpath QUERY [FILE|-]\", 2);\n }\n if (args[index] === \"--\") index++;\n const sourceIndex = index++;\n const source = args[sourceIndex];\n if (source === undefined || source.startsWith(\"-\")) throw new XmlQueryError(\"expected QUERY [FILE|-]\", 2);\n if (args[index] === \"--\") index++;\n const fileIndex = index++;\n const file = args[fileIndex];\n if (index < args.length || file !== undefined && file.startsWith(\"-\") && file !== \"-\") throw new XmlQueryError(\"expected one XML input FILE or -\", 2);\n const query = await parseQuery(await admitted(sourceIndex, \"maxSourceBytes\"), budget);\n return { query, file: file === undefined ? undefined : await admitted(fileIndex, \"maxInputBytes\") };\n}\n\nasync function input(context: CommandContext, file: string | undefined, budget: XmlBudget): Promise<string> {\n let source: ByteSource = context.stdin;\n if (file !== undefined && file !== \"-\") {\n const path = pathOf(context, file);\n const capabilities = context.fs.capabilitiesFor\n ? await interruptible(() => context.fs.capabilitiesFor!(path, { signal: context.signal }), context.signal)\n : context.fs.capabilities;\n context.signal.throwIfAborted();\n if (context.fs.readStream && capabilities.streamingRead !== false) source = context.fs.readStream(path, { signal: context.signal });\n else {\n try { source = toByteSource(await interruptible(() => context.fs.readFile(path, { signal: context.signal, maxBytes: budget.limits.maxInputBytes }), context.signal)); }\n catch (error) {\n context.signal.throwIfAborted();\n if (error instanceof FsError && error.code === \"EFBIG\") throw new XmlQueryLimitError(\"maxInputBytes\");\n throw error;\n }\n }\n }\n const parts: string[] = [];\n let size = 0;\n const decoder = new TextDecoder(\"utf-8\", { fatal: true });\n for await (const chunk of readBytes(source, context.signal)) {\n await budget.tick();\n size += chunk.byteLength;\n if (size > budget.limits.maxInputBytes) throw new XmlQueryLimitError(\"maxInputBytes\");\n // Decode before requesting another chunk; a producer may reuse its backing bytes.\n for (let offset = 0; offset < chunk.length; offset += 4096) {\n await budget.tick(Math.min(4096, chunk.length - offset));\n try { parts.push(decoder.decode(chunk.subarray(offset, offset + 4096), { stream: true })); }\n catch { throw new XmlQueryError(\"XML input must be UTF-8\", 1); }\n }\n }\n try { parts.push(decoder.decode()); }\n catch { throw new XmlQueryError(\"XML input must be UTF-8\", 1); }\n return parts.join(\"\");\n}\n\nasync function execute(context: CommandContext, limits: XmlQueryLimits): Promise<{ exitCode: number }> {\n const budget = new XmlBudget(limits, context.signal);\n let outputFailed = false;\n try {\n const options = await argumentsFor(context, budget);\n const source = await input(context, options.file, budget);\n const parser = parseXmlSteps(source, { ...limits, maxContentNodes: limits.maxNodes, expectedEncoding: \"UTF-8\" });\n let parsed = parser.next();\n try {\n while (!parsed.done) { await budget.tick(parsed.value); parsed = parser.next(); }\n } finally { if (!parsed.done) parser.return(undefined as never); }\n const nodes = await evaluate(options.query, parsed.value, budget);\n async function write(part: string): Promise<void> {\n for (let offset = 0; offset < part.length;) {\n let end = Math.min(offset + 4096, part.length);\n if (end < part.length && part.charCodeAt(end - 1) >= 0xd800 && part.charCodeAt(end - 1) <= 0xdbff) end--;\n await budget.tick(end - offset);\n const slice = part.slice(offset, end);\n const size = Buffer.byteLength(slice);\n if (size > limits.maxOutputBytes - budget.outputBytes) throw new XmlQueryLimitError(\"maxOutputBytes\");\n budget.outputBytes += size;\n try { await writeBytes(context.stdout, Buffer.from(slice), context.signal); }\n catch (error) { outputFailed = true; throw error; }\n offset = end;\n }\n }\n if (options.query.scalar === \"count\") await write(String(nodes.length));\n else if (options.query.scalar === \"boolean\") await write(nodes.length ? \"true\" : \"false\");\n else if (options.query.scalar === \"string\") {\n for await (const part of stringValue(nodes[0], budget)) await write(part);\n } else {\n if (!nodes.length) throw new XmlQueryError(\"XPath set is empty\", 11);\n for (const node of nodes) {\n for await (const part of serialize(node, budget)) await write(part);\n await write(\"\\n\");\n }\n return { exitCode: 0 };\n }\n await write(\"\\n\");\n return { exitCode: 0 };\n } catch (error) {\n context.signal.throwIfAborted();\n if (outputFailed || error instanceof FsError && error.code === \"EPIPE\") throw error;\n const status = error instanceof XmlQueryError ? error.status : error instanceof XmlLimitError ? 5\n : error instanceof SyntaxError || error instanceof FsError ? 1 : undefined;\n if (status === undefined) throw error;\n const message = error instanceof Error ? error.message.slice(0, 1000) : \"XML query failed\";\n await writeDiagnostic(context.stderr, `${context.command}: ${message}\\n`, context.signal);\n return { exitCode: status };\n }\n}\n\nexport function createXmlCommands(options: XmlCommandsOptions = {}): readonly CommandDefinition[] {\n const limits = resolveXmlQueryLimits(options.limits);\n return [\"xq\", \"xmllint\"].map(name => ({ name, execute: context => execute(context, limits) }));\n}\nexport function xmlCommands(options: XmlCommandsOptions = {}): VirtualShellPlugin {\n const definitions = createXmlCommands(options);\n const replace = options.replace ?? false;\n return { name: \"xml-commands\", setup(host) {\n if (!replace) for (const definition of definitions) {\n if (host.commands.has(definition.name)) throw new Error(`Command already registered: ${definition.name}`);\n }\n for (const definition of definitions) host.commands.register(definition, { replace });\n } };\n}\n", "import { yieldTurn } from \"../../contracts/yield.js\";\n\nexport interface XmlQueryLimits {\n readonly maxInputBytes: number;\n readonly maxOutputBytes: number;\n readonly maxSourceBytes: number;\n readonly maxDepth: number;\n readonly maxNodes: number;\n readonly maxAttributes: number;\n readonly maxAttributesPerElement: number;\n readonly maxNamespaces: number;\n readonly maxSteps: number;\n readonly maxResults: number;\n}\nexport interface XmlCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<XmlQueryLimits>;\n}\nexport const defaultXmlQueryLimits: Readonly<XmlQueryLimits> = Object.freeze({\n maxInputBytes: 8 * 1024 * 1024, maxOutputBytes: 8 * 1024 * 1024,\n maxSourceBytes: 64 * 1024, maxDepth: 64, maxNodes: 100_000,\n maxAttributes: 10_000, maxAttributesPerElement: 128,\n maxNamespaces: 256, maxSteps: 1_000_000, maxResults: 100_000,\n});\nexport class XmlQueryError extends Error {\n constructor(message: string, readonly status: number) { super(message); }\n}\nexport class XmlQueryLimitError extends XmlQueryError {\n constructor(name: keyof XmlQueryLimits) { super(`${name} limit exceeded`, 5); }\n}\nexport function resolveXmlQueryLimits(options: Partial<XmlQueryLimits> = {}): XmlQueryLimits {\n const limits = { ...defaultXmlQueryLimits, ...options };\n for (const [name, value] of Object.entries(limits)) {\n if (!Object.hasOwn(defaultXmlQueryLimits, name) || !Number.isSafeInteger(value) || value < 1) {\n throw new RangeError(`${name} must be a positive safe integer XML limit`);\n }\n }\n if (limits.maxDepth > 256) throw new RangeError(\"maxDepth must be <=256\");\n return Object.freeze(limits);\n}\nexport class XmlBudget {\n private steps = 0;\n private checkpoint = 0;\n outputBytes = 0;\n constructor(readonly limits: XmlQueryLimits, readonly signal: AbortSignal) {}\n async tick(work = 1): Promise<void> {\n this.signal.throwIfAborted();\n this.steps += work;\n if (this.steps > this.limits.maxSteps) throw new XmlQueryLimitError(\"maxSteps\");\n this.checkpoint += work;\n if (this.checkpoint >= 1024) {\n this.checkpoint = 0;\n await yieldTurn(this.signal);\n }\n }\n results(size: number): void {\n if (size > this.limits.maxResults) throw new XmlQueryLimitError(\"maxResults\");\n }\n}\n", "import { XmlBudget, XmlQueryError, XmlQueryLimitError } from \"./limits.js\";\n\nexport type Predicate = { kind: \"position\"; value: number } | { kind: \"attribute\"; name: string; value: string };\nexport interface QueryStep {\n readonly descendant: boolean;\n readonly kind: \"element\" | \"attribute\" | \"text\";\n readonly name: string;\n readonly predicates: readonly Predicate[];\n}\nexport interface Query {\n readonly scalar: \"string\" | \"count\" | \"boolean\" | undefined;\n readonly steps: readonly QueryStep[];\n}\nconst nameStart = (character: string): boolean => character >= \"a\" && character <= \"z\" || character >= \"A\" && character <= \"Z\" || character === \"_\";\nconst namePart = (character: string): boolean => nameStart(character) || character >= \"0\" && character <= \"9\" || character === \"-\" || character === \".\";\n\nexport async function parseQuery(source: string, budget: XmlBudget): Promise<Query> {\n if (source.length > budget.limits.maxSourceBytes || Buffer.byteLength(source) > budget.limits.maxSourceBytes) throw new XmlQueryLimitError(\"maxSourceBytes\");\n // Admit every character before token operations; the grammar itself has no recursion.\n for (let offset = 0; offset < source.length; offset += 256) await budget.tick(Math.min(256, source.length - offset));\n let at = 0;\n const fail = (): never => { throw new XmlQueryError(`unsupported XPath syntax at offset ${at}`, 10); };\n const space = (): void => { while (source[at] === \" \" || source[at] === \"\\t\" || source[at] === \"\\r\" || source[at] === \"\\n\") at++; };\n const expect = (value: string): void => { space(); if (!source.startsWith(value, at)) fail(); at += value.length; };\n const name = (): string => {\n space(); const start = at;\n if (!nameStart(source[at] ?? \"\")) fail();\n while (namePart(source[at] ?? \"\")) at++;\n if (source[at] === \":\") fail();\n return source.slice(start, at);\n };\n space();\n let scalar: Query[\"scalar\"];\n if (source[at] !== \"/\") {\n const value = name();\n if (value !== \"string\" && value !== \"count\" && value !== \"boolean\") fail();\n scalar = value as Query[\"scalar\"];\n expect(\"(\");\n }\n const steps: QueryStep[] = [];\n space();\n while (source[at] === \"/\") {\n at++;\n const descendant = source[at] === \"/\";\n if (descendant) at++;\n space();\n let kind: QueryStep[\"kind\"] = \"element\";\n if (source[at] === \"@\") { kind = \"attribute\"; at++; }\n let selected: string;\n if (source[at] === \"*\") { selected = \"*\"; at++; }\n else {\n selected = name();\n space();\n if (source[at] === \"(\") {\n if (selected !== \"text\" || kind !== \"element\") fail();\n expect(\"(\"); expect(\")\"); kind = \"text\";\n }\n }\n const predicates: Predicate[] = [];\n space();\n while (source[at] === \"[\") {\n at++; space();\n if (source[at] === \"@\") {\n at++; const attribute = name(); expect(\"=\"); space();\n const quote = source[at++];\n if (quote !== \"'\" && quote !== '\"') fail();\n const start = at;\n while (at < source.length && source[at] !== quote) at++;\n if (at === source.length) fail();\n predicates.push({ kind: \"attribute\", name: attribute, value: source.slice(start, at++) });\n } else {\n const start = at;\n while ((source[at] ?? \"\") >= \"0\" && (source[at] ?? \"\") <= \"9\") at++;\n const value = Number(source.slice(start, at));\n if (start === at || !Number.isSafeInteger(value) || value < 1) fail();\n predicates.push({ kind: \"position\", value });\n }\n expect(\"]\"); space();\n }\n steps.push({ descendant, kind, name: selected, predicates });\n if (kind !== \"element\" && source[at] === \"/\") fail();\n await budget.tick();\n }\n if (!steps.length) fail();\n if (scalar !== undefined) expect(\")\");\n space();\n if (at !== source.length) fail();\n return { scalar, steps };\n}\n", "import type { XmlAttribute, XmlContent, XmlElement } from \"poe-code/safe-fs/core\";\nimport type { Query, QueryStep } from \"./query.js\";\nimport { XmlBudget } from \"./limits.js\";\n\ntype Container = { kind: \"document\"; children: Node[] } | ElementNode;\ninterface ElementNode { kind: \"element\"; value: XmlElement; children: Node[]; attributes: AttributeNode[] }\ninterface AttributeNode { kind: \"attribute\"; value: XmlAttribute }\ninterface ContentNode { kind: Exclude<XmlContent[\"kind\"], \"element\">; value: Exclude<XmlContent, XmlElement> }\nexport type Node = Container | AttributeNode | ContentNode;\nconst xmlns = \"http://www.w3.org/2000/xmlns/\";\n\nasync function indexTree(root: XmlElement, budget: XmlBudget): Promise<{ document: Container; order: Node[] }> {\n const document: Container = { kind: \"document\", children: [] };\n const order: Node[] = [document];\n const pending: { parent: Container; content: XmlContent }[] = [{ parent: document, content: root }];\n while (pending.length) {\n await budget.tick();\n const { parent, content } = pending.pop()!;\n if (content.kind === \"element\") {\n const node: ElementNode = { kind: \"element\", value: content, children: [], attributes: [] };\n parent.children.push(node); order.push(node);\n for (const attribute of content.attributes) {\n await budget.tick();\n if (attribute.namespace === xmlns) continue;\n const selected: AttributeNode = { kind: \"attribute\", value: attribute };\n node.attributes.push(selected); order.push(selected);\n }\n for (let index = content.content.length - 1; index >= 0; index--) {\n await budget.tick(); pending.push({ parent: node, content: content.content[index]! });\n }\n } else {\n const node: ContentNode = { kind: content.kind, value: content };\n parent.children.push(node); order.push(node);\n }\n }\n return { document, order };\n}\n\nfunction matches(node: Node, step: QueryStep): boolean {\n if (step.kind === \"text\") return node.kind === \"text\" || node.kind === \"cdata\";\n if (node.kind !== step.kind) return false;\n if (node.kind === \"element\" || node.kind === \"attribute\") {\n return step.name === \"*\" || node.value.namespace === \"\" && node.value.localName === step.name;\n }\n return false;\n}\n\nexport async function evaluate(query: Query, root: XmlElement, budget: XmlBudget): Promise<Node[]> {\n const { document, order } = await indexTree(root, budget);\n let contexts: Node[] = [document];\n for (const step of query.steps) {\n const parents = new Set<Node>();\n const pending = [...contexts];\n while (pending.length) {\n await budget.tick();\n const node = pending.pop()!;\n if (parents.has(node)) continue;\n parents.add(node);\n if (step.descendant && (node.kind === \"document\" || node.kind === \"element\")) {\n for (const child of node.children) { await budget.tick(); pending.push(child); }\n }\n }\n const selected = new Set<Node>();\n for (const parent of parents) {\n await budget.tick();\n const candidates = step.kind === \"attribute\"\n ? parent.kind === \"element\" ? parent.attributes : []\n : parent.kind === \"element\" || parent.kind === \"document\" ? parent.children : [];\n let matched: Node[] = [];\n for (const candidate of candidates) {\n await budget.tick();\n if (matches(candidate, step)) matched.push(candidate);\n }\n for (const predicate of step.predicates) {\n await budget.tick();\n if (predicate.kind === \"position\") matched = matched[predicate.value - 1] ? [matched[predicate.value - 1]!] : [];\n else {\n const filtered: Node[] = [];\n for (const candidate of matched) {\n await budget.tick();\n if (candidate.kind !== \"element\") continue;\n for (const attribute of candidate.attributes) {\n await budget.tick(attribute.value.value.length + 1);\n if (attribute.value.namespace === \"\" && attribute.value.localName === predicate.name && attribute.value.value === predicate.value) {\n filtered.push(candidate); break;\n }\n }\n }\n matched = filtered;\n }\n }\n for (const node of matched) { await budget.tick(); if (!selected.has(node)) { budget.results(selected.size + 1); selected.add(node); } }\n }\n contexts = [];\n for (const node of order) { await budget.tick(); if (selected.has(node)) contexts.push(node); }\n }\n return contexts;\n}\n\nexport async function* stringValue(node: Node | undefined, budget: XmlBudget): AsyncGenerator<string> {\n if (node === undefined) return;\n if (node.kind === \"attribute\") { yield node.value.value; return; }\n const pending: Node[] = [node];\n while (pending.length) {\n await budget.tick();\n const current = pending.pop()!;\n if (current.kind === \"element\" || current.kind === \"document\") {\n for (let index = current.children.length - 1; index >= 0; index--) {\n await budget.tick(); pending.push(current.children[index]!);\n }\n } else if (current.kind === \"text\" || current.kind === \"cdata\") yield current.value.text;\n }\n}\n\nexport async function* serialize(node: Node, budget: XmlBudget): AsyncGenerator<string> {\n if (node.kind === \"attribute\") {\n yield ` ${node.value.name}=\"`; yield* escape(node.value.value, true, budget); yield '\"'; return;\n }\n if (node.kind === \"document\") return;\n const pending: (XmlContent | string)[] = [node.value];\n while (pending.length) {\n await budget.tick();\n const current = pending.pop()!;\n if (typeof current === \"string\") { yield current; continue; }\n if (current.kind === \"element\") {\n yield `<${current.name}`;\n for (const attribute of current.attributes) {\n await budget.tick(); yield ` ${attribute.name}=\"`; yield* escape(attribute.value, true, budget); yield '\"';\n }\n if (!current.content.length) yield \"/>\";\n else {\n yield \">\"; pending.push(`</${current.name}>`);\n for (let index = current.content.length - 1; index >= 0; index--) {\n await budget.tick(); pending.push(current.content[index]!);\n }\n }\n } else if (current.kind === \"text\") yield* escape(current.text, false, budget);\n else if (current.kind === \"cdata\") { yield \"<![CDATA[\"; yield current.text; yield \"]]>\"; }\n else if (current.kind === \"comment\") { yield \"<!--\"; yield current.text; yield \"-->\"; }\n else if (current.kind === \"processing-instruction\") { yield `<?${current.target}`; if (current.text) { yield \" \"; yield current.text; } yield \"?>\"; }\n }\n}\n\nasync function* escape(value: string, attribute: boolean, budget: XmlBudget): AsyncGenerator<string> {\n let part = \"\";\n for (const character of value) {\n await budget.tick();\n part += character === \"&\" ? \"&amp;\" : character === \"<\" ? \"&lt;\" : character === \">\" ? \"&gt;\"\n : attribute && character === '\"' ? \"&quot;\" : attribute && character === \"\\n\" ? \"&#10;\"\n : character === \"\\r\" ? \"&#13;\" : attribute && character === \"\\t\" ? \"&#9;\" : character;\n if (part.length >= 4096) { yield part; part = \"\"; }\n }\n if (part) yield part;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAS,eAAe,qBAAqB;;;ACA7C;AAkBO,IAAM,wBAAkD,OAAO,OAAO;AAAA,EAC3E,eAAe,IAAI,OAAO;AAAA,EAAM,gBAAgB,IAAI,OAAO;AAAA,EAC3D,gBAAgB,KAAK;AAAA,EAAM,UAAU;AAAA,EAAI,UAAU;AAAA,EACnD,eAAe;AAAA,EAAQ,yBAAyB;AAAA,EAChD,eAAe;AAAA,EAAK,UAAU;AAAA,EAAW,YAAY;AACvD,CAAC;AACM,IAAM,gBAAN,cAA4B,MAAM;AAAA,EACvC,YAAY,SAA0B,QAAgB;AAAE,UAAM,OAAO;AAA/B;AAAA,EAAkC;AAAA,EAAlC;AACxC;AACO,IAAM,qBAAN,cAAiC,cAAc;AAAA,EACpD,YAAY,MAA4B;AAAE,UAAM,GAAG,IAAI,mBAAmB,CAAC;AAAA,EAAG;AAChF;AACO,SAAS,sBAAsB,UAAmC,CAAC,GAAmB;AAC3F,QAAM,SAAS,EAAE,GAAG,uBAAuB,GAAG,QAAQ;AACtD,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,QAAI,CAAC,OAAO,OAAO,uBAAuB,IAAI,KAAK,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,GAAG;AAC5F,YAAM,IAAI,WAAW,GAAG,IAAI,4CAA4C;AAAA,IAC1E;AAAA,EACF;AACA,MAAI,OAAO,WAAW,IAAK,OAAM,IAAI,WAAW,wBAAwB;AACxE,SAAO,OAAO,OAAO,MAAM;AAC7B;AACO,IAAM,YAAN,MAAgB;AAAA,EAIrB,YAAqB,QAAiC,QAAqB;AAAtD;AAAiC;AAAA,EAAsB;AAAA,EAAvD;AAAA,EAAiC;AAAA,EAH9C,QAAQ;AAAA,EACR,aAAa;AAAA,EACrB,cAAc;AAAA,EAEd,MAAM,KAAK,OAAO,GAAkB;AAClC,SAAK,OAAO,eAAe;AAC3B,SAAK,SAAS;AACd,QAAI,KAAK,QAAQ,KAAK,OAAO,SAAU,OAAM,IAAI,mBAAmB,UAAU;AAC9E,SAAK,cAAc;AACnB,QAAI,KAAK,cAAc,MAAM;AAC3B,WAAK,aAAa;AAClB,YAAM,UAAU,KAAK,MAAM;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,QAAQ,MAAoB;AAC1B,QAAI,OAAO,KAAK,OAAO,WAAY,OAAM,IAAI,mBAAmB,YAAY;AAAA,EAC9E;AACF;;;AC1DA;AAaA,IAAM,YAAY,CAAC,cAA+B,aAAa,OAAO,aAAa,OAAO,aAAa,OAAO,aAAa,OAAO,cAAc;AAChJ,IAAM,WAAW,CAAC,cAA+B,UAAU,SAAS,KAAK,aAAa,OAAO,aAAa,OAAO,cAAc,OAAO,cAAc;AAEpJ,eAAsB,WAAW,QAAgB,QAAmC;AAClF,MAAI,OAAO,SAAS,OAAO,OAAO,kBAAkB,qBAAO,WAAW,MAAM,IAAI,OAAO,OAAO,eAAgB,OAAM,IAAI,mBAAmB,gBAAgB;AAE3J,WAAS,SAAS,GAAG,SAAS,OAAO,QAAQ,UAAU,IAAK,OAAM,OAAO,KAAK,KAAK,IAAI,KAAK,OAAO,SAAS,MAAM,CAAC;AACnH,MAAI,KAAK;AACT,QAAM,OAAO,MAAa;AAAE,UAAM,IAAI,cAAc,sCAAsC,EAAE,IAAI,EAAE;AAAA,EAAG;AACrG,QAAM,QAAQ,MAAY;AAAE,WAAO,OAAO,EAAE,MAAM,OAAO,OAAO,EAAE,MAAM,OAAQ,OAAO,EAAE,MAAM,QAAQ,OAAO,EAAE,MAAM,KAAM;AAAA,EAAM;AAClI,QAAM,SAAS,CAAC,UAAwB;AAAE,UAAM;AAAG,QAAI,CAAC,OAAO,WAAW,OAAO,EAAE,EAAG,MAAK;AAAG,UAAM,MAAM;AAAA,EAAQ;AAClH,QAAM,OAAO,MAAc;AACzB,UAAM;AAAG,UAAM,QAAQ;AACvB,QAAI,CAAC,UAAU,OAAO,EAAE,KAAK,EAAE,EAAG,MAAK;AACvC,WAAO,SAAS,OAAO,EAAE,KAAK,EAAE,EAAG;AACnC,QAAI,OAAO,EAAE,MAAM,IAAK,MAAK;AAC7B,WAAO,OAAO,MAAM,OAAO,EAAE;AAAA,EAC/B;AACA,QAAM;AACN,MAAI;AACJ,MAAI,OAAO,EAAE,MAAM,KAAK;AACtB,UAAM,QAAQ,KAAK;AACnB,QAAI,UAAU,YAAY,UAAU,WAAW,UAAU,UAAW,MAAK;AACzE,aAAS;AACT,WAAO,GAAG;AAAA,EACZ;AACA,QAAM,QAAqB,CAAC;AAC5B,QAAM;AACN,SAAO,OAAO,EAAE,MAAM,KAAK;AACzB;AACA,UAAM,aAAa,OAAO,EAAE,MAAM;AAClC,QAAI,WAAY;AAChB,UAAM;AACN,QAAI,OAA0B;AAC9B,QAAI,OAAO,EAAE,MAAM,KAAK;AAAE,aAAO;AAAa;AAAA,IAAM;AACpD,QAAI;AACJ,QAAI,OAAO,EAAE,MAAM,KAAK;AAAE,iBAAW;AAAK;AAAA,IAAM,OAC3C;AACH,iBAAW,KAAK;AAChB,YAAM;AACN,UAAI,OAAO,EAAE,MAAM,KAAK;AACtB,YAAI,aAAa,UAAU,SAAS,UAAW,MAAK;AACpD,eAAO,GAAG;AAAG,eAAO,GAAG;AAAG,eAAO;AAAA,MACnC;AAAA,IACF;AACA,UAAM,aAA0B,CAAC;AACjC,UAAM;AACN,WAAO,OAAO,EAAE,MAAM,KAAK;AACzB;AAAM,YAAM;AACZ,UAAI,OAAO,EAAE,MAAM,KAAK;AACtB;AAAM,cAAM,YAAY,KAAK;AAAG,eAAO,GAAG;AAAG,cAAM;AACnD,cAAM,QAAQ,OAAO,IAAI;AACzB,YAAI,UAAU,OAAO,UAAU,IAAK,MAAK;AACzC,cAAM,QAAQ;AACd,eAAO,KAAK,OAAO,UAAU,OAAO,EAAE,MAAM,MAAO;AACnD,YAAI,OAAO,OAAO,OAAQ,MAAK;AAC/B,mBAAW,KAAK,EAAE,MAAM,aAAa,MAAM,WAAW,OAAO,OAAO,MAAM,OAAO,IAAI,EAAE,CAAC;AAAA,MAC1F,OAAO;AACL,cAAM,QAAQ;AACd,gBAAQ,OAAO,EAAE,KAAK,OAAO,QAAQ,OAAO,EAAE,KAAK,OAAO,IAAK;AAC/D,cAAM,QAAQ,OAAO,OAAO,MAAM,OAAO,EAAE,CAAC;AAC5C,YAAI,UAAU,MAAM,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,EAAG,MAAK;AACpE,mBAAW,KAAK,EAAE,MAAM,YAAY,MAAM,CAAC;AAAA,MAC7C;AACA,aAAO,GAAG;AAAG,YAAM;AAAA,IACrB;AACA,UAAM,KAAK,EAAE,YAAY,MAAM,MAAM,UAAU,WAAW,CAAC;AAC3D,QAAI,SAAS,aAAa,OAAO,EAAE,MAAM,IAAK,MAAK;AACnD,UAAM,OAAO,KAAK;AAAA,EACpB;AACA,MAAI,CAAC,MAAM,OAAQ,MAAK;AACxB,MAAI,WAAW,OAAW,QAAO,GAAG;AACpC,QAAM;AACN,MAAI,OAAO,OAAO,OAAQ,MAAK;AAC/B,SAAO,EAAE,QAAQ,MAAM;AACzB;;;ACxFA;AASA,IAAM,QAAQ;AAEd,eAAe,UAAU,MAAkB,QAAoE;AAC7G,QAAM,WAAsB,EAAE,MAAM,YAAY,UAAU,CAAC,EAAE;AAC7D,QAAM,QAAgB,CAAC,QAAQ;AAC/B,QAAM,UAAwD,CAAC,EAAE,QAAQ,UAAU,SAAS,KAAK,CAAC;AAClG,SAAO,QAAQ,QAAQ;AACrB,UAAM,OAAO,KAAK;AAClB,UAAM,EAAE,QAAQ,QAAQ,IAAI,QAAQ,IAAI;AACxC,QAAI,QAAQ,SAAS,WAAW;AAC9B,YAAM,OAAoB,EAAE,MAAM,WAAW,OAAO,SAAS,UAAU,CAAC,GAAG,YAAY,CAAC,EAAE;AAC1F,aAAO,SAAS,KAAK,IAAI;AAAG,YAAM,KAAK,IAAI;AAC3C,iBAAW,aAAa,QAAQ,YAAY;AAC1C,cAAM,OAAO,KAAK;AAClB,YAAI,UAAU,cAAc,MAAO;AACnC,cAAM,WAA0B,EAAE,MAAM,aAAa,OAAO,UAAU;AACtE,aAAK,WAAW,KAAK,QAAQ;AAAG,cAAM,KAAK,QAAQ;AAAA,MACrD;AACA,eAAS,QAAQ,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG,SAAS;AAChE,cAAM,OAAO,KAAK;AAAG,gBAAQ,KAAK,EAAE,QAAQ,MAAM,SAAS,QAAQ,QAAQ,KAAK,EAAG,CAAC;AAAA,MACtF;AAAA,IACF,OAAO;AACL,YAAM,OAAoB,EAAE,MAAM,QAAQ,MAAM,OAAO,QAAQ;AAC/D,aAAO,SAAS,KAAK,IAAI;AAAG,YAAM,KAAK,IAAI;AAAA,IAC7C;AAAA,EACF;AACA,SAAO,EAAE,UAAU,MAAM;AAC3B;AAEA,SAAS,QAAQ,MAAY,MAA0B;AACrD,MAAI,KAAK,SAAS,OAAQ,QAAO,KAAK,SAAS,UAAU,KAAK,SAAS;AACvE,MAAI,KAAK,SAAS,KAAK,KAAM,QAAO;AACpC,MAAI,KAAK,SAAS,aAAa,KAAK,SAAS,aAAa;AACxD,WAAO,KAAK,SAAS,OAAO,KAAK,MAAM,cAAc,MAAM,KAAK,MAAM,cAAc,KAAK;AAAA,EAC3F;AACA,SAAO;AACT;AAEA,eAAsB,SAAS,OAAc,MAAkB,QAAoC;AACjG,QAAM,EAAE,UAAU,MAAM,IAAI,MAAM,UAAU,MAAM,MAAM;AACxD,MAAI,WAAmB,CAAC,QAAQ;AAChC,aAAW,QAAQ,MAAM,OAAO;AAC9B,UAAM,UAAU,oBAAI,IAAU;AAC9B,UAAM,UAAU,CAAC,GAAG,QAAQ;AAC5B,WAAO,QAAQ,QAAQ;AACrB,YAAM,OAAO,KAAK;AAClB,YAAM,OAAO,QAAQ,IAAI;AACzB,UAAI,QAAQ,IAAI,IAAI,EAAG;AACvB,cAAQ,IAAI,IAAI;AAChB,UAAI,KAAK,eAAe,KAAK,SAAS,cAAc,KAAK,SAAS,YAAY;AAC5E,mBAAW,SAAS,KAAK,UAAU;AAAE,gBAAM,OAAO,KAAK;AAAG,kBAAQ,KAAK,KAAK;AAAA,QAAG;AAAA,MACjF;AAAA,IACF;AACA,UAAM,WAAW,oBAAI,IAAU;AAC/B,eAAW,UAAU,SAAS;AAC5B,YAAM,OAAO,KAAK;AAClB,YAAM,aAAa,KAAK,SAAS,cAC7B,OAAO,SAAS,YAAY,OAAO,aAAa,CAAC,IACjD,OAAO,SAAS,aAAa,OAAO,SAAS,aAAa,OAAO,WAAW,CAAC;AACjF,UAAI,UAAkB,CAAC;AACvB,iBAAW,aAAa,YAAY;AAClC,cAAM,OAAO,KAAK;AAClB,YAAI,QAAQ,WAAW,IAAI,EAAG,SAAQ,KAAK,SAAS;AAAA,MACtD;AACA,iBAAW,aAAa,KAAK,YAAY;AACvC,cAAM,OAAO,KAAK;AAClB,YAAI,UAAU,SAAS,WAAY,WAAU,QAAQ,UAAU,QAAQ,CAAC,IAAI,CAAC,QAAQ,UAAU,QAAQ,CAAC,CAAE,IAAI,CAAC;AAAA,aAC1G;AACH,gBAAM,WAAmB,CAAC;AAC1B,qBAAW,aAAa,SAAS;AAC/B,kBAAM,OAAO,KAAK;AAClB,gBAAI,UAAU,SAAS,UAAW;AAClC,uBAAW,aAAa,UAAU,YAAY;AAC5C,oBAAM,OAAO,KAAK,UAAU,MAAM,MAAM,SAAS,CAAC;AAClD,kBAAI,UAAU,MAAM,cAAc,MAAM,UAAU,MAAM,cAAc,UAAU,QAAQ,UAAU,MAAM,UAAU,UAAU,OAAO;AACjI,yBAAS,KAAK,SAAS;AAAG;AAAA,cAC5B;AAAA,YACF;AAAA,UACF;AACA,oBAAU;AAAA,QACZ;AAAA,MACF;AACA,iBAAW,QAAQ,SAAS;AAAE,cAAM,OAAO,KAAK;AAAG,YAAI,CAAC,SAAS,IAAI,IAAI,GAAG;AAAE,iBAAO,QAAQ,SAAS,OAAO,CAAC;AAAG,mBAAS,IAAI,IAAI;AAAA,QAAG;AAAA,MAAE;AAAA,IACzI;AACA,eAAW,CAAC;AACZ,eAAW,QAAQ,OAAO;AAAE,YAAM,OAAO,KAAK;AAAG,UAAI,SAAS,IAAI,IAAI,EAAG,UAAS,KAAK,IAAI;AAAA,IAAG;AAAA,EAChG;AACA,SAAO;AACT;AAEA,gBAAuB,YAAY,MAAwB,QAA2C;AACpG,MAAI,SAAS,OAAW;AACxB,MAAI,KAAK,SAAS,aAAa;AAAE,UAAM,KAAK,MAAM;AAAO;AAAA,EAAQ;AACjE,QAAM,UAAkB,CAAC,IAAI;AAC7B,SAAO,QAAQ,QAAQ;AACrB,UAAM,OAAO,KAAK;AAClB,UAAM,UAAU,QAAQ,IAAI;AAC5B,QAAI,QAAQ,SAAS,aAAa,QAAQ,SAAS,YAAY;AAC7D,eAAS,QAAQ,QAAQ,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS;AACjE,cAAM,OAAO,KAAK;AAAG,gBAAQ,KAAK,QAAQ,SAAS,KAAK,CAAE;AAAA,MAC5D;AAAA,IACF,WAAW,QAAQ,SAAS,UAAU,QAAQ,SAAS,QAAS,OAAM,QAAQ,MAAM;AAAA,EACtF;AACF;AAEA,gBAAuB,UAAU,MAAY,QAA2C;AACtF,MAAI,KAAK,SAAS,aAAa;AAC7B,UAAM,IAAI,KAAK,MAAM,IAAI;AAAM,WAAO,OAAO,KAAK,MAAM,OAAO,MAAM,MAAM;AAAG,UAAM;AAAK;AAAA,EAC3F;AACA,MAAI,KAAK,SAAS,WAAY;AAC9B,QAAM,UAAmC,CAAC,KAAK,KAAK;AACpD,SAAO,QAAQ,QAAQ;AACrB,UAAM,OAAO,KAAK;AAClB,UAAM,UAAU,QAAQ,IAAI;AAC5B,QAAI,OAAO,YAAY,UAAU;AAAE,YAAM;AAAS;AAAA,IAAU;AAC5D,QAAI,QAAQ,SAAS,WAAW;AAC9B,YAAM,IAAI,QAAQ,IAAI;AACtB,iBAAW,aAAa,QAAQ,YAAY;AAC1C,cAAM,OAAO,KAAK;AAAG,cAAM,IAAI,UAAU,IAAI;AAAM,eAAO,OAAO,UAAU,OAAO,MAAM,MAAM;AAAG,cAAM;AAAA,MACzG;AACA,UAAI,CAAC,QAAQ,QAAQ,OAAQ,OAAM;AAAA,WAC9B;AACH,cAAM;AAAK,gBAAQ,KAAK,KAAK,QAAQ,IAAI,GAAG;AAC5C,iBAAS,QAAQ,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG,SAAS;AAChE,gBAAM,OAAO,KAAK;AAAG,kBAAQ,KAAK,QAAQ,QAAQ,KAAK,CAAE;AAAA,QAC3D;AAAA,MACF;AAAA,IACF,WAAW,QAAQ,SAAS,OAAQ,QAAO,OAAO,QAAQ,MAAM,OAAO,MAAM;AAAA,aACpE,QAAQ,SAAS,SAAS;AAAE,YAAM;AAAa,YAAM,QAAQ;AAAM,YAAM;AAAA,IAAO,WAChF,QAAQ,SAAS,WAAW;AAAE,YAAM;AAAQ,YAAM,QAAQ;AAAM,YAAM;AAAA,IAAO,WAC7E,QAAQ,SAAS,0BAA0B;AAAE,YAAM,KAAK,QAAQ,MAAM;AAAI,UAAI,QAAQ,MAAM;AAAE,cAAM;AAAK,cAAM,QAAQ;AAAA,MAAM;AAAE,YAAM;AAAA,IAAM;AAAA,EACtJ;AACF;AAEA,gBAAgB,OAAO,OAAe,WAAoB,QAA2C;AACnG,MAAI,OAAO;AACX,aAAW,aAAa,OAAO;AAC7B,UAAM,OAAO,KAAK;AAClB,YAAQ,cAAc,MAAM,UAAU,cAAc,MAAM,SAAS,cAAc,MAAM,SACnF,aAAa,cAAc,MAAM,WAAW,aAAa,cAAc,OAAO,UAC5E,cAAc,OAAO,UAAU,aAAa,cAAc,MAAO,SAAS;AAChF,QAAI,KAAK,UAAU,MAAM;AAAE,YAAM;AAAM,aAAO;AAAA,IAAI;AAAA,EACpD;AACA,MAAI,KAAM,OAAM;AAClB;;;AH5IA,eAAe,aAAa,SAAyB,QAAwE;AAC3H,MAAI,QAAQ,KAAK,SAAS,EAAG,OAAM,IAAI,cAAc,oCAAoC,CAAC;AAC1F,QAAM,UAAU,oBAAoB,OAAO;AAC3C,QAAM,OAAO,QAAQ;AACrB,iBAAe,SAAS,UAAkB,OAA4D;AACpG,UAAM,OAAO,KAAK,QAAQ;AAC1B,QAAI,KAAK,SAAS,OAAO,OAAO,KAAK,EAAG,OAAM,IAAI,mBAAmB,KAAK;AAC1E,UAAM,OAAO,qBAAqB,QAAQ,OAAO,QAAQ,CAAE;AAC3D,QAAI,OAAO,OAAO,OAAO,KAAK,EAAG,OAAM,IAAI,mBAAmB,KAAK;AACnE,aAAS,SAAS,GAAG,SAAS,MAAM,UAAU,KAAM,OAAM,OAAO,KAAK,KAAK,IAAI,MAAM,OAAO,MAAM,CAAC;AACnG,QAAI;AACJ,QAAI;AAAE,gBAAU,IAAI,YAAY,SAAS,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC,EAAE,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAAA,IAAG,QACtG;AAAE,YAAM,IAAI,cAAc,2CAA2C,CAAC;AAAA,IAAG;AAC/E,QAAI,YAAY,KAAM,OAAM,IAAI,cAAc,8CAA8C,CAAC;AAC7F,WAAO;AAAA,EACT;AACA,MAAI,QAAQ;AACZ,MAAI,QAAQ,YAAY,WAAW;AACjC,QAAI,KAAK,OAAO,MAAM,UAAW,OAAM,IAAI,cAAc,mCAAmC,CAAC;AAAA,EAC/F;AACA,MAAI,KAAK,KAAK,MAAM,KAAM;AAC1B,QAAM,cAAc;AACpB,QAAM,SAAS,KAAK,WAAW;AAC/B,MAAI,WAAW,UAAa,OAAO,WAAW,GAAG,EAAG,OAAM,IAAI,cAAc,2BAA2B,CAAC;AACxG,MAAI,KAAK,KAAK,MAAM,KAAM;AAC1B,QAAM,YAAY;AAClB,QAAM,OAAO,KAAK,SAAS;AAC3B,MAAI,QAAQ,KAAK,UAAU,SAAS,UAAa,KAAK,WAAW,GAAG,KAAK,SAAS,IAAK,OAAM,IAAI,cAAc,oCAAoC,CAAC;AACpJ,QAAM,QAAQ,MAAM,WAAW,MAAM,SAAS,aAAa,gBAAgB,GAAG,MAAM;AACpF,SAAO,EAAE,OAAO,MAAM,SAAS,SAAY,SAAY,MAAM,SAAS,WAAW,eAAe,EAAE;AACpG;AAEA,eAAe,MAAM,SAAyB,MAA0B,QAAoC;AAC1G,MAAI,SAAqB,QAAQ;AACjC,MAAI,SAAS,UAAa,SAAS,KAAK;AACtC,UAAM,OAAO,OAAO,SAAS,IAAI;AACjC,UAAM,eAAe,QAAQ,GAAG,kBAC5B,MAAM,cAAc,MAAM,QAAQ,GAAG,gBAAiB,MAAM,EAAE,QAAQ,QAAQ,OAAO,CAAC,GAAG,QAAQ,MAAM,IACvG,QAAQ,GAAG;AACf,YAAQ,OAAO,eAAe;AAC9B,QAAI,QAAQ,GAAG,cAAc,aAAa,kBAAkB,MAAO,UAAS,QAAQ,GAAG,WAAW,MAAM,EAAE,QAAQ,QAAQ,OAAO,CAAC;AAAA,SAC7H;AACH,UAAI;AAAE,iBAAS,aAAa,MAAM,cAAc,MAAM,QAAQ,GAAG,SAAS,MAAM,EAAE,QAAQ,QAAQ,QAAQ,UAAU,OAAO,OAAO,cAAc,CAAC,GAAG,QAAQ,MAAM,CAAC;AAAA,MAAG,SAC/J,OAAO;AACZ,gBAAQ,OAAO,eAAe;AAC9B,YAAI,iBAAiB,WAAW,MAAM,SAAS,QAAS,OAAM,IAAI,mBAAmB,eAAe;AACpG,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,QAAkB,CAAC;AACzB,MAAI,OAAO;AACX,QAAM,UAAU,IAAI,YAAY,SAAS,EAAE,OAAO,KAAK,CAAC;AACxD,mBAAiB,SAAS,UAAU,QAAQ,QAAQ,MAAM,GAAG;AAC3D,UAAM,OAAO,KAAK;AAClB,YAAQ,MAAM;AACd,QAAI,OAAO,OAAO,OAAO,cAAe,OAAM,IAAI,mBAAmB,eAAe;AAEpF,aAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU,MAAM;AAC1D,YAAM,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,SAAS,MAAM,CAAC;AACvD,UAAI;AAAE,cAAM,KAAK,QAAQ,OAAO,MAAM,SAAS,QAAQ,SAAS,IAAI,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,MAAG,QACrF;AAAE,cAAM,IAAI,cAAc,2BAA2B,CAAC;AAAA,MAAG;AAAA,IACjE;AAAA,EACF;AACA,MAAI;AAAE,UAAM,KAAK,QAAQ,OAAO,CAAC;AAAA,EAAG,QAC9B;AAAE,UAAM,IAAI,cAAc,2BAA2B,CAAC;AAAA,EAAG;AAC/D,SAAO,MAAM,KAAK,EAAE;AACtB;AAEA,eAAe,QAAQ,SAAyB,QAAuD;AACrG,QAAM,SAAS,IAAI,UAAU,QAAQ,QAAQ,MAAM;AACnD,MAAI,eAAe;AACnB,MAAI;AACF,UAAM,UAAU,MAAM,aAAa,SAAS,MAAM;AAClD,UAAM,SAAS,MAAM,MAAM,SAAS,QAAQ,MAAM,MAAM;AACxD,UAAM,SAAS,cAAc,QAAQ,EAAE,GAAG,QAAQ,iBAAiB,OAAO,UAAU,kBAAkB,QAAQ,CAAC;AAC/G,QAAI,SAAS,OAAO,KAAK;AACzB,QAAI;AACF,aAAO,CAAC,OAAO,MAAM;AAAE,cAAM,OAAO,KAAK,OAAO,KAAK;AAAG,iBAAS,OAAO,KAAK;AAAA,MAAG;AAAA,IAClF,UAAE;AAAU,UAAI,CAAC,OAAO,KAAM,QAAO,OAAO,MAAkB;AAAA,IAAG;AACjE,UAAM,QAAQ,MAAM,SAAS,QAAQ,OAAO,OAAO,OAAO,MAAM;AAChE,mBAAe,MAAM,MAA6B;AAChD,eAAS,SAAS,GAAG,SAAS,KAAK,UAAS;AAC1C,YAAI,MAAM,KAAK,IAAI,SAAS,MAAM,KAAK,MAAM;AAC7C,YAAI,MAAM,KAAK,UAAU,KAAK,WAAW,MAAM,CAAC,KAAK,SAAU,KAAK,WAAW,MAAM,CAAC,KAAK,MAAQ;AACnG,cAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,cAAM,QAAQ,KAAK,MAAM,QAAQ,GAAG;AACpC,cAAM,OAAO,qBAAO,WAAW,KAAK;AACpC,YAAI,OAAO,OAAO,iBAAiB,OAAO,YAAa,OAAM,IAAI,mBAAmB,gBAAgB;AACpG,eAAO,eAAe;AACtB,YAAI;AAAE,gBAAM,WAAW,QAAQ,QAAQ,qBAAO,KAAK,KAAK,GAAG,QAAQ,MAAM;AAAA,QAAG,SACrE,OAAO;AAAE,yBAAe;AAAM,gBAAM;AAAA,QAAO;AAClD,iBAAS;AAAA,MACX;AAAA,IACF;AACA,QAAI,QAAQ,MAAM,WAAW,QAAS,OAAM,MAAM,OAAO,MAAM,MAAM,CAAC;AAAA,aAC7D,QAAQ,MAAM,WAAW,UAAW,OAAM,MAAM,MAAM,SAAS,SAAS,OAAO;AAAA,aAC/E,QAAQ,MAAM,WAAW,UAAU;AAC1C,uBAAiB,QAAQ,YAAY,MAAM,CAAC,GAAG,MAAM,EAAG,OAAM,MAAM,IAAI;AAAA,IAC1E,OAAO;AACL,UAAI,CAAC,MAAM,OAAQ,OAAM,IAAI,cAAc,sBAAsB,EAAE;AACnE,iBAAW,QAAQ,OAAO;AACxB,yBAAiB,QAAQ,UAAU,MAAM,MAAM,EAAG,OAAM,MAAM,IAAI;AAClE,cAAM,MAAM,IAAI;AAAA,MAClB;AACA,aAAO,EAAE,UAAU,EAAE;AAAA,IACvB;AACA,UAAM,MAAM,IAAI;AAChB,WAAO,EAAE,UAAU,EAAE;AAAA,EACvB,SAAS,OAAO;AACd,YAAQ,OAAO,eAAe;AAC9B,QAAI,gBAAgB,iBAAiB,WAAW,MAAM,SAAS,QAAS,OAAM;AAC9E,UAAM,SAAS,iBAAiB,gBAAgB,MAAM,SAAS,iBAAiB,gBAAgB,IAC5F,iBAAiB,eAAe,iBAAiB,UAAU,IAAI;AACnE,QAAI,WAAW,OAAW,OAAM;AAChC,UAAM,UAAU,iBAAiB,QAAQ,MAAM,QAAQ,MAAM,GAAG,GAAI,IAAI;AACxE,UAAM,gBAAgB,QAAQ,QAAQ,GAAG,QAAQ,OAAO,KAAK,OAAO;AAAA,GAAM,QAAQ,MAAM;AACxF,WAAO,EAAE,UAAU,OAAO;AAAA,EAC5B;AACF;AAEO,SAAS,kBAAkB,UAA8B,CAAC,GAAiC;AAChG,QAAM,SAAS,sBAAsB,QAAQ,MAAM;AACnD,SAAO,CAAC,MAAM,SAAS,EAAE,IAAI,WAAS,EAAE,MAAM,SAAS,aAAW,QAAQ,SAAS,MAAM,EAAE,EAAE;AAC/F;AACO,SAAS,YAAY,UAA8B,CAAC,GAAuB;AAChF,QAAM,cAAc,kBAAkB,OAAO;AAC7C,QAAM,UAAU,QAAQ,WAAW;AACnC,SAAO,EAAE,MAAM,gBAAgB,MAAM,MAAM;AACzC,QAAI,CAAC,QAAS,YAAW,cAAc,aAAa;AAClD,UAAI,KAAK,SAAS,IAAI,WAAW,IAAI,EAAG,OAAM,IAAI,MAAM,+BAA+B,WAAW,IAAI,EAAE;AAAA,IAC1G;AACA,eAAW,cAAc,YAAa,MAAK,SAAS,SAAS,YAAY,EAAE,QAAQ,CAAC;AAAA,EACtF,EAAE;AACJ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  monotonicNow,
3
3
  yieldTurn
4
- } from "./chunk-2PQ3XOCQ.js";
4
+ } from "./chunk-UYX72YHY.js";
5
5
  import {
6
6
  import_buffer,
7
7
  init_platform
@@ -339,4 +339,4 @@ export {
339
339
  scalarJson,
340
340
  interruptible
341
341
  };
342
- //# sourceMappingURL=chunk-XBLVOMEJ.js.map
342
+ //# sourceMappingURL=chunk-AFH57PPL.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-OECKXHVJ.js";
3
+ } from "./chunk-RNKTWFEM.js";
4
4
  import {
5
5
  FsError,
6
6
  createBytePipe,
7
7
  outputFailure
8
- } from "./chunk-2PQ3XOCQ.js";
8
+ } from "./chunk-CXMIIXJA.js";
9
9
  import {
10
10
  init_platform
11
11
  } from "./chunk-2KL6W6NB.js";
@@ -191,4 +191,4 @@ export {
191
191
  writeFileOutput,
192
192
  openFileOutput
193
193
  };
194
- //# sourceMappingURL=chunk-FMTBJ7SG.js.map
194
+ //# sourceMappingURL=chunk-CEPNDODE.js.map
@@ -0,0 +1,178 @@
1
+ import {
2
+ TransformStream,
3
+ init_platform
4
+ } from "./chunk-2KL6W6NB.js";
5
+
6
+ // packages/safe-bash/src/contracts/errors.ts
7
+ init_platform();
8
+ import { isErrnoCode, isFsError, toFsError, FsError } from "@poe-platform/safe-fs/core";
9
+
10
+ // packages/safe-bash/src/contracts/io.ts
11
+ init_platform();
12
+ init_platform();
13
+ import { collectBytes, readBytes } from "@poe-platform/safe-fs/core";
14
+ import { collectBytes as collectBytes2, readBytes as readBytes2, toByteSource } from "@poe-platform/safe-fs/core";
15
+ var outputFailure = /* @__PURE__ */ Symbol("output failure");
16
+ function createBytePipe(options = {}) {
17
+ const highWaterMark = options.highWaterMark ?? 64 * 1024;
18
+ const signal = options.signal;
19
+ if (!Number.isSafeInteger(highWaterMark) || highWaterMark < 1) {
20
+ throw new RangeError("highWaterMark must be a positive safe integer");
21
+ }
22
+ const stream = new TransformStream(
23
+ void 0,
24
+ { highWaterMark: 1 },
25
+ { highWaterMark, size: (chunk) => chunk.byteLength }
26
+ );
27
+ const reader = stream.readable.getReader();
28
+ const writer = stream.writable.getWriter();
29
+ let ended = false;
30
+ let failed = false;
31
+ let failure;
32
+ let closePromise;
33
+ let abortPromise;
34
+ let finished = false;
35
+ const consumer = new AbortController();
36
+ const abort = (reason = new FsError("EPIPE", { syscall: "pipe" })) => {
37
+ if (abortPromise) return abortPromise;
38
+ if (finished) return Promise.resolve();
39
+ failed = true;
40
+ failure = reason;
41
+ ended = true;
42
+ consumer.abort(reason);
43
+ abortPromise = Promise.allSettled([reader.cancel(reason), writer.abort(reason)]).then(() => {
44
+ });
45
+ return abortPromise;
46
+ };
47
+ const onAbort = () => {
48
+ void abort(signal?.reason);
49
+ };
50
+ const cleanup = () => signal?.removeEventListener("abort", onAbort);
51
+ void writer.closed.catch(() => {
52
+ });
53
+ void reader.closed.then(cleanup, cleanup);
54
+ if (signal?.aborted) onAbort();
55
+ else signal?.addEventListener("abort", onAbort, { once: true });
56
+ const iterator = (async function* () {
57
+ try {
58
+ while (true) {
59
+ if (failed) throw failure;
60
+ const result = await reader.read();
61
+ if (failed) throw failure;
62
+ if (result.done) {
63
+ finished = true;
64
+ return;
65
+ }
66
+ yield result.value;
67
+ }
68
+ } finally {
69
+ if (!finished) await abort();
70
+ reader.releaseLock();
71
+ }
72
+ })();
73
+ const readable = {
74
+ [Symbol.asyncIterator]() {
75
+ return this;
76
+ },
77
+ next() {
78
+ return iterator.next();
79
+ },
80
+ async return() {
81
+ if (!finished) await abort();
82
+ try {
83
+ return await iterator.return(void 0);
84
+ } finally {
85
+ reader.releaseLock();
86
+ }
87
+ },
88
+ async throw(reason) {
89
+ await abort(reason);
90
+ try {
91
+ return await iterator.throw(reason);
92
+ } finally {
93
+ reader.releaseLock();
94
+ }
95
+ }
96
+ };
97
+ const write = async (chunk) => {
98
+ if (failed) throw failure;
99
+ if (ended) throw new FsError("EPIPE", { syscall: "write" });
100
+ if (!(chunk instanceof Uint8Array)) throw new TypeError("Byte sinks require Uint8Array chunks");
101
+ if (chunk.byteLength > 0) await writer.write(new Uint8Array(chunk));
102
+ };
103
+ return {
104
+ readable,
105
+ writable: {
106
+ write,
107
+ [outputFailure]: abort,
108
+ ownedOutput: { consumerClosed: consumer.signal, write }
109
+ },
110
+ close() {
111
+ if (failed) return Promise.reject(failure);
112
+ ended = true;
113
+ closePromise ??= writer.close();
114
+ return closePromise;
115
+ },
116
+ abort
117
+ };
118
+ }
119
+ async function writeText(sink, text) {
120
+ await sink.write(new TextEncoder().encode(text));
121
+ }
122
+ async function writeBytes(sink, chunk, signal) {
123
+ if (!(chunk instanceof Uint8Array)) throw new TypeError("Byte sinks require Uint8Array chunks");
124
+ await abortable(() => sink.write(chunk), signal);
125
+ }
126
+ async function pipeBytes(source, sink, signal) {
127
+ signal?.throwIfAborted();
128
+ for await (const chunk of readBytes(source, signal)) {
129
+ await writeBytes(sink, chunk, signal);
130
+ }
131
+ signal?.throwIfAborted();
132
+ }
133
+ async function collectText(source, options) {
134
+ return new TextDecoder().decode(await collectBytes(source, options));
135
+ }
136
+ async function abortable(operation, signal) {
137
+ signal?.throwIfAborted();
138
+ if (!signal) return operation();
139
+ return new Promise((resolve, reject) => {
140
+ const onAbort = () => {
141
+ signal.removeEventListener("abort", onAbort);
142
+ reject(signal.reason);
143
+ };
144
+ signal.addEventListener("abort", onAbort, { once: true });
145
+ try {
146
+ Promise.resolve(operation()).then(
147
+ (result) => {
148
+ signal.removeEventListener("abort", onAbort);
149
+ resolve(result);
150
+ },
151
+ (error) => {
152
+ signal.removeEventListener("abort", onAbort);
153
+ reject(error);
154
+ }
155
+ );
156
+ } catch (error) {
157
+ signal.removeEventListener("abort", onAbort);
158
+ reject(error);
159
+ }
160
+ });
161
+ }
162
+
163
+ export {
164
+ isErrnoCode,
165
+ isFsError,
166
+ toFsError,
167
+ FsError,
168
+ outputFailure,
169
+ createBytePipe,
170
+ writeText,
171
+ writeBytes,
172
+ pipeBytes,
173
+ collectText,
174
+ collectBytes2 as collectBytes,
175
+ readBytes2 as readBytes,
176
+ toByteSource
177
+ };
178
+ //# sourceMappingURL=chunk-CXMIIXJA.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/contracts/errors.ts", "../../src/contracts/io.ts"],
4
+ "sourcesContent": ["export { isErrnoCode, isFsError, toFsError, FsError } from \"poe-code/safe-fs/core\";\nexport type { ErrnoCode, FsErrorOptions } from \"poe-code/safe-fs/core\";\n", "import { collectBytes, readBytes } from \"poe-code/safe-fs/core\";\nimport type { ByteSource, CollectOptions } from \"poe-code/safe-fs/core\";\nexport { collectBytes, readBytes, toByteSource } from \"poe-code/safe-fs/core\";\nexport type { ByteSource, CollectOptions } from \"poe-code/safe-fs/core\";\nimport { TransformStream } from \"node:stream/web\";\nimport { FsError } from \"./errors.js\";\n\nexport const outputFailure = Symbol(\"output failure\");\n\nexport interface ByteSink {\n write(chunk: Uint8Array): Promise<void>;\n readonly [outputFailure]?: (reason: unknown) => Promise<void>;\n readonly ownedOutput?: {\n readonly consumerClosed: AbortSignal;\n write(chunk: Uint8Array): Promise<void>;\n };\n}\n\nexport interface BytePipe {\n readonly readable: ByteSource;\n readonly writable: ByteSink;\n close(): Promise<void>;\n abort(reason?: unknown): Promise<void>;\n}\n\nexport interface BytePipeOptions {\n readonly highWaterMark?: number;\n readonly signal?: AbortSignal;\n}\n\nexport function createBytePipe(options: BytePipeOptions = {}): BytePipe {\n const highWaterMark = options.highWaterMark ?? 64 * 1024;\n const signal = options.signal;\n if (!Number.isSafeInteger(highWaterMark) || highWaterMark < 1) {\n throw new RangeError(\"highWaterMark must be a positive safe integer\");\n }\n const stream = new TransformStream<Uint8Array, Uint8Array>(\n undefined,\n { highWaterMark: 1 },\n { highWaterMark, size: (chunk) => chunk.byteLength },\n );\n const reader = stream.readable.getReader();\n const writer = stream.writable.getWriter();\n let ended = false;\n let failed = false;\n let failure: unknown;\n let closePromise: Promise<void> | undefined;\n let abortPromise: Promise<void> | undefined;\n let finished = false;\n const consumer = new AbortController();\n const abort = (reason: unknown = new FsError(\"EPIPE\", { syscall: \"pipe\" })): Promise<void> => {\n if (abortPromise) return abortPromise;\n if (finished) return Promise.resolve();\n failed = true;\n failure = reason;\n ended = true;\n consumer.abort(reason);\n abortPromise = Promise.allSettled([reader.cancel(reason), writer.abort(reason)]).then(() => {});\n return abortPromise;\n };\n const onAbort = (): void => { void abort(signal?.reason); };\n const cleanup = (): void => signal?.removeEventListener(\"abort\", onAbort);\n void writer.closed.catch(() => {});\n void reader.closed.then(cleanup, cleanup);\n if (signal?.aborted) onAbort();\n else signal?.addEventListener(\"abort\", onAbort, { once: true });\n const iterator = (async function* (): AsyncGenerator<Uint8Array> {\n try {\n while (true) {\n if (failed) throw failure;\n const result = await reader.read();\n if (failed) throw failure;\n if (result.done) {\n finished = true;\n return;\n }\n yield result.value;\n }\n } finally {\n if (!finished) await abort();\n reader.releaseLock();\n }\n })();\n const readable: AsyncIterableIterator<Uint8Array> = {\n [Symbol.asyncIterator]() { return this; },\n next() { return iterator.next(); },\n async return() {\n if (!finished) await abort();\n try {\n return await iterator.return(undefined);\n } finally {\n reader.releaseLock();\n }\n },\n async throw(reason) {\n await abort(reason);\n try {\n return await iterator.throw(reason);\n } finally {\n reader.releaseLock();\n }\n },\n };\n const write = async (chunk: Uint8Array): Promise<void> => {\n if (failed) throw failure;\n if (ended) throw new FsError(\"EPIPE\", { syscall: \"write\" });\n if (!(chunk instanceof Uint8Array)) throw new TypeError(\"Byte sinks require Uint8Array chunks\");\n if (chunk.byteLength > 0) await writer.write(new Uint8Array(chunk));\n };\n return {\n readable,\n writable: {\n write,\n [outputFailure]: abort,\n ownedOutput: { consumerClosed: consumer.signal, write },\n },\n close() {\n if (failed) return Promise.reject(failure);\n ended = true;\n closePromise ??= writer.close();\n return closePromise;\n },\n abort,\n };\n}\n\nexport async function writeText(sink: ByteSink, text: string): Promise<void> {\n await sink.write(new TextEncoder().encode(text));\n}\n\nexport async function writeBytes(sink: ByteSink, chunk: Uint8Array, signal?: AbortSignal): Promise<void> {\n if (!(chunk instanceof Uint8Array)) throw new TypeError(\"Byte sinks require Uint8Array chunks\");\n await abortable(() => sink.write(chunk), signal);\n}\n\nexport async function pipeBytes(source: ByteSource, sink: ByteSink, signal?: AbortSignal): Promise<void> {\n signal?.throwIfAborted();\n for await (const chunk of readBytes(source, signal)) {\n await writeBytes(sink, chunk, signal);\n }\n signal?.throwIfAborted();\n}\n\nexport async function collectText(source: ByteSource, options: CollectOptions): Promise<string> {\n return new TextDecoder().decode(await collectBytes(source, options));\n}\n\nasync function abortable<Result>(operation: () => PromiseLike<Result>, signal?: AbortSignal): Promise<Result> {\n signal?.throwIfAborted();\n if (!signal) return operation();\n return new Promise<Result>((resolve, reject) => {\n const onAbort = (): void => {\n signal.removeEventListener(\"abort\", onAbort);\n reject(signal.reason);\n };\n signal.addEventListener(\"abort\", onAbort, { once: true });\n try {\n Promise.resolve(operation()).then(\n (result) => {\n signal.removeEventListener(\"abort\", onAbort);\n resolve(result);\n },\n (error: unknown) => {\n signal.removeEventListener(\"abort\", onAbort);\n reject(error);\n },\n );\n } catch (error) {\n signal.removeEventListener(\"abort\", onAbort);\n reject(error);\n }\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["collectBytes", "readBytes"]
7
+ }
@@ -1,22 +1,24 @@
1
1
  import {
2
2
  writeFileOutput
3
- } from "./chunk-FMTBJ7SG.js";
3
+ } from "./chunk-CEPNDODE.js";
4
4
  import {
5
5
  createOutputOperation
6
- } from "./chunk-OECKXHVJ.js";
6
+ } from "./chunk-RNKTWFEM.js";
7
7
  import {
8
- dirname,
9
- resolvePath
10
- } from "./chunk-DPJWEGIX.js";
11
- import {
12
- FsError,
13
8
  PublicDiagnostic,
14
9
  getCommandArguments,
15
- outputFailure,
16
10
  shellValueByteLength,
17
11
  shellValueBytes,
18
12
  yieldTurn
19
- } from "./chunk-2PQ3XOCQ.js";
13
+ } from "./chunk-UYX72YHY.js";
14
+ import {
15
+ dirname,
16
+ resolvePath
17
+ } from "./chunk-DPJWEGIX.js";
18
+ import {
19
+ FsError,
20
+ outputFailure
21
+ } from "./chunk-CXMIIXJA.js";
20
22
  import {
21
23
  init_platform
22
24
  } from "./chunk-2KL6W6NB.js";
@@ -1069,4 +1071,4 @@ export {
1069
1071
  createLineEndingCommands,
1070
1072
  lineEndingCommands
1071
1073
  };
1072
- //# sourceMappingURL=chunk-E3NZKSTA.js.map
1074
+ //# sourceMappingURL=chunk-F5TCC4UG.js.map