effect-app 4.0.0-beta.67 → 4.0.0-beta.68
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/CHANGELOG.md +6 -0
- package/dist/Config/SecretURL.js +2 -2
- package/dist/Context.d.ts +5 -7
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +8 -9
- package/dist/Operations.d.ts +3 -3
- package/dist/Schema/SpecialJsonSchema.d.ts +4 -33
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -1
- package/dist/Schema/SpecialJsonSchema.js +7 -187
- package/dist/Schema/ext.d.ts +5 -86
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +7 -98
- package/dist/Schema/moreStrings.d.ts +4 -4
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/strings.d.ts +4 -4
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema.d.ts +1 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +5 -5
- package/dist/client/errors.d.ts +8 -8
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -4
- package/dist/rpc/MiddlewareMaker.js +2 -2
- package/package.json +1 -1
- package/src/Config/SecretURL.ts +1 -1
- package/test/dist/secretURL.test.d.ts.map +1 -0
- package/test/secretURL.test.ts +157 -0
package/CHANGELOG.md
CHANGED
package/dist/Config/SecretURL.js
CHANGED
|
@@ -36,6 +36,6 @@ export const value = internal.value;
|
|
|
36
36
|
*/
|
|
37
37
|
export const unsafeWipe = internal.unsafeWipe;
|
|
38
38
|
export const secretURL = (name) => {
|
|
39
|
-
return Config.map(Config.
|
|
39
|
+
return Config.map(Config.nonEmptyString(name), fromString);
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0VVJMLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbmZpZy9TZWNyZXRVUkwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQUUsTUFBTSxFQUE2QixNQUFNLFFBQVEsQ0FBQTtBQUUxRCxPQUFPLEtBQUssUUFBUSxNQUFNLCtCQUErQixDQUFBO0FBeUJ6RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQWlCLEVBQUUsQ0FBQTtBQU96Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFtQyxRQUFRLENBQUMsV0FBVyxDQUFBO0FBRS9FOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBd0MsUUFBUSxDQUFDLElBQUksQ0FBQTtBQUV0RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThDLFFBQVEsQ0FBQyxTQUFTLENBQUE7QUFFdEY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFnQyxRQUFRLENBQUMsVUFBVSxDQUFBO0FBRTFFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBZ0MsUUFBUSxDQUFDLEtBQUssQ0FBQTtBQUVoRTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQThCLFFBQVEsQ0FBQyxVQUFVLENBQUE7QUFFeEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBYSxFQUE0QixFQUFFO0lBQ25FLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0FBQzVELENBQUMsQ0FBQSJ9
|
package/dist/Context.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { type Effect, Layer, type Scope, type Types } from "effect";
|
|
2
|
-
import * as
|
|
2
|
+
import * as CTX from "effect/Context";
|
|
3
3
|
import { type Yieldable } from "./Effect.js";
|
|
4
|
-
export * from "effect/
|
|
5
|
-
export
|
|
6
|
-
export { isServiceMap as isContext } from "effect/ServiceMap";
|
|
7
|
-
export interface Opaque<Self extends object, in out Shape extends object> extends SM.Key<Self, Self>, Yieldable<Opaque<Self, Shape>, Self, never, Self> {
|
|
4
|
+
export * from "effect/Context";
|
|
5
|
+
export interface Opaque<Self extends object, in out Shape extends object> extends CTX.Key<Self, Self>, Yieldable<Opaque<Self, Shape>, Self, never, Self> {
|
|
8
6
|
of(this: void, self: Shape): Self;
|
|
9
|
-
serviceMap(self: Shape):
|
|
7
|
+
serviceMap(self: Shape): CTX.Context<Self>;
|
|
10
8
|
toLayer: <E, R>(eff: Effect.Effect<Shape, E, R>) => Layer.Layer<Self, E, Exclude<R, Scope.Scope>>;
|
|
11
9
|
use<A, E, R>(f: (service: Shape) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R | Self>;
|
|
12
10
|
useSync<A>(f: (service: Shape) => A): Effect.Effect<A, never, Self>;
|
|
@@ -20,7 +18,7 @@ export declare const accessEffectFn: <Self extends object, Shape extends Record<
|
|
|
20
18
|
export declare const accessCn: <Self extends object, Shape extends Record<PropertyKey, any>, K extends keyof Shape>(Tag: Opaque<Self, Shape>, key: K) => Effect.Effect<Shape[K], never, Self>;
|
|
21
19
|
/** Accessor for a service property that is an Effect. Delegates via `use`. */
|
|
22
20
|
export declare const accessEffectCn: <Self extends object, Shape extends Record<PropertyKey, any>, K extends keyof Shape>(Tag: Opaque<Self, Shape>, key: K) => Shape[K] extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, Self | R> : never;
|
|
23
|
-
export declare const TypeId = "~
|
|
21
|
+
export declare const TypeId = "~Context.Opaque";
|
|
24
22
|
export interface OpaqueClass<Self extends object, in out Identifier extends string, Shape extends object> extends Opaque<Self, Shape> {
|
|
25
23
|
new (_: never): Shape & {
|
|
26
24
|
readonly [TypeId]: Identifier;
|
package/dist/Context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/Context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/Context.ts"],"names":[],"mappings":"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"}
|
package/dist/Context.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { Layer } from "effect";
|
|
3
|
-
import * as
|
|
4
|
-
export * from "effect/
|
|
5
|
-
export { isServiceMap as isContext } from "effect/ServiceMap";
|
|
3
|
+
import * as CTX from "effect/Context";
|
|
4
|
+
export * from "effect/Context";
|
|
6
5
|
// export interface OpaqueMake<Self extends object, in out Shape extends object, E, R>
|
|
7
|
-
// extends
|
|
6
|
+
// extends CTX.Service<Self, Self>
|
|
8
7
|
// {
|
|
9
8
|
// // temp while sorting out https://github.com/Effect-TS/effect-smol/pull/1534
|
|
10
9
|
// of(self: Shape): Self
|
|
11
|
-
// serviceMap2(self: Shape):
|
|
10
|
+
// serviceMap2(self: Shape): CTX.Context<Self>
|
|
12
11
|
// // a version that leverages the Shape -> Self conversion
|
|
13
12
|
// toLayer: {
|
|
14
13
|
// <E, R>(
|
|
@@ -19,7 +18,7 @@ export { isServiceMap as isContext } from "effect/ServiceMap";
|
|
|
19
18
|
// }
|
|
20
19
|
export function assignTag(key, creationError) {
|
|
21
20
|
return (cls) => {
|
|
22
|
-
const tag =
|
|
21
|
+
const tag = CTX.Service(key);
|
|
23
22
|
let fields = tag;
|
|
24
23
|
if (Reflect.ownKeys(cls).includes("key")) {
|
|
25
24
|
const { key, ...rest } = tag;
|
|
@@ -49,7 +48,7 @@ export const accessEffectFn = (Tag, key) => ((...args) => Tag.use((s) => s[key](
|
|
|
49
48
|
export const accessCn = (Tag, key) => Tag.useSync((s) => s[key]);
|
|
50
49
|
/** Accessor for a service property that is an Effect. Delegates via `use`. */
|
|
51
50
|
export const accessEffectCn = (Tag, key) => Tag.use((s) => s[key]);
|
|
52
|
-
export const TypeId = "~
|
|
51
|
+
export const TypeId = "~Context.Opaque";
|
|
53
52
|
// export interface OpaqueClassMake<Self extends object, in out Identifier extends string, Shape extends object, E, R>
|
|
54
53
|
// extends OpaqueMake<Self, Shape, E, R>
|
|
55
54
|
// {
|
|
@@ -57,11 +56,11 @@ export const TypeId = "~ServiceMap.Opaque";
|
|
|
57
56
|
// readonly key: Identifier
|
|
58
57
|
// }
|
|
59
58
|
export const Opaque = () => (id, options) => {
|
|
60
|
-
const svc =
|
|
59
|
+
const svc = CTX.Service()(id, options);
|
|
61
60
|
return Object.assign(svc, {
|
|
62
61
|
toLayer: (eff) => {
|
|
63
62
|
return Layer.effect(svc, eff);
|
|
64
63
|
}
|
|
65
64
|
});
|
|
66
65
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQWUsS0FBSyxFQUEwQixNQUFNLFFBQVEsQ0FBQTtBQUNuRSxPQUFPLEtBQUssR0FBRyxNQUFNLGdCQUFnQixDQUFBO0FBR3JDLGNBQWMsZ0JBQWdCLENBQUE7QUFlOUIsc0ZBQXNGO0FBQ3RGLG9DQUFvQztBQUNwQyxJQUFJO0FBQ0osaUZBQWlGO0FBQ2pGLDBCQUEwQjtBQUMxQixnREFBZ0Q7QUFDaEQsNkRBQTZEO0FBQzdELGVBQWU7QUFDZixjQUFjO0FBQ2Qsd0NBQXdDO0FBQ3hDLHVEQUF1RDtBQUN2RCx3REFBd0Q7QUFDeEQsTUFBTTtBQUNOLElBQUk7QUFFSixNQUFNLFVBQVUsU0FBUyxDQUN2QixHQUFXLEVBQ1gsYUFBcUI7SUFFckIsT0FBTyxDQUFtQixHQUFNLEVBQWlDLEVBQUU7UUFDakUsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBb0IsR0FBRyxDQUFDLENBQUE7UUFDL0MsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFBO1FBQ2hCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFBO1lBQzVCLE1BQU0sR0FBRyxJQUFXLENBQUE7UUFDdEIsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDaEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUE7WUFDbkMsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUE7WUFDekIsYUFBYSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7WUFDM0IsS0FBSyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUE7UUFDL0IsQ0FBQztRQUNELHlHQUF5RztRQUN6RyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUU7WUFDaEMsR0FBRztnQkFDRCxPQUFPLGFBQWMsQ0FBQyxLQUFLLENBQUE7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQTtRQUNGLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVELHFGQUFxRjtBQUNyRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FLdEIsR0FBd0IsRUFDeEIsR0FBTSxFQUVFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFnQixFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFRLENBQUE7QUFFdkYsaUZBQWlGO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUs1QixHQUF3QixFQUN4QixHQUFNLEVBR0UsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQVEsQ0FBQTtBQUVuRix1RUFBdUU7QUFDdkUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBS3RCLEdBQXdCLEVBQ3hCLEdBQU0sRUFDZ0MsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBUSxDQUFBO0FBRTVFLDhFQUE4RTtBQUM5RSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FLNUIsR0FBd0IsRUFDeEIsR0FBTSxFQUVFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQVEsQ0FBQTtBQUUvQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUE7QUFxQnZDLHNIQUFzSDtBQUN0SCwwQ0FBMEM7QUFDMUMsSUFBSTtBQUNKLDZEQUE2RDtBQUM3RCw2QkFBNkI7QUFDN0IsSUFBSTtBQUVKLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FvQ2YsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFVLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDckMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQVEsQ0FBQTtJQUM3QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1FBQ3hCLE9BQU8sRUFBRSxDQUFDLEdBQWlDLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQy9CLENBQUM7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUEifQ==
|
package/dist/Operations.d.ts
CHANGED
|
@@ -20,14 +20,14 @@ export declare class OperationProgress extends OperationProgress_base {
|
|
|
20
20
|
declare const OperationSuccess_base: S.EnhancedTaggedClass<OperationSuccess, "OperationSuccess", {
|
|
21
21
|
readonly _tag: S.tag<"OperationSuccess">;
|
|
22
22
|
} & {
|
|
23
|
-
message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<
|
|
23
|
+
message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.WithoutConstructorDefault>;
|
|
24
24
|
}, OperationSuccess.Encoded>;
|
|
25
25
|
export declare class OperationSuccess extends OperationSuccess_base {
|
|
26
26
|
}
|
|
27
27
|
declare const OperationFailure_base: S.EnhancedTaggedClass<OperationFailure, "OperationFailure", {
|
|
28
28
|
readonly _tag: S.tag<"OperationFailure">;
|
|
29
29
|
} & {
|
|
30
|
-
message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<
|
|
30
|
+
message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.WithoutConstructorDefault>;
|
|
31
31
|
}, OperationFailure.Encoded>;
|
|
32
32
|
export declare class OperationFailure extends OperationFailure_base {
|
|
33
33
|
}
|
|
@@ -67,7 +67,7 @@ declare const Operation_base: S.EnhancedClass<Operation, S.Struct<{
|
|
|
67
67
|
make: () => S.StringId;
|
|
68
68
|
withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & S.WithoutConstructorDefault>;
|
|
69
69
|
};
|
|
70
|
-
title: S.WithDefaults<S.brand<
|
|
70
|
+
title: S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">;
|
|
71
71
|
progress: S.optional<typeof OperationProgress>;
|
|
72
72
|
result: S.optional<S.Union<[typeof OperationSuccess, typeof OperationFailure]> & {
|
|
73
73
|
readonly cases: {
|
|
@@ -1,40 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SpecialJsonSchema — A variant of Schema.toJsonSchemaDocument that
|
|
3
|
-
*
|
|
4
|
-
* representations (based on a string fingerprint).
|
|
5
|
-
*
|
|
6
|
-
* Without this, two different AST nodes that have the same identifier and
|
|
7
|
-
* resolve to the same JSON Schema representation can end up as separate $defs
|
|
8
|
-
* entries (e.g. "X" and "X1"). This converter collapses them into one.
|
|
2
|
+
* SpecialJsonSchema — A variant of Schema.toJsonSchemaDocument that
|
|
3
|
+
* post-processes the output (e.g. flattens simple allOf).
|
|
9
4
|
*/
|
|
10
5
|
import { type JsonSchema, type Schema } from "effect";
|
|
11
6
|
/**
|
|
12
|
-
* Converts a schema to a JSON Schema Document (draft-2020-12), with
|
|
13
|
-
*
|
|
14
|
-
* base identifier when their representations are identical.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```ts
|
|
18
|
-
* import { Schema, SchemaGetter, Option, Predicate } from "effect"
|
|
19
|
-
* import { specialJsonSchemaDocument } from "./SpecialJsonSchema.js"
|
|
20
|
-
*
|
|
21
|
-
* const X = Schema.String.annotate({ title: "X", identifier: "X" })
|
|
22
|
-
*
|
|
23
|
-
* const s = Schema.Struct({
|
|
24
|
-
* a: Schema.NullOr(X).pipe(
|
|
25
|
-
* Schema.encodeTo(Schema.optionalKey(X), {
|
|
26
|
-
* decode: SchemaGetter.transformOptional(Option.orElseSome(() => null)),
|
|
27
|
-
* encode: SchemaGetter.transformOptional(Option.filter(Predicate.isNotNull))
|
|
28
|
-
* })
|
|
29
|
-
* ),
|
|
30
|
-
* b: Schema.NullOr(X),
|
|
31
|
-
* c: X
|
|
32
|
-
* })
|
|
33
|
-
*
|
|
34
|
-
* // Without dedup: $defs would contain both "X" and "X1" (identical).
|
|
35
|
-
* // With specialJsonSchemaDocument: only "X" is emitted.
|
|
36
|
-
* const doc = specialJsonSchemaDocument(s)
|
|
37
|
-
* ```
|
|
7
|
+
* Converts a schema to a JSON Schema Document (draft-2020-12), with
|
|
8
|
+
* post-processing that flattens simple allOf entries.
|
|
38
9
|
*/
|
|
39
10
|
export declare function specialJsonSchemaDocument(schema: Schema.Top, options?: Schema.ToJsonSchemaOptions): JsonSchema.Document<"draft-2020-12">;
|
|
40
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpecialJsonSchema.d.ts","sourceRoot":"","sources":["../../src/Schema/SpecialJsonSchema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SpecialJsonSchema.d.ts","sourceRoot":"","sources":["../../src/Schema/SpecialJsonSchema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,MAAM,EAAwB,MAAM,QAAQ,CAAA;AAE3E;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,CAAC,GAAG,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,mBAAmB,GACnC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAYtC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA6BxD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAEvF"}
|
|
@@ -1,45 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SpecialJsonSchema — A variant of Schema.toJsonSchemaDocument that
|
|
3
|
-
*
|
|
4
|
-
* representations (based on a string fingerprint).
|
|
5
|
-
*
|
|
6
|
-
* Without this, two different AST nodes that have the same identifier and
|
|
7
|
-
* resolve to the same JSON Schema representation can end up as separate $defs
|
|
8
|
-
* entries (e.g. "X" and "X1"). This converter collapses them into one.
|
|
2
|
+
* SpecialJsonSchema — A variant of Schema.toJsonSchemaDocument that
|
|
3
|
+
* post-processes the output (e.g. flattens simple allOf).
|
|
9
4
|
*/
|
|
10
|
-
import {
|
|
5
|
+
import { SchemaRepresentation } from "effect";
|
|
11
6
|
/**
|
|
12
|
-
* Converts a schema to a JSON Schema Document (draft-2020-12), with
|
|
13
|
-
*
|
|
14
|
-
* base identifier when their representations are identical.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```ts
|
|
18
|
-
* import { Schema, SchemaGetter, Option, Predicate } from "effect"
|
|
19
|
-
* import { specialJsonSchemaDocument } from "./SpecialJsonSchema.js"
|
|
20
|
-
*
|
|
21
|
-
* const X = Schema.String.annotate({ title: "X", identifier: "X" })
|
|
22
|
-
*
|
|
23
|
-
* const s = Schema.Struct({
|
|
24
|
-
* a: Schema.NullOr(X).pipe(
|
|
25
|
-
* Schema.encodeTo(Schema.optionalKey(X), {
|
|
26
|
-
* decode: SchemaGetter.transformOptional(Option.orElseSome(() => null)),
|
|
27
|
-
* encode: SchemaGetter.transformOptional(Option.filter(Predicate.isNotNull))
|
|
28
|
-
* })
|
|
29
|
-
* ),
|
|
30
|
-
* b: Schema.NullOr(X),
|
|
31
|
-
* c: X
|
|
32
|
-
* })
|
|
33
|
-
*
|
|
34
|
-
* // Without dedup: $defs would contain both "X" and "X1" (identical).
|
|
35
|
-
* // With specialJsonSchemaDocument: only "X" is emitted.
|
|
36
|
-
* const doc = specialJsonSchemaDocument(s)
|
|
37
|
-
* ```
|
|
7
|
+
* Converts a schema to a JSON Schema Document (draft-2020-12), with
|
|
8
|
+
* post-processing that flattens simple allOf entries.
|
|
38
9
|
*/
|
|
39
10
|
export function specialJsonSchemaDocument(schema, options) {
|
|
40
11
|
const doc = SchemaRepresentation.fromAST(schema.ast);
|
|
41
|
-
const
|
|
42
|
-
const jd = SchemaRepresentation.toJsonSchemaDocument(deduped, options);
|
|
12
|
+
const jd = SchemaRepresentation.toJsonSchemaDocument(doc, options);
|
|
43
13
|
const processedDefs = {};
|
|
44
14
|
for (const [key, def] of Object.entries(jd.definitions)) {
|
|
45
15
|
processedDefs[key] = postProcessJsonSchema(def);
|
|
@@ -50,135 +20,6 @@ export function specialJsonSchemaDocument(schema, options) {
|
|
|
50
20
|
definitions: processedDefs
|
|
51
21
|
};
|
|
52
22
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Deduplicates references in a Document: when multiple $ref keys share
|
|
55
|
-
* the same base identifier (e.g. "X" and "X1") and their representations
|
|
56
|
-
* are identical (by string fingerprint), the duplicates are collapsed into
|
|
57
|
-
* the first entry found for that identifier.
|
|
58
|
-
*/
|
|
59
|
-
function deduplicateReferences(doc) {
|
|
60
|
-
const refs = doc.references;
|
|
61
|
-
const refKeys = Object.keys(refs);
|
|
62
|
-
if (refKeys.length === 0)
|
|
63
|
-
return doc;
|
|
64
|
-
// Group references by base identifier (strip trailing digits added by gen())
|
|
65
|
-
const identifierGroups = new Map();
|
|
66
|
-
for (const key of refKeys) {
|
|
67
|
-
const base = getBaseIdentifier(key);
|
|
68
|
-
const fingerprint = Formatter.format(refs[key]);
|
|
69
|
-
const group = identifierGroups.get(base);
|
|
70
|
-
if (group === undefined) {
|
|
71
|
-
identifierGroups.set(base, [{ key, fingerprint }]);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
group.push({ key, fingerprint });
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
// Build a mapping from duplicate keys to their canonical key
|
|
78
|
-
const remapping = new Map();
|
|
79
|
-
for (const [, group] of identifierGroups) {
|
|
80
|
-
const seen = new Map(); // fingerprint -> canonical key
|
|
81
|
-
for (const entry of group) {
|
|
82
|
-
const canonical = seen.get(entry.fingerprint);
|
|
83
|
-
if (canonical !== undefined) {
|
|
84
|
-
remapping.set(entry.key, canonical);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
seen.set(entry.fingerprint, entry.key);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
if (remapping.size === 0)
|
|
92
|
-
return doc;
|
|
93
|
-
// Build new references, excluding duplicates
|
|
94
|
-
const newRefs = {};
|
|
95
|
-
for (const key of refKeys) {
|
|
96
|
-
if (!remapping.has(key)) {
|
|
97
|
-
newRefs[key] = refs[key];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Rewrite $ref pointers throughout the document
|
|
101
|
-
const newRepresentation = rewriteRefs(doc.representation, remapping);
|
|
102
|
-
const rewrittenRefs = {};
|
|
103
|
-
for (const [key, rep] of Object.entries(newRefs)) {
|
|
104
|
-
rewrittenRefs[key] = rewriteRefs(rep, remapping);
|
|
105
|
-
}
|
|
106
|
-
return { representation: newRepresentation, references: rewrittenRefs };
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Extracts the base identifier from a reference key by stripping trailing
|
|
110
|
-
* digits appended by the gen() function during fromASTs.
|
|
111
|
-
* E.g. "X1" -> "X", "X" -> "X", "MyType2" -> "MyType"
|
|
112
|
-
*/
|
|
113
|
-
function getBaseIdentifier(key) {
|
|
114
|
-
const match = key.match(/^(.+?)(\d+)$/);
|
|
115
|
-
return match ? match[1] : key;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Recursively rewrites $ref pointers in a Representation tree.
|
|
119
|
-
*/
|
|
120
|
-
function rewriteRefs(rep, remapping) {
|
|
121
|
-
switch (rep._tag) {
|
|
122
|
-
case "Reference": {
|
|
123
|
-
const target = remapping.get(rep.$ref);
|
|
124
|
-
return target !== undefined ? { ...rep, $ref: target } : rep;
|
|
125
|
-
}
|
|
126
|
-
case "Declaration":
|
|
127
|
-
return {
|
|
128
|
-
...rep,
|
|
129
|
-
typeParameters: rep.typeParameters.map((tp) => rewriteRefs(tp, remapping)),
|
|
130
|
-
encodedSchema: rewriteRefs(rep.encodedSchema, remapping)
|
|
131
|
-
};
|
|
132
|
-
case "Suspend":
|
|
133
|
-
return {
|
|
134
|
-
...rep,
|
|
135
|
-
thunk: rewriteRefs(rep.thunk, remapping)
|
|
136
|
-
};
|
|
137
|
-
case "Arrays":
|
|
138
|
-
return {
|
|
139
|
-
...rep,
|
|
140
|
-
elements: rep.elements.map((e) => ({ ...e, type: rewriteRefs(e.type, remapping) })),
|
|
141
|
-
rest: rep.rest.map((r) => rewriteRefs(r, remapping))
|
|
142
|
-
};
|
|
143
|
-
case "Objects":
|
|
144
|
-
return {
|
|
145
|
-
...rep,
|
|
146
|
-
propertySignatures: rep.propertySignatures.map((ps) => ({
|
|
147
|
-
...ps,
|
|
148
|
-
type: rewriteRefs(ps.type, remapping)
|
|
149
|
-
})),
|
|
150
|
-
indexSignatures: rep.indexSignatures.map((is) => ({
|
|
151
|
-
...is,
|
|
152
|
-
parameter: rewriteRefs(is.parameter, remapping),
|
|
153
|
-
type: rewriteRefs(is.type, remapping)
|
|
154
|
-
})),
|
|
155
|
-
checks: rewriteChecks(rep.checks, remapping)
|
|
156
|
-
};
|
|
157
|
-
case "Union":
|
|
158
|
-
return {
|
|
159
|
-
...rep,
|
|
160
|
-
types: rep.types.map((t) => rewriteRefs(t, remapping))
|
|
161
|
-
};
|
|
162
|
-
case "TemplateLiteral":
|
|
163
|
-
return {
|
|
164
|
-
...rep,
|
|
165
|
-
parts: rep.parts.map((p) => rewriteRefs(p, remapping))
|
|
166
|
-
};
|
|
167
|
-
case "String": {
|
|
168
|
-
if (rep.contentSchema !== undefined) {
|
|
169
|
-
return {
|
|
170
|
-
...rep,
|
|
171
|
-
contentSchema: rewriteRefs(rep.contentSchema, remapping)
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
return rep;
|
|
175
|
-
}
|
|
176
|
-
default:
|
|
177
|
-
// Leaf nodes: Null, Undefined, Void, Never, Unknown, Any, Boolean,
|
|
178
|
-
// Symbol, Number, BigInt, Literal, UniqueSymbol, ObjectKeyword, Enum
|
|
179
|
-
return rep;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
23
|
/**
|
|
183
24
|
* Flattens `allOf` entries into the parent when the parent already has a
|
|
184
25
|
* `type` and every `allOf` entry is a plain constraint object (no `$ref`,
|
|
@@ -215,25 +56,4 @@ export function flattenSimpleAllOf(obj) {
|
|
|
215
56
|
export function postProcessJsonSchema(obj) {
|
|
216
57
|
return flattenSimpleAllOf(obj);
|
|
217
58
|
}
|
|
218
|
-
|
|
219
|
-
function rewriteChecks(checks, remapping) {
|
|
220
|
-
return checks.map((c) => {
|
|
221
|
-
switch (c._tag) {
|
|
222
|
-
case "Filter": {
|
|
223
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
224
|
-
const meta = c.meta;
|
|
225
|
-
if (meta && meta._tag === "isPropertyNames" && meta.propertyNames) {
|
|
226
|
-
return {
|
|
227
|
-
...c,
|
|
228
|
-
meta: { ...meta, propertyNames: rewriteRefs(meta.propertyNames, remapping) }
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
return c;
|
|
232
|
-
}
|
|
233
|
-
case "FilterGroup":
|
|
234
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
235
|
-
return { ...c, checks: rewriteChecks(c.checks, remapping) };
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BlY2lhbEpzb25TY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL1NwZWNpYWxKc29uU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBZ0Msb0JBQW9CLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFdEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsTUFBa0IsRUFDbEIsT0FBb0M7SUFFcEMsTUFBTSxHQUFHLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwRCxNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMxQyxNQUFNLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDdEUsTUFBTSxhQUFhLEdBQTJCLEVBQUUsQ0FBQTtJQUNoRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUNELE9BQU87UUFDTCxPQUFPLEVBQUUsZUFBZTtRQUN4QixNQUFNLEVBQUUscUJBQXFCLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUN4QyxXQUFXLEVBQUUsYUFBYTtLQUMzQixDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FDNUIsR0FBa0M7SUFFbEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQTtJQUMzQixNQUFNLE9BQU8sR0FBRyxNQUFN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
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BlY2lhbEpzb25TY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL1NwZWNpYWxKc29uU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFBZ0Msb0JBQW9CLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFM0U7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxNQUFrQixFQUNsQixPQUFvQztJQUVwQyxNQUFNLEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3BELE1BQU0sRUFBRSxHQUFHLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNsRSxNQUFNLGFBQWEsR0FBMkIsRUFBRSxDQUFBO0lBQ2hELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ3hELGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsT0FBTztRQUNMLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3hDLFdBQVcsRUFBRSxhQUFhO0tBQzNCLENBQUE7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFZO0lBQzdDLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxHQUFHLENBQUE7SUFFdkQsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxHQUE4QixDQUFBO0lBQzdDLE1BQU0sTUFBTSxHQUE0QixFQUFFLENBQUE7SUFDMUMsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBbUMsQ0FBQTtRQUMvRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDdkMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUN4RixDQUFBO1FBQ0QsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFBO1lBQ3BDLElBQUksTUFBTSxHQUE0QixFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUE7WUFDakQsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQTtZQUNsQyxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEdBQTBCO0lBQzlELE9BQU8sa0JBQWtCLENBQUMsR0FBRyxDQUEwQixDQUFBO0FBQ3pELENBQUMifQ==
|
package/dist/Schema/ext.d.ts
CHANGED
|
@@ -1,102 +1,21 @@
|
|
|
1
|
-
import { Effect, type SchemaAST, SchemaIssue
|
|
1
|
+
import { Effect, type SchemaAST, SchemaIssue } from "effect";
|
|
2
2
|
import * as S from "effect/Schema";
|
|
3
3
|
import { type NonEmptyReadonlyArray } from "../Array.js";
|
|
4
4
|
import * as Context from "../Context.js";
|
|
5
5
|
import { type AST } from "./schema.js";
|
|
6
6
|
type ProvidedCodec<Self extends S.Top, R> = S.Codec<Self["Type"], Self["Encoded"], Exclude<Self["DecodingServices"], R>, Exclude<Self["EncodingServices"], R>>;
|
|
7
7
|
export declare const withDefaultConstructor: <A>(makeDefault: () => NoInfer<A>) => <Self extends S.Top>(self: Self) => S.withConstructorDefault<Self & S.WithoutConstructorDefault>;
|
|
8
|
-
/**
|
|
9
|
-
* Formats a `Date` as an ISO 8601 string, returning `"Invalid Date"` for
|
|
10
|
-
* invalid dates instead of throwing.
|
|
11
|
-
*
|
|
12
|
-
* When to use:
|
|
13
|
-
* - You want a safe `toISOString()` that never throws.
|
|
14
|
-
*
|
|
15
|
-
* Behavior:
|
|
16
|
-
* - Returns `date.toISOString()` on success.
|
|
17
|
-
* - Returns `"Invalid Date"` if `toISOString()` throws (e.g. for
|
|
18
|
-
* `new Date(NaN)`).
|
|
19
|
-
* - Pure function; does not mutate input.
|
|
20
|
-
*
|
|
21
|
-
* **Example** (Safe date formatting)
|
|
22
|
-
*
|
|
23
|
-
* ```ts
|
|
24
|
-
* import { Formatter } from "effect"
|
|
25
|
-
*
|
|
26
|
-
* console.log(Formatter.formatDate(new Date("2024-01-15T10:30:00Z")))
|
|
27
|
-
* // 2024-01-15T10:30:00.000Z
|
|
28
|
-
*
|
|
29
|
-
* console.log(Formatter.formatDate(new Date("invalid")))
|
|
30
|
-
* // Invalid Date
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* See also: {@link format}
|
|
34
|
-
*
|
|
35
|
-
* @internal
|
|
36
|
-
*/
|
|
37
|
-
export declare function formatDate(date: Date): string;
|
|
38
|
-
/**
|
|
39
|
-
* Decodes a `string` into a `Date` and encodes a `Date` back to a `string`.
|
|
40
|
-
*
|
|
41
|
-
* When to use this:
|
|
42
|
-
* - Parsing ISO 8601 date strings from APIs or user input.
|
|
43
|
-
*
|
|
44
|
-
* Behavior:
|
|
45
|
-
* - Decode: creates a `Date` from the string (like `new Date(s)`).
|
|
46
|
-
* - Encode: converts the `Date` to an ISO string (like `date.toISOString()`),
|
|
47
|
-
* returning `"Invalid Date"` for invalid dates.
|
|
48
|
-
*
|
|
49
|
-
* **Example** (Date from string)
|
|
50
|
-
*
|
|
51
|
-
* ```ts
|
|
52
|
-
* import { Schema, SchemaTransformation } from "effect"
|
|
53
|
-
*
|
|
54
|
-
* const schema = Schema.String.pipe(
|
|
55
|
-
* Schema.decodeTo(Schema.Date, SchemaTransformation.dateFromString)
|
|
56
|
-
* )
|
|
57
|
-
* ```
|
|
58
|
-
*
|
|
59
|
-
* See also:
|
|
60
|
-
* - {@link numberFromString}
|
|
61
|
-
* - {@link dateTimeUtcFromString}
|
|
62
|
-
*
|
|
63
|
-
* @category Coercions
|
|
64
|
-
* @since 4.0.0
|
|
65
|
-
*/
|
|
66
|
-
export declare const dateFromString: SchemaTransformation.Transformation<globalThis.Date, string>;
|
|
67
|
-
/**
|
|
68
|
-
* Schema type for {@link DateFromString}.
|
|
69
|
-
*
|
|
70
|
-
* @category Schemas
|
|
71
|
-
* @since 4.0.0
|
|
72
|
-
*/
|
|
73
|
-
export interface DateFromString extends S.decodeTo<S.Date, S.String> {
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* A transformation schema that parses an ISO 8601 string into a `Date`.
|
|
77
|
-
*
|
|
78
|
-
* Decoding:
|
|
79
|
-
* - A `string` is decoded as a `Date`.
|
|
80
|
-
*
|
|
81
|
-
* Encoding:
|
|
82
|
-
* - A `Date` is encoded as a `string`.
|
|
83
|
-
*
|
|
84
|
-
* @since 4.0.0
|
|
85
|
-
*/
|
|
86
|
-
export declare const DateFromString: DateFromString;
|
|
87
8
|
/**
|
|
88
9
|
* Like the default Schema `Date` but from String with `withDefault` => now
|
|
89
10
|
*/
|
|
90
|
-
export declare const Date: DateFromString & {
|
|
91
|
-
withDefault: S.withConstructorDefault<DateFromString & S.WithoutConstructorDefault>;
|
|
11
|
+
export declare const Date: S.DateFromString & {
|
|
12
|
+
withDefault: S.withConstructorDefault<S.DateFromString & S.WithoutConstructorDefault>;
|
|
92
13
|
};
|
|
93
14
|
/**
|
|
94
15
|
* Like the default Schema `DateValid` but from String with `withDefault` => now
|
|
95
16
|
*/
|
|
96
|
-
export declare const DateValid: DateFromString & {
|
|
97
|
-
withDefault: S.withConstructorDefault<DateFromString & S.WithoutConstructorDefault>;
|
|
98
|
-
} & {
|
|
99
|
-
withDefault: S.withConstructorDefault<DateFromString & S.WithoutConstructorDefault>;
|
|
17
|
+
export declare const DateValid: S.DateFromString & {
|
|
18
|
+
withDefault: S.withConstructorDefault<S.DateFromString & S.WithoutConstructorDefault>;
|
|
100
19
|
};
|
|
101
20
|
/**
|
|
102
21
|
* Like the default Schema `Boolean` but with `withDefault` => false
|
package/dist/Schema/ext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/Schema/ext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAgB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/Schema/ext.ts"],"names":[],"mappings":"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"}
|