@poe-platform/safe-bash 0.1.726 → 0.1.727
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/safe-bash/chunks/{chunk-6VZX7ESE.js → chunk-26N7BLXE.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-ZZ7JQBPX.js → chunk-4A2OLEML.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-LTREB3HX.js → chunk-54MC6XF5.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-Z3CCN6Y2.js → chunk-6J5FUESH.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-YR5RZBWS.js → chunk-6TBFZ5JE.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-6HJNJ625.js → chunk-7MMYQG3P.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-WTZZX4LV.js → chunk-A4MB2KXV.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-EM2JW7ZH.js → chunk-ATYJKRBZ.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-VV24PRPB.js → chunk-AZQOEGP3.js} +1050 -101
- package/dist/safe-bash/chunks/chunk-AZQOEGP3.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-EFMXWUYE.js → chunk-B6JEJ6AT.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-JFGGQUYP.js → chunk-BFXGHT3R.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-RP5IZOOR.js → chunk-BJYV5J65.js} +1050 -101
- package/dist/safe-bash/chunks/chunk-BJYV5J65.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-HNHOPD3P.js → chunk-DIEFWGXO.js} +46 -26
- package/dist/safe-bash/chunks/{chunk-HNHOPD3P.js.map → chunk-DIEFWGXO.js.map} +2 -2
- package/dist/safe-bash/chunks/{chunk-SME47P4B.js → chunk-DV6EZOKM.js} +46 -26
- package/dist/safe-bash/chunks/{chunk-SME47P4B.js.map → chunk-DV6EZOKM.js.map} +2 -2
- package/dist/safe-bash/chunks/{chunk-646RTREQ.js → chunk-EEDOYIPC.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-OFAAHWL5.js → chunk-GCQ5A2T2.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-MJW4KSKV.js → chunk-GLPJEDLY.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-FOOJWH7J.js → chunk-GO5OKPBO.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-5JANWFJ3.js → chunk-GWYXCCGO.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-DPHRNHPT.js → chunk-H6KJ4L22.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-FLX2BZBF.js → chunk-HGBYIDAK.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-VGJIDLZM.js → chunk-KS5VSJYM.js} +15 -8
- package/dist/safe-bash/chunks/chunk-KS5VSJYM.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-PO3Z7W3A.js → chunk-MUHYGUFD.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-5DLGYPGJ.js → chunk-PDSTXORC.js} +126 -58
- package/dist/safe-bash/chunks/chunk-PDSTXORC.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-TIHMU25L.js → chunk-PQ37GDJF.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-OTM5RCWZ.js → chunk-QNEDWYC2.js} +15 -8
- package/dist/safe-bash/chunks/chunk-QNEDWYC2.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-LZ7FUN6K.js → chunk-RHHDOA67.js} +5 -5
- package/dist/safe-bash/chunks/{chunk-DSCL3VA2.js → chunk-SJ3B26XV.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-6JBTVWHH.js → chunk-SWACYEIT.js} +5 -5
- package/dist/safe-bash/chunks/{chunk-7UJW7TYR.js → chunk-TD6NWAUK.js} +126 -58
- package/dist/safe-bash/chunks/chunk-TD6NWAUK.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-Q4I754TV.js → chunk-THOBFD5C.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-XELW5O3R.js → chunk-U2STHT7S.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-5X4SOSTT.js → chunk-UJHE5PTK.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-B6YFFKYG.js → chunk-X4I3RHTC.js} +5 -1
- package/dist/safe-bash/chunks/chunk-X4I3RHTC.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-YOK5UHA7.js → chunk-XKXFX3RH.js} +5 -1
- package/dist/safe-bash/chunks/chunk-XKXFX3RH.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-PLCYP2E5.js → chunk-XV4K3UUF.js} +2 -2
- package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
- package/dist/safe-bash/commands/factor/index.browser.js +2 -2
- package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
- package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
- package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
- package/dist/safe-bash/commands/internal.d.ts.map +1 -1
- package/dist/safe-bash/commands/internal.js +4 -3
- package/dist/safe-bash/commands/internal.js.map +1 -1
- package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/index.browser.js +4 -4
- package/dist/safe-bash/commands/network/index.browser.js +4 -4
- package/dist/safe-bash/commands/node/index.browser.js +4 -4
- package/dist/safe-bash/commands/pandoc/index.js.map +1 -1
- package/dist/safe-bash/commands/pr/index.browser.js +3 -3
- package/dist/safe-bash/commands/python/index.browser.js +2 -2
- package/dist/safe-bash/commands/record-buffer.d.ts.map +1 -1
- package/dist/safe-bash/commands/record-buffer.js +12 -4
- package/dist/safe-bash/commands/record-buffer.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/bounded-provider.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/bounded-provider.js +75 -8
- package/dist/safe-bash/commands/regex-execution/bounded-provider.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/limits.d.ts +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/limits.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/limits.js +6 -4
- package/dist/safe-bash/commands/regex-execution/ere/limits.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/portable.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/portable.js +7 -2
- package/dist/safe-bash/commands/regex-execution/portable.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/protocol.d.ts +2 -0
- package/dist/safe-bash/commands/regex-execution/protocol.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/protocol.js +26 -0
- package/dist/safe-bash/commands/regex-execution/protocol.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/utf8.d.ts +1 -1
- package/dist/safe-bash/commands/regex-execution/utf8.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/utf8.js +26 -2
- package/dist/safe-bash/commands/regex-execution/utf8.js.map +1 -1
- package/dist/safe-bash/commands/search/grep.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/grep.js +109 -15
- package/dist/safe-bash/commands/search/grep.js.map +1 -1
- package/dist/safe-bash/commands/search/matcher.d.ts +1 -1
- package/dist/safe-bash/commands/search/matcher.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/matcher.js +2 -0
- package/dist/safe-bash/commands/search/matcher.js.map +1 -1
- package/dist/safe-bash/commands/search/shared.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/shared.js +23 -12
- package/dist/safe-bash/commands/search/shared.js.map +1 -1
- package/dist/safe-bash/commands/standard.d.ts.map +1 -1
- package/dist/safe-bash/commands/standard.js +22 -0
- package/dist/safe-bash/commands/standard.js.map +1 -1
- package/dist/safe-bash/commands/streams.d.ts.map +1 -1
- package/dist/safe-bash/commands/streams.js +54 -10
- package/dist/safe-bash/commands/streams.js.map +1 -1
- package/dist/safe-bash/commands/structured/input.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/input.js +484 -55
- package/dist/safe-bash/commands/structured/input.js.map +1 -1
- package/dist/safe-bash/commands/structured/interpreter.d.ts +3 -0
- package/dist/safe-bash/commands/structured/interpreter.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/interpreter.js +157 -1
- package/dist/safe-bash/commands/structured/interpreter.js.map +1 -1
- package/dist/safe-bash/commands/structured/jq.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/jq.js +50 -24
- package/dist/safe-bash/commands/structured/jq.js.map +1 -1
- package/dist/safe-bash/commands/structured/limits.d.ts +5 -0
- package/dist/safe-bash/commands/structured/limits.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/limits.js +51 -36
- package/dist/safe-bash/commands/structured/limits.js.map +1 -1
- package/dist/safe-bash/commands/structured/numbers.d.ts +1 -0
- package/dist/safe-bash/commands/structured/numbers.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/numbers.js +32 -0
- package/dist/safe-bash/commands/structured/numbers.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-reader.d.ts +1 -0
- package/dist/safe-bash/commands/text-programs/awk-reader.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-reader.js +41 -5
- package/dist/safe-bash/commands/text-programs/awk-reader.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-retention.d.ts +1 -0
- package/dist/safe-bash/commands/text-programs/awk-retention.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-retention.js +9 -0
- package/dist/safe-bash/commands/text-programs/awk-retention.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts +13 -0
- package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-runtime.js +421 -83
- package/dist/safe-bash/commands/text-programs/awk-runtime.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-values.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-values.js +21 -0
- package/dist/safe-bash/commands/text-programs/awk-values.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/regex.d.ts +15 -2
- package/dist/safe-bash/commands/text-programs/regex.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/regex.js +501 -13
- package/dist/safe-bash/commands/text-programs/regex.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.js +242 -102
- package/dist/safe-bash/commands/text-programs/sed.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/shared.d.ts +2 -0
- package/dist/safe-bash/commands/text-programs/shared.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/shared.js +36 -0
- package/dist/safe-bash/commands/text-programs/shared.js.map +1 -1
- package/dist/safe-bash/commands/text.d.ts.map +1 -1
- package/dist/safe-bash/commands/text.js +136 -19
- package/dist/safe-bash/commands/text.js.map +1 -1
- package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
- package/dist/safe-bash/commands/xml/index.browser.js +5 -5
- package/dist/safe-bash/commands/yq/index.browser.js +5 -5
- package/dist/safe-bash/contracts/yield.d.ts +1 -0
- package/dist/safe-bash/contracts/yield.d.ts.map +1 -1
- package/dist/safe-bash/contracts/yield.js +3 -0
- package/dist/safe-bash/contracts/yield.js.map +1 -1
- package/dist/safe-bash/core.browser.js +1052 -256
- package/dist/safe-bash/core.browser.js.map +3 -3
- package/dist/safe-bash/plugins/composition.d.ts +1 -0
- package/dist/safe-bash/plugins/composition.d.ts.map +1 -1
- package/dist/safe-bash/plugins/composition.js +80 -2
- package/dist/safe-bash/plugins/composition.js.map +1 -1
- package/dist/safe-bash/plugins/index.d.ts.map +1 -1
- package/dist/safe-bash/plugins/index.js +2 -2
- package/dist/safe-bash/plugins/index.js.map +1 -1
- package/dist/safe-bash-command-fold/arguments.d.ts +1 -1
- package/dist/safe-bash-command-fold/contracts.d.ts +2 -1
- package/dist/safe-bash-command-fold/engine.d.ts +1 -1
- package/dist/safe-bash-command-fold/index.js +10 -8
- package/dist/safe-bash-command-fold/index.js.map +2 -2
- package/dist/safe-bash-command-sips/index.js +231 -67
- package/dist/safe-bash-command-sips/index.js.map +2 -2
- package/dist/safe-bash-command-unrtf/contracts.d.ts +5 -2
- package/dist/safe-bash-command-unrtf/index.js +6 -5
- package/dist/safe-bash-command-unrtf/index.js.map +2 -2
- package/dist/safe-playwright-cloudflare/browser-run-code.js +22 -6
- package/package.json +2 -2
- package/dist/safe-bash/chunks/chunk-5DLGYPGJ.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-7UJW7TYR.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-B6YFFKYG.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-OTM5RCWZ.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-RP5IZOOR.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-VGJIDLZM.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-VV24PRPB.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-YOK5UHA7.js.map +0 -7
- /package/dist/safe-bash/chunks/{chunk-6VZX7ESE.js.map → chunk-26N7BLXE.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-ZZ7JQBPX.js.map → chunk-4A2OLEML.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-LTREB3HX.js.map → chunk-54MC6XF5.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-Z3CCN6Y2.js.map → chunk-6J5FUESH.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-YR5RZBWS.js.map → chunk-6TBFZ5JE.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-6HJNJ625.js.map → chunk-7MMYQG3P.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-WTZZX4LV.js.map → chunk-A4MB2KXV.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-EM2JW7ZH.js.map → chunk-ATYJKRBZ.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-EFMXWUYE.js.map → chunk-B6JEJ6AT.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-JFGGQUYP.js.map → chunk-BFXGHT3R.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-646RTREQ.js.map → chunk-EEDOYIPC.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-OFAAHWL5.js.map → chunk-GCQ5A2T2.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-MJW4KSKV.js.map → chunk-GLPJEDLY.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-FOOJWH7J.js.map → chunk-GO5OKPBO.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-5JANWFJ3.js.map → chunk-GWYXCCGO.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-DPHRNHPT.js.map → chunk-H6KJ4L22.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-FLX2BZBF.js.map → chunk-HGBYIDAK.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-PO3Z7W3A.js.map → chunk-MUHYGUFD.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-TIHMU25L.js.map → chunk-PQ37GDJF.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-LZ7FUN6K.js.map → chunk-RHHDOA67.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-DSCL3VA2.js.map → chunk-SJ3B26XV.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-6JBTVWHH.js.map → chunk-SWACYEIT.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-Q4I754TV.js.map → chunk-THOBFD5C.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-XELW5O3R.js.map → chunk-U2STHT7S.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-5X4SOSTT.js.map → chunk-UJHE5PTK.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-PLCYP2E5.js.map → chunk-XV4K3UUF.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FsError, writeBytes } from "../../contracts/index.js";
|
|
2
2
|
import { writeFileOutput } from "../../contracts/filesystem-output.js";
|
|
3
|
-
import { Pattern, substitute } from "./regex.js";
|
|
4
|
-
import { Budget, ProgramError, byteString, bytes, command, input,
|
|
3
|
+
import { Pattern, substitute, trySubstituteSync } from "./regex.js";
|
|
4
|
+
import { Budget, ProgramError, byteString, bytes, command, input, lineRecordBatches, readProgram, virtualPath, write } from "./shared.js";
|
|
5
5
|
import { assertPathRequirements, requiredFileInput, sedRequirements } from "../search/requirements.js";
|
|
6
6
|
import { editInPlace, prepareInPlace } from "./inplace.js";
|
|
7
7
|
async function parse(source, extended, separator, maxProgramInstructions, budget) {
|
|
@@ -312,32 +312,98 @@ async function* nullRecords(context, files, budget) {
|
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
314
|
async function execute(program, context, files, quiet, budget, separator, outputState, lineLength) {
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
315
|
+
const useBatches = separator !== "\0";
|
|
316
|
+
const batchSource = useBatches ? lineRecordBatches(context, files, budget) : undefined;
|
|
317
|
+
const singleSource = useBatches ? undefined : nullRecords(context, files, budget);
|
|
318
|
+
let currentBatch = [];
|
|
319
|
+
let batchIndex = 0;
|
|
320
|
+
let currentRecord;
|
|
321
|
+
let followingRecord;
|
|
322
|
+
if (batchSource) {
|
|
323
|
+
const firstBatch = await batchSource.next();
|
|
324
|
+
if (!firstBatch.done && firstBatch.value.length > 0) {
|
|
325
|
+
currentBatch = firstBatch.value;
|
|
326
|
+
currentRecord = currentBatch[0];
|
|
327
|
+
batchIndex = 1;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
const first = await singleSource.next();
|
|
332
|
+
if (!first.done)
|
|
333
|
+
currentRecord = first.value;
|
|
334
|
+
}
|
|
335
|
+
const peekNextRecord = async () => {
|
|
336
|
+
if (followingRecord !== undefined)
|
|
337
|
+
return followingRecord ?? undefined;
|
|
338
|
+
if (batchSource) {
|
|
339
|
+
if (batchIndex < currentBatch.length) {
|
|
340
|
+
followingRecord = currentBatch[batchIndex];
|
|
341
|
+
return followingRecord;
|
|
342
|
+
}
|
|
343
|
+
const nextBatch = await batchSource.next();
|
|
344
|
+
if (nextBatch.done || nextBatch.value.length === 0) {
|
|
345
|
+
followingRecord = null;
|
|
346
|
+
return undefined;
|
|
347
|
+
}
|
|
348
|
+
currentBatch = nextBatch.value;
|
|
349
|
+
batchIndex = 0;
|
|
350
|
+
followingRecord = currentBatch[0];
|
|
351
|
+
return followingRecord;
|
|
352
|
+
}
|
|
353
|
+
const next = await singleSource.next();
|
|
354
|
+
followingRecord = next.done ? null : next.value;
|
|
355
|
+
return followingRecord ?? undefined;
|
|
356
|
+
};
|
|
357
|
+
const readNextRecord = async () => {
|
|
358
|
+
if (followingRecord !== undefined) {
|
|
359
|
+
const next = followingRecord ?? undefined;
|
|
360
|
+
followingRecord = undefined;
|
|
361
|
+
if (batchSource && next !== undefined && batchIndex < currentBatch.length && currentBatch[batchIndex] === next) {
|
|
362
|
+
batchIndex++;
|
|
363
|
+
}
|
|
364
|
+
return next;
|
|
365
|
+
}
|
|
366
|
+
if (batchSource) {
|
|
367
|
+
if (batchIndex < currentBatch.length)
|
|
368
|
+
return currentBatch[batchIndex++];
|
|
369
|
+
const nextBatch = await batchSource.next();
|
|
370
|
+
if (nextBatch.done || nextBatch.value.length === 0)
|
|
371
|
+
return undefined;
|
|
372
|
+
currentBatch = nextBatch.value;
|
|
373
|
+
batchIndex = 1;
|
|
374
|
+
return currentBatch[0];
|
|
375
|
+
}
|
|
376
|
+
const next = await singleSource.next();
|
|
377
|
+
return next.done ? undefined : next.value;
|
|
323
378
|
};
|
|
324
379
|
const prepareRecord = async (record) => {
|
|
325
380
|
if (record.terminated || files.length < 2)
|
|
326
381
|
return record;
|
|
327
|
-
const next = await
|
|
328
|
-
return
|
|
382
|
+
const next = await peekNextRecord();
|
|
383
|
+
return next !== undefined && next.fileIndex !== record.fileIndex ? { ...record, terminated: true } : record;
|
|
329
384
|
};
|
|
330
385
|
let number = 0;
|
|
331
386
|
let hold = "";
|
|
332
387
|
let holdTerminated = true;
|
|
388
|
+
let stdoutBuffer = "";
|
|
389
|
+
const flushStdout = async () => {
|
|
390
|
+
if (stdoutBuffer.length > 0) {
|
|
391
|
+
const chunk = stdoutBuffer;
|
|
392
|
+
stdoutBuffer = "";
|
|
393
|
+
await write(context, chunk);
|
|
394
|
+
}
|
|
395
|
+
};
|
|
333
396
|
const joinSpace = (left, right) => {
|
|
334
397
|
if (left.length + separator.length + right.length > budget.maxBufferBytes)
|
|
335
398
|
throw new ProgramError("text buffer limit exceeded");
|
|
336
399
|
return left + separator + right;
|
|
337
400
|
};
|
|
338
|
-
const emit =
|
|
339
|
-
|
|
401
|
+
const emit = (text, terminated = true) => {
|
|
402
|
+
stdoutBuffer += (outputState.stdoutUnterminated ? separator : "") + text;
|
|
340
403
|
outputState.stdoutUnterminated = !terminated;
|
|
404
|
+
if (stdoutBuffer.length >= 16384)
|
|
405
|
+
return flushStdout();
|
|
406
|
+
return undefined;
|
|
341
407
|
};
|
|
342
408
|
let lastPattern;
|
|
343
409
|
const active = new Set();
|
|
@@ -353,71 +419,111 @@ async function execute(program, context, files, quiet, budget, separator, output
|
|
|
353
419
|
throw new ProgramError("no previous regular expression");
|
|
354
420
|
return lastPattern;
|
|
355
421
|
};
|
|
422
|
+
const appended = [];
|
|
423
|
+
let appendedSize = 0;
|
|
424
|
+
const append = (item) => {
|
|
425
|
+
appendedSize += (item.text ?? item.file ?? "").length + 32;
|
|
426
|
+
if (appendedSize > budget.maxBufferBytes)
|
|
427
|
+
throw new ProgramError("append queue buffer limit exceeded");
|
|
428
|
+
appended.push(item);
|
|
429
|
+
};
|
|
430
|
+
let record;
|
|
431
|
+
let pattern = "";
|
|
432
|
+
let substituted = false;
|
|
433
|
+
let deleted = false;
|
|
434
|
+
let quit = false;
|
|
435
|
+
let status = 0;
|
|
436
|
+
const print = () => emit(pattern + (record.terminated ? separator : ""), record.terminated);
|
|
437
|
+
const flushSlow = async (printPattern) => {
|
|
438
|
+
if (appended.length > 0) {
|
|
439
|
+
await assertPathRequirements(context, sedRequirements, ["script-read"], appended.flatMap(item => item.file === undefined ? [] : [item.file]));
|
|
440
|
+
}
|
|
441
|
+
if (printPattern && !quiet && !deleted) {
|
|
442
|
+
const p = print();
|
|
443
|
+
if (p)
|
|
444
|
+
await p;
|
|
445
|
+
}
|
|
446
|
+
if (outputState.stdoutUnterminated && (appended.length || quit)) {
|
|
447
|
+
stdoutBuffer += separator;
|
|
448
|
+
if (stdoutBuffer.length >= 16384)
|
|
449
|
+
await flushStdout();
|
|
450
|
+
outputState.stdoutUnterminated = false;
|
|
451
|
+
}
|
|
452
|
+
for (const item of appended) {
|
|
453
|
+
if (item.text !== undefined) {
|
|
454
|
+
stdoutBuffer += item.text;
|
|
455
|
+
if (stdoutBuffer.length >= 16384)
|
|
456
|
+
await flushStdout();
|
|
457
|
+
continue;
|
|
458
|
+
}
|
|
459
|
+
await flushStdout();
|
|
460
|
+
const path = virtualPath(context, item.file);
|
|
461
|
+
try {
|
|
462
|
+
for await (const chunk of requiredFileInput(context, sedRequirements, "script-read", path, budget.maxBufferBytes)) {
|
|
463
|
+
budget.step();
|
|
464
|
+
const pendingCheck = budget.checkpointSync();
|
|
465
|
+
if (pendingCheck)
|
|
466
|
+
await pendingCheck;
|
|
467
|
+
if (chunk.byteLength > budget.maxBufferBytes)
|
|
468
|
+
throw new ProgramError("read buffer limit exceeded");
|
|
469
|
+
await writeBytes(context.stdout, chunk, context.signal);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
catch (error) {
|
|
473
|
+
context.signal.throwIfAborted();
|
|
474
|
+
if (!(error instanceof FsError) || !["ENOENT", "EACCES", "EPERM", "EISDIR", "ENOTDIR"].includes(error.code))
|
|
475
|
+
throw error;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
appended.length = 0;
|
|
479
|
+
appendedSize = 0;
|
|
480
|
+
};
|
|
481
|
+
const flush = (printPattern = true) => {
|
|
482
|
+
if (appended.length === 0 && (!outputState.stdoutUnterminated || !quit)) {
|
|
483
|
+
if (printPattern && !quiet && !deleted)
|
|
484
|
+
return print();
|
|
485
|
+
return undefined;
|
|
486
|
+
}
|
|
487
|
+
return flushSlow(printPattern);
|
|
488
|
+
};
|
|
489
|
+
const writeFile = async (file) => {
|
|
490
|
+
const path = virtualPath(context, file);
|
|
491
|
+
const terminated = record.terminated || separator === "\n";
|
|
492
|
+
const text = (outputState.unterminatedFiles.has(path) ? separator : "") + pattern + (terminated ? separator : "");
|
|
493
|
+
await writeFileOutput(context, bytes(text), chunk => context.fs.appendFile(path, chunk, { signal: context.signal }));
|
|
494
|
+
if (terminated)
|
|
495
|
+
outputState.unterminatedFiles.delete(path);
|
|
496
|
+
else
|
|
497
|
+
outputState.unterminatedFiles.add(path);
|
|
498
|
+
};
|
|
499
|
+
const matches = (address) => {
|
|
500
|
+
if (address.kind === "number")
|
|
501
|
+
return number === address.number;
|
|
502
|
+
if (address.kind === "last") {
|
|
503
|
+
if (batchSource && batchIndex < currentBatch.length)
|
|
504
|
+
return false;
|
|
505
|
+
return peekNextRecord().then(next => next === undefined);
|
|
506
|
+
}
|
|
507
|
+
const found = getPattern(address.pattern).tryFindSync(pattern, budget);
|
|
508
|
+
if (found instanceof Promise)
|
|
509
|
+
return found.then(res => res !== undefined);
|
|
510
|
+
return found !== undefined;
|
|
511
|
+
};
|
|
356
512
|
try {
|
|
357
|
-
while (
|
|
513
|
+
while (currentRecord !== undefined) {
|
|
358
514
|
budget.step();
|
|
359
515
|
number++;
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
if (appendedSize > budget.maxBufferBytes)
|
|
367
|
-
throw new ProgramError("append queue buffer limit exceeded");
|
|
368
|
-
appended.push(item);
|
|
369
|
-
};
|
|
370
|
-
let substituted = false;
|
|
371
|
-
let deleted = false;
|
|
372
|
-
let quit = false;
|
|
373
|
-
let status = 0;
|
|
374
|
-
const print = () => emit(pattern + (record.terminated ? separator : ""), record.terminated);
|
|
375
|
-
const flush = async (printPattern = true) => {
|
|
376
|
-
await assertPathRequirements(context, sedRequirements, ["script-read"], appended.flatMap(item => item.file === undefined ? [] : [item.file]));
|
|
377
|
-
if (printPattern && !quiet && !deleted)
|
|
378
|
-
await print();
|
|
379
|
-
if (outputState.stdoutUnterminated && (appended.length || quit)) {
|
|
380
|
-
await write(context, separator);
|
|
381
|
-
outputState.stdoutUnterminated = false;
|
|
382
|
-
}
|
|
383
|
-
for (const item of appended) {
|
|
384
|
-
if (item.text !== undefined) {
|
|
385
|
-
await write(context, item.text);
|
|
386
|
-
continue;
|
|
387
|
-
}
|
|
388
|
-
const path = virtualPath(context, item.file);
|
|
389
|
-
try {
|
|
390
|
-
for await (const chunk of requiredFileInput(context, sedRequirements, "script-read", path, budget.maxBufferBytes)) {
|
|
391
|
-
budget.step();
|
|
392
|
-
await budget.checkpoint();
|
|
393
|
-
if (chunk.byteLength > budget.maxBufferBytes)
|
|
394
|
-
throw new ProgramError("read buffer limit exceeded");
|
|
395
|
-
await writeBytes(context.stdout, chunk, context.signal);
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
catch (error) {
|
|
399
|
-
context.signal.throwIfAborted();
|
|
400
|
-
if (!(error instanceof FsError) || !["ENOENT", "EACCES", "EPERM", "EISDIR", "ENOTDIR"].includes(error.code))
|
|
401
|
-
throw error;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
appended.length = 0;
|
|
405
|
-
appendedSize = 0;
|
|
406
|
-
};
|
|
407
|
-
const writeFile = async (file) => {
|
|
408
|
-
const path = virtualPath(context, file);
|
|
409
|
-
const terminated = record.terminated || separator === "\n";
|
|
410
|
-
const text = (outputState.unterminatedFiles.has(path) ? separator : "") + pattern + (terminated ? separator : "");
|
|
411
|
-
await writeFileOutput(context, bytes(text), chunk => context.fs.appendFile(path, chunk, { signal: context.signal }));
|
|
412
|
-
if (terminated)
|
|
413
|
-
outputState.unterminatedFiles.delete(path);
|
|
414
|
-
else
|
|
415
|
-
outputState.unterminatedFiles.add(path);
|
|
416
|
-
};
|
|
417
|
-
const matches = async (address) => address.kind === "number" ? number === address.number : address.kind === "last" ? (await peekNext()).done === true : (await getPattern(address.pattern).find(pattern, budget)) !== undefined;
|
|
516
|
+
record = currentRecord.terminated || files.length < 2 ? currentRecord : await prepareRecord(currentRecord);
|
|
517
|
+
pattern = record.text;
|
|
518
|
+
substituted = false;
|
|
519
|
+
deleted = false;
|
|
520
|
+
quit = false;
|
|
521
|
+
status = 0;
|
|
418
522
|
for (let pc = 0; pc < program.length;) {
|
|
419
523
|
budget.step();
|
|
420
|
-
|
|
524
|
+
const pendingCheck = budget.checkpointSync();
|
|
525
|
+
if (pendingCheck)
|
|
526
|
+
await pendingCheck;
|
|
421
527
|
const instruction = program[pc];
|
|
422
528
|
let selected = true;
|
|
423
529
|
let ending = false;
|
|
@@ -426,21 +532,25 @@ async function execute(program, context, files, quiet, budget, separator, output
|
|
|
426
532
|
if (active.has(pc)) {
|
|
427
533
|
if (instruction.second.kind === "number" && number > instruction.second.number)
|
|
428
534
|
selected = false;
|
|
429
|
-
|
|
535
|
+
const endMatch = instruction.second.kind === "number" ? number >= instruction.second.number : matches(instruction.second);
|
|
536
|
+
ending = endMatch instanceof Promise ? await endMatch : endMatch;
|
|
430
537
|
if (ending)
|
|
431
538
|
active.delete(pc);
|
|
432
539
|
}
|
|
433
540
|
else {
|
|
434
|
-
|
|
541
|
+
const firstMatch = matches(instruction.first);
|
|
542
|
+
selected = firstMatch instanceof Promise ? await firstMatch : firstMatch;
|
|
435
543
|
if (selected) {
|
|
436
|
-
ending = instruction.second.kind === "number" && number >= instruction.second.number || instruction.second.kind === "last" && (await
|
|
544
|
+
ending = instruction.second.kind === "number" && number >= instruction.second.number || instruction.second.kind === "last" && (await peekNextRecord()) === undefined;
|
|
437
545
|
if (!ending)
|
|
438
546
|
active.add(pc);
|
|
439
547
|
}
|
|
440
548
|
}
|
|
441
549
|
}
|
|
442
|
-
else
|
|
443
|
-
|
|
550
|
+
else {
|
|
551
|
+
const firstMatch = matches(instruction.first);
|
|
552
|
+
selected = firstMatch instanceof Promise ? await firstMatch : firstMatch;
|
|
553
|
+
}
|
|
444
554
|
}
|
|
445
555
|
if (instruction.negate)
|
|
446
556
|
selected = !selected;
|
|
@@ -449,23 +559,31 @@ async function execute(program, context, files, quiet, budget, separator, output
|
|
|
449
559
|
continue;
|
|
450
560
|
}
|
|
451
561
|
switch (instruction.kind) {
|
|
452
|
-
case "p":
|
|
453
|
-
|
|
562
|
+
case "p": {
|
|
563
|
+
const p = print();
|
|
564
|
+
if (p)
|
|
565
|
+
await p;
|
|
454
566
|
break;
|
|
567
|
+
}
|
|
455
568
|
case "P": {
|
|
456
569
|
const end = pattern.indexOf(separator);
|
|
457
|
-
|
|
570
|
+
const p = emit(end < 0 ? pattern + (record.terminated ? separator : "") : pattern.slice(0, end + 1), end >= 0 || record.terminated);
|
|
571
|
+
if (p)
|
|
572
|
+
await p;
|
|
458
573
|
break;
|
|
459
574
|
}
|
|
460
|
-
case "=":
|
|
461
|
-
|
|
575
|
+
case "=": {
|
|
576
|
+
const p = emit(`${number}${separator}`);
|
|
577
|
+
if (p)
|
|
578
|
+
await p;
|
|
462
579
|
break;
|
|
580
|
+
}
|
|
463
581
|
case "l": {
|
|
464
582
|
const escapes = { "\x07": "\\a", "\b": "\\b", "\f": "\\f", "\n": "\\n", "\r": "\\r", "\t": "\\t", "\v": "\\v", "\\": "\\\\" };
|
|
465
583
|
let line = "";
|
|
466
584
|
for (let offset = 0; offset <= pattern.length; offset++) {
|
|
467
585
|
budget.step();
|
|
468
|
-
await budget.
|
|
586
|
+
await budget.checkpointSync();
|
|
469
587
|
const character = pattern[offset];
|
|
470
588
|
const lineEnd = character === "\n" && separator === "\n";
|
|
471
589
|
const token = character === undefined || lineEnd ? "$" : escapes[character] ?? (character.charCodeAt(0) < 32 || character.charCodeAt(0) >= 127 ? `\\${character.charCodeAt(0).toString(8).padStart(3, "0")}` : character);
|
|
@@ -517,7 +635,7 @@ async function execute(program, context, files, quiet, budget, separator, output
|
|
|
517
635
|
await emit(instruction.text);
|
|
518
636
|
break;
|
|
519
637
|
case "c":
|
|
520
|
-
if (!instruction.second || ending || instruction.negate || (await
|
|
638
|
+
if (!instruction.second || ending || instruction.negate || (await peekNextRecord()) === undefined)
|
|
521
639
|
await emit(instruction.text);
|
|
522
640
|
deleted = true;
|
|
523
641
|
pc = program.length;
|
|
@@ -549,12 +667,16 @@ async function execute(program, context, files, quiet, budget, separator, output
|
|
|
549
667
|
const expression = getPattern(instruction.pattern);
|
|
550
668
|
if (instruction.replacementGroupCount > expression.groupCount)
|
|
551
669
|
throw new ProgramError("replacement references an undefined capture group");
|
|
552
|
-
const
|
|
670
|
+
const changedOrPromise = trySubstituteSync(pattern, expression, instruction.replacement, budget, instruction.global ?? false, instruction.occurrence ?? 1);
|
|
671
|
+
const changed = changedOrPromise instanceof Promise ? await changedOrPromise : changedOrPromise;
|
|
553
672
|
pattern = changed.text;
|
|
554
673
|
if (changed.count) {
|
|
555
674
|
substituted = true;
|
|
556
|
-
if (instruction.print)
|
|
557
|
-
|
|
675
|
+
if (instruction.print) {
|
|
676
|
+
const p = print();
|
|
677
|
+
if (p)
|
|
678
|
+
await p;
|
|
679
|
+
}
|
|
558
680
|
if (instruction.file)
|
|
559
681
|
await writeFile(instruction.file);
|
|
560
682
|
}
|
|
@@ -566,7 +688,7 @@ async function execute(program, context, files, quiet, budget, separator, output
|
|
|
566
688
|
const translated = Buffer.allocUnsafe(pattern.length);
|
|
567
689
|
for (let index = 0; index < pattern.length; index++) {
|
|
568
690
|
if (index % 256 === 0)
|
|
569
|
-
await budget.
|
|
691
|
+
await budget.checkpointSync();
|
|
570
692
|
translated[index] = (instruction.translation.get(pattern[index]) ?? pattern[index]).charCodeAt(0);
|
|
571
693
|
}
|
|
572
694
|
pattern = translated.toString("latin1");
|
|
@@ -587,17 +709,26 @@ async function execute(program, context, files, quiet, budget, separator, output
|
|
|
587
709
|
}
|
|
588
710
|
case "n":
|
|
589
711
|
case "N": {
|
|
590
|
-
if (instruction.kind === "n")
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
if (
|
|
596
|
-
|
|
597
|
-
|
|
712
|
+
if (instruction.kind === "n") {
|
|
713
|
+
const p = flush();
|
|
714
|
+
if (p)
|
|
715
|
+
await p;
|
|
716
|
+
}
|
|
717
|
+
else if (separator === "\0" && (await peekNextRecord()) !== undefined) {
|
|
718
|
+
const p = flush(false);
|
|
719
|
+
if (p)
|
|
720
|
+
await p;
|
|
721
|
+
}
|
|
722
|
+
const next = await readNextRecord();
|
|
723
|
+
if (next === undefined) {
|
|
724
|
+
if (instruction.kind === "N") {
|
|
725
|
+
const p = flush();
|
|
726
|
+
if (p)
|
|
727
|
+
await p;
|
|
728
|
+
}
|
|
598
729
|
return { status: 0, quit: false };
|
|
599
730
|
}
|
|
600
|
-
record = await prepareRecord(next
|
|
731
|
+
record = next.terminated || files.length < 2 ? next : await prepareRecord(next);
|
|
601
732
|
number++;
|
|
602
733
|
pattern = instruction.kind === "N" ? joinSpace(pattern, record.text) : record.text;
|
|
603
734
|
substituted = false;
|
|
@@ -606,15 +737,24 @@ async function execute(program, context, files, quiet, budget, separator, output
|
|
|
606
737
|
}
|
|
607
738
|
pc++;
|
|
608
739
|
}
|
|
609
|
-
|
|
740
|
+
const flushPending = flush();
|
|
741
|
+
if (flushPending)
|
|
742
|
+
await flushPending;
|
|
610
743
|
if (quit)
|
|
611
744
|
return { status, quit: true };
|
|
612
|
-
|
|
745
|
+
currentRecord = followingRecord === undefined && batchSource && batchIndex < currentBatch.length
|
|
746
|
+
? currentBatch[batchIndex++]
|
|
747
|
+
: await readNextRecord();
|
|
613
748
|
}
|
|
614
749
|
return { status: 0, quit: false };
|
|
615
750
|
}
|
|
616
751
|
finally {
|
|
617
|
-
|
|
752
|
+
if (stdoutBuffer.length > 0)
|
|
753
|
+
await flushStdout();
|
|
754
|
+
if (batchSource)
|
|
755
|
+
await batchSource.return(undefined);
|
|
756
|
+
else if (singleSource)
|
|
757
|
+
await singleSource.return(undefined);
|
|
618
758
|
}
|
|
619
759
|
}
|
|
620
760
|
export function sedCommand(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sed.js","sourceRoot":"","sources":["../../../src/commands/text-programs/sed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sed.js","sourceRoot":"","sources":["../../../src/commands/text-programs/sed.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ export declare class Budget {
|
|
|
25
25
|
step(count?: number): void;
|
|
26
26
|
check(text: string): string;
|
|
27
27
|
checkpoint(): Promise<void>;
|
|
28
|
+
checkpointSync(): Promise<void> | undefined;
|
|
28
29
|
}
|
|
29
30
|
export declare function byteString(text: string): string;
|
|
30
31
|
export declare function bytes(text: string): Uint8Array;
|
|
@@ -39,5 +40,6 @@ export interface RecordLine {
|
|
|
39
40
|
readonly fileIndex: number;
|
|
40
41
|
}
|
|
41
42
|
export declare function lineRecords(context: CommandContext, files: readonly string[], budget: Budget): AsyncGenerator<RecordLine>;
|
|
43
|
+
export declare function lineRecordBatches(context: CommandContext, files: readonly string[], budget: Budget): AsyncGenerator<RecordLine[]>;
|
|
42
44
|
export declare function command(name: string, run: (context: CommandContext) => Promise<number>): CommandDefinition;
|
|
43
45
|
//# sourceMappingURL=shared.d.ts.map
|