effect 4.0.0-beta.34 → 4.0.0-beta.36

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 (84) hide show
  1. package/dist/Channel.d.ts +10 -1
  2. package/dist/Channel.d.ts.map +1 -1
  3. package/dist/Channel.js +14 -8
  4. package/dist/Channel.js.map +1 -1
  5. package/dist/Config.d.ts +4 -0
  6. package/dist/Config.d.ts.map +1 -1
  7. package/dist/Config.js.map +1 -1
  8. package/dist/Cron.d.ts +7 -0
  9. package/dist/Cron.d.ts.map +1 -1
  10. package/dist/Cron.js +109 -45
  11. package/dist/Cron.js.map +1 -1
  12. package/dist/Effect.d.ts +2 -2
  13. package/dist/Effect.d.ts.map +1 -1
  14. package/dist/Effect.js.map +1 -1
  15. package/dist/Equivalence.d.ts +52 -0
  16. package/dist/Equivalence.d.ts.map +1 -1
  17. package/dist/Equivalence.js +52 -0
  18. package/dist/Equivalence.js.map +1 -1
  19. package/dist/Layer.d.ts +5 -2
  20. package/dist/Layer.d.ts.map +1 -1
  21. package/dist/Layer.js +14 -1
  22. package/dist/Layer.js.map +1 -1
  23. package/dist/LayerMap.d.ts +5 -4
  24. package/dist/LayerMap.d.ts.map +1 -1
  25. package/dist/LayerMap.js.map +1 -1
  26. package/dist/PubSub.d.ts.map +1 -1
  27. package/dist/PubSub.js +9 -3
  28. package/dist/PubSub.js.map +1 -1
  29. package/dist/Schema.d.ts +50 -5
  30. package/dist/Schema.d.ts.map +1 -1
  31. package/dist/Schema.js +40 -0
  32. package/dist/Schema.js.map +1 -1
  33. package/dist/SchemaParser.d.ts +29 -0
  34. package/dist/SchemaParser.d.ts.map +1 -1
  35. package/dist/SchemaParser.js +38 -0
  36. package/dist/SchemaParser.js.map +1 -1
  37. package/dist/Stream.d.ts +10 -1
  38. package/dist/Stream.d.ts.map +1 -1
  39. package/dist/Stream.js +5 -1
  40. package/dist/Stream.js.map +1 -1
  41. package/dist/internal/dateTime.js +8 -1
  42. package/dist/internal/dateTime.js.map +1 -1
  43. package/dist/internal/effect.js +4 -3
  44. package/dist/internal/effect.js.map +1 -1
  45. package/dist/unstable/ai/AiError.d.ts +1 -0
  46. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  47. package/dist/unstable/ai/AiError.js +7 -3
  48. package/dist/unstable/ai/AiError.js.map +1 -1
  49. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  50. package/dist/unstable/ai/LanguageModel.js +49 -21
  51. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  52. package/dist/unstable/cli/CliOutput.js +4 -3
  53. package/dist/unstable/cli/CliOutput.js.map +1 -1
  54. package/dist/unstable/cli/Prompt.js +146 -13
  55. package/dist/unstable/cli/Prompt.js.map +1 -1
  56. package/dist/unstable/httpapi/HttpApiEndpoint.js +2 -2
  57. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  58. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +15 -13
  59. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  60. package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -3
  61. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  62. package/dist/unstable/rpc/RpcSerialization.js +1 -1
  63. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  64. package/package.json +1 -1
  65. package/src/Channel.ts +23 -11
  66. package/src/Config.ts +5 -0
  67. package/src/Cron.ts +142 -45
  68. package/src/Effect.ts +3 -3
  69. package/src/Equivalence.ts +56 -0
  70. package/src/Layer.ts +27 -9
  71. package/src/LayerMap.ts +7 -5
  72. package/src/PubSub.ts +13 -5
  73. package/src/Schema.ts +62 -8
  74. package/src/SchemaParser.ts +53 -0
  75. package/src/Stream.ts +11 -1
  76. package/src/internal/dateTime.ts +8 -1
  77. package/src/internal/effect.ts +16 -13
  78. package/src/unstable/ai/AiError.ts +4 -2
  79. package/src/unstable/ai/LanguageModel.ts +59 -40
  80. package/src/unstable/cli/CliOutput.ts +5 -4
  81. package/src/unstable/cli/Prompt.ts +147 -14
  82. package/src/unstable/httpapi/HttpApiEndpoint.ts +2 -2
  83. package/src/unstable/httpapi/HttpApiMiddleware.ts +36 -20
  84. package/src/unstable/rpc/RpcSerialization.ts +1 -1
@@ -22,24 +22,26 @@ declare const SecurityTypeId = "~effect/httpapi/HttpApiMiddleware/Security";
22
22
  * @category guards
23
23
  */
24
24
  export declare const isSecurity: (u: AnyService) => u is AnyServiceSecurity;
25
+ type ErrorConstraint = Schema.Top | ReadonlyArray<Schema.Top>;
26
+ type ErrorSchemaFromConstraint<E> = E extends ReadonlyArray<Schema.Top> ? E[number] : E extends Schema.Top ? E : never;
25
27
  /**
26
28
  * @since 4.0.0
27
29
  * @category models
28
30
  */
29
- export type HttpApiMiddleware<Provides, E extends Schema.Top, Requires> = (httpEffect: Effect.Effect<HttpServerResponse, unhandled, Provides>, options: {
31
+ export type HttpApiMiddleware<Provides, E extends ErrorConstraint, Requires> = (httpEffect: Effect.Effect<HttpServerResponse, unhandled, Provides>, options: {
30
32
  readonly endpoint: HttpApiEndpoint.AnyWithProps;
31
33
  readonly group: HttpApiGroup.AnyWithProps;
32
- }) => Effect.Effect<HttpServerResponse, unhandled | E["Type"], Requires | HttpRouter.Provided>;
34
+ }) => Effect.Effect<HttpServerResponse, unhandled | ErrorSchemaFromConstraint<E>["Type"], Requires | HttpRouter.Provided>;
33
35
  /**
34
36
  * @since 4.0.0
35
37
  * @category models
36
38
  */
37
- export type HttpApiMiddlewareSecurity<Security extends Record<string, HttpApiSecurity.HttpApiSecurity>, Provides, E extends Schema.Top, Requires> = {
39
+ export type HttpApiMiddlewareSecurity<Security extends Record<string, HttpApiSecurity.HttpApiSecurity>, Provides, E extends ErrorConstraint, Requires> = {
38
40
  readonly [K in keyof Security]: (httpEffect: Effect.Effect<HttpServerResponse, unhandled, Provides>, options: {
39
41
  readonly credential: HttpApiSecurity.HttpApiSecurity.Type<Security[K]>;
40
42
  readonly endpoint: HttpApiEndpoint.AnyWithProps;
41
43
  readonly group: HttpApiGroup.AnyWithProps;
42
- }) => Effect.Effect<HttpServerResponse, unhandled | E["Type"], Requires | HttpRouter.Provided>;
44
+ }) => Effect.Effect<HttpServerResponse, unhandled | ErrorSchemaFromConstraint<E>["Type"], Requires | HttpRouter.Provided>;
43
45
  };
44
46
  /**
45
47
  * @since 4.0.0
@@ -68,7 +70,7 @@ export interface ForClient<Id> {
68
70
  export interface AnyService extends ServiceMap.Key<any, any> {
69
71
  readonly [TypeId]: typeof TypeId;
70
72
  readonly provides: any;
71
- readonly error: Schema.Top;
73
+ readonly error: ReadonlySet<Schema.Top>;
72
74
  readonly requiredForClient: boolean;
73
75
  readonly "~ClientError": any;
74
76
  }
@@ -88,7 +90,7 @@ export interface AnyId {
88
90
  readonly [TypeId]: {
89
91
  readonly provides: any;
90
92
  readonly requires: any;
91
- readonly error: Schema.Top;
93
+ readonly error: ErrorConstraint;
92
94
  readonly clientError: any;
93
95
  readonly requiredForClient: boolean;
94
96
  };
@@ -124,7 +126,7 @@ export type ErrorSchema<A> = A extends {
124
126
  readonly [TypeId]: {
125
127
  readonly error: infer E;
126
128
  };
127
- } ? E extends Schema.Top ? E : never : never;
129
+ } ? ErrorSchemaFromConstraint<E> : never;
128
130
  /**
129
131
  * @since 4.0.0
130
132
  * @category models
@@ -166,7 +168,7 @@ export type ErrorServicesDecode<A> = ErrorSchema<A>["DecodingServices"];
166
168
  export type ServiceClass<Self, Id extends string, Config extends {
167
169
  requires: any;
168
170
  provides: any;
169
- error: Schema.Top;
171
+ error: ErrorConstraint;
170
172
  clientError: any;
171
173
  requiredForClient: boolean;
172
174
  security: Record<string, HttpApiSecurity.HttpApiSecurity>;
@@ -181,7 +183,7 @@ export type ServiceClass<Self, Id extends string, Config extends {
181
183
  };
182
184
  };
183
185
  readonly [TypeId]: typeof TypeId;
184
- readonly error: Config["error"];
186
+ readonly error: ReadonlySet<Schema.Top>;
185
187
  readonly requiredForClient: Config["requiredForClient"];
186
188
  readonly "~ClientError": Config["clientError"];
187
189
  } & ([keyof Config["security"]] extends [never] ? {} : {
@@ -200,7 +202,7 @@ export declare const Service: <Self, Config extends {
200
202
  requires: never;
201
203
  provides: never;
202
204
  clientError: never;
203
- }>() => <const Id extends string, Error extends Schema.Top = never, const Security extends Record<string, HttpApiSecurity.HttpApiSecurity> = never, RequiredForClient extends boolean = false>(id: Id, options?: {
205
+ }>() => <const Id extends string, const Error extends ErrorConstraint = never, const Security extends Record<string, HttpApiSecurity.HttpApiSecurity> = never, RequiredForClient extends boolean = false>(id: Id, options?: {
204
206
  readonly error?: Error | undefined;
205
207
  readonly security?: Security | undefined;
206
208
  readonly requiredForClient?: RequiredForClient | undefined;
@@ -237,14 +239,14 @@ export declare const Service: <Self, Config extends {
237
239
  * @since 4.0.0
238
240
  * @category SchemaError transform
239
241
  */
240
- export declare const layerSchemaErrorTransform: <Id, E extends Schema.Top, Requires>(service: ServiceMap.Service<Id, HttpApiMiddleware<never, E, Requires>>, transform: (error: Schema.SchemaError, context: {
242
+ export declare const layerSchemaErrorTransform: <Id, E extends ErrorConstraint, Requires>(service: ServiceMap.Service<Id, HttpApiMiddleware<never, E, Requires>>, transform: (error: Schema.SchemaError, context: {
241
243
  readonly endpoint: HttpApiEndpoint.AnyWithProps;
242
244
  readonly group: HttpApiGroup.AnyWithProps;
243
- }) => Effect.Effect<HttpServerResponse, E["Type"] | Schema.SchemaError, Requires | HttpRouter.Provided>) => Layer.Layer<Id>;
245
+ }) => Effect.Effect<HttpServerResponse, ErrorSchemaFromConstraint<E>["Type"] | Schema.SchemaError, Requires | HttpRouter.Provided>) => Layer.Layer<Id>;
244
246
  /**
245
247
  * @since 4.0.0
246
248
  * @category client
247
249
  */
248
- export declare const layerClient: <Id extends AnyId, S, R, EX = never, RX = never>(tag: ServiceMap.Key<Id, S>, service: HttpApiMiddlewareClient<Id[typeof TypeId]["error"]["Type"], Id[typeof TypeId]["clientError"], R> | Effect.Effect<HttpApiMiddlewareClient<Id[typeof TypeId]["error"]["Type"], Id[typeof TypeId]["clientError"], R>, EX, RX>) => Layer.Layer<ForClient<Id>, EX, R | Exclude<RX, Scope>>;
250
+ export declare const layerClient: <Id extends AnyId, S, R, EX = never, RX = never>(tag: ServiceMap.Key<Id, S>, service: HttpApiMiddlewareClient<Error<Id>, Id[typeof TypeId]["clientError"], R> | Effect.Effect<HttpApiMiddlewareClient<Error<Id>, Id[typeof TypeId]["clientError"], R>, EX, RX>) => Layer.Layer<ForClient<Id>, EX, R | Exclude<RX, Scope>>;
249
251
  export {};
250
252
  //# sourceMappingURL=HttpApiMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiMiddleware.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpApiMiddleware.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"names":[],"mappings":"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"}
@@ -32,10 +32,8 @@ export const Service = () => (id, options) => {
32
32
  }
33
33
  });
34
34
  self[TypeId] = TypeId;
35
+ self.error = getError(options?.error);
35
36
  self.requiredForClient = options?.requiredForClient ?? false;
36
- if (options?.error !== undefined) {
37
- self.error = options.error;
38
- }
39
37
  if (options?.security !== undefined) {
40
38
  if (Object.keys(options.security).length === 0) {
41
39
  throw new Error("HttpApiMiddleware.Service: security object must not be empty");
@@ -45,6 +43,10 @@ export const Service = () => (id, options) => {
45
43
  }
46
44
  return self;
47
45
  };
46
+ function getError(error) {
47
+ if (error === undefined) return new Set();
48
+ return new Set(Array.isArray(error) ? error : [error]);
49
+ }
48
50
  /**
49
51
  * Implement a middleware Layer that transforms `SchemaError`'s.
50
52
  *
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiMiddleware.js","names":["Effect","Layer","hasProperty","Schema","Scope","ServiceMap","TypeId","SecurityTypeId","isSecurity","u","Service","id","options","Err","globalThis","Error","limit","stackTraceLimit","creationError","self","Object","defineProperty","get","stack","requiredForClient","error","undefined","security","keys","length","layerSchemaErrorTransform","service","transform","succeed","httpEffect","catch","e","isSchemaError","fail","layerClient","tag","effectServices","gen","services","pipe","omit","middleware","isEffect","makeUnsafe","Map","key","updateServices","requestContext","merge"],"sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiMiddleware.js","names":["Effect","Layer","hasProperty","Schema","Scope","ServiceMap","TypeId","SecurityTypeId","isSecurity","u","Service","id","options","Err","globalThis","Error","limit","stackTraceLimit","creationError","self","Object","defineProperty","get","stack","error","getError","requiredForClient","security","undefined","keys","length","Set","Array","isArray","layerSchemaErrorTransform","service","transform","succeed","httpEffect","catch","e","isSchemaError","fail","layerClient","tag","effectServices","gen","services","pipe","omit","middleware","isEffect","makeUnsafe","Map","key","updateServices","requestContext","merge"],"sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -135,7 +135,7 @@ function decodeJsonRpcRaw(decoded, batches) {
135
135
  }
136
136
  return messages;
137
137
  }
138
- return Array.isArray(decoded) ? decoded.map(decodeJsonRpcMessage) : [decodeJsonRpcMessage(decoded)];
138
+ return [decodeJsonRpcMessage(decoded)];
139
139
  }
140
140
  function decodeJsonRpcMessage(decoded) {
141
141
  if ("method" in decoded) {
@@ -1 +1 @@
1
- {"version":3,"file":"RpcSerialization.js","names":["Msgpackr","Layer","Predicate","hasProperty","ServiceMap","RpcSerialization","Service","json","of","contentType","includesFraming","makeUnsafe","decoder","TextDecoder","decode","bytes","decoded","JSON","parse","Array","isArray","encode","response","stringify","ndjson","buffer","position","nlIndex","indexOf","items","item","slice","push","length","undefined","data","i","jsonRpc","options","batches","Map","decodeJsonRpcRaw","encoded","encodeJsonRpcResponse","ndJsonRpc","parser","frames","messages","frame","batch","size","responses","message","decodeJsonRpcMessage","_tag","set","id","map","method","startsWith","tag","requestId","params","String","payload","headers","spanId","traceId","sampled","error","defect","chunk","values","result","exit","cause","value","encodeJsonRpcRaw","encodeJsonRpcMessage","get","delete","from","current","jsonrpc","Number","find","failure","code","jsonRpcInternalError","msgPack","unpackr","Unpackr","useRecords","packr","Packr","encoder","TextEncoder","incomplete","buf","prev","Uint8Array","unpackMultiple","error_","subarray","lastPosition","pack","layerJson","succeed","layerNdjson","layerJsonRpc","layerNdJsonRpc","layerMsgPack"],"sources":["../../../src/unstable/rpc/RpcSerialization.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RpcSerialization.js","names":["Msgpackr","Layer","Predicate","hasProperty","ServiceMap","RpcSerialization","Service","json","of","contentType","includesFraming","makeUnsafe","decoder","TextDecoder","decode","bytes","decoded","JSON","parse","Array","isArray","encode","response","stringify","ndjson","buffer","position","nlIndex","indexOf","items","item","slice","push","length","undefined","data","i","jsonRpc","options","batches","Map","decodeJsonRpcRaw","encoded","encodeJsonRpcResponse","ndJsonRpc","parser","frames","messages","frame","batch","size","responses","message","decodeJsonRpcMessage","_tag","set","id","method","startsWith","tag","requestId","params","String","payload","headers","spanId","traceId","sampled","error","defect","chunk","values","result","exit","cause","value","encodeJsonRpcRaw","encodeJsonRpcMessage","get","delete","from","current","jsonrpc","Number","find","failure","code","jsonRpcInternalError","msgPack","unpackr","Unpackr","useRecords","packr","Packr","encoder","TextEncoder","incomplete","buf","prev","Uint8Array","unpackMultiple","error_","subarray","lastPosition","pack","layerJson","succeed","layerNdjson","layerJsonRpc","layerNdJsonRpc","layerMsgPack"],"sources":["../../../src/unstable/rpc/RpcSerialization.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "effect",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.34",
4
+ "version": "4.0.0-beta.36",
5
5
  "license": "MIT",
6
6
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
7
7
  "homepage": "https://effect.website",
package/src/Channel.ts CHANGED
@@ -92,7 +92,17 @@ import { ParentSpan, type SpanOptions } from "./Tracer.ts"
92
92
  import type * as Types from "./Types.ts"
93
93
  import type * as Unify from "./Unify.ts"
94
94
 
95
- const TypeId = "~effect/Channel"
95
+ /**
96
+ * @since 4.0.0
97
+ * @category Type Identifiers
98
+ */
99
+ export type TypeId = "~effect/Channel"
100
+
101
+ /**
102
+ * @since 4.0.0
103
+ * @category Type Identifiers
104
+ */
105
+ export const TypeId: TypeId = "~effect/Channel"
96
106
 
97
107
  /**
98
108
  * Tests if a value is a `Channel`.
@@ -4580,17 +4590,19 @@ export const scanEffect: {
4580
4590
  Effect.map(toTransform(self)(upstream, scope), (pull) => {
4581
4591
  let state = initial
4582
4592
  let isFirst = true
4583
- if (isFirst) {
4584
- isFirst = false
4585
- return Effect.succeed(state)
4586
- }
4587
- return Effect.map(
4588
- Effect.flatMap(pull, (a) => f(state, a)),
4589
- (newState) => {
4590
- state = newState
4591
- return state
4593
+ return Effect.suspend(() => {
4594
+ if (isFirst) {
4595
+ isFirst = false
4596
+ return Effect.succeed(state)
4592
4597
  }
4593
- )
4598
+ return Effect.map(
4599
+ Effect.flatMap(pull, (a) => f(state, a)),
4600
+ (newState) => {
4601
+ state = newState
4602
+ return state
4603
+ }
4604
+ )
4605
+ })
4594
4606
  })
4595
4607
  ))
4596
4608
 
package/src/Config.ts CHANGED
@@ -680,6 +680,11 @@ export const withDefault: {
680
680
  export const option = <A>(self: Config<A>): Config<Option.Option<A>> =>
681
681
  self.pipe(map(Option.some), withDefault(Option.none()))
682
682
 
683
+ /**
684
+ * @since 3.0.0
685
+ */
686
+ export type Success<T> = [T] extends [Config<infer A>] ? A : never
687
+
683
688
  /**
684
689
  * Utility type that recursively replaces primitives with `Config` in a nested
685
690
  * structure.
package/src/Cron.ts CHANGED
@@ -100,6 +100,15 @@ export interface Cron extends Pipeable, Equal.Equal, Inspectable {
100
100
  readonly weekday: number
101
101
  }
102
102
  /** @internal */
103
+ readonly last: {
104
+ readonly second: number
105
+ readonly minute: number
106
+ readonly hour: number
107
+ readonly day: number
108
+ readonly month: number
109
+ readonly weekday: number
110
+ }
111
+ /** @internal */
103
112
  readonly next: {
104
113
  readonly second: ReadonlyArray<number | undefined>
105
114
  readonly minute: ReadonlyArray<number | undefined>
@@ -108,6 +117,15 @@ export interface Cron extends Pipeable, Equal.Equal, Inspectable {
108
117
  readonly month: ReadonlyArray<number | undefined>
109
118
  readonly weekday: ReadonlyArray<number | undefined>
110
119
  }
120
+ /** @internal */
121
+ readonly prev: {
122
+ readonly second: ReadonlyArray<number | undefined>
123
+ readonly minute: ReadonlyArray<number | undefined>
124
+ readonly hour: ReadonlyArray<number | undefined>
125
+ readonly day: ReadonlyArray<number | undefined>
126
+ readonly month: ReadonlyArray<number | undefined>
127
+ readonly weekday: ReadonlyArray<number | undefined>
128
+ }
111
129
  }
112
130
 
113
131
  function toPojo(cron: Cron): Record<string, unknown> {
@@ -325,31 +343,64 @@ export const make = (values: {
325
343
  weekday: weekdays[0] ?? 0
326
344
  }
327
345
 
346
+ o.last = {
347
+ second: seconds[seconds.length - 1] ?? 59,
348
+ minute: minutes[minutes.length - 1] ?? 59,
349
+ hour: hours[hours.length - 1] ?? 23,
350
+ day: days[days.length - 1] ?? 31,
351
+ month: (months[months.length - 1] ?? 12) - 1,
352
+ weekday: weekdays[weekdays.length - 1] ?? 6
353
+ }
354
+
328
355
  o.next = {
329
- second: nextLookupTable(seconds, 60),
330
- minute: nextLookupTable(minutes, 60),
331
- hour: nextLookupTable(hours, 24),
332
- day: nextLookupTable(days, 32),
333
- month: nextLookupTable(months, 13),
334
- weekday: nextLookupTable(weekdays, 7)
356
+ second: lookupTable(seconds, 60, "next"),
357
+ minute: lookupTable(minutes, 60, "next"),
358
+ hour: lookupTable(hours, 24, "next"),
359
+ day: lookupTable(days, 32, "next"),
360
+ month: lookupTable(months, 13, "next"),
361
+ weekday: lookupTable(weekdays, 7, "next")
362
+ }
363
+
364
+ o.prev = {
365
+ second: lookupTable(seconds, 60, "prev"),
366
+ minute: lookupTable(minutes, 60, "prev"),
367
+ hour: lookupTable(hours, 24, "prev"),
368
+ day: lookupTable(days, 32, "prev"),
369
+ month: lookupTable(months, 13, "prev"),
370
+ weekday: lookupTable(weekdays, 7, "prev")
335
371
  }
336
372
 
337
373
  return o
338
374
  }
339
375
 
340
- const nextLookupTable = (values: ReadonlyArray<number>, size: number): Array<number | undefined> => {
376
+ const lookupTable = (
377
+ values: ReadonlyArray<number>,
378
+ size: number,
379
+ dir: "next" | "prev"
380
+ ): Array<number | undefined> => {
341
381
  const result = new Array(size).fill(undefined)
342
382
  if (values.length === 0) {
343
383
  return result
344
384
  }
345
385
 
346
386
  let current: number | undefined = undefined
347
- let index = values.length - 1
348
- for (let i = size - 1; i >= 0; i--) {
349
- while (index >= 0 && values[index] >= i) {
350
- current = values[index--]
387
+
388
+ if (dir === "next") {
389
+ let index = values.length - 1
390
+ for (let i = size - 1; i >= 0; i--) {
391
+ while (index >= 0 && values[index] >= i) {
392
+ current = values[index--]
393
+ }
394
+ result[i] = current
395
+ }
396
+ } else {
397
+ let index = 0
398
+ for (let i = 0; i < size; i++) {
399
+ while (index < values.length && values[index] <= i) {
400
+ current = values[index++]
401
+ }
402
+ result[i] = current
351
403
  }
352
- result[i] = current
353
404
  }
354
405
 
355
406
  return result
@@ -587,38 +638,61 @@ const daysInMonth = (date: Date): number =>
587
638
  * @category utils
588
639
  */
589
640
  export const next = (cron: Cron, now?: DateTime.DateTime.Input): Date => {
641
+ return stepCron(cron, now, "next")
642
+ }
643
+
644
+ /**
645
+ * Returns the previous scheduled date/time for the given Cron instance.
646
+ *
647
+ * @since 4.0.0
648
+ * @category utils
649
+ */
650
+ export const prev = (cron: Cron, now?: DateTime.DateTime.Input): Date => {
651
+ return stepCron(cron, now, "prev")
652
+ }
653
+
654
+ const stepCron = (cron: Cron, now: DateTime.DateTime.Input | undefined, direction: "next" | "prev"): Date => {
590
655
  const tz = Option.getOrUndefined(cron.tz)
591
656
  const zoned = dateTime.makeZonedUnsafe(now ?? new Date(), {
592
657
  timeZone: tz
593
658
  })
594
659
 
660
+ const reverse = direction === "prev"
661
+ const tick = reverse ? -1 : 1
662
+ const table = cron[direction]
663
+ const boundary = reverse ? cron.last : cron.first
664
+
665
+ const needsStep = reverse ?
666
+ (next: number, current: number) => next < current :
667
+ (next: number, current: number) => next > current
668
+
595
669
  const utc = tz !== undefined && dateTime.isTimeZoneNamed(tz) && tz.id === "UTC"
596
670
  const adjustDst = utc ? constVoid : (current: Date) => {
597
671
  const adjusted = dateTime.makeZonedUnsafe(current, {
598
672
  timeZone: zoned.zone,
599
- adjustForTimeZone: true
673
+ adjustForTimeZone: true,
674
+ disambiguation: reverse ? "later" : undefined
600
675
  }).pipe(dateTime.toDate)
601
676
 
602
- // TODO: This implementation currently only skips forward when transitioning into daylight savings time.
603
677
  const drift = current.getTime() - adjusted.getTime()
604
- if (drift > 0) {
605
- current.setTime(current.getTime() + drift)
678
+ if (reverse ? drift !== 0 : drift > 0) {
679
+ current.setTime(reverse ? adjusted.getTime() : current.getTime() + drift)
606
680
  }
607
681
  }
608
682
 
609
683
  const result = dateTime.mutate(zoned, (current) => {
610
- current.setUTCSeconds(current.getUTCSeconds() + 1, 0)
684
+ current.setUTCSeconds(current.getUTCSeconds() + tick, 0)
611
685
 
612
686
  for (let i = 0; i < 10_000; i++) {
613
687
  if (cron.seconds.size !== 0) {
614
688
  const currentSecond = current.getUTCSeconds()
615
- const nextSecond = cron.next.second[currentSecond]
689
+ const nextSecond = table.second[currentSecond]
616
690
  if (nextSecond === undefined) {
617
- current.setUTCMinutes(current.getUTCMinutes() + 1, cron.first.second)
691
+ current.setUTCMinutes(current.getUTCMinutes() + tick, boundary.second)
618
692
  adjustDst(current)
619
693
  continue
620
694
  }
621
- if (nextSecond > currentSecond) {
695
+ if (needsStep(nextSecond, currentSecond)) {
622
696
  current.setUTCSeconds(nextSecond)
623
697
  adjustDst(current)
624
698
  continue
@@ -627,14 +701,14 @@ export const next = (cron: Cron, now?: DateTime.DateTime.Input): Date => {
627
701
 
628
702
  if (cron.minutes.size !== 0) {
629
703
  const currentMinute = current.getUTCMinutes()
630
- const nextMinute = cron.next.minute[currentMinute]
704
+ const nextMinute = table.minute[currentMinute]
631
705
  if (nextMinute === undefined) {
632
- current.setUTCHours(current.getUTCHours() + 1, cron.first.minute, cron.first.second)
706
+ current.setUTCHours(current.getUTCHours() + tick, boundary.minute, boundary.second)
633
707
  adjustDst(current)
634
708
  continue
635
709
  }
636
- if (nextMinute > currentMinute) {
637
- current.setUTCMinutes(nextMinute, cron.first.second)
710
+ if (needsStep(nextMinute, currentMinute)) {
711
+ current.setUTCMinutes(nextMinute, boundary.second)
638
712
  adjustDst(current)
639
713
  continue
640
714
  }
@@ -642,40 +716,55 @@ export const next = (cron: Cron, now?: DateTime.DateTime.Input): Date => {
642
716
 
643
717
  if (cron.hours.size !== 0) {
644
718
  const currentHour = current.getUTCHours()
645
- const nextHour = cron.next.hour[currentHour]
719
+ const nextHour = table.hour[currentHour]
646
720
  if (nextHour === undefined) {
647
- current.setUTCDate(current.getUTCDate() + 1)
648
- current.setUTCHours(cron.first.hour, cron.first.minute, cron.first.second)
721
+ current.setUTCDate(current.getUTCDate() + tick)
722
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
649
723
  adjustDst(current)
650
724
  continue
651
725
  }
652
- if (nextHour > currentHour) {
653
- current.setUTCHours(nextHour, cron.first.minute, cron.first.second)
726
+ if (needsStep(nextHour, currentHour)) {
727
+ current.setUTCHours(nextHour, boundary.minute, boundary.second)
654
728
  adjustDst(current)
655
729
  continue
656
730
  }
657
731
  }
658
732
 
659
733
  if (cron.weekdays.size !== 0 || cron.days.size !== 0) {
660
- let a: number = Infinity
661
- let b: number = Infinity
734
+ let a: number = reverse ? -Infinity : Infinity
735
+ let b: number = reverse ? -Infinity : Infinity
662
736
 
663
737
  if (cron.weekdays.size !== 0) {
664
738
  const currentWeekday = current.getUTCDay()
665
- const nextWeekday = cron.next.weekday[currentWeekday]
666
- a = nextWeekday === undefined ? 7 - currentWeekday + cron.first.weekday : nextWeekday - currentWeekday
739
+ const nextWeekday = table.weekday[currentWeekday]
740
+ if (nextWeekday === undefined) {
741
+ a = reverse ?
742
+ currentWeekday - 7 + boundary.weekday :
743
+ 7 - currentWeekday + boundary.weekday
744
+ } else {
745
+ a = nextWeekday - currentWeekday
746
+ }
667
747
  }
668
748
 
669
749
  if (cron.days.size !== 0 && a !== 0) {
670
750
  const currentDay = current.getUTCDate()
671
- const nextDay = cron.next.day[currentDay]
672
- b = nextDay === undefined ? daysInMonth(current) - currentDay + cron.first.day : nextDay - currentDay
751
+ const nextDay = table.day[currentDay]
752
+ if (nextDay === undefined) {
753
+ if (reverse) {
754
+ const prevMonthDays = daysInMonth(new Date(Date.UTC(current.getUTCFullYear(), current.getUTCMonth(), 0)))
755
+ b = -(currentDay + (prevMonthDays - boundary.day))
756
+ } else {
757
+ b = daysInMonth(current) - currentDay + boundary.day
758
+ }
759
+ } else {
760
+ b = nextDay - currentDay
761
+ }
673
762
  }
674
763
 
675
- const addDays = Math.min(a, b)
764
+ const addDays = reverse ? Math.max(a, b) : Math.min(a, b)
676
765
  if (addDays !== 0) {
677
766
  current.setUTCDate(current.getUTCDate() + addDays)
678
- current.setUTCHours(cron.first.hour, cron.first.minute, cron.first.second)
767
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
679
768
  adjustDst(current)
680
769
  continue
681
770
  }
@@ -683,17 +772,25 @@ export const next = (cron: Cron, now?: DateTime.DateTime.Input): Date => {
683
772
 
684
773
  if (cron.months.size !== 0) {
685
774
  const currentMonth = current.getUTCMonth() + 1
686
- const nextMonth = cron.next.month[currentMonth]
775
+ const nextMonth = table.month[currentMonth]
776
+ const clampBoundaryDay = (targetMonthIndex: number): number => {
777
+ if (cron.days.size !== 0) {
778
+ return boundary.day
779
+ }
780
+ const maxDayInMonth = daysInMonth(new Date(Date.UTC(current.getUTCFullYear(), targetMonthIndex + 1, 0)))
781
+ return Math.min(boundary.day, maxDayInMonth)
782
+ }
687
783
  if (nextMonth === undefined) {
688
- current.setUTCFullYear(current.getUTCFullYear() + 1)
689
- current.setUTCMonth(cron.first.month, cron.first.day)
690
- current.setUTCHours(cron.first.hour, cron.first.minute, cron.first.second)
784
+ current.setUTCFullYear(current.getUTCFullYear() + tick)
785
+ current.setUTCMonth(boundary.month, clampBoundaryDay(boundary.month))
786
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
691
787
  adjustDst(current)
692
788
  continue
693
789
  }
694
- if (nextMonth > currentMonth) {
695
- current.setUTCMonth(nextMonth - 1, cron.first.day)
696
- current.setUTCHours(cron.first.hour, cron.first.minute, cron.first.second)
790
+ if (needsStep(nextMonth, currentMonth)) {
791
+ const targetMonthIndex = nextMonth - 1
792
+ current.setUTCMonth(targetMonthIndex, clampBoundaryDay(targetMonthIndex))
793
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
697
794
  adjustDst(current)
698
795
  continue
699
796
  }
@@ -702,7 +799,7 @@ export const next = (cron: Cron, now?: DateTime.DateTime.Input): Date => {
702
799
  return
703
800
  }
704
801
 
705
- throw new Error("Unable to find next cron date")
802
+ throw new Error("Unable to find " + direction + " cron date")
706
803
  })
707
804
 
708
805
  return dateTime.toDateUtc(result)