effect-app 4.0.0-beta.20 → 4.0.0-beta.201
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 +888 -0
- package/dist/Array.d.ts +1 -1
- package/dist/Chunk.d.ts +1 -1
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Config/SecretURL.d.ts +1 -1
- package/dist/Config/SecretURL.d.ts.map +1 -1
- package/dist/Config/SecretURL.js +2 -2
- package/dist/Config/internal/configSecretURL.d.ts +1 -1
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
- package/dist/Config.d.ts +7 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +6 -0
- package/dist/ConfigProvider.d.ts +39 -0
- package/dist/ConfigProvider.d.ts.map +1 -0
- package/dist/ConfigProvider.js +42 -0
- package/dist/Context.d.ts +40 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/Context.js +67 -0
- package/dist/Effect.d.ts +9 -10
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +3 -6
- package/dist/Function.d.ts +1 -1
- package/dist/Function.d.ts.map +1 -1
- package/dist/Inputify.type.d.ts +1 -1
- package/dist/Layer.d.ts +7 -6
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +1 -1
- package/dist/NonEmptySet.d.ts +1 -1
- package/dist/NonEmptySet.d.ts.map +1 -1
- package/dist/Option.d.ts +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Pure.d.ts +5 -5
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +13 -13
- package/dist/Schema/Class.d.ts +66 -20
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +189 -22
- package/dist/Schema/FastCheck.d.ts +1 -1
- package/dist/Schema/FastCheck.d.ts.map +1 -1
- package/dist/Schema/Methods.d.ts +1 -1
- package/dist/Schema/SchemaParser.d.ts +5 -0
- package/dist/Schema/SchemaParser.d.ts.map +1 -0
- package/dist/Schema/SchemaParser.js +6 -0
- package/dist/Schema/SpecialJsonSchema.d.ts +33 -0
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
- package/dist/Schema/SpecialJsonSchema.js +122 -0
- package/dist/Schema/SpecialOpenApi.d.ts +32 -0
- package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
- package/dist/Schema/SpecialOpenApi.js +123 -0
- package/dist/Schema/brand.d.ts +7 -2
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +1 -1
- package/dist/Schema/email.d.ts +1 -1
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +7 -4
- package/dist/Schema/ext.d.ts +117 -45
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +131 -42
- package/dist/Schema/moreStrings.d.ts +111 -11
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +14 -15
- package/dist/Schema/numbers.d.ts +127 -15
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +10 -12
- package/dist/Schema/phoneNumber.d.ts +1 -1
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +6 -3
- package/dist/Schema/schema.d.ts +1 -1
- package/dist/Schema/strings.d.ts +37 -5
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +1 -5
- package/dist/Schema.d.ts +154 -56
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +131 -64
- package/dist/Set.d.ts +1 -1
- package/dist/Set.d.ts.map +1 -1
- package/dist/TypeTest.d.ts +1 -1
- package/dist/Types.d.ts +1 -1
- package/dist/Widen.type.d.ts +1 -1
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/date.d.ts +1 -1
- package/dist/_ext/misc.d.ts +1 -1
- package/dist/_ext/ord.ext.d.ts +1 -1
- package/dist/_ext/ord.ext.d.ts.map +1 -1
- package/dist/builtin.d.ts +1 -1
- package/dist/builtin.d.ts.map +1 -1
- package/dist/client/InvalidationKeys.d.ts +29 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +33 -0
- package/dist/client/apiClientFactory.d.ts +18 -32
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +95 -32
- package/dist/client/clientFor.d.ts +61 -17
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +9 -1
- package/dist/client/errors.d.ts +49 -25
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +43 -17
- package/dist/client/makeClient.d.ts +468 -32
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +62 -23
- package/dist/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -1
- package/dist/faker.d.ts +1 -1
- package/dist/faker.d.ts.map +1 -1
- package/dist/http/Request.d.ts +2 -2
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +5 -5
- package/dist/http/internal/lib.d.ts +1 -1
- package/dist/http.d.ts +1 -1
- package/dist/ids.d.ts +3 -3
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +3 -2
- package/dist/index.d.ts +5 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -8
- package/dist/logger.d.ts +1 -1
- package/dist/middleware.d.ts +14 -8
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +14 -8
- package/dist/rpc/Invalidation.d.ts +402 -0
- package/dist/rpc/Invalidation.d.ts.map +1 -0
- package/dist/rpc/Invalidation.js +150 -0
- package/dist/rpc/MiddlewareMaker.d.ts +5 -4
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +57 -37
- package/dist/rpc/RpcContextMap.d.ts +3 -3
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcContextMap.js +4 -4
- package/dist/rpc/RpcMiddleware.d.ts +5 -4
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +1 -1
- package/dist/rpc.d.ts +2 -2
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -2
- package/dist/transform.d.ts +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +3 -3
- package/dist/utils/effectify.d.ts +1 -1
- package/dist/utils/extend.d.ts +1 -1
- package/dist/utils/extend.d.ts.map +1 -1
- package/dist/utils/gen.d.ts +2 -2
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logLevel.d.ts +2 -2
- package/dist/utils/logLevel.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +3 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +3 -3
- package/dist/utils.d.ts +31 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +13 -7
- package/dist/validation/validators.d.ts +1 -1
- package/dist/validation/validators.d.ts.map +1 -1
- package/dist/validation.d.ts +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/package.json +46 -24
- package/src/Config/SecretURL.ts +2 -1
- package/src/Config.ts +14 -0
- package/src/ConfigProvider.ts +48 -0
- package/src/{ServiceMap.ts → Context.ts} +52 -59
- package/src/Effect.ts +12 -14
- package/src/Layer.ts +6 -5
- package/src/Pure.ts +17 -18
- package/src/Schema/Class.ts +268 -62
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +137 -0
- package/src/Schema/SpecialOpenApi.ts +130 -0
- package/src/Schema/brand.ts +9 -1
- package/src/Schema/email.ts +7 -2
- package/src/Schema/ext.ts +204 -72
- package/src/Schema/moreStrings.ts +22 -20
- package/src/Schema/numbers.ts +14 -16
- package/src/Schema/phoneNumber.ts +5 -1
- package/src/Schema/strings.ts +4 -8
- package/src/Schema.ts +332 -105
- package/src/client/InvalidationKeys.ts +50 -0
- package/src/client/apiClientFactory.ts +220 -129
- package/src/client/clientFor.ts +97 -29
- package/src/client/errors.ts +52 -26
- package/src/client/makeClient.ts +538 -68
- package/src/client.ts +1 -0
- package/src/http/Request.ts +7 -4
- package/src/ids.ts +2 -1
- package/src/index.ts +5 -10
- package/src/middleware.ts +13 -9
- package/src/rpc/Invalidation.ts +226 -0
- package/src/rpc/MiddlewareMaker.ts +65 -60
- package/src/rpc/README.md +2 -2
- package/src/rpc/RpcContextMap.ts +6 -5
- package/src/rpc/RpcMiddleware.ts +5 -4
- package/src/rpc.ts +1 -1
- package/src/transform.ts +2 -2
- package/src/utils/gen.ts +1 -1
- package/src/utils/logger.ts +2 -2
- package/src/utils.ts +51 -15
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/secretURL.test.d.ts.map +1 -0
- package/test/dist/special.test.d.ts.map +1 -0
- package/test/dist/stream-error.types.d.ts +2 -0
- package/test/dist/stream-error.types.d.ts.map +1 -0
- package/test/dist/stream-error.types.js +27 -0
- package/test/rpc.test.ts +41 -6
- package/test/schema.test.ts +591 -17
- package/test/secretURL.test.ts +157 -0
- package/test/special.test.ts +1023 -0
- package/test/utils.test.ts +6 -6
- package/tsconfig.base.json +3 -4
- package/tsconfig.json +0 -1
- package/tsconfig.json.bak +2 -2
- package/tsconfig.src.json +29 -29
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -87
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -29
- package/dist/ServiceMap.d.ts +0 -44
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js +0 -91
- package/eslint.config.mjs +0 -26
- package/src/Operations.ts +0 -55
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiClientFactory.d.ts","sourceRoot":"","sources":["../../src/client/apiClientFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apiClientFactory.d.ts","sourceRoot":"","sources":["../../src/client/apiClientFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,EAAE,GAAG,EAAa,QAAQ,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAqB,MAAM,YAAY,CAAA;AAE1D,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,EAAU,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG9F,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC/C;AAED,eAAO,MAAM,gBAAgB;;;;;EAQ3B,CAAA;AAEF,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IACvB,OAAO,EAAE,CAAC,CAAC,GAAG,CAAA;IACd,KAAK,EAAE,CAAC,CAAC,GAAG,CAAA;IACZ,8IAA8I;IAC9I,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB,CAAA;AAMD,eAAO,MAAM,eAAe,WAAY,SAAS,qEAqB9C,CAAA;AAEH,eAAO,MAAM,yBAAyB,+EAKrC,CAAA;AAED,eAAO,MAAM,qBAAqB,WAAY,SAAS,yGAIpD,CAAA;AAEH,KAAK,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI;KACvC,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5E,CAAA;AAoBD,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,WAAW,YAAY,CAAC,KAAG;IAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;CAI9F,CAAA;AAED,eAAO,MAAM,qCAAqC,GAAI,CAAC,SAAS,WAAW,EAAE,KAAK,CAAC,UAAU,SAAS,MAAM,YAChG,CAAC,cACC,UAAU,eAET,GAAG,mDA1Bb,CAAC,iMA0DL,CAAA;oHAkMoD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,gBAAgB,MAO1D,CAAC,SAAS,WAAW;AAe9D;;GAEG;AACH,qBAAa,gBACX,SAAQ,qBAAmG;IAE3G,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAY,SAAS,iEACyD;IACnG,MAAM,CAAC,QAAQ,CAAC,eAAe,2EAK9B;IAED,MAAM,CAAC,QAAQ,CAAC,OAAO,uBACA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,gBAAgB,MAClE,CAAC,SAAS,WAAW,YACV,CAAC,6HAKT;CACP"}
|
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import
|
|
3
|
-
import { flow } from "effect/Function";
|
|
2
|
+
import { constant, flow } from "effect/Function";
|
|
4
3
|
import * as Layer from "effect/Layer";
|
|
5
4
|
import * as ManagedRuntime from "effect/ManagedRuntime";
|
|
5
|
+
import * as Option from "effect/Option";
|
|
6
6
|
import * as Predicate from "effect/Predicate";
|
|
7
7
|
import * as Schema from "effect/Schema";
|
|
8
|
+
import * as Stream from "effect/Stream";
|
|
8
9
|
import * as Struct from "effect/Struct";
|
|
9
10
|
import { Rpc, RpcClient, RpcGroup, RpcSerialization } from "effect/unstable/rpc";
|
|
11
|
+
import * as Config from "../Config.js";
|
|
12
|
+
import * as Context from "../Context.js";
|
|
10
13
|
import * as Effect from "../Effect.js";
|
|
11
14
|
import { HttpClient, HttpClientRequest } from "../http.js";
|
|
12
|
-
import
|
|
13
|
-
import * as ServiceMap from "../ServiceMap.js";
|
|
15
|
+
import { Invalidation } from "../rpc.js";
|
|
14
16
|
import { typedKeysOf, typedValuesOf } from "../utils.js";
|
|
17
|
+
import { InvalidationKeysFromServer } from "./InvalidationKeys.js";
|
|
15
18
|
export const DefaultApiConfig = Config.all({
|
|
16
19
|
url: Config.string("apiUrl").pipe(Config.withDefault("/api")),
|
|
17
20
|
headers: Config
|
|
18
21
|
.schema(Config.Record(Schema.String, Schema.String), "headers")
|
|
19
22
|
.pipe(Config.option)
|
|
20
23
|
});
|
|
21
|
-
class RequestName extends
|
|
24
|
+
class RequestName extends Context.Reference("RequestName", {
|
|
22
25
|
defaultValue: () => ({ requestName: "Unspecified", moduleName: "Error" })
|
|
23
26
|
}) {
|
|
24
27
|
}
|
|
@@ -45,36 +48,56 @@ const getFiltered = (resource) => {
|
|
|
45
48
|
return filtered;
|
|
46
49
|
};
|
|
47
50
|
export const getMeta = (resource) => {
|
|
48
|
-
const
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
const first = typedValuesOf(getFiltered(resource))[0];
|
|
52
|
+
if (first && "moduleName" in first)
|
|
53
|
+
return { moduleName: first.moduleName };
|
|
54
|
+
throw new Error("No moduleName on requests!");
|
|
52
55
|
};
|
|
53
|
-
export const makeRpcGroupFromRequestsAndModuleName = (resource, moduleName
|
|
56
|
+
export const makeRpcGroupFromRequestsAndModuleName = (resource, moduleName,
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
|
+
middleware) => {
|
|
54
59
|
const filtered = getFiltered(resource);
|
|
55
|
-
const
|
|
60
|
+
const baseRpcs = RpcGroup
|
|
56
61
|
.make(...typedValuesOf(filtered).map((_) => {
|
|
57
|
-
|
|
62
|
+
const r = _;
|
|
63
|
+
const isStream = r.stream;
|
|
64
|
+
const isCommand = r.type === "command";
|
|
65
|
+
return (isCommand
|
|
66
|
+
? isStream
|
|
67
|
+
? Invalidation.makeStreamRpc(r._tag, {
|
|
68
|
+
payload: r,
|
|
69
|
+
success: r.success,
|
|
70
|
+
error: r.error,
|
|
71
|
+
stream: true
|
|
72
|
+
})
|
|
73
|
+
: Invalidation.makeCommandRpc(r._tag, { payload: r, success: r.success, error: r.error })
|
|
74
|
+
: Rpc.make(r._tag, { payload: r, success: r.success, error: r.error, stream: isStream }));
|
|
58
75
|
}))
|
|
59
76
|
.prefix(`${moduleName}.`);
|
|
77
|
+
// Attach the middleware tag (schema-only on the client — no Live invoked)
|
|
78
|
+
// so its declared `error` joins the rpc failure union via
|
|
79
|
+
// `Rpc.exitSchema`'s `rpc.middlewares[*].error` walk. Required for stream
|
|
80
|
+
// rpcs whose top-level `errorSchema` is forced to `Never` by effect-rpc;
|
|
81
|
+
// without it, middleware-thrown errors fail client decode.
|
|
82
|
+
const rpcs = (middleware ? baseRpcs.middleware(middleware) : baseRpcs);
|
|
60
83
|
return rpcs;
|
|
61
84
|
};
|
|
62
|
-
|
|
63
|
-
const makeRpcTag = (resource) => {
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
|
+
const makeRpcTag = (resource, middleware) => {
|
|
64
87
|
const meta = getMeta(resource);
|
|
65
|
-
const rpcs = makeRpcGroupFromRequestsAndModuleName(resource, meta.moduleName);
|
|
88
|
+
const rpcs = makeRpcGroupFromRequestsAndModuleName(resource, meta.moduleName, middleware);
|
|
66
89
|
// Use Object.assign instead of class extension to avoid TS2509 with complex generic return types.
|
|
67
90
|
// The first type arg is `any` because this is a dynamically created tag — its identity is the string key.
|
|
68
|
-
const TheClient =
|
|
91
|
+
const TheClient = Context.Opaque()(`RpcClient.${meta.moduleName}`);
|
|
69
92
|
// Use Layer.effect directly (not TheClient.toLayer) so TypeScript properly excludes Scope
|
|
70
93
|
const layer = Layer.effect(TheClient, RpcClient.make(rpcs, { spanPrefix: "RpcClient." + meta.moduleName }));
|
|
71
94
|
return Object.assign(TheClient, { layer });
|
|
72
95
|
};
|
|
73
96
|
const makeApiClientFactory = Effect
|
|
74
97
|
.gen(function* () {
|
|
75
|
-
const ctx = yield* Effect.
|
|
76
|
-
const makeClientFor = (resource, requestLevelLayers = Layer.empty, options)
|
|
77
|
-
const TheClient = makeRpcTag(resource);
|
|
98
|
+
const ctx = yield* Effect.context();
|
|
99
|
+
const makeClientFor = Effect.fnUntraced(function* (resource, requestLevelLayers = Layer.empty, options) {
|
|
100
|
+
const TheClient = makeRpcTag(resource, options?.middleware);
|
|
78
101
|
const meta = getMeta(resource);
|
|
79
102
|
// TODO: somehow we need a protocol per REQUEST kind of it seems ...
|
|
80
103
|
// otherwise it locks up on the client, navigation remains empty...
|
|
@@ -82,12 +105,28 @@ const makeApiClientFactory = Effect
|
|
|
82
105
|
// add ApiClientFactory for nested schemas
|
|
83
106
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
84
107
|
Layer.provide(Layer.succeed(ApiClientFactory, makeClientForCached)), Layer.provide(RpcClient
|
|
85
|
-
.layerProtocolHttp({
|
|
86
|
-
|
|
87
|
-
})
|
|
88
|
-
.pipe(Layer.provideMerge(Layer.succeedServices(ctx)))));
|
|
108
|
+
.layerProtocolHttp({ url: "" }) // why not here set meta.moduleName as root?
|
|
109
|
+
.pipe(Layer.provideMerge(Layer.succeedContext(ctx)))));
|
|
89
110
|
const mr = ManagedRuntime.make(clientLayer);
|
|
90
111
|
const filtered = getFiltered(resource);
|
|
112
|
+
// Unwrap `CommandResponseWithMetaData` (success) and `CommandFailureWithMetaData`
|
|
113
|
+
// (handler-thrown failure): forward accumulated invalidation keys to
|
|
114
|
+
// `InvalidationKeysFromServer` and yield the raw payload / re-fail with the raw
|
|
115
|
+
// error. Middleware-thrown failures arrive raw on the Cause already (no wrap to
|
|
116
|
+
// strip) — the `else` branch passes them through.
|
|
117
|
+
const unwrapCommand = (eff) => eff.pipe(Effect.flatMap((result) => Effect.gen(function* () {
|
|
118
|
+
const keys = result?.metadata?.invalidateQueries ?? [];
|
|
119
|
+
const invalidationKeys = yield* InvalidationKeysFromServer;
|
|
120
|
+
yield* Effect.forEach(keys, (key) => invalidationKeys.add(key), { discard: true });
|
|
121
|
+
return result.payload;
|
|
122
|
+
})), Effect.catch((result) => result?._tag === "CommandFailureWithMetaData"
|
|
123
|
+
? Effect.gen(function* () {
|
|
124
|
+
const keys = result.metadata?.invalidateQueries ?? [];
|
|
125
|
+
const invalidationKeys = yield* InvalidationKeysFromServer;
|
|
126
|
+
yield* Effect.forEach(keys, (key) => invalidationKeys.add(key), { discard: true });
|
|
127
|
+
return yield* Effect.fail(result.error);
|
|
128
|
+
})
|
|
129
|
+
: Effect.fail(result)));
|
|
91
130
|
return {
|
|
92
131
|
mr,
|
|
93
132
|
client: typedKeysOf(filtered)
|
|
@@ -108,18 +147,42 @@ const makeApiClientFactory = Effect
|
|
|
108
147
|
const layers = requestLevelLayers.pipe(Layer.provideMerge(requestNameLayer));
|
|
109
148
|
const fields = Struct.omit(Request.fields, ["_tag"]);
|
|
110
149
|
const requestAttr = `${meta.moduleName}.${h._tag}`;
|
|
150
|
+
const isCommand = h.type === "command";
|
|
151
|
+
const isStream = h.stream;
|
|
152
|
+
const buildEffect = (input) => mr.contextEffect.pipe(Effect.flatMap((svcs) => {
|
|
153
|
+
const rpcEffect = TheClient
|
|
154
|
+
.use((client) => client[requestAttr](Request.make(input)))
|
|
155
|
+
.pipe(Effect.provide(layers), Effect.provide(svcs));
|
|
156
|
+
return isCommand ? unwrapCommand(rpcEffect) : rpcEffect;
|
|
157
|
+
}));
|
|
158
|
+
const buildStream = (input) => Stream.unwrap(mr.contextEffect.pipe(Effect.flatMap((svcs) => TheClient
|
|
159
|
+
.useSync((client) => {
|
|
160
|
+
const rpcStream = client[requestAttr](Request.make(input));
|
|
161
|
+
return rpcStream.pipe(
|
|
162
|
+
// Collect server invalidation keys from the "done" chunk, then discard it.
|
|
163
|
+
Stream.tap((item) => item._tag === "done" || item._tag === "metadata"
|
|
164
|
+
? InvalidationKeysFromServer.use((svc) => Effect.forEach(item.metadata.invalidateQueries, svc.add, { discard: true }))
|
|
165
|
+
: Effect.void), Stream.filter((item) => item._tag === "value"), Stream.map((item) => item.value),
|
|
166
|
+
// V2: unwrap StreamFailureChunk — forward keys from failures too,
|
|
167
|
+
// then re-fail with the original error so callers see the unmodified
|
|
168
|
+
// error type.
|
|
169
|
+
Stream.catch((err) => err?._tag === "error" && err?.metadata
|
|
170
|
+
? Stream.fromEffect(InvalidationKeysFromServer.use((svc) => Effect
|
|
171
|
+
.forEach(err.metadata.invalidateQueries, svc.add, { discard: true })
|
|
172
|
+
.pipe(Effect.flatMap(() => Effect.fail(err.error)))))
|
|
173
|
+
: Stream.fail(err)), Stream.provide(layers), Stream.provide(svcs));
|
|
174
|
+
})
|
|
175
|
+
.pipe(Effect.provide(svcs)))));
|
|
111
176
|
// @ts-expect-error doc
|
|
112
177
|
prev[cur] = Object.keys(fields).length === 0
|
|
113
178
|
? {
|
|
114
|
-
handler:
|
|
115
|
-
.use((client) => client[requestAttr](new Request()))
|
|
116
|
-
.pipe(Effect.provide(layers), Effect.provide(svcs)))),
|
|
179
|
+
handler: isStream ? constant(buildStream({})) : constant(buildEffect({})),
|
|
117
180
|
...requestMeta
|
|
118
181
|
}
|
|
119
182
|
: {
|
|
120
|
-
handler:
|
|
121
|
-
|
|
122
|
-
|
|
183
|
+
handler: isStream
|
|
184
|
+
? (req) => buildStream(req)
|
|
185
|
+
: (req) => buildEffect(req),
|
|
123
186
|
...requestMeta
|
|
124
187
|
};
|
|
125
188
|
return prev;
|
|
@@ -135,7 +198,7 @@ const makeApiClientFactory = Effect
|
|
|
135
198
|
cache = new Map();
|
|
136
199
|
cacheL.set(requestLevelLayers, cache);
|
|
137
200
|
}
|
|
138
|
-
return
|
|
201
|
+
return Effect.fnUntraced(function* (models) {
|
|
139
202
|
const found = cache.get(models);
|
|
140
203
|
if (found) {
|
|
141
204
|
return found;
|
|
@@ -151,7 +214,7 @@ const makeApiClientFactory = Effect
|
|
|
151
214
|
/**
|
|
152
215
|
* Used to create clients for resource modules.
|
|
153
216
|
*/
|
|
154
|
-
export class ApiClientFactory extends
|
|
217
|
+
export class ApiClientFactory extends Context.Opaque()("ApiClientFactory") {
|
|
155
218
|
static layer = (config) => ApiClientFactory.toLayer(makeApiClientFactory).pipe(Layer.provide(RpcSerializationLayer(config)));
|
|
156
219
|
static layerFromConfig = Layer.unwrap(Effect.gen(function* () {
|
|
157
220
|
const config = yield* DefaultApiConfig;
|
|
@@ -162,4 +225,4 @@ export class ApiClientFactory extends ServiceMap.Opaque()("ApiClientFactory") {
|
|
|
162
225
|
return f(resource);
|
|
163
226
|
});
|
|
164
227
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpQ2xpZW50RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvYXBpQ2xpZW50RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3RDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxjQUFjLE1BQU0sdUJBQXVCLENBQUE7QUFDdkQsT0FBTyxLQUFLLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNoRixPQUFPLEtBQUssTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFELE9BQU8sS0FBSyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBRXRDLE9BQU8sS0FBSyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFReEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN6QyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxPQUFPLEVBQUUsTUFBTTtTQUNaLE1BQU0sQ0FDTCxNQUFNLENBQUMsTUFBTSxDQUFD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
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpQ2xpZW50RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvYXBpQ2xpZW50RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRCxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssY0FBYyxNQUFNLHVCQUF1QixDQUFBO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDaEYsT0FBTyxLQUFLLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDdEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXhDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRXhELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBT2xFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDekMsR0FBRyxFQUFFLE1BQU0s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
|
|
@@ -1,41 +1,85 @@
|
|
|
1
|
-
import type * as
|
|
1
|
+
import type * as Stream from "effect/Stream";
|
|
2
2
|
import type { Path } from "path-parser";
|
|
3
3
|
import type * as Effect from "../Effect.js";
|
|
4
4
|
import type * as S from "../Schema.js";
|
|
5
5
|
import { type Req } from "./apiClientFactory.js";
|
|
6
6
|
export declare function makePathWithQuery(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
|
|
7
7
|
export declare function makePathWithBody(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
|
|
8
|
-
export type Requests
|
|
9
|
-
meta: {
|
|
10
|
-
moduleName: ModuleName;
|
|
11
|
-
};
|
|
12
|
-
} & RequestsAny;
|
|
8
|
+
export type Requests = RequestsAny;
|
|
13
9
|
export type RequestsAny = Record<string, any>;
|
|
10
|
+
export type ExtractModuleName<M extends RequestsAny> = {
|
|
11
|
+
[K in keyof M]: M[K] extends {
|
|
12
|
+
moduleName: infer N extends string;
|
|
13
|
+
} ? N : never;
|
|
14
|
+
}[keyof M] extends infer R extends string ? R : string;
|
|
14
15
|
export type Client<M extends RequestsAny, ModuleName extends string> = RequestHandlers<never, never, M, ModuleName>;
|
|
15
16
|
export type ExtractResponse<T> = T extends S.Codec<any> ? S.Schema.Type<T> : T extends unknown ? void : never;
|
|
16
17
|
export type ExtractEResponse<T> = T extends S.Codec<any> ? S.Codec.Encoded<T> : T extends unknown ? void : never;
|
|
17
|
-
type IsEmpty<T> = keyof T extends never ? true : false;
|
|
18
|
-
type Cruft = "_tag" | keyof Request.Request<any, any, any>;
|
|
19
18
|
export interface ClientForOptions {
|
|
20
19
|
readonly skipQueryKey?: readonly string[];
|
|
20
|
+
/**
|
|
21
|
+
* Middleware tag to attach to every rpc on the client. Schema-only — the
|
|
22
|
+
* client never invokes the middleware (no Live impl required), but its
|
|
23
|
+
* declared `error` schema joins the rpc failure union via
|
|
24
|
+
* `Rpc.exitSchema`'s `rpc.middlewares[*].error` walk. Required when
|
|
25
|
+
* middleware can throw errors that aren't part of the resource's declared
|
|
26
|
+
* error union (e.g. auth middleware throwing `NotLoggedInError`); without
|
|
27
|
+
* it the client decode would fail with a `SchemaError` for stream rpcs.
|
|
28
|
+
*/
|
|
29
|
+
readonly middleware?: any;
|
|
21
30
|
}
|
|
22
|
-
export
|
|
23
|
-
|
|
31
|
+
export declare const makeQueryKey: ({ id, options }: {
|
|
32
|
+
id: string;
|
|
33
|
+
options?: ClientForOptions;
|
|
34
|
+
}) => [string, ...string[]];
|
|
35
|
+
export interface RequestHandlerWithInput<I, A, E, R, Request extends Req, Id extends string> {
|
|
36
|
+
handler: (i: I) => Effect.Effect<A, E, R>;
|
|
24
37
|
id: Id;
|
|
25
38
|
options?: ClientForOptions;
|
|
26
39
|
Request: Request;
|
|
27
40
|
}
|
|
28
|
-
|
|
29
|
-
|
|
41
|
+
/** Type alias: a no-input handler is simply `RequestHandlerWithInput<void, …>`. */
|
|
42
|
+
export type RequestHandler<A, E, R, Request extends Req, Id extends string> = RequestHandlerWithInput<void, A, E, R, Request, Id>;
|
|
43
|
+
export interface RequestStreamHandlerWithInput<I, A, E, R, Request extends Req, Id extends string, Final = A> {
|
|
44
|
+
handler: (i: I) => Stream.Stream<A, E, R>;
|
|
30
45
|
id: Id;
|
|
31
46
|
options?: ClientForOptions;
|
|
32
47
|
Request: Request;
|
|
48
|
+
/**
|
|
49
|
+
* Phantom type property (never set at runtime) that carries the `Final` type to
|
|
50
|
+
* `StreamMutationWithExtensions`. The tilde prefix follows the Effect convention for
|
|
51
|
+
* phantom/virtual properties and prevents accidental runtime access.
|
|
52
|
+
* Stream failures bubble through the execute effect's typed error channel `E`;
|
|
53
|
+
* the reactive `AsyncResult` ref also mirrors the failure for live progress UI.
|
|
54
|
+
*/
|
|
55
|
+
readonly "~final"?: Final;
|
|
33
56
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
57
|
+
/** Type alias: a no-input stream handler is simply `RequestStreamHandlerWithInput<void, …>`. */
|
|
58
|
+
export type RequestStreamHandler<A, E, R, Request extends Req, Id extends string, Final = A> = RequestStreamHandlerWithInput<void, A, E, R, Request, Id, Final>;
|
|
59
|
+
export type RequestInputFromMake<I extends {
|
|
60
|
+
readonly make: (...args: any[]) => any;
|
|
61
|
+
}> = Parameters<I["make"]> extends [
|
|
62
|
+
] ? void : Parameters<I["make"]>[0];
|
|
63
|
+
type HasNoFields<I> = I extends {
|
|
64
|
+
readonly fields: infer F extends S.Struct.Fields;
|
|
65
|
+
} ? [Exclude<keyof F, "_tag">] extends [never] ? true : false : false;
|
|
66
|
+
type RequestInput<I extends {
|
|
67
|
+
readonly make: (...args: any[]) => any;
|
|
68
|
+
}> = Parameters<I["make"]>[0];
|
|
69
|
+
/**
|
|
70
|
+
* Caller-facing input type for a request. `void` when the request schema has no fields;
|
|
71
|
+
* otherwise `make`'s first param type.
|
|
72
|
+
*/
|
|
73
|
+
export type HandlerInput<I extends {
|
|
74
|
+
readonly make: (...args: any[]) => any;
|
|
75
|
+
}> = HasNoFields<I> extends true ? void : RequestInput<I>;
|
|
76
|
+
/** Extracts the final-value type from a stream request. Defaults to the success type when no `final` schema is set. */
|
|
77
|
+
type FinalTypeOf<T extends Req> = T extends {
|
|
78
|
+
readonly final: infer F extends S.Top;
|
|
79
|
+
} ? S.Schema.Type<F> : S.Schema.Type<T["success"]>;
|
|
80
|
+
type RequestHandlerFor<R, E, T extends Req, Id extends string> = T["stream"] extends true ? RequestStreamHandlerWithInput<HandlerInput<T>, S.Schema.Type<T["success"]>, S.Schema.Type<T["error"]> | E, R | S.Codec.DecodingServices<T["success"]> | S.Codec.DecodingServices<T["error"]>, T, Id, FinalTypeOf<T>> : RequestHandlerWithInput<HandlerInput<T>, S.Schema.Type<T["success"]>, S.Schema.Type<T["error"]> | E, R | S.Codec.DecodingServices<T["success"]> | S.Codec.DecodingServices<T["error"]>, T, Id>;
|
|
37
81
|
export type RequestHandlers<R, E, M extends RequestsAny, ModuleName extends string> = {
|
|
38
|
-
[K in keyof M as M[K] extends Req ? K : never]:
|
|
82
|
+
[K in keyof M as M[K] extends Req ? K : never]: Extract<M[K], Req> extends infer T extends Req ? RequestHandlerFor<R, E, T, `${ModuleName}.${K & string}`> : never;
|
|
39
83
|
};
|
|
40
84
|
export {};
|
|
41
|
-
//# sourceMappingURL=
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2NsaWVudEZvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEtBQUssS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQzVDLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV2QyxPQUFPLEtBQUssS0FBSyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFDdEMsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFaEQsd0JBQWdCLGlCQUFpQixDQUMvQixJQUFJLEVBQUUsSUFBSSxFQUNWLElBQUksRUFBRSxNQUFNLENBQ1YsTUFBTSxFQUNKLE1BQU0sR0FDTixNQUFNLEdBQ04sT0FBTyxHQUNQLFNBQVMsTUFBTSxFQUFFLEdBQ2pCLFNBQVMsTUFBTSxFQUFFLEdBQ2pCLFNBQVMsT0FBTyxFQUFFLEdBQ2xCLElBQUksQ0FDUCxVQVVGO0FBRUQsd0JBQWdCLGdCQUFnQixDQUM5QixJQUFJLEVBQUUsSUFBSSxFQUNWLElBQUksRUFBRSxNQUFNLENBQ1YsTUFBTSxFQUNKLE1BQU0sR0FDTixNQUFNLEdBQ04sT0FBTyxHQUNQLFNBQVMsTUFBTSxFQUFFLEdBQ2pCLFNBQVMsTUFBTSxFQUFFLEdBQ2pCLFNBQVMsT0FBTyxFQUFFLEdBQ2xCLElBQUksQ0FDUCxVQUdGO0FBRUQsTUFBTSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUE7QUFDbEMsTUFBTSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBRTdDLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsV0FBVyxJQUNqRDtLQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"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"}
|
package/dist/client/clientFor.js
CHANGED
|
@@ -13,4 +13,12 @@ export function makePathWithQuery(path, pars) {
|
|
|
13
13
|
export function makePathWithBody(path, pars) {
|
|
14
14
|
return path.build(pars, { ignoreSearch: true, ignoreConstraints: true });
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
// $Project/$Configuration.Index
|
|
17
|
+
// -> "$Project", "$Configuration", "Index"
|
|
18
|
+
export const makeQueryKey = ({ id, options }) => id
|
|
19
|
+
.split("/")
|
|
20
|
+
.filter((segment) => !options || !options.skipQueryKey?.includes(segment))
|
|
21
|
+
.map((segment) => "$" + segment)
|
|
22
|
+
.join(".")
|
|
23
|
+
.split(".");
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRGb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEO0FBQzFELHVEQUF1RDtBQUV2RCxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUd2QyxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFLN0IsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixJQUFVLEVBQ1YsSUFTQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3JFLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQSxDQUFDLHFIQUFxSDtJQUNySSxPQUFPLENBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDO1VBQy9ELENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQ3RCLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNSLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixJQUFVLEVBQ1YsSUFTQztJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7QUFDMUUsQ0FBQztBQXdDRCxnQ0FBZ0M7QUFDaEMsMkNBQTJDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBOEMsRUFBRSxFQUFFLENBQzFGLEVBQUU7S0FDQyxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ1YsTUFBTSxDQUFDLENBQUMsT0FBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ2pGLEdBQUcsQ0FBQyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztLQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDO0tBQ1QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBIn0=
|
package/dist/client/errors.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as Cause from "effect/Cause";
|
|
2
2
|
import * as S from "../Schema.js";
|
|
3
|
-
export declare const tryToJson: (error: {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
export declare const tryToJson: (error: unknown) => Record<string, unknown> | {
|
|
4
|
+
error: any;
|
|
5
|
+
};
|
|
6
|
+
declare const NotFoundError_base: S.EnhancedClass<NotFoundError<ItemType>, import("effect/Schema").Struct<{
|
|
7
|
+
readonly _tag: S.tag<"NotFoundError">;
|
|
8
|
+
} & {
|
|
9
|
+
type: S.String;
|
|
10
|
+
id: S.Unknown;
|
|
10
11
|
}>, Cause.YieldableError>;
|
|
11
12
|
export declare class NotFoundError<ItemType = string> extends NotFoundError_base {
|
|
12
13
|
constructor(props: {
|
|
@@ -15,28 +16,38 @@ export declare class NotFoundError<ItemType = string> extends NotFoundError_base
|
|
|
15
16
|
cause?: unknown;
|
|
16
17
|
}, disableValidation?: boolean);
|
|
17
18
|
get message(): string;
|
|
19
|
+
toString(): string;
|
|
18
20
|
}
|
|
19
|
-
declare const InvalidStateError_base: S.
|
|
20
|
-
readonly
|
|
21
|
+
declare const InvalidStateError_base: S.EnhancedClass<InvalidStateError, import("effect/Schema").Struct<{
|
|
22
|
+
readonly _tag: S.tag<"InvalidStateError">;
|
|
23
|
+
} & {
|
|
24
|
+
message: S.String;
|
|
21
25
|
}>, Cause.YieldableError>;
|
|
22
26
|
export declare class InvalidStateError extends InvalidStateError_base {
|
|
23
27
|
constructor(messageOrObject: string | {
|
|
24
28
|
message: string;
|
|
25
29
|
cause?: unknown;
|
|
26
30
|
}, disableValidation?: boolean);
|
|
31
|
+
toString(): string;
|
|
27
32
|
}
|
|
28
|
-
declare const ServiceUnavailableError_base: S.
|
|
29
|
-
readonly
|
|
33
|
+
declare const ServiceUnavailableError_base: S.EnhancedClass<ServiceUnavailableError, import("effect/Schema").Struct<{
|
|
34
|
+
readonly _tag: S.tag<"ServiceUnavailableError">;
|
|
35
|
+
} & {
|
|
36
|
+
message: S.String;
|
|
30
37
|
}>, Cause.YieldableError>;
|
|
31
38
|
export declare class ServiceUnavailableError extends ServiceUnavailableError_base {
|
|
32
39
|
constructor(messageOrObject: string | {
|
|
33
40
|
message: string;
|
|
34
41
|
cause?: unknown;
|
|
35
42
|
}, disableValidation?: boolean);
|
|
43
|
+
toString(): string;
|
|
36
44
|
}
|
|
37
|
-
declare const ValidationError_base: S.
|
|
38
|
-
readonly
|
|
39
|
-
|
|
45
|
+
declare const ValidationError_base: S.EnhancedClass<ValidationError, import("effect/Schema").Struct<{
|
|
46
|
+
readonly _tag: S.tag<"ValidationError">;
|
|
47
|
+
} & {
|
|
48
|
+
errors: S.$Array<S.Unknown> & {
|
|
49
|
+
withDefault: S.withConstructorDefault<S.$Array<S.Unknown>>;
|
|
50
|
+
withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<S.Unknown>>;
|
|
40
51
|
};
|
|
41
52
|
}>, Cause.YieldableError>;
|
|
42
53
|
export declare class ValidationError extends ValidationError_base {
|
|
@@ -45,18 +56,24 @@ export declare class ValidationError extends ValidationError_base {
|
|
|
45
56
|
cause?: unknown;
|
|
46
57
|
}, disableValidation?: boolean);
|
|
47
58
|
get message(): string;
|
|
59
|
+
toString(): string;
|
|
48
60
|
}
|
|
49
|
-
declare const NotLoggedInError_base: S.
|
|
50
|
-
readonly
|
|
61
|
+
declare const NotLoggedInError_base: S.EnhancedClass<NotLoggedInError, import("effect/Schema").Struct<{
|
|
62
|
+
readonly _tag: S.tag<"NotLoggedInError">;
|
|
63
|
+
} & {
|
|
64
|
+
message: S.String;
|
|
51
65
|
}>, Cause.YieldableError>;
|
|
52
66
|
export declare class NotLoggedInError extends NotLoggedInError_base {
|
|
53
67
|
constructor(messageOrObject?: string | {
|
|
54
68
|
message: string;
|
|
55
69
|
cause?: unknown;
|
|
56
70
|
}, disableValidation?: boolean);
|
|
71
|
+
toString(): string;
|
|
57
72
|
}
|
|
58
|
-
declare const LoginError_base: S.
|
|
59
|
-
readonly
|
|
73
|
+
declare const LoginError_base: S.EnhancedClass<LoginError, import("effect/Schema").Struct<{
|
|
74
|
+
readonly _tag: S.tag<"NotLoggedInError">;
|
|
75
|
+
} & {
|
|
76
|
+
message: S.String;
|
|
60
77
|
}>, Cause.YieldableError>;
|
|
61
78
|
/**
|
|
62
79
|
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
@@ -66,15 +83,19 @@ export declare class LoginError extends LoginError_base {
|
|
|
66
83
|
message: string;
|
|
67
84
|
cause?: unknown;
|
|
68
85
|
}, disableValidation?: boolean);
|
|
86
|
+
toString(): string;
|
|
69
87
|
}
|
|
70
|
-
declare const UnauthorizedError_base: S.
|
|
71
|
-
readonly
|
|
88
|
+
declare const UnauthorizedError_base: S.EnhancedClass<UnauthorizedError, import("effect/Schema").Struct<{
|
|
89
|
+
readonly _tag: S.tag<"UnauthorizedError">;
|
|
90
|
+
} & {
|
|
91
|
+
message: S.String;
|
|
72
92
|
}>, Cause.YieldableError>;
|
|
73
93
|
export declare class UnauthorizedError extends UnauthorizedError_base {
|
|
74
94
|
constructor(messageOrObject?: string | {
|
|
75
95
|
message: string;
|
|
76
96
|
cause?: unknown;
|
|
77
97
|
}, disableValidation?: boolean);
|
|
98
|
+
toString(): string;
|
|
78
99
|
}
|
|
79
100
|
type OptimisticConcurrencyDetails = {
|
|
80
101
|
readonly type: string;
|
|
@@ -83,8 +104,10 @@ type OptimisticConcurrencyDetails = {
|
|
|
83
104
|
readonly current?: string | undefined;
|
|
84
105
|
readonly found?: string | undefined;
|
|
85
106
|
};
|
|
86
|
-
declare const OptimisticConcurrencyException_base: S.
|
|
87
|
-
readonly
|
|
107
|
+
declare const OptimisticConcurrencyException_base: S.EnhancedClass<OptimisticConcurrencyException, import("effect/Schema").Struct<{
|
|
108
|
+
readonly _tag: S.tag<"OptimisticConcurrencyException">;
|
|
109
|
+
} & {
|
|
110
|
+
message: S.String;
|
|
88
111
|
}>, Cause.YieldableError>;
|
|
89
112
|
export declare class OptimisticConcurrencyException extends OptimisticConcurrencyException_base {
|
|
90
113
|
readonly details?: OptimisticConcurrencyDetails;
|
|
@@ -94,6 +117,7 @@ export declare class OptimisticConcurrencyException extends OptimisticConcurrenc
|
|
|
94
117
|
cause?: unknown;
|
|
95
118
|
raw?: unknown;
|
|
96
119
|
}), disableValidation?: boolean);
|
|
120
|
+
toString(): string;
|
|
97
121
|
}
|
|
98
122
|
export declare const SupportedErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError]>;
|
|
99
123
|
export type SupportedErrors = S.Schema.Type<typeof SupportedErrors>;
|
|
@@ -122,8 +146,8 @@ export declare class CauseException<E> extends Error {
|
|
|
122
146
|
toString(): string;
|
|
123
147
|
}
|
|
124
148
|
export declare const tryToReport: (error: {
|
|
125
|
-
toReport(): unknown
|
|
149
|
+
toReport(): Record<string, unknown>;
|
|
126
150
|
toString(): string;
|
|
127
|
-
}) => unknown
|
|
151
|
+
}) => Record<string, unknown>;
|
|
128
152
|
export {};
|
|
129
|
-
//# sourceMappingURL=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssQ0FBQyxNQUFNLGNBQWMsQ0FBQTtBQUVqQyxlQUFPLE1BQU0sU0FBUyxVQUFXLE9BQU87O0NBZXZDLENBQUE7Ozs7Ozs7QUFJRCxxQkFBYSxhQUFhLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBRSxTQUFRLGtCQUdwRDtJQUNBLFlBQ0UsS0FBSyxFQUFFO1FBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUFDLEVBQUUsRUFBRSxPQUFPLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUE7S0FBRSxFQUNyRCxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sRUFHNUI7SUFDRCxJQUFhLE9BQU8sV0FFbkI7SUFDUSxRQUFRLFdBRWhCO0NBQ0Y7Ozs7OztBQUtELHFCQUFhLGlCQUFrQixTQUFRLHNCQUVyQztJQUNBLFlBQVksZUFBZSxFQUFFLE1BQU0sR0FBRztRQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUE7S0FBRSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsT0FBTyxFQUt0RztJQUNRLFFBQVEsV0FFaEI7Q0FDRjs7Ozs7O0FBRUQscUJBQWEsdUJBQXdCLFNBQVEsNEJBRTNDO0lBQ0EsWUFBWSxlQUFlLEVBQUUsTUFBTSxHQUFHO1FBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxPQUFPLEVBS3RHO0lBQ1EsUUFBUSxXQUVoQjtDQUNGOzs7Ozs7Ozs7QUFFRCxxQkFBYSxlQUFnQixTQUFRLG9CQUVuQztJQUNBLFlBQ0UsS0FBSyxFQUFFO1FBQUUsTUFBTSxFQUFFLGFB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
|