effect-app 2.43.0 → 2.43.2
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 +12 -0
- package/dist/Context.d.ts +1 -1
- package/dist/Schema/email.js +2 -2
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +11 -9
- package/dist/client/apiClientFactory.d.ts +15 -15
- package/package.json +1 -1
- package/src/Schema/email.ts +1 -1
- package/src/Schema.ts +11 -8
package/CHANGELOG.md
CHANGED
package/dist/Context.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare function TagId<const Key extends string>(key: Key): <Id, ServiceI
|
|
|
28
28
|
toLayer: <E, R>(eff: Effect.Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E, R>) => Layer.Layer<Id, E, R>;
|
|
29
29
|
toLayerScoped: <E, R_1>(eff: Effect.Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E, R_1>) => Layer.Layer<Id, E, Exclude<R_1, Scope.Scope>>;
|
|
30
30
|
of: (service: Omit<Id, keyof Context.TagClassShape<any, any>>) => Id;
|
|
31
|
-
} & Context.Tag<Id, Id> & (ServiceImpl extends Record<PropertyKey, any> ? { [k in keyof ServiceImpl as ServiceImpl[k] extends (...args: infer Args) => infer Ret ? ((...args: Readonly<Args>) => Ret) extends ServiceImpl[k] ? k : never : k]: ServiceImpl[k] extends (...args: infer Args) => Effect.Effect<infer A, infer E, infer R_2> ? (...args: Readonly<Args>) => Effect.Effect<A, E,
|
|
31
|
+
} & Context.Tag<Id, Id> & (ServiceImpl extends Record<PropertyKey, any> ? { [k in keyof ServiceImpl as ServiceImpl[k] extends (...args: infer Args) => infer Ret ? ((...args: Readonly<Args>) => Ret) extends ServiceImpl[k] ? k : never : k]: ServiceImpl[k] extends (...args: infer Args) => Effect.Effect<infer A, infer E, infer R_2> ? (...args: Readonly<Args>) => Effect.Effect<A, E, Id | R_2> : ServiceImpl[k] extends (...args: infer Args) => infer A ? (...args: Readonly<Args>) => Effect.Effect<A, never, Id> : ServiceImpl[k] extends Effect.Effect<infer A, infer E, infer R_2> ? Effect.Effect<A, E, Id | R_2> : Effect.Effect<ServiceImpl[k], never, Id>; } : {}) & {
|
|
32
32
|
use: <X>(body: (_: ServiceImpl) => X) => X extends Effect.Effect<infer A_1, infer E_1, infer R_3> ? Effect.Effect<A_1, E_1, R_3 | Id> : Effect.Effect<X, never, Id>;
|
|
33
33
|
};
|
|
34
34
|
export declare const TagMakeId: <ServiceImpl, R, E, const Key extends string>(key: Key, make: Effect.Effect<ServiceImpl, E, R>) => <Id>() => (abstract new (service: ServiceImpl) => Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>) & {
|
package/dist/Schema/email.js
CHANGED
|
@@ -6,7 +6,7 @@ export const Email = S
|
|
|
6
6
|
identifier: "Email",
|
|
7
7
|
title: "Email",
|
|
8
8
|
description: "an email according to RFC 5322",
|
|
9
|
-
jsonSchema: { format: "email" },
|
|
9
|
+
jsonSchema: { format: "email", minLength: 3, /* a@b */ maxLength: 998 },
|
|
10
10
|
arbitrary: () => (fc) => fc.emailAddress().map((_) => _)
|
|
11
11
|
}));
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL2VtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQVNsQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQztLQUNuQixNQUFNO0tBQ04sSUFBSSxDQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBeUMsRUFBRTtJQUNsRCxVQUFVLEVBQUUsT0FBTztJQUNuQixLQUFLLEVBQUUsT0FBTztJQUNkLFdBQVcsRUFBRSxnQ0FBZ0M7SUFDN0MsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO0lBQ3ZFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBVSxDQUFDO0NBQ2xFLENBQUMsQ0FDSCxDQUFBIn0=
|
package/dist/Schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAIrE,cAAc,eAAe,CAAA;AAE7B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC9H,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,eAAe,CAAA;AAE7C,eAAO,MAAM,MAAM,eAAW,CAAA;AAC9B,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC,MAAM,WAAW,gBAAgB;IAC/B,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAA;CACvB;AAED,eAAO,MAAM,KAAK,iOAOf,CAAA;AAEH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAE1B,eAAO,MAAM,WAAW,yPAQrB,CAAA;AAEH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,EACrD,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema.js
CHANGED
|
@@ -34,16 +34,18 @@ export const PhoneNumber = PhoneNumberT
|
|
|
34
34
|
fakerArb((faker) => faker.phone.number)(fc).map(PhoneNumber)
|
|
35
35
|
}), withDefaultMake);
|
|
36
36
|
export const makeIs = (schema) => {
|
|
37
|
+
const getToBottom = (ast) => {
|
|
38
|
+
if (SchemaAST.isTransformation(ast)) {
|
|
39
|
+
if (SchemaAST.isDeclaration(ast.to)) {
|
|
40
|
+
return getToBottom(ast.from);
|
|
41
|
+
}
|
|
42
|
+
return getToBottom(ast.to);
|
|
43
|
+
}
|
|
44
|
+
return ast;
|
|
45
|
+
};
|
|
37
46
|
if (SchemaAST.isUnion(schema.ast)) {
|
|
38
47
|
return schema.ast.types.reduce((acc, t) => {
|
|
39
|
-
|
|
40
|
-
if (SchemaAST.isDeclaration(t.to)) {
|
|
41
|
-
t = t.from;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
t = t.to;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
48
|
+
t = getToBottom(t);
|
|
47
49
|
if (!SchemaAST.isTypeLiteral(t))
|
|
48
50
|
return acc;
|
|
49
51
|
const tag = Array.findFirst(t.propertySignatures, (_) => {
|
|
@@ -92,4 +94,4 @@ export const TaggedUnion = (...a) => pipe(S.Union(...a), (_) => extendM(_, (_) =
|
|
|
92
94
|
tagMap: taggedUnionMap(a),
|
|
93
95
|
tags: tags(a)
|
|
94
96
|
})));
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFlLE1BQU0sUUFBUSxDQUFBO0FBQ3BFLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDakQsT0FBTyxFQUFFLFdBQVcsSUFBSSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXBDLGNBQWMsZUFBZSxDQUFBO0FBRTdCLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5SCxPQUFPLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXpELGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFj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
|
|
@@ -23,27 +23,27 @@ type RpcHandlers<M extends Requests> = {
|
|
|
23
23
|
};
|
|
24
24
|
export declare const getMeta: <M extends Requests>(resource: M) => M["meta"];
|
|
25
25
|
export declare const makeRpcGroup: <M extends Requests>(resource: M) => RpcGroup.RpcGroup<RpcHandlers<{ [K in keyof M as M[K] extends Req ? K : never]: M[K] extends Req ? M[K] : never; }>[keyof { [K in keyof M as M[K] extends Req ? K : never]: M[K] extends Req ? M[K] : never; }]>;
|
|
26
|
-
declare const ApiClientFactory_base: (abstract new (service: (requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(models: M) => Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>,
|
|
26
|
+
declare const ApiClientFactory_base: (abstract new (service: (requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(models: M) => Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
27
27
|
raw: import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
28
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
29
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
30
|
-
}; } : never>) => Readonly<(requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(models: M) => Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>,
|
|
28
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
29
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Encoded<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
30
|
+
}; } : never>) => Readonly<(requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(models: M) => Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
31
31
|
raw: import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
32
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
33
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
34
|
-
}; } : never>> & Context.TagClassShape<"ApiClientFactory", (requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(models: M) => Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>,
|
|
32
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
33
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Encoded<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
34
|
+
}; } : never>> & Context.TagClassShape<"ApiClientFactory", (requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(models: M) => Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
35
35
|
raw: import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
36
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
37
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
36
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
37
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Encoded<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
38
38
|
}; } : never>>) & {
|
|
39
39
|
toLayer: <E, R>(eff: Effect.Effect<Omit<ApiClientFactory, keyof Context.TagClassShape<any, any>>, E, R>) => Layer.Layer<ApiClientFactory, E, R>;
|
|
40
40
|
toLayerScoped: <E, R>(eff: Effect.Effect<Omit<ApiClientFactory, keyof Context.TagClassShape<any, any>>, E, R>) => Layer.Layer<ApiClientFactory, E, Exclude<R, import("effect/Scope").Scope>>;
|
|
41
41
|
of: (service: Omit<ApiClientFactory, keyof Context.TagClassShape<any, any>>) => ApiClientFactory;
|
|
42
42
|
} & Context.Tag<ApiClientFactory, ApiClientFactory> & {} & {
|
|
43
|
-
use: <X>(body: (_: (requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(models: M) => Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>,
|
|
43
|
+
use: <X>(body: (_: (requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(models: M) => Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
44
44
|
raw: import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
45
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
46
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
45
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
46
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Encoded<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
47
47
|
}; } : never>) => X) => X extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, R | ApiClientFactory> : Effect.Effect<X, never, ApiClientFactory>;
|
|
48
48
|
};
|
|
49
49
|
/**
|
|
@@ -52,10 +52,10 @@ declare const ApiClientFactory_base: (abstract new (service: (requestLevelLayers
|
|
|
52
52
|
export declare class ApiClientFactory extends ApiClientFactory_base {
|
|
53
53
|
static readonly layer: (config: ApiConfig) => Layer.Layer<ApiClientFactory, never, HttpClient.HttpClient>;
|
|
54
54
|
static readonly layerFromConfig: Layer.Layer<ApiClientFactory, import("effect/ConfigError").ConfigError, HttpClient.HttpClient>;
|
|
55
|
-
static readonly makeFor: (requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(resource: M) => Effect.Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>,
|
|
55
|
+
static readonly makeFor: (requestLevelLayers: Layer.Layer<never, never, never>, options?: ClientForOptions) => <M extends Requests>(resource: M) => Effect.Effect<Omit<M, "meta"> extends infer T extends Requests ? { [K in keyof T]: (Exclude<keyof S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult> extends never ? true : false) extends true ? import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
56
56
|
raw: import("./clientFor.js").RequestHandler<S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
57
|
-
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
58
|
-
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>,
|
|
57
|
+
} : import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Type<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]> & {
|
|
58
|
+
raw: import("./clientFor.js").RequestHandlerWithInput<Omit<S.Schema.Type<Omit<M, "meta">[K]>, "_tag" | typeof import("effect/Request").RequestTypeId | typeof S.symbolSerializable | typeof S.symbolWithResult>, S.Schema.Encoded<Omit<M, "meta">[K]["success"]>, S.Schema.Type<Omit<M, "meta">[K]["failure"]>, never, Omit<M, "meta">[K]>;
|
|
59
59
|
}; } : never, never, ApiClientFactory>;
|
|
60
60
|
}
|
|
61
61
|
export {};
|
package/package.json
CHANGED
package/src/Schema/email.ts
CHANGED
|
@@ -16,7 +16,7 @@ export const Email = S
|
|
|
16
16
|
identifier: "Email",
|
|
17
17
|
title: "Email",
|
|
18
18
|
description: "an email according to RFC 5322",
|
|
19
|
-
jsonSchema: { format: "email" },
|
|
19
|
+
jsonSchema: { format: "email", minLength: 3, /* a@b */ maxLength: 998 },
|
|
20
20
|
arbitrary: () => (fc) => fc.emailAddress().map((_) => _ as Email)
|
|
21
21
|
})
|
|
22
22
|
)
|
package/src/Schema.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { fakerArb } from "./faker.js"
|
|
|
5
5
|
import { Email as EmailT } from "./Schema/email.js"
|
|
6
6
|
import { withDefaultMake } from "./Schema/ext.js"
|
|
7
7
|
import { PhoneNumber as PhoneNumberT } from "./Schema/phoneNumber.js"
|
|
8
|
-
import type { A } from "./Schema/schema.js"
|
|
8
|
+
import type { A, AST } from "./Schema/schema.js"
|
|
9
9
|
import { extendM } from "./utils.js"
|
|
10
10
|
|
|
11
11
|
export * from "effect/Schema"
|
|
@@ -61,15 +61,18 @@ export const PhoneNumber = PhoneNumberT
|
|
|
61
61
|
export const makeIs = <A extends { _tag: string }, I, R>(
|
|
62
62
|
schema: S.Schema<A, I, R>
|
|
63
63
|
) => {
|
|
64
|
+
const getToBottom = (ast: AST.AST) => {
|
|
65
|
+
if (SchemaAST.isTransformation(ast)) {
|
|
66
|
+
if (SchemaAST.isDeclaration(ast.to)) {
|
|
67
|
+
return getToBottom(ast.from)
|
|
68
|
+
}
|
|
69
|
+
return getToBottom(ast.to)
|
|
70
|
+
}
|
|
71
|
+
return ast
|
|
72
|
+
}
|
|
64
73
|
if (SchemaAST.isUnion(schema.ast)) {
|
|
65
74
|
return schema.ast.types.reduce((acc, t) => {
|
|
66
|
-
|
|
67
|
-
if (SchemaAST.isDeclaration(t.to)) {
|
|
68
|
-
t = t.from
|
|
69
|
-
} else {
|
|
70
|
-
t = t.to
|
|
71
|
-
}
|
|
72
|
-
}
|
|
75
|
+
t = getToBottom(t)
|
|
73
76
|
if (!SchemaAST.isTypeLiteral(t)) return acc
|
|
74
77
|
const tag = Array.findFirst(t.propertySignatures, (_) => {
|
|
75
78
|
if (_.name === "_tag" && SchemaAST.isLiteral(_.type)) {
|