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.
- package/dist/Channel.d.ts +10 -1
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +14 -8
- package/dist/Channel.js.map +1 -1
- package/dist/Config.d.ts +4 -0
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js.map +1 -1
- package/dist/Cron.d.ts +7 -0
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +109 -45
- package/dist/Cron.js.map +1 -1
- package/dist/Effect.d.ts +2 -2
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Equivalence.d.ts +52 -0
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +52 -0
- package/dist/Equivalence.js.map +1 -1
- package/dist/Layer.d.ts +5 -2
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +14 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +5 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +9 -3
- package/dist/PubSub.js.map +1 -1
- package/dist/Schema.d.ts +50 -5
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +40 -0
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaParser.d.ts +29 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +38 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/Stream.d.ts +10 -1
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +5 -1
- package/dist/Stream.js.map +1 -1
- package/dist/internal/dateTime.js +8 -1
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +4 -3
- package/dist/internal/effect.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +1 -0
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +7 -3
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +49 -21
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +4 -3
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +146 -13
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +2 -2
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +15 -13
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -3
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +1 -1
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/package.json +1 -1
- package/src/Channel.ts +23 -11
- package/src/Config.ts +5 -0
- package/src/Cron.ts +142 -45
- package/src/Effect.ts +3 -3
- package/src/Equivalence.ts +56 -0
- package/src/Layer.ts +27 -9
- package/src/LayerMap.ts +7 -5
- package/src/PubSub.ts +13 -5
- package/src/Schema.ts +62 -8
- package/src/SchemaParser.ts +53 -0
- package/src/Stream.ts +11 -1
- package/src/internal/dateTime.ts +8 -1
- package/src/internal/effect.ts +16 -13
- package/src/unstable/ai/AiError.ts +4 -2
- package/src/unstable/ai/LanguageModel.ts +59 -40
- package/src/unstable/cli/CliOutput.ts +5 -4
- package/src/unstable/cli/Prompt.ts +147 -14
- package/src/unstable/httpapi/HttpApiEndpoint.ts +2 -2
- package/src/unstable/httpapi/HttpApiMiddleware.ts +36 -20
- 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
|
|
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
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACxE,OAAO,KAAK,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAE5D,QAAA,MAAM,MAAM,sCAAsC,CAAA;AAElD,QAAA,MAAM,cAAc,+CAA+C,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,UAAU,KAAG,CAAC,IAAI,kBAAoD,CAAA;AAEpG;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"HttpApiMiddleware.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACxE,OAAO,KAAK,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAE5D,QAAA,MAAM,MAAM,sCAAsC,CAAA;AAElD,QAAA,MAAM,cAAc,+CAA+C,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,UAAU,KAAG,CAAC,IAAI,kBAAoD,CAAA;AAEpG,KAAK,eAAe,GAAG,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAE7D,KAAK,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAC/E,CAAC,SAAS,MAAM,CAAC,GAAG,GAAG,CAAC,GACxB,KAAK,CAAA;AAET;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,eAAe,EAAE,QAAQ,IAAI,CAC7E,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,QAAQ,CAAC,EAClE,OAAO,EAAE;IACP,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAA;IAC/C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAA;CAC1C,KACE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;AAExH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CACnC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,EAChE,QAAQ,EACR,CAAC,SAAS,eAAe,EACzB,QAAQ,IACN;IACF,QAAQ,EAAE,CAAC,IAAI,MAAM,QAAQ,GAAG,CAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,QAAQ,CAAC,EAClE,OAAO,EAAE;QACP,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACtE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAA;QAC/C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAA;KAC1C,KACE,MAAM,CAAC,MAAM,CAChB,kBAAkB,EAClB,SAAS,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAChD,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAC/B;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC,OAAO,EAAE;QACR,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAA;QAC/C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAA;QACzC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAA;QACrD,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,KACzC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,CAAC,eAAe,CAAC,CAAA;KAC3F,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,EAAE,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;CAClG;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,EAAE;IAC3B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAW,SAAQ,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACvC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,cAAc,CAAA;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,CAAA;CACnE;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;QACtB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;QACtB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;QAC/B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAA;QACzB,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;KACpC,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAErG;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAErG;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;AAErF;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,yBAAyB,CAAC,CAAC,CAAC,GACpH,KAAK,CAAA;AAET;;;GAGG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7C;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IACrC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA;QAC9B,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAA;KACjC,CAAA;CACF,GAAG,EAAE,GACF,KAAK,CAAA;AAET;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAC1C,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAA;KACjC,CAAA;CACF,GAAG,SAAS,CAAC,CAAC,CAAC,GACZ,KAAK,CAAA;AAET;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAEvE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAEvE;;;GAGG;AACH,MAAM,MAAM,YAAY,CACtB,IAAI,EACJ,EAAE,SAAS,MAAM,EACjB,MAAM,SAAS;IACb,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,EAAE,GAAG,CAAA;IACb,KAAK,EAAE,eAAe,CAAA;IACtB,WAAW,EAAE,GAAG,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,CAAA;CAC1D,EACD,OAAO,GACL,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,GAC9G,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAE3G,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GACjC;IACA,KAAI,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG;QAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;YACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;YAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;YAC3C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;SACxD,CAAA;KACF,CAAA;IACD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACvC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;IACvD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;CAC/C,GACC,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG;IACnD,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,cAAc,CAAA;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;CACtC,CAAC,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,OAAO,GAClB,IAAI,EACJ,MAAM,SAAS;IACb,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,WAAW,CAAC,EAAE,GAAG,CAAA;CAClB,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,KAAK,CAAA;CAAE,OACzD,CACH,KAAK,CAAC,EAAE,SAAS,MAAM,EACvB,KAAK,CAAC,KAAK,SAAS,eAAe,GAAG,KAAK,EAC3C,KAAK,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,KAAK,EAC9E,iBAAiB,SAAS,OAAO,GAAG,KAAK,EAEzC,EAAE,EAAE,EAAE,EACN,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;CAC3D,GAAG,SAAS,KACV,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE;IAC1B,QAAQ,EAAE,UAAU,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;IACtE,QAAQ,EAAE,UAAU,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;IACtE,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,aAAa,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAA;IAC/E,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAiCA,CAAA;AAOD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,yBAAyB,GAAI,EAAE,EAAE,CAAC,SAAS,eAAe,EAAE,QAAQ,EAC/E,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EACtE,WAAW,CACT,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,OAAO,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAA;CAAE,KACpG,MAAM,CAAC,MAAM,CAChB,kBAAkB,EAClB,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EACzD,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAC/B,KACA,KAAK,CAAC,KAAK,CAAC,EAAE,CAYd,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,EAAE,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EACxE,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAC1B,SACI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,GACvE,MAAM,CAAC,MAAM,CACb,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EACvE,EAAE,EACF,EAAE,CACH,KACF,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAgBnD,CAAA"}
|
|
@@ -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","
|
|
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
|
|
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
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
|
-
|
|
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
|
-
|
|
4584
|
-
isFirst
|
|
4585
|
-
|
|
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:
|
|
330
|
-
minute:
|
|
331
|
-
hour:
|
|
332
|
-
day:
|
|
333
|
-
month:
|
|
334
|
-
weekday:
|
|
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
|
|
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
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
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() +
|
|
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 =
|
|
689
|
+
const nextSecond = table.second[currentSecond]
|
|
616
690
|
if (nextSecond === undefined) {
|
|
617
|
-
current.setUTCMinutes(current.getUTCMinutes() +
|
|
691
|
+
current.setUTCMinutes(current.getUTCMinutes() + tick, boundary.second)
|
|
618
692
|
adjustDst(current)
|
|
619
693
|
continue
|
|
620
694
|
}
|
|
621
|
-
if (nextSecond
|
|
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 =
|
|
704
|
+
const nextMinute = table.minute[currentMinute]
|
|
631
705
|
if (nextMinute === undefined) {
|
|
632
|
-
current.setUTCHours(current.getUTCHours() +
|
|
706
|
+
current.setUTCHours(current.getUTCHours() + tick, boundary.minute, boundary.second)
|
|
633
707
|
adjustDst(current)
|
|
634
708
|
continue
|
|
635
709
|
}
|
|
636
|
-
if (nextMinute
|
|
637
|
-
current.setUTCMinutes(nextMinute,
|
|
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 =
|
|
719
|
+
const nextHour = table.hour[currentHour]
|
|
646
720
|
if (nextHour === undefined) {
|
|
647
|
-
current.setUTCDate(current.getUTCDate() +
|
|
648
|
-
current.setUTCHours(
|
|
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
|
|
653
|
-
current.setUTCHours(nextHour,
|
|
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 =
|
|
666
|
-
|
|
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 =
|
|
672
|
-
|
|
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(
|
|
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 =
|
|
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() +
|
|
689
|
-
current.setUTCMonth(
|
|
690
|
-
current.setUTCHours(
|
|
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
|
|
695
|
-
|
|
696
|
-
current.
|
|
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
|
|
802
|
+
throw new Error("Unable to find " + direction + " cron date")
|
|
706
803
|
})
|
|
707
804
|
|
|
708
805
|
return dateTime.toDateUtc(result)
|