@trpc/server 11.0.0-next-beta.242 → 11.0.0-next-beta.285

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.
Files changed (32) hide show
  1. package/dist/@trpc/server/index.d.ts +1 -5
  2. package/dist/@trpc/server/index.d.ts.map +1 -1
  3. package/dist/adapters/node-http/content-type/form-data/index.js +2 -2
  4. package/dist/adapters/node-http/content-type/form-data/index.mjs +1 -1
  5. package/dist/bundle-analysis.json +56 -114
  6. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts +25 -4
  7. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts.map +1 -1
  8. package/dist/unstable-core-do-not-import/index.d.ts +1 -1
  9. package/dist/unstable-core-do-not-import/index.d.ts.map +1 -1
  10. package/dist/unstable-core-do-not-import/initTRPC.d.ts +15 -7
  11. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +1 -1
  12. package/dist/unstable-core-do-not-import/router.d.ts +25 -18
  13. package/dist/unstable-core-do-not-import/router.d.ts.map +1 -1
  14. package/dist/unstable-core-do-not-import/router.js +36 -19
  15. package/dist/unstable-core-do-not-import/router.mjs +37 -20
  16. package/dist/unstable-core-do-not-import/rpc/codes.d.ts +1 -2
  17. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +1 -1
  18. package/dist/unstable-core-do-not-import/types.d.ts +1 -0
  19. package/dist/unstable-core-do-not-import/types.d.ts.map +1 -1
  20. package/package.json +2 -2
  21. package/src/@trpc/server/index.ts +1 -5
  22. package/src/unstable-core-do-not-import/TRPCInferrable.ts +35 -4
  23. package/src/unstable-core-do-not-import/index.ts +0 -2
  24. package/src/unstable-core-do-not-import/router.ts +84 -54
  25. package/src/unstable-core-do-not-import/rpc/codes.ts +1 -1
  26. package/src/unstable-core-do-not-import/types.ts +1 -0
  27. package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/index.js +0 -203
  28. package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/index.mjs +0 -201
  29. package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/search.js +0 -167
  30. package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/search.mjs +0 -163
  31. package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/utils.js +0 -35
  32. package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/utils.mjs +0 -30
@@ -2,29 +2,27 @@ import type { AnyProcedure, inferProcedureInput, inferTransformedProcedureOutput
2
2
  import type { ProcedureCallOptions } from './procedureBuilder';
3
3
  import type { AnyRootTypes, RootConfig } from './rootConfig';
4
4
  import type { MaybePromise } from './types';
5
- /** @internal **/
6
- export type ProcedureRecord = Record<string, AnyProcedure>;
7
- export interface ProcedureRouterRecord {
8
- [key: string]: AnyProcedure | AnyRouter;
5
+ export interface RouterRecord {
6
+ [key: string]: AnyProcedure | RouterRecord;
9
7
  }
10
8
  type DecorateProcedure<TProcedure extends AnyProcedure> = (input: inferProcedureInput<TProcedure>) => Promise<TProcedure['_def']['_output_out']>;
11
9
  /**
12
10
  * @internal
13
11
  */
14
- export type DecoratedProcedureRecord<TProcedures extends ProcedureRouterRecord> = {
15
- [TKey in keyof TProcedures]: TProcedures[TKey] extends AnyRouter ? DecoratedProcedureRecord<TProcedures[TKey]['_def']['record']> : TProcedures[TKey] extends AnyProcedure ? DecorateProcedure<TProcedures[TKey]> : never;
12
+ export type DecorateRouterRecord<TRecord extends RouterRecord> = {
13
+ [TKey in keyof TRecord]: TRecord[TKey] extends AnyProcedure ? DecorateProcedure<TRecord[TKey]> : TRecord[TKey] extends RouterRecord ? DecorateRouterRecord<TRecord[TKey]> : never;
16
14
  };
17
15
  /**
18
16
  * @internal
19
17
  */
20
- export type RouterCaller<TRoot extends AnyRootTypes, TRecord extends ProcedureRouterRecord> = (
18
+ export type RouterCaller<TRoot extends AnyRootTypes, TRecord extends RouterRecord> = (
21
19
  /**
22
20
  * @note
23
21
  * If passing a function, we recommend it's a cached function
24
22
  * e.g. wrapped in `React.cache` to avoid unnecessary computations
25
23
  */
26
- ctx: TRoot['ctx'] | (() => MaybePromise<TRoot['ctx']>)) => DecoratedProcedureRecord<TRecord>;
27
- export interface Router<TRoot extends AnyRootTypes, TRecord extends ProcedureRouterRecord> {
24
+ ctx: TRoot['ctx'] | (() => MaybePromise<TRoot['ctx']>)) => DecorateRouterRecord<TRecord>;
25
+ export interface Router<TRoot extends AnyRootTypes, TRecord extends RouterRecord> {
28
26
  _def: {
29
27
  _config: RootConfig<TRoot>;
30
28
  router: true;
@@ -38,30 +36,39 @@ export interface Router<TRoot extends AnyRootTypes, TRecord extends ProcedureRou
38
36
  */
39
37
  createCaller: RouterCaller<TRoot, TRecord>;
40
38
  }
41
- export type BuiltRouter<TRoot extends AnyRootTypes, TRecord extends ProcedureRouterRecord> = Router<TRoot, TRecord> & TRecord;
39
+ export type BuiltRouter<TRoot extends AnyRootTypes, TDef extends RouterRecord> = Router<TRoot, TDef> & TDef;
42
40
  export type AnyRouter = Router<any, any>;
43
41
  export type inferRouterRootTypes<TRouter extends AnyRouter> = TRouter['_def']['_config']['$types'];
44
42
  export type inferRouterContext<TRouter extends AnyRouter> = inferRouterRootTypes<TRouter>['ctx'];
45
43
  export type inferRouterError<TRouter extends AnyRouter> = inferRouterRootTypes<TRouter>['errorShape'];
46
44
  export type inferRouterMeta<TRouter extends AnyRouter> = inferRouterRootTypes<TRouter>['meta'];
47
- export type GetInferenceHelpers<TType extends 'input' | 'output', TRouter extends AnyRouter> = {
48
- [TKey in keyof TRouter['_def']['record']]: TRouter['_def']['record'][TKey] extends infer TRouterOrProcedure ? TRouterOrProcedure extends AnyRouter ? GetInferenceHelpers<TType, TRouterOrProcedure> : TRouterOrProcedure extends AnyProcedure ? TType extends 'input' ? inferProcedureInput<TRouterOrProcedure> : inferTransformedProcedureOutput<TRouter, TRouterOrProcedure> : never : never;
45
+ export type GetInferenceHelpers<TType extends 'input' | 'output', TRoot extends AnyRootTypes, TRecord extends RouterRecord> = {
46
+ [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value ? $Value extends RouterRecord ? GetInferenceHelpers<TType, TRoot, $Value> : $Value extends AnyProcedure ? TType extends 'input' ? inferProcedureInput<$Value> : inferTransformedProcedureOutput<TRoot, $Value> : never : never;
47
+ };
48
+ export type inferRouterInputs<TRouter extends AnyRouter> = GetInferenceHelpers<'input', TRouter['_def']['_config']['$types'], TRouter['_def']['record']>;
49
+ export type inferRouterOutputs<TRouter extends AnyRouter> = GetInferenceHelpers<'output', TRouter['_def']['_config']['$types'], TRouter['_def']['record']>;
50
+ export type CreateRouterOptions = {
51
+ [key: string]: AnyProcedure | AnyRouter | CreateRouterOptions;
52
+ };
53
+ export type DecorateCreateRouterOptions<TRouterOptions extends CreateRouterOptions> = {
54
+ [K in keyof TRouterOptions]: TRouterOptions[K] extends infer $Value ? $Value extends AnyProcedure ? $Value : $Value extends Router<any, infer TRecord> ? TRecord : $Value extends CreateRouterOptions ? DecorateCreateRouterOptions<$Value> : never : never;
49
55
  };
50
- export type inferRouterInputs<TRouter extends AnyRouter> = GetInferenceHelpers<'input', TRouter>;
51
- export type inferRouterOutputs<TRouter extends AnyRouter> = GetInferenceHelpers<'output', TRouter>;
52
56
  /**
53
57
  * @internal
54
58
  */
55
- export declare function createRouterFactory<TRoot extends AnyRootTypes>(config: RootConfig<TRoot>): <TProcRouterRecord extends ProcedureRouterRecord>(procedures: TProcRouterRecord) => BuiltRouter<TRoot, TProcRouterRecord>;
59
+ export declare function createRouterFactory<TRoot extends AnyRootTypes>(config: RootConfig<TRoot>): {
60
+ <TInput extends RouterRecord>(input: TInput): BuiltRouter<TRoot, TInput>;
61
+ <TInput_1 extends CreateRouterOptions>(input: TInput_1): BuiltRouter<TRoot, DecorateCreateRouterOptions<TInput_1>>;
62
+ };
56
63
  /**
57
64
  * @internal
58
65
  */
59
66
  export declare function callProcedure(opts: ProcedureCallOptions & {
60
- procedures: ProcedureRouterRecord;
67
+ procedures: RouterRecord;
61
68
  }): Promise<unknown>;
62
- export declare function createCallerFactory<TRoot extends AnyRootTypes>(): <TRecord extends ProcedureRouterRecord>(router: Router<TRoot, TRecord>) => RouterCaller<TRoot, TRecord>;
69
+ export declare function createCallerFactory<TRoot extends AnyRootTypes>(): <TRecord extends RouterRecord>(router: Router<TRoot, TRecord>) => RouterCaller<TRoot, TRecord>;
63
70
  /** @internal */
64
- type MergeRouters<TRouters extends AnyRouter[], TRoot extends AnyRootTypes = TRouters[0]['_def']['_config']['$types'], TRecord extends ProcedureRouterRecord = {}> = TRouters extends [
71
+ type MergeRouters<TRouters extends AnyRouter[], TRoot extends AnyRootTypes = TRouters[0]['_def']['_config']['$types'], TRecord extends RouterRecord = {}> = TRouters extends [
65
72
  infer Head extends AnyRouter,
66
73
  ...infer Tail extends AnyRouter[]
67
74
  ] ? MergeRouters<Tail, TRoot, Head['_def']['record'] & TRecord> : BuiltRouter<TRoot, TRecord>;
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/router.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ var transformer = require('./transformer.js');
7
7
  var utils = require('./utils.js');
8
8
 
9
9
  function isRouter(procedureOrRouter) {
10
- return 'router' in procedureOrRouter._def;
10
+ return procedureOrRouter._def && 'router' in procedureOrRouter._def;
11
11
  }
12
12
  const emptyRouter = {
13
13
  _ctx: null,
@@ -30,35 +30,52 @@ const emptyRouter = {
30
30
  /**
31
31
  * @internal
32
32
  */ function createRouterFactory(config) {
33
- return function createRouterInner(procedures) {
34
- const reservedWordsUsed = new Set(Object.keys(procedures).filter((v)=>reservedWords.includes(v)));
33
+ function createRouterInner(input) {
34
+ const reservedWordsUsed = new Set(Object.keys(input).filter((v)=>reservedWords.includes(v)));
35
35
  if (reservedWordsUsed.size > 0) {
36
36
  throw new Error('Reserved words used in `router({})` call: ' + Array.from(reservedWordsUsed).join(', '));
37
37
  }
38
- const routerProcedures = utils.omitPrototype({});
39
- function recursiveGetPaths(procedures, path = '') {
40
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){
41
- const newPath = `${path}${key}`;
42
- if (isRouter(procedureOrRouter)) {
43
- recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
38
+ const procedures = utils.omitPrototype({});
39
+ function step(from, path = []) {
40
+ const aggregate = utils.omitPrototype({});
41
+ for (const [key, item] of Object.entries(from ?? {})){
42
+ if (isRouter(item)) {
43
+ aggregate[key] = step(item._def.record, [
44
+ ...path,
45
+ key
46
+ ]);
44
47
  continue;
45
48
  }
46
- if (routerProcedures[newPath]) {
49
+ if (!isProcedure(item)) {
50
+ // RouterRecord
51
+ aggregate[key] = step(item, [
52
+ ...path,
53
+ key
54
+ ]);
55
+ continue;
56
+ }
57
+ const newPath = [
58
+ ...path,
59
+ key
60
+ ].join('.');
61
+ if (procedures[newPath]) {
47
62
  throw new Error(`Duplicate key: ${newPath}`);
48
63
  }
49
- routerProcedures[newPath] = procedureOrRouter;
64
+ procedures[newPath] = item;
65
+ aggregate[key] = item;
50
66
  }
67
+ return aggregate;
51
68
  }
52
- recursiveGetPaths(procedures);
69
+ const record = step(input);
53
70
  const _def = {
54
71
  _config: config,
55
72
  router: true,
56
- procedures: routerProcedures,
73
+ procedures,
57
74
  ...emptyRouter,
58
- record: procedures
75
+ record
59
76
  };
60
- const router = {
61
- ...procedures,
77
+ return {
78
+ ...record,
62
79
  _def,
63
80
  createCaller (ctx) {
64
81
  const proxy = createProxy.createRecursiveProxy(({ path , args })=>{
@@ -74,11 +91,11 @@ const emptyRouter = {
74
91
  return proxy;
75
92
  }
76
93
  };
77
- return router;
78
- };
94
+ }
95
+ return createRouterInner;
79
96
  }
80
97
  function isProcedure(procedureOrRouter) {
81
- return !!procedureOrRouter._def.procedure;
98
+ return typeof procedureOrRouter === 'function';
82
99
  }
83
100
  /**
84
101
  * @internal
@@ -2,10 +2,10 @@ import { createRecursiveProxy } from './createProxy.mjs';
2
2
  import { defaultFormatter } from './error/formatter.mjs';
3
3
  import { TRPCError } from './error/TRPCError.mjs';
4
4
  import { defaultTransformer } from './transformer.mjs';
5
- import { omitPrototype, mergeWithoutOverrides } from './utils.mjs';
5
+ import { mergeWithoutOverrides, omitPrototype } from './utils.mjs';
6
6
 
7
7
  function isRouter(procedureOrRouter) {
8
- return 'router' in procedureOrRouter._def;
8
+ return procedureOrRouter._def && 'router' in procedureOrRouter._def;
9
9
  }
10
10
  const emptyRouter = {
11
11
  _ctx: null,
@@ -28,35 +28,52 @@ const emptyRouter = {
28
28
  /**
29
29
  * @internal
30
30
  */ function createRouterFactory(config) {
31
- return function createRouterInner(procedures) {
32
- const reservedWordsUsed = new Set(Object.keys(procedures).filter((v)=>reservedWords.includes(v)));
31
+ function createRouterInner(input) {
32
+ const reservedWordsUsed = new Set(Object.keys(input).filter((v)=>reservedWords.includes(v)));
33
33
  if (reservedWordsUsed.size > 0) {
34
34
  throw new Error('Reserved words used in `router({})` call: ' + Array.from(reservedWordsUsed).join(', '));
35
35
  }
36
- const routerProcedures = omitPrototype({});
37
- function recursiveGetPaths(procedures, path = '') {
38
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){
39
- const newPath = `${path}${key}`;
40
- if (isRouter(procedureOrRouter)) {
41
- recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
36
+ const procedures = omitPrototype({});
37
+ function step(from, path = []) {
38
+ const aggregate = omitPrototype({});
39
+ for (const [key, item] of Object.entries(from ?? {})){
40
+ if (isRouter(item)) {
41
+ aggregate[key] = step(item._def.record, [
42
+ ...path,
43
+ key
44
+ ]);
42
45
  continue;
43
46
  }
44
- if (routerProcedures[newPath]) {
47
+ if (!isProcedure(item)) {
48
+ // RouterRecord
49
+ aggregate[key] = step(item, [
50
+ ...path,
51
+ key
52
+ ]);
53
+ continue;
54
+ }
55
+ const newPath = [
56
+ ...path,
57
+ key
58
+ ].join('.');
59
+ if (procedures[newPath]) {
45
60
  throw new Error(`Duplicate key: ${newPath}`);
46
61
  }
47
- routerProcedures[newPath] = procedureOrRouter;
62
+ procedures[newPath] = item;
63
+ aggregate[key] = item;
48
64
  }
65
+ return aggregate;
49
66
  }
50
- recursiveGetPaths(procedures);
67
+ const record = step(input);
51
68
  const _def = {
52
69
  _config: config,
53
70
  router: true,
54
- procedures: routerProcedures,
71
+ procedures,
55
72
  ...emptyRouter,
56
- record: procedures
73
+ record
57
74
  };
58
- const router = {
59
- ...procedures,
75
+ return {
76
+ ...record,
60
77
  _def,
61
78
  createCaller (ctx) {
62
79
  const proxy = createRecursiveProxy(({ path , args })=>{
@@ -72,11 +89,11 @@ const emptyRouter = {
72
89
  return proxy;
73
90
  }
74
91
  };
75
- return router;
76
- };
92
+ }
93
+ return createRouterInner;
77
94
  }
78
95
  function isProcedure(procedureOrRouter) {
79
- return !!procedureOrRouter._def.procedure;
96
+ return typeof procedureOrRouter === 'function';
80
97
  }
81
98
  /**
82
99
  * @internal
@@ -1,3 +1,4 @@
1
+ import type { ValueOf } from '../types';
1
2
  /**
2
3
  * JSON-RPC 2.0 Error codes
3
4
  *
@@ -44,8 +45,6 @@ export declare const TRPC_ERROR_CODES_BY_NUMBER: {
44
45
  [-32029]: "TOO_MANY_REQUESTS";
45
46
  [-32099]: "CLIENT_CLOSED_REQUEST";
46
47
  };
47
- type ValueOf<TObj> = TObj[keyof TObj];
48
48
  export type TRPC_ERROR_CODE_NUMBER = ValueOf<typeof TRPC_ERROR_CODES_BY_KEY>;
49
49
  export type TRPC_ERROR_CODE_KEY = keyof typeof TRPC_ERROR_CODES_BY_KEY;
50
- export {};
51
50
  //# sourceMappingURL=codes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/rpc/codes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH;;OAEG;;;;;;;;;;;;;;;CAmBK,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;CAAkC,CAAC;AAE1E,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;AACtC,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,uBAAuB,CAAC"}
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/rpc/codes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAKxC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH;;OAEG;;;;;;;;;;;;;;;CAmBK,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;CAAkC,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,uBAAuB,CAAC"}
@@ -99,4 +99,5 @@ export declare const ERROR_SYMBOL: unique symbol;
99
99
  export type TypeError<TMessage extends string> = TMessage & {
100
100
  _: typeof ERROR_SYMBOL;
101
101
  };
102
+ export type ValueOf<TObj> = TObj[keyof TObj];
102
103
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "11.0.0-next-beta.242+4377b3cf6",
3
+ "version": "11.0.0-next-beta.285+e18d84950",
4
4
  "description": "The tRPC server library",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -157,5 +157,5 @@
157
157
  "funding": [
158
158
  "https://trpc.io/sponsor"
159
159
  ],
160
- "gitHead": "4377b3cf6370c6af33064a7ae7c34299c8c00fa1"
160
+ "gitHead": "e18d84950b13f4cfce437473dde62e39a27c4879"
161
161
  }
@@ -26,7 +26,7 @@ export {
26
26
  type ProcedureType as TRPCProcedureType,
27
27
  type AnyMutationProcedure as AnyTRPCMutationProcedure,
28
28
  type AnyQueryProcedure as AnyTRPCQueryProcedure,
29
- type ProcedureRouterRecord as TRPCProcedureRouterRecord,
29
+ type RouterRecord as TRPCRouterRecord,
30
30
  type AnySubscriptionProcedure as AnyTRPCSubscriptionProcedure,
31
31
  type ProcedureOptions as TRPCProcedureOptions,
32
32
  } from '../../unstable-core-do-not-import';
@@ -71,10 +71,6 @@ export type {
71
71
  * @deprecated use `AnyTRPCQueryProcedure` instead
72
72
  */
73
73
  AnyQueryProcedure,
74
- /**
75
- * @deprecated use `TRPCProcedureRouterRecord` instead
76
- */
77
- ProcedureRouterRecord,
78
74
  /**
79
75
  * @deprecated use `AnyTRPCSubscriptionProcedure` instead
80
76
  */
@@ -1,11 +1,42 @@
1
- import type { AnyRootTypes } from './rootConfig';
2
- import type { AnyRouter } from './router';
1
+ import type { AnyRootTypes, RootConfig } from './rootConfig';
2
+
3
+ /**
4
+ * Result of `initTRPC.create()`
5
+ */
6
+ type InitLike = {
7
+ _config: RootConfig<AnyRootTypes>;
8
+ };
9
+
10
+ /**
11
+ * Result of `initTRPC.create().router()`
12
+ */
13
+ type RouterLike = {
14
+ _def: InitLike;
15
+ };
16
+
17
+ /**
18
+ * Result of `initTRPC.create()._config`
19
+ */
20
+ type RootConfigLike = {
21
+ $types: AnyRootTypes;
22
+ };
23
+ /**
24
+ * Anything that can be inferred to the root config types
25
+ */
26
+ export type TRPCInferrable =
27
+ | RouterLike
28
+ | InitLike
29
+ | RootConfigLike
30
+ | AnyRootTypes;
3
31
 
4
- export type TRPCInferrable = AnyRouter | AnyRootTypes;
5
32
  export type inferRootTypes<TInferrable extends TRPCInferrable> =
6
33
  TInferrable extends AnyRootTypes
7
34
  ? TInferrable
8
- : TInferrable extends AnyRouter
35
+ : TInferrable extends RootConfigLike
36
+ ? TInferrable['$types']
37
+ : TInferrable extends InitLike
38
+ ? TInferrable['_config']['$types']
39
+ : TInferrable extends RouterLike
9
40
  ? TInferrable['_def']['_config']['$types']
10
41
  : never;
11
42
 
@@ -52,8 +52,6 @@ export type { ProcedureBuilder } from './procedureBuilder';
52
52
  export * from './rootConfig';
53
53
  export type {
54
54
  AnyRouter,
55
- ProcedureRecord,
56
- ProcedureRouterRecord,
57
55
  Router,
58
56
  RouterCaller,
59
57
  createRouterFactory,