@toyz/loom-rpc 0.1.0 → 0.2.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 CHANGED
@@ -16,6 +16,9 @@ npm install @toyz/loom-rpc
16
16
 
17
17
  ```ts
18
18
  // contracts/user.ts — shared between client and server
19
+ import { service } from "@toyz/loom-rpc";
20
+
21
+ @service("UserService")
19
22
  export class UserRouter {
20
23
  getUser(id: string): User {
21
24
  return null!;
@@ -29,7 +32,7 @@ export class UserRouter {
29
32
  }
30
33
  ```
31
34
 
32
- The class is the type contract. Methods have dummy bodies — they exist for TypeScript to extract parameter and return types. Nothing runs. Nothing ships to the client.
35
+ The class is the type contract. Methods have dummy bodies — they exist for TypeScript to extract parameter and return types. The `@service` decorator assigns a stable name that survives minification; without it, `class.name` is used as a fallback.
33
36
 
34
37
  ### 2. Register a Transport
35
38
 
@@ -196,27 +199,27 @@ import { MockTransport } from "@toyz/loom-rpc/testing";
196
199
 
197
200
  const transport = new MockTransport();
198
201
 
199
- // Static mocks
200
- transport.mock("UserRouter", "getUser", { id: "1", name: "Alice" });
202
+ // Static mocks — pass the class, not a string
203
+ transport.mock(UserRouter, "getUser", { id: "1", name: "Alice" });
201
204
 
202
205
  // Dynamic mocks
203
- transport.mock("UserRouter", "getUser", (id: string) => ({
206
+ transport.mock(UserRouter, "getUser", (id: string) => ({
204
207
  id,
205
208
  name: `User ${id}`,
206
209
  }));
207
210
 
208
211
  // Error mocks
209
- transport.mockError("UserRouter", "deleteUser", new Error("Forbidden"));
212
+ transport.mockError(UserRouter, "deleteUser", new Error("Forbidden"));
210
213
 
211
214
  // Delay simulation
212
- transport.delay("UserRouter", "getUser", 500);
215
+ transport.delay(UserRouter, "getUser", 500);
213
216
 
214
217
  // Register and go
215
218
  app.use(RpcTransport, transport);
216
219
 
217
220
  // Assertions
218
- transport.assertCalled("UserRouter", "getUser", ["1"]);
219
- transport.assertNotCalled("UserRouter", "deleteUser");
221
+ transport.assertCalled(UserRouter, "getUser", ["1"]);
222
+ transport.assertNotCalled(UserRouter, "deleteUser");
220
223
  console.log(transport.history); // [{ router, method, args }]
221
224
  ```
222
225
 
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export { rpc } from "./rpc";
8
8
  export { mutate } from "./mutate";
9
+ export { service, SERVICE_NAME } from "./service";
9
10
  export { RpcTransport, HttpTransport, RpcError } from "./transport";
10
11
  export type { RpcMethods, InferArgs, InferReturn, RpcQueryOptions, RpcMutator, RpcRequest, RpcResponse, } from "./types";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAGlC,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,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@
7
7
  // Decorators
8
8
  export { rpc } from "./rpc";
9
9
  export { mutate } from "./mutate";
10
+ export { service, SERVICE_NAME } from "./service";
10
11
  // Transport
11
12
  export { RpcTransport, HttpTransport, RpcError } from "./transport";
12
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,aAAa;AACb,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;AAElD,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG9E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CACpB,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,IAMP,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,EACvG,SAAS,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,KACvG,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,CA2BlG"}
1
+ {"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK9E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CACpB,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,IAMP,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,EACvG,SAAS,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,KACvG,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,oCAAc,GAAG,EAAE,iCAAW,6BAAO,gCAAU,CAAC,CA2BlG"}
package/dist/mutate.js CHANGED
@@ -13,6 +13,7 @@
13
13
  import { app } from "@toyz/loom";
14
14
  import { Reactive } from "@toyz/loom/store";
15
15
  import { RpcTransport } from "./transport";
16
+ import { resolveServiceName } from "./service";
16
17
  /**
17
18
  * @mutate(Router, method) — Mutation decorator
18
19
  *
@@ -30,7 +31,7 @@ import { RpcTransport } from "./transport";
30
31
  * @param method - The method name on the contract to call
31
32
  */
32
33
  export function mutate(router, method) {
33
- const routerName = router.name;
34
+ const routerName = resolveServiceName(router);
34
35
  return (_target, context) => {
35
36
  const stateKey = Symbol(`mutate:${String(context.name)}`);
36
37
  const traceKey = Symbol(`mutate:trace:${String(context.name)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"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"}
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;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGxE;;;;;;;;;;;;;;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,IAKhC,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,QAAQ,+BAAS,CAAC,EAC9D,SAAS,6BAA6B,CAAC,IAAI,EAAE,QAAQ,+BAAS,CAAC,KAC9D,4BAA4B,CAAC,IAAI,EAAE,QAAQ,+BAAS,CAAC,CA6BzD"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAKxE;;;;;;;;;;;;;;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,IAKhC,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,QAAQ,+BAAS,CAAC,EAC9D,SAAS,6BAA6B,CAAC,IAAI,EAAE,QAAQ,+BAAS,CAAC,KAC9D,4BAA4B,CAAC,IAAI,EAAE,QAAQ,+BAAS,CAAC,CA6BzD"}
package/dist/rpc.js CHANGED
@@ -19,6 +19,7 @@ import { app } from "@toyz/loom";
19
19
  import { Reactive } from "@toyz/loom/store";
20
20
  import { LoomResult } from "@toyz/loom";
21
21
  import { RpcTransport } from "./transport";
22
+ import { resolveServiceName } from "./service";
22
23
  /**
23
24
  * @rpc(Router, method, opts?) — Query decorator
24
25
  *
@@ -35,7 +36,7 @@ import { RpcTransport } from "./transport";
35
36
  * @param opts - Optional configuration (fn, staleTime, retry, eager)
36
37
  */
37
38
  export function rpc(router, method, opts) {
38
- const routerName = router.name;
39
+ const routerName = resolveServiceName(router);
39
40
  return (_target, context) => {
40
41
  const stateKey = Symbol(`rpc:${String(context.name)}`);
41
42
  const traceKey = Symbol(`rpc:trace:${String(context.name)}`);
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * LoomRPC — @service class decorator
3
+ *
4
+ * Stamps a minification-safe name on a router contract class.
5
+ * `@rpc` and `@mutate` read this name first, falling back to `class.name`.
6
+ *
7
+ * ```ts
8
+ * import { service } from "@toyz/loom-rpc";
9
+ *
10
+ * @service("UserService")
11
+ * class UserService {
12
+ * getUser(id: string): User { return null!; }
13
+ * }
14
+ * ```
15
+ */
16
+ /** Symbol used to store the service name on the class */
17
+ export declare const SERVICE_NAME: unique symbol;
18
+ /**
19
+ * @service(name) — Class decorator
20
+ *
21
+ * Assigns a stable, minification-proof name to a router contract.
22
+ * When present, `@rpc` and `@mutate` use this name instead of `class.name`.
23
+ *
24
+ * @param name - The stable service name (survives minification)
25
+ */
26
+ export declare function service(name: string): <T extends new (...args: any[]) => any>(target: T, _context?: ClassDecoratorContext) => T;
27
+ /**
28
+ * Resolve the router name for a class: @service name first, then class.name.
29
+ */
30
+ export declare function resolveServiceName(router: new (...args: any[]) => any): string;
31
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,yDAAyD;AACzD,eAAO,MAAM,YAAY,eAAiC,CAAC;AAE3D;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,IAC1B,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,QAAQ,CAAC,EAAE,WAAW,qBAAqB,OAI3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,MAAM,CAE9E"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * LoomRPC — @service class decorator
3
+ *
4
+ * Stamps a minification-safe name on a router contract class.
5
+ * `@rpc` and `@mutate` read this name first, falling back to `class.name`.
6
+ *
7
+ * ```ts
8
+ * import { service } from "@toyz/loom-rpc";
9
+ *
10
+ * @service("UserService")
11
+ * class UserService {
12
+ * getUser(id: string): User { return null!; }
13
+ * }
14
+ * ```
15
+ */
16
+ /** Symbol used to store the service name on the class */
17
+ export const SERVICE_NAME = Symbol.for("loom-rpc:service");
18
+ /**
19
+ * @service(name) — Class decorator
20
+ *
21
+ * Assigns a stable, minification-proof name to a router contract.
22
+ * When present, `@rpc` and `@mutate` use this name instead of `class.name`.
23
+ *
24
+ * @param name - The stable service name (survives minification)
25
+ */
26
+ export function service(name) {
27
+ return (target, _context) => {
28
+ target[SERVICE_NAME] = name;
29
+ return target;
30
+ };
31
+ }
32
+ /**
33
+ * Resolve the router name for a class: @service name first, then class.name.
34
+ */
35
+ export function resolveServiceName(router) {
36
+ return router[SERVICE_NAME] ?? router.name;
37
+ }
38
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,CAAwC,MAAS,EAAE,QAAgC,EAAE,EAAE;QAC3F,MAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmC;IACpE,OAAQ,MAAc,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;AACtD,CAAC"}
package/dist/testing.d.ts CHANGED
@@ -15,17 +15,19 @@
15
15
  * ```
16
16
  */
17
17
  import { RpcTransport } from "./transport";
18
+ type RouterIdent = string | (new (...args: any[]) => any);
18
19
  export declare class MockTransport extends RpcTransport {
19
20
  private mocks;
20
21
  private errors;
21
22
  private calls;
22
23
  private delays;
24
+ private getRouterName;
23
25
  /** Register a mock response for a specific router.method */
24
- mock<T>(router: string, method: string, response: T): this;
26
+ mock<T>(router: RouterIdent, method: string, response: T): this;
25
27
  /** Register a mock error for a specific router.method */
26
- mockError(router: string, method: string, error: Error): this;
28
+ mockError(router: RouterIdent, method: string, error: Error): this;
27
29
  /** Add an artificial delay (ms) for a specific router.method */
28
- delay(router: string, method: string, ms: number): this;
30
+ delay(router: RouterIdent, method: string, ms: number): this;
29
31
  /** All calls that have been made through this transport */
30
32
  get history(): {
31
33
  router: string;
@@ -35,9 +37,10 @@ export declare class MockTransport extends RpcTransport {
35
37
  /** Clear all mocks and call history */
36
38
  reset(): void;
37
39
  /** Assert a specific call was made */
38
- assertCalled(router: string, method: string, args?: any[]): void;
40
+ assertCalled(router: RouterIdent, method: string, args?: any[]): void;
39
41
  /** Assert a specific call was NOT made */
40
- assertNotCalled(router: string, method: string): void;
42
+ assertNotCalled(router: RouterIdent, method: string): void;
41
43
  call<T>(router: string, method: string, args: any[]): Promise<T>;
42
44
  }
45
+ export {};
43
46
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,KAAK,CAA8D;IAC3E,OAAO,CAAC,MAAM,CAA6B;IAE3C,4DAA4D;IAC5D,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IAK1D,yDAAyD;IACzD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAK7D,gEAAgE;IAChE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAKvD,2DAA2D;IAC3D,IAAI,OAAO;gBAtBoB,MAAM;gBAAU,MAAM;cAAQ,GAAG,EAAE;QAwBjE;IAED,uCAAuC;IACvC,KAAK,IAAI,IAAI;IAOb,sCAAsC;IACtC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;IAahE,0CAA0C;IAC1C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAW/C,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CA0BvE"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,KAAK,WAAW,GAAG,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAE1D,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,KAAK,CAA8D;IAC3E,OAAO,CAAC,MAAM,CAA6B;IAE3C,OAAO,CAAC,aAAa;IAIrB,4DAA4D;IAC5D,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IAK/D,yDAAyD;IACzD,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKlE,gEAAgE;IAChE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAK5D,2DAA2D;IAC3D,IAAI,OAAO;gBA1BoB,MAAM;gBAAU,MAAM;cAAQ,GAAG,EAAE;QA4BjE;IAED,uCAAuC;IACvC,KAAK,IAAI,IAAI;IAOb,sCAAsC;IACtC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;IAcrE,0CAA0C;IAC1C,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYpD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CA0BvE"}
package/dist/testing.js CHANGED
@@ -15,24 +15,28 @@
15
15
  * ```
16
16
  */
17
17
  import { RpcTransport } from "./transport";
18
+ import { resolveServiceName } from "./service";
18
19
  export class MockTransport extends RpcTransport {
19
20
  mocks = new Map();
20
21
  errors = new Map();
21
22
  calls = [];
22
23
  delays = new Map();
24
+ getRouterName(router) {
25
+ return typeof router === "string" ? router : resolveServiceName(router);
26
+ }
23
27
  /** Register a mock response for a specific router.method */
24
28
  mock(router, method, response) {
25
- this.mocks.set(`${router}.${method}`, response);
29
+ this.mocks.set(`${this.getRouterName(router)}.${method}`, response);
26
30
  return this;
27
31
  }
28
32
  /** Register a mock error for a specific router.method */
29
33
  mockError(router, method, error) {
30
- this.errors.set(`${router}.${method}`, error);
34
+ this.errors.set(`${this.getRouterName(router)}.${method}`, error);
31
35
  return this;
32
36
  }
33
37
  /** Add an artificial delay (ms) for a specific router.method */
34
38
  delay(router, method, ms) {
35
- this.delays.set(`${router}.${method}`, ms);
39
+ this.delays.set(`${this.getRouterName(router)}.${method}`, ms);
36
40
  return this;
37
41
  }
38
42
  /** All calls that have been made through this transport */
@@ -48,18 +52,20 @@ export class MockTransport extends RpcTransport {
48
52
  }
49
53
  /** Assert a specific call was made */
50
54
  assertCalled(router, method, args) {
51
- const match = this.calls.find((c) => c.router === router && c.method === method &&
55
+ const rName = this.getRouterName(router);
56
+ const match = this.calls.find((c) => c.router === rName && c.method === method &&
52
57
  (args === undefined || JSON.stringify(c.args) === JSON.stringify(args)));
53
58
  if (!match) {
54
- throw new Error(`Expected ${router}.${method}(${args ? JSON.stringify(args) : "..."}) to have been called. ` +
59
+ throw new Error(`Expected ${rName}.${method}(${args ? JSON.stringify(args) : "..."}) to have been called. ` +
55
60
  `Calls: ${JSON.stringify(this.calls)}`);
56
61
  }
57
62
  }
58
63
  /** Assert a specific call was NOT made */
59
64
  assertNotCalled(router, method) {
60
- const match = this.calls.find((c) => c.router === router && c.method === method);
65
+ const rName = this.getRouterName(router);
66
+ const match = this.calls.find((c) => c.router === rName && c.method === method);
61
67
  if (match) {
62
- throw new Error(`Expected ${router}.${method} to NOT have been called, but it was.`);
68
+ throw new Error(`Expected ${rName}.${method} to NOT have been called, but it was.`);
63
69
  }
64
70
  }
65
71
  async call(router, method, args) {
@@ -81,7 +87,7 @@ export class MockTransport extends RpcTransport {
81
87
  return typeof value === "function" ? value(...args) : value;
82
88
  }
83
89
  throw new Error(`[MockTransport] No mock registered for ${key}. ` +
84
- `Register one with: transport.mock("${router}", "${method}", responseData)`);
90
+ `Register one with: transport.mock(RouterClass, "${method}", responseData)`);
85
91
  }
86
92
  }
87
93
  //# sourceMappingURL=testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toyz/loom-rpc",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "Type-safe, decorator-driven RPC for Loom — server-agnostic, transport-swappable",
6
6
  "license": "MIT",