@ts-fns/stdlib 0.1.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 (135) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +132 -0
  3. package/dist/array/index.cjs +551 -0
  4. package/dist/array/index.cjs.map +1 -0
  5. package/dist/array/index.d.cts +334 -0
  6. package/dist/array/index.d.cts.map +1 -0
  7. package/dist/array/index.d.mts +334 -0
  8. package/dist/array/index.d.mts.map +1 -0
  9. package/dist/array/index.mjs +498 -0
  10. package/dist/array/index.mjs.map +1 -0
  11. package/dist/errors-CJsLpYo9.d.cts +25 -0
  12. package/dist/errors-CJsLpYo9.d.cts.map +1 -0
  13. package/dist/errors-CJsLpYo9.d.mts +25 -0
  14. package/dist/errors-CJsLpYo9.d.mts.map +1 -0
  15. package/dist/errors-Dw1kitu_.mjs +39 -0
  16. package/dist/errors-Dw1kitu_.mjs.map +1 -0
  17. package/dist/errors-O-d_Vemi.cjs +74 -0
  18. package/dist/errors-O-d_Vemi.cjs.map +1 -0
  19. package/dist/function/index.cjs +15 -0
  20. package/dist/function/index.d.cts +107 -0
  21. package/dist/function/index.d.cts.map +1 -0
  22. package/dist/function/index.d.mts +107 -0
  23. package/dist/function/index.d.mts.map +1 -0
  24. package/dist/function/index.mjs +3 -0
  25. package/dist/function-CB82a2GS.cjs +186 -0
  26. package/dist/function-CB82a2GS.cjs.map +1 -0
  27. package/dist/function-DnI2v0p3.mjs +121 -0
  28. package/dist/function-DnI2v0p3.mjs.map +1 -0
  29. package/dist/get-CWL_cu6G.mjs +27 -0
  30. package/dist/get-CWL_cu6G.mjs.map +1 -0
  31. package/dist/get-yrs1Kqho.cjs +38 -0
  32. package/dist/get-yrs1Kqho.cjs.map +1 -0
  33. package/dist/guard/index.cjs +43 -0
  34. package/dist/guard/index.cjs.map +1 -0
  35. package/dist/guard/index.d.cts +52 -0
  36. package/dist/guard/index.d.cts.map +1 -0
  37. package/dist/guard/index.d.mts +52 -0
  38. package/dist/guard/index.d.mts.map +1 -0
  39. package/dist/guard/index.mjs +40 -0
  40. package/dist/guard/index.mjs.map +1 -0
  41. package/dist/index-BJlKyBJH.d.cts +18 -0
  42. package/dist/index-BJlKyBJH.d.cts.map +1 -0
  43. package/dist/index-DGrnGMDt.d.mts +18 -0
  44. package/dist/index-DGrnGMDt.d.mts.map +1 -0
  45. package/dist/isNotNil-DrF-ohem.cjs +28 -0
  46. package/dist/isNotNil-DrF-ohem.cjs.map +1 -0
  47. package/dist/isNotNil-R5f1hC53.mjs +23 -0
  48. package/dist/isNotNil-R5f1hC53.mjs.map +1 -0
  49. package/dist/iterator/index.cjs +160 -0
  50. package/dist/iterator/index.cjs.map +1 -0
  51. package/dist/iterator/index.d.cts +71 -0
  52. package/dist/iterator/index.d.cts.map +1 -0
  53. package/dist/iterator/index.d.mts +71 -0
  54. package/dist/iterator/index.d.mts.map +1 -0
  55. package/dist/iterator/index.mjs +148 -0
  56. package/dist/iterator/index.mjs.map +1 -0
  57. package/dist/lens/index.cjs +199 -0
  58. package/dist/lens/index.cjs.map +1 -0
  59. package/dist/lens/index.d.cts +109 -0
  60. package/dist/lens/index.d.cts.map +1 -0
  61. package/dist/lens/index.d.mts +109 -0
  62. package/dist/lens/index.d.mts.map +1 -0
  63. package/dist/lens/index.mjs +187 -0
  64. package/dist/lens/index.mjs.map +1 -0
  65. package/dist/map/index.cjs +86 -0
  66. package/dist/map/index.cjs.map +1 -0
  67. package/dist/map/index.d.cts +41 -0
  68. package/dist/map/index.d.cts.map +1 -0
  69. package/dist/map/index.d.mts +41 -0
  70. package/dist/map/index.d.mts.map +1 -0
  71. package/dist/map/index.mjs +75 -0
  72. package/dist/map/index.mjs.map +1 -0
  73. package/dist/number/index.cjs +179 -0
  74. package/dist/number/index.cjs.map +1 -0
  75. package/dist/number/index.d.cts +112 -0
  76. package/dist/number/index.d.cts.map +1 -0
  77. package/dist/number/index.d.mts +112 -0
  78. package/dist/number/index.d.mts.map +1 -0
  79. package/dist/number/index.mjs +159 -0
  80. package/dist/number/index.mjs.map +1 -0
  81. package/dist/object/index.cjs +190 -0
  82. package/dist/object/index.cjs.map +1 -0
  83. package/dist/object/index.d.cts +118 -0
  84. package/dist/object/index.d.cts.map +1 -0
  85. package/dist/object/index.d.mts +118 -0
  86. package/dist/object/index.d.mts.map +1 -0
  87. package/dist/object/index.mjs +169 -0
  88. package/dist/object/index.mjs.map +1 -0
  89. package/dist/orThrow-V91Jw2lF.mjs +15 -0
  90. package/dist/orThrow-V91Jw2lF.mjs.map +1 -0
  91. package/dist/orThrow-ejzcQYAI.cjs +20 -0
  92. package/dist/orThrow-ejzcQYAI.cjs.map +1 -0
  93. package/dist/order/index.cjs +50 -0
  94. package/dist/order/index.cjs.map +1 -0
  95. package/dist/order/index.d.cts +3 -0
  96. package/dist/order/index.d.mts +3 -0
  97. package/dist/order/index.mjs +42 -0
  98. package/dist/order/index.mjs.map +1 -0
  99. package/dist/order.constants-BWSCg3C7.d.cts +11 -0
  100. package/dist/order.constants-BWSCg3C7.d.cts.map +1 -0
  101. package/dist/order.constants-BWSCg3C7.d.mts +11 -0
  102. package/dist/order.constants-BWSCg3C7.d.mts.map +1 -0
  103. package/dist/purry-B2_0DGLV.cjs +28 -0
  104. package/dist/purry-B2_0DGLV.cjs.map +1 -0
  105. package/dist/purry-BOWmqwDB.mjs +23 -0
  106. package/dist/purry-BOWmqwDB.mjs.map +1 -0
  107. package/dist/set/index.cjs +131 -0
  108. package/dist/set/index.cjs.map +1 -0
  109. package/dist/set/index.d.cts +61 -0
  110. package/dist/set/index.d.cts.map +1 -0
  111. package/dist/set/index.d.mts +61 -0
  112. package/dist/set/index.d.mts.map +1 -0
  113. package/dist/set/index.mjs +115 -0
  114. package/dist/set/index.mjs.map +1 -0
  115. package/dist/string/index.cjs +288 -0
  116. package/dist/string/index.cjs.map +1 -0
  117. package/dist/string/index.d.cts +144 -0
  118. package/dist/string/index.d.cts.map +1 -0
  119. package/dist/string/index.d.mts +144 -0
  120. package/dist/string/index.d.mts.map +1 -0
  121. package/dist/string/index.mjs +254 -0
  122. package/dist/string/index.mjs.map +1 -0
  123. package/dist/tuple/index.cjs +135 -0
  124. package/dist/tuple/index.cjs.map +1 -0
  125. package/dist/tuple/index.d.cts +207 -0
  126. package/dist/tuple/index.d.cts.map +1 -0
  127. package/dist/tuple/index.d.mts +207 -0
  128. package/dist/tuple/index.d.mts.map +1 -0
  129. package/dist/tuple/index.mjs +122 -0
  130. package/dist/tuple/index.mjs.map +1 -0
  131. package/dist/types-D8f67ZCe.d.cts +54 -0
  132. package/dist/types-D8f67ZCe.d.cts.map +1 -0
  133. package/dist/types-D8f67ZCe.d.mts +54 -0
  134. package/dist/types-D8f67ZCe.d.mts.map +1 -0
  135. package/package.json +177 -0
@@ -0,0 +1,40 @@
1
+ import { t as isNotNil } from "../isNotNil-R5f1hC53.mjs";
2
+ //#region src/guard/isNull.ts
3
+ /**
4
+ * Check whether a value is strictly `null`.
5
+ *
6
+ * @category Guard
7
+ * @param value - The value to check.
8
+ * @returns `true` if `value` is `null`; otherwise `false`.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * isNull(null); // true
13
+ * isNull(undefined); // false
14
+ * ```
15
+ */
16
+ function isNull(value) {
17
+ return value === null;
18
+ }
19
+ //#endregion
20
+ //#region src/guard/isUndefined.ts
21
+ /**
22
+ * Check whether a value is strictly `undefined`.
23
+ *
24
+ * @category Guard
25
+ * @param value - The value to check.
26
+ * @returns `true` if `value` is `undefined`; otherwise `false`.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * isUndefined(undefined); // true
31
+ * isUndefined(null); // false
32
+ * ```
33
+ */
34
+ function isUndefined(value) {
35
+ return value === void 0;
36
+ }
37
+ //#endregion
38
+ export { isNotNil, isNull, isUndefined };
39
+
40
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/guard/isNull.ts","../../src/guard/isUndefined.ts"],"sourcesContent":["/**\n * Check whether a value is strictly `null`.\n *\n * @category Guard\n * @param value - The value to check.\n * @returns `true` if `value` is `null`; otherwise `false`.\n *\n * @example\n * ```ts\n * isNull(null); // true\n * isNull(undefined); // false\n * ```\n */\nexport function isNull<T>(value: T): value is T & null {\n return value === null;\n}\n","/**\n * Check whether a value is strictly `undefined`.\n *\n * @category Guard\n * @param value - The value to check.\n * @returns `true` if `value` is `undefined`; otherwise `false`.\n *\n * @example\n * ```ts\n * isUndefined(undefined); // true\n * isUndefined(null); // false\n * ```\n */\nexport function isUndefined<T>(value: T): value is T & undefined {\n return value === undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAaA,SAAgB,OAAU,OAA6B;CACrD,OAAO,UAAU;AACnB;;;;;;;;;;;;;;;;ACFA,SAAgB,YAAe,OAAkC;CAC/D,OAAO,UAAU,KAAA;AACnB"}
@@ -0,0 +1,18 @@
1
+ import { i as Order } from "./order.constants-BWSCg3C7.cjs";
2
+
3
+ //#region src/order/breakTie.d.ts
4
+ declare function breakTieImplementation(order: Order, other: Order): Order;
5
+ declare function breakTie(other: Order): (order: Order) => Order;
6
+ declare function breakTie(order: Order, other: Order): Order;
7
+ //#endregion
8
+ //#region src/order/compare.d.ts
9
+ declare function compare(left: Order, right: Order): Order;
10
+ //#endregion
11
+ //#region src/order/negate.d.ts
12
+ declare function negate(order: Order): Order;
13
+ //#endregion
14
+ //#region src/order/reverse.d.ts
15
+ declare function reverse<T>(orderer: (left: T, right: T) => Order): (left: T, right: T) => Order;
16
+ //#endregion
17
+ export { breakTieImplementation as a, breakTie as i, negate as n, compare as r, reverse as t };
18
+ //# sourceMappingURL=index-BJlKyBJH.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BJlKyBJH.d.cts","names":[],"sources":["../src/order/breakTie.ts","../src/order/compare.ts","../src/order/negate.ts","../src/order/reverse.ts"],"mappings":";;;iBAIgB,sBAAA,CAAuB,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,GAAQ,KAAA;AAAA,iBAKpD,QAAA,CAAS,KAAA,EAAO,KAAA,IAAS,KAAA,EAAO,KAAA,KAAU,KAAA;AAAA,iBAC1C,QAAA,CAAS,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,GAAQ,KAAA;;;iBCAtC,OAAA,CAAQ,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,KAAA,GAAQ,KAAA;;;iBCLpC,MAAA,CAAO,KAAA,EAAO,KAAA,GAAQ,KAAK;;;iBCF3B,OAAA,IAAW,OAAA,GAAU,IAAA,EAAM,CAAA,EAAG,KAAA,EAAO,CAAA,KAAM,KAAA,IAAS,IAAA,EAAM,CAAA,EAAG,KAAA,EAAO,CAAA,KAAM,KAAA"}
@@ -0,0 +1,18 @@
1
+ import { i as Order } from "./order.constants-BWSCg3C7.mjs";
2
+
3
+ //#region src/order/breakTie.d.ts
4
+ declare function breakTieImplementation(order: Order, other: Order): Order;
5
+ declare function breakTie(other: Order): (order: Order) => Order;
6
+ declare function breakTie(order: Order, other: Order): Order;
7
+ //#endregion
8
+ //#region src/order/compare.d.ts
9
+ declare function compare(left: Order, right: Order): Order;
10
+ //#endregion
11
+ //#region src/order/negate.d.ts
12
+ declare function negate(order: Order): Order;
13
+ //#endregion
14
+ //#region src/order/reverse.d.ts
15
+ declare function reverse<T>(orderer: (left: T, right: T) => Order): (left: T, right: T) => Order;
16
+ //#endregion
17
+ export { breakTieImplementation as a, breakTie as i, negate as n, compare as r, reverse as t };
18
+ //# sourceMappingURL=index-DGrnGMDt.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DGrnGMDt.d.mts","names":[],"sources":["../src/order/breakTie.ts","../src/order/compare.ts","../src/order/negate.ts","../src/order/reverse.ts"],"mappings":";;;iBAIgB,sBAAA,CAAuB,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,GAAQ,KAAA;AAAA,iBAKpD,QAAA,CAAS,KAAA,EAAO,KAAA,IAAS,KAAA,EAAO,KAAA,KAAU,KAAA;AAAA,iBAC1C,QAAA,CAAS,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,GAAQ,KAAA;;;iBCAtC,OAAA,CAAQ,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,KAAA,GAAQ,KAAA;;;iBCLpC,MAAA,CAAO,KAAA,EAAO,KAAA,GAAQ,KAAK;;;iBCF3B,OAAA,IAAW,OAAA,GAAU,IAAA,EAAM,CAAA,EAAG,KAAA,EAAO,CAAA,KAAM,KAAA,IAAS,IAAA,EAAM,CAAA,EAAG,KAAA,EAAO,CAAA,KAAM,KAAA"}
@@ -0,0 +1,28 @@
1
+ //#region src/guard/isNotNil.ts
2
+ /**
3
+ * Check whether a value is not nullish (`null` nor `undefined`), using loose inequality (`!= null`).
4
+ * Narrows the type to {@link NonNullable}.
5
+ *
6
+ * @category Guard
7
+ * @param value - The value to check.
8
+ * @returns `true` if `value` is neither `null` nor `undefined`; otherwise `false`.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * isNotNil(0); // true
13
+ * isNotNil(null); // false
14
+ * isNotNil(undefined); // false
15
+ * ```
16
+ */
17
+ function isNotNil(value) {
18
+ return value != null;
19
+ }
20
+ //#endregion
21
+ Object.defineProperty(exports, "isNotNil", {
22
+ enumerable: true,
23
+ get: function() {
24
+ return isNotNil;
25
+ }
26
+ });
27
+
28
+ //# sourceMappingURL=isNotNil-DrF-ohem.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isNotNil-DrF-ohem.cjs","names":[],"sources":["../src/guard/isNotNil.ts"],"sourcesContent":["/**\n * Check whether a value is not nullish (`null` nor `undefined`), using loose inequality (`!= null`).\n * Narrows the type to {@link NonNullable}.\n *\n * @category Guard\n * @param value - The value to check.\n * @returns `true` if `value` is neither `null` nor `undefined`; otherwise `false`.\n *\n * @example\n * ```ts\n * isNotNil(0); // true\n * isNotNil(null); // false\n * isNotNil(undefined); // false\n * ```\n */\nexport function isNotNil<T>(value: T): value is NonNullable<T> {\n return value != null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAeA,SAAgB,SAAY,OAAmC;CAC7D,OAAO,SAAS;AAClB"}
@@ -0,0 +1,23 @@
1
+ //#region src/guard/isNotNil.ts
2
+ /**
3
+ * Check whether a value is not nullish (`null` nor `undefined`), using loose inequality (`!= null`).
4
+ * Narrows the type to {@link NonNullable}.
5
+ *
6
+ * @category Guard
7
+ * @param value - The value to check.
8
+ * @returns `true` if `value` is neither `null` nor `undefined`; otherwise `false`.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * isNotNil(0); // true
13
+ * isNotNil(null); // false
14
+ * isNotNil(undefined); // false
15
+ * ```
16
+ */
17
+ function isNotNil(value) {
18
+ return value != null;
19
+ }
20
+ //#endregion
21
+ export { isNotNil as t };
22
+
23
+ //# sourceMappingURL=isNotNil-R5f1hC53.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isNotNil-R5f1hC53.mjs","names":[],"sources":["../src/guard/isNotNil.ts"],"sourcesContent":["/**\n * Check whether a value is not nullish (`null` nor `undefined`), using loose inequality (`!= null`).\n * Narrows the type to {@link NonNullable}.\n *\n * @category Guard\n * @param value - The value to check.\n * @returns `true` if `value` is neither `null` nor `undefined`; otherwise `false`.\n *\n * @example\n * ```ts\n * isNotNil(0); // true\n * isNotNil(null); // false\n * isNotNil(undefined); // false\n * ```\n */\nexport function isNotNil<T>(value: T): value is NonNullable<T> {\n return value != null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAeA,SAAgB,SAAY,OAAmC;CAC7D,OAAO,SAAS;AAClB"}
@@ -0,0 +1,160 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_purry = require("../purry-B2_0DGLV.cjs");
3
+ const require_isNotNil = require("../isNotNil-DrF-ohem.cjs");
4
+ //#region src/iterator/_globalAliases.ts
5
+ const { from } = Iterator;
6
+ //#endregion
7
+ //#region src/iterator/drop.ts
8
+ function dropImplementation(iter, limit) {
9
+ try {
10
+ return iter.drop(limit);
11
+ } catch (e) {
12
+ if (e instanceof RangeError) throw new RangeError(`Iter.drop() :: ${e.message}`);
13
+ throw e;
14
+ }
15
+ }
16
+ function drop(...args) {
17
+ return require_purry.purry(dropImplementation, args);
18
+ }
19
+ //#endregion
20
+ //#region src/iterator/every.ts
21
+ function everyImplementation(data, predicate) {
22
+ return data.every(predicate);
23
+ }
24
+ function every(...args) {
25
+ return require_purry.purry(everyImplementation, args);
26
+ }
27
+ //#endregion
28
+ //#region src/iterator/filter.ts
29
+ function filterImplementation(data, predicate) {
30
+ return data.filter(predicate);
31
+ }
32
+ function filter(...args) {
33
+ return require_purry.purry(filterImplementation, args);
34
+ }
35
+ //#endregion
36
+ //#region src/guard/orNull.ts
37
+ /**
38
+ * Normalize nullish values to `null`, leaving all other values unchanged.
39
+ * Equivalent to `value ?? null`.
40
+ *
41
+ * @category Guard
42
+ * @param value - A value that may be `null` or `undefined`.
43
+ * @returns `null` when `value` is `null` or `undefined`; otherwise `value` with `null` and `undefined` removed from its type.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * orNull(0); // 0
48
+ * orNull(undefined); // null
49
+ * orNull(null); // null
50
+ * ```
51
+ */
52
+ function orNull(value) {
53
+ return value ?? null;
54
+ }
55
+ //#endregion
56
+ //#region src/iterator/find.ts
57
+ function findImplementation(data, predicate) {
58
+ return orNull(data.find(predicate));
59
+ }
60
+ function find(...args) {
61
+ return require_purry.purry(findImplementation, args);
62
+ }
63
+ //#endregion
64
+ //#region src/iterator/flatMap.ts
65
+ function flatMapImplementation(data, fn) {
66
+ return data.flatMap(fn);
67
+ }
68
+ function flatMap(...args) {
69
+ return require_purry.purry(flatMapImplementation, args);
70
+ }
71
+ //#endregion
72
+ //#region src/iterator/map.ts
73
+ function mapImplementation(data, fn) {
74
+ return data.map(fn);
75
+ }
76
+ function map(...args) {
77
+ return require_purry.purry(mapImplementation, args);
78
+ }
79
+ //#endregion
80
+ //#region src/iterator/range.ts
81
+ function rangeWithOptsImplementation(start, end, option) {
82
+ if (start === Infinity || start === -Infinity) throw new RangeError(`range() start argument cannot be ${start}`);
83
+ if (Number.isNaN(start)) throw new RangeError(`range() start argument cannot be NaN`);
84
+ if (Number.isNaN(end)) throw new RangeError(`range() end argument cannot be NaN`);
85
+ if (typeof start === "bigint" && require_isNotNil.isNotNil(option.step) && typeof option.step !== "bigint") throw new RangeError(`range() option.step argument must be of the same type as start`);
86
+ if (require_isNotNil.isNotNil(option.step) && option.step <= 0) {
87
+ if (option.step < 1) throw new RangeError(`Arr.range() :: ${option.step} must be a positive integer`);
88
+ }
89
+ const { inclusive = false } = option;
90
+ const step = option.step ?? (typeof start === "bigint" ? 1n : 1);
91
+ const isIncreasing = start < end;
92
+ const changeFunc = start < end ? (value) => value + step : (value) => value - step;
93
+ const endCondition = (() => {
94
+ if (isIncreasing && inclusive) return (value) => value <= end;
95
+ if (isIncreasing && !inclusive) return (value) => value < end;
96
+ if (!isIncreasing && inclusive) return (value) => value >= end;
97
+ return (value) => value > end;
98
+ })();
99
+ const gen = function* () {
100
+ let current = start;
101
+ while (endCondition(current)) {
102
+ yield current;
103
+ current = changeFunc(current);
104
+ }
105
+ };
106
+ return gen();
107
+ }
108
+ function rangeImplementation(start, end) {
109
+ return rangeWithOptsImplementation(start, end, {});
110
+ }
111
+ function range(...args) {
112
+ return require_purry.purry(rangeImplementation, args);
113
+ }
114
+ function rangeWithOpts(...args) {
115
+ return require_purry.purry(rangeWithOptsImplementation, args);
116
+ }
117
+ //#endregion
118
+ //#region src/iterator/reduce.ts
119
+ function reduceImplementation(data, fn, initialValue) {
120
+ return data.reduce(fn, initialValue);
121
+ }
122
+ function reduce(...args) {
123
+ return require_purry.purry(reduceImplementation, args);
124
+ }
125
+ //#endregion
126
+ //#region src/iterator/some.ts
127
+ function someImplementation(data, predicate) {
128
+ return data.some(predicate);
129
+ }
130
+ function some(...args) {
131
+ return require_purry.purry(someImplementation, args);
132
+ }
133
+ //#endregion
134
+ //#region src/iterator/take.ts
135
+ function takeImplementation(iter, limit) {
136
+ try {
137
+ return iter.take(limit);
138
+ } catch (e) {
139
+ if (e instanceof RangeError) throw new RangeError(`Iter.take() :: ${e.message}`);
140
+ throw e;
141
+ }
142
+ }
143
+ function take(...args) {
144
+ return require_purry.purry(takeImplementation, args);
145
+ }
146
+ //#endregion
147
+ exports.drop = drop;
148
+ exports.every = every;
149
+ exports.filter = filter;
150
+ exports.find = find;
151
+ exports.flatMap = flatMap;
152
+ exports.from = from;
153
+ exports.map = map;
154
+ exports.range = range;
155
+ exports.rangeWithOpts = rangeWithOpts;
156
+ exports.reduce = reduce;
157
+ exports.some = some;
158
+ exports.take = take;
159
+
160
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["purry","purry","purry","purry","purry","purry","isNotNil","purry","purry","purry","purry"],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/guard/orNull.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts"],"sourcesContent":["// TODO: look into this eslint error\n// eslint-disable-next-line @typescript-eslint/unbound-method\nexport const { from } = Iterator;\n","import { purry } from '../function/purry';\n\nfunction dropImplementation<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined> {\n try {\n return iter.drop(limit);\n } catch (e) {\n if (e instanceof RangeError) {\n throw new RangeError(`Iter.drop() :: ${e.message}`);\n }\n throw e;\n }\n}\n\n/**\n * @throws {RangeError}\n */\nexport function drop<T>(limit: number): (iter: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function drop<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;\nexport function drop(...args: readonly unknown[]): unknown {\n return purry(dropImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction everyImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => unknown,\n): boolean {\n return data.every(predicate);\n}\n\nexport function every<T>(\n predicate: (value: T, index: number) => unknown,\n): (data: IteratorObject<T, any, any>) => boolean;\nexport function every<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;\nexport function every(...args: readonly unknown[]): unknown {\n return purry(everyImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction filterImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): IteratorObject<T, undefined> {\n return data.filter(predicate);\n}\n\nexport function filter<T, S extends T>(\n predicate: (value: T, index: number) => value is S,\n): (data: IteratorObject<T, any, any>) => IteratorObject<S, undefined>;\nexport function filter<T>(\n predicate: (value: T, index: number) => boolean,\n): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function filter<T, S extends T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => value is S,\n): IteratorObject<S, undefined>;\nexport function filter<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): IteratorObject<T, undefined>;\nexport function filter(...args: readonly unknown[]): unknown {\n return purry(filterImplementation, args);\n}\n","/**\n * Normalize nullish values to `null`, leaving all other values unchanged.\n * Equivalent to `value ?? null`.\n *\n * @category Guard\n * @param value - A value that may be `null` or `undefined`.\n * @returns `null` when `value` is `null` or `undefined`; otherwise `value` with `null` and `undefined` removed from its type.\n *\n * @example\n * ```ts\n * orNull(0); // 0\n * orNull(undefined); // null\n * orNull(null); // null\n * ```\n */\nexport function orNull<T>(value: T | null | undefined): NonNullable<T> | null {\n return value ?? null;\n}\n","import { purry } from '../function/purry';\nimport { orNull } from '../guard/orNull';\n\nfunction findImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): T | null {\n return orNull(data.find(predicate));\n}\n\nexport function find<T, S extends T>(\n predicate: (value: T, index: number) => value is S,\n): (data: IteratorObject<T, any, any>) => S | null;\nexport function find<T>(\n predicate: (value: T, index: number) => boolean,\n): (data: IteratorObject<T, any, any>) => T | null;\nexport function find<T, S extends T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => value is S,\n): S | null;\nexport function find<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): T | null;\nexport function find(...args: readonly unknown[]): unknown {\n return purry(findImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction flatMapImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): IteratorObject<U, undefined> {\n return data.flatMap(fn);\n}\n\nexport function flatMap<T, U>(\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;\nexport function flatMap<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): IteratorObject<U, undefined>;\nexport function flatMap(...args: readonly unknown[]): unknown {\n return purry(flatMapImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction mapImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => U,\n): IteratorObject<U, undefined> {\n return data.map(fn);\n}\n\nexport function map<T, U>(\n fn: (value: T, index: number) => U,\n): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;\nexport function map<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => U,\n): IteratorObject<U, undefined>;\nexport function map(...args: readonly unknown[]): unknown {\n return purry(mapImplementation, args);\n}\n","import { purry } from '../function/purry';\nimport { isNotNil } from '../guard/isNotNil';\n\n// Take from https://github.com/tc39/proposal-iterator.range/blob/main/global.d.ts\ntype Infinity = number;\ninterface NumericRangeOptions<T extends bigint | number> {\n inclusive?: boolean;\n step?: T;\n}\n\nfunction rangeWithOptsImplementation<T extends bigint | number>(\n start: T,\n end: Infinity | T,\n option: NumericRangeOptions<T>,\n): IteratorObject<T, undefined> {\n if (start === Infinity || start === -Infinity) {\n throw new RangeError(`range() start argument cannot be ${start}`);\n }\n if (Number.isNaN(start)) {\n throw new RangeError(`range() start argument cannot be NaN`);\n }\n if (Number.isNaN(end)) {\n throw new RangeError(`range() end argument cannot be NaN`);\n }\n if (typeof start === 'bigint' && isNotNil(option.step) && typeof option.step !== 'bigint') {\n throw new RangeError(`range() option.step argument must be of the same type as start`);\n }\n if (isNotNil(option.step) && option.step <= 0) {\n if (option.step < 1) {\n throw new RangeError(`Arr.range() :: ${option.step} must be a positive integer`);\n }\n }\n\n const { inclusive = false } = option;\n // typescript cannot correctly narrow that step will always be `T`\n const step = option.step ?? ((typeof start === 'bigint' ? 1n : 1) as unknown as T);\n const isIncreasing = start < end;\n\n // @ts-expect-error - not sure what's going on with the type issues\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands, @typescript-eslint/no-unsafe-return\n const changeFunc = start < end ? (value: T): T => value + step : (value: T): T => value - step;\n const endCondition = (() => {\n if (isIncreasing && inclusive) return (value: T) => value <= end;\n if (isIncreasing && !inclusive) return (value: T) => value < end;\n if (!isIncreasing && inclusive) return (value: T) => value >= end;\n // if (!isIncreasing && !inclusive)\n return (value: T) => value > end;\n })();\n\n const gen = function* () {\n let current = start;\n while (endCondition(current)) {\n yield current;\n current = changeFunc(current);\n }\n return undefined;\n };\n\n return gen();\n}\n\nfunction rangeImplementation<T extends bigint | number>(start: T, end: Infinity | T): IteratorObject<T, undefined> {\n return rangeWithOptsImplementation(start, end, {});\n}\n\n/**\n * @throws {RangeError}\n */\nexport function range(end: Infinity | bigint): {\n (start: bigint): IteratorObject<bigint, undefined>;\n (start: number): IteratorObject<number, undefined>;\n};\nexport function range<T extends bigint | number>(start: T, end: Infinity | T): IteratorObject<T, undefined>;\nexport function range(...args: unknown[]): unknown {\n return purry(rangeImplementation, args);\n}\n\n/**\n * @throws {RangeError}\n */\nexport function rangeWithOpts<T extends bigint | number>(\n end: Infinity | bigint,\n option: NumericRangeOptions<T>,\n): (start: T) => IteratorObject<T, undefined>;\nexport function rangeWithOpts<T extends bigint | number>(\n start: T,\n end: Infinity | T,\n option: NumericRangeOptions<T>,\n): IteratorObject<T, undefined>;\nexport function rangeWithOpts(...args: unknown[]): unknown {\n return purry(rangeWithOptsImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction reduceImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): U {\n return data.reduce(fn, initialValue);\n}\n\nexport function reduce<T, U>(\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): (data: IteratorObject<T, any, any>) => U;\nexport function reduce<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): U;\nexport function reduce(...args: readonly unknown[]): unknown {\n return purry(reduceImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction someImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => unknown,\n): boolean {\n return data.some(predicate);\n}\n\nexport function some<T>(\n predicate: (value: T, index: number) => unknown,\n): (data: IteratorObject<T, any, any>) => boolean;\nexport function some<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;\nexport function some(...args: readonly unknown[]): unknown {\n return purry(someImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction takeImplementation<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined> {\n try {\n return iter.take(limit);\n } catch (e) {\n if (e instanceof RangeError) {\n throw new RangeError(`Iter.take() :: ${e.message}`);\n }\n throw e;\n }\n}\n\n/**\n * @throws {RangerError}\n */\nexport function take<T>(limit: number): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function take<T>(data: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;\nexport function take(...args: readonly unknown[]): unknown {\n return purry(takeImplementation, args);\n}\n"],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ //#region src/iterator/_globalAliases.d.ts
2
+ declare const from: <T>(value: Iterator<T, unknown, undefined> | Iterable<T, unknown, undefined>) => IteratorObject<T, undefined, unknown>;
3
+ //#endregion
4
+ //#region src/iterator/drop.d.ts
5
+ /**
6
+ * @throws {RangeError}
7
+ */
8
+ declare function drop<T>(limit: number): (iter: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
9
+ declare function drop<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;
10
+ //#endregion
11
+ //#region src/iterator/every.d.ts
12
+ declare function every<T>(predicate: (value: T, index: number) => unknown): (data: IteratorObject<T, any, any>) => boolean;
13
+ declare function every<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;
14
+ //#endregion
15
+ //#region src/iterator/filter.d.ts
16
+ declare function filter<T, S extends T>(predicate: (value: T, index: number) => value is S): (data: IteratorObject<T, any, any>) => IteratorObject<S, undefined>;
17
+ declare function filter<T>(predicate: (value: T, index: number) => boolean): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
18
+ declare function filter<T, S extends T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => value is S): IteratorObject<S, undefined>;
19
+ declare function filter<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): IteratorObject<T, undefined>;
20
+ //#endregion
21
+ //#region src/iterator/find.d.ts
22
+ declare function find<T, S extends T>(predicate: (value: T, index: number) => value is S): (data: IteratorObject<T, any, any>) => S | null;
23
+ declare function find<T>(predicate: (value: T, index: number) => boolean): (data: IteratorObject<T, any, any>) => T | null;
24
+ declare function find<T, S extends T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => value is S): S | null;
25
+ declare function find<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): T | null;
26
+ //#endregion
27
+ //#region src/iterator/flatMap.d.ts
28
+ declare function flatMap<T, U>(fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;
29
+ declare function flatMap<T, U>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>): IteratorObject<U, undefined>;
30
+ //#endregion
31
+ //#region src/iterator/map.d.ts
32
+ declare function map<T, U>(fn: (value: T, index: number) => U): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;
33
+ declare function map<T, U>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => U): IteratorObject<U, undefined>;
34
+ //#endregion
35
+ //#region src/iterator/range.d.ts
36
+ type Infinity$1 = number;
37
+ interface NumericRangeOptions<T extends bigint | number> {
38
+ inclusive?: boolean;
39
+ step?: T;
40
+ }
41
+ /**
42
+ * @throws {RangeError}
43
+ */
44
+ declare function range(end: Infinity$1 | bigint): {
45
+ (start: bigint): IteratorObject<bigint, undefined>;
46
+ (start: number): IteratorObject<number, undefined>;
47
+ };
48
+ declare function range<T extends bigint | number>(start: T, end: Infinity$1 | T): IteratorObject<T, undefined>;
49
+ /**
50
+ * @throws {RangeError}
51
+ */
52
+ declare function rangeWithOpts<T extends bigint | number>(end: Infinity$1 | bigint, option: NumericRangeOptions<T>): (start: T) => IteratorObject<T, undefined>;
53
+ declare function rangeWithOpts<T extends bigint | number>(start: T, end: Infinity$1 | T, option: NumericRangeOptions<T>): IteratorObject<T, undefined>;
54
+ //#endregion
55
+ //#region src/iterator/reduce.d.ts
56
+ declare function reduce<T, U>(fn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): (data: IteratorObject<T, any, any>) => U;
57
+ declare function reduce<T, U>(data: IteratorObject<T, any, any>, fn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): U;
58
+ //#endregion
59
+ //#region src/iterator/some.d.ts
60
+ declare function some<T>(predicate: (value: T, index: number) => unknown): (data: IteratorObject<T, any, any>) => boolean;
61
+ declare function some<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;
62
+ //#endregion
63
+ //#region src/iterator/take.d.ts
64
+ /**
65
+ * @throws {RangerError}
66
+ */
67
+ declare function take<T>(limit: number): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
68
+ declare function take<T>(data: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;
69
+ //#endregion
70
+ export { drop, every, filter, find, flatMap, from, map, range, rangeWithOpts, reduce, some, take };
71
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts"],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ //#region src/iterator/_globalAliases.d.ts
2
+ declare const from: <T>(value: Iterator<T, unknown, undefined> | Iterable<T, unknown, undefined>) => IteratorObject<T, undefined, unknown>;
3
+ //#endregion
4
+ //#region src/iterator/drop.d.ts
5
+ /**
6
+ * @throws {RangeError}
7
+ */
8
+ declare function drop<T>(limit: number): (iter: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
9
+ declare function drop<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;
10
+ //#endregion
11
+ //#region src/iterator/every.d.ts
12
+ declare function every<T>(predicate: (value: T, index: number) => unknown): (data: IteratorObject<T, any, any>) => boolean;
13
+ declare function every<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;
14
+ //#endregion
15
+ //#region src/iterator/filter.d.ts
16
+ declare function filter<T, S extends T>(predicate: (value: T, index: number) => value is S): (data: IteratorObject<T, any, any>) => IteratorObject<S, undefined>;
17
+ declare function filter<T>(predicate: (value: T, index: number) => boolean): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
18
+ declare function filter<T, S extends T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => value is S): IteratorObject<S, undefined>;
19
+ declare function filter<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): IteratorObject<T, undefined>;
20
+ //#endregion
21
+ //#region src/iterator/find.d.ts
22
+ declare function find<T, S extends T>(predicate: (value: T, index: number) => value is S): (data: IteratorObject<T, any, any>) => S | null;
23
+ declare function find<T>(predicate: (value: T, index: number) => boolean): (data: IteratorObject<T, any, any>) => T | null;
24
+ declare function find<T, S extends T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => value is S): S | null;
25
+ declare function find<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): T | null;
26
+ //#endregion
27
+ //#region src/iterator/flatMap.d.ts
28
+ declare function flatMap<T, U>(fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;
29
+ declare function flatMap<T, U>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>): IteratorObject<U, undefined>;
30
+ //#endregion
31
+ //#region src/iterator/map.d.ts
32
+ declare function map<T, U>(fn: (value: T, index: number) => U): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;
33
+ declare function map<T, U>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => U): IteratorObject<U, undefined>;
34
+ //#endregion
35
+ //#region src/iterator/range.d.ts
36
+ type Infinity$1 = number;
37
+ interface NumericRangeOptions<T extends bigint | number> {
38
+ inclusive?: boolean;
39
+ step?: T;
40
+ }
41
+ /**
42
+ * @throws {RangeError}
43
+ */
44
+ declare function range(end: Infinity$1 | bigint): {
45
+ (start: bigint): IteratorObject<bigint, undefined>;
46
+ (start: number): IteratorObject<number, undefined>;
47
+ };
48
+ declare function range<T extends bigint | number>(start: T, end: Infinity$1 | T): IteratorObject<T, undefined>;
49
+ /**
50
+ * @throws {RangeError}
51
+ */
52
+ declare function rangeWithOpts<T extends bigint | number>(end: Infinity$1 | bigint, option: NumericRangeOptions<T>): (start: T) => IteratorObject<T, undefined>;
53
+ declare function rangeWithOpts<T extends bigint | number>(start: T, end: Infinity$1 | T, option: NumericRangeOptions<T>): IteratorObject<T, undefined>;
54
+ //#endregion
55
+ //#region src/iterator/reduce.d.ts
56
+ declare function reduce<T, U>(fn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): (data: IteratorObject<T, any, any>) => U;
57
+ declare function reduce<T, U>(data: IteratorObject<T, any, any>, fn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): U;
58
+ //#endregion
59
+ //#region src/iterator/some.d.ts
60
+ declare function some<T>(predicate: (value: T, index: number) => unknown): (data: IteratorObject<T, any, any>) => boolean;
61
+ declare function some<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;
62
+ //#endregion
63
+ //#region src/iterator/take.d.ts
64
+ /**
65
+ * @throws {RangerError}
66
+ */
67
+ declare function take<T>(limit: number): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
68
+ declare function take<T>(data: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;
69
+ //#endregion
70
+ export { drop, every, filter, find, flatMap, from, map, range, rangeWithOpts, reduce, some, take };
71
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts"],"mappings":"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"}