effect-app 4.0.0-beta.296 → 4.0.0-beta.298
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/client/InvalidationKeys.d.ts +3 -2
- package/dist/client/InvalidationKeys.d.ts.map +1 -1
- package/dist/client/InvalidationKeys.js +12 -8
- package/dist/client/makeClient.d.ts +2 -2
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +1 -1
- package/package.json +1 -1
- package/src/client/InvalidationKeys.ts +12 -7
- package/src/client/makeClient.ts +9 -1
- package/test/dist/rpcMiddlewareContext.test.d.ts.map +1 -0
- package/test/rpcMiddlewareContext.test.ts +63 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.298
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 08d092c: Update Atom query caches in memory and accumulate stream invalidations so live events do not cause repeated RPC refetches.
|
|
8
|
+
|
|
9
|
+
## 4.0.0-beta.297
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 30c512d: fix rpc middleware context type issue
|
|
14
|
+
|
|
3
15
|
## 4.0.0-beta.296
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -22,8 +22,9 @@ export type InvalidationKeysFromServer = typeof InvalidationKeysFromServer;
|
|
|
22
22
|
* Creates a fresh `InvalidationKeysService` implementation backed by a `Ref`.
|
|
23
23
|
*
|
|
24
24
|
* @param ref - The `Ref` that stores the accumulated keys.
|
|
25
|
-
* @param onAdded - V3: Optional Effect run after a key is added. Use to trigger
|
|
26
|
-
* query invalidation without waiting for the stream to complete.
|
|
25
|
+
* @param onAdded - V3: Optional Effect run after a distinct key is added. Use to trigger
|
|
26
|
+
* mid-stream query invalidation without waiting for the stream to complete. Repeated keys
|
|
27
|
+
* stay accumulated for the final refresh but do not retrigger the callback.
|
|
27
28
|
*/
|
|
28
29
|
export declare const makeInvalidationKeysService: (ref: Ref.Ref<ReadonlyArray<InvalidationKey>>, onAdded?: (key: InvalidationKey) => Effect.Effect<void>) => InvalidationKeysService;
|
|
29
30
|
//# sourceMappingURL=InvalidationKeys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidationKeys.d.ts","sourceRoot":"","sources":["../../src/client/InvalidationKeys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InvalidationKeys.d.ts","sourceRoot":"","sources":["../../src/client/InvalidationKeys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,YAAY,EAAE,eAAe,EAAE,CAAA;AAC/B,4FAA4F;AAC5F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAA;CAC5D;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,4CAQtC,CAAA;AACD,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,QACjC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,YAClC,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KACtD,uBAWD,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Equal from "effect/Equal";
|
|
1
2
|
import * as Ref from "effect/Ref";
|
|
2
3
|
import * as Context from "../Context.js";
|
|
3
4
|
import * as Effect from "../Effect.js";
|
|
@@ -19,15 +20,18 @@ export const InvalidationKeysFromServer = Context.Reference("effect-app/client/I
|
|
|
19
20
|
* Creates a fresh `InvalidationKeysService` implementation backed by a `Ref`.
|
|
20
21
|
*
|
|
21
22
|
* @param ref - The `Ref` that stores the accumulated keys.
|
|
22
|
-
* @param onAdded - V3: Optional Effect run after a key is added. Use to trigger
|
|
23
|
-
* query invalidation without waiting for the stream to complete.
|
|
23
|
+
* @param onAdded - V3: Optional Effect run after a distinct key is added. Use to trigger
|
|
24
|
+
* mid-stream query invalidation without waiting for the stream to complete. Repeated keys
|
|
25
|
+
* stay accumulated for the final refresh but do not retrigger the callback.
|
|
24
26
|
*/
|
|
25
27
|
export const makeInvalidationKeysService = (ref, onAdded) => ({
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
add: (key) => Ref
|
|
29
|
+
.modify(ref, (keys) => {
|
|
30
|
+
if (keys.some((existing) => Equal.equals(existing, key)))
|
|
31
|
+
return [false, keys];
|
|
32
|
+
return [true, [...keys, key]];
|
|
33
|
+
})
|
|
34
|
+
.pipe(Effect.flatMap((added) => added && onAdded ? onAdded(key) : Effect.void)),
|
|
31
35
|
get: Ref.get(ref)
|
|
32
36
|
});
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW52YWxpZGF0aW9uS2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvSW52YWxpZGF0aW9uS2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQTtBQUNqQyxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEtBQUssTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQVV0Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FDekQsOENBQThDLEVBQzlDO0lBQ0UsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkIsR0FBRyxFQUFFLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDM0MsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBb0MsQ0FBQztLQUMxRCxDQUFDO0NBQ0gsQ0FDRixDQUFBO0FBR0Q7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQ3pDLEdBQTRDLEVBQzVDLE9BQXVELEVBQzlCLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ1gsR0FBRztTQUNBLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNwQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUM5RSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUMvQixDQUFDLENBQUM7U0FDRCxJQUFJLENBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQ3pFO0lBQ0wsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0NBQ2xCLENBQUMsQ0FBQSJ9
|
|
@@ -280,7 +280,7 @@ export declare const makeRpcClient: <Middleware extends ClientMiddleware<Record<
|
|
|
280
280
|
} ? [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.Void, C extends {
|
|
281
281
|
error: infer E;
|
|
282
282
|
} ? [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>;
|
|
283
|
-
<Tag extends string, Payload extends S.Struct.Fields>(tag: Tag, fields: Payload): TaggedRequestForResult<Self, Tag, Payload, S.Void, [GeneralErrors] extends [never] ? S.Never : GeneralErrors,
|
|
283
|
+
<Tag extends string, Payload extends S.Struct.Fields>(tag: Tag, fields: Payload): TaggedRequestForResult<Self, Tag, Payload, S.Void, [GeneralErrors] extends [never] ? S.Never : GeneralErrors, {}, ModuleName, "query", false, never, never, Middleware>;
|
|
284
284
|
}) & {
|
|
285
285
|
readonly moduleName: ModuleName;
|
|
286
286
|
readonly type: "query";
|
|
@@ -491,7 +491,7 @@ export declare const makeRpcClient: <Middleware extends ClientMiddleware<Record<
|
|
|
491
491
|
} ? [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.Void, C extends {
|
|
492
492
|
error: infer E;
|
|
493
493
|
} ? [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>;
|
|
494
|
-
<Tag extends string, Payload extends S.Struct.Fields>(tag: Tag, fields: Payload): TaggedRequestForResult<Self, Tag, Payload, S.Void, [GeneralErrors] extends [never] ? S.Never : GeneralErrors,
|
|
494
|
+
<Tag extends string, Payload extends S.Struct.Fields>(tag: Tag, fields: Payload): TaggedRequestForResult<Self, Tag, Payload, S.Void, [GeneralErrors] extends [never] ? S.Never : GeneralErrors, {}, ModuleName, "command", false, never, never, Middleware>;
|
|
495
495
|
}) & {
|
|
496
496
|
readonly moduleName: ModuleName;
|
|
497
497
|
readonly type: "command";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../../src/client/makeClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../../src/client/makeClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,4 +67,4 @@ export const makeRpcClient = (middleware, generalErrors) => {
|
|
|
67
67
|
TaggedRequestFor
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvbWFrZUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBZWxDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBTSxFQUFFLENBQWEsRUFBRSxFQUFFLENBQ3RDLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQXVFMUcsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBYyxFQUFFLENBQ3JELENBQ0Usa0JBQXVHLEVBQy9DLEVBQUUsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0FBRXJGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQWMsRUFBRSxDQUM3RCxDQUNFLGtCQUF1RyxFQUM3QyxFQUFFLENBQUMsa0JBQWtCLENBQUE7QUFFakYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsR0FBYyxFQUFFLENBQzVELENBQUMsRUFBRSxDQUFpRSxDQUFBO0FBZ0N0RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FHM0IsVUFBc0IsRUFBRSxhQUE2QixFQUFFLEVBQUU7SUFzQnpELFNBQVMsZ0JBQWdCLENBQ3ZCLEdBQVEsRUFDUixNQUFjLEVBQ2QsTUFB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
|
package/package.json
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Equal from "effect/Equal"
|
|
1
2
|
import * as Ref from "effect/Ref"
|
|
2
3
|
import * as Context from "../Context.ts"
|
|
3
4
|
import * as Effect from "../Effect.ts"
|
|
@@ -33,18 +34,22 @@ export type InvalidationKeysFromServer = typeof InvalidationKeysFromServer
|
|
|
33
34
|
* Creates a fresh `InvalidationKeysService` implementation backed by a `Ref`.
|
|
34
35
|
*
|
|
35
36
|
* @param ref - The `Ref` that stores the accumulated keys.
|
|
36
|
-
* @param onAdded - V3: Optional Effect run after a key is added. Use to trigger
|
|
37
|
-
* query invalidation without waiting for the stream to complete.
|
|
37
|
+
* @param onAdded - V3: Optional Effect run after a distinct key is added. Use to trigger
|
|
38
|
+
* mid-stream query invalidation without waiting for the stream to complete. Repeated keys
|
|
39
|
+
* stay accumulated for the final refresh but do not retrigger the callback.
|
|
38
40
|
*/
|
|
39
41
|
export const makeInvalidationKeysService = (
|
|
40
42
|
ref: Ref.Ref<ReadonlyArray<InvalidationKey>>,
|
|
41
43
|
onAdded?: (key: InvalidationKey) => Effect.Effect<void>
|
|
42
44
|
): InvalidationKeysService => ({
|
|
43
|
-
// When onAdded is set, fire it immediately without accumulating in the ref —
|
|
44
|
-
// the key is handled on arrival and must not be re-processed at stream end.
|
|
45
45
|
add: (key) =>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
Ref
|
|
47
|
+
.modify(ref, (keys) => {
|
|
48
|
+
if (keys.some((existing) => Equal.equals(existing, key))) return [false, keys]
|
|
49
|
+
return [true, [...keys, key]]
|
|
50
|
+
})
|
|
51
|
+
.pipe(
|
|
52
|
+
Effect.flatMap((added) => added && onAdded ? onAdded(key) : Effect.void)
|
|
53
|
+
),
|
|
49
54
|
get: Ref.get(ref)
|
|
50
55
|
})
|
package/src/client/makeClient.ts
CHANGED
|
@@ -563,7 +563,15 @@ export const makeRpcClient = <
|
|
|
563
563
|
Payload,
|
|
564
564
|
typeof S.Void,
|
|
565
565
|
ErrorResult<{}>,
|
|
566
|
-
Record<string, never
|
|
566
|
+
// Empty config, NOT `Record<string, never>`: the config type flows into
|
|
567
|
+
// `GetEffectContext`/`GetEffectError` as `T`, and `keyof Record<string, never>`
|
|
568
|
+
// is `string` — so an inverted key like `allowAnonymous` would satisfy
|
|
569
|
+
// `key extends keyof T`, then `T[key]` (`never`) `extends true` (true, since
|
|
570
|
+
// `never` is assignable to everything) and the middleware wrongly takes the
|
|
571
|
+
// "allowAnonymous: true" (anonymous) branch, dropping `UserProfile`. `{}` has
|
|
572
|
+
// `keyof {} = never`, so no config key is treated as set and the defaults
|
|
573
|
+
// (auth required, `UserProfile` provided) apply — same as passing `{}` explicitly.
|
|
574
|
+
{},
|
|
567
575
|
ModuleName,
|
|
568
576
|
Type,
|
|
569
577
|
false,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpcMiddlewareContext.test.d.ts","sourceRoot":"","sources":["../rpcMiddlewareContext.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { expectTypeOf, test } from "vitest"
|
|
2
|
+
import { makeRpcClient, NotLoggedInError, UnauthorizedError } from "../src/client.js"
|
|
3
|
+
import { RpcContextMap } from "../src/rpc.js"
|
|
4
|
+
|
|
5
|
+
// A stand-in for an app service (e.g. `UserProfile`) that the `allowAnonymous`
|
|
6
|
+
// inverted middleware provides into the handler context whenever auth is
|
|
7
|
+
// required (i.e. `allowAnonymous` is not `true`).
|
|
8
|
+
interface UserProfile {
|
|
9
|
+
readonly _tag: "UserProfile"
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// Mirrors a real app request-context map: one inverted key providing a service
|
|
13
|
+
// by default (unless opted out), and one custom (role) key.
|
|
14
|
+
class RequestContextMap extends RpcContextMap.makeMap({
|
|
15
|
+
allowAnonymous: RpcContextMap.makeInverted<UserProfile>()(NotLoggedInError),
|
|
16
|
+
allowRoles: RpcContextMap.makeCustom()(UnauthorizedError, Array<string>())
|
|
17
|
+
}) {}
|
|
18
|
+
|
|
19
|
+
type Map = typeof RequestContextMap.config
|
|
20
|
+
|
|
21
|
+
// The context a handler receives for a given rpc config — exactly the
|
|
22
|
+
// `GetEffectContext<_RC, rpc.config>` the router computes for the handler
|
|
23
|
+
// (see `RpcMiddleware.ts`). Testing it against config literals pins down the
|
|
24
|
+
// middleware semantics directly.
|
|
25
|
+
type CtxFor<Config> = RpcContextMap.GetEffectContext<Map, Config>
|
|
26
|
+
|
|
27
|
+
test("`GetEffectContext`: the inverted `UserProfile` provision is gated by `allowAnonymous`, not `allowRoles`", () => {
|
|
28
|
+
// Empty config = nothing opted out → auth required → `UserProfile` provided.
|
|
29
|
+
expectTypeOf<CtxFor<{}>>().toEqualTypeOf<UserProfile>()
|
|
30
|
+
|
|
31
|
+
// `allowRoles` does not gate `UserProfile` — still provided.
|
|
32
|
+
expectTypeOf<CtxFor<{ allowRoles: ["user"] }>>().toEqualTypeOf<UserProfile>()
|
|
33
|
+
|
|
34
|
+
// Negative case: opting into anonymous removes the `UserProfile` provision.
|
|
35
|
+
expectTypeOf<CtxFor<{ allowAnonymous: true }>>().toBeNever()
|
|
36
|
+
|
|
37
|
+
// Anonymous wins over roles for the inverted provision.
|
|
38
|
+
expectTypeOf<CtxFor<{ allowAnonymous: true; allowRoles: ["user"] }>>().toBeNever()
|
|
39
|
+
|
|
40
|
+
// Regression documentation: a config that collapses to `Record<string, never>`
|
|
41
|
+
// (what the no-config command overload used to produce) WRONGLY drops
|
|
42
|
+
// `UserProfile` — `keyof Record<string, never>` is `string`, so `allowAnonymous`
|
|
43
|
+
// satisfies `key extends keyof T`, and `T["allowAnonymous"]` (`never`) `extends
|
|
44
|
+
// true`, taking the anonymous branch. This is exactly why the overload must
|
|
45
|
+
// yield `{}` (see the command-builder test below).
|
|
46
|
+
expectTypeOf<CtxFor<Record<string, never>>>().toBeNever()
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
// End-to-end guard for the actual fix: a command defined with NO config object
|
|
50
|
+
// must still provide `UserProfile` (auth required by default). This exercises the
|
|
51
|
+
// no-config `Command` overload, which now yields an empty `{}` config instead of
|
|
52
|
+
// `Record<string, never>`.
|
|
53
|
+
const { TaggedRequestFor } = makeRpcClient({
|
|
54
|
+
requestContextMap: RequestContextMap.config,
|
|
55
|
+
requestContext: undefined as never
|
|
56
|
+
})
|
|
57
|
+
const Command = TaggedRequestFor("Test").Command
|
|
58
|
+
|
|
59
|
+
class NoConfigCmd extends Command<NoConfigCmd>()("NoConfigCmd", {}) {}
|
|
60
|
+
|
|
61
|
+
test("a no-config command still provides the auth-required `UserProfile` service", () => {
|
|
62
|
+
expectTypeOf<RpcContextMap.GetEffectContext<Map, typeof NoConfigCmd.config>>().toEqualTypeOf<UserProfile>()
|
|
63
|
+
})
|