@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.
Files changed (207) hide show
  1. package/dist/safe-bash/chunks/{chunk-6VZX7ESE.js → chunk-26N7BLXE.js} +3 -3
  2. package/dist/safe-bash/chunks/{chunk-ZZ7JQBPX.js → chunk-4A2OLEML.js} +2 -2
  3. package/dist/safe-bash/chunks/{chunk-LTREB3HX.js → chunk-54MC6XF5.js} +4 -4
  4. package/dist/safe-bash/chunks/{chunk-Z3CCN6Y2.js → chunk-6J5FUESH.js} +2 -2
  5. package/dist/safe-bash/chunks/{chunk-YR5RZBWS.js → chunk-6TBFZ5JE.js} +2 -2
  6. package/dist/safe-bash/chunks/{chunk-6HJNJ625.js → chunk-7MMYQG3P.js} +2 -2
  7. package/dist/safe-bash/chunks/{chunk-WTZZX4LV.js → chunk-A4MB2KXV.js} +2 -2
  8. package/dist/safe-bash/chunks/{chunk-EM2JW7ZH.js → chunk-ATYJKRBZ.js} +2 -2
  9. package/dist/safe-bash/chunks/{chunk-VV24PRPB.js → chunk-AZQOEGP3.js} +1050 -101
  10. package/dist/safe-bash/chunks/chunk-AZQOEGP3.js.map +7 -0
  11. package/dist/safe-bash/chunks/{chunk-EFMXWUYE.js → chunk-B6JEJ6AT.js} +2 -2
  12. package/dist/safe-bash/chunks/{chunk-JFGGQUYP.js → chunk-BFXGHT3R.js} +2 -2
  13. package/dist/safe-bash/chunks/{chunk-RP5IZOOR.js → chunk-BJYV5J65.js} +1050 -101
  14. package/dist/safe-bash/chunks/chunk-BJYV5J65.js.map +7 -0
  15. package/dist/safe-bash/chunks/{chunk-HNHOPD3P.js → chunk-DIEFWGXO.js} +46 -26
  16. package/dist/safe-bash/chunks/{chunk-HNHOPD3P.js.map → chunk-DIEFWGXO.js.map} +2 -2
  17. package/dist/safe-bash/chunks/{chunk-SME47P4B.js → chunk-DV6EZOKM.js} +46 -26
  18. package/dist/safe-bash/chunks/{chunk-SME47P4B.js.map → chunk-DV6EZOKM.js.map} +2 -2
  19. package/dist/safe-bash/chunks/{chunk-646RTREQ.js → chunk-EEDOYIPC.js} +2 -2
  20. package/dist/safe-bash/chunks/{chunk-OFAAHWL5.js → chunk-GCQ5A2T2.js} +2 -2
  21. package/dist/safe-bash/chunks/{chunk-MJW4KSKV.js → chunk-GLPJEDLY.js} +2 -2
  22. package/dist/safe-bash/chunks/{chunk-FOOJWH7J.js → chunk-GO5OKPBO.js} +4 -4
  23. package/dist/safe-bash/chunks/{chunk-5JANWFJ3.js → chunk-GWYXCCGO.js} +4 -4
  24. package/dist/safe-bash/chunks/{chunk-DPHRNHPT.js → chunk-H6KJ4L22.js} +2 -2
  25. package/dist/safe-bash/chunks/{chunk-FLX2BZBF.js → chunk-HGBYIDAK.js} +4 -4
  26. package/dist/safe-bash/chunks/{chunk-VGJIDLZM.js → chunk-KS5VSJYM.js} +15 -8
  27. package/dist/safe-bash/chunks/chunk-KS5VSJYM.js.map +7 -0
  28. package/dist/safe-bash/chunks/{chunk-PO3Z7W3A.js → chunk-MUHYGUFD.js} +4 -4
  29. package/dist/safe-bash/chunks/{chunk-5DLGYPGJ.js → chunk-PDSTXORC.js} +126 -58
  30. package/dist/safe-bash/chunks/chunk-PDSTXORC.js.map +7 -0
  31. package/dist/safe-bash/chunks/{chunk-TIHMU25L.js → chunk-PQ37GDJF.js} +3 -3
  32. package/dist/safe-bash/chunks/{chunk-OTM5RCWZ.js → chunk-QNEDWYC2.js} +15 -8
  33. package/dist/safe-bash/chunks/chunk-QNEDWYC2.js.map +7 -0
  34. package/dist/safe-bash/chunks/{chunk-LZ7FUN6K.js → chunk-RHHDOA67.js} +5 -5
  35. package/dist/safe-bash/chunks/{chunk-DSCL3VA2.js → chunk-SJ3B26XV.js} +4 -4
  36. package/dist/safe-bash/chunks/{chunk-6JBTVWHH.js → chunk-SWACYEIT.js} +5 -5
  37. package/dist/safe-bash/chunks/{chunk-7UJW7TYR.js → chunk-TD6NWAUK.js} +126 -58
  38. package/dist/safe-bash/chunks/chunk-TD6NWAUK.js.map +7 -0
  39. package/dist/safe-bash/chunks/{chunk-Q4I754TV.js → chunk-THOBFD5C.js} +2 -2
  40. package/dist/safe-bash/chunks/{chunk-XELW5O3R.js → chunk-U2STHT7S.js} +2 -2
  41. package/dist/safe-bash/chunks/{chunk-5X4SOSTT.js → chunk-UJHE5PTK.js} +2 -2
  42. package/dist/safe-bash/chunks/{chunk-B6YFFKYG.js → chunk-X4I3RHTC.js} +5 -1
  43. package/dist/safe-bash/chunks/chunk-X4I3RHTC.js.map +7 -0
  44. package/dist/safe-bash/chunks/{chunk-YOK5UHA7.js → chunk-XKXFX3RH.js} +5 -1
  45. package/dist/safe-bash/chunks/chunk-XKXFX3RH.js.map +7 -0
  46. package/dist/safe-bash/chunks/{chunk-PLCYP2E5.js → chunk-XV4K3UUF.js} +2 -2
  47. package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
  48. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  49. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  50. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  51. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  52. package/dist/safe-bash/commands/internal.d.ts.map +1 -1
  53. package/dist/safe-bash/commands/internal.js +4 -3
  54. package/dist/safe-bash/commands/internal.js.map +1 -1
  55. package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
  56. package/dist/safe-bash/commands/llm/index.browser.js +4 -4
  57. package/dist/safe-bash/commands/network/index.browser.js +4 -4
  58. package/dist/safe-bash/commands/node/index.browser.js +4 -4
  59. package/dist/safe-bash/commands/pandoc/index.js.map +1 -1
  60. package/dist/safe-bash/commands/pr/index.browser.js +3 -3
  61. package/dist/safe-bash/commands/python/index.browser.js +2 -2
  62. package/dist/safe-bash/commands/record-buffer.d.ts.map +1 -1
  63. package/dist/safe-bash/commands/record-buffer.js +12 -4
  64. package/dist/safe-bash/commands/record-buffer.js.map +1 -1
  65. package/dist/safe-bash/commands/regex-execution/bounded-provider.d.ts.map +1 -1
  66. package/dist/safe-bash/commands/regex-execution/bounded-provider.js +75 -8
  67. package/dist/safe-bash/commands/regex-execution/bounded-provider.js.map +1 -1
  68. package/dist/safe-bash/commands/regex-execution/ere/limits.d.ts +1 -1
  69. package/dist/safe-bash/commands/regex-execution/ere/limits.d.ts.map +1 -1
  70. package/dist/safe-bash/commands/regex-execution/ere/limits.js +6 -4
  71. package/dist/safe-bash/commands/regex-execution/ere/limits.js.map +1 -1
  72. package/dist/safe-bash/commands/regex-execution/portable.d.ts.map +1 -1
  73. package/dist/safe-bash/commands/regex-execution/portable.js +7 -2
  74. package/dist/safe-bash/commands/regex-execution/portable.js.map +1 -1
  75. package/dist/safe-bash/commands/regex-execution/protocol.d.ts +2 -0
  76. package/dist/safe-bash/commands/regex-execution/protocol.d.ts.map +1 -1
  77. package/dist/safe-bash/commands/regex-execution/protocol.js +26 -0
  78. package/dist/safe-bash/commands/regex-execution/protocol.js.map +1 -1
  79. package/dist/safe-bash/commands/regex-execution/utf8.d.ts +1 -1
  80. package/dist/safe-bash/commands/regex-execution/utf8.d.ts.map +1 -1
  81. package/dist/safe-bash/commands/regex-execution/utf8.js +26 -2
  82. package/dist/safe-bash/commands/regex-execution/utf8.js.map +1 -1
  83. package/dist/safe-bash/commands/search/grep.d.ts.map +1 -1
  84. package/dist/safe-bash/commands/search/grep.js +109 -15
  85. package/dist/safe-bash/commands/search/grep.js.map +1 -1
  86. package/dist/safe-bash/commands/search/matcher.d.ts +1 -1
  87. package/dist/safe-bash/commands/search/matcher.d.ts.map +1 -1
  88. package/dist/safe-bash/commands/search/matcher.js +2 -0
  89. package/dist/safe-bash/commands/search/matcher.js.map +1 -1
  90. package/dist/safe-bash/commands/search/shared.d.ts.map +1 -1
  91. package/dist/safe-bash/commands/search/shared.js +23 -12
  92. package/dist/safe-bash/commands/search/shared.js.map +1 -1
  93. package/dist/safe-bash/commands/standard.d.ts.map +1 -1
  94. package/dist/safe-bash/commands/standard.js +22 -0
  95. package/dist/safe-bash/commands/standard.js.map +1 -1
  96. package/dist/safe-bash/commands/streams.d.ts.map +1 -1
  97. package/dist/safe-bash/commands/streams.js +54 -10
  98. package/dist/safe-bash/commands/streams.js.map +1 -1
  99. package/dist/safe-bash/commands/structured/input.d.ts.map +1 -1
  100. package/dist/safe-bash/commands/structured/input.js +484 -55
  101. package/dist/safe-bash/commands/structured/input.js.map +1 -1
  102. package/dist/safe-bash/commands/structured/interpreter.d.ts +3 -0
  103. package/dist/safe-bash/commands/structured/interpreter.d.ts.map +1 -1
  104. package/dist/safe-bash/commands/structured/interpreter.js +157 -1
  105. package/dist/safe-bash/commands/structured/interpreter.js.map +1 -1
  106. package/dist/safe-bash/commands/structured/jq.d.ts.map +1 -1
  107. package/dist/safe-bash/commands/structured/jq.js +50 -24
  108. package/dist/safe-bash/commands/structured/jq.js.map +1 -1
  109. package/dist/safe-bash/commands/structured/limits.d.ts +5 -0
  110. package/dist/safe-bash/commands/structured/limits.d.ts.map +1 -1
  111. package/dist/safe-bash/commands/structured/limits.js +51 -36
  112. package/dist/safe-bash/commands/structured/limits.js.map +1 -1
  113. package/dist/safe-bash/commands/structured/numbers.d.ts +1 -0
  114. package/dist/safe-bash/commands/structured/numbers.d.ts.map +1 -1
  115. package/dist/safe-bash/commands/structured/numbers.js +32 -0
  116. package/dist/safe-bash/commands/structured/numbers.js.map +1 -1
  117. package/dist/safe-bash/commands/text-programs/awk-reader.d.ts +1 -0
  118. package/dist/safe-bash/commands/text-programs/awk-reader.d.ts.map +1 -1
  119. package/dist/safe-bash/commands/text-programs/awk-reader.js +41 -5
  120. package/dist/safe-bash/commands/text-programs/awk-reader.js.map +1 -1
  121. package/dist/safe-bash/commands/text-programs/awk-retention.d.ts +1 -0
  122. package/dist/safe-bash/commands/text-programs/awk-retention.d.ts.map +1 -1
  123. package/dist/safe-bash/commands/text-programs/awk-retention.js +9 -0
  124. package/dist/safe-bash/commands/text-programs/awk-retention.js.map +1 -1
  125. package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts +13 -0
  126. package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts.map +1 -1
  127. package/dist/safe-bash/commands/text-programs/awk-runtime.js +421 -83
  128. package/dist/safe-bash/commands/text-programs/awk-runtime.js.map +1 -1
  129. package/dist/safe-bash/commands/text-programs/awk-values.d.ts.map +1 -1
  130. package/dist/safe-bash/commands/text-programs/awk-values.js +21 -0
  131. package/dist/safe-bash/commands/text-programs/awk-values.js.map +1 -1
  132. package/dist/safe-bash/commands/text-programs/regex.d.ts +15 -2
  133. package/dist/safe-bash/commands/text-programs/regex.d.ts.map +1 -1
  134. package/dist/safe-bash/commands/text-programs/regex.js +501 -13
  135. package/dist/safe-bash/commands/text-programs/regex.js.map +1 -1
  136. package/dist/safe-bash/commands/text-programs/sed.d.ts.map +1 -1
  137. package/dist/safe-bash/commands/text-programs/sed.js +242 -102
  138. package/dist/safe-bash/commands/text-programs/sed.js.map +1 -1
  139. package/dist/safe-bash/commands/text-programs/shared.d.ts +2 -0
  140. package/dist/safe-bash/commands/text-programs/shared.d.ts.map +1 -1
  141. package/dist/safe-bash/commands/text-programs/shared.js +36 -0
  142. package/dist/safe-bash/commands/text-programs/shared.js.map +1 -1
  143. package/dist/safe-bash/commands/text.d.ts.map +1 -1
  144. package/dist/safe-bash/commands/text.js +136 -19
  145. package/dist/safe-bash/commands/text.js.map +1 -1
  146. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  147. package/dist/safe-bash/commands/xml/index.browser.js +5 -5
  148. package/dist/safe-bash/commands/yq/index.browser.js +5 -5
  149. package/dist/safe-bash/contracts/yield.d.ts +1 -0
  150. package/dist/safe-bash/contracts/yield.d.ts.map +1 -1
  151. package/dist/safe-bash/contracts/yield.js +3 -0
  152. package/dist/safe-bash/contracts/yield.js.map +1 -1
  153. package/dist/safe-bash/core.browser.js +1052 -256
  154. package/dist/safe-bash/core.browser.js.map +3 -3
  155. package/dist/safe-bash/plugins/composition.d.ts +1 -0
  156. package/dist/safe-bash/plugins/composition.d.ts.map +1 -1
  157. package/dist/safe-bash/plugins/composition.js +80 -2
  158. package/dist/safe-bash/plugins/composition.js.map +1 -1
  159. package/dist/safe-bash/plugins/index.d.ts.map +1 -1
  160. package/dist/safe-bash/plugins/index.js +2 -2
  161. package/dist/safe-bash/plugins/index.js.map +1 -1
  162. package/dist/safe-bash-command-fold/arguments.d.ts +1 -1
  163. package/dist/safe-bash-command-fold/contracts.d.ts +2 -1
  164. package/dist/safe-bash-command-fold/engine.d.ts +1 -1
  165. package/dist/safe-bash-command-fold/index.js +10 -8
  166. package/dist/safe-bash-command-fold/index.js.map +2 -2
  167. package/dist/safe-bash-command-sips/index.js +231 -67
  168. package/dist/safe-bash-command-sips/index.js.map +2 -2
  169. package/dist/safe-bash-command-unrtf/contracts.d.ts +5 -2
  170. package/dist/safe-bash-command-unrtf/index.js +6 -5
  171. package/dist/safe-bash-command-unrtf/index.js.map +2 -2
  172. package/dist/safe-playwright-cloudflare/browser-run-code.js +22 -6
  173. package/package.json +2 -2
  174. package/dist/safe-bash/chunks/chunk-5DLGYPGJ.js.map +0 -7
  175. package/dist/safe-bash/chunks/chunk-7UJW7TYR.js.map +0 -7
  176. package/dist/safe-bash/chunks/chunk-B6YFFKYG.js.map +0 -7
  177. package/dist/safe-bash/chunks/chunk-OTM5RCWZ.js.map +0 -7
  178. package/dist/safe-bash/chunks/chunk-RP5IZOOR.js.map +0 -7
  179. package/dist/safe-bash/chunks/chunk-VGJIDLZM.js.map +0 -7
  180. package/dist/safe-bash/chunks/chunk-VV24PRPB.js.map +0 -7
  181. package/dist/safe-bash/chunks/chunk-YOK5UHA7.js.map +0 -7
  182. /package/dist/safe-bash/chunks/{chunk-6VZX7ESE.js.map → chunk-26N7BLXE.js.map} +0 -0
  183. /package/dist/safe-bash/chunks/{chunk-ZZ7JQBPX.js.map → chunk-4A2OLEML.js.map} +0 -0
  184. /package/dist/safe-bash/chunks/{chunk-LTREB3HX.js.map → chunk-54MC6XF5.js.map} +0 -0
  185. /package/dist/safe-bash/chunks/{chunk-Z3CCN6Y2.js.map → chunk-6J5FUESH.js.map} +0 -0
  186. /package/dist/safe-bash/chunks/{chunk-YR5RZBWS.js.map → chunk-6TBFZ5JE.js.map} +0 -0
  187. /package/dist/safe-bash/chunks/{chunk-6HJNJ625.js.map → chunk-7MMYQG3P.js.map} +0 -0
  188. /package/dist/safe-bash/chunks/{chunk-WTZZX4LV.js.map → chunk-A4MB2KXV.js.map} +0 -0
  189. /package/dist/safe-bash/chunks/{chunk-EM2JW7ZH.js.map → chunk-ATYJKRBZ.js.map} +0 -0
  190. /package/dist/safe-bash/chunks/{chunk-EFMXWUYE.js.map → chunk-B6JEJ6AT.js.map} +0 -0
  191. /package/dist/safe-bash/chunks/{chunk-JFGGQUYP.js.map → chunk-BFXGHT3R.js.map} +0 -0
  192. /package/dist/safe-bash/chunks/{chunk-646RTREQ.js.map → chunk-EEDOYIPC.js.map} +0 -0
  193. /package/dist/safe-bash/chunks/{chunk-OFAAHWL5.js.map → chunk-GCQ5A2T2.js.map} +0 -0
  194. /package/dist/safe-bash/chunks/{chunk-MJW4KSKV.js.map → chunk-GLPJEDLY.js.map} +0 -0
  195. /package/dist/safe-bash/chunks/{chunk-FOOJWH7J.js.map → chunk-GO5OKPBO.js.map} +0 -0
  196. /package/dist/safe-bash/chunks/{chunk-5JANWFJ3.js.map → chunk-GWYXCCGO.js.map} +0 -0
  197. /package/dist/safe-bash/chunks/{chunk-DPHRNHPT.js.map → chunk-H6KJ4L22.js.map} +0 -0
  198. /package/dist/safe-bash/chunks/{chunk-FLX2BZBF.js.map → chunk-HGBYIDAK.js.map} +0 -0
  199. /package/dist/safe-bash/chunks/{chunk-PO3Z7W3A.js.map → chunk-MUHYGUFD.js.map} +0 -0
  200. /package/dist/safe-bash/chunks/{chunk-TIHMU25L.js.map → chunk-PQ37GDJF.js.map} +0 -0
  201. /package/dist/safe-bash/chunks/{chunk-LZ7FUN6K.js.map → chunk-RHHDOA67.js.map} +0 -0
  202. /package/dist/safe-bash/chunks/{chunk-DSCL3VA2.js.map → chunk-SJ3B26XV.js.map} +0 -0
  203. /package/dist/safe-bash/chunks/{chunk-6JBTVWHH.js.map → chunk-SWACYEIT.js.map} +0 -0
  204. /package/dist/safe-bash/chunks/{chunk-Q4I754TV.js.map → chunk-THOBFD5C.js.map} +0 -0
  205. /package/dist/safe-bash/chunks/{chunk-XELW5O3R.js.map → chunk-U2STHT7S.js.map} +0 -0
  206. /package/dist/safe-bash/chunks/{chunk-5X4SOSTT.js.map → chunk-UJHE5PTK.js.map} +0 -0
  207. /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, lineRecords, readProgram, virtualPath, write } from "./shared.js";
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 source = separator === "\0" ? nullRecords(context, files, budget) : lineRecords(context, files, budget);
316
- let current = await source.next();
317
- let following;
318
- const peekNext = async () => following ??= await source.next();
319
- const readNext = async () => {
320
- const next = await peekNext();
321
- following = undefined;
322
- return next;
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 peekNext();
328
- return !next.done && next.value.fileIndex !== record.fileIndex ? { ...record, terminated: true } : record;
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 = async (text, terminated = true) => {
339
- await write(context, (outputState.stdoutUnterminated ? separator : "") + text);
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 (!current.done) {
513
+ while (currentRecord !== undefined) {
358
514
  budget.step();
359
515
  number++;
360
- let record = await prepareRecord(current.value);
361
- let pattern = record.text;
362
- const appended = [];
363
- let appendedSize = 0;
364
- const append = (item) => {
365
- appendedSize += (item.text ?? item.file ?? "").length + 32;
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
- await budget.checkpoint();
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
- ending = instruction.second.kind === "number" ? number >= instruction.second.number : await matches(instruction.second);
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
- selected = await matches(instruction.first);
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 peekNext()).done === true;
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
- selected = await matches(instruction.first);
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
- await print();
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
- await emit(end < 0 ? pattern + (record.terminated ? separator : "") : pattern.slice(0, end + 1), end >= 0 || record.terminated);
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
- await emit(`${number}${separator}`);
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.checkpoint();
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 peekNext()).done)
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 changed = await substitute(pattern, expression, instruction.replacement, budget, instruction.global ?? false, instruction.occurrence ?? 1);
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
- await print();
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.checkpoint();
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
- await flush();
592
- else if (separator === "\0" && !(await peekNext()).done)
593
- await flush(false);
594
- const next = await readNext();
595
- if (next.done) {
596
- if (instruction.kind === "N")
597
- await flush();
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.value);
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
- await flush();
740
+ const flushPending = flush();
741
+ if (flushPending)
742
+ await flushPending;
610
743
  if (quit)
611
744
  return { status, quit: true };
612
- current = await readNext();
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
- await source.return(undefined);
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