effect-app 4.0.0-beta.38 → 4.0.0-beta.39
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/Schema/Class.d.ts +3 -0
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +1 -1
- package/dist/client/makeClient.d.ts +8 -11
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +1 -1
- package/package.json +1 -1
- package/src/Schema/Class.ts +2 -0
- package/src/client/makeClient.ts +24 -9
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/rpc.test.ts +11 -1
package/CHANGELOG.md
CHANGED
package/dist/Schema/Class.d.ts
CHANGED
|
@@ -15,6 +15,9 @@ type HasFields<Fields extends Struct.Fields> = {
|
|
|
15
15
|
} | {
|
|
16
16
|
readonly from: HasFields<Fields>;
|
|
17
17
|
};
|
|
18
|
+
export type Class<Self, S extends S.Top & {
|
|
19
|
+
readonly fields: Struct.Fields;
|
|
20
|
+
}, Inherited> = S.Class<Self, S, Inherited>;
|
|
18
21
|
export declare const Class: <Self = never>(identifier: string) => <Fields extends S.Struct.Fields>(fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self>) => [Self] extends [never] ? MissingSelfGeneric<"Class"> : EnhancedClass<Self, S.Struct<Fields>, {}>;
|
|
19
22
|
export declare const TaggedClass: <Self = never>(identifier?: string) => <Tag extends string, Fields extends S.Struct.Fields>(tag: Tag, fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self>) => [Self] extends [never] ? MissingSelfGeneric<"Class"> : EnhancedClass<Self, S.Struct<{
|
|
20
23
|
readonly _tag: S.tag<Tag>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema/Class.js
CHANGED
|
@@ -19,4 +19,4 @@ export const TaggedClass = (identifier) => (tag, fields, annotations) => {
|
|
|
19
19
|
};
|
|
20
20
|
export const ExtendedClass = Class;
|
|
21
21
|
export const ExtendedTaggedClass = TaggedClass;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL0NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUEyQmxDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FRWixDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUU7SUFDMUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQVksQ0FBQTtJQUMxQixPQUFPLEtBQU0sU0FBUSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUN2RCw0Q0FBNEM7UUFDNUMsTUFBTSxDQUFVLElBQUksR0FBRyxDQUFDLEdBQUcsU0FBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDN0YsTUFBTSxDQUFVLElBQUksR0FBRyxDQUFDLEdBQUcsU0FBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7S0FDdkYsQ0FBQTtBQUNWLENBQUMsQ0FBQTtBQUVILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FTbEIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRTtJQUMvQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBa0IsQ0FBQTtJQUNoQyxPQUFPLEtBQU0sU0FBUSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7UUFDNUQsNENBQTRDO1FBQzVDLE1BQU0sQ0FBVSxJQUFJLEdBQUcsQ0FBQyxHQUFHLFNBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQzdGLE1BQU0sQ0FBVSxJQUFJLEdBQUcsQ0FBQyxHQUFHLFNBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0tBQ3ZGLENBQUE7QUFDVixDQUFDLENBQUE7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBT3RCLEtBQVksQ0FBQTtBQWFoQixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FXNUIsV0FBa0IsQ0FBQSJ9
|
|
@@ -5,41 +5,38 @@ import * as S from "../Schema.js";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const ForceVoid: S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>;
|
|
7
7
|
type SchemaOrFields<T> = T extends S.Top ? T : T extends S.Struct.Fields ? S.Struct<T> : S.Void;
|
|
8
|
-
type TaggedRequestResult<Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top, Error extends S.Top, Config = Record<string, never>> = S.TaggedStruct<Tag, Payload> & {
|
|
9
|
-
new (...args: any[]): any;
|
|
8
|
+
type TaggedRequestResult<Self, Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top, Error extends S.Top, Config = Record<string, never>> = S.EnhancedClass<Self, S.TaggedStruct<Tag, Payload>, {}> & {
|
|
10
9
|
readonly _tag: Tag;
|
|
11
|
-
readonly fields: {
|
|
12
|
-
readonly _tag: S.tag<Tag>;
|
|
13
|
-
} & Payload;
|
|
14
10
|
readonly success: Success;
|
|
15
11
|
readonly error: Error;
|
|
16
12
|
readonly config: Config;
|
|
17
13
|
readonly "~decodingServices": S.Codec.DecodingServices<Success> | S.Codec.DecodingServices<Error>;
|
|
14
|
+
readonly "~encodingServices": S.Codec.EncodingServices<Success> | S.Codec.EncodingServices<Error>;
|
|
18
15
|
};
|
|
19
16
|
export declare const makeRpcClient: <RequestContextMap extends RequestContextMapTagAny, GeneralErrors extends S.Top = never>(rcs: RequestContextMap, generalErrors?: GeneralErrors) => {
|
|
20
|
-
TaggedRequest: <
|
|
17
|
+
TaggedRequest: <Self>() => {
|
|
21
18
|
<Tag extends string, Payload extends S.Struct.Fields, C extends {
|
|
22
19
|
success: S.Top | S.Struct.Fields;
|
|
23
20
|
error: S.Top | S.Struct.Fields;
|
|
24
|
-
}>(tag: Tag, fields: Payload, config: GetContextConfig<RequestContextMap["config"]> & C): TaggedRequestResult<Tag, Payload, SchemaOrFields<C["success"]>, C extends {
|
|
21
|
+
}>(tag: Tag, fields: Payload, config: GetContextConfig<RequestContextMap["config"]> & C): TaggedRequestResult<Self, Tag, Payload, SchemaOrFields<C["success"]>, C extends {
|
|
25
22
|
error: infer E;
|
|
26
23
|
} ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? GetEffectError<RequestContextMap["config"], C> : [GeneralErrors] extends [never] ? SchemaOrFields<GetEffectError<RequestContextMap["config"], C>> : S.Union<[SchemaOrFields<GetEffectError<RequestContextMap["config"], C>>, GeneralErrors]>, Omit<C, "success" | "error">>;
|
|
27
24
|
<Tag extends string, Payload_1 extends S.Struct.Fields, C_1 extends Pick<{
|
|
28
25
|
success: S.Top | S.Struct.Fields;
|
|
29
26
|
error: S.Top | S.Struct.Fields;
|
|
30
|
-
}, "success">>(tag: Tag, fields: Payload_1, config: GetContextConfig<RequestContextMap["config"]> & C_1): TaggedRequestResult<Tag, Payload_1, SchemaOrFields<C_1["success"]>, C_1 extends {
|
|
27
|
+
}, "success">>(tag: Tag, fields: Payload_1, config: GetContextConfig<RequestContextMap["config"]> & C_1): TaggedRequestResult<Self, Tag, Payload_1, SchemaOrFields<C_1["success"]>, C_1 extends {
|
|
31
28
|
error: infer E;
|
|
32
29
|
} ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? GetEffectError<RequestContextMap["config"], C_1> : [GeneralErrors] extends [never] ? SchemaOrFields<GetEffectError<RequestContextMap["config"], C_1>> : S.Union<[SchemaOrFields<GetEffectError<RequestContextMap["config"], C_1>>, GeneralErrors]>, Omit<C_1, "success" | "error">>;
|
|
33
30
|
<Tag extends string, Payload_2 extends S.Struct.Fields, C_2 extends Pick<{
|
|
34
31
|
success: S.Top | S.Struct.Fields;
|
|
35
32
|
error: S.Top | S.Struct.Fields;
|
|
36
|
-
}, "error">>(tag: Tag, fields: Payload_2, config: GetContextConfig<RequestContextMap["config"]> & C_2): TaggedRequestResult<Tag, Payload_2, typeof ForceVoid, C_2 extends {
|
|
33
|
+
}, "error">>(tag: Tag, fields: Payload_2, config: GetContextConfig<RequestContextMap["config"]> & C_2): TaggedRequestResult<Self, Tag, Payload_2, typeof ForceVoid, C_2 extends {
|
|
37
34
|
error: infer E;
|
|
38
35
|
} ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? GetEffectError<RequestContextMap["config"], C_2> : [GeneralErrors] extends [never] ? SchemaOrFields<GetEffectError<RequestContextMap["config"], C_2>> : S.Union<[SchemaOrFields<GetEffectError<RequestContextMap["config"], C_2>>, GeneralErrors]>, Omit<C_2, "success" | "error">>;
|
|
39
|
-
<Tag extends string, Payload_3 extends S.Struct.Fields, C_3 extends Record<string, any>>(tag: Tag, fields: Payload_3, config: C_3 & GetContextConfig<RequestContextMap["config"]>): TaggedRequestResult<Tag, Payload_3, typeof ForceVoid, C_3 extends {
|
|
36
|
+
<Tag extends string, Payload_3 extends S.Struct.Fields, C_3 extends Record<string, any>>(tag: Tag, fields: Payload_3, config: C_3 & GetContextConfig<RequestContextMap["config"]>): TaggedRequestResult<Self, Tag, Payload_3, typeof ForceVoid, C_3 extends {
|
|
40
37
|
error: infer E;
|
|
41
38
|
} ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? GetEffectError<RequestContextMap["config"], C_3> : [GeneralErrors] extends [never] ? SchemaOrFields<GetEffectError<RequestContextMap["config"], C_3>> : S.Union<[SchemaOrFields<GetEffectError<RequestContextMap["config"], C_3>>, GeneralErrors]>, Omit<C_3, "success" | "error">>;
|
|
42
|
-
<Tag extends string, Payload_4 extends S.Struct.Fields>(tag: Tag, fields: Payload_4): TaggedRequestResult<Tag, Payload_4, typeof ForceVoid, [GeneralErrors] extends [never] ? GetEffectError<RequestContextMap["config"], {}> : [GeneralErrors] extends [never] ? SchemaOrFields<GetEffectError<RequestContextMap["config"], {}>> : S.Union<[SchemaOrFields<GetEffectError<RequestContextMap["config"], {}>>, GeneralErrors]>, Record<string, never>>;
|
|
39
|
+
<Tag extends string, Payload_4 extends S.Struct.Fields>(tag: Tag, fields: Payload_4): TaggedRequestResult<Self, Tag, Payload_4, typeof ForceVoid, [GeneralErrors] extends [never] ? GetEffectError<RequestContextMap["config"], {}> : [GeneralErrors] extends [never] ? SchemaOrFields<GetEffectError<RequestContextMap["config"], {}>> : S.Union<[SchemaOrFields<GetEffectError<RequestContextMap["config"], {}>>, GeneralErrors]>, Record<string, never>>;
|
|
43
40
|
};
|
|
44
41
|
};
|
|
45
42
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../../src/client/makeClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAClH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAMjC;;GAEG;AACH,eAAO,MAAM,SAAS,8DAInB,CAAA;AAEH,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAE/F,KAAK,mBAAmB,CACtB,GAAG,SAAS,MAAM,EAClB,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAC/B,OAAO,SAAS,CAAC,CAAC,GAAG,EACrB,KAAK,SAAS,CAAC,CAAC,GAAG,EACnB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAE5B,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../../src/client/makeClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,4 +35,4 @@ export const makeRpcClient = (rcs, generalErrors) => {
|
|
|
35
35
|
TaggedRequest
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvbWFrZUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUVsQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQU0sRUFBRSxDQUFhLEVBQUUsRUFBRSxDQUN0QyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFFMUc7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQztLQUN2QixPQUFPLENBQUMsQ0FBQyxDQUFVLEVBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUM7S0FDM0MsSUFBSSxDQUNILENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxTQUFTLENBQW1CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDcEgsQ0FBQTtBQXVCSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FHM0IsR0FBc0IsRUFBRSxhQUE2QixFQUFFLEVBQUU7SUFjekQsU0FBUyxhQUFhO1FBd0NwQiwrREFBK0Q7UUFDL0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbEUsT0FBTyxDQUFDLENBQ04sR0FBUSxFQUNSLE1BQWMsRUFDZCxNQUFVLEVBQ1YsRUFBRTtZQUNGLDRGQUE0RjtZQUM1RixpRkFBaUY7WUFDakYsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUN6QixNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDNUYsQ0FBQyxHQUFHLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQ2pELENBQUE7WUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLEVBQUUsT0FBTztnQkFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztvQkFDMUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTztvQkFDN0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtZQUViLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7Z0JBQzFCLElBQUksRUFBRSxHQUFHO2dCQUNULE9BQU8sRUFBRSxhQUFhO2dCQUN0QixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsTUFBTTthQUNQLENBQUMsQ0FBQTtZQUVGLE9BQU8sWUFBWSxDQUFBO1FBQ3JCLENBQUMsQ0FBUSxDQUFBO0lBQ1gsQ0FBQztJQUVELE9BQU87UUFDTCxhQUFhO0tBQ2QsQ0FBQTtBQUNILENBQUMsQ0FBQSJ9
|
package/package.json
CHANGED
package/src/Schema/Class.ts
CHANGED
|
@@ -26,6 +26,8 @@ type HasFields<Fields extends Struct.Fields> = {
|
|
|
26
26
|
readonly from: HasFields<Fields>
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
export type Class<Self, S extends S.Top & { readonly fields: Struct.Fields }, Inherited> = S.Class<Self, S, Inherited>
|
|
30
|
+
|
|
29
31
|
export const Class: <Self = never>(identifier: string) => <Fields extends S.Struct.Fields>(
|
|
30
32
|
fieldsOr: Fields | HasFields<Fields>,
|
|
31
33
|
annotations?: ClassAnnotations<Self>
|
package/src/client/makeClient.ts
CHANGED
|
@@ -18,21 +18,22 @@ export const ForceVoid = S
|
|
|
18
18
|
type SchemaOrFields<T> = T extends S.Top ? T : T extends S.Struct.Fields ? S.Struct<T> : S.Void
|
|
19
19
|
|
|
20
20
|
type TaggedRequestResult<
|
|
21
|
+
Self,
|
|
21
22
|
Tag extends string,
|
|
22
23
|
Payload extends S.Struct.Fields,
|
|
23
24
|
Success extends S.Top,
|
|
24
25
|
Error extends S.Top,
|
|
25
26
|
Config = Record<string, never>
|
|
26
27
|
> =
|
|
27
|
-
& S.TaggedStruct<Tag, Payload>
|
|
28
|
+
& S.EnhancedClass<Self, S.TaggedStruct<Tag, Payload>, {}>
|
|
28
29
|
& {
|
|
29
|
-
new(...args: any[]): any
|
|
30
30
|
readonly _tag: Tag
|
|
31
|
-
readonly fields: { readonly _tag: S.tag<Tag> } & Payload
|
|
32
31
|
readonly success: Success
|
|
33
32
|
readonly error: Error
|
|
34
33
|
readonly config: Config
|
|
34
|
+
// TODO: these two are wrong. Anything using this request's success/error, should however derive the Decoding/Encoding services from them..
|
|
35
35
|
readonly "~decodingServices": S.Codec.DecodingServices<Success> | S.Codec.DecodingServices<Error>
|
|
36
|
+
readonly "~encodingServices": S.Codec.EncodingServices<Success> | S.Codec.EncodingServices<Error>
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
export const makeRpcClient = <
|
|
@@ -52,31 +53,45 @@ export const makeRpcClient = <
|
|
|
52
53
|
: [GeneralErrors] extends [never] ? GetEffectError<RequestContextMap["config"], C>
|
|
53
54
|
: MergeError<GetEffectError<RequestContextMap["config"], C>>
|
|
54
55
|
|
|
55
|
-
function TaggedRequest<
|
|
56
|
+
function TaggedRequest<Self>(): {
|
|
56
57
|
<Tag extends string, Payload extends S.Struct.Fields, C extends ServiceMap>(
|
|
57
58
|
tag: Tag,
|
|
58
59
|
fields: Payload,
|
|
59
60
|
config: RequestConfig & C
|
|
60
|
-
): TaggedRequestResult<
|
|
61
|
+
): TaggedRequestResult<
|
|
62
|
+
Self,
|
|
63
|
+
Tag,
|
|
64
|
+
Payload,
|
|
65
|
+
SchemaOrFields<C["success"]>,
|
|
66
|
+
ErrorResult<C>,
|
|
67
|
+
Omit<C, "success" | "error">
|
|
68
|
+
>
|
|
61
69
|
<Tag extends string, Payload extends S.Struct.Fields, C extends Pick<ServiceMap, "success">>(
|
|
62
70
|
tag: Tag,
|
|
63
71
|
fields: Payload,
|
|
64
72
|
config: RequestConfig & C
|
|
65
|
-
): TaggedRequestResult<
|
|
73
|
+
): TaggedRequestResult<
|
|
74
|
+
Self,
|
|
75
|
+
Tag,
|
|
76
|
+
Payload,
|
|
77
|
+
SchemaOrFields<C["success"]>,
|
|
78
|
+
ErrorResult<C>,
|
|
79
|
+
Omit<C, "success" | "error">
|
|
80
|
+
>
|
|
66
81
|
<Tag extends string, Payload extends S.Struct.Fields, C extends Pick<ServiceMap, "error">>(
|
|
67
82
|
tag: Tag,
|
|
68
83
|
fields: Payload,
|
|
69
84
|
config: RequestConfig & C
|
|
70
|
-
): TaggedRequestResult<Tag, Payload, typeof ForceVoid, ErrorResult<C>, Omit<C, "success" | "error">>
|
|
85
|
+
): TaggedRequestResult<Self, Tag, Payload, typeof ForceVoid, ErrorResult<C>, Omit<C, "success" | "error">>
|
|
71
86
|
<Tag extends string, Payload extends S.Struct.Fields, C extends Record<string, any>>(
|
|
72
87
|
tag: Tag,
|
|
73
88
|
fields: Payload,
|
|
74
89
|
config: C & RequestConfig
|
|
75
|
-
): TaggedRequestResult<Tag, Payload, typeof ForceVoid, ErrorResult<C>, Omit<C, "success" | "error">>
|
|
90
|
+
): TaggedRequestResult<Self, Tag, Payload, typeof ForceVoid, ErrorResult<C>, Omit<C, "success" | "error">>
|
|
76
91
|
<Tag extends string, Payload extends S.Struct.Fields>(
|
|
77
92
|
tag: Tag,
|
|
78
93
|
fields: Payload
|
|
79
|
-
): TaggedRequestResult<Tag, Payload, typeof ForceVoid, ErrorResult<{}>, Record<string, never>>
|
|
94
|
+
): TaggedRequestResult<Self, Tag, Payload, typeof ForceVoid, ErrorResult<{}>, Record<string, never>>
|
|
80
95
|
} {
|
|
81
96
|
// TODO: filter errors based on config + take care of inversion
|
|
82
97
|
const errorSchemas = Object.values(rcs.config).map((_) => _.error)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.test.d.ts","sourceRoot":"","sources":["../rpc.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AAE7C,qBAAa,iBAAkB,SAAQ,sBAIrC;CAAG
|
|
1
|
+
{"version":3,"file":"rpc.test.d.ts","sourceRoot":"","sources":["../rpc.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AAE7C,qBAAa,iBAAkB,SAAQ,sBAIrC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIL,qBAAa,KAAM,SAAQ,UAQzB;CAAG"}
|
package/test/rpc.test.ts
CHANGED
|
@@ -22,7 +22,9 @@ export class Stats extends TaggedRequest<Stats>()("Stats", {}, {
|
|
|
22
22
|
}
|
|
23
23
|
}) {}
|
|
24
24
|
|
|
25
|
-
declare const _stats: typeof Stats.
|
|
25
|
+
declare const _stats: typeof Stats.Type
|
|
26
|
+
declare const _statsSuccess: typeof Stats.success.Type
|
|
27
|
+
declare const _statsError: typeof Stats.error.Type
|
|
26
28
|
|
|
27
29
|
test("ForceVoid decodes and encodes as void", () => {
|
|
28
30
|
expect(S.decodeUnknownSync(ForceVoid)(undefined)).toBe(undefined)
|
|
@@ -31,4 +33,12 @@ test("ForceVoid decodes and encodes as void", () => {
|
|
|
31
33
|
expect(S.is(ForceVoid)("test")).toBe(true)
|
|
32
34
|
expect(S.encodeUnknownSync(ForceVoid)("test")).toBe(undefined)
|
|
33
35
|
expect(S.encodeUnknownSync(S.toCodecJson(ForceVoid))("test")).toBe(null)
|
|
36
|
+
expectTypeOf<typeof _stats>().toEqualTypeOf<Stats>()
|
|
37
|
+
expectTypeOf<typeof _statsSuccess>().toEqualTypeOf<{
|
|
38
|
+
readonly usersActive24Hours: number
|
|
39
|
+
readonly usersActiveLastWeek: number
|
|
40
|
+
readonly newUsersLast24Hours: number
|
|
41
|
+
readonly newUsersLastWeek: number
|
|
42
|
+
}>()
|
|
43
|
+
expectTypeOf<typeof _statsError>().toEqualTypeOf<NotLoggedInError | UnauthorizedError>()
|
|
34
44
|
})
|