spliterator 4.0.0 → 5.0.0

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 (96) hide show
  1. package/out/lib/AsyncSpliterator.d.ts.map +1 -1
  2. package/out/lib/AsyncSpliterator.js +6 -4
  3. package/out/lib/AsyncSpliterator.js.map +1 -1
  4. package/out/lib/BufferController.d.ts.map +1 -1
  5. package/out/lib/BufferController.js.map +1 -1
  6. package/out/lib/CSVSpliterator.d.ts +8 -6
  7. package/out/lib/CSVSpliterator.d.ts.map +1 -1
  8. package/out/lib/CSVSpliterator.js +8 -1
  9. package/out/lib/CSVSpliterator.js.map +1 -1
  10. package/out/lib/CharacterSequence.d.ts +10 -1
  11. package/out/lib/CharacterSequence.d.ts.map +1 -1
  12. package/out/lib/CharacterSequence.js +76 -26
  13. package/out/lib/CharacterSequence.js.map +1 -1
  14. package/out/lib/CompositeDataView.d.ts.map +1 -1
  15. package/out/lib/CompositeDataView.js.map +1 -1
  16. package/out/lib/IndexQueue.d.ts.map +1 -1
  17. package/out/lib/IndexQueue.js +3 -1
  18. package/out/lib/IndexQueue.js.map +1 -1
  19. package/out/lib/JSONSpliterator.d.ts.map +1 -1
  20. package/out/lib/JSONSpliterator.js +2 -2
  21. package/out/lib/JSONSpliterator.js.map +1 -1
  22. package/out/lib/PSVSpliterator.js.map +1 -1
  23. package/out/lib/SlidingWindow.d.ts.map +1 -1
  24. package/out/lib/SlidingWindow.js.map +1 -1
  25. package/out/lib/Spliterator.d.ts.map +1 -1
  26. package/out/lib/Spliterator.js +6 -4
  27. package/out/lib/Spliterator.js.map +1 -1
  28. package/out/lib/TSVSpliterator.js.map +1 -1
  29. package/out/lib/TextSpliterator.d.ts +2 -2
  30. package/out/lib/TextSpliterator.d.ts.map +1 -1
  31. package/out/lib/TextSpliterator.js +2 -4
  32. package/out/lib/TextSpliterator.js.map +1 -1
  33. package/out/lib/casing.js +3 -3
  34. package/out/lib/casing.js.map +1 -1
  35. package/out/lib/merge-async-iterators.d.ts.map +1 -1
  36. package/out/lib/merge-async-iterators.js +3 -2
  37. package/out/lib/merge-async-iterators.js.map +1 -1
  38. package/out/lib/parallel-map-runtime.d.ts +3 -1
  39. package/out/lib/parallel-map-runtime.d.ts.map +1 -1
  40. package/out/lib/parallel-map-runtime.js +1 -1
  41. package/out/lib/parallel-map-runtime.js.map +1 -1
  42. package/out/lib/parallel-map-worker-entry.js +3 -2
  43. package/out/lib/parallel-map-worker-entry.js.map +1 -1
  44. package/out/lib/parallel-map.d.ts +12 -4
  45. package/out/lib/parallel-map.d.ts.map +1 -1
  46. package/out/lib/parallel-map.js +7 -3
  47. package/out/lib/parallel-map.js.map +1 -1
  48. package/out/lib/segment-runtime.d.ts.map +1 -1
  49. package/out/lib/segment-runtime.js +7 -4
  50. package/out/lib/segment-runtime.js.map +1 -1
  51. package/out/lib/segment-worker-entry.js +20 -17
  52. package/out/lib/segment-worker-entry.js.map +1 -1
  53. package/out/lib/segment-workers.d.ts +22 -9
  54. package/out/lib/segment-workers.d.ts.map +1 -1
  55. package/out/lib/segment-workers.js +8 -4
  56. package/out/lib/segment-workers.js.map +1 -1
  57. package/out/lib/segments.d.ts +9 -3
  58. package/out/lib/segments.d.ts.map +1 -1
  59. package/out/lib/segments.js +6 -4
  60. package/out/lib/segments.js.map +1 -1
  61. package/out/lib/shared.d.ts +3 -2
  62. package/out/lib/shared.d.ts.map +1 -1
  63. package/out/lib/shared.js +0 -2
  64. package/out/lib/shared.js.map +1 -1
  65. package/out/lib/take.d.ts.map +1 -1
  66. package/out/lib/take.js +3 -1
  67. package/out/lib/take.js.map +1 -1
  68. package/out/lib/wasm_module.d.ts +9 -3
  69. package/out/lib/wasm_module.d.ts.map +1 -1
  70. package/out/lib/wasm_module.js.map +1 -1
  71. package/out/lib/writer.d.ts +1 -1
  72. package/out/lib/writer.d.ts.map +1 -1
  73. package/out/lib/writer.js +1 -1
  74. package/out/lib/writer.js.map +1 -1
  75. package/out/node/cli/commands/csv.d.ts +3 -38
  76. package/out/node/cli/commands/csv.d.ts.map +1 -1
  77. package/out/node/cli/commands/csv.js +55 -47
  78. package/out/node/cli/commands/csv.js.map +1 -1
  79. package/out/node/cli/commands/iterate.d.ts +3 -31
  80. package/out/node/cli/commands/iterate.d.ts.map +1 -1
  81. package/out/node/cli/commands/iterate.js +45 -24
  82. package/out/node/cli/commands/iterate.js.map +1 -1
  83. package/out/node/cli/index.js +36 -22
  84. package/out/node/cli/index.js.map +1 -1
  85. package/out/node/cli/parse-args.d.ts +120 -0
  86. package/out/node/cli/parse-args.d.ts.map +1 -0
  87. package/out/node/cli/parse-args.js +118 -0
  88. package/out/node/cli/parse-args.js.map +1 -0
  89. package/out/node/cli/utils.d.ts +79 -28
  90. package/out/node/cli/utils.d.ts.map +1 -1
  91. package/out/node/cli/utils.js +63 -63
  92. package/out/node/cli/utils.js.map +1 -1
  93. package/out/node/fs/index.d.ts.map +1 -1
  94. package/out/node/fs/index.js +7 -3
  95. package/out/node/fs/index.js.map +1 -1
  96. package/package.json +13 -17
@@ -3,68 +3,68 @@
3
3
  * @license MIT
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- export const commonCommandsBuilder = (argv) => {
7
- return argv
8
- .option("split", {
9
- alias: "s",
10
- description: "Delimiter to split lines on",
11
- default: "\n",
12
- defaultDescription: "<newline>",
13
- })
14
- .option("join", {
15
- alias: "j",
16
- description: "Delimiter to join lines on",
17
- default: "\n",
18
- defaultDescription: "<newline>",
19
- })
20
- .option("skip-empty", {
21
- alias: "e",
22
- description: "Skip empty lines",
23
- default: true,
24
- })
25
- .option("take", {
26
- alias: "t",
27
- description: "Number of lines to take",
28
- defaultDescription: "Infinity",
29
- number: true,
30
- })
31
- .option("drop", {
32
- alias: "p",
33
- description: "Number of lines to drop",
34
- default: 0,
35
- })
36
- .option("debug", {
37
- alias: "v",
38
- description: "Debug mode",
39
- default: false,
40
- })
41
- .option("reader-high-water-mark", {
42
- alias: "w",
43
- description: "High water mark for the read stream",
44
- default: 4096 * 16, // 64 KiB
45
- })
46
- .options("writer-high-water-mark", {
47
- alias: "W",
48
- description: "High water mark for the write stream",
49
- default: 4096 * 16 * 4, // 256 KiB
50
- })
51
- .option("filter", {
52
- alias: "f",
53
- description: "Path to JS file exporting default a filter function",
54
- string: true,
55
- normalize: true,
56
- })
57
- .positional("source", {
58
- description: "Path to the source input file",
59
- alias: "i",
60
- string: true,
61
- demandOption: true,
62
- })
63
- .positional("destination", {
64
- description: "Path to the destination output file",
65
- alias: "o",
66
- string: true,
67
- demandOption: true,
68
- });
6
+ /**
7
+ * Options accepted by every Spliterator command.
8
+ */
9
+ export const commonOptions = {
10
+ split: { type: "string", short: "s", default: "\n" },
11
+ join: { type: "string", short: "j", default: "\n" },
12
+ "skip-empty": { type: "boolean", short: "e", default: true },
13
+ take: { type: "string", short: "t" },
14
+ drop: { type: "string", short: "p", default: "0" },
15
+ debug: { type: "boolean", short: "v", default: false },
16
+ "reader-high-water-mark": { type: "string", short: "w", default: String(4096 * 16) },
17
+ "writer-high-water-mark": { type: "string", short: "W", default: String(4096 * 16 * 4) },
18
+ filter: { type: "string", short: "f" },
19
+ source: { type: "string", short: "i" },
20
+ destination: { type: "string", short: "o" },
21
+ help: { type: "boolean", short: "h", default: false },
69
22
  };
23
+ export const commonOptionsHelp = [
24
+ " -s, --split <delimiter> Delimiter to split lines on (default: newline)",
25
+ " -j, --join <delimiter> Delimiter to join lines on (default: newline)",
26
+ " -e, --skip-empty Skip empty lines (default: true, disable with --no-skip-empty)",
27
+ " -t, --take <count> Number of lines to take (default: all)",
28
+ " -p, --drop <count> Number of lines to drop (default: 0)",
29
+ " -v, --debug Debug mode",
30
+ " -w, --reader-high-water-mark High water mark for the read stream (default: 65536)",
31
+ " -W, --writer-high-water-mark High water mark for the write stream (default: 262144)",
32
+ " -f, --filter <path> Path to JS file exporting a default filter function",
33
+ " -i, --source <path> Source file, if not given positionally",
34
+ " -o, --destination <path> Destination file, if not given positionally",
35
+ " -h, --help Show this help",
36
+ ].join("\n");
37
+ /**
38
+ * Coerce a numeric option, exiting with a usage error if it isn't a number.
39
+ */
40
+ export function toNumber(name, input) {
41
+ if (input === undefined)
42
+ return undefined;
43
+ const value = Number(input);
44
+ if (!Number.isFinite(value)) {
45
+ usageError(`Option --${name} expects a number, received "${input}".`);
46
+ }
47
+ return value;
48
+ }
49
+ /**
50
+ * Resolve the source and destination paths from positionals, falling back to their flag forms.
51
+ */
52
+ export function resolveIO(positionals, values) {
53
+ const source = values.source ?? positionals[0];
54
+ const destination = values.destination ?? positionals[1];
55
+ if (!source) {
56
+ usageError("Missing required argument: source.");
57
+ }
58
+ if (!destination) {
59
+ usageError("Missing required argument: destination.");
60
+ }
61
+ return [source, destination];
62
+ }
63
+ /**
64
+ * Print a usage error and exit.
65
+ */
66
+ export function usageError(message) {
67
+ console.error(`${message}\n\nRun \`spliterator --help\` for usage.`);
68
+ return process.exit(1);
69
+ }
70
70
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../node/cli/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAU,EAAE,EAAE;IACnD,OAAO,IAAI;SACT,MAAM,CAAC,OAAO,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,WAAW;KAC/B,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACf,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,WAAW;KAC/B,CAAC;SACD,MAAM,CAAC,YAAY,EAAE;QACrB,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACf,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,yBAAyB;QACtC,kBAAkB,EAAE,UAAU;QAC9B,MAAM,EAAE,IAAI;KACZ,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACf,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,CAAC;KACV,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,wBAAwB,EAAE;QACjC,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS;KAC7B,CAAC;SACD,OAAO,CAAC,wBAAwB,EAAE;QAClC,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,UAAU;KAClC,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QACjB,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qDAAqD;QAClE,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;KACf,CAAC;SACD,UAAU,CAAC,QAAQ,EAAE;QACrB,WAAW,EAAE,+BAA+B;QAC5C,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,IAAI;KAClB,CAAC;SACD,UAAU,CAAC,aAAa,EAAE;QAC1B,WAAW,EAAE,qCAAqC;QAClD,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,IAAI;KAClB,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../node/cli/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,wBAAwB,EAAc,MAAM,kBAAkB,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAoB,MAAM,qBAAqB,CAAA;AAEvG;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgB1G;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC7C,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,wBAA6B,GACpC,OAAO,CAAC,cAAc,CAAC,CAkDzB;AAED,MAAM,WAAW,0BAA0B;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7E;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgB7G;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,EAC9C,EAAE,aAAyB,EAAE,KAAS,EAAE,GAAG,EAAE,GAAE,0BAA+B,GAC5E,OAAO,CAAC,kBAAkB,CAAC,CAmD7B;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,wBAAwB,EAAc,MAAM,kBAAkB,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAoB,MAAM,qBAAqB,CAAA;AAEvG;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgB1G;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC7C,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,wBAA6B,GACpC,OAAO,CAAC,cAAc,CAAC,CAkDzB;AAED,MAAM,WAAW,0BAA0B;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7E;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAkB7G;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,EAC9C,EAAE,aAAyB,EAAE,KAAS,EAAE,GAAG,EAAE,GAAE,0BAA+B,GAC5E,OAAO,CAAC,kBAAkB,CAAC,CAuD7B;eAEc,mBAAmB"}
@@ -4,8 +4,8 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  import { open, stat } from "node:fs/promises";
7
- import { Writable } from "node:stream";
8
7
  import { WritableStream } from "node:stream/web";
8
+ import { PathBuilder } from "path-ts";
9
9
  import { isFileHandleLike } from "../../lib/shared.js";
10
10
  /**
11
11
  * Create a readable stream from a file system source.
@@ -61,7 +61,7 @@ export async function createFileWritableStream(destination, options = {}) {
61
61
  async write(chunk) {
62
62
  const canWrite = nodeWriteStream.write(chunk);
63
63
  if (canWrite)
64
- return Promise.resolve();
64
+ return;
65
65
  return new Promise((resolve) => {
66
66
  nodeWriteStream.once("drain", resolve);
67
67
  });
@@ -119,8 +119,9 @@ export async function readBytes(source, start, length) {
119
119
  }
120
120
  finally {
121
121
  // Only close handles we opened.
122
- if (!isFileHandleLike(source))
122
+ if (!isFileHandleLike(source)) {
123
123
  await handle.close();
124
+ }
124
125
  }
125
126
  }
126
127
  /**
@@ -133,6 +134,9 @@ export async function createChunkIterator(source, { highWaterMark = 4096 * 16, s
133
134
  if (!source) {
134
135
  throw new TypeError("Cannot create a chunk iterator from an undefined or null source.");
135
136
  }
137
+ if (source instanceof PathBuilder) {
138
+ source = source.toString();
139
+ }
136
140
  if (typeof source === "string" || source instanceof URL) {
137
141
  const statable = await stat(source)
138
142
  .then(() => true)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spliterator",
3
- "version": "4.0.0",
3
+ "version": "5.0.0",
4
4
  "description": "Line-delimited iterator library for CSV, NDJSON, and other delimited formats.",
5
5
  "keywords": [
6
6
  "csv",
@@ -64,25 +64,21 @@
64
64
  "release": "release-it",
65
65
  "test": "yarn compile && vitest"
66
66
  },
67
- "dependencies": {
68
- "yargs": "^18.0.0"
69
- },
70
67
  "devDependencies": {
71
- "@sister.software/oxfmt-config": "^9.1.0",
72
- "@sister.software/oxlint-config": "^9.1.0",
73
- "@sister.software/tsconfig": "^9.0.0",
74
- "@types/node": "^25.9.0",
75
- "@types/yargs": "^17.0.35",
68
+ "@sister.software/oxfmt-config": "^11.0.0",
69
+ "@sister.software/oxlint-config": "^11.0.0",
70
+ "@sister.software/tsconfig": "^11.0.0",
71
+ "@types/node": "^26.1.2",
76
72
  "change-case": "^5.4.4",
77
73
  "colorette": "^2.0.20",
78
74
  "npm-run-all": "^4.1.5",
79
- "oxfmt": "0.56.0",
80
- "oxlint": "1.71.0",
81
- "path-ts": "^1.0.5",
82
- "release-it": "^17.10.0",
83
- "type-fest": "^5.6.0",
84
- "typescript": "^6.0.3",
85
- "vitest": "^4.1.6"
75
+ "oxfmt": "0.61.0",
76
+ "oxlint": "1.76.0",
77
+ "path-ts": "^2.1.0",
78
+ "release-it": "^21.0.1",
79
+ "type-fest": "^5.8.0",
80
+ "typescript": "^7.0.2",
81
+ "vitest": "^4.1.10"
86
82
  },
87
83
  "peerDependencies": {
88
84
  "change-case": "^5.4.4",
@@ -99,7 +95,7 @@
99
95
  "engines": {
100
96
  "node": ">= 24.0.0"
101
97
  },
102
- "packageManager": "yarn@4.5.1",
98
+ "packageManager": "yarn@4.18.0",
103
99
  "release-it": {
104
100
  "npm": {
105
101
  "publish": true