@toyz/loom-rpc 0.2.2 → 0.3.0
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/README.md +5 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/rpc.d.ts +6 -7
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +5 -5
- package/dist/rpc.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ class UserProfile extends LoomElement {
|
|
|
61
61
|
fn: el => [el.userId], // args from element state — re-fetches on change
|
|
62
62
|
staleTime: 60_000, // SWR: cache for 1 minute
|
|
63
63
|
})
|
|
64
|
-
accessor user!:
|
|
64
|
+
accessor user!: RpcQuery<[string], User>;
|
|
65
65
|
|
|
66
66
|
update() {
|
|
67
67
|
return this.user.match({
|
|
@@ -110,7 +110,7 @@ class EditProfile extends LoomElement {
|
|
|
110
110
|
|
|
111
111
|
### `@rpc(Router, method, opts?)`
|
|
112
112
|
|
|
113
|
-
Auto-accessor decorator for queries. Returns `
|
|
113
|
+
Auto-accessor decorator for queries. Returns `RpcQuery<TArgs, TReturn>` with `.match()`, `.unwrap()`, `.refetch()`, `.invalidate()`. Also accepts `ApiState<T>` for backwards compatibility.
|
|
114
114
|
|
|
115
115
|
| Option | Type | Default | Description |
|
|
116
116
|
| ----------- | -------------- | ------- | ----------------------------------------- |
|
|
@@ -232,13 +232,14 @@ Everything is inferred from the contract class:
|
|
|
232
232
|
```ts
|
|
233
233
|
@rpc(UserRouter, "getUser", { fn: el => [el.userId] })
|
|
234
234
|
// ↑ autocompleted ↑ must be [string]
|
|
235
|
-
accessor user!:
|
|
235
|
+
accessor user!: RpcQuery<[string], User>;
|
|
236
236
|
// ↑ inferred from UserRouter.getUser return type
|
|
237
237
|
```
|
|
238
238
|
|
|
239
239
|
- Method names are autocompleted and type-checked
|
|
240
240
|
- Argument types are inferred from the contract method parameters
|
|
241
|
-
- Return types flow into `
|
|
241
|
+
- Return types flow into `RpcQuery<TArgs, TReturn>` automatically
|
|
242
|
+
- `ApiState<T>` still accepted for backwards compatibility
|
|
242
243
|
- Pass the wrong types? Compile error.
|
|
243
244
|
|
|
244
245
|
---
|
package/dist/index.d.ts
CHANGED
|
@@ -8,5 +8,5 @@ export { rpc } from "./rpc";
|
|
|
8
8
|
export { mutate } from "./mutate";
|
|
9
9
|
export { service, SERVICE_NAME } from "./service";
|
|
10
10
|
export { RpcTransport, HttpTransport, RpcError } from "./transport";
|
|
11
|
-
export type { RpcMethods, InferArgs, InferReturn, RpcQueryOptions, RpcMutator, RpcRequest, RpcResponse, } from "./types";
|
|
11
|
+
export type { RpcMethods, InferArgs, InferReturn, RpcQueryOptions, RpcMutator, RpcQuery, RpcRequest, RpcResponse, } from "./types";
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGpE,YAAY,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGpE,YAAY,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
package/dist/rpc.d.ts
CHANGED
|
@@ -2,37 +2,36 @@
|
|
|
2
2
|
* LoomRPC — @rpc query decorator
|
|
3
3
|
*
|
|
4
4
|
* Auto-accessor decorator for type-safe RPC queries.
|
|
5
|
-
*
|
|
5
|
+
* Returns an RpcQuery<TArgs, TReturn> with .match(), .unwrap(), .refetch(), etc.
|
|
6
6
|
*
|
|
7
7
|
* ```ts
|
|
8
8
|
* @rpc(UserRouter, "getUser", {
|
|
9
9
|
* fn: el => [el.userId],
|
|
10
10
|
* staleTime: 60_000,
|
|
11
11
|
* })
|
|
12
|
-
* accessor user!:
|
|
12
|
+
* accessor user!: RpcQuery<[string], User>;
|
|
13
13
|
* ```
|
|
14
14
|
*
|
|
15
15
|
* The contract class is passed as a runtime value (not just a type)
|
|
16
16
|
* so the router name survives TypeScript erasure.
|
|
17
17
|
*/
|
|
18
|
-
import type {
|
|
19
|
-
import type { RpcMethods, InferReturn, RpcQueryOptions } from "./types";
|
|
18
|
+
import type { RpcMethods, InferArgs, InferReturn, RpcQueryOptions, RpcQuery } from "./types";
|
|
20
19
|
/** Symbol for inspect() introspection */
|
|
21
20
|
export declare const RPC_QUERIES: import("@toyz/loom").LoomSymbol<unknown>;
|
|
22
21
|
/**
|
|
23
22
|
* @rpc(Router, method, opts?) — Query decorator
|
|
24
23
|
*
|
|
25
24
|
* Fetches data from the server via the registered RpcTransport.
|
|
26
|
-
* Returns an
|
|
25
|
+
* Returns an RpcQuery<TArgs, TReturn> with .match(), .unwrap(), .refetch(), etc.
|
|
27
26
|
*
|
|
28
27
|
* ```ts
|
|
29
28
|
* @rpc(UserRouter, "getUser", { fn: el => [el.userId], staleTime: 60_000 })
|
|
30
|
-
* accessor user!:
|
|
29
|
+
* accessor user!: RpcQuery<[string], User>;
|
|
31
30
|
* ```
|
|
32
31
|
*
|
|
33
32
|
* @param router - The contract class (used for router name + type inference)
|
|
34
33
|
* @param method - The method name on the contract to call
|
|
35
34
|
* @param opts - Optional configuration (fn, staleTime, retry, eager)
|
|
36
35
|
*/
|
|
37
|
-
export declare function rpc<TRouter extends object, TMethod extends RpcMethods<TRouter>>(router: new (...args: any[]) => TRouter, method: TMethod, opts?: RpcQueryOptions<TRouter, TMethod>): <This extends object>(_target: ClassAccessorDecoratorTarget<This,
|
|
36
|
+
export declare function rpc<TRouter extends object, TMethod extends RpcMethods<TRouter>>(router: new (...args: any[]) => TRouter, method: TMethod, opts?: RpcQueryOptions<TRouter, TMethod>): <This extends object>(_target: ClassAccessorDecoratorTarget<This, RpcQuery<InferArgs<TRouter, TMethod> extends any[] ? InferArgs<TRouter, TMethod> : [InferArgs<TRouter, TMethod>], InferReturn<TRouter, TMethod>>>, context: ClassAccessorDecoratorContext<This, RpcQuery<InferArgs<TRouter, TMethod> extends any[] ? InferArgs<TRouter, TMethod> : [InferArgs<TRouter, TMethod>], InferReturn<TRouter, TMethod>>>) => ClassAccessorDecoratorResult<This, RpcQuery<InferArgs<TRouter, TMethod> extends any[] ? InferArgs<TRouter, TMethod> : [InferArgs<TRouter, TMethod>], InferReturn<TRouter, TMethod>>>;
|
|
38
37
|
//# sourceMappingURL=rpc.d.ts.map
|
package/dist/rpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK7F,yCAAyC;AACzC,eAAO,MAAM,WAAW,0CAA8B,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,GAAG,CACjB,OAAO,SAAS,MAAM,EACtB,OAAO,SAAS,UAAU,CAAC,OAAO,CAAC,EAEnC,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,EACvC,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,IAMhC,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,EACrG,SAAS,6BAA6B,CAAC,IAAI,EAAE,QAAQ,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,KACrG,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,CAoChG"}
|
package/dist/rpc.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* LoomRPC — @rpc query decorator
|
|
3
3
|
*
|
|
4
4
|
* Auto-accessor decorator for type-safe RPC queries.
|
|
5
|
-
*
|
|
5
|
+
* Returns an RpcQuery<TArgs, TReturn> with .match(), .unwrap(), .refetch(), etc.
|
|
6
6
|
*
|
|
7
7
|
* ```ts
|
|
8
8
|
* @rpc(UserRouter, "getUser", {
|
|
9
9
|
* fn: el => [el.userId],
|
|
10
10
|
* staleTime: 60_000,
|
|
11
11
|
* })
|
|
12
|
-
* accessor user!:
|
|
12
|
+
* accessor user!: RpcQuery<[string], User>;
|
|
13
13
|
* ```
|
|
14
14
|
*
|
|
15
15
|
* The contract class is passed as a runtime value (not just a type)
|
|
@@ -26,11 +26,11 @@ export const RPC_QUERIES = createSymbol("rpc:queries");
|
|
|
26
26
|
* @rpc(Router, method, opts?) — Query decorator
|
|
27
27
|
*
|
|
28
28
|
* Fetches data from the server via the registered RpcTransport.
|
|
29
|
-
* Returns an
|
|
29
|
+
* Returns an RpcQuery<TArgs, TReturn> with .match(), .unwrap(), .refetch(), etc.
|
|
30
30
|
*
|
|
31
31
|
* ```ts
|
|
32
32
|
* @rpc(UserRouter, "getUser", { fn: el => [el.userId], staleTime: 60_000 })
|
|
33
|
-
* accessor user!:
|
|
33
|
+
* accessor user!: RpcQuery<[string], User>;
|
|
34
34
|
* ```
|
|
35
35
|
*
|
|
36
36
|
* @param router - The contract class (used for router name + type inference)
|
|
@@ -68,7 +68,7 @@ export function rpc(router, method, opts) {
|
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* Internal state factory —
|
|
71
|
+
* Internal state factory — creates an RpcQuery via RpcTransport.
|
|
72
72
|
*/
|
|
73
73
|
function createRpcState(routerName, method, opts, scheduleUpdate, host) {
|
|
74
74
|
let data;
|
package/dist/rpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Extract method names, parameter types, and return types from contract classes.
|
|
5
5
|
* Powers the type-safe @rpc and @mutate decorators.
|
|
6
6
|
*/
|
|
7
|
+
import type { ApiState } from "@toyz/loom";
|
|
7
8
|
/**
|
|
8
9
|
* Extract callable method names from a contract class.
|
|
9
10
|
* Filters out non-function properties so only procedure names are valid.
|
|
@@ -56,6 +57,17 @@ export interface RpcMutator<TArgs extends any[], TReturn> {
|
|
|
56
57
|
/** Reset the mutator state (clear data, error, loading) */
|
|
57
58
|
reset(): void;
|
|
58
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* State container for a query — auto-fetched, reactive, with SWR.
|
|
62
|
+
* Extends ApiState for backwards compatibility.
|
|
63
|
+
*
|
|
64
|
+
* ```ts
|
|
65
|
+
* @rpc(UserRouter, "getUser", { fn: el => [el.userId] })
|
|
66
|
+
* accessor user!: RpcQuery<[string], User>;
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export interface RpcQuery<TArgs extends any[], TReturn> extends ApiState<TReturn> {
|
|
70
|
+
}
|
|
59
71
|
/**
|
|
60
72
|
* Wire protocol envelope for RPC requests.
|
|
61
73
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK;CACjE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IACxC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAC1C,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GACrD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,OAAO,EAAE,OAAO,SAAS,UAAU,CAAC,OAAO,CAAC;IAC3E,mFAAmF;IACnF,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO;IACtD,oDAAoD;IACpD,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,2DAA2D;IAC3D,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK;CACjE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IACxC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAC1C,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GACrD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,OAAO,EAAE,OAAO,SAAS,UAAU,CAAC,OAAO,CAAC;IAC3E,mFAAmF;IACnF,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO;IACtD,oDAAoD;IACpD,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,2DAA2D;IAC3D,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,CAAE,SAAQ,QAAQ,CAAC,OAAO,CAAC;CAKhF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C"}
|