effect 2.0.1 → 2.0.3

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 (44) hide show
  1. package/Cron/package.json +6 -0
  2. package/dist/cjs/Cron.js +457 -0
  3. package/dist/cjs/Cron.js.map +1 -0
  4. package/dist/cjs/Fiber.js.map +1 -1
  5. package/dist/cjs/ReadonlyArray.js +13 -7
  6. package/dist/cjs/ReadonlyArray.js.map +1 -1
  7. package/dist/cjs/Schedule.js +12 -1
  8. package/dist/cjs/Schedule.js.map +1 -1
  9. package/dist/cjs/index.js +4 -2
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/internal/schedule.js +29 -2
  12. package/dist/cjs/internal/schedule.js.map +1 -1
  13. package/dist/cjs/internal/version.js +1 -1
  14. package/dist/dts/Cron.d.ts +170 -0
  15. package/dist/dts/Cron.d.ts.map +1 -0
  16. package/dist/dts/Fiber.d.ts +6 -0
  17. package/dist/dts/Fiber.d.ts.map +1 -1
  18. package/dist/dts/ReadonlyArray.d.ts +26 -26
  19. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  20. package/dist/dts/Schedule.d.ts +11 -0
  21. package/dist/dts/Schedule.d.ts.map +1 -1
  22. package/dist/dts/index.d.ts +4 -0
  23. package/dist/dts/index.d.ts.map +1 -1
  24. package/dist/dts/internal/version.d.ts +1 -1
  25. package/dist/esm/Cron.js +418 -0
  26. package/dist/esm/Cron.js.map +1 -0
  27. package/dist/esm/Fiber.js.map +1 -1
  28. package/dist/esm/ReadonlyArray.js +14 -8
  29. package/dist/esm/ReadonlyArray.js.map +1 -1
  30. package/dist/esm/Schedule.js +11 -0
  31. package/dist/esm/Schedule.js.map +1 -1
  32. package/dist/esm/index.js +4 -0
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/internal/schedule.js +26 -0
  35. package/dist/esm/internal/schedule.js.map +1 -1
  36. package/dist/esm/internal/version.js +1 -1
  37. package/package.json +9 -1
  38. package/src/Cron.ts +525 -0
  39. package/src/Fiber.ts +7 -0
  40. package/src/ReadonlyArray.ts +74 -53
  41. package/src/Schedule.ts +12 -0
  42. package/src/index.ts +5 -0
  43. package/src/internal/schedule.ts +42 -0
  44. package/src/internal/version.ts +1 -1
@@ -0,0 +1,418 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import * as Either from "./Either.js";
5
+ import * as Equal from "./Equal.js";
6
+ import * as equivalence from "./Equivalence.js";
7
+ import { dual, pipe } from "./Function.js";
8
+ import * as Hash from "./Hash.js";
9
+ import { format, NodeInspectSymbol } from "./Inspectable.js";
10
+ import * as N from "./Number.js";
11
+ import { pipeArguments } from "./Pipeable.js";
12
+ import { hasProperty } from "./Predicate.js";
13
+ import * as ReadonlyArray from "./ReadonlyArray.js";
14
+ import * as String from "./String.js";
15
+ /**
16
+ * @since 2.0.0
17
+ * @category symbols
18
+ */
19
+ export const TypeId = /*#__PURE__*/Symbol.for("effect/Cron");
20
+ const CronProto = {
21
+ [TypeId]: TypeId,
22
+ [Equal.symbol](that) {
23
+ return isCron(that) && equals(this, that);
24
+ },
25
+ [Hash.symbol]() {
26
+ return pipe(Hash.array(ReadonlyArray.fromIterable(this.minutes)), Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.hours))), Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.days))), Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.months))), Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.weekdays))));
27
+ },
28
+ toString() {
29
+ return format(this.toJSON());
30
+ },
31
+ toJSON() {
32
+ return {
33
+ _id: "Cron",
34
+ minutes: ReadonlyArray.fromIterable(this.minutes),
35
+ hours: ReadonlyArray.fromIterable(this.hours),
36
+ days: ReadonlyArray.fromIterable(this.days),
37
+ months: ReadonlyArray.fromIterable(this.months),
38
+ weekdays: ReadonlyArray.fromIterable(this.weekdays)
39
+ };
40
+ },
41
+ [NodeInspectSymbol]() {
42
+ return this.toJSON();
43
+ },
44
+ pipe() {
45
+ return pipeArguments(this, arguments);
46
+ }
47
+ };
48
+ /**
49
+ * Checks if a given value is a `Cron` instance.
50
+ *
51
+ * @param u - The value to check.
52
+ *
53
+ * @since 2.0.0
54
+ * @category guards
55
+ */
56
+ export const isCron = u => hasProperty(u, TypeId);
57
+ /**
58
+ * Creates a `Cron` instance from.
59
+ *
60
+ * @param constraints - The cron constraints.
61
+ *
62
+ * @since 2.0.0
63
+ * @category constructors
64
+ */
65
+ export const make = ({
66
+ days,
67
+ hours,
68
+ minutes,
69
+ months,
70
+ weekdays
71
+ }) => {
72
+ const o = Object.create(CronProto);
73
+ o.minutes = new Set(ReadonlyArray.sort(minutes, N.Order));
74
+ o.hours = new Set(ReadonlyArray.sort(hours, N.Order));
75
+ o.days = new Set(ReadonlyArray.sort(days, N.Order));
76
+ o.months = new Set(ReadonlyArray.sort(months, N.Order));
77
+ o.weekdays = new Set(ReadonlyArray.sort(weekdays, N.Order));
78
+ return o;
79
+ };
80
+ /**
81
+ * @since 2.0.0
82
+ * @category symbol
83
+ */
84
+ export const ParseErrorTypeId = /*#__PURE__*/Symbol.for("effect/Cron/errors/ParseError");
85
+ const ParseErrorProto = {
86
+ _tag: "ParseError",
87
+ [ParseErrorTypeId]: ParseErrorTypeId
88
+ };
89
+ const ParseError = (message, input) => {
90
+ const o = Object.create(ParseErrorProto);
91
+ o.message = message;
92
+ if (input !== undefined) {
93
+ o.input = input;
94
+ }
95
+ return o;
96
+ };
97
+ /**
98
+ * Returns `true` if the specified value is an `ParseError`, `false` otherwise.
99
+ *
100
+ * @param u - The value to check.
101
+ *
102
+ * @since 2.0.0
103
+ * @category guards
104
+ */
105
+ export const isParseError = u => hasProperty(u, ParseErrorTypeId);
106
+ /**
107
+ * Parses a cron expression into a `Cron` instance.
108
+ *
109
+ * @param cron - The cron expression to parse.
110
+ *
111
+ * @example
112
+ * import * as Cron from "effect/Cron"
113
+ * import * as Either from "effect/Either"
114
+ *
115
+ * // At 04:00 on every day-of-month from 8 through 14.
116
+ * assert.deepStrictEqual(Cron.parse("0 4 8-14 * *"), Either.right(Cron.make({
117
+ * minutes: [0],
118
+ * hours: [4],
119
+ * days: [8, 9, 10, 11, 12, 13, 14],
120
+ * months: [],
121
+ * weekdays: []
122
+ * })))
123
+ *
124
+ * @since 2.0.0
125
+ * @category constructors
126
+ */
127
+ export const parse = cron => {
128
+ const segments = cron.split(" ").filter(String.isNonEmpty);
129
+ if (segments.length !== 5) {
130
+ return Either.left(ParseError(`Invalid number of segments in cron expression`, cron));
131
+ }
132
+ const [minutes, hours, days, months, weekdays] = segments;
133
+ return Either.all({
134
+ minutes: parseSegment(minutes, minuteOptions),
135
+ hours: parseSegment(hours, hourOptions),
136
+ days: parseSegment(days, dayOptions),
137
+ months: parseSegment(months, monthOptions),
138
+ weekdays: parseSegment(weekdays, weekdayOptions)
139
+ }).pipe(Either.map(segments => make(segments)));
140
+ };
141
+ /**
142
+ * Checks if a given `Date` falls within an active `Cron` time window.
143
+ *
144
+ * @param cron - The `Cron` instance.
145
+ * @param date - The `Date` to check against.
146
+ *
147
+ * @example
148
+ * import * as Cron from "effect/Cron"
149
+ * import * as Either from "effect/Either"
150
+ *
151
+ * const cron = Either.getOrThrow(Cron.parse("0 4 8-14 * *"))
152
+ * assert.deepStrictEqual(Cron.match(cron, new Date("2021-01-08 04:00:00")), true)
153
+ * assert.deepStrictEqual(Cron.match(cron, new Date("2021-01-08 05:00:00")), false)
154
+ *
155
+ * @since 2.0.0
156
+ */
157
+ export const match = (cron, date) => {
158
+ const {
159
+ days,
160
+ hours,
161
+ minutes,
162
+ months,
163
+ weekdays
164
+ } = cron;
165
+ const minute = date.getMinutes();
166
+ if (minutes.size !== 0 && !minutes.has(minute)) {
167
+ return false;
168
+ }
169
+ const hour = date.getHours();
170
+ if (hours.size !== 0 && !hours.has(hour)) {
171
+ return false;
172
+ }
173
+ const month = date.getMonth() + 1;
174
+ if (months.size !== 0 && !months.has(month)) {
175
+ return false;
176
+ }
177
+ if (days.size === 0 && weekdays.size === 0) {
178
+ return true;
179
+ }
180
+ const day = date.getDate();
181
+ if (weekdays.size === 0) {
182
+ return days.has(day);
183
+ }
184
+ const weekday = date.getDay();
185
+ if (days.size === 0) {
186
+ return weekdays.has(weekday);
187
+ }
188
+ return days.has(day) || weekdays.has(weekday);
189
+ };
190
+ /**
191
+ * Returns the next run `Date` for the given `Cron` instance.
192
+ *
193
+ * Uses the current time as a starting point if no value is provided for `now`.
194
+ *
195
+ * @example
196
+ * import * as Cron from "effect/Cron"
197
+ * import * as Either from "effect/Either"
198
+ *
199
+ * const after = new Date("2021-01-01 00:00:00")
200
+ * const cron = Either.getOrThrow(Cron.parse("0 4 8-14 * *"))
201
+ * assert.deepStrictEqual(Cron.next(cron, after), new Date("2021-01-08 04:00:00"))
202
+ *
203
+ * @param cron - The `Cron` instance.
204
+ * @param now - The `Date` to start searching from.
205
+ *
206
+ * @since 2.0.0
207
+ */
208
+ export const next = (cron, now) => {
209
+ const {
210
+ days,
211
+ hours,
212
+ minutes,
213
+ months,
214
+ weekdays
215
+ } = cron;
216
+ const restrictMinutes = minutes.size !== 0;
217
+ const restrictHours = hours.size !== 0;
218
+ const restrictDays = days.size !== 0;
219
+ const restrictMonths = months.size !== 0;
220
+ const restrictWeekdays = weekdays.size !== 0;
221
+ const current = now ? new Date(now.getTime()) : new Date();
222
+ // Increment by one minute to ensure we don't match the current date.
223
+ current.setMinutes(current.getMinutes() + 1);
224
+ current.setSeconds(0);
225
+ current.setMilliseconds(0);
226
+ // Only search 8 years into the future.
227
+ const limit = new Date(current).setFullYear(current.getFullYear() + 8);
228
+ while (current.getTime() <= limit) {
229
+ if (restrictMonths && !months.has(current.getMonth() + 1)) {
230
+ current.setMonth(current.getMonth() + 1);
231
+ current.setDate(1);
232
+ current.setHours(0);
233
+ current.setMinutes(0);
234
+ continue;
235
+ }
236
+ if (restrictDays && restrictWeekdays) {
237
+ if (!days.has(current.getDate()) && !weekdays.has(current.getDay())) {
238
+ current.setDate(current.getDate() + 1);
239
+ current.setHours(0);
240
+ current.setMinutes(0);
241
+ continue;
242
+ }
243
+ } else if (restrictDays) {
244
+ if (!days.has(current.getDate())) {
245
+ current.setDate(current.getDate() + 1);
246
+ current.setHours(0);
247
+ current.setMinutes(0);
248
+ continue;
249
+ }
250
+ } else if (restrictWeekdays) {
251
+ if (!weekdays.has(current.getDay())) {
252
+ current.setDate(current.getDate() + 1);
253
+ current.setHours(0);
254
+ current.setMinutes(0);
255
+ continue;
256
+ }
257
+ }
258
+ if (restrictHours && !hours.has(current.getHours())) {
259
+ current.setHours(current.getHours() + 1);
260
+ current.setMinutes(0);
261
+ continue;
262
+ }
263
+ if (restrictMinutes && !minutes.has(current.getMinutes())) {
264
+ current.setMinutes(current.getMinutes() + 1);
265
+ continue;
266
+ }
267
+ return current;
268
+ }
269
+ throw new Error("Unable to find next cron date");
270
+ };
271
+ /**
272
+ * Returns an `IterableIterator` which yields the sequence of `Date`s that match the `Cron` instance.
273
+ *
274
+ * @param cron - The `Cron` instance.
275
+ * @param now - The `Date` to start searching from.
276
+ *
277
+ * @since 2.0.0
278
+ */
279
+ export const sequence = function* (cron, now) {
280
+ while (true) {
281
+ yield now = next(cron, now);
282
+ }
283
+ };
284
+ /**
285
+ * @category instances
286
+ * @since 2.0.0
287
+ */
288
+ export const Equivalence = /*#__PURE__*/equivalence.make((self, that) => restrictionsEquals(self.minutes, that.minutes) && restrictionsEquals(self.hours, that.hours) && restrictionsEquals(self.days, that.days) && restrictionsEquals(self.months, that.months) && restrictionsEquals(self.weekdays, that.weekdays));
289
+ const restrictionsArrayEquals = /*#__PURE__*/equivalence.array(equivalence.number);
290
+ const restrictionsEquals = (self, that) => restrictionsArrayEquals(ReadonlyArray.fromIterable(self), ReadonlyArray.fromIterable(that));
291
+ /**
292
+ * Checks if two `Cron`s are equal.
293
+ *
294
+ * @since 2.0.0
295
+ * @category predicates
296
+ */
297
+ export const equals = /*#__PURE__*/dual(2, (self, that) => Equivalence(self, that));
298
+ const minuteOptions = {
299
+ segment: "minute",
300
+ min: 0,
301
+ max: 59
302
+ };
303
+ const hourOptions = {
304
+ segment: "hour",
305
+ min: 0,
306
+ max: 23
307
+ };
308
+ const dayOptions = {
309
+ segment: "day",
310
+ min: 1,
311
+ max: 31
312
+ };
313
+ const monthOptions = {
314
+ segment: "month",
315
+ min: 1,
316
+ max: 12,
317
+ aliases: {
318
+ jan: 1,
319
+ feb: 2,
320
+ mar: 3,
321
+ apr: 4,
322
+ may: 5,
323
+ jun: 6,
324
+ jul: 7,
325
+ aug: 8,
326
+ sep: 9,
327
+ oct: 10,
328
+ nov: 11,
329
+ dec: 12
330
+ }
331
+ };
332
+ const weekdayOptions = {
333
+ segment: "weekday",
334
+ min: 0,
335
+ max: 6,
336
+ aliases: {
337
+ sun: 0,
338
+ mon: 1,
339
+ tue: 2,
340
+ wed: 3,
341
+ thu: 4,
342
+ fri: 5,
343
+ sat: 6
344
+ }
345
+ };
346
+ const parseSegment = (input, options) => {
347
+ const capacity = options.max - options.min + 1;
348
+ const values = new Set();
349
+ const fields = input.split(",");
350
+ for (const field of fields) {
351
+ const [raw, step] = splitStep(field);
352
+ if (raw === "*" && step === undefined) {
353
+ return Either.right(new Set());
354
+ }
355
+ if (step !== undefined) {
356
+ if (!Number.isInteger(step)) {
357
+ return Either.left(ParseError(`Expected step value to be a positive integer`, input));
358
+ }
359
+ if (step < 1) {
360
+ return Either.left(ParseError(`Expected step value to be greater than 0`, input));
361
+ }
362
+ if (step > options.max) {
363
+ return Either.left(ParseError(`Expected step value to be less than ${options.max}`, input));
364
+ }
365
+ }
366
+ if (raw === "*") {
367
+ for (let i = options.min; i <= options.max; i += step ?? 1) {
368
+ values.add(i);
369
+ }
370
+ } else {
371
+ const [left, right] = splitRange(raw, options.aliases);
372
+ if (!Number.isInteger(left)) {
373
+ return Either.left(ParseError(`Expected a positive integer`, input));
374
+ }
375
+ if (left < options.min || left > options.max) {
376
+ return Either.left(ParseError(`Expected a value between ${options.min} and ${options.max}`, input));
377
+ }
378
+ if (right === undefined) {
379
+ values.add(left);
380
+ } else {
381
+ if (!Number.isInteger(right)) {
382
+ return Either.left(ParseError(`Expected a positive integer`, input));
383
+ }
384
+ if (right < options.min || right > options.max) {
385
+ return Either.left(ParseError(`Expected a value between ${options.min} and ${options.max}`, input));
386
+ }
387
+ if (left > right) {
388
+ return Either.left(ParseError(`Invalid value range`, input));
389
+ }
390
+ for (let i = left; i <= right; i += step ?? 1) {
391
+ values.add(i);
392
+ }
393
+ }
394
+ }
395
+ if (values.size >= capacity) {
396
+ return Either.right(new Set());
397
+ }
398
+ }
399
+ return Either.right(values);
400
+ };
401
+ const splitStep = input => {
402
+ const seperator = input.indexOf("/");
403
+ if (seperator !== -1) {
404
+ return [input.slice(0, seperator), Number(input.slice(seperator + 1))];
405
+ }
406
+ return [input, undefined];
407
+ };
408
+ const splitRange = (input, aliases) => {
409
+ const seperator = input.indexOf("-");
410
+ if (seperator !== -1) {
411
+ return [aliasOrValue(input.slice(0, seperator), aliases), aliasOrValue(input.slice(seperator + 1), aliases)];
412
+ }
413
+ return [aliasOrValue(input, aliases), undefined];
414
+ };
415
+ function aliasOrValue(field, aliases) {
416
+ return aliases?.[field.toLocaleLowerCase()] ?? Number(field);
417
+ }
418
+ //# sourceMappingURL=Cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cron.js","names":["Either","Equal","equivalence","dual","pipe","Hash","format","NodeInspectSymbol","N","pipeArguments","hasProperty","ReadonlyArray","String","TypeId","Symbol","for","CronProto","symbol","that","isCron","equals","array","fromIterable","minutes","combine","hours","days","months","weekdays","toString","toJSON","_id","arguments","u","make","o","Object","create","Set","sort","Order","ParseErrorTypeId","ParseErrorProto","_tag","ParseError","message","input","undefined","isParseError","parse","cron","segments","split","filter","isNonEmpty","length","left","all","parseSegment","minuteOptions","hourOptions","dayOptions","monthOptions","weekdayOptions","map","match","date","minute","getMinutes","size","has","hour","getHours","month","getMonth","day","getDate","weekday","getDay","next","now","restrictMinutes","restrictHours","restrictDays","restrictMonths","restrictWeekdays","current","Date","getTime","setMinutes","setSeconds","setMilliseconds","limit","setFullYear","getFullYear","setMonth","setDate","setHours","Error","sequence","Equivalence","self","restrictionsEquals","restrictionsArrayEquals","number","segment","min","max","aliases","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","sun","mon","tue","wed","thu","fri","sat","options","capacity","values","fields","field","raw","step","splitStep","right","Number","isInteger","i","add","splitRange","seperator","indexOf","slice","aliasOrValue","toLocaleLowerCase"],"sources":["../../src/Cron.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Fiber.js","names":["core","circular","internal","fiberRuntime","FiberTypeId","RuntimeFiberTypeId","Order","isFiber","isRuntimeFiber","id","_await","await","awaitAll","fiberAwaitAll","children","all","fiberAll","done","dump","dumpAll","fail","failCause","fromEffect","getCurrentFiber","inheritAll","interrupt","interruptFiber","interrupted","interruptAs","interruptAsFiber","interruptAsFork","interruptAll","interruptAllAs","interruptFork","fiberInterruptFork","join","joinAll","fiberJoinAll","map","mapEffect","mapFiber","match","never","orElse","orElseEither","poll","pretty","roots","unsafeRoots","scoped","fiberScoped","status","succeed","unit","zip","zipFiber","zipLeft","zipLeftFiber","zipRight","zipRightFiber","zipWith","zipWithFiber"],"sources":["../../src/Fiber.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Fiber.js","names":["core","circular","internal","fiberRuntime","FiberTypeId","RuntimeFiberTypeId","Order","isFiber","isRuntimeFiber","id","_await","await","awaitAll","fiberAwaitAll","children","all","fiberAll","done","dump","dumpAll","fail","failCause","fromEffect","getCurrentFiber","inheritAll","interrupt","interruptFiber","interrupted","interruptAs","interruptAsFiber","interruptAsFork","interruptAll","interruptAllAs","interruptFork","fiberInterruptFork","join","joinAll","fiberJoinAll","map","mapEffect","mapFiber","match","never","orElse","orElseEither","poll","pretty","roots","unsafeRoots","scoped","fiberScoped","status","succeed","unit","zip","zipFiber","zipLeft","zipLeftFiber","zipRight","zipRightFiber","zipWith","zipWithFiber"],"sources":["../../src/Fiber.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -10,7 +10,7 @@ import { dual, identity } from "./Function.js";
10
10
  import * as readonlyArray from "./internal/readonlyArray.js";
11
11
  import * as O from "./Option.js";
12
12
  import * as Order from "./Order.js";
13
- import { isBoolean, not } from "./Predicate.js";
13
+ import { isBoolean } from "./Predicate.js";
14
14
  import * as RR from "./ReadonlyRecord.js";
15
15
  import * as Tuple from "./Tuple.js";
16
16
  /**
@@ -384,19 +384,21 @@ export const takeRight = /*#__PURE__*/dual(2, (self, n) => {
384
384
  * @since 2.0.0
385
385
  */
386
386
  export const takeWhile = /*#__PURE__*/dual(2, (self, predicate) => {
387
+ let i = 0;
387
388
  const out = [];
388
389
  for (const a of self) {
389
- if (!predicate(a)) {
390
+ if (!predicate(a, i)) {
390
391
  break;
391
392
  }
392
393
  out.push(a);
394
+ i++;
393
395
  }
394
396
  return out;
395
397
  });
396
398
  const spanIndex = (self, predicate) => {
397
399
  let i = 0;
398
400
  for (const a of self) {
399
- if (!predicate(a)) {
401
+ if (!predicate(a, i)) {
400
402
  break;
401
403
  }
402
404
  i++;
@@ -453,7 +455,7 @@ export const dropWhile = /*#__PURE__*/dual(2, (self, predicate) => fromIterable(
453
455
  export const findFirstIndex = /*#__PURE__*/dual(2, (self, predicate) => {
454
456
  let i = 0;
455
457
  for (const a of self) {
456
- if (predicate(a)) {
458
+ if (predicate(a, i)) {
457
459
  return O.some(i);
458
460
  }
459
461
  i++;
@@ -469,7 +471,7 @@ export const findFirstIndex = /*#__PURE__*/dual(2, (self, predicate) => {
469
471
  export const findLastIndex = /*#__PURE__*/dual(2, (self, predicate) => {
470
472
  const input = fromIterable(self);
471
473
  for (let i = input.length - 1; i >= 0; i--) {
472
- if (predicate(input[i])) {
474
+ if (predicate(input[i], i)) {
473
475
  return O.some(i);
474
476
  }
475
477
  }
@@ -831,7 +833,7 @@ export const split = /*#__PURE__*/dual(2, (self, n) => {
831
833
  * @category splitting
832
834
  * @since 2.0.0
833
835
  */
834
- export const splitWhere = /*#__PURE__*/dual(2, (self, predicate) => span(self, not(predicate)));
836
+ export const splitWhere = /*#__PURE__*/dual(2, (self, predicate) => span(self, (a, i) => !predicate(a, i)));
835
837
  /**
836
838
  * @since 2.0.0
837
839
  */
@@ -1018,14 +1020,16 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => {
1018
1020
  * @since 2.0.0
1019
1021
  */
1020
1022
  export const filterMapWhile = /*#__PURE__*/dual(2, (self, f) => {
1023
+ let i = 0;
1021
1024
  const out = [];
1022
1025
  for (const a of self) {
1023
- const b = f(a);
1026
+ const b = f(a, i);
1024
1027
  if (O.isSome(b)) {
1025
1028
  out.push(b.value);
1026
1029
  } else {
1027
1030
  break;
1028
1031
  }
1032
+ i++;
1029
1033
  }
1030
1034
  return out;
1031
1035
  });
@@ -1317,12 +1321,14 @@ export const join = /*#__PURE__*/dual(2, (self, sep) => fromIterable(self).join(
1317
1321
  * @category folding
1318
1322
  */
1319
1323
  export const mapAccum = /*#__PURE__*/dual(3, (self, s, f) => {
1324
+ let i = 0;
1320
1325
  let s1 = s;
1321
1326
  const out = [];
1322
1327
  for (const a of self) {
1323
- const r = f(s1, a);
1328
+ const r = f(s1, a, i);
1324
1329
  s1 = r[0];
1325
1330
  out.push(r[1]);
1331
+ i++;
1326
1332
  }
1327
1333
  return [s1, out];
1328
1334
  });