effect-app 4.0.0-beta.25 → 4.0.0-beta.251

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.
Files changed (365) hide show
  1. package/CHANGELOG.md +1137 -0
  2. package/dist/Array.d.ts +3 -2
  3. package/dist/Array.d.ts.map +1 -1
  4. package/dist/Array.js +4 -4
  5. package/dist/Chunk.d.ts +1 -1
  6. package/dist/Chunk.d.ts.map +1 -1
  7. package/dist/Config/SecretURL.d.ts +4 -2
  8. package/dist/Config/SecretURL.d.ts.map +1 -1
  9. package/dist/Config/SecretURL.js +3 -6
  10. package/dist/Config/internal/configSecretURL.d.ts +1 -1
  11. package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
  12. package/dist/Config/internal/configSecretURL.js +2 -2
  13. package/dist/Config.d.ts +7 -0
  14. package/dist/Config.d.ts.map +1 -0
  15. package/dist/Config.js +6 -0
  16. package/dist/ConfigProvider.d.ts +39 -0
  17. package/dist/ConfigProvider.d.ts.map +1 -0
  18. package/dist/ConfigProvider.js +42 -0
  19. package/dist/Context.d.ts +42 -0
  20. package/dist/Context.d.ts.map +1 -0
  21. package/dist/Context.js +67 -0
  22. package/dist/Effect.d.ts +13 -12
  23. package/dist/Effect.d.ts.map +1 -1
  24. package/dist/Effect.js +5 -8
  25. package/dist/Emailer.d.ts +51 -0
  26. package/dist/Emailer.d.ts.map +1 -0
  27. package/dist/Emailer.js +7 -0
  28. package/dist/Function.d.ts +1 -1
  29. package/dist/Function.d.ts.map +1 -1
  30. package/dist/Inputify.type.d.ts +1 -1
  31. package/dist/Layer.d.ts +11 -7
  32. package/dist/Layer.d.ts.map +1 -1
  33. package/dist/Layer.js +3 -2
  34. package/dist/Model/Repository/Registry.d.ts +21 -0
  35. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  36. package/dist/Model/Repository/Registry.js +18 -0
  37. package/dist/Model/Repository/ext.d.ts +60 -0
  38. package/dist/Model/Repository/ext.d.ts.map +1 -0
  39. package/dist/Model/Repository/ext.js +122 -0
  40. package/dist/Model/Repository/internal/internal.d.ts +62 -0
  41. package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
  42. package/dist/Model/Repository/internal/internal.js +397 -0
  43. package/dist/Model/Repository/legacy.d.ts +21 -0
  44. package/dist/Model/Repository/legacy.d.ts.map +1 -0
  45. package/dist/Model/Repository/legacy.js +2 -0
  46. package/dist/Model/Repository/makeRepo.d.ts +53 -0
  47. package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
  48. package/dist/Model/Repository/makeRepo.js +27 -0
  49. package/dist/Model/Repository/service.d.ts +97 -0
  50. package/dist/Model/Repository/service.d.ts.map +1 -0
  51. package/dist/Model/Repository/service.js +2 -0
  52. package/dist/Model/Repository/validation.d.ts +71 -0
  53. package/dist/Model/Repository/validation.d.ts.map +1 -0
  54. package/dist/Model/Repository/validation.js +32 -0
  55. package/dist/Model/Repository.d.ts +7 -0
  56. package/dist/Model/Repository.d.ts.map +1 -0
  57. package/dist/Model/Repository.js +7 -0
  58. package/dist/Model/dsl.d.ts +33 -0
  59. package/dist/Model/dsl.d.ts.map +1 -0
  60. package/dist/Model/dsl.js +43 -0
  61. package/dist/Model/filter/filterApi.d.ts +30 -0
  62. package/dist/Model/filter/filterApi.d.ts.map +1 -0
  63. package/dist/Model/filter/filterApi.js +2 -0
  64. package/dist/Model/filter/types/errors.d.ts +29 -0
  65. package/dist/Model/filter/types/errors.d.ts.map +1 -0
  66. package/dist/Model/filter/types/errors.js +2 -0
  67. package/dist/Model/filter/types/fields.d.ts +15 -0
  68. package/dist/Model/filter/types/fields.d.ts.map +1 -0
  69. package/dist/Model/filter/types/fields.js +2 -0
  70. package/dist/Model/filter/types/path/common.d.ts +316 -0
  71. package/dist/Model/filter/types/path/common.d.ts.map +1 -0
  72. package/dist/Model/filter/types/path/common.js +2 -0
  73. package/dist/Model/filter/types/path/eager.d.ts +95 -0
  74. package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
  75. package/dist/Model/filter/types/path/eager.js +31 -0
  76. package/dist/Model/filter/types/path/index.d.ts +4 -0
  77. package/dist/Model/filter/types/path/index.d.ts.map +1 -0
  78. package/dist/Model/filter/types/path/index.js +3 -0
  79. package/dist/Model/filter/types/utils.d.ts +79 -0
  80. package/dist/Model/filter/types/utils.d.ts.map +1 -0
  81. package/dist/Model/filter/types/utils.js +2 -0
  82. package/dist/Model/filter/types/validator.d.ts +30 -0
  83. package/dist/Model/filter/types/validator.d.ts.map +1 -0
  84. package/dist/Model/filter/types/validator.js +2 -0
  85. package/dist/Model/filter/types.d.ts +5 -0
  86. package/dist/Model/filter/types.d.ts.map +1 -0
  87. package/dist/Model/filter/types.js +7 -0
  88. package/dist/Model/query/dsl.d.ts +446 -0
  89. package/dist/Model/query/dsl.d.ts.map +1 -0
  90. package/dist/Model/query/dsl.js +342 -0
  91. package/dist/Model/query/new-kid-interpreter.d.ts +136 -0
  92. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
  93. package/dist/Model/query/new-kid-interpreter.js +336 -0
  94. package/dist/Model/query.d.ts +15 -0
  95. package/dist/Model/query.d.ts.map +1 -0
  96. package/dist/Model/query.js +3 -0
  97. package/dist/Model.d.ts +5 -0
  98. package/dist/Model.d.ts.map +1 -0
  99. package/dist/Model.js +5 -0
  100. package/dist/NonEmptySet.d.ts +4 -2
  101. package/dist/NonEmptySet.d.ts.map +1 -1
  102. package/dist/NonEmptySet.js +2 -2
  103. package/dist/Option.d.ts +2 -1
  104. package/dist/Option.d.ts.map +1 -1
  105. package/dist/Option.js +3 -1
  106. package/dist/Pure.d.ts +8 -6
  107. package/dist/Pure.d.ts.map +1 -1
  108. package/dist/Pure.js +17 -14
  109. package/dist/QueueMaker.d.ts +13 -0
  110. package/dist/QueueMaker.d.ts.map +1 -0
  111. package/dist/QueueMaker.js +4 -0
  112. package/dist/RequestContext.d.ts +103 -0
  113. package/dist/RequestContext.d.ts.map +1 -0
  114. package/dist/RequestContext.js +49 -0
  115. package/dist/Schema/Class.d.ts +66 -20
  116. package/dist/Schema/Class.d.ts.map +1 -1
  117. package/dist/Schema/Class.js +192 -23
  118. package/dist/Schema/FastCheck.d.ts +1 -1
  119. package/dist/Schema/FastCheck.d.ts.map +1 -1
  120. package/dist/Schema/Methods.d.ts +1 -1
  121. package/dist/Schema/SchemaParser.d.ts +5 -0
  122. package/dist/Schema/SchemaParser.d.ts.map +1 -0
  123. package/dist/Schema/SchemaParser.js +6 -0
  124. package/dist/Schema/SpecialJsonSchema.d.ts +34 -0
  125. package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
  126. package/dist/Schema/SpecialJsonSchema.js +118 -0
  127. package/dist/Schema/SpecialOpenApi.d.ts +32 -0
  128. package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
  129. package/dist/Schema/SpecialOpenApi.js +123 -0
  130. package/dist/Schema/brand.d.ts +5 -3
  131. package/dist/Schema/brand.d.ts.map +1 -1
  132. package/dist/Schema/brand.js +3 -1
  133. package/dist/Schema/email.d.ts +1 -1
  134. package/dist/Schema/email.d.ts.map +1 -1
  135. package/dist/Schema/email.js +7 -4
  136. package/dist/Schema/ext.d.ts +339 -56
  137. package/dist/Schema/ext.d.ts.map +1 -1
  138. package/dist/Schema/ext.js +358 -53
  139. package/dist/Schema/moreStrings.d.ts +108 -26
  140. package/dist/Schema/moreStrings.d.ts.map +1 -1
  141. package/dist/Schema/moreStrings.js +45 -16
  142. package/dist/Schema/numbers.d.ts +55 -15
  143. package/dist/Schema/numbers.d.ts.map +1 -1
  144. package/dist/Schema/numbers.js +60 -12
  145. package/dist/Schema/phoneNumber.d.ts +1 -1
  146. package/dist/Schema/phoneNumber.d.ts.map +1 -1
  147. package/dist/Schema/phoneNumber.js +6 -3
  148. package/dist/Schema/schema.d.ts +1 -1
  149. package/dist/Schema/strings.d.ts +5 -5
  150. package/dist/Schema/strings.d.ts.map +1 -1
  151. package/dist/Schema/strings.js +1 -5
  152. package/dist/Schema.d.ts +214 -8
  153. package/dist/Schema.d.ts.map +1 -1
  154. package/dist/Schema.js +190 -11
  155. package/dist/Set.d.ts +5 -2
  156. package/dist/Set.d.ts.map +1 -1
  157. package/dist/Set.js +3 -2
  158. package/dist/Store.d.ts +170 -0
  159. package/dist/Store.d.ts.map +1 -0
  160. package/dist/Store.js +121 -0
  161. package/dist/TypeTest.d.ts +1 -1
  162. package/dist/Types.d.ts +1 -1
  163. package/dist/Widen.type.d.ts +1 -1
  164. package/dist/_ext/Array.d.ts +2 -2
  165. package/dist/_ext/Array.d.ts.map +1 -1
  166. package/dist/_ext/Array.js +4 -2
  167. package/dist/_ext/date.d.ts +1 -1
  168. package/dist/_ext/misc.d.ts +5 -2
  169. package/dist/_ext/misc.d.ts.map +1 -1
  170. package/dist/_ext/misc.js +4 -2
  171. package/dist/_ext/ord.ext.d.ts +3 -2
  172. package/dist/_ext/ord.ext.d.ts.map +1 -1
  173. package/dist/_ext/ord.ext.js +2 -2
  174. package/dist/builtin.d.ts +1 -1
  175. package/dist/builtin.d.ts.map +1 -1
  176. package/dist/client/InvalidationKeys.d.ts +29 -0
  177. package/dist/client/InvalidationKeys.d.ts.map +1 -0
  178. package/dist/client/InvalidationKeys.js +33 -0
  179. package/dist/client/apiClientFactory.d.ts +20 -32
  180. package/dist/client/apiClientFactory.d.ts.map +1 -1
  181. package/dist/client/apiClientFactory.js +104 -34
  182. package/dist/client/clientFor.d.ts +53 -19
  183. package/dist/client/clientFor.d.ts.map +1 -1
  184. package/dist/client/clientFor.js +9 -1
  185. package/dist/client/errors.d.ts +49 -25
  186. package/dist/client/errors.d.ts.map +1 -1
  187. package/dist/client/errors.js +43 -17
  188. package/dist/client/makeClient.d.ts +495 -33
  189. package/dist/client/makeClient.d.ts.map +1 -1
  190. package/dist/client/makeClient.js +66 -24
  191. package/dist/client.d.ts +6 -5
  192. package/dist/client.d.ts.map +1 -1
  193. package/dist/client.js +2 -1
  194. package/dist/faker.d.ts +1 -1
  195. package/dist/faker.d.ts.map +1 -1
  196. package/dist/http/Request.d.ts +2 -2
  197. package/dist/http/Request.d.ts.map +1 -1
  198. package/dist/http/Request.js +2 -2
  199. package/dist/http/internal/lib.d.ts +1 -1
  200. package/dist/http.d.ts +1 -1
  201. package/dist/ids.d.ts +40 -12
  202. package/dist/ids.d.ts.map +1 -1
  203. package/dist/ids.js +25 -3
  204. package/dist/index.d.ts +7 -8
  205. package/dist/index.d.ts.map +1 -1
  206. package/dist/index.js +8 -8
  207. package/dist/logger.d.ts +1 -1
  208. package/dist/middleware.d.ts +14 -8
  209. package/dist/middleware.d.ts.map +1 -1
  210. package/dist/middleware.js +14 -8
  211. package/dist/rpc/Invalidation.d.ts +420 -0
  212. package/dist/rpc/Invalidation.d.ts.map +1 -0
  213. package/dist/rpc/Invalidation.js +168 -0
  214. package/dist/rpc/MiddlewareMaker.d.ts +12 -8
  215. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
  216. package/dist/rpc/MiddlewareMaker.js +59 -38
  217. package/dist/rpc/RpcContextMap.d.ts +4 -4
  218. package/dist/rpc/RpcContextMap.d.ts.map +1 -1
  219. package/dist/rpc/RpcContextMap.js +4 -4
  220. package/dist/rpc/RpcMiddleware.d.ts +15 -11
  221. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  222. package/dist/rpc/RpcMiddleware.js +1 -1
  223. package/dist/rpc.d.ts +2 -2
  224. package/dist/rpc.d.ts.map +1 -1
  225. package/dist/rpc.js +2 -2
  226. package/dist/runtime.d.ts +19 -0
  227. package/dist/runtime.d.ts.map +1 -0
  228. package/dist/runtime.js +40 -0
  229. package/dist/setupRequest.d.ts +19 -0
  230. package/dist/setupRequest.d.ts.map +1 -0
  231. package/dist/setupRequest.js +69 -0
  232. package/dist/toast.d.ts +51 -0
  233. package/dist/toast.d.ts.map +1 -0
  234. package/dist/toast.js +34 -0
  235. package/dist/transform.d.ts +2 -2
  236. package/dist/transform.d.ts.map +1 -1
  237. package/dist/transform.js +4 -5
  238. package/dist/utils/effectify.d.ts +2 -2
  239. package/dist/utils/effectify.d.ts.map +1 -1
  240. package/dist/utils/effectify.js +2 -2
  241. package/dist/utils/extend.d.ts +1 -1
  242. package/dist/utils/extend.d.ts.map +1 -1
  243. package/dist/utils/gen.d.ts +5 -5
  244. package/dist/utils/gen.d.ts.map +1 -1
  245. package/dist/utils/logLevel.d.ts +3 -3
  246. package/dist/utils/logLevel.d.ts.map +1 -1
  247. package/dist/utils/logger.d.ts +5 -4
  248. package/dist/utils/logger.d.ts.map +1 -1
  249. package/dist/utils/logger.js +4 -4
  250. package/dist/utils.d.ts +40 -45
  251. package/dist/utils.d.ts.map +1 -1
  252. package/dist/utils.js +19 -27
  253. package/dist/validation/validators.d.ts +1 -1
  254. package/dist/validation/validators.d.ts.map +1 -1
  255. package/dist/validation.d.ts +1 -1
  256. package/dist/validation.d.ts.map +1 -1
  257. package/dist/withToast.d.ts +30 -0
  258. package/dist/withToast.d.ts.map +1 -0
  259. package/dist/withToast.js +64 -0
  260. package/package.json +162 -24
  261. package/src/Array.ts +3 -3
  262. package/src/Config/SecretURL.ts +5 -2
  263. package/src/Config/internal/configSecretURL.ts +1 -1
  264. package/src/Config.ts +14 -0
  265. package/src/ConfigProvider.ts +48 -0
  266. package/src/{ServiceMap.ts → Context.ts} +56 -63
  267. package/src/Effect.ts +12 -14
  268. package/src/Emailer.ts +51 -0
  269. package/src/Layer.ts +10 -6
  270. package/src/Model/Repository/Registry.ts +34 -0
  271. package/src/Model/Repository/ext.ts +375 -0
  272. package/src/Model/Repository/internal/internal.ts +691 -0
  273. package/src/Model/Repository/legacy.ts +29 -0
  274. package/src/Model/Repository/makeRepo.ts +144 -0
  275. package/src/Model/Repository/service.ts +639 -0
  276. package/src/Model/Repository/validation.ts +31 -0
  277. package/src/Model/Repository.ts +6 -0
  278. package/src/Model/dsl.ts +129 -0
  279. package/src/Model/filter/filterApi.ts +60 -0
  280. package/src/Model/filter/types/errors.ts +47 -0
  281. package/src/Model/filter/types/fields.ts +50 -0
  282. package/src/Model/filter/types/path/common.ts +404 -0
  283. package/src/Model/filter/types/path/eager.ts +297 -0
  284. package/src/Model/filter/types/path/index.ts +4 -0
  285. package/src/Model/filter/types/utils.ts +128 -0
  286. package/src/Model/filter/types/validator.ts +46 -0
  287. package/src/Model/filter/types.ts +6 -0
  288. package/src/Model/query/dsl.ts +2546 -0
  289. package/src/Model/query/new-kid-interpreter.ts +484 -0
  290. package/src/Model/query.ts +13 -0
  291. package/src/Model.ts +4 -0
  292. package/src/NonEmptySet.ts +3 -1
  293. package/src/Option.ts +2 -0
  294. package/src/Pure.ts +21 -19
  295. package/src/QueueMaker.ts +19 -0
  296. package/src/RequestContext.ts +62 -0
  297. package/src/Schema/Class.ts +274 -64
  298. package/src/Schema/SchemaParser.ts +12 -0
  299. package/src/Schema/SpecialJsonSchema.ts +139 -0
  300. package/src/Schema/SpecialOpenApi.ts +130 -0
  301. package/src/Schema/brand.ts +22 -2
  302. package/src/Schema/email.ts +7 -2
  303. package/src/Schema/ext.ts +443 -88
  304. package/src/Schema/moreStrings.ts +93 -37
  305. package/src/Schema/numbers.ts +64 -16
  306. package/src/Schema/phoneNumber.ts +5 -1
  307. package/src/Schema/strings.ts +4 -8
  308. package/src/Schema.ts +374 -10
  309. package/src/Set.ts +5 -1
  310. package/src/Store.ts +277 -0
  311. package/src/_ext/Array.ts +3 -1
  312. package/src/_ext/misc.ts +4 -1
  313. package/src/_ext/ord.ext.ts +2 -1
  314. package/src/client/InvalidationKeys.ts +50 -0
  315. package/src/client/apiClientFactory.ts +230 -131
  316. package/src/client/clientFor.ts +102 -31
  317. package/src/client/errors.ts +52 -26
  318. package/src/client/makeClient.ts +592 -71
  319. package/src/client.ts +5 -4
  320. package/src/http/Request.ts +1 -1
  321. package/src/ids.ts +25 -3
  322. package/src/index.ts +7 -10
  323. package/src/middleware.ts +13 -9
  324. package/src/rpc/Invalidation.ts +261 -0
  325. package/src/rpc/MiddlewareMaker.ts +83 -75
  326. package/src/rpc/README.md +2 -2
  327. package/src/rpc/RpcContextMap.ts +6 -5
  328. package/src/rpc/RpcMiddleware.ts +18 -12
  329. package/src/rpc.ts +1 -1
  330. package/src/runtime.ts +56 -0
  331. package/src/setupRequest.ts +134 -0
  332. package/src/toast.ts +54 -0
  333. package/src/transform.ts +3 -3
  334. package/src/utils/effectify.ts +1 -1
  335. package/src/utils/gen.ts +8 -8
  336. package/src/utils/logLevel.ts +1 -1
  337. package/src/utils/logger.ts +4 -3
  338. package/src/utils.ts +62 -139
  339. package/src/withToast.ts +133 -0
  340. package/test/dist/rpc-dynamic-middleware.test.d.ts.map +1 -0
  341. package/test/dist/rpc.test.d.ts.map +1 -1
  342. package/test/dist/secretURL.test.d.ts.map +1 -0
  343. package/test/dist/special.test.d.ts.map +1 -0
  344. package/test/dist/stream-error.types.d.ts +2 -0
  345. package/test/dist/stream-error.types.d.ts.map +1 -0
  346. package/test/dist/stream-error.types.js +27 -0
  347. package/test/moreStrings.test.ts +1 -1
  348. package/test/rpc.test.ts +46 -6
  349. package/test/schema.test.ts +459 -30
  350. package/test/secretURL.test.ts +160 -0
  351. package/test/special.test.ts +1026 -0
  352. package/test/utils.test.ts +7 -7
  353. package/tsconfig.base.json +6 -5
  354. package/tsconfig.json +2 -1
  355. package/tsconfig.json.bak +2 -2
  356. package/tsconfig.src.json +29 -29
  357. package/tsconfig.test.json +2 -2
  358. package/dist/Operations.d.ts +0 -123
  359. package/dist/Operations.d.ts.map +0 -1
  360. package/dist/Operations.js +0 -29
  361. package/dist/ServiceMap.d.ts +0 -44
  362. package/dist/ServiceMap.d.ts.map +0 -1
  363. package/dist/ServiceMap.js +0 -91
  364. package/eslint.config.mjs +0 -26
  365. package/src/Operations.ts +0 -55
@@ -1,42 +1,504 @@
1
- import { type GetContextConfig, type GetEffectError, type RequestContextMapTagAny } from "../rpc/RpcContextMap.js";
1
+ import type * as Exit from "effect/Exit";
2
+ import { type GetContextConfig, type RpcContextMap } from "../rpc/RpcContextMap.js";
2
3
  import * as S from "../Schema.js";
4
+ import type { ClientForOptions } from "./clientFor.js";
5
+ /**
6
+ * Minimal structural shape for an rpc-client middleware tag.
7
+ * Captures only what `makeRpcClient` and routing/client factory consume from it
8
+ * (no `Default` layer required — that is provided to `makeRouter`).
9
+ */
10
+ export interface ClientMiddleware<RequestContextMap extends Record<string, RpcContextMap.Any>> {
11
+ readonly requestContextMap: RequestContextMap;
12
+ readonly requestContext: unknown;
13
+ readonly provides?: unknown;
14
+ readonly requires?: unknown;
15
+ }
16
+ /**
17
+ * Whatever the input, we will only decode or encode to void
18
+ */
19
+ export declare const ForceVoid: S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>;
3
20
  type SchemaOrFields<T> = T extends S.Top ? T : T extends S.Struct.Fields ? S.Struct<T> : S.Void;
4
- 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> & {
5
- new (...args: any[]): any;
21
+ type TaggedRequestSchema<Tag extends string, Payload extends S.Struct.Fields> = S.Struct<{
22
+ readonly _tag: S.tag<Tag>;
23
+ } & Payload>;
24
+ type QueryOnlyRequests<Resource> = {
25
+ [K in keyof Resource as Resource[K] extends {
26
+ readonly type: "query";
27
+ } ? K : never]: Resource[K];
28
+ };
29
+ type QueryOnlyResources<Resources> = {
30
+ [K in keyof Resources]: QueryOnlyRequests<Resources[K]>;
31
+ };
32
+ type InputFromPayload<Payload extends S.Struct.Fields> = keyof Payload extends never ? void : S.Struct<Payload>["Type"];
33
+ type OutputFromSuccess<Success extends S.Top> = Success extends typeof ForceVoid ? void : Success["Type"];
34
+ type InvalidationResources = Record<string, Record<string, unknown>>;
35
+ /**
36
+ * An invalidation instruction returned from `invalidatesQueries`. One of:
37
+ * - a raw query key (`ReadonlyArray<string>`)
38
+ * - an RPC handler object (`{ id, options? }`) — query key derived from `id`
39
+ * - the raw `{ filters, options }` tanstack-query shape
40
+ *
41
+ * `Filters` / `Options` are widened to `Record<string, unknown>` by default so
42
+ * the effect-app core has no dependency on `@tanstack/vue-query`. The vue
43
+ * adapter narrows them via the `InvalidationEntry` alias.
44
+ */
45
+ export type InvalidateQueryInstruction<Filters = Record<string, unknown>, Options = Record<string, unknown>> = ReadonlyArray<string> | {
46
+ readonly id: string;
47
+ readonly options?: ClientForOptions;
48
+ } | {
49
+ readonly filters?: Filters;
50
+ readonly options?: Options;
51
+ };
52
+ export type InvalidationCallback<Resources, Input = unknown, Success = unknown, Failure = unknown> = (queryKey: readonly string[], resources: QueryOnlyResources<Resources>, ...args: [Input] extends [void] ? [exit: Exit.Exit<Success, Failure>] : [input: Input, exit: Exit.Exit<Success, Failure>]) => ReadonlyArray<InvalidateQueryInstruction>;
53
+ export type InvalidationConfig<Resources, Input = unknown, Success = unknown, Failure = unknown> = {
54
+ readonly invalidatesQueries: InvalidationCallback<Resources, Input, Success, Failure>;
55
+ readonly invalidationResources?: Resources;
56
+ };
57
+ type InvalidationConfigForCommand<Resources, Payload extends S.Struct.Fields, Success extends S.Top, Error extends S.Top> = InvalidationConfig<Resources, InputFromPayload<Payload>, OutputFromSuccess<Success>, Error["Type"]>;
58
+ export declare const configureInvalidation: <Resources>() => <Input, Success, Failure>(invalidatesQueries: InvalidationCallback<Resources, NoInfer<Input>, NoInfer<Success>, NoInfer<Failure>>) => InvalidationConfig<Resources, Input, Success, Failure>;
59
+ export declare const configureInvalidationCallback: <Resources>() => <Input, Success, Failure>(invalidatesQueries: InvalidationCallback<Resources, NoInfer<Input>, NoInfer<Success>, NoInfer<Failure>>) => InvalidationCallback<Resources, Input, Success, Failure>;
60
+ export declare const configureInvalidationResources: <Resources>() => Pick<InvalidationConfig<Resources>, "invalidationResources">;
61
+ type TaggedRequestForResult<Self, Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top, Error extends S.Top, Config, ModuleName extends string, Type extends "command" | "query", Stream extends boolean, Resources = never, Final extends S.Top = never, Middleware = unknown> = S.Opaque<Self, S.ExtendedSchemaNoEncoded, TaggedRequestSchema<Tag, Payload>, {}> & {
62
+ readonly fields: TaggedRequestSchema<Tag, Payload>["fields"];
6
63
  readonly _tag: Tag;
7
- readonly fields: {
8
- readonly _tag: S.tag<Tag>;
9
- } & Payload;
10
64
  readonly success: Success;
11
65
  readonly error: Error;
12
66
  readonly config: Config;
13
- readonly "~decodingServices": S.Codec.DecodingServices<Success> | S.Codec.DecodingServices<Error>;
14
- };
15
- export declare const makeRpcClient: <RequestContextMap extends RequestContextMapTagAny, GeneralErrors extends S.Top = never>(rcs: RequestContextMap, generalErrors?: GeneralErrors) => {
16
- TaggedRequest: <_Self>() => {
17
- <Tag extends string, Payload extends S.Struct.Fields, C extends {
18
- success: S.Top | S.Struct.Fields;
19
- error: S.Top | S.Struct.Fields;
20
- }>(tag: Tag, fields: Payload, config: GetContextConfig<RequestContextMap["config"]> & C): TaggedRequestResult<Tag, Payload, SchemaOrFields<C["success"]>, C extends {
21
- error: infer E;
22
- } ? [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">>;
23
- <Tag extends string, Payload_1 extends S.Struct.Fields, C_1 extends Pick<{
24
- success: S.Top | S.Struct.Fields;
25
- error: S.Top | S.Struct.Fields;
26
- }, "success">>(tag: Tag, fields: Payload_1, config: GetContextConfig<RequestContextMap["config"]> & C_1): TaggedRequestResult<Tag, Payload_1, SchemaOrFields<C_1["success"]>, C_1 extends {
27
- error: infer E;
28
- } ? [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">>;
29
- <Tag extends string, Payload_2 extends S.Struct.Fields, C_2 extends Pick<{
30
- success: S.Top | S.Struct.Fields;
31
- error: S.Top | S.Struct.Fields;
32
- }, "error">>(tag: Tag, fields: Payload_2, config: GetContextConfig<RequestContextMap["config"]> & C_2): TaggedRequestResult<Tag, Payload_2, S.Codec<void>, C_2 extends {
33
- error: infer E;
34
- } ? [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">>;
35
- <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, S.Codec<void>, C_3 extends {
36
- error: infer E;
37
- } ? [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">>;
38
- <Tag extends string, Payload_4 extends S.Struct.Fields>(tag: Tag, fields: Payload_4): TaggedRequestResult<Tag, Payload_4, S.Codec<void>, [GeneralErrors] extends [never] ? GetEffectError<RequestContextMap["config"], {}> : [GeneralErrors] extends [never] ? SchemaOrFields<GetEffectError<RequestContextMap["config"], {}>> : S.Union<[SchemaOrFields<GetEffectError<RequestContextMap["config"], {}>>, GeneralErrors]>, Record<string, never>>;
67
+ readonly id: `${ModuleName}.${Tag}`;
68
+ readonly moduleName: ModuleName;
69
+ readonly type: Type;
70
+ readonly stream: Stream;
71
+ readonly middleware?: Middleware;
72
+ readonly "~invalidationResources"?: Resources;
73
+ } & ([Final] extends [never] ? {} : {
74
+ readonly final: Final;
75
+ });
76
+ export declare const makeRpcClient: <Middleware extends ClientMiddleware<Record<string, RpcContextMap.Any>>, GeneralErrors extends S.Top = never>(middleware: Middleware, generalErrors?: GeneralErrors) => {
77
+ TaggedRequestFor: <ModuleName extends string>(moduleName: ModuleName) => {
78
+ readonly moduleName: ModuleName;
79
+ /**
80
+ * Create query request classes for this module.
81
+ * Queries read state and should not mutate server state.
82
+ * Pass `stream: true` in the config to produce a Stream of `success` values (QueryStream behaviour).
83
+ */
84
+ readonly Query: (<Self, Resources extends InvalidationResources = never>() => {
85
+ <Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top | S.Struct.Fields, Error extends S.Top | S.Struct.Fields, Final extends S.Top | S.Struct.Fields = never, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any>>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
86
+ stream: true;
87
+ success: Success;
88
+ error: Error;
89
+ final?: Final;
90
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, OutputFromSuccess<SchemaOrFields<Success>>, (C & {
91
+ success: Success;
92
+ error: Error;
93
+ } extends infer T ? T extends C & {
94
+ success: Success;
95
+ error: Error;
96
+ } ? T extends {
97
+ error: infer E;
98
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, SchemaOrFields<Success>, C & {
99
+ success: Success;
100
+ error: Error;
101
+ } extends infer T_1 ? T_1 extends C & {
102
+ success: Success;
103
+ error: Error;
104
+ } ? T_1 extends {
105
+ error: infer E;
106
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
107
+ success: Success;
108
+ error: Error;
109
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, SchemaOrFields<Success>, C & {
110
+ success: Success;
111
+ error: Error;
112
+ } extends infer T_2 ? T_2 extends C & {
113
+ success: Success;
114
+ error: Error;
115
+ } ? T_2 extends {
116
+ error: infer E;
117
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "query", true, Resources, [Final] extends [never] ? never : SchemaOrFields<Final>, Middleware>;
118
+ <Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top | S.Struct.Fields, Final extends S.Top | S.Struct.Fields = never, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
119
+ error?: never;
120
+ } = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
121
+ error?: never;
122
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
123
+ stream: true;
124
+ success: Success;
125
+ final?: Final;
126
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, OutputFromSuccess<SchemaOrFields<Success>>, (C & {
127
+ success: Success;
128
+ } extends infer T ? T extends C & {
129
+ success: Success;
130
+ } ? T extends {
131
+ error: infer E;
132
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, SchemaOrFields<Success>, C & {
133
+ success: Success;
134
+ } extends infer T_1 ? T_1 extends C & {
135
+ success: Success;
136
+ } ? T_1 extends {
137
+ error: infer E;
138
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
139
+ success: Success;
140
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, SchemaOrFields<Success>, C & {
141
+ success: Success;
142
+ } extends infer T_2 ? T_2 extends C & {
143
+ success: Success;
144
+ } ? T_2 extends {
145
+ error: infer E;
146
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "query", true, Resources, [Final] extends [never] ? never : SchemaOrFields<Final>, Middleware>;
147
+ <Tag extends string, Payload extends S.Struct.Fields, Error extends S.Top | S.Struct.Fields, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
148
+ success?: never;
149
+ } = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
150
+ success?: never;
151
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
152
+ stream: true;
153
+ error: Error;
154
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, void, (C & {
155
+ error: Error;
156
+ } extends infer T ? T extends C & {
157
+ error: Error;
158
+ } ? T extends {
159
+ error: infer E;
160
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C & {
161
+ error: Error;
162
+ } extends infer T_1 ? T_1 extends C & {
163
+ error: Error;
164
+ } ? T_1 extends {
165
+ error: infer E;
166
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
167
+ error: Error;
168
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C & {
169
+ error: Error;
170
+ } extends infer T_2 ? T_2 extends C & {
171
+ error: Error;
172
+ } ? T_2 extends {
173
+ error: infer E;
174
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "query", true, Resources, never, Middleware>;
175
+ <Tag extends string, Payload extends S.Struct.Fields, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
176
+ success?: never;
177
+ error?: never;
178
+ } = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
179
+ success?: never;
180
+ error?: never;
181
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
182
+ stream: true;
183
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, void, (C extends {
184
+ error: infer E;
185
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C extends {
186
+ error: infer E;
187
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors, Omit<Omit<C, "invalidatesQueries"> & Partial<InvalidationConfigForCommand<Resources, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C extends {
188
+ error: infer E;
189
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors>>, "error" | "stream" | "success">, ModuleName, "query", true, Resources, never, Middleware>;
190
+ <Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top | S.Struct.Fields, Error extends S.Top | S.Struct.Fields, Final extends S.Top | S.Struct.Fields = never, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any>>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
191
+ success: Success;
192
+ error: Error;
193
+ final?: Final;
194
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, OutputFromSuccess<SchemaOrFields<Success>>, (C & {
195
+ success: Success;
196
+ error: Error;
197
+ } extends infer T ? T extends C & {
198
+ success: Success;
199
+ error: Error;
200
+ } ? T extends {
201
+ error: infer E;
202
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, SchemaOrFields<Success>, C & {
203
+ success: Success;
204
+ error: Error;
205
+ } extends infer T_1 ? T_1 extends C & {
206
+ success: Success;
207
+ error: Error;
208
+ } ? T_1 extends {
209
+ error: infer E;
210
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
211
+ success: Success;
212
+ error: Error;
213
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, SchemaOrFields<Success>, C & {
214
+ success: Success;
215
+ error: Error;
216
+ } extends infer T_2 ? T_2 extends C & {
217
+ success: Success;
218
+ error: Error;
219
+ } ? T_2 extends {
220
+ error: infer E;
221
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "query", false, Resources, [Final] extends [never] ? never : SchemaOrFields<Final>, Middleware>;
222
+ <Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top | S.Struct.Fields, Final extends S.Top | S.Struct.Fields = never, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
223
+ error?: never;
224
+ } = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
225
+ error?: never;
226
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
227
+ success: Success;
228
+ final?: Final;
229
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, OutputFromSuccess<SchemaOrFields<Success>>, (C & {
230
+ success: Success;
231
+ } extends infer T ? T extends C & {
232
+ success: Success;
233
+ } ? T extends {
234
+ error: infer E;
235
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, SchemaOrFields<Success>, C & {
236
+ success: Success;
237
+ } extends infer T_1 ? T_1 extends C & {
238
+ success: Success;
239
+ } ? T_1 extends {
240
+ error: infer E;
241
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
242
+ success: Success;
243
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, SchemaOrFields<Success>, C & {
244
+ success: Success;
245
+ } extends infer T_2 ? T_2 extends C & {
246
+ success: Success;
247
+ } ? T_2 extends {
248
+ error: infer E;
249
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "query", false, Resources, [Final] extends [never] ? never : SchemaOrFields<Final>, Middleware>;
250
+ <Tag extends string, Payload extends S.Struct.Fields, Error extends S.Top | S.Struct.Fields, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
251
+ success?: never;
252
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
253
+ error: Error;
254
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, void, (C & {
255
+ error: Error;
256
+ } extends infer T ? T extends C & {
257
+ error: Error;
258
+ } ? T extends {
259
+ error: infer E;
260
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C & {
261
+ error: Error;
262
+ } extends infer T_1 ? T_1 extends C & {
263
+ error: Error;
264
+ } ? T_1 extends {
265
+ error: infer E;
266
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
267
+ error: Error;
268
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C & {
269
+ error: Error;
270
+ } extends infer T_2 ? T_2 extends C & {
271
+ error: Error;
272
+ } ? T_2 extends {
273
+ error: infer E;
274
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "query", false, Resources, never, Middleware>;
275
+ <Tag extends string, Payload extends S.Struct.Fields, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
276
+ success?: never;
277
+ error?: never;
278
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries">, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, void, (C extends {
279
+ error: infer E;
280
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C extends {
281
+ error: infer E;
282
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors, Omit<Omit<C, "invalidatesQueries"> & Partial<InvalidationConfigForCommand<Resources, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C extends {
283
+ error: infer E;
284
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors>>, "error" | "stream" | "success">, ModuleName, "query", false, Resources, never, Middleware>;
285
+ <Tag extends string, Payload extends S.Struct.Fields>(tag: Tag, fields: Payload): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, [GeneralErrors] extends [never] ? S.Never : GeneralErrors, Record<string, never>, ModuleName, "query", false, never, never, Middleware>;
286
+ }) & {
287
+ readonly moduleName: ModuleName;
288
+ readonly type: "query";
289
+ };
290
+ /**
291
+ * Create command request classes for this module.
292
+ * Commands mutate state and should avoid returning complex read models.
293
+ * Pass `stream: true` in the config to produce a Stream of `success` values (CommandStream behaviour).
294
+ */
295
+ readonly Command: (<Self, Resources extends InvalidationResources = never>() => {
296
+ <Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top | S.Struct.Fields, Error extends S.Top | S.Struct.Fields, Final extends S.Top | S.Struct.Fields = never, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any>>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
297
+ stream: true;
298
+ success: Success;
299
+ error: Error;
300
+ final?: Final;
301
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, OutputFromSuccess<SchemaOrFields<Success>>, (C & {
302
+ success: Success;
303
+ error: Error;
304
+ } extends infer T ? T extends C & {
305
+ success: Success;
306
+ error: Error;
307
+ } ? T extends {
308
+ error: infer E;
309
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, SchemaOrFields<Success>, C & {
310
+ success: Success;
311
+ error: Error;
312
+ } extends infer T_1 ? T_1 extends C & {
313
+ success: Success;
314
+ error: Error;
315
+ } ? T_1 extends {
316
+ error: infer E;
317
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
318
+ success: Success;
319
+ error: Error;
320
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, SchemaOrFields<Success>, C & {
321
+ success: Success;
322
+ error: Error;
323
+ } extends infer T_2 ? T_2 extends C & {
324
+ success: Success;
325
+ error: Error;
326
+ } ? T_2 extends {
327
+ error: infer E;
328
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "command", true, Resources, [Final] extends [never] ? never : SchemaOrFields<Final>, Middleware>;
329
+ <Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top | S.Struct.Fields, Final extends S.Top | S.Struct.Fields = never, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
330
+ error?: never;
331
+ } = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
332
+ error?: never;
333
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
334
+ stream: true;
335
+ success: Success;
336
+ final?: Final;
337
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, OutputFromSuccess<SchemaOrFields<Success>>, (C & {
338
+ success: Success;
339
+ } extends infer T ? T extends C & {
340
+ success: Success;
341
+ } ? T extends {
342
+ error: infer E;
343
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, SchemaOrFields<Success>, C & {
344
+ success: Success;
345
+ } extends infer T_1 ? T_1 extends C & {
346
+ success: Success;
347
+ } ? T_1 extends {
348
+ error: infer E;
349
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
350
+ success: Success;
351
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, SchemaOrFields<Success>, C & {
352
+ success: Success;
353
+ } extends infer T_2 ? T_2 extends C & {
354
+ success: Success;
355
+ } ? T_2 extends {
356
+ error: infer E;
357
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "command", true, Resources, [Final] extends [never] ? never : SchemaOrFields<Final>, Middleware>;
358
+ <Tag extends string, Payload extends S.Struct.Fields, Error extends S.Top | S.Struct.Fields, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
359
+ success?: never;
360
+ } = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
361
+ success?: never;
362
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
363
+ stream: true;
364
+ error: Error;
365
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, void, (C & {
366
+ error: Error;
367
+ } extends infer T ? T extends C & {
368
+ error: Error;
369
+ } ? T extends {
370
+ error: infer E;
371
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C & {
372
+ error: Error;
373
+ } extends infer T_1 ? T_1 extends C & {
374
+ error: Error;
375
+ } ? T_1 extends {
376
+ error: infer E;
377
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
378
+ error: Error;
379
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C & {
380
+ error: Error;
381
+ } extends infer T_2 ? T_2 extends C & {
382
+ error: Error;
383
+ } ? T_2 extends {
384
+ error: infer E;
385
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "command", true, Resources, never, Middleware>;
386
+ <Tag extends string, Payload extends S.Struct.Fields, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
387
+ success?: never;
388
+ error?: never;
389
+ } = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
390
+ success?: never;
391
+ error?: never;
392
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
393
+ stream: true;
394
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, void, (C extends {
395
+ error: infer E;
396
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C extends {
397
+ error: infer E;
398
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors, Omit<Omit<C, "invalidatesQueries"> & Partial<InvalidationConfigForCommand<Resources, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C extends {
399
+ error: infer E;
400
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors>>, "error" | "stream" | "success">, ModuleName, "command", true, Resources, never, Middleware>;
401
+ <Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top | S.Struct.Fields, Error extends S.Top | S.Struct.Fields, Final extends S.Top | S.Struct.Fields = never, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any>>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
402
+ success: Success;
403
+ error: Error;
404
+ final?: Final;
405
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, OutputFromSuccess<SchemaOrFields<Success>>, (C & {
406
+ success: Success;
407
+ error: Error;
408
+ } extends infer T ? T extends C & {
409
+ success: Success;
410
+ error: Error;
411
+ } ? T extends {
412
+ error: infer E;
413
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, SchemaOrFields<Success>, C & {
414
+ success: Success;
415
+ error: Error;
416
+ } extends infer T_1 ? T_1 extends C & {
417
+ success: Success;
418
+ error: Error;
419
+ } ? T_1 extends {
420
+ error: infer E;
421
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
422
+ success: Success;
423
+ error: Error;
424
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, SchemaOrFields<Success>, C & {
425
+ success: Success;
426
+ error: Error;
427
+ } extends infer T_2 ? T_2 extends C & {
428
+ success: Success;
429
+ error: Error;
430
+ } ? T_2 extends {
431
+ error: infer E;
432
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "command", false, Resources, [Final] extends [never] ? never : SchemaOrFields<Final>, Middleware>;
433
+ <Tag extends string, Payload extends S.Struct.Fields, Success extends S.Top | S.Struct.Fields, Final extends S.Top | S.Struct.Fields = never, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
434
+ error?: never;
435
+ } = GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
436
+ error?: never;
437
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
438
+ success: Success;
439
+ final?: Final;
440
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, OutputFromSuccess<SchemaOrFields<Success>>, (C & {
441
+ success: Success;
442
+ } extends infer T ? T extends C & {
443
+ success: Success;
444
+ } ? T extends {
445
+ error: infer E;
446
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, SchemaOrFields<Success>, C & {
447
+ success: Success;
448
+ } extends infer T_1 ? T_1 extends C & {
449
+ success: Success;
450
+ } ? T_1 extends {
451
+ error: infer E;
452
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
453
+ success: Success;
454
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, SchemaOrFields<Success>, C & {
455
+ success: Success;
456
+ } extends infer T_2 ? T_2 extends C & {
457
+ success: Success;
458
+ } ? T_2 extends {
459
+ error: infer E;
460
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "command", false, Resources, [Final] extends [never] ? never : SchemaOrFields<Final>, Middleware>;
461
+ <Tag extends string, Payload extends S.Struct.Fields, Error extends S.Top | S.Struct.Fields, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
462
+ success?: never;
463
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries"> & {
464
+ error: Error;
465
+ }, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, void, (C & {
466
+ error: Error;
467
+ } extends infer T ? T extends C & {
468
+ error: Error;
469
+ } ? T extends {
470
+ error: infer E;
471
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C & {
472
+ error: Error;
473
+ } extends infer T_1 ? T_1 extends C & {
474
+ error: Error;
475
+ } ? T_1 extends {
476
+ error: infer E;
477
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never, Omit<Omit<C, "invalidatesQueries"> & {
478
+ error: Error;
479
+ } & Partial<InvalidationConfigForCommand<Resources, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C & {
480
+ error: Error;
481
+ } extends infer T_2 ? T_2 extends C & {
482
+ error: Error;
483
+ } ? T_2 extends {
484
+ error: infer E;
485
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors : never : never>>, "error" | "stream" | "success">, ModuleName, "command", false, Resources, never, Middleware>;
486
+ <Tag extends string, Payload extends S.Struct.Fields, C extends GetContextConfig<Middleware["requestContextMap"]> & Record<string, any> & {
487
+ success?: never;
488
+ error?: never;
489
+ }>(tag: Tag, fields: Payload, config: Omit<C, "invalidatesQueries">, invalidatesQueries?: InvalidationCallback<Resources, InputFromPayload<Payload>, void, (C extends {
490
+ error: infer E;
491
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors)["Type"]> | undefined): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C extends {
492
+ error: infer E;
493
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors, Omit<Omit<C, "invalidatesQueries"> & Partial<InvalidationConfigForCommand<Resources, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, C extends {
494
+ error: infer E;
495
+ } ? [GeneralErrors] extends [never] ? SchemaOrFields<E> : S.Union<[SchemaOrFields<E>, GeneralErrors]> : [GeneralErrors] extends [never] ? S.Never : GeneralErrors>>, "error" | "stream" | "success">, ModuleName, "command", false, Resources, never, Middleware>;
496
+ <Tag extends string, Payload extends S.Struct.Fields>(tag: Tag, fields: Payload): TaggedRequestForResult<Self, Tag, Payload, S.decodeTo<S.Any, S.declare<unknown, unknown>, never, never>, [GeneralErrors] extends [never] ? S.Never : GeneralErrors, Record<string, never>, ModuleName, "command", false, never, never, Middleware>;
497
+ }) & {
498
+ readonly moduleName: ModuleName;
499
+ readonly type: "command";
500
+ };
39
501
  };
40
502
  };
41
503
  export {};
42
- //# sourceMappingURL=makeClient.d.ts.map
504
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9tYWtlQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxLQUFLLElBQUksTUFBTSxhQUFhLENBQUE7QUFFeEMsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsS0FBSyxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRixPQUFPLEtBQUssQ0FBQyxNQUFNLGNBQWMsQ0FBQTtBQUVqQyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXREOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsaUJBQWlCLFNBQVMsTUFBTSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQzNGLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQTtJQUM3QyxRQUFRLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQTtJQUNoQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFBO0lBQzNCLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUE7Q0FDNUI7QUFLRDs7R0FFRztBQUNILGVBQU8sTUFBTSxTQUFTLDhEQUluQixDQUFBO0FBRUgsS0FBSyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBRS9GLEtBQUssbUJBQW1CLENBQUMsR0FBRyxTQUFTLE1BQU0sRUFBRSxPQUFPLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FDdEY7SUFBRSxRQUFRLENBQUMsSUFB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