spliterator 6.1.0 → 6.3.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 (245) hide show
  1. package/README.md +18 -0
  2. package/out/index.d.ts +26 -25
  3. package/out/index.d.ts.map +1 -1
  4. package/out/index.js +26 -25
  5. package/out/index.js.map +1 -1
  6. package/out/lib/{AsyncSpliterator.d.ts → core/AsyncSpliterator.d.ts} +3 -3
  7. package/out/lib/core/AsyncSpliterator.d.ts.map +1 -0
  8. package/out/lib/{AsyncSpliterator.js → core/AsyncSpliterator.js} +30 -2
  9. package/out/lib/core/AsyncSpliterator.js.map +1 -0
  10. package/out/lib/core/BufferController.d.ts.map +1 -0
  11. package/out/lib/core/BufferController.js.map +1 -0
  12. package/out/lib/{CharacterSequence.d.ts → core/CharacterSequence.d.ts} +17 -2
  13. package/out/lib/core/CharacterSequence.d.ts.map +1 -0
  14. package/out/lib/{CharacterSequence.js → core/CharacterSequence.js} +37 -0
  15. package/out/lib/core/CharacterSequence.js.map +1 -0
  16. package/out/lib/{CompositeDataView.d.ts → core/CompositeDataView.d.ts} +1 -1
  17. package/out/lib/core/CompositeDataView.d.ts.map +1 -0
  18. package/out/lib/core/CompositeDataView.js.map +1 -0
  19. package/out/lib/{IndexQueue.d.ts → core/IndexQueue.d.ts} +1 -1
  20. package/out/lib/core/IndexQueue.d.ts.map +1 -0
  21. package/out/lib/core/IndexQueue.js.map +1 -0
  22. package/out/lib/{SlidingWindow.d.ts → core/SlidingWindow.d.ts} +1 -1
  23. package/out/lib/core/SlidingWindow.d.ts.map +1 -0
  24. package/out/lib/core/SlidingWindow.js.map +1 -0
  25. package/out/lib/{Spliterator.d.ts → core/Spliterator.d.ts} +1 -1
  26. package/out/lib/core/Spliterator.d.ts.map +1 -0
  27. package/out/lib/{Spliterator.js → core/Spliterator.js} +1 -1
  28. package/out/lib/core/Spliterator.js.map +1 -0
  29. package/out/lib/{wasm_base64.js → core/wasm_base64.d.ts} +5 -2
  30. package/out/lib/core/wasm_base64.d.ts.map +1 -0
  31. package/out/lib/core/wasm_base64.js +19 -0
  32. package/out/lib/core/wasm_base64.js.map +1 -0
  33. package/out/lib/{wasm_module.d.ts → core/wasm_module.d.ts} +15 -0
  34. package/out/lib/core/wasm_module.d.ts.map +1 -0
  35. package/out/lib/{wasm_module.js → core/wasm_module.js} +2 -1
  36. package/out/lib/core/wasm_module.js.map +1 -0
  37. package/out/lib/{CSVSpliterator.d.ts → formats/CSVSpliterator.d.ts} +4 -4
  38. package/out/lib/formats/CSVSpliterator.d.ts.map +1 -0
  39. package/out/lib/{CSVSpliterator.js → formats/CSVSpliterator.js} +96 -5
  40. package/out/lib/formats/CSVSpliterator.js.map +1 -0
  41. package/out/lib/{JSONSpliterator.d.ts → formats/JSONSpliterator.d.ts} +5 -5
  42. package/out/lib/formats/JSONSpliterator.d.ts.map +1 -0
  43. package/out/lib/{JSONSpliterator.js → formats/JSONSpliterator.js} +3 -3
  44. package/out/lib/formats/JSONSpliterator.js.map +1 -0
  45. package/out/lib/formats/PSVSpliterator.d.ts.map +1 -0
  46. package/out/lib/{PSVSpliterator.js → formats/PSVSpliterator.js} +1 -1
  47. package/out/lib/formats/PSVSpliterator.js.map +1 -0
  48. package/out/lib/formats/TSVSpliterator.d.ts.map +1 -0
  49. package/out/lib/{TSVSpliterator.js → formats/TSVSpliterator.js} +1 -1
  50. package/out/lib/formats/TSVSpliterator.js.map +1 -0
  51. package/out/lib/{TextSpliterator.d.ts → formats/TextSpliterator.d.ts} +5 -5
  52. package/out/lib/formats/TextSpliterator.d.ts.map +1 -0
  53. package/out/lib/{TextSpliterator.js → formats/TextSpliterator.js} +3 -3
  54. package/out/lib/formats/TextSpliterator.js.map +1 -0
  55. package/out/lib/{XLSXSpliterator.d.ts → formats/XLSXSpliterator.d.ts} +2 -2
  56. package/out/lib/formats/XLSXSpliterator.d.ts.map +1 -0
  57. package/out/lib/{XLSXSpliterator.js → formats/XLSXSpliterator.js} +1 -1
  58. package/out/lib/formats/XLSXSpliterator.js.map +1 -0
  59. package/out/lib/formats/casing.d.ts.map +1 -0
  60. package/out/lib/formats/casing.js.map +1 -0
  61. package/out/lib/formats/row-emitters.d.ts.map +1 -0
  62. package/out/lib/{row-emitters.js → formats/row-emitters.js} +1 -1
  63. package/out/lib/formats/row-emitters.js.map +1 -0
  64. package/out/lib/internal/shared.d.ts.map +1 -0
  65. package/out/lib/internal/shared.js.map +1 -0
  66. package/out/lib/internal/utils.d.ts.map +1 -0
  67. package/out/lib/internal/utils.js.map +1 -0
  68. package/out/lib/{adaptive-source.d.ts → io/adaptive-source.d.ts} +2 -2
  69. package/out/lib/io/adaptive-source.d.ts.map +1 -0
  70. package/out/lib/{adaptive-source.js → io/adaptive-source.js} +2 -2
  71. package/out/lib/io/adaptive-source.js.map +1 -0
  72. package/out/lib/io/writer.d.ts.map +1 -0
  73. package/out/lib/io/writer.js.map +1 -0
  74. package/out/lib/{AsyncSequence.d.ts → iterators/AsyncSequence.d.ts} +1 -1
  75. package/out/lib/iterators/AsyncSequence.d.ts.map +1 -0
  76. package/out/lib/{AsyncSequence.js → iterators/AsyncSequence.js} +1 -1
  77. package/out/lib/iterators/AsyncSequence.js.map +1 -0
  78. package/out/lib/iterators/chunks.d.ts.map +1 -0
  79. package/out/lib/iterators/chunks.js.map +1 -0
  80. package/out/lib/iterators/pivot.d.ts.map +1 -0
  81. package/out/lib/iterators/pivot.js.map +1 -0
  82. package/out/lib/iterators/zip.d.ts.map +1 -0
  83. package/out/lib/iterators/zip.js.map +1 -0
  84. package/out/lib/parallel/merge-async-iterators.d.ts.map +1 -0
  85. package/out/lib/parallel/merge-async-iterators.js.map +1 -0
  86. package/out/lib/parallel/parallel-map-runtime.d.ts.map +1 -0
  87. package/out/lib/parallel/parallel-map-runtime.js.map +1 -0
  88. package/out/lib/parallel/parallel-map-worker-entry.d.ts.map +1 -0
  89. package/out/lib/parallel/parallel-map-worker-entry.js.map +1 -0
  90. package/out/lib/parallel/parallel-map-workers.d.ts.map +1 -0
  91. package/out/lib/parallel/parallel-map-workers.js.map +1 -0
  92. package/out/lib/{parallel-map.d.ts → parallel/parallel-map.d.ts} +1 -1
  93. package/out/lib/parallel/parallel-map.d.ts.map +1 -0
  94. package/out/lib/{parallel-map.js → parallel/parallel-map.js} +1 -1
  95. package/out/lib/parallel/parallel-map.js.map +1 -0
  96. package/out/lib/parallel/segment-runtime.d.ts.map +1 -0
  97. package/out/lib/parallel/segment-runtime.js.map +1 -0
  98. package/out/lib/parallel/segment-worker-entry.d.ts.map +1 -0
  99. package/out/lib/{segment-worker-entry.js → parallel/segment-worker-entry.js} +1 -1
  100. package/out/lib/parallel/segment-worker-entry.js.map +1 -0
  101. package/out/lib/{segment-workers.d.ts → parallel/segment-workers.d.ts} +2 -2
  102. package/out/lib/parallel/segment-workers.d.ts.map +1 -0
  103. package/out/lib/parallel/segment-workers.js.map +1 -0
  104. package/out/lib/{segments.d.ts → parallel/segments.d.ts} +2 -2
  105. package/out/lib/parallel/segments.d.ts.map +1 -0
  106. package/out/lib/{segments.js → parallel/segments.js} +1 -1
  107. package/out/lib/parallel/segments.js.map +1 -0
  108. package/out/node/cli/commands/csv.d.ts +113 -0
  109. package/out/node/cli/commands/csv.d.ts.map +1 -1
  110. package/out/node/cli/commands/csv.js +34 -36
  111. package/out/node/cli/commands/csv.js.map +1 -1
  112. package/out/node/cli/commands/iterate.d.ts +92 -0
  113. package/out/node/cli/commands/iterate.d.ts.map +1 -1
  114. package/out/node/cli/commands/iterate.js +26 -28
  115. package/out/node/cli/commands/iterate.js.map +1 -1
  116. package/out/node/cli/commands/parallel.d.ts +102 -0
  117. package/out/node/cli/commands/parallel.d.ts.map +1 -0
  118. package/out/node/cli/commands/parallel.js +426 -0
  119. package/out/node/cli/commands/parallel.js.map +1 -0
  120. package/out/node/cli/index.js +5 -0
  121. package/out/node/cli/index.js.map +1 -1
  122. package/out/node/cli/spec.d.ts +51 -0
  123. package/out/node/cli/spec.d.ts.map +1 -0
  124. package/out/node/cli/spec.js +78 -0
  125. package/out/node/cli/spec.js.map +1 -0
  126. package/out/node/cli/utils.d.ts +36 -18
  127. package/out/node/cli/utils.d.ts.map +1 -1
  128. package/out/node/cli/utils.js +48 -39
  129. package/out/node/cli/utils.js.map +1 -1
  130. package/out/node/fs/index.d.ts +1 -1
  131. package/out/node/fs/index.d.ts.map +1 -1
  132. package/out/node/fs/index.js +1 -1
  133. package/out/node/fs/index.js.map +1 -1
  134. package/package.json +7 -8
  135. package/out/lib/AsyncSequence.d.ts.map +0 -1
  136. package/out/lib/AsyncSequence.js.map +0 -1
  137. package/out/lib/AsyncSpliterator.d.ts.map +0 -1
  138. package/out/lib/AsyncSpliterator.js.map +0 -1
  139. package/out/lib/BufferController.d.ts.map +0 -1
  140. package/out/lib/BufferController.js.map +0 -1
  141. package/out/lib/CSVSpliterator.d.ts.map +0 -1
  142. package/out/lib/CSVSpliterator.js.map +0 -1
  143. package/out/lib/CharacterSequence.d.ts.map +0 -1
  144. package/out/lib/CharacterSequence.js.map +0 -1
  145. package/out/lib/CompositeDataView.d.ts.map +0 -1
  146. package/out/lib/CompositeDataView.js.map +0 -1
  147. package/out/lib/IndexQueue.d.ts.map +0 -1
  148. package/out/lib/IndexQueue.js.map +0 -1
  149. package/out/lib/JSONSpliterator.d.ts.map +0 -1
  150. package/out/lib/JSONSpliterator.js.map +0 -1
  151. package/out/lib/PSVSpliterator.d.ts.map +0 -1
  152. package/out/lib/PSVSpliterator.js.map +0 -1
  153. package/out/lib/SlidingWindow.d.ts.map +0 -1
  154. package/out/lib/SlidingWindow.js.map +0 -1
  155. package/out/lib/Spliterator.d.ts.map +0 -1
  156. package/out/lib/Spliterator.js.map +0 -1
  157. package/out/lib/TSVSpliterator.d.ts.map +0 -1
  158. package/out/lib/TSVSpliterator.js.map +0 -1
  159. package/out/lib/TextSpliterator.d.ts.map +0 -1
  160. package/out/lib/TextSpliterator.js.map +0 -1
  161. package/out/lib/XLSXSpliterator.d.ts.map +0 -1
  162. package/out/lib/XLSXSpliterator.js.map +0 -1
  163. package/out/lib/adaptive-source.d.ts.map +0 -1
  164. package/out/lib/adaptive-source.js.map +0 -1
  165. package/out/lib/casing.d.ts.map +0 -1
  166. package/out/lib/casing.js.map +0 -1
  167. package/out/lib/chunks.d.ts.map +0 -1
  168. package/out/lib/chunks.js.map +0 -1
  169. package/out/lib/merge-async-iterators.d.ts.map +0 -1
  170. package/out/lib/merge-async-iterators.js.map +0 -1
  171. package/out/lib/parallel-map-runtime.d.ts.map +0 -1
  172. package/out/lib/parallel-map-runtime.js.map +0 -1
  173. package/out/lib/parallel-map-worker-entry.d.ts.map +0 -1
  174. package/out/lib/parallel-map-worker-entry.js.map +0 -1
  175. package/out/lib/parallel-map-workers.d.ts.map +0 -1
  176. package/out/lib/parallel-map-workers.js.map +0 -1
  177. package/out/lib/parallel-map.d.ts.map +0 -1
  178. package/out/lib/parallel-map.js.map +0 -1
  179. package/out/lib/pivot.d.ts.map +0 -1
  180. package/out/lib/pivot.js.map +0 -1
  181. package/out/lib/row-emitters.d.ts.map +0 -1
  182. package/out/lib/row-emitters.js.map +0 -1
  183. package/out/lib/segment-runtime.d.ts.map +0 -1
  184. package/out/lib/segment-runtime.js.map +0 -1
  185. package/out/lib/segment-worker-entry.d.ts.map +0 -1
  186. package/out/lib/segment-worker-entry.js.map +0 -1
  187. package/out/lib/segment-workers.d.ts.map +0 -1
  188. package/out/lib/segment-workers.js.map +0 -1
  189. package/out/lib/segments.d.ts.map +0 -1
  190. package/out/lib/segments.js.map +0 -1
  191. package/out/lib/shared.d.ts.map +0 -1
  192. package/out/lib/shared.js.map +0 -1
  193. package/out/lib/take.d.ts +0 -42
  194. package/out/lib/take.d.ts.map +0 -1
  195. package/out/lib/take.js +0 -101
  196. package/out/lib/take.js.map +0 -1
  197. package/out/lib/utils.d.ts.map +0 -1
  198. package/out/lib/utils.js.map +0 -1
  199. package/out/lib/wasm_base64.d.ts +0 -16
  200. package/out/lib/wasm_base64.d.ts.map +0 -1
  201. package/out/lib/wasm_base64.js.map +0 -1
  202. package/out/lib/wasm_module.d.ts.map +0 -1
  203. package/out/lib/wasm_module.js.map +0 -1
  204. package/out/lib/writer.d.ts.map +0 -1
  205. package/out/lib/writer.js.map +0 -1
  206. package/out/lib/zip.d.ts.map +0 -1
  207. package/out/lib/zip.js.map +0 -1
  208. package/out/node/cli/parse-args.d.ts +0 -120
  209. package/out/node/cli/parse-args.d.ts.map +0 -1
  210. package/out/node/cli/parse-args.js +0 -118
  211. package/out/node/cli/parse-args.js.map +0 -1
  212. /package/out/lib/{BufferController.d.ts → core/BufferController.d.ts} +0 -0
  213. /package/out/lib/{BufferController.js → core/BufferController.js} +0 -0
  214. /package/out/lib/{CompositeDataView.js → core/CompositeDataView.js} +0 -0
  215. /package/out/lib/{IndexQueue.js → core/IndexQueue.js} +0 -0
  216. /package/out/lib/{SlidingWindow.js → core/SlidingWindow.js} +0 -0
  217. /package/out/lib/{PSVSpliterator.d.ts → formats/PSVSpliterator.d.ts} +0 -0
  218. /package/out/lib/{TSVSpliterator.d.ts → formats/TSVSpliterator.d.ts} +0 -0
  219. /package/out/lib/{casing.d.ts → formats/casing.d.ts} +0 -0
  220. /package/out/lib/{casing.js → formats/casing.js} +0 -0
  221. /package/out/lib/{row-emitters.d.ts → formats/row-emitters.d.ts} +0 -0
  222. /package/out/lib/{shared.d.ts → internal/shared.d.ts} +0 -0
  223. /package/out/lib/{shared.js → internal/shared.js} +0 -0
  224. /package/out/lib/{utils.d.ts → internal/utils.d.ts} +0 -0
  225. /package/out/lib/{utils.js → internal/utils.js} +0 -0
  226. /package/out/lib/{writer.d.ts → io/writer.d.ts} +0 -0
  227. /package/out/lib/{writer.js → io/writer.js} +0 -0
  228. /package/out/lib/{chunks.d.ts → iterators/chunks.d.ts} +0 -0
  229. /package/out/lib/{chunks.js → iterators/chunks.js} +0 -0
  230. /package/out/lib/{pivot.d.ts → iterators/pivot.d.ts} +0 -0
  231. /package/out/lib/{pivot.js → iterators/pivot.js} +0 -0
  232. /package/out/lib/{zip.d.ts → iterators/zip.d.ts} +0 -0
  233. /package/out/lib/{zip.js → iterators/zip.js} +0 -0
  234. /package/out/lib/{merge-async-iterators.d.ts → parallel/merge-async-iterators.d.ts} +0 -0
  235. /package/out/lib/{merge-async-iterators.js → parallel/merge-async-iterators.js} +0 -0
  236. /package/out/lib/{parallel-map-runtime.d.ts → parallel/parallel-map-runtime.d.ts} +0 -0
  237. /package/out/lib/{parallel-map-runtime.js → parallel/parallel-map-runtime.js} +0 -0
  238. /package/out/lib/{parallel-map-worker-entry.d.ts → parallel/parallel-map-worker-entry.d.ts} +0 -0
  239. /package/out/lib/{parallel-map-worker-entry.js → parallel/parallel-map-worker-entry.js} +0 -0
  240. /package/out/lib/{parallel-map-workers.d.ts → parallel/parallel-map-workers.d.ts} +0 -0
  241. /package/out/lib/{parallel-map-workers.js → parallel/parallel-map-workers.js} +0 -0
  242. /package/out/lib/{segment-runtime.d.ts → parallel/segment-runtime.d.ts} +0 -0
  243. /package/out/lib/{segment-runtime.js → parallel/segment-runtime.js} +0 -0
  244. /package/out/lib/{segment-worker-entry.d.ts → parallel/segment-worker-entry.d.ts} +0 -0
  245. /package/out/lib/{segment-workers.js → parallel/segment-workers.js} +0 -0
@@ -1,120 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license MIT
4
- * @author Teffen Ellis, et al.
5
- * @file A minimal command/option layer over Node's built-in `util.parseArgs`.
6
- */
7
- /**
8
- * Declarative description of a single command line option.
9
- */
10
- export interface OptionSpec {
11
- /**
12
- * The value type. `number` options are parsed as strings and coerced.
13
- */
14
- type: "string" | "boolean" | "number";
15
- /**
16
- * Single-character alias, e.g. `s` for `-s`.
17
- */
18
- short?: string;
19
- /**
20
- * Help text shown alongside the option.
21
- */
22
- description: string;
23
- /**
24
- * Value used when the option is omitted.
25
- */
26
- default?: string | number | boolean;
27
- /**
28
- * Human-readable stand-in for `default` in help output, e.g. `<newline>`.
29
- */
30
- defaultDescription?: string;
31
- /**
32
- * Permitted values for string options. Anything else is rejected.
33
- */
34
- choices?: readonly string[];
35
- }
36
- export type OptionRecord = Record<string, OptionSpec>;
37
- /**
38
- * Declarative description of a positional argument.
39
- */
40
- export interface PositionalSpec {
41
- /**
42
- * Help text shown alongside the positional.
43
- */
44
- description: string;
45
- /**
46
- * Whether the positional must be present.
47
- */
48
- required?: boolean;
49
- }
50
- export type PositionalRecord = Record<string, PositionalSpec>;
51
- type KebabToCamel<T extends string> = T extends `${infer Head}-${infer Tail}` ? `${Head}${Capitalize<KebabToCamel<Tail>>}` : T;
52
- type OptionValue<S extends OptionSpec> = S extends {
53
- choices: readonly (infer Choice)[];
54
- } ? Choice : S["type"] extends "boolean" ? boolean : S["type"] extends "number" ? number : string;
55
- type OptionalKeys<O extends OptionRecord> = {
56
- [K in keyof O]: O[K] extends {
57
- default: unknown;
58
- } ? never : K;
59
- }[keyof O];
60
- /**
61
- * The parsed shape of an option record, with kebab-case keys camel-cased.
62
- */
63
- export type InferOptions<O extends OptionRecord> = {
64
- [K in Exclude<keyof O, OptionalKeys<O>> & string as KebabToCamel<K>]: OptionValue<O[K]>;
65
- } & {
66
- [K in OptionalKeys<O> & string as KebabToCamel<K>]?: OptionValue<O[K]>;
67
- };
68
- /**
69
- * The parsed shape of a positional record.
70
- */
71
- export type InferPositionals<P extends PositionalRecord> = {
72
- [K in keyof P & string as KebabToCamel<K>]: P[K] extends {
73
- required: true;
74
- } ? string : string | undefined;
75
- };
76
- /**
77
- * A CLI command — a name, its options, and the handler invoked with parsed arguments.
78
- */
79
- export interface Command<O extends OptionRecord = OptionRecord, P extends PositionalRecord = PositionalRecord> {
80
- /**
81
- * The subcommand name, or `null` for the default command.
82
- */
83
- name: string | null;
84
- /**
85
- * One-line summary shown in the top-level help.
86
- */
87
- description: string;
88
- /**
89
- * Usage line shown in the command's help, sans script name.
90
- */
91
- usage: string;
92
- options: O;
93
- positionals: P;
94
- handler: (args: InferOptions<O> & InferPositionals<P>) => Promise<void>;
95
- }
96
- /**
97
- * Identity helper preserving the literal types of a command's option and positional records.
98
- */
99
- export declare function defineCommand<O extends OptionRecord, P extends PositionalRecord>(command: Command<O, P>): Command<O, P>;
100
- /**
101
- * Thrown when the user supplies arguments the command cannot accept.
102
- *
103
- * The CLI entry point prints the message and exits without a stack trace.
104
- */
105
- export declare class UsageError extends Error {
106
- name: string;
107
- }
108
- /**
109
- * Parse `argv` against a command, applying defaults, coercion, and validation.
110
- *
111
- * @param command - The command to parse against.
112
- * @param argv - Arguments following the command name.
113
- */
114
- export declare function parseCommand<O extends OptionRecord, P extends PositionalRecord>(command: Command<O, P>, argv: string[]): InferOptions<O> & InferPositionals<P>;
115
- /**
116
- * Render the help text for a single command.
117
- */
118
- export declare function formatCommandHelp(scriptName: string, command: Command): string;
119
- export {};
120
- //# sourceMappingURL=parse-args.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../../../node/cli/parse-args.ts"],"names":[],"mappings":"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"}
@@ -1,118 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license MIT
4
- * @author Teffen Ellis, et al.
5
- * @file A minimal command/option layer over Node's built-in `util.parseArgs`.
6
- */
7
- import { parseArgs } from "node:util";
8
- /**
9
- * Identity helper preserving the literal types of a command's option and positional records.
10
- */
11
- export function defineCommand(command) {
12
- return command;
13
- }
14
- function camelCase(input) {
15
- return input.replace(/-([a-z])/g, (_, character) => character.toUpperCase());
16
- }
17
- /**
18
- * Thrown when the user supplies arguments the command cannot accept.
19
- *
20
- * The CLI entry point prints the message and exits without a stack trace.
21
- */
22
- export class UsageError extends Error {
23
- name = "UsageError";
24
- }
25
- /**
26
- * Parse `argv` against a command, applying defaults, coercion, and validation.
27
- *
28
- * @param command - The command to parse against.
29
- * @param argv - Arguments following the command name.
30
- */
31
- export function parseCommand(command, argv) {
32
- const config = {};
33
- for (const [name, spec] of Object.entries(command.options)) {
34
- config[name] = {
35
- type: spec.type === "number" ? "string" : spec.type,
36
- ...(spec.short ? { short: spec.short } : {}),
37
- };
38
- }
39
- let parsed;
40
- try {
41
- parsed = parseArgs({
42
- args: argv,
43
- options: config,
44
- allowPositionals: true,
45
- allowNegative: true,
46
- strict: true,
47
- });
48
- }
49
- catch (error) {
50
- throw new UsageError(error instanceof Error ? error.message : String(error));
51
- }
52
- const result = {};
53
- for (const [name, spec] of Object.entries(command.options)) {
54
- const key = camelCase(name);
55
- const raw = parsed.values[name];
56
- if (raw === undefined) {
57
- if (spec.default !== undefined)
58
- result[key] = spec.default;
59
- continue;
60
- }
61
- if (spec.type === "number") {
62
- const value = Number(raw);
63
- if (!Number.isFinite(value)) {
64
- throw new UsageError(`Option --${name} expects a number, received "${String(raw)}".`);
65
- }
66
- result[key] = value;
67
- continue;
68
- }
69
- if (spec.choices && !spec.choices.includes(raw)) {
70
- throw new UsageError(`Option --${name} expects one of: ${spec.choices.join(", ")}.`);
71
- }
72
- result[key] = raw;
73
- }
74
- const positionalNames = Object.keys(command.positionals);
75
- if (parsed.positionals.length > positionalNames.length) {
76
- throw new UsageError(`Unexpected argument "${parsed.positionals[positionalNames.length]}".`);
77
- }
78
- for (const [index, name] of positionalNames.entries()) {
79
- const key = camelCase(name);
80
- // An explicit `--source`/`--destination` option wins over the positional slot.
81
- const value = result[key] ?? parsed.positionals[index];
82
- if (value === undefined && command.positionals[name].required) {
83
- throw new UsageError(`Missing required argument "${name}".`);
84
- }
85
- result[key] = value;
86
- }
87
- return result;
88
- }
89
- function formatDefault(spec) {
90
- if (spec.defaultDescription)
91
- return spec.defaultDescription;
92
- if (spec.default === undefined)
93
- return "";
94
- return JSON.stringify(spec.default);
95
- }
96
- /**
97
- * Render the help text for a single command.
98
- */
99
- export function formatCommandHelp(scriptName, command) {
100
- const lines = [command.description, "", `Usage: ${scriptName} ${command.usage}`, ""];
101
- const positionalEntries = Object.entries(command.positionals);
102
- if (positionalEntries.length) {
103
- lines.push("Positionals:");
104
- for (const [name, spec] of positionalEntries) {
105
- lines.push(` ${name.padEnd(28)}${spec.description}${spec.required ? "" : " (optional)"}`);
106
- }
107
- lines.push("");
108
- }
109
- lines.push("Options:");
110
- for (const [name, spec] of Object.entries(command.options)) {
111
- const flag = [spec.short ? `-${spec.short},` : " ", `--${name}`].join(" ");
112
- const fallback = formatDefault(spec);
113
- const choices = spec.choices ? ` [${spec.choices.join("|")}]` : "";
114
- lines.push(` ${flag.padEnd(32)}${spec.description}${choices}${fallback ? ` (default: ${fallback})` : ""}`);
115
- }
116
- return lines.join("\n");
117
- }
118
- //# sourceMappingURL=parse-args.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../../../node/cli/parse-args.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes