@sapphire/iterator-utilities 1.0.3-next.fc35dd86 → 2.0.0-next.1e7d2dec
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.
- package/dist/cjs/index.cjs +217 -0
- package/dist/cjs/index.d.cts +32 -9
- package/dist/cjs/lib/all.cjs +12 -0
- package/dist/cjs/lib/all.cjs.map +1 -0
- package/dist/cjs/lib/all.d.cts +2 -0
- package/dist/cjs/lib/any.cjs +12 -0
- package/dist/cjs/lib/any.cjs.map +1 -0
- package/dist/cjs/lib/any.d.cts +2 -0
- package/dist/cjs/lib/collect.cjs +12 -0
- package/dist/cjs/lib/collect.cjs.map +1 -0
- package/dist/cjs/lib/collect.d.cts +2 -0
- package/dist/cjs/lib/collectInto.cjs +17 -0
- package/dist/cjs/lib/collectInto.cjs.map +1 -0
- package/dist/cjs/lib/collectInto.d.cts +29 -0
- package/dist/cjs/lib/compare.cjs +15 -0
- package/dist/cjs/lib/compare.cjs.map +1 -0
- package/dist/cjs/lib/compare.d.cts +32 -0
- package/dist/cjs/lib/compareBy.cjs +26 -0
- package/dist/cjs/lib/compareBy.cjs.map +1 -0
- package/dist/cjs/lib/compareBy.d.cts +31 -0
- package/dist/cjs/lib/drop.cjs +0 -1
- package/dist/cjs/lib/drop.cjs.map +1 -1
- package/dist/cjs/lib/drop.d.cts +1 -1
- package/dist/cjs/lib/dropLast.cjs +0 -1
- package/dist/cjs/lib/dropLast.cjs.map +1 -1
- package/dist/cjs/lib/dropLast.d.cts +1 -1
- package/dist/cjs/lib/dropWhile.cjs +0 -1
- package/dist/cjs/lib/dropWhile.cjs.map +1 -1
- package/dist/cjs/lib/dropWhile.d.cts +1 -1
- package/dist/cjs/lib/equal.cjs +15 -0
- package/dist/cjs/lib/equal.cjs.map +1 -0
- package/dist/cjs/lib/equal.d.cts +26 -0
- package/dist/cjs/lib/equalBy.cjs +23 -0
- package/dist/cjs/lib/equalBy.cjs.map +1 -0
- package/dist/cjs/lib/equalBy.d.cts +27 -0
- package/dist/cjs/lib/filter.cjs +0 -1
- package/dist/cjs/lib/filter.cjs.map +1 -1
- package/dist/cjs/lib/filter.d.cts +1 -1
- package/dist/cjs/lib/fuse.cjs +26 -0
- package/dist/cjs/lib/fuse.cjs.map +1 -0
- package/dist/cjs/lib/fuse.d.cts +47 -0
- package/dist/cjs/lib/greaterOrEqualThan.cjs +17 -0
- package/dist/cjs/lib/greaterOrEqualThan.cjs.map +1 -0
- package/dist/cjs/lib/greaterOrEqualThan.d.cts +32 -0
- package/dist/cjs/lib/greaterThan.cjs +17 -0
- package/dist/cjs/lib/greaterThan.cjs.map +1 -0
- package/dist/cjs/lib/greaterThan.d.cts +32 -0
- package/dist/cjs/lib/indexOf.cjs +0 -1
- package/dist/cjs/lib/indexOf.cjs.map +1 -1
- package/dist/cjs/lib/indexOf.d.cts +1 -1
- package/dist/cjs/lib/inspect.cjs +25 -0
- package/dist/cjs/lib/inspect.cjs.map +1 -0
- package/dist/cjs/lib/inspect.d.cts +39 -0
- package/dist/cjs/lib/intersperse.cjs +35 -0
- package/dist/cjs/lib/intersperse.cjs.map +1 -0
- package/dist/cjs/lib/intersperse.d.cts +30 -0
- package/dist/cjs/lib/isSorted.cjs +15 -0
- package/dist/cjs/lib/isSorted.cjs.map +1 -0
- package/dist/cjs/lib/isSorted.d.cts +35 -0
- package/dist/cjs/lib/isSortedBy.cjs +26 -0
- package/dist/cjs/lib/isSortedBy.cjs.map +1 -0
- package/dist/cjs/lib/isSortedBy.d.cts +32 -0
- package/dist/cjs/lib/isSortedByKey.cjs +29 -0
- package/dist/cjs/lib/isSortedByKey.cjs.map +1 -0
- package/dist/cjs/lib/isSortedByKey.d.cts +30 -0
- package/dist/cjs/lib/lessOrEqualThan.cjs +17 -0
- package/dist/cjs/lib/lessOrEqualThan.cjs.map +1 -0
- package/dist/cjs/lib/lessOrEqualThan.d.cts +32 -0
- package/dist/cjs/lib/lessThan.cjs +17 -0
- package/dist/cjs/lib/lessThan.cjs.map +1 -0
- package/dist/cjs/lib/lessThan.d.cts +32 -0
- package/dist/cjs/lib/max.cjs +3 -7
- package/dist/cjs/lib/max.cjs.map +1 -1
- package/dist/cjs/lib/max.d.cts +8 -3
- package/dist/cjs/lib/maxBy.cjs +27 -0
- package/dist/cjs/lib/maxBy.cjs.map +1 -0
- package/dist/cjs/lib/maxBy.d.cts +31 -0
- package/dist/cjs/lib/maxByKey.cjs +32 -0
- package/dist/cjs/lib/maxByKey.cjs.map +1 -0
- package/dist/cjs/lib/maxByKey.d.cts +32 -0
- package/dist/cjs/lib/min.cjs +3 -7
- package/dist/cjs/lib/min.cjs.map +1 -1
- package/dist/cjs/lib/min.d.cts +8 -3
- package/dist/cjs/lib/minBy.cjs +27 -0
- package/dist/cjs/lib/minBy.cjs.map +1 -0
- package/dist/cjs/lib/minBy.d.cts +31 -0
- package/dist/cjs/lib/minByKey.cjs +32 -0
- package/dist/cjs/lib/minByKey.cjs.map +1 -0
- package/dist/cjs/lib/minByKey.d.cts +31 -0
- package/dist/cjs/lib/notEqual.cjs +15 -0
- package/dist/cjs/lib/notEqual.cjs.map +1 -0
- package/dist/cjs/lib/notEqual.d.cts +26 -0
- package/dist/cjs/lib/nth.cjs +12 -0
- package/dist/cjs/lib/nth.cjs.map +1 -0
- package/dist/cjs/lib/nth.d.cts +2 -0
- package/dist/cjs/lib/position.cjs +12 -0
- package/dist/cjs/lib/position.cjs.map +1 -0
- package/dist/cjs/lib/position.d.cts +2 -0
- package/dist/cjs/lib/reverse.cjs +2 -5
- package/dist/cjs/lib/reverse.cjs.map +1 -1
- package/dist/cjs/lib/shared/_compare.cjs +36 -0
- package/dist/cjs/lib/shared/_compare.cjs.map +1 -0
- package/dist/cjs/lib/shared/_compare.d.cts +20 -0
- package/dist/cjs/lib/shared/comparators.cjs +28 -0
- package/dist/cjs/lib/shared/comparators.cjs.map +1 -0
- package/dist/cjs/lib/shared/comparators.d.cts +34 -0
- package/dist/cjs/lib/skip.cjs +12 -0
- package/dist/cjs/lib/skip.cjs.map +1 -0
- package/dist/cjs/lib/skip.d.cts +2 -0
- package/dist/cjs/lib/skipLast.cjs +12 -0
- package/dist/cjs/lib/skipLast.cjs.map +1 -0
- package/dist/cjs/lib/skipLast.d.cts +2 -0
- package/dist/cjs/lib/skipWhile.cjs +12 -0
- package/dist/cjs/lib/skipWhile.cjs.map +1 -0
- package/dist/cjs/lib/skipWhile.d.cts +2 -0
- package/dist/cjs/lib/stepBy.cjs +29 -0
- package/dist/cjs/lib/stepBy.cjs.map +1 -0
- package/dist/cjs/lib/stepBy.d.cts +24 -0
- package/dist/cjs/lib/takeWhile.cjs +12 -0
- package/dist/cjs/lib/takeWhile.cjs.map +1 -0
- package/dist/cjs/lib/takeWhile.d.cts +2 -0
- package/dist/esm/index.d.mts +32 -9
- package/dist/esm/index.mjs +31 -0
- package/dist/esm/lib/all.d.mts +2 -0
- package/dist/esm/lib/all.mjs +4 -0
- package/dist/esm/lib/all.mjs.map +1 -0
- package/dist/esm/lib/any.d.mts +2 -0
- package/dist/esm/lib/any.mjs +4 -0
- package/dist/esm/lib/any.mjs.map +1 -0
- package/dist/esm/lib/collect.d.mts +2 -0
- package/dist/esm/lib/collect.mjs +4 -0
- package/dist/esm/lib/collect.mjs.map +1 -0
- package/dist/esm/lib/collectInto.d.mts +29 -0
- package/dist/esm/lib/collectInto.mjs +14 -0
- package/dist/esm/lib/collectInto.mjs.map +1 -0
- package/dist/esm/lib/compare.d.mts +32 -0
- package/dist/esm/lib/compare.mjs +12 -0
- package/dist/esm/lib/compare.mjs.map +1 -0
- package/dist/esm/lib/compareBy.d.mts +31 -0
- package/dist/esm/lib/compareBy.mjs +23 -0
- package/dist/esm/lib/compareBy.mjs.map +1 -0
- package/dist/esm/lib/drop.d.mts +1 -1
- package/dist/esm/lib/drop.mjs +1 -1
- package/dist/esm/lib/drop.mjs.map +1 -1
- package/dist/esm/lib/dropLast.d.mts +1 -1
- package/dist/esm/lib/dropLast.mjs +1 -1
- package/dist/esm/lib/dropLast.mjs.map +1 -1
- package/dist/esm/lib/dropWhile.d.mts +1 -1
- package/dist/esm/lib/dropWhile.mjs +1 -1
- package/dist/esm/lib/dropWhile.mjs.map +1 -1
- package/dist/esm/lib/equal.d.mts +26 -0
- package/dist/esm/lib/equal.mjs +11 -0
- package/dist/esm/lib/equal.mjs.map +1 -0
- package/dist/esm/lib/equalBy.d.mts +27 -0
- package/dist/esm/lib/equalBy.mjs +19 -0
- package/dist/esm/lib/equalBy.mjs.map +1 -0
- package/dist/esm/lib/filter.d.mts +1 -1
- package/dist/esm/lib/filter.mjs +1 -1
- package/dist/esm/lib/filter.mjs.map +1 -1
- package/dist/esm/lib/fuse.d.mts +47 -0
- package/dist/esm/lib/fuse.mjs +23 -0
- package/dist/esm/lib/fuse.mjs.map +1 -0
- package/dist/esm/lib/greaterOrEqualThan.d.mts +32 -0
- package/dist/esm/lib/greaterOrEqualThan.mjs +13 -0
- package/dist/esm/lib/greaterOrEqualThan.mjs.map +1 -0
- package/dist/esm/lib/greaterThan.d.mts +32 -0
- package/dist/esm/lib/greaterThan.mjs +13 -0
- package/dist/esm/lib/greaterThan.mjs.map +1 -0
- package/dist/esm/lib/indexOf.d.mts +1 -1
- package/dist/esm/lib/indexOf.mjs +1 -1
- package/dist/esm/lib/indexOf.mjs.map +1 -1
- package/dist/esm/lib/inspect.d.mts +39 -0
- package/dist/esm/lib/inspect.mjs +22 -0
- package/dist/esm/lib/inspect.mjs.map +1 -0
- package/dist/esm/lib/intersperse.d.mts +30 -0
- package/dist/esm/lib/intersperse.mjs +32 -0
- package/dist/esm/lib/intersperse.mjs.map +1 -0
- package/dist/esm/lib/isSorted.d.mts +35 -0
- package/dist/esm/lib/isSorted.mjs +12 -0
- package/dist/esm/lib/isSorted.mjs.map +1 -0
- package/dist/esm/lib/isSortedBy.d.mts +32 -0
- package/dist/esm/lib/isSortedBy.mjs +23 -0
- package/dist/esm/lib/isSortedBy.mjs.map +1 -0
- package/dist/esm/lib/isSortedByKey.d.mts +30 -0
- package/dist/esm/lib/isSortedByKey.mjs +26 -0
- package/dist/esm/lib/isSortedByKey.mjs.map +1 -0
- package/dist/esm/lib/lessOrEqualThan.d.mts +32 -0
- package/dist/esm/lib/lessOrEqualThan.mjs +13 -0
- package/dist/esm/lib/lessOrEqualThan.mjs.map +1 -0
- package/dist/esm/lib/lessThan.d.mts +32 -0
- package/dist/esm/lib/lessThan.mjs +13 -0
- package/dist/esm/lib/lessThan.mjs.map +1 -0
- package/dist/esm/lib/max.d.mts +8 -3
- package/dist/esm/lib/max.mjs +3 -7
- package/dist/esm/lib/max.mjs.map +1 -1
- package/dist/esm/lib/maxBy.d.mts +31 -0
- package/dist/esm/lib/maxBy.mjs +24 -0
- package/dist/esm/lib/maxBy.mjs.map +1 -0
- package/dist/esm/lib/maxByKey.d.mts +32 -0
- package/dist/esm/lib/maxByKey.mjs +29 -0
- package/dist/esm/lib/maxByKey.mjs.map +1 -0
- package/dist/esm/lib/min.d.mts +8 -3
- package/dist/esm/lib/min.mjs +3 -7
- package/dist/esm/lib/min.mjs.map +1 -1
- package/dist/esm/lib/minBy.d.mts +31 -0
- package/dist/esm/lib/minBy.mjs +24 -0
- package/dist/esm/lib/minBy.mjs.map +1 -0
- package/dist/esm/lib/minByKey.d.mts +31 -0
- package/dist/esm/lib/minByKey.mjs +29 -0
- package/dist/esm/lib/minByKey.mjs.map +1 -0
- package/dist/esm/lib/notEqual.d.mts +26 -0
- package/dist/esm/lib/notEqual.mjs +11 -0
- package/dist/esm/lib/notEqual.mjs.map +1 -0
- package/dist/esm/lib/nth.d.mts +2 -0
- package/dist/esm/lib/nth.mjs +4 -0
- package/dist/esm/lib/nth.mjs.map +1 -0
- package/dist/esm/lib/position.d.mts +2 -0
- package/dist/esm/lib/position.mjs +4 -0
- package/dist/esm/lib/position.mjs.map +1 -0
- package/dist/esm/lib/reverse.mjs +2 -5
- package/dist/esm/lib/reverse.mjs.map +1 -1
- package/dist/esm/lib/shared/_compare.d.mts +20 -0
- package/dist/esm/lib/shared/_compare.mjs +30 -0
- package/dist/esm/lib/shared/_compare.mjs.map +1 -0
- package/dist/esm/lib/shared/comparators.d.mts +34 -0
- package/dist/esm/lib/shared/comparators.mjs +21 -0
- package/dist/esm/lib/shared/comparators.mjs.map +1 -0
- package/dist/esm/lib/skip.d.mts +2 -0
- package/dist/esm/lib/skip.mjs +4 -0
- package/dist/esm/lib/skip.mjs.map +1 -0
- package/dist/esm/lib/skipLast.d.mts +2 -0
- package/dist/esm/lib/skipLast.mjs +4 -0
- package/dist/esm/lib/skipLast.mjs.map +1 -0
- package/dist/esm/lib/skipWhile.d.mts +2 -0
- package/dist/esm/lib/skipWhile.mjs +4 -0
- package/dist/esm/lib/skipWhile.mjs.map +1 -0
- package/dist/esm/lib/stepBy.d.mts +24 -0
- package/dist/esm/lib/stepBy.mjs +26 -0
- package/dist/esm/lib/stepBy.mjs.map +1 -0
- package/dist/esm/lib/takeWhile.d.mts +2 -0
- package/dist/esm/lib/takeWhile.mjs +4 -0
- package/dist/esm/lib/takeWhile.mjs.map +1 -0
- package/dist/iife/index.global.js +391 -49
- package/dist/iife/index.global.js.map +1 -1
- package/package.json +292 -22
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"takeWhile.mjs","sourcesContent":[]}
|
|
@@ -4,6 +4,15 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
6
|
|
|
7
|
+
// src/lib/shared/_assertFunction.ts
|
|
8
|
+
function assertFunction(value) {
|
|
9
|
+
if (typeof value !== "function") {
|
|
10
|
+
throw new TypeError(`${value} must be a function`);
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
__name(assertFunction, "assertFunction");
|
|
15
|
+
|
|
7
16
|
// src/lib/from.ts
|
|
8
17
|
function from(value) {
|
|
9
18
|
if (typeof value === "object" && value !== null) {
|
|
@@ -42,6 +51,30 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
42
51
|
}
|
|
43
52
|
__name(toIterableIterator, "toIterableIterator");
|
|
44
53
|
|
|
54
|
+
// src/lib/every.ts
|
|
55
|
+
function every(iterable, callbackFn) {
|
|
56
|
+
callbackFn = assertFunction(callbackFn);
|
|
57
|
+
let index = 0;
|
|
58
|
+
for (const value of toIterableIterator(iterable)) {
|
|
59
|
+
if (!callbackFn(value, index++)) return false;
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
__name(every, "every");
|
|
64
|
+
|
|
65
|
+
// src/lib/some.ts
|
|
66
|
+
function some(iterable, callbackFn) {
|
|
67
|
+
callbackFn = assertFunction(callbackFn);
|
|
68
|
+
let index = 0;
|
|
69
|
+
for (const value of toIterableIterator(iterable)) {
|
|
70
|
+
if (callbackFn(value, index++)) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
__name(some, "some");
|
|
77
|
+
|
|
45
78
|
// src/lib/chain.ts
|
|
46
79
|
function* chain(...iterables) {
|
|
47
80
|
for (const iterable of iterables) {
|
|
@@ -133,15 +166,6 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
133
166
|
}
|
|
134
167
|
__name(at, "at");
|
|
135
168
|
|
|
136
|
-
// src/lib/shared/_assertFunction.ts
|
|
137
|
-
function assertFunction(value) {
|
|
138
|
-
if (typeof value !== "function") {
|
|
139
|
-
throw new TypeError(`${value} must be a function`);
|
|
140
|
-
}
|
|
141
|
-
return value;
|
|
142
|
-
}
|
|
143
|
-
__name(assertFunction, "assertFunction");
|
|
144
|
-
|
|
145
169
|
// src/lib/map.ts
|
|
146
170
|
function* map(iterable, callbackFn) {
|
|
147
171
|
callbackFn = assertFunction(callbackFn);
|
|
@@ -200,6 +224,21 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
200
224
|
}
|
|
201
225
|
__name(chunk, "chunk");
|
|
202
226
|
|
|
227
|
+
// src/lib/toArray.ts
|
|
228
|
+
function toArray(iterable) {
|
|
229
|
+
return [...toIterableIterator(iterable)];
|
|
230
|
+
}
|
|
231
|
+
__name(toArray, "toArray");
|
|
232
|
+
|
|
233
|
+
// src/lib/collectInto.ts
|
|
234
|
+
function collectInto(iterable, output) {
|
|
235
|
+
for (const value of toIterableIterator(iterable)) {
|
|
236
|
+
output.push(value);
|
|
237
|
+
}
|
|
238
|
+
return output;
|
|
239
|
+
}
|
|
240
|
+
__name(collectInto, "collectInto");
|
|
241
|
+
|
|
203
242
|
// src/lib/filter.ts
|
|
204
243
|
function* filter(iterable, callbackFn) {
|
|
205
244
|
callbackFn = assertFunction(callbackFn);
|
|
@@ -216,6 +255,69 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
216
255
|
}
|
|
217
256
|
__name(compact, "compact");
|
|
218
257
|
|
|
258
|
+
// src/lib/shared/_compare.ts
|
|
259
|
+
function compareIteratorElements(x, y, comparator) {
|
|
260
|
+
if (typeof x === "undefined") {
|
|
261
|
+
if (typeof y === "undefined") return 0;
|
|
262
|
+
return 1;
|
|
263
|
+
}
|
|
264
|
+
if (typeof y === "undefined") {
|
|
265
|
+
return -1;
|
|
266
|
+
}
|
|
267
|
+
return comparator(x, y);
|
|
268
|
+
}
|
|
269
|
+
__name(compareIteratorElements, "compareIteratorElements");
|
|
270
|
+
function orderingIsLess(ordering) {
|
|
271
|
+
return ordering < 0;
|
|
272
|
+
}
|
|
273
|
+
__name(orderingIsLess, "orderingIsLess");
|
|
274
|
+
function orderingIsEqual(ordering) {
|
|
275
|
+
return ordering === 0;
|
|
276
|
+
}
|
|
277
|
+
__name(orderingIsEqual, "orderingIsEqual");
|
|
278
|
+
function orderingIsGreater(ordering) {
|
|
279
|
+
return ordering > 0;
|
|
280
|
+
}
|
|
281
|
+
__name(orderingIsGreater, "orderingIsGreater");
|
|
282
|
+
|
|
283
|
+
// src/lib/compareBy.ts
|
|
284
|
+
function compareBy(iterable, other, comparator) {
|
|
285
|
+
const iterator1 = from(other);
|
|
286
|
+
for (const x of toIterableIterator(iterable)) {
|
|
287
|
+
const result1 = iterator1.next();
|
|
288
|
+
if (result1.done) return 1;
|
|
289
|
+
const y = result1.value;
|
|
290
|
+
const comparison = compareIteratorElements(x, y, comparator);
|
|
291
|
+
if (!orderingIsEqual(comparison)) {
|
|
292
|
+
return orderingIsLess(comparison) ? -1 : 1;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return iterator1.next().done ? 0 : -1;
|
|
296
|
+
}
|
|
297
|
+
__name(compareBy, "compareBy");
|
|
298
|
+
|
|
299
|
+
// src/lib/shared/comparators.ts
|
|
300
|
+
function swap(cb) {
|
|
301
|
+
return (x, y) => 0 - cb(x, y);
|
|
302
|
+
}
|
|
303
|
+
__name(swap, "swap");
|
|
304
|
+
function defaultCompare(x, y) {
|
|
305
|
+
return ascNumber(String(x), String(y));
|
|
306
|
+
}
|
|
307
|
+
__name(defaultCompare, "defaultCompare");
|
|
308
|
+
var descString = swap(defaultCompare);
|
|
309
|
+
function ascNumber(x, y) {
|
|
310
|
+
return (x > y) - (x < y);
|
|
311
|
+
}
|
|
312
|
+
__name(ascNumber, "ascNumber");
|
|
313
|
+
var descNumber = swap(ascNumber);
|
|
314
|
+
|
|
315
|
+
// src/lib/compare.ts
|
|
316
|
+
function compare(iterable, other) {
|
|
317
|
+
return compareBy(iterable, other, defaultCompare);
|
|
318
|
+
}
|
|
319
|
+
__name(compare, "compare");
|
|
320
|
+
|
|
219
321
|
// src/lib/compress.ts
|
|
220
322
|
function* compress(iterable, selectors) {
|
|
221
323
|
const resolvedSelectors = from(selectors);
|
|
@@ -285,12 +387,6 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
285
387
|
}
|
|
286
388
|
__name(take, "take");
|
|
287
389
|
|
|
288
|
-
// src/lib/toArray.ts
|
|
289
|
-
function toArray(iterable) {
|
|
290
|
-
return [...toIterableIterator(iterable)];
|
|
291
|
-
}
|
|
292
|
-
__name(toArray, "toArray");
|
|
293
|
-
|
|
294
390
|
// src/lib/dropLast.ts
|
|
295
391
|
function dropLast(iterable, count2) {
|
|
296
392
|
count2 = assertNotNegative(toIntegerOrInfinityOrThrow(count2), count2);
|
|
@@ -321,16 +417,23 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
321
417
|
}
|
|
322
418
|
__name(enumerate, "enumerate");
|
|
323
419
|
|
|
324
|
-
// src/lib/
|
|
325
|
-
function
|
|
420
|
+
// src/lib/equalBy.ts
|
|
421
|
+
function equalBy(iterable, other, callbackFn) {
|
|
326
422
|
callbackFn = assertFunction(callbackFn);
|
|
327
|
-
|
|
328
|
-
for (const
|
|
329
|
-
|
|
423
|
+
const iterator1 = from(other);
|
|
424
|
+
for (const value0 of toIterableIterator(iterable)) {
|
|
425
|
+
const result1 = iterator1.next();
|
|
426
|
+
if (result1.done || !callbackFn(value0, result1.value)) return false;
|
|
330
427
|
}
|
|
331
|
-
return true;
|
|
428
|
+
return iterator1.next().done === true;
|
|
332
429
|
}
|
|
333
|
-
__name(
|
|
430
|
+
__name(equalBy, "equalBy");
|
|
431
|
+
|
|
432
|
+
// src/lib/equal.ts
|
|
433
|
+
function equal(iterable, other) {
|
|
434
|
+
return equalBy(iterable, other, (a, b) => a === b);
|
|
435
|
+
}
|
|
436
|
+
__name(equal, "equal");
|
|
334
437
|
|
|
335
438
|
// src/lib/find.ts
|
|
336
439
|
function find(iterable, callbackFn) {
|
|
@@ -380,6 +483,37 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
380
483
|
}
|
|
381
484
|
__name(forEach, "forEach");
|
|
382
485
|
|
|
486
|
+
// src/lib/fuse.ts
|
|
487
|
+
function fuse(iterable) {
|
|
488
|
+
let ended = false;
|
|
489
|
+
const iterator = toIterableIterator(iterable);
|
|
490
|
+
return makeIterableIterator(() => {
|
|
491
|
+
if (ended) {
|
|
492
|
+
return { done: true, value: void 0 };
|
|
493
|
+
}
|
|
494
|
+
const result = iterator.next();
|
|
495
|
+
if (result.done) {
|
|
496
|
+
ended = true;
|
|
497
|
+
}
|
|
498
|
+
return result;
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
__name(fuse, "fuse");
|
|
502
|
+
|
|
503
|
+
// src/lib/greaterOrEqualThan.ts
|
|
504
|
+
function greaterOrEqualThan(iterable, other) {
|
|
505
|
+
const result = compare(iterable, other);
|
|
506
|
+
return !orderingIsLess(result);
|
|
507
|
+
}
|
|
508
|
+
__name(greaterOrEqualThan, "greaterOrEqualThan");
|
|
509
|
+
|
|
510
|
+
// src/lib/greaterThan.ts
|
|
511
|
+
function greaterThan(iterable, other) {
|
|
512
|
+
const result = compare(iterable, other);
|
|
513
|
+
return orderingIsGreater(result);
|
|
514
|
+
}
|
|
515
|
+
__name(greaterThan, "greaterThan");
|
|
516
|
+
|
|
383
517
|
// src/lib/indexOf.ts
|
|
384
518
|
function indexOf(iterable, value) {
|
|
385
519
|
let index = 0;
|
|
@@ -393,6 +527,21 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
393
527
|
}
|
|
394
528
|
__name(indexOf, "indexOf");
|
|
395
529
|
|
|
530
|
+
// src/lib/inspect.ts
|
|
531
|
+
function inspect(iterable, callbackFn) {
|
|
532
|
+
callbackFn = assertFunction(callbackFn);
|
|
533
|
+
let index = 0;
|
|
534
|
+
const iterator = from(iterable);
|
|
535
|
+
return makeIterableIterator(() => {
|
|
536
|
+
const result = iterator.next();
|
|
537
|
+
if (!result.done) {
|
|
538
|
+
callbackFn(result.value, index++);
|
|
539
|
+
}
|
|
540
|
+
return result;
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
__name(inspect, "inspect");
|
|
544
|
+
|
|
396
545
|
// src/lib/intersect.ts
|
|
397
546
|
function intersect(first2, second) {
|
|
398
547
|
const set = new Set(toIterableIterator(second));
|
|
@@ -400,12 +549,78 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
400
549
|
}
|
|
401
550
|
__name(intersect, "intersect");
|
|
402
551
|
|
|
552
|
+
// src/lib/intersperse.ts
|
|
553
|
+
function intersperse(iterable, separator) {
|
|
554
|
+
let started = false;
|
|
555
|
+
let nextItem;
|
|
556
|
+
let nextItemTaken = false;
|
|
557
|
+
const iterator = from(iterable);
|
|
558
|
+
return makeIterableIterator(() => {
|
|
559
|
+
if (started) {
|
|
560
|
+
if (nextItemTaken) {
|
|
561
|
+
nextItemTaken = false;
|
|
562
|
+
return { done: false, value: nextItem };
|
|
563
|
+
}
|
|
564
|
+
const result = iterator.next();
|
|
565
|
+
if (result.done) {
|
|
566
|
+
return { done: true, value: void 0 };
|
|
567
|
+
}
|
|
568
|
+
nextItem = result.value;
|
|
569
|
+
nextItemTaken = true;
|
|
570
|
+
return { done: false, value: separator };
|
|
571
|
+
}
|
|
572
|
+
started = true;
|
|
573
|
+
return iterator.next();
|
|
574
|
+
});
|
|
575
|
+
}
|
|
576
|
+
__name(intersperse, "intersperse");
|
|
577
|
+
|
|
403
578
|
// src/lib/isEmpty.ts
|
|
404
579
|
function isEmpty(iterable) {
|
|
405
580
|
return from(iterable).next().done ?? false;
|
|
406
581
|
}
|
|
407
582
|
__name(isEmpty, "isEmpty");
|
|
408
583
|
|
|
584
|
+
// src/lib/isSortedBy.ts
|
|
585
|
+
function isSortedBy(iterable, comparator) {
|
|
586
|
+
comparator = assertFunction(comparator);
|
|
587
|
+
const iterator = toIterableIterator(iterable);
|
|
588
|
+
const result = iterator.next();
|
|
589
|
+
if (result.done) return true;
|
|
590
|
+
let previous = result.value;
|
|
591
|
+
for (const current of iterator) {
|
|
592
|
+
const comparison = compareIteratorElements(previous, current, comparator);
|
|
593
|
+
if (orderingIsGreater(comparison)) return false;
|
|
594
|
+
previous = current;
|
|
595
|
+
}
|
|
596
|
+
return true;
|
|
597
|
+
}
|
|
598
|
+
__name(isSortedBy, "isSortedBy");
|
|
599
|
+
|
|
600
|
+
// src/lib/isSorted.ts
|
|
601
|
+
function isSorted(iterable) {
|
|
602
|
+
return isSortedBy(iterable, defaultCompare);
|
|
603
|
+
}
|
|
604
|
+
__name(isSorted, "isSorted");
|
|
605
|
+
|
|
606
|
+
// src/lib/isSortedByKey.ts
|
|
607
|
+
function isSortedByKey(iterable, callbackFn, comparator = defaultCompare) {
|
|
608
|
+
callbackFn = assertFunction(callbackFn);
|
|
609
|
+
const iterator = toIterableIterator(iterable);
|
|
610
|
+
const result = iterator.next();
|
|
611
|
+
if (result.done) return true;
|
|
612
|
+
let previousKey = callbackFn(result.value, 0);
|
|
613
|
+
let index = 1;
|
|
614
|
+
for (const current of iterator) {
|
|
615
|
+
const currentKey = callbackFn(current, index++);
|
|
616
|
+
const comparison = compareIteratorElements(previousKey, currentKey, comparator);
|
|
617
|
+
if (orderingIsGreater(comparison)) return false;
|
|
618
|
+
previousKey = currentKey;
|
|
619
|
+
}
|
|
620
|
+
return true;
|
|
621
|
+
}
|
|
622
|
+
__name(isSortedByKey, "isSortedByKey");
|
|
623
|
+
|
|
409
624
|
// src/lib/last.ts
|
|
410
625
|
function last(iterable) {
|
|
411
626
|
let last2;
|
|
@@ -416,26 +631,114 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
416
631
|
}
|
|
417
632
|
__name(last, "last");
|
|
418
633
|
|
|
634
|
+
// src/lib/lessOrEqualThan.ts
|
|
635
|
+
function lessOrEqualThan(iterable, other) {
|
|
636
|
+
const result = compare(iterable, other);
|
|
637
|
+
return !orderingIsGreater(result);
|
|
638
|
+
}
|
|
639
|
+
__name(lessOrEqualThan, "lessOrEqualThan");
|
|
640
|
+
|
|
641
|
+
// src/lib/lessThan.ts
|
|
642
|
+
function lessThan(iterable, other) {
|
|
643
|
+
const result = compare(iterable, other);
|
|
644
|
+
return orderingIsLess(result);
|
|
645
|
+
}
|
|
646
|
+
__name(lessThan, "lessThan");
|
|
647
|
+
|
|
648
|
+
// src/lib/maxBy.ts
|
|
649
|
+
function maxBy(iterable, comparator) {
|
|
650
|
+
comparator = assertFunction(comparator);
|
|
651
|
+
const iterator = toIterableIterator(iterable);
|
|
652
|
+
const first2 = iterator.next();
|
|
653
|
+
if (first2.done) return null;
|
|
654
|
+
let maximum = first2.value;
|
|
655
|
+
for (const value of iterator) {
|
|
656
|
+
const comparison = compareIteratorElements(value, maximum, comparator);
|
|
657
|
+
if (!orderingIsLess(comparison)) {
|
|
658
|
+
maximum = value;
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
return maximum;
|
|
662
|
+
}
|
|
663
|
+
__name(maxBy, "maxBy");
|
|
664
|
+
|
|
419
665
|
// src/lib/max.ts
|
|
420
666
|
function max(iterable) {
|
|
421
|
-
|
|
422
|
-
for (const value of map(iterable, toNumberOrThrow)) {
|
|
423
|
-
if (max2 === null || value > max2) max2 = value;
|
|
424
|
-
}
|
|
425
|
-
return max2;
|
|
667
|
+
return maxBy(iterable, defaultCompare);
|
|
426
668
|
}
|
|
427
669
|
__name(max, "max");
|
|
428
670
|
|
|
671
|
+
// src/lib/maxByKey.ts
|
|
672
|
+
function maxByKey(iterable, callbackFn, comparator = defaultCompare) {
|
|
673
|
+
callbackFn = assertFunction(callbackFn);
|
|
674
|
+
const iterator = toIterableIterator(iterable);
|
|
675
|
+
const first2 = iterator.next();
|
|
676
|
+
if (first2.done) return null;
|
|
677
|
+
let maximum = first2.value;
|
|
678
|
+
let maximumKey = callbackFn(maximum, 0);
|
|
679
|
+
let index = 1;
|
|
680
|
+
for (const value of iterator) {
|
|
681
|
+
const key = callbackFn(value, index++);
|
|
682
|
+
const comparison = compareIteratorElements(maximumKey, key, comparator);
|
|
683
|
+
if (!orderingIsGreater(comparison)) {
|
|
684
|
+
maximum = value;
|
|
685
|
+
maximumKey = key;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
return maximum;
|
|
689
|
+
}
|
|
690
|
+
__name(maxByKey, "maxByKey");
|
|
691
|
+
|
|
692
|
+
// src/lib/minBy.ts
|
|
693
|
+
function minBy(iterable, comparator) {
|
|
694
|
+
comparator = assertFunction(comparator);
|
|
695
|
+
const iterator = toIterableIterator(iterable);
|
|
696
|
+
const first2 = iterator.next();
|
|
697
|
+
if (first2.done) return null;
|
|
698
|
+
let minimum = first2.value;
|
|
699
|
+
for (const value of iterator) {
|
|
700
|
+
const comparison = compareIteratorElements(value, minimum, comparator);
|
|
701
|
+
if (!orderingIsGreater(comparison)) {
|
|
702
|
+
minimum = value;
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
return minimum;
|
|
706
|
+
}
|
|
707
|
+
__name(minBy, "minBy");
|
|
708
|
+
|
|
429
709
|
// src/lib/min.ts
|
|
430
710
|
function min(iterable) {
|
|
431
|
-
|
|
432
|
-
for (const value of map(iterable, toNumberOrThrow)) {
|
|
433
|
-
if (min2 === null || value < min2) min2 = value;
|
|
434
|
-
}
|
|
435
|
-
return min2;
|
|
711
|
+
return minBy(iterable, defaultCompare);
|
|
436
712
|
}
|
|
437
713
|
__name(min, "min");
|
|
438
714
|
|
|
715
|
+
// src/lib/minByKey.ts
|
|
716
|
+
function minByKey(iterable, callbackFn, comparator = defaultCompare) {
|
|
717
|
+
callbackFn = assertFunction(callbackFn);
|
|
718
|
+
const iterator = toIterableIterator(iterable);
|
|
719
|
+
const first2 = iterator.next();
|
|
720
|
+
if (first2.done) return null;
|
|
721
|
+
let minimum = first2.value;
|
|
722
|
+
let minimumKey = callbackFn(minimum, 0);
|
|
723
|
+
let index = 1;
|
|
724
|
+
for (const value of iterator) {
|
|
725
|
+
const key = callbackFn(value, index++);
|
|
726
|
+
const comparison = compareIteratorElements(minimumKey, key, comparator);
|
|
727
|
+
if (!orderingIsLess(comparison)) {
|
|
728
|
+
minimum = value;
|
|
729
|
+
minimumKey = key;
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
return minimum;
|
|
733
|
+
}
|
|
734
|
+
__name(minByKey, "minByKey");
|
|
735
|
+
|
|
736
|
+
// src/lib/notEqual.ts
|
|
737
|
+
function notEqual(iterable, other) {
|
|
738
|
+
return !equal(iterable, other);
|
|
739
|
+
}
|
|
740
|
+
__name(notEqual, "notEqual");
|
|
741
|
+
|
|
439
742
|
// src/lib/partition.ts
|
|
440
743
|
function partition(iterable, predicate) {
|
|
441
744
|
predicate = assertFunction(predicate);
|
|
@@ -558,10 +861,7 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
558
861
|
|
|
559
862
|
// src/lib/reverse.ts
|
|
560
863
|
function* reverse(iterable) {
|
|
561
|
-
const items =
|
|
562
|
-
for (const item of toIterableIterator(iterable)) {
|
|
563
|
-
items.push(item);
|
|
564
|
-
}
|
|
864
|
+
const items = toArray(iterable);
|
|
565
865
|
for (let i = items.length - 1; i >= 0; i--) {
|
|
566
866
|
yield items[i];
|
|
567
867
|
}
|
|
@@ -614,19 +914,6 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
614
914
|
}
|
|
615
915
|
__name(slice, "slice");
|
|
616
916
|
|
|
617
|
-
// src/lib/some.ts
|
|
618
|
-
function some(iterable, callbackFn) {
|
|
619
|
-
callbackFn = assertFunction(callbackFn);
|
|
620
|
-
let index = 0;
|
|
621
|
-
for (const value of toIterableIterator(iterable)) {
|
|
622
|
-
if (callbackFn(value, index++)) {
|
|
623
|
-
return true;
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
return false;
|
|
627
|
-
}
|
|
628
|
-
__name(some, "some");
|
|
629
|
-
|
|
630
917
|
// src/lib/sorted.ts
|
|
631
918
|
function sorted(iterable, compareFn) {
|
|
632
919
|
return toArray(iterable).sort(compareFn).values();
|
|
@@ -642,6 +929,24 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
642
929
|
}
|
|
643
930
|
__name(starMap, "starMap");
|
|
644
931
|
|
|
932
|
+
// src/lib/stepBy.ts
|
|
933
|
+
function stepBy(iterable, step) {
|
|
934
|
+
step = assertPositive(toIntegerOrInfinityOrThrow(step), step);
|
|
935
|
+
const iterator = from(iterable);
|
|
936
|
+
return makeIterableIterator(() => {
|
|
937
|
+
const result = iterator.next();
|
|
938
|
+
if (result.done) {
|
|
939
|
+
return { done: true, value: void 0 };
|
|
940
|
+
}
|
|
941
|
+
for (let i = 0; i < step - 1; i++) {
|
|
942
|
+
const result2 = iterator.next();
|
|
943
|
+
if (result2.done) break;
|
|
944
|
+
}
|
|
945
|
+
return { done: false, value: result.value };
|
|
946
|
+
});
|
|
947
|
+
}
|
|
948
|
+
__name(stepBy, "stepBy");
|
|
949
|
+
|
|
645
950
|
// src/lib/sum.ts
|
|
646
951
|
function sum(iterable) {
|
|
647
952
|
let sum2 = 0;
|
|
@@ -740,23 +1045,38 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
740
1045
|
}
|
|
741
1046
|
__name(zip, "zip");
|
|
742
1047
|
|
|
1048
|
+
exports.all = every;
|
|
1049
|
+
exports.any = some;
|
|
743
1050
|
exports.append = append;
|
|
1051
|
+
exports.ascNumber = ascNumber;
|
|
1052
|
+
exports.ascString = defaultCompare;
|
|
744
1053
|
exports.at = at;
|
|
745
1054
|
exports.average = average;
|
|
746
1055
|
exports.chain = chain;
|
|
747
1056
|
exports.chunk = chunk;
|
|
1057
|
+
exports.collect = toArray;
|
|
1058
|
+
exports.collectInto = collectInto;
|
|
748
1059
|
exports.compact = compact;
|
|
1060
|
+
exports.compare = compare;
|
|
1061
|
+
exports.compareBy = compareBy;
|
|
749
1062
|
exports.compress = compress;
|
|
750
1063
|
exports.concat = append;
|
|
751
1064
|
exports.contains = contains;
|
|
752
1065
|
exports.count = count;
|
|
753
1066
|
exports.cycle = cycle;
|
|
1067
|
+
exports.defaultCompare = defaultCompare;
|
|
1068
|
+
exports.descNumber = descNumber;
|
|
1069
|
+
exports.descString = descString;
|
|
754
1070
|
exports.difference = difference;
|
|
755
1071
|
exports.drop = drop;
|
|
756
1072
|
exports.dropLast = dropLast;
|
|
757
1073
|
exports.dropWhile = dropWhile;
|
|
758
1074
|
exports.empty = empty;
|
|
759
1075
|
exports.enumerate = enumerate;
|
|
1076
|
+
exports.eq = equal;
|
|
1077
|
+
exports.eqBy = equalBy;
|
|
1078
|
+
exports.equal = equal;
|
|
1079
|
+
exports.equalBy = equalBy;
|
|
760
1080
|
exports.every = every;
|
|
761
1081
|
exports.except = difference;
|
|
762
1082
|
exports.filter = filter;
|
|
@@ -767,13 +1087,34 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
767
1087
|
exports.flatMap = flatMap;
|
|
768
1088
|
exports.forEach = forEach;
|
|
769
1089
|
exports.from = from;
|
|
1090
|
+
exports.fuse = fuse;
|
|
1091
|
+
exports.ge = greaterOrEqualThan;
|
|
1092
|
+
exports.greaterOrEqualThan = greaterOrEqualThan;
|
|
1093
|
+
exports.greaterThan = greaterThan;
|
|
1094
|
+
exports.gt = greaterThan;
|
|
770
1095
|
exports.indexOf = indexOf;
|
|
1096
|
+
exports.inspect = inspect;
|
|
771
1097
|
exports.intersect = intersect;
|
|
1098
|
+
exports.intersperse = intersperse;
|
|
772
1099
|
exports.isEmpty = isEmpty;
|
|
1100
|
+
exports.isSorted = isSorted;
|
|
1101
|
+
exports.isSortedBy = isSortedBy;
|
|
1102
|
+
exports.isSortedByKey = isSortedByKey;
|
|
773
1103
|
exports.last = last;
|
|
1104
|
+
exports.le = lessOrEqualThan;
|
|
1105
|
+
exports.lessOrEqualThan = lessOrEqualThan;
|
|
1106
|
+
exports.lessThan = lessThan;
|
|
1107
|
+
exports.lt = lessThan;
|
|
774
1108
|
exports.map = map;
|
|
775
1109
|
exports.max = max;
|
|
1110
|
+
exports.maxBy = maxBy;
|
|
1111
|
+
exports.maxByKey = maxByKey;
|
|
776
1112
|
exports.min = min;
|
|
1113
|
+
exports.minBy = minBy;
|
|
1114
|
+
exports.minByKey = minByKey;
|
|
1115
|
+
exports.ne = notEqual;
|
|
1116
|
+
exports.notEqual = notEqual;
|
|
1117
|
+
exports.nth = at;
|
|
777
1118
|
exports.omit = difference;
|
|
778
1119
|
exports.partition = partition;
|
|
779
1120
|
exports.peekable = peekable;
|
|
@@ -791,6 +1132,7 @@ var SapphireIteratorUtilities = (function (exports) {
|
|
|
791
1132
|
exports.some = some;
|
|
792
1133
|
exports.sorted = sorted;
|
|
793
1134
|
exports.starMap = starMap;
|
|
1135
|
+
exports.stepBy = stepBy;
|
|
794
1136
|
exports.sum = sum;
|
|
795
1137
|
exports.take = take;
|
|
796
1138
|
exports.takeLast = takeLast;
|