effect-app 2.8.0 → 2.8.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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 2.8.2
4
+
5
+ ### Patch Changes
6
+
7
+ - c2fa0ed: fix error schema
8
+
9
+ ## 2.8.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 1e83e5c: fix type
14
+
3
15
  ## 2.8.0
4
16
 
5
17
  ### Minor Changes
@@ -19,7 +19,7 @@ const makeRpcClient = (errors, generalErrors) => {
19
19
  return (tag, fields, config) => {
20
20
  const req = _lib.S.TaggedRequest()(tag, {
21
21
  payload: fields,
22
- failure: merge(config?.failure, [...errorSchemas, generalErrors].filter(Boolean)),
22
+ failure: merge(config?.failure ? _lib.S.isSchema(config.failure) ? config.failure : _lib.S.Struct(config.failure) : undefined, [...errorSchemas, generalErrors].filter(Boolean)),
23
23
  success: config?.success ? _lib.S.isSchema(config.success) ? config.success : _lib.S.Struct(config.success) : _lib.S.Void
24
24
  });
25
25
  return class extends Object.assign(req, {
@@ -1 +1 @@
1
- {"version":3,"file":"req.cjs","names":["_lib","require","merge","a","b","undefined","length","S","Union","Never","makeRpcClient","errors","generalErrors","TaggedRequest","errorSchemas","Object","values","tag","fields","config","req","payload","failure","filter","Boolean","success","isSchema","Struct","Void","assign","constructor","exports"],"sources":["../../src/client/req.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,IAAA,GAAAC,OAAA;AAJA;AACA;AACA;;AAyEA,MAAMC,KAAK,GAAGA,CAACC,CAAM,EAAEC,CAAa;AAClC;AACAD,CAAC,KAAKE,SAAS,IAAID,CAAC,CAACE,MAAM,GAAGC,MAAC,CAACC,KAAK,CAACL,CAAC,EAAE,GAAGC,CAAC,CAAC,GAAGD,CAAC,KAAKE,SAAS,GAAGF,CAAC,GAAGC,CAAC,CAACE,MAAM,GAAGC,MAAC,CAACC,KAAK,CAAC,GAAGJ,CAAC,CAAC,GAAGG,MAAC,CAACE,KAAK;AAIpG,MAAMC,aAAa,GAAGA,CAK3BC,MAA6C,EAC7CC,aAA6B,KAC3B;EAGF,SAASC,aAAaA,CAAA;IAgEpB;IACA,MAAMC,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACL,MAAM,CAAC;IAC1C,OAAQ,CACNM,GAAQ,EACRC,MAAc,EACdC,MAAU,KACR;MACF,MAAMC,GAAG,GAAGb,MAAC,CAACM,aAAa,EAAQ,CAACI,GAAG,EAAE;QACvCI,OAAO,EAAEH,MAAM;QACfI,OAAO,EAAEpB,KAAK,CAACiB,MAAM,EAAEG,OAAO,EAAE,CAAC,GAAGR,YAAY,EAAEF,aAAa,CAAC,CAACW,MAAM,CAACC,OAAO,CAAC,CAAC;QACjFC,OAAO,EAAEN,MAAM,EAAEM,OAAO,GAAGlB,MAAC,CAACmB,QAAQ,CAACP,MAAM,CAACM,OAAO,CAAC,GAAGN,MAAM,CAACM,OAAO,GAAGlB,MAAC,CAACoB,MAAM,CAACR,MAAM,CAACM,OAAO,CAAC,GAAGlB,MAAC,CAACqB;OACvG,CAAC;MACF,OAAO,cAAeb,MAAM,CAACc,MAAM,CAACT,GAAG,EAAE;QAAED;MAAM,CAAE,CAAS;QAC1DW,YAAY3B,CAAM,EAAEC,CAAA,GAAS,IAAI;UAC/B;UACA,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC;QACb;OACD;IACH,CAAC;EACH;EAEA,OAAO;IACLS;GACD;AACH,CAAC;AAAAkB,OAAA,CAAArB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"req.cjs","names":["_lib","require","merge","a","b","undefined","length","S","Union","Never","makeRpcClient","errors","generalErrors","TaggedRequest","errorSchemas","Object","values","tag","fields","config","req","payload","failure","isSchema","Struct","filter","Boolean","success","Void","assign","constructor","exports"],"sources":["../../src/client/req.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,IAAA,GAAAC,OAAA;AAJA;AACA;AACA;;AAyEA,MAAMC,KAAK,GAAGA,CAACC,CAAM,EAAEC,CAAa;AAClC;AACAD,CAAC,KAAKE,SAAS,IAAID,CAAC,CAACE,MAAM,GAAGC,MAAC,CAACC,KAAK,CAACL,CAAC,EAAE,GAAGC,CAAC,CAAC,GAAGD,CAAC,KAAKE,SAAS,GAAGF,CAAC,GAAGC,CAAC,CAACE,MAAM,GAAGC,MAAC,CAACC,KAAK,CAAC,GAAGJ,CAAC,CAAC,GAAGG,MAAC,CAACE,KAAK;AAIpG,MAAMC,aAAa,GAAGA,CAK3BC,MAA6C,EAC7CC,aAA6B,KAC3B;EAGF,SAASC,aAAaA,CAAA;IA0EpB;IACA,MAAMC,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACL,MAAM,CAAC;IAC1C,OAAQ,CACNM,GAAQ,EACRC,MAAc,EACdC,MAAU,KACR;MACF,MAAMC,GAAG,GAAGb,MAAC,CAACM,aAAa,EAAQ,CAACI,GAAG,EAAE;QACvCI,OAAO,EAAEH,MAAM;QACfI,OAAO,EAAEpB,KAAK,CACZiB,MAAM,EAAEG,OAAO,GAAGf,MAAC,CAACgB,QAAQ,CAACJ,MAAM,CAACG,OAAO,CAAC,GAAGH,MAAM,CAACG,OAAO,GAAGf,MAAC,CAACiB,MAAM,CAACL,MAAM,CAACG,OAAO,CAAC,GAAGjB,SAAS,EACpG,CAAC,GAAGS,YAAY,EAAEF,aAAa,CAAC,CAACa,MAAM,CAACC,OAAO,CAAC,CACjD;QACDC,OAAO,EAAER,MAAM,EAAEQ,OAAO,GAAGpB,MAAC,CAACgB,QAAQ,CAACJ,MAAM,CAACQ,OAAO,CAAC,GAAGR,MAAM,CAACQ,OAAO,GAAGpB,MAAC,CAACiB,MAAM,CAACL,MAAM,CAACQ,OAAO,CAAC,GAAGpB,MAAC,CAACqB;OACvG,CAAC;MACF,OAAO,cAAeb,MAAM,CAACc,MAAM,CAACT,GAAG,EAAE;QAAED;MAAM,CAAE,CAAS;QAC1DW,YAAY3B,CAAM,EAAEC,CAAA,GAAS,IAAI;UAC/B;UACA,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC;QACb;OACD;IACH,CAAC;EACH;EAEA,OAAO;IACLS;GACD;AACH,CAAC;AAAAkB,OAAA,CAAArB,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -32,24 +32,24 @@ export declare const makeRpcClient: <RequestConfig extends object, CTXMap extend
32
32
  TaggedRequest: <Self>() => {
33
33
  <Tag extends string, Payload extends S.Struct.Fields, C extends {
34
34
  success: S.Schema.Any | S.Struct.Fields;
35
- failure: S.Schema.Any;
35
+ failure: S.Schema.Any | S.Struct.Fields;
36
36
  }>(tag: Tag, fields: Payload, config: RequestConfig & C): S.TaggedRequestClass<Self, Tag, {
37
37
  readonly _tag: S.tag<Tag>;
38
- } & Payload, SchemaOrFields<(typeof config)["success"]>, JoinSchema<ExcludeFromTuple<[(typeof config)["failure"] | GetEffectError<CTXMap, C> | GeneralErrors], never>>> & {
38
+ } & Payload, SchemaOrFields<(typeof config)["success"]>, JoinSchema<ExcludeFromTuple<[SchemaOrFields<(typeof config)["failure"]> | GetEffectError<CTXMap, C> | GeneralErrors], never>>> & {
39
39
  config: Omit<C, "success" | "failure">;
40
40
  };
41
41
  <Tag extends string, Payload_1 extends S.Struct.Fields, C_1 extends {
42
- success: S.Schema.Any;
42
+ success: S.Schema.Any | S.Struct.Fields;
43
43
  }>(tag: Tag, fields: Payload_1, config: RequestConfig & C_1): S.TaggedRequestClass<Self, Tag, {
44
44
  readonly _tag: S.tag<Tag>;
45
45
  } & Payload_1, SchemaOrFields<(typeof config)["success"]>, JoinSchema<ExcludeFromTuple<[GetEffectError<CTXMap, C_1> | GeneralErrors], never>>> & {
46
46
  config: Omit<C_1, "success" | "failure">;
47
47
  };
48
48
  <Tag extends string, Payload_2 extends S.Struct.Fields, C_2 extends {
49
- failure: S.Schema.Any;
49
+ failure: S.Schema.Any | S.Struct.Fields;
50
50
  }>(tag: Tag, fields: Payload_2, config: RequestConfig & C_2): S.TaggedRequestClass<Self, Tag, {
51
51
  readonly _tag: S.tag<Tag>;
52
- } & Payload_2, typeof S.Void, JoinSchema<ExcludeFromTuple<[(typeof config)["failure"] | GetEffectError<CTXMap, C_2> | GeneralErrors], never>>> & {
52
+ } & Payload_2, typeof S.Void, JoinSchema<ExcludeFromTuple<[SchemaOrFields<(typeof config)["failure"]> | GetEffectError<CTXMap, C_2> | GeneralErrors], never>>> & {
53
53
  config: Omit<C_2, "success" | "failure">;
54
54
  };
55
55
  <Tag extends string, Payload_3 extends S.Struct.Fields, C_3 extends Record<string, any>>(tag: Tag, fields: Payload_3, config: C_3 & RequestConfig): S.TaggedRequestClass<Self, Tag, {
@@ -1 +1 @@
1
- {"version":3,"file":"req.d.ts","sourceRoot":"","sources":["../../src/client/req.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"req.d.ts","sourceRoot":"","sources":["../../src/client/req.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export const makeRpcClient = (errors, generalErrors) => {
12
12
  return ((tag, fields, config) => {
13
13
  const req = S.TaggedRequest()(tag, {
14
14
  payload: fields,
15
- failure: merge(config?.failure, [...errorSchemas, generalErrors].filter(Boolean)),
15
+ failure: merge(config?.failure ? S.isSchema(config.failure) ? config.failure : S.Struct(config.failure) : undefined, [...errorSchemas, generalErrors].filter(Boolean)),
16
16
  success: config?.success ? S.isSchema(config.success) ? config.success : S.Struct(config.success) : S.Void
17
17
  });
18
18
  return class extends Object.assign(req, { config }) {
@@ -27,4 +27,4 @@ export const makeRpcClient = (errors, generalErrors) => {
27
27
  TaggedRequest
28
28
  };
29
29
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZXEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBdUV0QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQU0sRUFBRSxDQUFhLEVBQUUsRUFBRTtBQUN0QyxpRUFBaUU7QUFDakUsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUkzRyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FLM0IsTUFBNkMsRUFDN0MsYUFBNkIsRUFDN0IsRUFBRTtJQUdGLFNBQVMsYUFBYTtRQWdFcEIsK0RBQStEO1FBQy9ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUMsT0FBTyxDQUFDLENBQ04sR0FBUSxFQUNSLE1BQWMsRUFDZCxNQUFVLEVBQ1YsRUFBRTtZQUNGLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZDLE9BQU8sRUFBRSxNQUFNO2dCQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7YUFDM0csQ0FBQyxDQUFBO1lBQ0YsT0FBTyxLQUFNLFNBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBUztnQkFDMUQsWUFBWSxDQUFNLEVBQUUsSUFBUyxJQUFJO29CQUMvQiw2REFBNkQ7b0JBQzdELEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQ2IsQ0FBQzthQUNGLENBQUE7UUFDSCxDQUFDLENBQVEsQ0FBQTtJQUNYLENBQUM7SUFFRCxPQUFPO1FBQ0wsYUFBYTtLQUNkLENBQUE7QUFDSCxDQUFDLENBQUEifQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZXEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBdUV0QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQU0sRUFBRSxDQUFhLEVBQUUsRUFBRTtBQUN0QyxpRUFBaUU7QUFDakUsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUkzRyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FLM0IsTUFBNkMsRUFDN0MsYUFBNkIsRUFDN0IsRUFBRTtJQUdGLFNBQVMsYUFBYTtRQTBFcEIsK0RBQStEO1FBQy9ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUMsT0FBTyxDQUFDLENBQ04sR0FBUSxFQUNSLE1BQWMsRUFDZCxNQUFVLEVBQ1YsRUFBRTtZQUNGLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZDLE9BQU8sRUFBRSxNQUFNO2dCQUNmLE9BQU8sRUFBRSxLQUFLLENBQ1osTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3BHLENBQUMsR0FBRyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUNqRDtnQkFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTthQUMzRyxDQUFDLENBQUE7WUFDRixPQUFPLEtBQU0sU0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFTO2dCQUMxRCxZQUFZLENBQU0sRUFBRSxJQUFTLElBQUk7b0JBQy9CLDZEQUE2RDtvQkFDN0QsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtnQkFDYixDQUFDO2FBQ0YsQ0FBQTtRQUNILENBQUMsQ0FBUSxDQUFBO0lBQ1gsQ0FBQztJQUVELE9BQU87UUFDTCxhQUFhO0tBQ2QsQ0FBQTtBQUNILENBQUMsQ0FBQSJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "2.8.0",
3
+ "version": "2.8.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
package/src/client/req.ts CHANGED
@@ -88,7 +88,7 @@ export const makeRpcClient = <
88
88
  generalErrors?: GeneralErrors
89
89
  ) => {
90
90
  // Long way around Context/C extends etc to support actual jsdoc from passed in RequestConfig etc...
91
- type Context = { success: S.Schema.Any | S.Struct.Fields; failure: S.Schema.Any }
91
+ type Context = { success: S.Schema.Any | S.Struct.Fields; failure: S.Schema.Any | S.Struct.Fields }
92
92
  function TaggedRequest<Self>(): {
93
93
  <Tag extends string, Payload extends S.Struct.Fields, C extends Context>(
94
94
  tag: Tag,
@@ -100,10 +100,15 @@ export const makeRpcClient = <
100
100
  Tag,
101
101
  { readonly _tag: S.tag<Tag> } & Payload,
102
102
  SchemaOrFields<typeof config["success"]>,
103
- JoinSchema<ExcludeFromTuple<[typeof config["failure"] | GetEffectError<CTXMap, C> | GeneralErrors], never>>
103
+ JoinSchema<
104
+ ExcludeFromTuple<
105
+ [SchemaOrFields<typeof config["failure"]> | GetEffectError<CTXMap, C> | GeneralErrors],
106
+ never
107
+ >
108
+ >
104
109
  >
105
110
  & { config: Omit<C, "success" | "failure"> }
106
- <Tag extends string, Payload extends S.Struct.Fields, C extends { success: S.Schema.Any }>(
111
+ <Tag extends string, Payload extends S.Struct.Fields, C extends { success: S.Schema.Any | S.Struct.Fields }>(
107
112
  tag: Tag,
108
113
  fields: Payload,
109
114
  config: RequestConfig & C
@@ -116,7 +121,7 @@ export const makeRpcClient = <
116
121
  JoinSchema<ExcludeFromTuple<[GetEffectError<CTXMap, C> | GeneralErrors], never>>
117
122
  >
118
123
  & { config: Omit<C, "success" | "failure"> }
119
- <Tag extends string, Payload extends S.Struct.Fields, C extends { failure: S.Schema.Any }>(
124
+ <Tag extends string, Payload extends S.Struct.Fields, C extends { failure: S.Schema.Any | S.Struct.Fields }>(
120
125
  tag: Tag,
121
126
  fields: Payload,
122
127
  config: RequestConfig & C
@@ -126,7 +131,12 @@ export const makeRpcClient = <
126
131
  Tag,
127
132
  { readonly _tag: S.tag<Tag> } & Payload,
128
133
  typeof S.Void,
129
- JoinSchema<ExcludeFromTuple<[typeof config["failure"] | GetEffectError<CTXMap, C> | GeneralErrors], never>>
134
+ JoinSchema<
135
+ ExcludeFromTuple<
136
+ [SchemaOrFields<typeof config["failure"]> | GetEffectError<CTXMap, C> | GeneralErrors],
137
+ never
138
+ >
139
+ >
130
140
  >
131
141
  & { config: Omit<C, "success" | "failure"> }
132
142
  <Tag extends string, Payload extends S.Struct.Fields, C extends Record<string, any>>(
@@ -162,7 +172,10 @@ export const makeRpcClient = <
162
172
  ) => {
163
173
  const req = S.TaggedRequest<Self>()(tag, {
164
174
  payload: fields,
165
- failure: merge(config?.failure, [...errorSchemas, generalErrors].filter(Boolean)),
175
+ failure: merge(
176
+ config?.failure ? S.isSchema(config.failure) ? config.failure : S.Struct(config.failure) : undefined,
177
+ [...errorSchemas, generalErrors].filter(Boolean)
178
+ ),
166
179
  success: config?.success ? S.isSchema(config.success) ? config.success : S.Struct(config.success) : S.Void
167
180
  })
168
181
  return class extends (Object.assign(req, { config }) as any) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.test.d.ts","sourceRoot":"","sources":["../rpc.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAInC,qBAAa,KAAM,SAAQ,UAQzB;CAAG"}
@@ -0,0 +1,17 @@
1
+ import { makeRpcClient } from "../src/client/req.js"
2
+ import { S } from "../src/index.js"
3
+
4
+ const { TaggedRequest } = makeRpcClient({})
5
+
6
+ export class Stats extends TaggedRequest<Stats>()("Stats", {}, {
7
+ allowedRoles: ["manager"],
8
+ success: {
9
+ usersActive24Hours: S.Number,
10
+ usersActiveLastWeek: S.Number,
11
+ newUsersLast24Hours: S.Number,
12
+ newUsersLastWeek: S.Number
13
+ }
14
+ }) {}
15
+
16
+ declare const stats: typeof Stats.success.Type
17
+ console.log(stats.usersActiveLastWeek)