@trpc/server 10.10.0 → 10.11.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.
@@ -1,8 +1,8 @@
1
- import { mergeRoutersGeneric } from './internals/__generated__/mergeRoutersGeneric';
2
1
  import { DefaultErrorShape, ErrorFormatter, ErrorFormatterShape } from '../error/formatter';
3
2
  import { DataTransformerOptions, DefaultDataTransformer } from '../transformer';
4
3
  import { FlatOverwrite, Unwrap } from '../types';
5
4
  import { CreateRootConfigTypes, RootConfig, RootConfigTypes, RuntimeConfig } from './internals/config';
5
+ import { mergeRouters } from './internals/mergeRouters';
6
6
  import { PickFirstDefined, ValidateShape } from './internals/utils';
7
7
  declare type PartialRootConfigTypes = Partial<RootConfigTypes>;
8
8
  declare type CreateRootConfigTypesFromPartial<TTypes extends PartialRootConfigTypes> = CreateRootConfigTypes<{
@@ -94,7 +94,7 @@ declare class TRPCBuilder<TParams extends PartialRootConfigTypes = object> {
94
94
  /**
95
95
  * Merge Routers
96
96
  */
97
- mergeRouters: typeof mergeRoutersGeneric;
97
+ mergeRouters: typeof mergeRouters;
98
98
  };
99
99
  }
100
100
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"initTRPC.d.ts","sourceRoot":"","sources":["../../src/core/initTRPC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EAGvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIpE,aAAK,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEvD,aAAK,gCAAgC,CAAC,MAAM,SAAS,sBAAsB,IACzE,qBAAqB,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,eAAe,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IAC3E,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,GAChD,MAAM,CAAC,MAAM,CAAC,GACd,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACjC,WAAW,EAAE,sBAAsB,CAAC;CACrC,CAAC,CAAC;AAEL;;;;;GAKG;AAEH,cAAM,WAAW,CAAC,OAAO,SAAS,sBAAsB,GAAG,MAAM;IAC/D,OAAO,CACL,WAAW,SACP,eAAe,CAAC,KAAK,CAAC,GACtB,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC;aAGpB,OAAO,WAAW,CAAC;;IAGrD,IAAI,CAAC,QAAQ,SAAS,eAAe,CAAC,MAAM,CAAC;cACW,QAAQ;;IAEhE,MAAM,CACJ,QAAQ,SAAS,OAAO,CACtB,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC,CACzD,EAED,OAAO,CAAC,EACJ,aAAa,CACX,QAAQ,EACR,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC,CAAC,CAClE,GACD,SAAS;QAsEX;;;WAGG;;;;;;;QAEH;;WAEG;;;;;;;;;;;;;;;QAEH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEH;;WAEG;;;;;;;QAEH;;WAEG;;;CArFR;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,qBAAoB,CAAC"}
1
+ {"version":3,"file":"initTRPC.d.ts","sourceRoot":"","sources":["../../src/core/initTRPC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EAGvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIpE,aAAK,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEvD,aAAK,gCAAgC,CAAC,MAAM,SAAS,sBAAsB,IACzE,qBAAqB,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,eAAe,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IAC3E,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,GAChD,MAAM,CAAC,MAAM,CAAC,GACd,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACjC,WAAW,EAAE,sBAAsB,CAAC;CACrC,CAAC,CAAC;AAEL;;;;;GAKG;AAEH,cAAM,WAAW,CAAC,OAAO,SAAS,sBAAsB,GAAG,MAAM;IAC/D,OAAO,CACL,WAAW,SACP,eAAe,CAAC,KAAK,CAAC,GACtB,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC;aAGpB,OAAO,WAAW,CAAC;;IAGrD,IAAI,CAAC,QAAQ,SAAS,eAAe,CAAC,MAAM,CAAC;cACW,QAAQ;;IAEhE,MAAM,CACJ,QAAQ,SAAS,OAAO,CACtB,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC,CACzD,EAED,OAAO,CAAC,EACJ,aAAa,CACX,QAAQ,EACR,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC,CAAC,CAClE,GACD,SAAS;QAsEX;;;WAGG;;;;;;;QAEH;;WAEG;;;;;;;;;;;;;;;QAEH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEH;;WAEG;;;;;;;QAEH;;WAEG;;;CArFR;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,qBAAoB,CAAC"}
@@ -1,3 +1,18 @@
1
- import { AnyRouter } from '../router';
2
- export declare function mergeRouters(...routerList: AnyRouter[]): AnyRouter;
1
+ import { AnyRouter, AnyRouterDef, Router, RouterDef } from '../router';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare type MergeRouters<TRouters extends AnyRouter[], TRouterDef extends AnyRouterDef = RouterDef<TRouters[0]['_def']['_config'], {}>> = TRouters extends [
6
+ infer Head extends AnyRouter,
7
+ ...infer Tail extends AnyRouter[]
8
+ ] ? MergeRouters<Tail, {
9
+ _config: TRouterDef['_config'] & Head['_def']['_config'];
10
+ router: true;
11
+ procedures: TRouterDef['procedures'] & Head['_def']['procedures'];
12
+ record: TRouterDef['record'] & Head['_def']['record'];
13
+ queries: TRouterDef['queries'] & Head['_def']['queries'];
14
+ mutations: TRouterDef['mutations'] & Head['_def']['mutations'];
15
+ subscriptions: TRouterDef['subscriptions'] & Head['_def']['subscriptions'];
16
+ }> : Router<TRouterDef> & TRouterDef['record'];
17
+ export declare function mergeRouters<TRouters extends AnyRouter[]>(...routerList: [...TRouters]): MergeRouters<TRouters>;
3
18
  //# sourceMappingURL=mergeRouters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeRouters.d.ts","sourceRoot":"","sources":["../../../src/core/internals/mergeRouters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAuB,MAAM,WAAW,CAAC;AAI3D,wBAAgB,YAAY,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,CAmDlE"}
1
+ {"version":3,"file":"mergeRouters.d.ts","sourceRoot":"","sources":["../../../src/core/internals/mergeRouters.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,MAAM,EACN,SAAS,EAEV,MAAM,WAAW,CAAC;AAGnB;;GAEG;AACH,oBAAY,YAAY,CACtB,QAAQ,SAAS,SAAS,EAAE,EAC5B,UAAU,SAAS,YAAY,GAAG,SAAS,CACzC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAE9B,EAAE,CACH,IACC,QAAQ,SAAS;IACnB,MAAM,IAAI,SAAS,SAAS;IAC5B,GAAG,MAAM,IAAI,SAAS,SAAS,EAAE;CAClC,GACG,YAAY,CACV,IAAI,EACJ;IACE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,EAAE,IAAI,CAAC;IACb,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAClE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;IAC/D,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,GACxC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;CACjC,CACF,GACD,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAE9C,wBAAgB,YAAY,CAAC,QAAQ,SAAS,SAAS,EAAE,EACvD,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,GAC3B,YAAY,CAAC,QAAQ,CAAC,CAmDxB"}
package/dist/index.js CHANGED
@@ -753,7 +753,6 @@ function safeObject(...args) {
753
753
  return new Router();
754
754
  }
755
755
 
756
- // ts-prune-ignore-next -- Used in generated code
757
756
  function mergeRouters(...routerList) {
758
757
  const record = mergeWithoutOverrides({}, ...routerList.map((r)=>r._def.record));
759
758
  const errorFormatter = routerList.reduce((currentErrorFormatter, nextRouter)=>{
@@ -785,10 +784,6 @@ function mergeRouters(...routerList) {
785
784
  return router;
786
785
  }
787
786
 
788
- function mergeRoutersGeneric(...args) {
789
- return mergeRouters(...args);
790
- }
791
-
792
787
  /**
793
788
  * TODO: This can be improved:
794
789
  * - We should be able to chain `.meta()`/`.context()` only once
@@ -847,7 +842,7 @@ function createTRPCInner() {
847
842
  */ router: config.createRouterFactory(config$1),
848
843
  /**
849
844
  * Merge Routers
850
- */ mergeRouters: mergeRoutersGeneric
845
+ */ mergeRouters
851
846
  };
852
847
  };
853
848
  }
package/dist/index.mjs CHANGED
@@ -751,7 +751,6 @@ function safeObject(...args) {
751
751
  return new Router();
752
752
  }
753
753
 
754
- // ts-prune-ignore-next -- Used in generated code
755
754
  function mergeRouters(...routerList) {
756
755
  const record = mergeWithoutOverrides({}, ...routerList.map((r)=>r._def.record));
757
756
  const errorFormatter = routerList.reduce((currentErrorFormatter, nextRouter)=>{
@@ -783,10 +782,6 @@ function mergeRouters(...routerList) {
783
782
  return router;
784
783
  }
785
784
 
786
- function mergeRoutersGeneric(...args) {
787
- return mergeRouters(...args);
788
- }
789
-
790
785
  /**
791
786
  * TODO: This can be improved:
792
787
  * - We should be able to chain `.meta()`/`.context()` only once
@@ -845,7 +840,7 @@ function createTRPCInner() {
845
840
  */ router: createRouterFactory(config),
846
841
  /**
847
842
  * Merge Routers
848
- */ mergeRouters: mergeRoutersGeneric
843
+ */ mergeRouters
849
844
  };
850
845
  };
851
846
  }
@@ -2,7 +2,7 @@
2
2
  * These types have to be exported so users can generate their own types definitions files
3
3
  */
4
4
  export type { DefaultErrorShape } from './error/formatter';
5
- export type { mergeRoutersGeneric } from './core/internals/__generated__/mergeRoutersGeneric';
5
+ export type { MergeRouters } from './core/internals/mergeRouters';
6
6
  export type { RootConfig, AnyRootConfig } from './core/internals/config';
7
7
  export type { ProcedureBuilder, BuildProcedure, } from './core/internals/procedureBuilder';
8
8
  export type { Overwrite, unsetMarker } from './core/internals/utils';
@@ -1 +1 @@
1
- {"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzE,YAAY,EACV,gBAAgB,EAChB,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzE,YAAY,EACV,gBAAgB,EAChB,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.10.0",
3
+ "version": "10.11.0",
4
4
  "description": "tRPC Server",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -33,7 +33,6 @@
33
33
  "build": "rollup --config rollup.config.ts --configPlugin rollup-plugin-swc3",
34
34
  "dev": "pnpm build --watch",
35
35
  "codegen:entrypoints": "tsx entrypoints.script.ts",
36
- "codegen:mergeRouters": "tsx ../../scripts/generateMergeRouters.ts",
37
36
  "benchmark": "tsc --project tsconfig.benchmark.json",
38
37
  "lint": "eslint --ext \".js,.ts,.tsx\" --ignore-path ../../.gitignore --report-unused-disable-directives src",
39
38
  "ts-watch": "tsc --project tsconfig.watch.json"
@@ -162,5 +161,5 @@
162
161
  "yup": "^0.32.8",
163
162
  "zod": "^3.0.0"
164
163
  },
165
- "gitHead": "ca69d4acfe7be286afcd06a39b652194ca6a87d9"
164
+ "gitHead": "e77ed59be62562e7e8519468f9cc39387ed78476"
166
165
  }
@@ -1,4 +1,3 @@
1
- import { mergeRoutersGeneric } from './internals/__generated__/mergeRoutersGeneric';
2
1
  import {
3
2
  DefaultErrorShape,
4
3
  ErrorFormatter,
@@ -20,6 +19,7 @@ import {
20
19
  RuntimeConfig,
21
20
  isServerDefault,
22
21
  } from './internals/config';
22
+ import { mergeRouters } from './internals/mergeRouters';
23
23
  import { createBuilder } from './internals/procedureBuilder';
24
24
  import { PickFirstDefined, ValidateShape } from './internals/utils';
25
25
  import { createMiddlewareFactory } from './middleware';
@@ -157,7 +157,7 @@ function createTRPCInner<TParams extends PartialRootConfigTypes>() {
157
157
  /**
158
158
  * Merge Routers
159
159
  */
160
- mergeRouters: mergeRoutersGeneric,
160
+ mergeRouters,
161
161
  };
162
162
  };
163
163
  }
@@ -1,10 +1,46 @@
1
1
  import { defaultFormatter } from '../../error/formatter';
2
2
  import { CombinedDataTransformer, defaultTransformer } from '../../transformer';
3
- import { AnyRouter, createRouterFactory } from '../router';
3
+ import {
4
+ AnyRouter,
5
+ AnyRouterDef,
6
+ Router,
7
+ RouterDef,
8
+ createRouterFactory,
9
+ } from '../router';
4
10
  import { mergeWithoutOverrides } from './mergeWithoutOverrides';
5
11
 
6
- // ts-prune-ignore-next -- Used in generated code
7
- export function mergeRouters(...routerList: AnyRouter[]): AnyRouter {
12
+ /**
13
+ * @internal
14
+ */
15
+ export type MergeRouters<
16
+ TRouters extends AnyRouter[],
17
+ TRouterDef extends AnyRouterDef = RouterDef<
18
+ TRouters[0]['_def']['_config'],
19
+ // eslint-disable-next-line @typescript-eslint/ban-types
20
+ {}
21
+ >,
22
+ > = TRouters extends [
23
+ infer Head extends AnyRouter,
24
+ ...infer Tail extends AnyRouter[],
25
+ ]
26
+ ? MergeRouters<
27
+ Tail,
28
+ {
29
+ _config: TRouterDef['_config'] & Head['_def']['_config'];
30
+ router: true;
31
+ procedures: TRouterDef['procedures'] & Head['_def']['procedures'];
32
+ record: TRouterDef['record'] & Head['_def']['record'];
33
+ queries: TRouterDef['queries'] & Head['_def']['queries'];
34
+ mutations: TRouterDef['mutations'] & Head['_def']['mutations'];
35
+ subscriptions: TRouterDef['subscriptions'] &
36
+ Head['_def']['subscriptions'];
37
+ }
38
+ >
39
+ : Router<TRouterDef> & TRouterDef['record'];
40
+
41
+ export function mergeRouters<TRouters extends AnyRouter[]>(
42
+ ...routerList: [...TRouters]
43
+ ): MergeRouters<TRouters> {
8
44
  const record = mergeWithoutOverrides(
9
45
  {},
10
46
  ...routerList.map((r) => r._def.record),
@@ -54,5 +90,5 @@ export function mergeRouters(...routerList: AnyRouter[]): AnyRouter {
54
90
  isServer: routerList.some((r) => r._def._config.isServer),
55
91
  $types: routerList[0]?._def._config.$types as any,
56
92
  })(record);
57
- return router;
93
+ return router as any;
58
94
  }
package/src/internals.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * These types have to be exported so users can generate their own types definitions files
3
3
  */
4
4
  export type { DefaultErrorShape } from './error/formatter';
5
- export type { mergeRoutersGeneric } from './core/internals/__generated__/mergeRoutersGeneric';
5
+ export type { MergeRouters } from './core/internals/mergeRouters';
6
6
  export type { RootConfig, AnyRootConfig } from './core/internals/config';
7
7
  export type {
8
8
  ProcedureBuilder,