@nmtjs/contract 0.14.0 → 0.14.1

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/dist/index.d.ts CHANGED
@@ -30,7 +30,6 @@ export declare namespace contract {
30
30
  };
31
31
  const router: <const Options extends {
32
32
  routes: Record<string, import("./schemas/router.ts").TRouteContract>;
33
- events?: Record<string, import("./schemas/event.ts").TAnyEventContract>;
34
33
  name?: string;
35
34
  timeout?: number;
36
35
  schemaOptions?: import("./utils.ts").ContractSchemaOptions;
@@ -1,5 +1,4 @@
1
1
  import type { ContractSchemaOptions } from '../utils.ts';
2
- import type { TAnyEventContract } from './event.ts';
3
2
  import type { TAnyProcedureContract, TProcedureContract } from './procedure.ts';
4
3
  import { Kind } from '../constants.ts';
5
4
  export declare const RouterKind: unique symbol;
@@ -16,7 +15,6 @@ export interface TRouterContract<Routes extends Record<string, TRouteContract> =
16
15
  }
17
16
  export declare const RouterContract: <const Options extends {
18
17
  routes: Record<string, TRouteContract>;
19
- events?: Record<string, TAnyEventContract>;
20
18
  name?: string;
21
19
  timeout?: number;
22
20
  schemaOptions?: ContractSchemaOptions;
@@ -1,34 +1,10 @@
1
1
  import { Kind } from "../constants.js";
2
2
  import { concatFullName, createSchema } from "../utils.js";
3
+ import { IsProcedureContract } from "./procedure.js";
3
4
  export const RouterKind = Symbol('NeemataRouter');
4
5
  export const RouterContract = (options) => {
5
6
  const { name = undefined, timeout, schemaOptions = {}, } = options;
6
- const events = {};
7
- for (const eventName in options.events || {}) {
8
- const event = options.events[eventName];
9
- const fullName = concatFullName(name, eventName);
10
- events[eventName] = createSchema({
11
- ...event,
12
- subscription: undefined,
13
- name: fullName,
14
- });
15
- }
16
- const routes = {};
17
- for (const routeName in options.routes) {
18
- const route = options.routes[routeName];
19
- if (IsRouterContract(route)) {
20
- const nestedName = concatFullName(name, routeName);
21
- routes[routeName] = createSchema({
22
- ...route,
23
- name: nestedName,
24
- routes: processNestedRoutes(route.routes, nestedName),
25
- });
26
- }
27
- else {
28
- const fullName = concatFullName(name, routeName);
29
- routes[routeName] = createSchema({ ...route, name: fullName });
30
- }
31
- }
7
+ const routes = processNestedRoutes(options.routes, name);
32
8
  return createSchema({
33
9
  ...schemaOptions,
34
10
  [Kind]: RouterKind,
@@ -50,10 +26,13 @@ function processNestedRoutes(routes, parentName) {
50
26
  routes: processNestedRoutes(route.routes, nestedName),
51
27
  });
52
28
  }
53
- else {
29
+ else if (IsProcedureContract(route)) {
54
30
  const fullName = concatFullName(parentName, routeName);
55
31
  processed[routeName] = createSchema({ ...route, name: fullName });
56
32
  }
33
+ else {
34
+ throw new Error(`Invalid route type for ${routeName}`);
35
+ }
57
36
  }
58
37
  return processed;
59
38
  }
package/package.json CHANGED
@@ -9,15 +9,15 @@
9
9
  }
10
10
  },
11
11
  "dependencies": {
12
- "@nmtjs/protocol": "0.14.0",
13
- "@nmtjs/type": "0.14.0"
12
+ "@nmtjs/protocol": "0.14.1",
13
+ "@nmtjs/type": "0.14.1"
14
14
  },
15
15
  "files": [
16
16
  "dist",
17
17
  "LICENSE.md",
18
18
  "README.md"
19
19
  ],
20
- "version": "0.14.0",
20
+ "version": "0.14.1",
21
21
  "scripts": {
22
22
  "build": "tsc",
23
23
  "type-check": "tsc --noEmit"