effect-app 4.0.0-beta.296 → 4.0.0-beta.297
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/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/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
|
@@ -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
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
|
+
})
|