spliterator 5.0.0 → 6.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 (58) hide show
  1. package/README.md +56 -0
  2. package/out/index.d.ts +7 -1
  3. package/out/index.d.ts.map +1 -1
  4. package/out/index.js +7 -1
  5. package/out/index.js.map +1 -1
  6. package/out/lib/AsyncSequence.d.ts +180 -0
  7. package/out/lib/AsyncSequence.d.ts.map +1 -0
  8. package/out/lib/AsyncSequence.js +432 -0
  9. package/out/lib/AsyncSequence.js.map +1 -0
  10. package/out/lib/CSVSpliterator.d.ts +6 -5
  11. package/out/lib/CSVSpliterator.d.ts.map +1 -1
  12. package/out/lib/CSVSpliterator.js +46 -37
  13. package/out/lib/CSVSpliterator.js.map +1 -1
  14. package/out/lib/JSONSpliterator.d.ts +20 -9
  15. package/out/lib/JSONSpliterator.d.ts.map +1 -1
  16. package/out/lib/JSONSpliterator.js +25 -17
  17. package/out/lib/JSONSpliterator.js.map +1 -1
  18. package/out/lib/TextSpliterator.d.ts +4 -2
  19. package/out/lib/TextSpliterator.d.ts.map +1 -1
  20. package/out/lib/TextSpliterator.js +8 -9
  21. package/out/lib/TextSpliterator.js.map +1 -1
  22. package/out/lib/adaptive-source.d.ts +39 -0
  23. package/out/lib/adaptive-source.d.ts.map +1 -0
  24. package/out/lib/adaptive-source.js +95 -0
  25. package/out/lib/adaptive-source.js.map +1 -0
  26. package/out/lib/chunks.d.ts +20 -0
  27. package/out/lib/chunks.d.ts.map +1 -0
  28. package/out/lib/chunks.js +36 -0
  29. package/out/lib/chunks.js.map +1 -0
  30. package/out/lib/parallel-map-workers.d.ts +57 -0
  31. package/out/lib/parallel-map-workers.d.ts.map +1 -0
  32. package/out/lib/parallel-map-workers.js +82 -0
  33. package/out/lib/parallel-map-workers.js.map +1 -0
  34. package/out/lib/parallel-map.d.ts +17 -42
  35. package/out/lib/parallel-map.d.ts.map +1 -1
  36. package/out/lib/parallel-map.js +18 -66
  37. package/out/lib/parallel-map.js.map +1 -1
  38. package/out/lib/pivot.d.ts +30 -0
  39. package/out/lib/pivot.d.ts.map +1 -0
  40. package/out/lib/pivot.js +47 -0
  41. package/out/lib/pivot.js.map +1 -0
  42. package/out/lib/shared.d.ts +0 -27
  43. package/out/lib/shared.d.ts.map +1 -1
  44. package/out/lib/shared.js +0 -53
  45. package/out/lib/shared.js.map +1 -1
  46. package/out/lib/take.d.ts +16 -0
  47. package/out/lib/take.d.ts.map +1 -1
  48. package/out/lib/take.js +28 -0
  49. package/out/lib/take.js.map +1 -1
  50. package/out/lib/utils.d.ts +37 -0
  51. package/out/lib/utils.d.ts.map +1 -0
  52. package/out/lib/utils.js +39 -0
  53. package/out/lib/utils.js.map +1 -0
  54. package/out/lib/zip.d.ts +33 -0
  55. package/out/lib/zip.d.ts.map +1 -0
  56. package/out/lib/zip.js +59 -0
  57. package/out/lib/zip.js.map +1 -0
  58. package/package.json +6 -6
package/out/lib/zip.js ADDED
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license MIT
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ export function zippedEntries(zipped) {
7
+ return zipped.slice(0, 2);
8
+ }
9
+ /**
10
+ * Given two iterables, zip them together into a single iterable which yields pairs of elements.
11
+ *
12
+ * If one iterable is longer than the other, the shorter iterable will be padded with `undefined`.
13
+ *
14
+ * @param a The first iterable to zip.
15
+ * @param b The second iterable to zip.
16
+ *
17
+ * @yields Pairs of elements from the two iterables.
18
+ * @see {@linkcode zipAsync} for the asynchronous version.
19
+ */
20
+ export function* zipSync(a, b) {
21
+ const aIterator = a[Symbol.iterator]();
22
+ const bIterator = b[Symbol.iterator]();
23
+ let index = 0;
24
+ while (true) {
25
+ const { done: aDone, value: aValue } = aIterator.next();
26
+ const { done: bDone, value: bValue } = bIterator.next();
27
+ if (aDone && bDone) {
28
+ break;
29
+ }
30
+ yield [aValue, bValue, index];
31
+ index++;
32
+ }
33
+ }
34
+ /**
35
+ * Given two iterables, zip them together into a single iterable which yields pairs of elements.
36
+ *
37
+ * If one iterable is longer than the other, the shorter iterable will be padded with `undefined`.
38
+ *
39
+ * @param a The first iterable to zip.
40
+ * @param b The second iterable to zip.
41
+ *
42
+ * @yields Pairs of elements from the two iterables.
43
+ * @see {@linkcode zipSync} for the synchronous version.
44
+ */
45
+ export async function* zipAsync(a, b) {
46
+ const aIterator = Symbol.asyncIterator in a ? a[Symbol.asyncIterator]() : a[Symbol.iterator]();
47
+ const bIterator = Symbol.asyncIterator in b ? b[Symbol.asyncIterator]() : b[Symbol.iterator]();
48
+ let index = 0;
49
+ while (true) {
50
+ const { done: aDone, value: aValue } = await aIterator.next();
51
+ const { done: bDone, value: bValue } = await bIterator.next();
52
+ if (aDone && bDone) {
53
+ break;
54
+ }
55
+ yield [aValue, bValue, index];
56
+ index++;
57
+ }
58
+ }
59
+ //# sourceMappingURL=zip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip.js","sourceRoot":"","sources":["../../lib/zip.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,UAAU,aAAa,CAAO,MAAoB;IACvD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAgC,CAAA;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,SAAS,CAAC,CAAC,OAAO,CAAO,CAAc,EAAE,CAAc;IAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAEtC,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QACvD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAEvD,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACpB,MAAK;QACN,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAE7B,KAAK,EAAE,CAAA;IACR,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAC9B,CAAiC,EACjC,CAAiC;IAEjC,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC9F,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAE9F,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;QAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;QAE7D,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACpB,MAAK;QACN,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAE7B,KAAK,EAAE,CAAA;IACR,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spliterator",
3
- "version": "5.0.0",
3
+ "version": "6.0.0",
4
4
  "description": "Line-delimited iterator library for CSV, NDJSON, and other delimited formats.",
5
5
  "keywords": [
6
6
  "csv",
@@ -65,15 +65,15 @@
65
65
  "test": "yarn compile && vitest"
66
66
  },
67
67
  "devDependencies": {
68
- "@sister.software/oxfmt-config": "^11.0.0",
69
- "@sister.software/oxlint-config": "^11.0.0",
70
- "@sister.software/tsconfig": "^11.0.0",
68
+ "@sister.software/oxfmt-config": "^12.1.3",
69
+ "@sister.software/oxlint-config": "^12.1.3",
70
+ "@sister.software/tsconfig": "^12.1.3",
71
71
  "@types/node": "^26.1.2",
72
72
  "change-case": "^5.4.4",
73
73
  "colorette": "^2.0.20",
74
74
  "npm-run-all": "^4.1.5",
75
- "oxfmt": "0.61.0",
76
- "oxlint": "1.76.0",
75
+ "oxfmt": "0.62.0",
76
+ "oxlint": "1.77.0",
77
77
  "path-ts": "^2.1.0",
78
78
  "release-it": "^21.0.1",
79
79
  "type-fest": "^5.8.0",