effect 3.20.0 → 3.21.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 (66) hide show
  1. package/dist/cjs/Cron.js +144 -48
  2. package/dist/cjs/Cron.js.map +1 -1
  3. package/dist/cjs/Effect.js +9 -4
  4. package/dist/cjs/Effect.js.map +1 -1
  5. package/dist/cjs/Equal.js +3 -0
  6. package/dist/cjs/Equal.js.map +1 -1
  7. package/dist/cjs/Layer.js +50 -2
  8. package/dist/cjs/Layer.js.map +1 -1
  9. package/dist/cjs/RcMap.js +1 -0
  10. package/dist/cjs/RcMap.js.map +1 -1
  11. package/dist/cjs/internal/cause.js +28 -29
  12. package/dist/cjs/internal/cause.js.map +1 -1
  13. package/dist/cjs/internal/core-effect.js +8 -4
  14. package/dist/cjs/internal/core-effect.js.map +1 -1
  15. package/dist/cjs/internal/fiberRuntime.js +1 -1
  16. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  17. package/dist/cjs/internal/logger.js +1 -3
  18. package/dist/cjs/internal/logger.js.map +1 -1
  19. package/dist/cjs/internal/rcMap.js +11 -6
  20. package/dist/cjs/internal/rcMap.js.map +1 -1
  21. package/dist/cjs/internal/version.js +1 -1
  22. package/dist/dts/Cron.d.ts +29 -1
  23. package/dist/dts/Cron.d.ts.map +1 -1
  24. package/dist/dts/Effect.d.ts +5 -0
  25. package/dist/dts/Effect.d.ts.map +1 -1
  26. package/dist/dts/Equal.d.ts.map +1 -1
  27. package/dist/dts/Layer.d.ts +43 -1
  28. package/dist/dts/Layer.d.ts.map +1 -1
  29. package/dist/dts/RcMap.d.ts +5 -2
  30. package/dist/dts/RcMap.d.ts.map +1 -1
  31. package/dist/dts/internal/core-effect.d.ts +5 -0
  32. package/dist/dts/internal/core-effect.d.ts.map +1 -1
  33. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
  34. package/dist/esm/Cron.js +139 -45
  35. package/dist/esm/Cron.js.map +1 -1
  36. package/dist/esm/Effect.js +5 -0
  37. package/dist/esm/Effect.js.map +1 -1
  38. package/dist/esm/Equal.js +3 -0
  39. package/dist/esm/Equal.js.map +1 -1
  40. package/dist/esm/Layer.js +46 -1
  41. package/dist/esm/Layer.js.map +1 -1
  42. package/dist/esm/RcMap.js +1 -0
  43. package/dist/esm/RcMap.js.map +1 -1
  44. package/dist/esm/internal/cause.js +26 -27
  45. package/dist/esm/internal/cause.js.map +1 -1
  46. package/dist/esm/internal/core-effect.js +6 -2
  47. package/dist/esm/internal/core-effect.js.map +1 -1
  48. package/dist/esm/internal/fiberRuntime.js +1 -1
  49. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  50. package/dist/esm/internal/logger.js +1 -3
  51. package/dist/esm/internal/logger.js.map +1 -1
  52. package/dist/esm/internal/rcMap.js +12 -7
  53. package/dist/esm/internal/rcMap.js.map +1 -1
  54. package/dist/esm/internal/version.js +1 -1
  55. package/package.json +1 -1
  56. package/src/Cron.ts +175 -45
  57. package/src/Effect.ts +6 -0
  58. package/src/Equal.ts +3 -0
  59. package/src/Layer.ts +53 -1
  60. package/src/RcMap.ts +5 -2
  61. package/src/internal/cause.ts +40 -41
  62. package/src/internal/core-effect.ts +18 -7
  63. package/src/internal/fiberRuntime.ts +4 -2
  64. package/src/internal/logger.ts +1 -1
  65. package/src/internal/rcMap.ts +21 -11
  66. package/src/internal/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["Arr","Context","FiberRefs","constVoid","dual","globalValue","HashMap","Inspectable","List","Option","pipeArguments","Cause","defaultServices","consoleTag","fiberId_","logSpan_","LoggerSymbolKey","LoggerTypeId","Symbol","for","loggerVariance","_Message","_","_Output","makeLogger","log","pipe","arguments","mapInput","self","f","options","message","mapInputOptions","filterLogLevel","logLevel","some","none","map","simple","succeed","value","sync","evaluate","zip","that","zipLeft","tuple","zipRight","textOnly","format","quoteValue","whitespace","annotations","cause","date","fiberId","spans","formatValue","match","label","formatLabel","append","out","toISOString","threadName","messages","ensure","i","length","toStringUnknown","isEmptyType","pretty","renderErrorCause","span","render","getTime","escapeDoubleQuotes","s","replace","stringLogger","logfmtLogger","JSON","stringify","structuredLogger","now","annotationsObj","spansObj","size","k","v","structuredMessage","isCons","startTime","messageArr","timestamp","isEmpty","undefined","u","String","toJSON","jsonLogger","stringifyCircular","isLogger","withColor","text","colors","withColorNoop","_colors","bold","red","green","yellow","blue","cyan","white","gray","black","bgBrightRed","logLevelColors","None","All","Trace","Debug","Info","Warning","Error","Fatal","logLevelStyle","defaultDateFormat","getHours","toString","padStart","getMinutes","getSeconds","getMilliseconds","hasProcessStdout","process","stdout","processStdoutIsTTY","isTTY","hasProcessStdoutOrDeno","globalThis","prettyLogger","mode_","mode","isBrowser","showColors","formatDate","prettyLoggerBrowser","prettyLoggerTty","stderr","color","context","message_","services","getOrDefault","currentServices","console","get","unsafe","error","firstLine","_tag","messageIndex","firstMaybeString","group","redact","key","groupEnd","firstParams","push","groupCollapsed","redacted","prettyLoggerDefault"],"sources":["../../../src/internal/logger.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"logger.js","names":["Arr","Context","FiberRefs","constVoid","dual","globalValue","HashMap","Inspectable","List","Option","pipeArguments","Cause","defaultServices","consoleTag","fiberId_","logSpan_","LoggerSymbolKey","LoggerTypeId","Symbol","for","loggerVariance","_Message","_","_Output","makeLogger","log","pipe","arguments","mapInput","self","f","options","message","mapInputOptions","filterLogLevel","logLevel","some","none","map","simple","succeed","value","sync","evaluate","zip","that","zipLeft","tuple","zipRight","textOnly","format","quoteValue","whitespace","annotations","cause","date","fiberId","spans","formatValue","match","label","formatLabel","append","out","toISOString","threadName","messages","ensure","i","length","toStringUnknown","isEmptyType","pretty","renderErrorCause","span","render","getTime","escapeDoubleQuotes","s","replace","stringLogger","logfmtLogger","JSON","stringify","structuredLogger","now","annotationsObj","spansObj","size","k","v","structuredMessage","isCons","startTime","messageArr","timestamp","isEmpty","undefined","u","String","toJSON","jsonLogger","stringifyCircular","isLogger","withColor","text","colors","withColorNoop","_colors","bold","red","green","yellow","blue","cyan","white","gray","black","bgBrightRed","logLevelColors","None","All","Trace","Debug","Info","Warning","Error","Fatal","logLevelStyle","defaultDateFormat","getHours","toString","padStart","getMinutes","getSeconds","getMilliseconds","hasProcessStdout","process","stdout","processStdoutIsTTY","isTTY","hasProcessStdoutOrDeno","globalThis","prettyLogger","mode_","mode","isBrowser","showColors","formatDate","prettyLoggerBrowser","prettyLoggerTty","stderr","color","context","message_","services","getOrDefault","currentServices","console","get","unsafe","error","firstLine","_tag","messageIndex","firstMaybeString","group","redact","key","groupEnd","firstParams","push","groupCollapsed","prettyErrors","redacted","prettyLoggerDefault"],"sources":["../../../src/internal/logger.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import * as Context from "../Context.js";
2
2
  import * as Duration from "../Duration.js";
3
- import { dual, identity } from "../Function.js";
3
+ import { constant, dual, flow, identity } from "../Function.js";
4
4
  import * as MutableHashMap from "../MutableHashMap.js";
5
5
  import { pipeArguments } from "../Pipeable.js";
6
6
  import * as coreEffect from "./core-effect.js";
@@ -42,7 +42,8 @@ class RcMapImpl {
42
42
  export const make = options => core.withFiberRuntime(fiber => {
43
43
  const context = fiber.getFiberRef(core.currentContext);
44
44
  const scope = Context.get(context, fiberRuntime.scopeTag);
45
- const self = new RcMapImpl(options.lookup, context, scope, options.idleTimeToLive ? Duration.decode(options.idleTimeToLive) : undefined, Math.max(options.capacity ?? Number.POSITIVE_INFINITY, 0));
45
+ const idleTimeToLive = options.idleTimeToLive === undefined ? undefined : typeof options.idleTimeToLive === "function" ? flow(options.idleTimeToLive, Duration.decode) : constant(Duration.decode(options.idleTimeToLive));
46
+ const self = new RcMapImpl(options.lookup, context, scope, idleTimeToLive, Math.max(options.capacity ?? Number.POSITIVE_INFINITY, 0));
46
47
  return core.as(scope.addFinalizer(() => core.suspend(() => {
47
48
  if (self.state._tag === "Closed") {
48
49
  return core.void;
@@ -92,10 +93,12 @@ const acquire = /*#__PURE__*/core.fnUntraced(function* (self, key, restore) {
92
93
  contextMap.set(fiberRuntime.scopeTag.key, scope);
93
94
  return Context.unsafeMake(contextMap);
94
95
  })).pipe(core.exit, core.flatMap(exit => core.deferredDone(deferred, exit)), circular.forkIn(scope));
96
+ const idleTimeToLive = self.idleTimeToLive ? self.idleTimeToLive(key) : Duration.zero;
95
97
  const entry = {
96
98
  deferred,
97
99
  scope,
98
100
  finalizer: undefined,
101
+ idleTimeToLive,
99
102
  fiber: undefined,
100
103
  expiresAt: 0,
101
104
  refCount: 1
@@ -110,16 +113,16 @@ const release = (self, key, entry) => coreEffect.clockWith(clock => {
110
113
  entry.refCount--;
111
114
  if (entry.refCount > 0) {
112
115
  return core.void;
113
- } else if (self.state._tag === "Closed" || !MutableHashMap.has(self.state.map, key) || self.idleTimeToLive === undefined) {
116
+ } else if (self.state._tag === "Closed" || !MutableHashMap.has(self.state.map, key) || Duration.isZero(entry.idleTimeToLive)) {
114
117
  if (self.state._tag === "Open") {
115
118
  MutableHashMap.remove(self.state.map, key);
116
119
  }
117
120
  return core.scopeClose(entry.scope, core.exitVoid);
118
121
  }
119
- if (!Duration.isFinite(self.idleTimeToLive)) {
122
+ if (!Duration.isFinite(entry.idleTimeToLive)) {
120
123
  return core.void;
121
124
  }
122
- entry.expiresAt = clock.unsafeCurrentTimeMillis() + Duration.toMillis(self.idleTimeToLive);
125
+ entry.expiresAt = clock.unsafeCurrentTimeMillis() + Duration.toMillis(entry.idleTimeToLive);
123
126
  if (entry.fiber) return core.void;
124
127
  return core.interruptibleMask(function loop(restore) {
125
128
  const now = clock.unsafeCurrentTimeMillis();
@@ -164,10 +167,12 @@ export const has = /*#__PURE__*/dual(2, (self_, key) => {
164
167
  /** @internal */
165
168
  export const touch = /*#__PURE__*/dual(2, (self_, key) => coreEffect.clockWith(clock => {
166
169
  const self = self_;
167
- if (!self.idleTimeToLive || self.state._tag === "Closed") return core.void;
170
+ if (self.state._tag === "Closed") return core.void;
168
171
  const o = MutableHashMap.get(self.state.map, key);
169
172
  if (o._tag === "None") return core.void;
170
- o.value.expiresAt = clock.unsafeCurrentTimeMillis() + Duration.toMillis(self.idleTimeToLive);
173
+ const entry = o.value;
174
+ if (Duration.isZero(entry.idleTimeToLive)) return core.void;
175
+ entry.expiresAt = clock.unsafeCurrentTimeMillis() + Duration.toMillis(entry.idleTimeToLive);
171
176
  return core.void;
172
177
  }));
173
178
  //# sourceMappingURL=rcMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rcMap.js","names":["Context","Duration","dual","identity","MutableHashMap","pipeArguments","coreEffect","core","circular","fiberRuntime","TypeId","Symbol","for","variance","_K","_A","_E","RcMapImpl","lookup","context","scope","idleTimeToLive","capacity","state","_tag","map","empty","semaphore","unsafeMakeSemaphore","constructor","pipe","arguments","make","options","withFiberRuntime","fiber","getFiberRef","currentContext","get","scopeTag","self","decode","undefined","Math","max","Number","POSITIVE_INFINITY","as","addFinalizer","suspend","void","forEachSequentialDiscard","entry","scopeClose","exitVoid","tap","clear","withPermits","self_","key","uninterruptibleMask","restore","getImpl","fnUntraced","interrupt","o","value","refCount","isFinite","size","fail","ExceededCapacityException","acquire","finalizer","deferredAwait","deferred","scopeMake","deferredMake","contextMap","Map","unsafeMap","mapInputContext","inputContext","forEach","set","unsafeMake","exit","flatMap","deferredDone","forkIn","expiresAt","release","clockWith","clock","has","remove","unsafeCurrentTimeMillis","toMillis","interruptibleMask","loop","now","remaining","sleep","millis","ensuring","sync","keys","impl","succeed","invalidate","interruptFiber","touch"],"sources":["../../../src/internal/rcMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"rcMap.js","names":["Context","Duration","constant","dual","flow","identity","MutableHashMap","pipeArguments","coreEffect","core","circular","fiberRuntime","TypeId","Symbol","for","variance","_K","_A","_E","RcMapImpl","lookup","context","scope","idleTimeToLive","capacity","state","_tag","map","empty","semaphore","unsafeMakeSemaphore","constructor","pipe","arguments","make","options","withFiberRuntime","fiber","getFiberRef","currentContext","get","scopeTag","undefined","decode","self","Math","max","Number","POSITIVE_INFINITY","as","addFinalizer","suspend","void","forEachSequentialDiscard","entry","scopeClose","exitVoid","tap","clear","withPermits","self_","key","uninterruptibleMask","restore","getImpl","fnUntraced","interrupt","o","value","refCount","isFinite","size","fail","ExceededCapacityException","acquire","finalizer","deferredAwait","deferred","scopeMake","deferredMake","contextMap","Map","unsafeMap","mapInputContext","inputContext","forEach","set","unsafeMake","exit","flatMap","deferredDone","forkIn","zero","expiresAt","release","clockWith","clock","has","isZero","remove","unsafeCurrentTimeMillis","toMillis","interruptibleMask","loop","now","remaining","sleep","millis","ensuring","sync","keys","impl","succeed","invalidate","interruptFiber","touch"],"sources":["../../../src/internal/rcMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.20.0";
1
+ let moduleVersion = "3.21.0";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.20.0",
3
+ "version": "3.21.0",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Cron.ts CHANGED
@@ -53,6 +53,15 @@ export interface Cron extends Pipeable, Equal.Equal, Inspectable {
53
53
  readonly weekday: number
54
54
  }
55
55
  /** @internal */
56
+ readonly last: {
57
+ readonly second: number
58
+ readonly minute: number
59
+ readonly hour: number
60
+ readonly day: number
61
+ readonly month: number
62
+ readonly weekday: number
63
+ }
64
+ /** @internal */
56
65
  readonly next: {
57
66
  readonly second: ReadonlyArray<number | undefined>
58
67
  readonly minute: ReadonlyArray<number | undefined>
@@ -61,6 +70,15 @@ export interface Cron extends Pipeable, Equal.Equal, Inspectable {
61
70
  readonly month: ReadonlyArray<number | undefined>
62
71
  readonly weekday: ReadonlyArray<number | undefined>
63
72
  }
73
+ /** @internal */
74
+ readonly prev: {
75
+ readonly second: ReadonlyArray<number | undefined>
76
+ readonly minute: ReadonlyArray<number | undefined>
77
+ readonly hour: ReadonlyArray<number | undefined>
78
+ readonly day: ReadonlyArray<number | undefined>
79
+ readonly month: ReadonlyArray<number | undefined>
80
+ readonly weekday: ReadonlyArray<number | undefined>
81
+ }
64
82
  }
65
83
 
66
84
  const CronProto = {
@@ -151,31 +169,64 @@ export const make = (values: {
151
169
  weekday: weekdays[0] ?? 0
152
170
  }
153
171
 
172
+ o.last = {
173
+ second: seconds[seconds.length - 1] ?? 59,
174
+ minute: minutes[minutes.length - 1] ?? 59,
175
+ hour: hours[hours.length - 1] ?? 23,
176
+ day: days[days.length - 1] ?? 31,
177
+ month: (months[months.length - 1] ?? 12) - 1,
178
+ weekday: weekdays[weekdays.length - 1] ?? 6
179
+ }
180
+
154
181
  o.next = {
155
- second: nextLookupTable(seconds, 60),
156
- minute: nextLookupTable(minutes, 60),
157
- hour: nextLookupTable(hours, 24),
158
- day: nextLookupTable(days, 32),
159
- month: nextLookupTable(months, 13),
160
- weekday: nextLookupTable(weekdays, 7)
182
+ second: lookupTable(seconds, 60, "next"),
183
+ minute: lookupTable(minutes, 60, "next"),
184
+ hour: lookupTable(hours, 24, "next"),
185
+ day: lookupTable(days, 32, "next"),
186
+ month: lookupTable(months, 13, "next"),
187
+ weekday: lookupTable(weekdays, 7, "next")
188
+ }
189
+
190
+ o.prev = {
191
+ second: lookupTable(seconds, 60, "prev"),
192
+ minute: lookupTable(minutes, 60, "prev"),
193
+ hour: lookupTable(hours, 24, "prev"),
194
+ day: lookupTable(days, 32, "prev"),
195
+ month: lookupTable(months, 13, "prev"),
196
+ weekday: lookupTable(weekdays, 7, "prev")
161
197
  }
162
198
 
163
199
  return o
164
200
  }
165
201
 
166
- const nextLookupTable = (values: ReadonlyArray<number>, size: number): Array<number | undefined> => {
202
+ const lookupTable = (
203
+ values: ReadonlyArray<number>,
204
+ size: number,
205
+ dir: "next" | "prev"
206
+ ): Array<number | undefined> => {
167
207
  const result = new Array(size).fill(undefined)
168
208
  if (values.length === 0) {
169
209
  return result
170
210
  }
171
211
 
172
212
  let current: number | undefined = undefined
173
- let index = values.length - 1
174
- for (let i = size - 1; i >= 0; i--) {
175
- while (index >= 0 && values[index] >= i) {
176
- current = values[index--]
213
+
214
+ if (dir === "next") {
215
+ let index = values.length - 1
216
+ for (let i = size - 1; i >= 0; i--) {
217
+ while (index >= 0 && values[index] >= i) {
218
+ current = values[index--]
219
+ }
220
+ result[i] = current
221
+ }
222
+ } else {
223
+ let index = 0
224
+ for (let i = 0; i < size; i++) {
225
+ while (index < values.length && values[index] <= i) {
226
+ current = values[index++]
227
+ }
228
+ result[i] = current
177
229
  }
178
- result[i] = current
179
230
  }
180
231
 
181
232
  return result
@@ -376,7 +427,7 @@ const daysInMonth = (date: Date): number =>
376
427
  /**
377
428
  * Returns the next run `Date` for the given `Cron` instance.
378
429
  *
379
- * Uses the current time as a starting point if no value is provided for `now`.
430
+ * Uses the current time as a starting point if no value is provided for `startFrom`.
380
431
  *
381
432
  * @example
382
433
  * ```ts
@@ -394,38 +445,76 @@ const daysInMonth = (date: Date): number =>
394
445
  * @since 2.0.0
395
446
  */
396
447
  export const next = (cron: Cron, startFrom?: DateTime.DateTime.Input): Date => {
448
+ return stepCron(cron, startFrom, "next")
449
+ }
450
+
451
+ /**
452
+ * Returns the previous run `Date` for the given `Cron` instance.
453
+ *
454
+ * Uses the current time as a starting point if no value is provided for `startFrom`.
455
+ *
456
+ * @example
457
+ * ```ts
458
+ * import * as assert from "node:assert"
459
+ * import { Cron, Either } from "effect"
460
+ *
461
+ * const before = new Date("2021-01-15 00:00:00")
462
+ * const cron = Either.getOrThrow(Cron.parse("0 4 8-14 * *"))
463
+ * assert.deepStrictEqual(Cron.prev(cron, before), new Date("2021-01-14 04:00:00"))
464
+ * ```
465
+ *
466
+ * @throws `IllegalArgumentException` if the given `DateTime.Input` is invalid.
467
+ * @throws `Error` if the previous run date cannot be found within 10,000 iterations.
468
+ *
469
+ * @since 3.20.0
470
+ */
471
+ export const prev = (cron: Cron, startFrom?: DateTime.DateTime.Input): Date => {
472
+ return stepCron(cron, startFrom, "prev")
473
+ }
474
+
475
+ /** @internal */
476
+ const stepCron = (cron: Cron, startFrom: DateTime.DateTime.Input | undefined, direction: "next" | "prev"): Date => {
397
477
  const tz = Option.getOrUndefined(cron.tz)
398
478
  const zoned = dateTime.unsafeMakeZoned(startFrom ?? new Date(), {
399
479
  timeZone: tz
400
480
  })
401
481
 
482
+ const prev = direction === "prev"
483
+ const tick = prev ? -1 : 1
484
+ const table = cron[direction]
485
+ const boundary = prev ? cron.last : cron.first
486
+
487
+ const needsStep = prev
488
+ ? (next: number, current: number) => next < current
489
+ : (next: number, current: number) => next > current
490
+
402
491
  const utc = tz !== undefined && dateTime.isTimeZoneNamed(tz) && tz.id === "UTC"
403
492
  const adjustDst = utc ? constVoid : (current: Date) => {
404
493
  const adjusted = dateTime.unsafeMakeZoned(current, {
405
494
  timeZone: zoned.zone,
406
- adjustForTimeZone: true
495
+ adjustForTimeZone: true,
496
+ disambiguation: prev ? "later" : undefined
407
497
  }).pipe(dateTime.toDate)
408
498
 
409
- // TODO: This implementation currently only skips forward when transitioning into daylight savings time.
410
499
  const drift = current.getTime() - adjusted.getTime()
411
- if (drift > 0) {
412
- current.setTime(current.getTime() + drift)
500
+ if (prev ? drift !== 0 : drift > 0) {
501
+ current.setTime(adjusted.getTime())
413
502
  }
414
503
  }
415
504
 
416
505
  const result = dateTime.mutate(zoned, (current) => {
417
- current.setUTCSeconds(current.getUTCSeconds() + 1, 0)
506
+ current.setUTCSeconds(current.getUTCSeconds() + tick, 0)
418
507
 
419
508
  for (let i = 0; i < 10_000; i++) {
420
509
  if (cron.seconds.size !== 0) {
421
510
  const currentSecond = current.getUTCSeconds()
422
- const nextSecond = cron.next.second[currentSecond]
511
+ const nextSecond = table.second[currentSecond]
423
512
  if (nextSecond === undefined) {
424
- current.setUTCMinutes(current.getUTCMinutes() + 1, cron.first.second)
513
+ current.setUTCMinutes(current.getUTCMinutes() + tick, boundary.second)
425
514
  adjustDst(current)
426
515
  continue
427
516
  }
428
- if (nextSecond > currentSecond) {
517
+ if (needsStep(nextSecond, currentSecond)) {
429
518
  current.setUTCSeconds(nextSecond)
430
519
  adjustDst(current)
431
520
  continue
@@ -434,14 +523,14 @@ export const next = (cron: Cron, startFrom?: DateTime.DateTime.Input): Date => {
434
523
 
435
524
  if (cron.minutes.size !== 0) {
436
525
  const currentMinute = current.getUTCMinutes()
437
- const nextMinute = cron.next.minute[currentMinute]
526
+ const nextMinute = table.minute[currentMinute]
438
527
  if (nextMinute === undefined) {
439
- current.setUTCHours(current.getUTCHours() + 1, cron.first.minute, cron.first.second)
528
+ current.setUTCHours(current.getUTCHours() + tick, boundary.minute, boundary.second)
440
529
  adjustDst(current)
441
530
  continue
442
531
  }
443
- if (nextMinute > currentMinute) {
444
- current.setUTCMinutes(nextMinute, cron.first.second)
532
+ if (needsStep(nextMinute, currentMinute)) {
533
+ current.setUTCMinutes(nextMinute, boundary.second)
445
534
  adjustDst(current)
446
535
  continue
447
536
  }
@@ -449,40 +538,61 @@ export const next = (cron: Cron, startFrom?: DateTime.DateTime.Input): Date => {
449
538
 
450
539
  if (cron.hours.size !== 0) {
451
540
  const currentHour = current.getUTCHours()
452
- const nextHour = cron.next.hour[currentHour]
541
+ const nextHour = table.hour[currentHour]
453
542
  if (nextHour === undefined) {
454
- current.setUTCDate(current.getUTCDate() + 1)
455
- current.setUTCHours(cron.first.hour, cron.first.minute, cron.first.second)
543
+ current.setUTCDate(current.getUTCDate() + tick)
544
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
456
545
  adjustDst(current)
457
546
  continue
458
547
  }
459
- if (nextHour > currentHour) {
460
- current.setUTCHours(nextHour, cron.first.minute, cron.first.second)
548
+ if (needsStep(nextHour, currentHour)) {
549
+ current.setUTCHours(nextHour, boundary.minute, boundary.second)
461
550
  adjustDst(current)
462
551
  continue
463
552
  }
464
553
  }
465
554
 
466
555
  if (cron.weekdays.size !== 0 || cron.days.size !== 0) {
467
- let a: number = Infinity
468
- let b: number = Infinity
556
+ let a: number = prev ? -Infinity : Infinity
557
+ let b: number = prev ? -Infinity : Infinity
469
558
 
470
559
  if (cron.weekdays.size !== 0) {
471
560
  const currentWeekday = current.getUTCDay()
472
- const nextWeekday = cron.next.weekday[currentWeekday]
473
- a = nextWeekday === undefined ? 7 - currentWeekday + cron.first.weekday : nextWeekday - currentWeekday
561
+ const nextWeekday = table.weekday[currentWeekday]
562
+ if (nextWeekday === undefined) {
563
+ a = prev
564
+ ? currentWeekday - 7 + boundary.weekday
565
+ : 7 - currentWeekday + boundary.weekday
566
+ } else {
567
+ a = nextWeekday - currentWeekday
568
+ }
474
569
  }
475
570
 
571
+ // Only check day-of-month if weekday constraint not already satisfied (they're OR'd)
476
572
  if (cron.days.size !== 0 && a !== 0) {
477
573
  const currentDay = current.getUTCDate()
478
- const nextDay = cron.next.day[currentDay]
479
- b = nextDay === undefined ? daysInMonth(current) - currentDay + cron.first.day : nextDay - currentDay
574
+ const nextDay = table.day[currentDay]
575
+ if (nextDay === undefined) {
576
+ if (prev) {
577
+ // When wrapping to previous month, calculate days back:
578
+ // Current day offset + gap from end of prev month to target day
579
+ // Example: June 3 → May 20 with boundary.day=20: -(3 + (31 - 20)) = -14
580
+ const prevMonthDays = daysInMonth(
581
+ new Date(Date.UTC(current.getUTCFullYear(), current.getUTCMonth(), 0))
582
+ )
583
+ b = -(currentDay + (prevMonthDays - boundary.day))
584
+ } else {
585
+ b = daysInMonth(current) - currentDay + boundary.day
586
+ }
587
+ } else {
588
+ b = nextDay - currentDay
589
+ }
480
590
  }
481
591
 
482
- const addDays = Math.min(a, b)
592
+ const addDays = prev ? Math.max(a, b) : Math.min(a, b)
483
593
  if (addDays !== 0) {
484
594
  current.setUTCDate(current.getUTCDate() + addDays)
485
- current.setUTCHours(cron.first.hour, cron.first.minute, cron.first.second)
595
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
486
596
  adjustDst(current)
487
597
  continue
488
598
  }
@@ -490,17 +600,25 @@ export const next = (cron: Cron, startFrom?: DateTime.DateTime.Input): Date => {
490
600
 
491
601
  if (cron.months.size !== 0) {
492
602
  const currentMonth = current.getUTCMonth() + 1
493
- const nextMonth = cron.next.month[currentMonth]
603
+ const nextMonth = table.month[currentMonth]
604
+ const clampBoundaryDay = (targetMonthIndex: number): number => {
605
+ if (cron.days.size !== 0) {
606
+ return boundary.day
607
+ }
608
+ const maxDayInMonth = daysInMonth(new Date(Date.UTC(current.getUTCFullYear(), targetMonthIndex, 1)))
609
+ return Math.min(boundary.day, maxDayInMonth)
610
+ }
494
611
  if (nextMonth === undefined) {
495
- current.setUTCFullYear(current.getUTCFullYear() + 1)
496
- current.setUTCMonth(cron.first.month, cron.first.day)
497
- current.setUTCHours(cron.first.hour, cron.first.minute, cron.first.second)
612
+ current.setUTCFullYear(current.getUTCFullYear() + tick)
613
+ current.setUTCMonth(boundary.month, clampBoundaryDay(boundary.month))
614
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
498
615
  adjustDst(current)
499
616
  continue
500
617
  }
501
- if (nextMonth > currentMonth) {
502
- current.setUTCMonth(nextMonth - 1, cron.first.day)
503
- current.setUTCHours(cron.first.hour, cron.first.minute, cron.first.second)
618
+ if (needsStep(nextMonth, currentMonth)) {
619
+ const targetMonthIndex = nextMonth - 1
620
+ current.setUTCMonth(targetMonthIndex, clampBoundaryDay(targetMonthIndex))
621
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
504
622
  adjustDst(current)
505
623
  continue
506
624
  }
@@ -526,6 +644,18 @@ export const sequence = function*(cron: Cron, startFrom?: DateTime.DateTime.Inpu
526
644
  }
527
645
  }
528
646
 
647
+ /**
648
+ * Returns an `IterableIterator` which yields the sequence of `Date`s that match the `Cron` instance,
649
+ * in reverse direction.
650
+ *
651
+ * @since 3.20.0
652
+ */
653
+ export const sequenceReverse = function*(cron: Cron, startFrom?: DateTime.DateTime.Input): IterableIterator<Date> {
654
+ while (true) {
655
+ yield startFrom = prev(cron, startFrom)
656
+ }
657
+ }
658
+
529
659
  /**
530
660
  * @category instances
531
661
  * @since 2.0.0
package/src/Effect.ts CHANGED
@@ -27148,6 +27148,12 @@ export const annotateCurrentSpan: {
27148
27148
  */
27149
27149
  export const currentSpan: Effect<Tracer.Span, Cause.NoSuchElementException> = effect.currentSpan
27150
27150
 
27151
+ /**
27152
+ * @since 3.20.0
27153
+ * @category Tracing
27154
+ */
27155
+ export const currentPropagatedSpan: Effect<Tracer.Span, Cause.NoSuchElementException> = effect.currentPropagatedSpan
27156
+
27151
27157
  /**
27152
27158
  * @since 2.0.0
27153
27159
  * @category Tracing
package/src/Equal.ts CHANGED
@@ -60,6 +60,9 @@ function compareBoth(self: unknown, that: unknown): boolean {
60
60
  }
61
61
  }
62
62
  if (structuralRegionState.enabled) {
63
+ if (self === null || that === null) {
64
+ return false
65
+ }
63
66
  if (Array.isArray(self) && Array.isArray(that)) {
64
67
  return self.length === that.length && self.every((v, i) => compareBoth(v, that[i]))
65
68
  }
package/src/Layer.ts CHANGED
@@ -1015,7 +1015,7 @@ export const scoped: {
1015
1015
  } = internal.scoped
1016
1016
 
1017
1017
  /**
1018
- * Constructs a layer from the specified scoped effect.
1018
+ * Constructs a layer from the specified scoped effect, discarding its output.
1019
1019
  *
1020
1020
  * @since 2.0.0
1021
1021
  * @category constructors
@@ -1669,3 +1669,55 @@ export const updateService = dual<
1669
1669
  layer,
1670
1670
  map(context(), (c) => Context.add(c, tag, f(Context.unsafeGet(c, tag))))
1671
1671
  ))
1672
+
1673
+ // -----------------------------------------------------------------------------
1674
+ // Type constraints
1675
+ // -----------------------------------------------------------------------------
1676
+
1677
+ /**
1678
+ * A no-op type constraint that enforces the success channel of a Layer conforms to
1679
+ * the specified success type `ROut`.
1680
+ *
1681
+ * @example
1682
+ * import { Layer } from "effect"
1683
+ *
1684
+ * // Ensure that the layer produces the expected services.
1685
+ * const program = Layer.succeed(MyService, new MyServiceImpl()).pipe(Layer.ensureSuccessType<MyService>())
1686
+ *
1687
+ * @since 3.20.0
1688
+ * @category Type constraints
1689
+ */
1690
+ export const ensureSuccessType =
1691
+ <ROut>() => <ROut2 extends ROut, E, RIn>(layer: Layer<ROut2, E, RIn>): Layer<ROut2, E, RIn> => layer
1692
+
1693
+ /**
1694
+ * A no-op type constraint that enforces the error channel of a Layer conforms to
1695
+ * the specified error type `E`.
1696
+ *
1697
+ * @example
1698
+ * import { Layer } from "effect"
1699
+ *
1700
+ * // Ensure that the layer does not expose any unhandled errors.
1701
+ * const program = Layer.succeed(MyService, new MyServiceImpl()).pipe(Layer.ensureErrorType<never>())
1702
+ *
1703
+ * @since 3.20.0
1704
+ * @category Type constraints
1705
+ */
1706
+ export const ensureErrorType = <E>() => <ROut, E2 extends E, RIn>(layer: Layer<ROut, E2, RIn>): Layer<ROut, E2, RIn> =>
1707
+ layer
1708
+
1709
+ /**
1710
+ * A no-op type constraint that enforces the requirements channel of a Layer conforms to
1711
+ * the specified requirements type `RIn`.
1712
+ *
1713
+ * @example
1714
+ * import { Layer } from "effect"
1715
+ *
1716
+ * // Ensure that the layer does not have any requirements.
1717
+ * const program = Layer.succeed(MyService, new MyServiceImpl()).pipe(Layer.ensureRequirementsType<never>())
1718
+ *
1719
+ * @since 3.20.0
1720
+ * @category Type constraints
1721
+ */
1722
+ export const ensureRequirementsType =
1723
+ <RIn>() => <ROut, E, RIn2 extends RIn>(layer: Layer<ROut, E, RIn2>): Layer<ROut, E, RIn2> => layer