@trpc/server 11.0.0-next.324 → 11.0.0-next.325

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 (91) hide show
  1. package/adapters/next-app-dir/index.d.ts +1 -0
  2. package/adapters/next-app-dir/index.js +1 -0
  3. package/dist/adapters/aws-lambda/index.js +1 -0
  4. package/dist/adapters/aws-lambda/index.mjs +1 -0
  5. package/dist/adapters/aws-lambda/utils.js +1 -0
  6. package/dist/adapters/aws-lambda/utils.mjs +1 -0
  7. package/dist/adapters/fastify/fastifyRequestHandler.js +1 -0
  8. package/dist/adapters/fastify/fastifyRequestHandler.mjs +1 -0
  9. package/dist/adapters/fetch/fetchRequestHandler.js +1 -0
  10. package/dist/adapters/fetch/fetchRequestHandler.mjs +1 -0
  11. package/dist/adapters/next-app-dir/formDataToObject.d.ts +2 -0
  12. package/dist/adapters/next-app-dir/formDataToObject.d.ts.map +1 -0
  13. package/dist/adapters/next-app-dir/formDataToObject.js +34 -0
  14. package/dist/adapters/next-app-dir/formDataToObject.mjs +32 -0
  15. package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts +24 -0
  16. package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts.map +1 -0
  17. package/dist/adapters/next-app-dir/nextAppDirCaller.js +79 -0
  18. package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +77 -0
  19. package/dist/adapters/next-app-dir/notFound.d.ts +7 -0
  20. package/dist/adapters/next-app-dir/notFound.d.ts.map +1 -0
  21. package/dist/adapters/next-app-dir/notFound.js +16 -0
  22. package/dist/adapters/next-app-dir/notFound.mjs +14 -0
  23. package/dist/adapters/next-app-dir/redirect.d.ts +15 -0
  24. package/dist/adapters/next-app-dir/redirect.d.ts.map +1 -0
  25. package/dist/adapters/next-app-dir/redirect.js +28 -0
  26. package/dist/adapters/next-app-dir/redirect.mjs +25 -0
  27. package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts +6 -0
  28. package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts.map +1 -0
  29. package/dist/adapters/next-app-dir/rethrowNextErrors.js +23 -0
  30. package/dist/adapters/next-app-dir/rethrowNextErrors.mjs +21 -0
  31. package/dist/adapters/next-app-dir.d.ts +4 -0
  32. package/dist/adapters/next-app-dir.d.ts.map +1 -0
  33. package/dist/adapters/next-app-dir.js +11 -0
  34. package/dist/adapters/next-app-dir.mjs +3 -0
  35. package/dist/adapters/next.js +1 -0
  36. package/dist/adapters/next.mjs +1 -0
  37. package/dist/adapters/node-http/content-type/json/getPostBody.js +1 -0
  38. package/dist/adapters/node-http/content-type/json/getPostBody.mjs +1 -0
  39. package/dist/adapters/node-http/content-type/json/index.js +1 -0
  40. package/dist/adapters/node-http/content-type/json/index.mjs +1 -0
  41. package/dist/adapters/node-http/nodeHTTPRequestHandler.js +1 -0
  42. package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +1 -0
  43. package/dist/adapters/standalone.js +1 -0
  44. package/dist/adapters/standalone.mjs +1 -0
  45. package/dist/adapters/ws.js +1 -0
  46. package/dist/adapters/ws.mjs +1 -0
  47. package/dist/bundle-analysis.json +168 -84
  48. package/dist/http.js +1 -0
  49. package/dist/http.mjs +1 -0
  50. package/dist/index.js +1 -0
  51. package/dist/index.mjs +1 -0
  52. package/dist/rpc.js +1 -0
  53. package/dist/rpc.mjs +1 -0
  54. package/dist/shared.js +1 -0
  55. package/dist/shared.mjs +1 -0
  56. package/dist/unstable-core-do-not-import/clientish/inference.d.ts +3 -3
  57. package/dist/unstable-core-do-not-import/clientish/inference.d.ts.map +1 -1
  58. package/dist/unstable-core-do-not-import/error/getErrorShape.js +1 -0
  59. package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +1 -0
  60. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +1 -0
  61. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +1 -0
  62. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +1 -1
  63. package/dist/unstable-core-do-not-import/initTRPC.js +2 -4
  64. package/dist/unstable-core-do-not-import/initTRPC.mjs +2 -4
  65. package/dist/unstable-core-do-not-import/procedure.d.ts +8 -7
  66. package/dist/unstable-core-do-not-import/procedure.d.ts.map +1 -1
  67. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +9 -21
  68. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +1 -1
  69. package/dist/unstable-core-do-not-import/procedureBuilder.js +5 -6
  70. package/dist/unstable-core-do-not-import/procedureBuilder.mjs +6 -7
  71. package/dist/unstable-core-do-not-import/router.d.ts +3 -3
  72. package/dist/unstable-core-do-not-import/router.d.ts.map +1 -1
  73. package/dist/unstable-core-do-not-import/utils.d.ts +5 -0
  74. package/dist/unstable-core-do-not-import/utils.d.ts.map +1 -1
  75. package/dist/unstable-core-do-not-import/utils.js +9 -0
  76. package/dist/unstable-core-do-not-import/utils.mjs +9 -1
  77. package/dist/unstable-core-do-not-import.js +1 -0
  78. package/dist/unstable-core-do-not-import.mjs +1 -1
  79. package/package.json +8 -3
  80. package/src/adapters/next-app-dir/formDataToObject.ts +36 -0
  81. package/src/adapters/next-app-dir/nextAppDirCaller.ts +120 -0
  82. package/src/adapters/next-app-dir/notFound.ts +12 -0
  83. package/src/adapters/next-app-dir/redirect.ts +27 -0
  84. package/src/adapters/next-app-dir/rethrowNextErrors.ts +25 -0
  85. package/src/adapters/next-app-dir.ts +3 -0
  86. package/src/unstable-core-do-not-import/clientish/inference.ts +9 -5
  87. package/src/unstable-core-do-not-import/initTRPC.ts +2 -6
  88. package/src/unstable-core-do-not-import/procedure.ts +10 -17
  89. package/src/unstable-core-do-not-import/procedureBuilder.ts +34 -49
  90. package/src/unstable-core-do-not-import/router.ts +4 -3
  91. package/src/unstable-core-do-not-import/utils.ts +12 -0
@@ -1,5 +1,6 @@
1
1
  import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode.mjs';
2
2
  import { TRPC_ERROR_CODES_BY_KEY } from '../rpc/codes.mjs';
3
+ import '../utils.mjs';
3
4
 
4
5
  /**
5
6
  * @internal
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var codes = require('../rpc/codes.js');
4
+ require('../utils.js');
4
5
 
5
6
  const JSONRPC2_TO_HTTP_CODE = {
6
7
  PARSE_ERROR: 400,
@@ -1,4 +1,5 @@
1
1
  import { TRPC_ERROR_CODES_BY_NUMBER } from '../rpc/codes.mjs';
2
+ import '../utils.mjs';
2
3
 
3
4
  const JSONRPC2_TO_HTTP_CODE = {
4
5
  PARSE_ERROR: 400,
@@ -1 +1 @@
1
- {"version":3,"file":"initTRPC.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/initTRPC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initTRPC.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/initTRPC.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var createProxy = require('./createProxy.js');
4
3
  var formatter = require('./error/formatter.js');
5
4
  var middleware = require('./middleware.js');
6
5
  var procedureBuilder = require('./procedureBuilder.js');
7
6
  var rootConfig = require('./rootConfig.js');
8
7
  var router = require('./router.js');
9
8
  var transformer = require('./transformer.js');
9
+ var utils = require('./utils.js');
10
10
 
11
11
  class TRPCBuilder {
12
12
  /**
@@ -35,9 +35,7 @@ class TRPCBuilder {
35
35
  /**
36
36
  * These are just types, they can't be used at runtime
37
37
  * @internal
38
- */ $types: createProxy.createFlatProxy((key)=>{
39
- throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
40
- })
38
+ */ $types: utils.$typesProxy
41
39
  };
42
40
  {
43
41
  // Server check
@@ -1,10 +1,10 @@
1
- import { createFlatProxy } from './createProxy.mjs';
2
1
  import { defaultFormatter } from './error/formatter.mjs';
3
2
  import { createMiddlewareFactory } from './middleware.mjs';
4
3
  import { createBuilder } from './procedureBuilder.mjs';
5
4
  import { isServerDefault } from './rootConfig.mjs';
6
5
  import { createRouterFactory, mergeRouters, createCallerFactory } from './router.mjs';
7
6
  import { getDataTransformer, defaultTransformer } from './transformer.mjs';
7
+ import { $typesProxy } from './utils.mjs';
8
8
 
9
9
  class TRPCBuilder {
10
10
  /**
@@ -33,9 +33,7 @@ class TRPCBuilder {
33
33
  /**
34
34
  * These are just types, they can't be used at runtime
35
35
  * @internal
36
- */ $types: createFlatProxy((key)=>{
37
- throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
38
- })
36
+ */ $types: $typesProxy
39
37
  };
40
38
  {
41
39
  // Server check
@@ -19,7 +19,6 @@ export interface ProcedureOptions {
19
19
  interface BuiltProcedureDef {
20
20
  input: unknown;
21
21
  output: unknown;
22
- experimental_caller?: true;
23
22
  }
24
23
  /**
25
24
  *
@@ -27,8 +26,10 @@ interface BuiltProcedureDef {
27
26
  */
28
27
  export interface Procedure<TType extends ProcedureType, TDef extends BuiltProcedureDef> {
29
28
  _def: {
30
- _input_in: TDef['input'];
31
- _output_out: TDef['output'];
29
+ $types: {
30
+ input: TDef['input'];
31
+ output: TDef['output'];
32
+ };
32
33
  procedure: true;
33
34
  type: TType;
34
35
  /**
@@ -36,12 +37,12 @@ export interface Procedure<TType extends ProcedureType, TDef extends BuiltProced
36
37
  * Meta is not inferrable on individual procedures, only on the router
37
38
  */
38
39
  meta: unknown;
39
- experimental_caller: TDef['experimental_caller'] extends true ? true : false;
40
+ experimental_caller: boolean;
40
41
  };
41
42
  /**
42
43
  * @internal
43
44
  */
44
- (opts: TDef['experimental_caller'] extends true ? TDef['input'] : ProcedureCallOptions): Promise<TDef['experimental_caller'] extends true ? TDef['output'] : unknown>;
45
+ (opts: ProcedureCallOptions<unknown>): Promise<TDef['output']>;
45
46
  }
46
47
  export interface QueryProcedure<TDef extends BuiltProcedureDef> extends Procedure<'query', TDef> {
47
48
  }
@@ -53,9 +54,9 @@ export type AnyQueryProcedure = QueryProcedure<any>;
53
54
  export type AnyMutationProcedure = MutationProcedure<any>;
54
55
  export type AnySubscriptionProcedure = SubscriptionProcedure<any>;
55
56
  export type AnyProcedure = Procedure<ProcedureType, any>;
56
- export type inferProcedureInput<TProcedure extends AnyProcedure> = undefined extends inferProcedureParams<TProcedure>['_input_in'] ? void | inferProcedureParams<TProcedure>['_input_in'] : inferProcedureParams<TProcedure>['_input_in'];
57
+ export type inferProcedureInput<TProcedure extends AnyProcedure> = undefined extends inferProcedureParams<TProcedure>['$types']['input'] ? void | inferProcedureParams<TProcedure>['$types']['input'] : inferProcedureParams<TProcedure>['$types']['input'];
57
58
  export type inferProcedureParams<TProcedure> = TProcedure extends AnyProcedure ? TProcedure['_def'] : never;
58
- export type inferProcedureOutput<TProcedure> = inferProcedureParams<TProcedure>['_output_out'];
59
+ export type inferProcedureOutput<TProcedure> = inferProcedureParams<TProcedure>['$types']['output'];
59
60
  /**
60
61
  * @internal
61
62
  */
@@ -1 +1 @@
1
- {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/procedure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/procedure.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ type IntersectIfDefined<TType, TWith> = TType extends UnsetMarker ? TWith : TWit
8
8
  export declare const unsetMarker: unique symbol;
9
9
  type UnsetMarker = typeof unsetMarker;
10
10
  type DefaultValue<TValue, TFallback> = TValue extends UnsetMarker ? TFallback : TValue;
11
- export type CallerOverride = (opts: {
11
+ export type CallerOverride<TContext> = (opts: {
12
12
  args: unknown[];
13
- invoke: (opts: ProcedureCallOptions) => Promise<unknown>;
13
+ invoke: (opts: ProcedureCallOptions<TContext>) => Promise<unknown>;
14
14
  _def: AnyProcedure['_def'];
15
15
  }) => Promise<unknown>;
16
16
  type ProcedureBuilderDef<TMeta> = {
@@ -33,7 +33,7 @@ type ProcedureBuilderDef<TMeta> = {
33
33
  */
34
34
  subscription?: boolean;
35
35
  type?: ProcedureType;
36
- caller?: CallerOverride;
36
+ caller?: CallerOverride<unknown>;
37
37
  };
38
38
  type AnyProcedureBuilderDef = ProcedureBuilderDef<any>;
39
39
  /**
@@ -88,11 +88,7 @@ export interface ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn,
88
88
  * Query procedure
89
89
  * @link https://trpc.io/docs/v11/concepts#vocabulary
90
90
  */
91
- query<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): QueryProcedure<TCaller extends true ? {
92
- experimental_caller: true;
93
- input: DefaultValue<TInputIn, void>;
94
- output: DefaultValue<TOutputOut, $Output>;
95
- } : {
91
+ query<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): TCaller extends true ? (input: DefaultValue<TInputIn, void>) => Promise<DefaultValue<TOutputOut, $Output>> : QueryProcedure<{
96
92
  input: DefaultValue<TInputIn, void>;
97
93
  output: DefaultValue<TOutputOut, $Output>;
98
94
  }>;
@@ -100,11 +96,7 @@ export interface ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn,
100
96
  * Mutation procedure
101
97
  * @link https://trpc.io/docs/v11/concepts#vocabulary
102
98
  */
103
- mutation<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): MutationProcedure<TCaller extends true ? {
104
- experimental_caller: true;
105
- input: DefaultValue<TInputIn, void>;
106
- output: DefaultValue<TOutputOut, $Output>;
107
- } : {
99
+ mutation<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): TCaller extends true ? (input: DefaultValue<TInputIn, void>) => Promise<DefaultValue<TOutputOut, $Output>> : MutationProcedure<{
108
100
  input: DefaultValue<TInputIn, void>;
109
101
  output: DefaultValue<TOutputOut, $Output>;
110
102
  }>;
@@ -112,11 +104,7 @@ export interface ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn,
112
104
  * Subscription procedure
113
105
  * @link https://trpc.io/docs/v11/concepts#vocabulary
114
106
  */
115
- subscription<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): SubscriptionProcedure<TCaller extends true ? {
116
- experimental_caller: true;
117
- input: DefaultValue<TInputIn, void>;
118
- output: DefaultValue<TOutputOut, inferObservableValue<$Output>>;
119
- } : {
107
+ subscription<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): TCaller extends true ? TypeError<'Not implemented'> : SubscriptionProcedure<{
120
108
  input: DefaultValue<TInputIn, void>;
121
109
  output: DefaultValue<TOutputOut, inferObservableValue<$Output>>;
122
110
  }>;
@@ -124,7 +112,7 @@ export interface ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn,
124
112
  * Overrides the way a procedure is invoked
125
113
  * Do not use this unless you know what you're doing - this is an experimental API
126
114
  */
127
- experimental_caller(caller: CallerOverride): ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, true>;
115
+ experimental_caller(caller: CallerOverride<TContext>): ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, true>;
128
116
  /**
129
117
  * @internal
130
118
  */
@@ -135,8 +123,8 @@ export declare function createBuilder<TContext, TMeta>(initDef?: Partial<AnyProc
135
123
  /**
136
124
  * @internal
137
125
  */
138
- export interface ProcedureCallOptions {
139
- ctx: unknown;
126
+ export interface ProcedureCallOptions<TContext> {
127
+ ctx: TContext;
140
128
  getRawInput: GetRawInputFn;
141
129
  input?: unknown;
142
130
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/procedureBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/procedureBuilder.ts"],"names":[],"mappings":"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"}
@@ -115,18 +115,17 @@ function createResolver(_defIn, resolver) {
115
115
  const _def = {
116
116
  ...finalBuilder._def,
117
117
  type: _defIn.type,
118
- experimental_caller: finalBuilder._def.caller ? true : false,
119
- _input_in: null,
120
- _output_out: null,
121
- meta: finalBuilder._def.meta
118
+ experimental_caller: Boolean(finalBuilder._def.caller),
119
+ meta: finalBuilder._def.meta,
120
+ $types: utils.$typesProxy
122
121
  };
123
122
  const invoke = createProcedureCaller(finalBuilder._def);
124
123
  const callerOverride = finalBuilder._def.caller;
125
124
  if (!callerOverride) {
126
125
  return invoke;
127
126
  }
128
- const callerWrapper = (...args)=>{
129
- return callerOverride({
127
+ const callerWrapper = async (...args)=>{
128
+ return await callerOverride({
130
129
  args,
131
130
  invoke,
132
131
  _def: _def
@@ -1,7 +1,7 @@
1
1
  import { TRPCError, getTRPCErrorFromUnknown } from './error/TRPCError.mjs';
2
2
  import { createInputMiddleware, createOutputMiddleware, middlewareMarker } from './middleware.mjs';
3
3
  import { getParseFn } from './parser.mjs';
4
- import { mergeWithoutOverrides } from './utils.mjs';
4
+ import { $typesProxy, mergeWithoutOverrides } from './utils.mjs';
5
5
 
6
6
  /** @internal */ const unsetMarker = Symbol('unsetMarker');
7
7
  function createNewBuilder(def1, def2) {
@@ -113,18 +113,17 @@ function createResolver(_defIn, resolver) {
113
113
  const _def = {
114
114
  ...finalBuilder._def,
115
115
  type: _defIn.type,
116
- experimental_caller: finalBuilder._def.caller ? true : false,
117
- _input_in: null,
118
- _output_out: null,
119
- meta: finalBuilder._def.meta
116
+ experimental_caller: Boolean(finalBuilder._def.caller),
117
+ meta: finalBuilder._def.meta,
118
+ $types: $typesProxy
120
119
  };
121
120
  const invoke = createProcedureCaller(finalBuilder._def);
122
121
  const callerOverride = finalBuilder._def.caller;
123
122
  if (!callerOverride) {
124
123
  return invoke;
125
124
  }
126
- const callerWrapper = (...args)=>{
127
- return callerOverride({
125
+ const callerWrapper = async (...args)=>{
126
+ return await callerOverride({
128
127
  args,
129
128
  invoke,
130
129
  _def: _def
@@ -1,13 +1,13 @@
1
1
  import type { Observable } from '../observable';
2
2
  import { TRPCError } from './error/TRPCError';
3
- import type { AnyProcedure, ErrorHandlerOptions, inferProcedureInput } from './procedure';
3
+ import type { AnyProcedure, ErrorHandlerOptions, inferProcedureInput, inferProcedureOutput } from './procedure';
4
4
  import type { ProcedureCallOptions } from './procedureBuilder';
5
5
  import type { AnyRootTypes, RootConfig } from './rootConfig';
6
6
  import type { MaybePromise } from './types';
7
7
  export interface RouterRecord {
8
8
  [key: string]: AnyProcedure | RouterRecord;
9
9
  }
10
- type DecorateProcedure<TProcedure extends AnyProcedure> = (input: inferProcedureInput<TProcedure>) => Promise<TProcedure['_def']['type'] extends 'subscription' ? Observable<TProcedure['_def']['_output_out'], TRPCError> : TProcedure['_def']['_output_out']>;
10
+ type DecorateProcedure<TProcedure extends AnyProcedure> = (input: inferProcedureInput<TProcedure>) => Promise<TProcedure['_def']['type'] extends 'subscription' ? Observable<inferProcedureOutput<TProcedure>, TRPCError> : inferProcedureOutput<TProcedure>>;
11
11
  /**
12
12
  * @internal
13
13
  */
@@ -66,7 +66,7 @@ export declare function createRouterFactory<TRoot extends AnyRootTypes>(config:
66
66
  /**
67
67
  * @internal
68
68
  */
69
- export declare function callProcedure(opts: ProcedureCallOptions & {
69
+ export declare function callProcedure(opts: ProcedureCallOptions<unknown> & {
70
70
  procedures: RouterRecord;
71
71
  allowMethodOverride?: boolean;
72
72
  }): Promise<any>;
@@ -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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"}
@@ -15,5 +15,10 @@ export declare function isFunction(fn: unknown): fn is AnyFn;
15
15
  * @internal
16
16
  */
17
17
  export declare function omitPrototype<TObj extends Record<string, unknown>>(obj: TObj): TObj;
18
+ /**
19
+ * Prevents access to `$types` at runtime
20
+ * @internal
21
+ */
22
+ export declare const $typesProxy: any;
18
23
  export {};
19
24
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GACxB,KAAK,CAYP;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;AACzC,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,KAAK,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,GAAG,EAAE,IAAI,GACR,IAAI,CAEN"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GACxB,KAAK,CAYP;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;AACzC,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,KAAK,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,GAAG,EAAE,IAAI,GACR,IAAI,CAEN;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,KAItB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var createProxy = require('./createProxy.js');
4
+
3
5
  /**
4
6
  * Ensures there are no duplicate keys when building a procedure.
5
7
  * @internal
@@ -30,7 +32,14 @@ function isFunction(fn) {
30
32
  */ function omitPrototype(obj) {
31
33
  return Object.assign(Object.create(null), obj);
32
34
  }
35
+ /**
36
+ * Prevents access to `$types` at runtime
37
+ * @internal
38
+ */ const $typesProxy = createProxy.createFlatProxy((key)=>{
39
+ throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
40
+ });
33
41
 
42
+ exports.$typesProxy = $typesProxy;
34
43
  exports.isFunction = isFunction;
35
44
  exports.isObject = isObject;
36
45
  exports.mergeWithoutOverrides = mergeWithoutOverrides;
@@ -1,3 +1,5 @@
1
+ import { createFlatProxy } from './createProxy.mjs';
2
+
1
3
  /**
2
4
  * Ensures there are no duplicate keys when building a procedure.
3
5
  * @internal
@@ -28,5 +30,11 @@ function isFunction(fn) {
28
30
  */ function omitPrototype(obj) {
29
31
  return Object.assign(Object.create(null), obj);
30
32
  }
33
+ /**
34
+ * Prevents access to `$types` at runtime
35
+ * @internal
36
+ */ const $typesProxy = createFlatProxy((key)=>{
37
+ throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
38
+ });
31
39
 
32
- export { isFunction, isObject, mergeWithoutOverrides, omitPrototype };
40
+ export { $typesProxy, isFunction, isObject, mergeWithoutOverrides, omitPrototype };
@@ -60,6 +60,7 @@ exports.getDataTransformer = transformer.getDataTransformer;
60
60
  exports.transformResult = transformer.transformResult;
61
61
  exports.transformTRPCResponse = transformer.transformTRPCResponse;
62
62
  exports.ERROR_SYMBOL = types.ERROR_SYMBOL;
63
+ exports.$typesProxy = utils.$typesProxy;
63
64
  exports.isFunction = utils.isFunction;
64
65
  exports.isObject = utils.isObject;
65
66
  exports.mergeWithoutOverrides = utils.mergeWithoutOverrides;
@@ -18,4 +18,4 @@ export { TRPC_ERROR_CODES_BY_KEY, TRPC_ERROR_CODES_BY_NUMBER } from './unstable-
18
18
  export { parseTRPCMessage } from './unstable-core-do-not-import/rpc/parseTRPCMessage.mjs';
19
19
  export { defaultTransformer, getDataTransformer, transformResult, transformTRPCResponse } from './unstable-core-do-not-import/transformer.mjs';
20
20
  export { ERROR_SYMBOL } from './unstable-core-do-not-import/types.mjs';
21
- export { isFunction, isObject, mergeWithoutOverrides, omitPrototype } from './unstable-core-do-not-import/utils.mjs';
21
+ export { $typesProxy, isFunction, isObject, mergeWithoutOverrides, omitPrototype } from './unstable-core-do-not-import/utils.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "11.0.0-next.324+d8186919f",
3
+ "version": "11.0.0-next.325+f1170b720",
4
4
  "description": "The tRPC server library",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -48,6 +48,11 @@
48
48
  "require": "./dist/adapters/fetch/index.js",
49
49
  "default": "./dist/adapters/fetch/index.js"
50
50
  },
51
+ "./adapters/next-app-dir": {
52
+ "import": "./dist/adapters/next-app-dir.mjs",
53
+ "require": "./dist/adapters/next-app-dir.js",
54
+ "default": "./dist/adapters/next-app-dir.js"
55
+ },
51
56
  "./adapters/next": {
52
57
  "import": "./dist/adapters/next.mjs",
53
58
  "require": "./dist/adapters/next.js",
@@ -139,7 +144,7 @@
139
144
  "fastify-plugin": "^4.5.0",
140
145
  "hash-sum": "^2.0.0",
141
146
  "myzod": "^1.3.1",
142
- "next": "^14.0.1",
147
+ "next": "^14.1.4",
143
148
  "react": "^18.2.0",
144
149
  "react-dom": "^18.2.0",
145
150
  "rollup": "^4.9.5",
@@ -156,5 +161,5 @@
156
161
  "funding": [
157
162
  "https://trpc.io/sponsor"
158
163
  ],
159
- "gitHead": "d8186919fd8e914d272dba92dd8310d3dfc1c095"
164
+ "gitHead": "f1170b720166af7de6180f5adf856f73c30835bc"
160
165
  }
@@ -0,0 +1,36 @@
1
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
+ function set(
3
+ obj: Record<string, any>,
4
+ path: string[] | string,
5
+ value: unknown,
6
+ ): void {
7
+ if (typeof path === 'string') {
8
+ path = path.split(/[\.\[\]]/).filter(Boolean);
9
+ }
10
+
11
+ if (path.length > 1) {
12
+ const p = path.shift()!;
13
+ const isArrayIndex = /^\d+$/.test(path[0]!);
14
+ obj[p] = obj[p] || (isArrayIndex ? [] : {});
15
+ set(obj[p], path, value);
16
+ return;
17
+ }
18
+ const p = path[0]!;
19
+ if (obj[p] === undefined) {
20
+ obj[p] = value;
21
+ } else if (Array.isArray(obj[p])) {
22
+ obj[p].push(value);
23
+ } else {
24
+ obj[p] = [obj[p], value];
25
+ }
26
+ }
27
+
28
+ export function formDataToObject(formData: FormData) {
29
+ const obj: Record<string, unknown> = {};
30
+
31
+ for (const [key, value] of formData.entries()) {
32
+ set(obj, key, value);
33
+ }
34
+
35
+ return obj;
36
+ }
@@ -0,0 +1,120 @@
1
+ import { getTRPCErrorFromUnknown, TRPCError } from '../../@trpc/server';
2
+ // FIXME: fix lint rule, this is ok
3
+ // eslint-disable-next-line no-restricted-imports
4
+ import type { ErrorHandlerOptions } from '../../unstable-core-do-not-import/procedure';
5
+ // FIXME: fix lint rule, this is ok
6
+ // eslint-disable-next-line no-restricted-imports
7
+ import type { CallerOverride } from '../../unstable-core-do-not-import/procedureBuilder';
8
+ // FIXME: fix lint rule, this is ok
9
+ // eslint-disable-next-line no-restricted-imports
10
+ import type {
11
+ MaybePromise,
12
+ Simplify,
13
+ } from '../../unstable-core-do-not-import/types';
14
+ import { formDataToObject } from './formDataToObject';
15
+ import { rethrowNextErrors } from './rethrowNextErrors';
16
+
17
+ type ContextCallback<TContext> = object extends TContext
18
+ ? {
19
+ createContext?: () => MaybePromise<TContext>;
20
+ }
21
+ : {
22
+ createContext: () => MaybePromise<TContext>;
23
+ };
24
+
25
+ /**
26
+ * Create a caller that works with Next.js React Server Components & Server Actions
27
+ */
28
+ export function nextAppDirCaller<TContext>(
29
+ config: Simplify<
30
+ {
31
+ /**
32
+ * Transform form data to a `Record` before passing it to the procedure
33
+ * @default true
34
+ */
35
+ normalizeFormData?: boolean;
36
+ /**
37
+ * Called when an error occurs in the handler
38
+ */
39
+ onError?: (opts: ErrorHandlerOptions<TContext>) => void;
40
+ } & ContextCallback<TContext>
41
+ >,
42
+ ): CallerOverride<TContext> {
43
+ const {
44
+ normalizeFormData = true,
45
+
46
+ // rethrowNextErrors = true
47
+ } = config;
48
+ const createContext = async (): Promise<TContext> => {
49
+ return config?.createContext?.() ?? ({} as TContext);
50
+ };
51
+ return async (opts) => {
52
+ const ctx: TContext = await createContext().catch((cause) => {
53
+ const error = new TRPCError({
54
+ code: 'INTERNAL_SERVER_ERROR',
55
+ message: 'Failed to create context',
56
+ cause,
57
+ });
58
+
59
+ throw error;
60
+ });
61
+
62
+ const handleError = (cause: unknown) => {
63
+ const error = getTRPCErrorFromUnknown(cause);
64
+
65
+ config.onError?.({
66
+ ctx,
67
+ error,
68
+ input: opts.args[0],
69
+ path: '',
70
+ type: opts._def.type,
71
+ });
72
+
73
+ rethrowNextErrors(error);
74
+
75
+ throw error;
76
+ };
77
+ switch (opts._def.type) {
78
+ case 'mutation': {
79
+ /**
80
+ * When you wrap an action with useFormState, it gets an extra argument as its first argument.
81
+ * The submitted form data is therefore its second argument instead of its first as it would usually be.
82
+ * The new first argument that gets added is the current state of the form.
83
+ * @see https://react.dev/reference/react-dom/hooks/useFormState#my-action-can-no-longer-read-the-submitted-form-data
84
+ */
85
+ let input = opts.args.length === 1 ? opts.args[0] : opts.args[1];
86
+ if (normalizeFormData && input instanceof FormData) {
87
+ input = formDataToObject(input);
88
+ }
89
+
90
+ return await opts
91
+ .invoke({
92
+ type: opts._def.type,
93
+ ctx,
94
+ getRawInput: async () => input,
95
+ path: '',
96
+ input,
97
+ })
98
+ .catch(handleError);
99
+ }
100
+ case 'query': {
101
+ const input = opts.args[0];
102
+ return await opts
103
+ .invoke({
104
+ type: opts._def.type,
105
+ ctx,
106
+ getRawInput: async () => input,
107
+ path: '',
108
+ input,
109
+ })
110
+ .catch(handleError);
111
+ }
112
+ default: {
113
+ throw new TRPCError({
114
+ code: 'NOT_IMPLEMENTED',
115
+ message: `Not implemented for type ${opts._def.type}`,
116
+ });
117
+ }
118
+ }
119
+ };
120
+ }