@trpc/server 11.18.1-canary.9 → 11.19.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.
Files changed (182) hide show
  1. package/dist/adapters/aws-lambda/index.cjs +16 -26
  2. package/dist/adapters/aws-lambda/index.d.cts +6 -16
  3. package/dist/adapters/aws-lambda/index.d.cts.map +1 -1
  4. package/dist/adapters/aws-lambda/index.d.mts +6 -16
  5. package/dist/adapters/aws-lambda/index.d.mts.map +1 -1
  6. package/dist/adapters/aws-lambda/index.mjs +13 -23
  7. package/dist/adapters/aws-lambda/index.mjs.map +1 -1
  8. package/dist/adapters/express.cjs +7 -16
  9. package/dist/adapters/express.d.cts +4 -11
  10. package/dist/adapters/express.d.cts.map +1 -1
  11. package/dist/adapters/express.d.mts +4 -11
  12. package/dist/adapters/express.d.mts.map +1 -1
  13. package/dist/adapters/express.mjs +6 -15
  14. package/dist/adapters/express.mjs.map +1 -1
  15. package/dist/adapters/fastify/index.cjs +11 -24
  16. package/dist/adapters/fastify/index.d.cts +7 -14
  17. package/dist/adapters/fastify/index.d.cts.map +1 -1
  18. package/dist/adapters/fastify/index.d.mts +7 -14
  19. package/dist/adapters/fastify/index.d.mts.map +1 -1
  20. package/dist/adapters/fastify/index.mjs +10 -23
  21. package/dist/adapters/fastify/index.mjs.map +1 -1
  22. package/dist/adapters/fetch/index.cjs +7 -12
  23. package/dist/adapters/fetch/index.d.cts +7 -15
  24. package/dist/adapters/fetch/index.d.cts.map +1 -1
  25. package/dist/adapters/fetch/index.d.mts +7 -15
  26. package/dist/adapters/fetch/index.d.mts.map +1 -1
  27. package/dist/adapters/fetch/index.mjs +6 -11
  28. package/dist/adapters/fetch/index.mjs.map +1 -1
  29. package/dist/adapters/next-app-dir.cjs +13 -3145
  30. package/dist/adapters/next-app-dir.d.cts +3 -12
  31. package/dist/adapters/next-app-dir.d.cts.map +1 -1
  32. package/dist/adapters/next-app-dir.d.mts +3 -12
  33. package/dist/adapters/next-app-dir.d.mts.map +1 -1
  34. package/dist/adapters/next-app-dir.mjs +31 -3165
  35. package/dist/adapters/next-app-dir.mjs.map +1 -1
  36. package/dist/adapters/next.cjs +8 -16
  37. package/dist/adapters/next.d.cts +5 -15
  38. package/dist/adapters/next.d.cts.map +1 -1
  39. package/dist/adapters/next.d.mts +5 -15
  40. package/dist/adapters/next.d.mts.map +1 -1
  41. package/dist/adapters/next.mjs +7 -15
  42. package/dist/adapters/next.mjs.map +1 -1
  43. package/dist/adapters/node-http/index.cjs +3 -12
  44. package/dist/adapters/node-http/index.d.cts +1 -4
  45. package/dist/adapters/node-http/index.d.mts +1 -4
  46. package/dist/adapters/node-http/index.mjs +2 -12
  47. package/dist/adapters/standalone.cjs +21 -21
  48. package/dist/adapters/standalone.d.cts +9 -14
  49. package/dist/adapters/standalone.d.cts.map +1 -1
  50. package/dist/adapters/standalone.d.mts +9 -14
  51. package/dist/adapters/standalone.d.mts.map +1 -1
  52. package/dist/adapters/standalone.mjs +17 -19
  53. package/dist/adapters/standalone.mjs.map +1 -1
  54. package/dist/adapters/ws.cjs +3 -15
  55. package/dist/adapters/ws.d.cts +12 -17
  56. package/dist/adapters/ws.d.cts.map +1 -1
  57. package/dist/adapters/ws.d.mts +12 -17
  58. package/dist/adapters/ws.d.mts.map +1 -1
  59. package/dist/adapters/ws.mjs +2 -15
  60. package/dist/{codes-BfZsPdy-.cjs → codes-C6ZIq69A.cjs} +78 -74
  61. package/dist/{codes-DagpWZLc.mjs → codes-D5Ya6_Bi.mjs} +10 -4
  62. package/dist/codes-D5Ya6_Bi.mjs.map +1 -0
  63. package/dist/{contentTypeParsers-iAFF_pJG.cjs → contentTypeParsers-DUzXRHT1.cjs} +6 -8
  64. package/dist/{contentTypeParsers-SN4WL9ze.mjs → contentTypeParsers-KFMy_fwz.mjs} +3 -3
  65. package/dist/contentTypeParsers-KFMy_fwz.mjs.map +1 -0
  66. package/dist/getErrorShape-B0JBUs-i.mjs +209 -0
  67. package/dist/getErrorShape-B0JBUs-i.mjs.map +1 -0
  68. package/dist/getErrorShape-DeIapApr.cjs +272 -0
  69. package/dist/http.cjs +5 -9
  70. package/dist/http.d.cts +2 -3
  71. package/dist/http.d.mts +2 -3
  72. package/dist/http.mjs +4 -9
  73. package/dist/{index.d-DhhodpGb.d.mts → index-BHatz_Pu.d.cts} +3 -8
  74. package/dist/index-BHatz_Pu.d.cts.map +1 -0
  75. package/dist/{index.d-BiUz7kM_.d.cts → index-BMimGNYb.d.cts} +2 -5
  76. package/dist/index-BMimGNYb.d.cts.map +1 -0
  77. package/dist/{index.d-D4qZxQJh.d.mts → index-BMimGNYb.d.mts} +2 -5
  78. package/dist/index-BMimGNYb.d.mts.map +1 -0
  79. package/dist/{index.d-fBAdSX6g.d.cts → index-_jAhoJQ7.d.mts} +3 -8
  80. package/dist/index-_jAhoJQ7.d.mts.map +1 -0
  81. package/dist/index.cjs +5 -6
  82. package/dist/index.d.cts +10 -4
  83. package/dist/index.d.cts.map +1 -0
  84. package/dist/index.d.mts +10 -4
  85. package/dist/index.d.mts.map +1 -0
  86. package/dist/index.mjs +4 -6
  87. package/dist/{initTRPC-BRf4imah.mjs → initTRPC-B259os3T.mjs} +85 -83
  88. package/dist/initTRPC-B259os3T.mjs.map +1 -0
  89. package/dist/{initTRPC-_cqIfGlH.cjs → initTRPC-B7UdX-c3.cjs} +133 -132
  90. package/dist/{node-http-n0vBVXjb.mjs → node-http-BUlb5EdB.mjs} +29 -26
  91. package/dist/node-http-BUlb5EdB.mjs.map +1 -0
  92. package/dist/{node-http-CSXWJkwC.cjs → node-http-CikCqjt6.cjs} +48 -46
  93. package/dist/observable/index.cjs +4 -4
  94. package/dist/observable/index.d.cts +2 -2
  95. package/dist/observable/index.d.mts +2 -2
  96. package/dist/observable/index.mjs +3 -4
  97. package/dist/{observable-B1Nk6r1H.cjs → observable-CIyO2eSm.cjs} +28 -32
  98. package/dist/{observable-CUiPknO-.mjs → observable-CSprJVOf.mjs} +6 -10
  99. package/dist/observable-CSprJVOf.mjs.map +1 -0
  100. package/dist/{observable-BVzLuBs6.cjs → observable-D8mqXlHG.cjs} +34 -39
  101. package/dist/{observable-UMO3vUa_.mjs → observable-DwUFSuKv.mjs} +10 -12
  102. package/dist/observable-DwUFSuKv.mjs.map +1 -0
  103. package/dist/{parseTRPCMessage-D1ZZaDox.cjs → parseTRPCMessage-BxAIUx49.cjs} +13 -17
  104. package/dist/{parseTRPCMessage-CPM1-44n.mjs → parseTRPCMessage-MJWDg1vX.mjs} +5 -8
  105. package/dist/parseTRPCMessage-MJWDg1vX.mjs.map +1 -0
  106. package/dist/{resolveResponse-Djb7nJqb.cjs → resolveResponse-DLpzHrPG.cjs} +505 -583
  107. package/dist/{resolveResponse-C7cFScHo.mjs → resolveResponse-JtMyT9TQ.mjs} +412 -489
  108. package/dist/resolveResponse-JtMyT9TQ.mjs.map +1 -0
  109. package/dist/rolldown-runtime-VH7oDXx4.cjs +28 -0
  110. package/dist/rpc.cjs +4 -4
  111. package/dist/rpc.d.cts +2 -3
  112. package/dist/rpc.d.mts +2 -3
  113. package/dist/rpc.mjs +3 -4
  114. package/dist/shared.cjs +3 -4
  115. package/dist/shared.d.cts +2 -4
  116. package/dist/shared.d.mts +2 -4
  117. package/dist/shared.mjs +2 -4
  118. package/dist/{tracked-DFxm8M2u.cjs → tracked-BQJb0ANk.cjs} +125 -142
  119. package/dist/{tracked-DWInO6EQ.mjs → tracked-D4jU_Hb3.mjs} +42 -58
  120. package/dist/tracked-D4jU_Hb3.mjs.map +1 -0
  121. package/dist/{unstable-core-do-not-import.d-BdVSvUCr.d.mts → unstable-core-do-not-import-B9ZnrQAU.d.cts} +37 -69
  122. package/dist/unstable-core-do-not-import-B9ZnrQAU.d.cts.map +1 -0
  123. package/dist/{unstable-core-do-not-import.d-Dh9CT5RO.d.cts → unstable-core-do-not-import-BK_OKrtM.d.mts} +37 -69
  124. package/dist/unstable-core-do-not-import-BK_OKrtM.d.mts.map +1 -0
  125. package/dist/unstable-core-do-not-import.cjs +33 -12
  126. package/dist/unstable-core-do-not-import.d.cts +2 -3
  127. package/dist/unstable-core-do-not-import.d.mts +2 -3
  128. package/dist/unstable-core-do-not-import.mjs +32 -10
  129. package/dist/unstable-core-do-not-import.mjs.map +1 -0
  130. package/dist/{ws-DCe9kEo_.cjs → ws-BMSSVFiW.cjs} +59 -65
  131. package/dist/{ws-Bme8aJNK.mjs → ws-C7ZOJJeA.mjs} +41 -46
  132. package/dist/ws-C7ZOJJeA.mjs.map +1 -0
  133. package/package.json +13 -13
  134. package/src/adapters/aws-lambda/getPlanner.ts +1 -2
  135. package/src/adapters/aws-lambda/index.ts +1 -2
  136. package/src/adapters/ws.ts +3 -2
  137. package/src/adapters/wsEncoder.ts +1 -1
  138. package/src/observable/behaviorSubject.ts +4 -2
  139. package/src/observable/types.ts +4 -2
  140. package/src/unstable-core-do-not-import/clientish/inferrable.ts +1 -4
  141. package/src/unstable-core-do-not-import/http/contentType.ts +1 -1
  142. package/src/unstable-core-do-not-import/http/resolveResponse.ts +4 -9
  143. package/src/unstable-core-do-not-import/http/types.ts +8 -4
  144. package/src/unstable-core-do-not-import/initTRPC.ts +10 -10
  145. package/src/unstable-core-do-not-import/middleware.ts +3 -2
  146. package/src/unstable-core-do-not-import/procedure.ts +11 -11
  147. package/src/unstable-core-do-not-import/router.ts +4 -5
  148. package/src/unstable-core-do-not-import/rpc/envelopes.ts +33 -34
  149. package/src/unstable-core-do-not-import/stream/jsonl.ts +1 -2
  150. package/src/unstable-core-do-not-import/stream/sse.ts +18 -12
  151. package/src/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.ts +5 -2
  152. package/src/unstable-core-do-not-import/stream/utils/withPing.ts +1 -3
  153. package/src/unstable-core-do-not-import/transformer.ts +1 -4
  154. package/src/unstable-core-do-not-import/types.ts +9 -10
  155. package/dist/codes-DagpWZLc.mjs.map +0 -1
  156. package/dist/contentTypeParsers-SN4WL9ze.mjs.map +0 -1
  157. package/dist/getErrorShape-BPSzUA7W.mjs +0 -269
  158. package/dist/getErrorShape-BPSzUA7W.mjs.map +0 -1
  159. package/dist/getErrorShape-Ed1OwssN.cjs +0 -345
  160. package/dist/http-CWyjOa1l.mjs +0 -0
  161. package/dist/http-DXy3XyhL.cjs +0 -0
  162. package/dist/index.d-BiUz7kM_.d.cts.map +0 -1
  163. package/dist/index.d-CvZXeEyR.d.cts +0 -11
  164. package/dist/index.d-CvZXeEyR.d.cts.map +0 -1
  165. package/dist/index.d-D4qZxQJh.d.mts.map +0 -1
  166. package/dist/index.d-DhhodpGb.d.mts.map +0 -1
  167. package/dist/index.d-fBAdSX6g.d.cts.map +0 -1
  168. package/dist/index.d-vq_QHko2.d.mts +0 -11
  169. package/dist/index.d-vq_QHko2.d.mts.map +0 -1
  170. package/dist/initTRPC-BRf4imah.mjs.map +0 -1
  171. package/dist/node-http-n0vBVXjb.mjs.map +0 -1
  172. package/dist/observable-CUiPknO-.mjs.map +0 -1
  173. package/dist/observable-UMO3vUa_.mjs.map +0 -1
  174. package/dist/parseTRPCMessage-CPM1-44n.mjs.map +0 -1
  175. package/dist/resolveResponse-C7cFScHo.mjs.map +0 -1
  176. package/dist/tracked-DWInO6EQ.mjs.map +0 -1
  177. package/dist/unstable-core-do-not-import-9NNw8uQM.mjs +0 -31
  178. package/dist/unstable-core-do-not-import-9NNw8uQM.mjs.map +0 -1
  179. package/dist/unstable-core-do-not-import-fsjhEhgh.cjs +0 -35
  180. package/dist/unstable-core-do-not-import.d-BdVSvUCr.d.mts.map +0 -1
  181. package/dist/unstable-core-do-not-import.d-Dh9CT5RO.d.cts.map +0 -1
  182. package/dist/ws-Bme8aJNK.mjs.map +0 -1
@@ -1,9 +1,7 @@
1
- import { __commonJS, __toESM, require_defineProperty, require_objectSpread2 } from "./getErrorShape-BPSzUA7W.mjs";
2
- import { isObject, mergeWithoutOverrides } from "./codes-DagpWZLc.mjs";
3
- import { TRPCError, createCallerFactory, createRouterFactory, defaultFormatter, defaultTransformer, getDataTransformer, getTRPCErrorFromUnknown, mergeRouters } from "./tracked-DWInO6EQ.mjs";
4
-
1
+ import { d as mergeWithoutOverrides, u as isObject } from "./codes-D5Ya6_Bi.mjs";
2
+ import { n as _objectSpread2, r as _defineProperty } from "./getErrorShape-B0JBUs-i.mjs";
3
+ import { _ as defaultFormatter, a as createCallerFactory, d as getDataTransformer, g as getTRPCErrorFromUnknown, l as mergeRouters, m as TRPCError, o as createRouterFactory, u as defaultTransformer } from "./tracked-D4jU_Hb3.mjs";
5
4
  //#region src/unstable-core-do-not-import/middleware.ts
6
- var import_objectSpread2$2 = __toESM(require_objectSpread2(), 1);
7
5
  /** @internal */
8
6
  const middlewareMarker = "middlewareMarker";
9
7
  /**
@@ -46,7 +44,7 @@ function createInputMiddleware(parse) {
46
44
  cause
47
45
  });
48
46
  }
49
- const combinedInput = isObject(opts.input) && isObject(parsedInput) ? (0, import_objectSpread2$2.default)((0, import_objectSpread2$2.default)({}, opts.input), parsedInput) : parsedInput;
47
+ const combinedInput = isObject(opts.input) && isObject(parsedInput) ? _objectSpread2(_objectSpread2({}, opts.input), parsedInput) : parsedInput;
50
48
  return opts.next({ input: combinedInput });
51
49
  };
52
50
  inputMiddleware._type = "input";
@@ -61,7 +59,7 @@ function createOutputMiddleware(parse) {
61
59
  if (!result.ok) return result;
62
60
  try {
63
61
  const data = await parse(result.data);
64
- return (0, import_objectSpread2$2.default)((0, import_objectSpread2$2.default)({}, result), {}, { data });
62
+ return _objectSpread2(_objectSpread2({}, result), {}, { data });
65
63
  } catch (cause) {
66
64
  throw new TRPCError({
67
65
  message: "Output validation failed",
@@ -73,10 +71,8 @@ function createOutputMiddleware(parse) {
73
71
  outputMiddleware._type = "output";
74
72
  return outputMiddleware;
75
73
  }
76
-
77
74
  //#endregion
78
75
  //#region src/vendor/standard-schema-v1/error.ts
79
- var import_defineProperty = __toESM(require_defineProperty(), 1);
80
76
  /** A schema error with useful information. */
81
77
  var StandardSchemaV1Error = class extends Error {
82
78
  /**
@@ -87,12 +83,11 @@ var StandardSchemaV1Error = class extends Error {
87
83
  constructor(issues) {
88
84
  var _issues$;
89
85
  super((_issues$ = issues[0]) === null || _issues$ === void 0 ? void 0 : _issues$.message);
90
- (0, import_defineProperty.default)(this, "issues", void 0);
86
+ _defineProperty(this, "issues", void 0);
91
87
  this.name = "SchemaError";
92
88
  this.issues = issues;
93
89
  }
94
90
  };
95
-
96
91
  //#endregion
97
92
  //#region src/unstable-core-do-not-import/parser.ts
98
93
  function getParseFn(procedureParser) {
@@ -115,62 +110,50 @@ function getParseFn(procedureParser) {
115
110
  };
116
111
  throw new Error("Could not find a validator fn");
117
112
  }
118
-
119
113
  //#endregion
120
- //#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js
121
- var require_objectWithoutPropertiesLoose = __commonJS({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js"(exports, module) {
122
- function _objectWithoutPropertiesLoose(r, e) {
123
- if (null == r) return {};
124
- var t = {};
125
- for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
126
- if (e.includes(n)) continue;
127
- t[n] = r[n];
128
- }
129
- return t;
114
+ //#region \0@oxc-project+runtime@0.149.0/helpers/esm/objectWithoutPropertiesLoose.js
115
+ function _objectWithoutPropertiesLoose(r, e) {
116
+ if (null == r) return {};
117
+ var t = {};
118
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
119
+ if (e.includes(n)) continue;
120
+ t[n] = r[n];
130
121
  }
131
- module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
132
- } });
133
-
122
+ return t;
123
+ }
134
124
  //#endregion
135
- //#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js
136
- var require_objectWithoutProperties = __commonJS({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js"(exports, module) {
137
- var objectWithoutPropertiesLoose = require_objectWithoutPropertiesLoose();
138
- function _objectWithoutProperties$1(e, t) {
139
- if (null == e) return {};
140
- var o, r, i = objectWithoutPropertiesLoose(e, t);
141
- if (Object.getOwnPropertySymbols) {
142
- var s = Object.getOwnPropertySymbols(e);
143
- for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
144
- }
145
- return i;
125
+ //#region \0@oxc-project+runtime@0.149.0/helpers/esm/objectWithoutProperties.js
126
+ function _objectWithoutProperties(e, t) {
127
+ if (null == e) return {};
128
+ var o, r, i = _objectWithoutPropertiesLoose(e, t);
129
+ if (Object.getOwnPropertySymbols) {
130
+ var s = Object.getOwnPropertySymbols(e);
131
+ for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
146
132
  }
147
- module.exports = _objectWithoutProperties$1, module.exports.__esModule = true, module.exports["default"] = module.exports;
148
- } });
149
-
133
+ return i;
134
+ }
150
135
  //#endregion
151
136
  //#region src/unstable-core-do-not-import/procedureBuilder.ts
152
- var import_objectWithoutProperties = __toESM(require_objectWithoutProperties(), 1);
153
- var import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);
154
137
  const _excluded = [
155
138
  "middlewares",
156
139
  "inputs",
157
140
  "meta"
158
141
  ];
159
142
  function createNewBuilder(def1, def2) {
160
- const { middlewares = [], inputs, meta } = def2, rest = (0, import_objectWithoutProperties.default)(def2, _excluded);
161
- return createBuilder((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, mergeWithoutOverrides(def1, rest)), {}, {
143
+ const { middlewares = [], inputs, meta } = def2, rest = _objectWithoutProperties(def2, _excluded);
144
+ return createBuilder(_objectSpread2(_objectSpread2({}, mergeWithoutOverrides(def1, rest)), {}, {
162
145
  inputs: [...def1.inputs, ...inputs !== null && inputs !== void 0 ? inputs : []],
163
146
  middlewares: [...def1.middlewares, ...middlewares],
164
- meta: def1.meta && meta ? (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, def1.meta), meta) : meta !== null && meta !== void 0 ? meta : def1.meta
147
+ meta: def1.meta && meta ? _objectSpread2(_objectSpread2({}, def1.meta), meta) : meta !== null && meta !== void 0 ? meta : def1.meta
165
148
  }));
166
149
  }
167
150
  function createBuilder(initDef = {}) {
168
- const _def = (0, import_objectSpread2$1.default)({
151
+ const _def = _objectSpread2({
169
152
  procedure: true,
170
153
  inputs: [],
171
154
  middlewares: []
172
155
  }, initDef);
173
- const builder = {
156
+ return {
174
157
  _def,
175
158
  input(input) {
176
159
  const parser = getParseFn(input);
@@ -193,26 +176,25 @@ function createBuilder(initDef = {}) {
193
176
  const middlewares = "_middlewares" in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [middlewareBuilderOrFn];
194
177
  return createNewBuilder(_def, { middlewares });
195
178
  },
196
- unstable_concat(builder$1) {
197
- return createNewBuilder(_def, builder$1._def);
179
+ unstable_concat(builder) {
180
+ return createNewBuilder(_def, builder._def);
198
181
  },
199
- concat(builder$1) {
200
- return createNewBuilder(_def, builder$1._def);
182
+ concat(builder) {
183
+ return createNewBuilder(_def, builder._def);
201
184
  },
202
185
  query(resolver) {
203
- return createResolver((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, _def), {}, { type: "query" }), resolver);
186
+ return createResolver(_objectSpread2(_objectSpread2({}, _def), {}, { type: "query" }), resolver);
204
187
  },
205
188
  mutation(resolver) {
206
- return createResolver((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, _def), {}, { type: "mutation" }), resolver);
189
+ return createResolver(_objectSpread2(_objectSpread2({}, _def), {}, { type: "mutation" }), resolver);
207
190
  },
208
191
  subscription(resolver) {
209
- return createResolver((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, _def), {}, { type: "subscription" }), resolver);
192
+ return createResolver(_objectSpread2(_objectSpread2({}, _def), {}, { type: "subscription" }), resolver);
210
193
  },
211
194
  experimental_caller(caller) {
212
195
  return createNewBuilder(_def, { caller });
213
196
  }
214
197
  };
215
- return builder;
216
198
  }
217
199
  function createResolver(_defIn, resolver) {
218
200
  const finalBuilder = createNewBuilder(_defIn, {
@@ -227,7 +209,7 @@ function createResolver(_defIn, resolver) {
227
209
  };
228
210
  }]
229
211
  });
230
- const _def = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, finalBuilder._def), {}, {
212
+ const _def = _objectSpread2(_objectSpread2({}, finalBuilder._def), {}, {
231
213
  type: _defIn.type,
232
214
  experimental_caller: Boolean(finalBuilder._def.caller),
233
215
  meta: finalBuilder._def.meta,
@@ -253,20 +235,19 @@ If you want to call this function on the server, see https://trpc.io/docs/v11/se
253
235
  async function callRecursive(index, _def, opts) {
254
236
  try {
255
237
  const middleware = _def.middlewares[index];
256
- const result = await middleware((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts), {}, {
238
+ return await middleware(_objectSpread2(_objectSpread2({}, opts), {}, {
257
239
  meta: _def.meta,
258
240
  input: opts.input,
259
241
  next(_nextOpts) {
260
242
  var _nextOpts$getRawInput;
261
243
  const nextOpts = _nextOpts;
262
- return callRecursive(index + 1, _def, (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts), {}, {
263
- ctx: (nextOpts === null || nextOpts === void 0 ? void 0 : nextOpts.ctx) ? (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts.ctx), nextOpts.ctx) : opts.ctx,
244
+ return callRecursive(index + 1, _def, _objectSpread2(_objectSpread2({}, opts), {}, {
245
+ ctx: (nextOpts === null || nextOpts === void 0 ? void 0 : nextOpts.ctx) ? _objectSpread2(_objectSpread2({}, opts.ctx), nextOpts.ctx) : opts.ctx,
264
246
  input: nextOpts && "input" in nextOpts ? nextOpts.input : opts.input,
265
247
  getRawInput: (_nextOpts$getRawInput = nextOpts === null || nextOpts === void 0 ? void 0 : nextOpts.getRawInput) !== null && _nextOpts$getRawInput !== void 0 ? _nextOpts$getRawInput : opts.getRawInput
266
248
  }));
267
249
  }
268
250
  }));
269
- return result;
270
251
  } catch (cause) {
271
252
  return {
272
253
  ok: false,
@@ -291,19 +272,20 @@ function createProcedureCaller(_def) {
291
272
  procedure.meta = _def.meta;
292
273
  return procedure;
293
274
  }
294
-
295
275
  //#endregion
296
276
  //#region src/unstable-core-do-not-import/rootConfig.ts
297
- var _globalThis$process, _globalThis$process2, _globalThis$process3;
277
+ var _globalThis$process;
278
+ var _globalThis$process2;
279
+ var _globalThis$process3;
298
280
  /**
299
281
  * The default check to see if we're in a server
300
282
  */
301
283
  const isServerDefault = typeof window === "undefined" || "Deno" in window || ((_globalThis$process = globalThis.process) === null || _globalThis$process === void 0 || (_globalThis$process = _globalThis$process.env) === null || _globalThis$process === void 0 ? void 0 : _globalThis$process["NODE_ENV"]) === "test" || !!((_globalThis$process2 = globalThis.process) === null || _globalThis$process2 === void 0 || (_globalThis$process2 = _globalThis$process2.env) === null || _globalThis$process2 === void 0 ? void 0 : _globalThis$process2["JEST_WORKER_ID"]) || !!((_globalThis$process3 = globalThis.process) === null || _globalThis$process3 === void 0 || (_globalThis$process3 = _globalThis$process3.env) === null || _globalThis$process3 === void 0 ? void 0 : _globalThis$process3["VITEST_WORKER_ID"]);
302
-
303
- //#endregion
304
- //#region src/unstable-core-do-not-import/initTRPC.ts
305
- var import_objectSpread2 = __toESM(require_objectSpread2(), 1);
306
- var TRPCBuilder = class TRPCBuilder {
284
+ /**
285
+ * Builder to initialize the tRPC root object - use this exactly once per backend
286
+ * @see https://trpc.io/docs/v11/quickstart
287
+ */
288
+ const initTRPC = new class TRPCBuilder {
307
289
  /**
308
290
  * Add a context shape as a generic to the root object
309
291
  * @see https://trpc.io/docs/v11/server/context
@@ -323,36 +305,56 @@ var TRPCBuilder = class TRPCBuilder {
323
305
  * @see https://trpc.io/docs/v11/server/routers#initialize-trpc
324
306
  */
325
307
  create(opts) {
326
- var _opts$transformer, _opts$isDev, _globalThis$process$1, _opts$allowOutsideOfS, _opts$errorFormatter, _opts$isServer;
327
- const config = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
308
+ var _opts$transformer, _opts$isDev, _globalThis$process, _opts$allowOutsideOfS, _opts$errorFormatter, _opts$isServer;
309
+ const config = _objectSpread2(_objectSpread2({}, opts), {}, {
328
310
  transformer: getDataTransformer((_opts$transformer = opts === null || opts === void 0 ? void 0 : opts.transformer) !== null && _opts$transformer !== void 0 ? _opts$transformer : defaultTransformer),
329
- isDev: (_opts$isDev = opts === null || opts === void 0 ? void 0 : opts.isDev) !== null && _opts$isDev !== void 0 ? _opts$isDev : ((_globalThis$process$1 = globalThis.process) === null || _globalThis$process$1 === void 0 ? void 0 : _globalThis$process$1.env["NODE_ENV"]) !== "production",
311
+ isDev: (_opts$isDev = opts === null || opts === void 0 ? void 0 : opts.isDev) !== null && _opts$isDev !== void 0 ? _opts$isDev : ((_globalThis$process = globalThis.process) === null || _globalThis$process === void 0 ? void 0 : _globalThis$process.env["NODE_ENV"]) !== "production",
330
312
  allowOutsideOfServer: (_opts$allowOutsideOfS = opts === null || opts === void 0 ? void 0 : opts.allowOutsideOfServer) !== null && _opts$allowOutsideOfS !== void 0 ? _opts$allowOutsideOfS : false,
331
313
  errorFormatter: (_opts$errorFormatter = opts === null || opts === void 0 ? void 0 : opts.errorFormatter) !== null && _opts$errorFormatter !== void 0 ? _opts$errorFormatter : defaultFormatter,
332
314
  isServer: (_opts$isServer = opts === null || opts === void 0 ? void 0 : opts.isServer) !== null && _opts$isServer !== void 0 ? _opts$isServer : isServerDefault,
315
+ /**
316
+ * These are just types, they can't be used at runtime
317
+ * @internal
318
+ */
333
319
  $types: null
334
320
  });
335
- {
336
- var _opts$isServer2;
337
- const isServer = (_opts$isServer2 = opts === null || opts === void 0 ? void 0 : opts.isServer) !== null && _opts$isServer2 !== void 0 ? _opts$isServer2 : isServerDefault;
338
- if (!isServer && (opts === null || opts === void 0 ? void 0 : opts.allowOutsideOfServer) !== true) throw new Error(`You're trying to use @trpc/server in a non-server environment. This is not supported by default.`);
339
- }
321
+ var _opts$isServer2;
322
+ if (!((_opts$isServer2 = opts === null || opts === void 0 ? void 0 : opts.isServer) !== null && _opts$isServer2 !== void 0 ? _opts$isServer2 : isServerDefault) && (opts === null || opts === void 0 ? void 0 : opts.allowOutsideOfServer) !== true) throw new Error(`You're trying to use @trpc/server in a non-server environment. This is not supported by default.`);
340
323
  return {
324
+ /**
325
+ * Your router config
326
+ * @internal
327
+ */
341
328
  _config: config,
329
+ /**
330
+ * Builder object for creating procedures
331
+ * @see https://trpc.io/docs/v11/server/procedures
332
+ */
342
333
  procedure: createBuilder({ meta: opts === null || opts === void 0 ? void 0 : opts.defaultMeta }),
334
+ /**
335
+ * Create reusable middlewares
336
+ * @see https://trpc.io/docs/v11/server/middlewares
337
+ */
343
338
  middleware: createMiddlewareFactory(),
339
+ /**
340
+ * Create a router
341
+ * @see https://trpc.io/docs/v11/server/routers
342
+ */
344
343
  router: createRouterFactory(config),
344
+ /**
345
+ * Merge Routers
346
+ * @see https://trpc.io/docs/v11/server/merging-routers
347
+ */
345
348
  mergeRouters,
349
+ /**
350
+ * Create a server-side caller for a router
351
+ * @see https://trpc.io/docs/v11/server/server-side-calls
352
+ */
346
353
  createCallerFactory: createCallerFactory()
347
354
  };
348
355
  }
349
- };
350
- /**
351
- * Builder to initialize the tRPC root object - use this exactly once per backend
352
- * @see https://trpc.io/docs/v11/quickstart
353
- */
354
- const initTRPC = new TRPCBuilder();
355
-
356
+ }();
356
357
  //#endregion
357
- export { StandardSchemaV1Error, createBuilder, createInputMiddleware, createMiddlewareFactory, createOutputMiddleware, experimental_standaloneMiddleware, getParseFn, initTRPC, isServerDefault, middlewareMarker };
358
- //# sourceMappingURL=initTRPC-BRf4imah.mjs.map
358
+ export { StandardSchemaV1Error as a, createOutputMiddleware as c, getParseFn as i, experimental_standaloneMiddleware as l, isServerDefault as n, createInputMiddleware as o, createBuilder as r, createMiddlewareFactory as s, initTRPC as t, middlewareMarker as u };
359
+
360
+ //# sourceMappingURL=initTRPC-B259os3T.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initTRPC-B259os3T.mjs","names":[],"sources":["../src/unstable-core-do-not-import/middleware.ts","../src/vendor/standard-schema-v1/error.ts","../src/unstable-core-do-not-import/parser.ts","../src/unstable-core-do-not-import/procedureBuilder.ts","../src/unstable-core-do-not-import/rootConfig.ts","../src/unstable-core-do-not-import/initTRPC.ts"],"sourcesContent":["import { TRPCError } from './error/TRPCError';\nimport type { ParseFn } from './parser';\nimport type { ProcedureType } from './procedure';\nimport type { GetRawInputFn, Overwrite, Simplify } from './types';\nimport { isObject } from './utils';\n\n/** @internal */\nexport const middlewareMarker = 'middlewareMarker' as 'middlewareMarker' & {\n __brand: 'middlewareMarker';\n};\ntype MiddlewareMarker = typeof middlewareMarker;\n\ninterface MiddlewareResultBase {\n /**\n * All middlewares should pass through their `next()`'s output.\n * Requiring this marker makes sure that can't be forgotten at compile-time.\n */\n readonly marker: MiddlewareMarker;\n}\n\ninterface MiddlewareOKResult<_TContextOverride> extends MiddlewareResultBase {\n ok: true;\n data: unknown;\n // this could be extended with `input`/`rawInput` later\n}\n\ninterface MiddlewareErrorResult<\n _TContextOverride,\n> extends MiddlewareResultBase {\n ok: false;\n error: TRPCError;\n}\n\n/**\n * @internal\n */\nexport type MiddlewareResult<_TContextOverride> =\n | MiddlewareErrorResult<_TContextOverride>\n | MiddlewareOKResult<_TContextOverride>;\n\n/**\n * @internal\n */\nexport interface MiddlewareBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n> {\n /**\n * Create a new builder based on the current middleware builder\n */\n unstable_pipe<$ContextOverridesOut>(\n fn:\n | MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n $ContextOverridesOut,\n TInputOut\n >\n | MiddlewareBuilder<\n Overwrite<TContext, TContextOverrides>,\n TMeta,\n $ContextOverridesOut,\n TInputOut\n >,\n ): MiddlewareBuilder<\n TContext,\n TMeta,\n Overwrite<TContextOverrides, $ContextOverridesOut>,\n TInputOut\n >;\n\n /**\n * List of middlewares within this middleware builder\n */\n _middlewares: MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n object,\n TInputOut\n >[];\n}\n\n/**\n * @internal\n */\nexport type MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverridesIn,\n $ContextOverridesOut,\n TInputOut,\n> = {\n (opts: {\n ctx: Simplify<Overwrite<TContext, TContextOverridesIn>>;\n type: ProcedureType;\n path: string;\n input: TInputOut;\n getRawInput: GetRawInputFn;\n meta: TMeta | undefined;\n signal: AbortSignal | undefined;\n /**\n * The index of this call in a batch request.\n */\n batchIndex: number;\n next: {\n (): Promise<MiddlewareResult<TContextOverridesIn>>;\n <$ContextOverride>(opts: {\n ctx?: $ContextOverride;\n input?: unknown;\n }): Promise<MiddlewareResult<$ContextOverride>>;\n (opts: {\n getRawInput: GetRawInputFn;\n }): Promise<MiddlewareResult<TContextOverridesIn>>;\n };\n }): Promise<MiddlewareResult<$ContextOverridesOut>>;\n _type?: string | undefined;\n};\n\nexport type AnyMiddlewareFunction = MiddlewareFunction<any, any, any, any, any>;\nexport type AnyMiddlewareBuilder = MiddlewareBuilder<any, any, any, any>;\n/**\n * @internal\n */\nexport function createMiddlewareFactory<\n TContext,\n TMeta,\n TInputOut = unknown,\n>() {\n function createMiddlewareInner(\n middlewares: AnyMiddlewareFunction[],\n ): AnyMiddlewareBuilder {\n return {\n _middlewares: middlewares,\n unstable_pipe(middlewareBuilderOrFn) {\n const pipedMiddleware =\n '_middlewares' in middlewareBuilderOrFn\n ? middlewareBuilderOrFn._middlewares\n : [middlewareBuilderOrFn];\n\n return createMiddlewareInner([...middlewares, ...pipedMiddleware]);\n },\n };\n }\n\n function createMiddleware<$ContextOverrides>(\n fn: MiddlewareFunction<\n TContext,\n TMeta,\n object,\n $ContextOverrides,\n TInputOut\n >,\n ): MiddlewareBuilder<TContext, TMeta, $ContextOverrides, TInputOut> {\n return createMiddlewareInner([fn]);\n }\n\n return createMiddleware;\n}\n\n/**\n * Create a standalone middleware\n * @see https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares\n * @deprecated use `.concat()` instead\n */\nexport const experimental_standaloneMiddleware = <\n TCtx extends {\n ctx?: object;\n meta?: object;\n input?: unknown;\n },\n>() => ({\n create: createMiddlewareFactory<\n TCtx extends { ctx: infer T extends object } ? T : any,\n TCtx extends { meta: infer T extends object } ? T : object,\n TCtx extends { input: infer T } ? T : unknown\n >(),\n});\n\n/**\n * @internal\n * Please note, `trpc-openapi` uses this function.\n */\nexport function createInputMiddleware<TInput>(parse: ParseFn<TInput>) {\n const inputMiddleware: AnyMiddlewareFunction =\n async function inputValidatorMiddleware(opts) {\n let parsedInput: ReturnType<typeof parse>;\n\n const rawInput = await opts.getRawInput();\n try {\n parsedInput = await parse(rawInput);\n } catch (cause) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n cause,\n });\n }\n\n // Multiple input parsers\n const combinedInput =\n isObject(opts.input) && isObject(parsedInput)\n ? {\n ...opts.input,\n ...parsedInput,\n }\n : parsedInput;\n\n return opts.next({ input: combinedInput });\n };\n inputMiddleware._type = 'input';\n return inputMiddleware;\n}\n\n/**\n * @internal\n */\nexport function createOutputMiddleware<TOutput>(parse: ParseFn<TOutput>) {\n const outputMiddleware: AnyMiddlewareFunction =\n async function outputValidatorMiddleware({ next }) {\n const result = await next();\n if (!result.ok) {\n // pass through failures without validating\n return result;\n }\n try {\n const data = await parse(result.data);\n return {\n ...result,\n data,\n };\n } catch (cause) {\n throw new TRPCError({\n message: 'Output validation failed',\n code: 'INTERNAL_SERVER_ERROR',\n cause,\n });\n }\n };\n outputMiddleware._type = 'output';\n return outputMiddleware;\n}\n","import type { StandardSchemaV1 } from \"./spec\";\n\n/** A schema error with useful information. */\n\nexport class StandardSchemaV1Error extends Error {\n /** The schema issues. */\n public readonly issues: ReadonlyArray<StandardSchemaV1.Issue>;\n\n /**\n * Creates a schema error with useful information.\n *\n * @param issues The schema issues.\n */\n constructor(issues: ReadonlyArray<StandardSchemaV1.Issue>) {\n super(issues[0]?.message);\n this.name = 'SchemaError';\n this.issues = issues;\n }\n}\n","import { StandardSchemaV1Error } from '../vendor/standard-schema-v1/error';\nimport { type StandardSchemaV1 } from '../vendor/standard-schema-v1/spec';\n\n// zod / typeschema\nexport type ParserZodEsque<TInput, TParsedInput> = {\n _input: TInput;\n _output: TParsedInput;\n};\n\nexport type ParserValibotEsque<TInput, TParsedInput> = {\n schema: {\n _types?: {\n input: TInput;\n output: TParsedInput;\n };\n };\n};\n\nexport type ParserArkTypeEsque<TInput, TParsedInput> = {\n inferIn: TInput;\n infer: TParsedInput;\n};\n\nexport type ParserStandardSchemaEsque<TInput, TParsedInput> = StandardSchemaV1<\n TInput,\n TParsedInput\n>;\n\nexport type ParserMyZodEsque<TInput> = {\n parse: (input: any) => TInput;\n};\n\nexport type ParserSuperstructEsque<TInput> = {\n create: (input: unknown) => TInput;\n};\n\nexport type ParserCustomValidatorEsque<TInput> = (\n input: unknown,\n) => Promise<TInput> | TInput;\n\nexport type ParserYupEsque<TInput> = {\n validateSync: (input: unknown) => TInput;\n};\n\nexport type ParserScaleEsque<TInput> = {\n assert(value: unknown): asserts value is TInput;\n};\n\nexport type ParserWithoutInput<TInput> =\n | ParserCustomValidatorEsque<TInput>\n | ParserMyZodEsque<TInput>\n | ParserScaleEsque<TInput>\n | ParserSuperstructEsque<TInput>\n | ParserYupEsque<TInput>;\n\nexport type ParserWithInputOutput<TInput, TParsedInput> =\n | ParserZodEsque<TInput, TParsedInput>\n | ParserValibotEsque<TInput, TParsedInput>\n | ParserArkTypeEsque<TInput, TParsedInput>\n | ParserStandardSchemaEsque<TInput, TParsedInput>;\n\nexport type Parser = ParserWithInputOutput<any, any> | ParserWithoutInput<any>;\n\nexport type inferParser<TParser extends Parser> =\n TParser extends ParserStandardSchemaEsque<infer $TIn, infer $TOut>\n ? {\n in: $TIn;\n out: $TOut;\n }\n : TParser extends ParserWithInputOutput<infer $TIn, infer $TOut>\n ? {\n in: $TIn;\n out: $TOut;\n }\n : TParser extends ParserWithoutInput<infer $InOut>\n ? {\n in: $InOut;\n out: $InOut;\n }\n : never;\n\nexport type ParseFn<TType> = (value: unknown) => Promise<TType> | TType;\n\nexport function getParseFn<TType>(procedureParser: Parser): ParseFn<TType> {\n const parser = procedureParser as any;\n const isStandardSchema = '~standard' in parser;\n\n if (typeof parser === 'function' && typeof parser.assert === 'function') {\n // ParserArkTypeEsque - arktype schemas shouldn't be called as a function because they return a union type instead of throwing\n return parser.assert.bind(parser);\n }\n\n if (typeof parser === 'function' && !isStandardSchema) {\n // ParserValibotEsque (>= v0.31.0)\n // ParserCustomValidatorEsque - note the check for standard-schema conformance - some libraries like `effect` use function schemas which are *not* a \"parse\" function.\n return parser;\n }\n\n if (typeof parser.parseAsync === 'function') {\n // ParserZodEsque\n return parser.parseAsync.bind(parser);\n }\n\n if (typeof parser.parse === 'function') {\n // ParserZodEsque\n // ParserValibotEsque (< v0.13.0)\n return parser.parse.bind(parser);\n }\n\n if (typeof parser.validateSync === 'function') {\n // ParserYupEsque\n return parser.validateSync.bind(parser);\n }\n\n if (typeof parser.create === 'function') {\n // ParserSuperstructEsque\n return parser.create.bind(parser);\n }\n\n if (typeof parser.assert === 'function') {\n // ParserScaleEsque\n return (value) => {\n parser.assert(value);\n return value as TType;\n };\n }\n\n if (isStandardSchema) {\n // StandardSchemaEsque\n return async (value) => {\n const result = await parser['~standard'].validate(value);\n if (result.issues) {\n throw new StandardSchemaV1Error(result.issues);\n }\n return result.value;\n };\n }\n\n throw new Error('Could not find a validator fn');\n}\n","import type { inferObservableValue, Observable } from '../observable';\nimport { getTRPCErrorFromUnknown, TRPCError } from './error/TRPCError';\nimport type {\n AnyMiddlewareFunction,\n MiddlewareBuilder,\n MiddlewareFunction,\n MiddlewareResult,\n} from './middleware';\nimport {\n createInputMiddleware,\n createOutputMiddleware,\n middlewareMarker,\n} from './middleware';\nimport type { inferParser, Parser } from './parser';\nimport { getParseFn } from './parser';\nimport type {\n AnyMutationProcedure,\n AnyProcedure,\n AnyQueryProcedure,\n LegacyObservableSubscriptionProcedure,\n MutationProcedure,\n ProcedureType,\n QueryProcedure,\n SubscriptionProcedure,\n} from './procedure';\nimport type { inferTrackedOutput } from './stream/tracked';\nimport type {\n GetRawInputFn,\n MaybePromise,\n Overwrite,\n Simplify,\n TypeError,\n} from './types';\nimport type { UnsetMarker } from './utils';\nimport { mergeWithoutOverrides } from './utils';\n\ntype IntersectIfDefined<TType, TWith> = TType extends UnsetMarker\n ? TWith\n : TWith extends UnsetMarker\n ? TType\n : Simplify<TType & TWith>;\n\ntype DefaultValue<TValue, TFallback> = TValue extends UnsetMarker\n ? TFallback\n : TValue;\n\ntype inferAsyncIterable<TOutput> =\n TOutput extends AsyncIterable<infer $Yield, infer $Return, infer $Next>\n ? {\n yield: $Yield;\n return: $Return;\n next: $Next;\n }\n : never;\ntype inferSubscriptionOutput<TOutput> =\n TOutput extends AsyncIterable<any>\n ? AsyncIterable<\n inferTrackedOutput<inferAsyncIterable<TOutput>['yield']>,\n inferAsyncIterable<TOutput>['return'],\n inferAsyncIterable<TOutput>['next']\n >\n : TypeError<'Subscription output could not be inferred'>;\n\nexport type CallerOverride<TContext> = (opts: {\n args: unknown[];\n invoke: (opts: ProcedureCallOptions<TContext>) => Promise<unknown>;\n _def: AnyProcedure['_def'];\n}) => Promise<unknown>;\ntype ProcedureBuilderDef<TMeta> = {\n procedure: true;\n inputs: Parser[];\n output?: Parser;\n meta?: TMeta;\n resolver?: ProcedureBuilderResolver;\n middlewares: AnyMiddlewareFunction[];\n /**\n * @deprecated use `type` instead\n */\n mutation?: boolean;\n /**\n * @deprecated use `type` instead\n */\n query?: boolean;\n /**\n * @deprecated use `type` instead\n */\n subscription?: boolean;\n type?: ProcedureType;\n caller?: CallerOverride<unknown>;\n};\n\ntype AnyProcedureBuilderDef = ProcedureBuilderDef<any>;\n\n/**\n * Procedure resolver options (what the `.query()`, `.mutation()`, and `.subscription()` functions receive)\n * @internal\n */\nexport interface ProcedureResolverOptions<\n TContext,\n _TMeta,\n TContextOverridesIn,\n TInputOut,\n> {\n ctx: Simplify<Overwrite<TContext, TContextOverridesIn>>;\n input: TInputOut extends UnsetMarker ? undefined : TInputOut;\n /**\n * The AbortSignal of the request\n */\n signal: AbortSignal | undefined;\n /**\n * The path of the procedure\n */\n path: string;\n /**\n * The index of this call in a batch request.\n * Will be set when the procedure is called as part of a batch.\n */\n batchIndex?: number;\n}\n\n/**\n * A procedure resolver\n */\ntype ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputParserIn,\n $Output,\n> = (\n opts: ProcedureResolverOptions<TContext, TMeta, TContextOverrides, TInputOut>,\n) => MaybePromise<\n // If an output parser is defined, we need to return what the parser expects, otherwise we return the inferred type\n DefaultValue<TOutputParserIn, $Output>\n>;\n\ntype AnyResolver = ProcedureResolver<any, any, any, any, any, any>;\nexport type AnyProcedureBuilder = ProcedureBuilder<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>;\n\n/**\n * Infer the context type from a procedure builder\n * Useful to create common helper functions for different procedures\n */\nexport type inferProcedureBuilderResolverOptions<\n TProcedureBuilder extends AnyProcedureBuilder,\n> =\n TProcedureBuilder extends ProcedureBuilder<\n infer TContext,\n infer TMeta,\n infer TContextOverrides,\n infer _TInputIn,\n infer TInputOut,\n infer _TOutputIn,\n infer _TOutputOut,\n infer _TCaller\n >\n ? ProcedureResolverOptions<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut extends UnsetMarker\n ? // if input is not set, we don't want to infer it as `undefined` since a procedure further down the chain might have set an input\n unknown\n : TInputOut extends object\n ? Simplify<\n TInputOut & {\n /**\n * Extra input params might have been added by a `.input()` further down the chain\n */\n [keyAddedByInputCallFurtherDown: string]: unknown;\n }\n >\n : TInputOut\n >\n : never;\n\nexport interface ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller extends boolean,\n> {\n /**\n * Add an input parser to the procedure.\n * @see https://trpc.io/docs/v11/server/validators\n */\n input<$Parser extends Parser>(\n schema: TInputOut extends UnsetMarker\n ? $Parser\n : inferParser<$Parser>['out'] extends Record<string, unknown> | undefined\n ? TInputOut extends Record<string, unknown> | undefined\n ? undefined extends inferParser<$Parser>['out'] // if current is optional the previous must be too\n ? undefined extends TInputOut\n ? $Parser\n : TypeError<'Cannot chain an optional parser to a required parser'>\n : $Parser\n : TypeError<'All input parsers did not resolve to an object'>\n : TypeError<'All input parsers did not resolve to an object'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n IntersectIfDefined<TInputIn, inferParser<$Parser>['in']>,\n IntersectIfDefined<TInputOut, inferParser<$Parser>['out']>,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n /**\n * Add an output parser to the procedure.\n * @see https://trpc.io/docs/v11/server/validators\n */\n output<$Parser extends Parser>(\n schema: $Parser,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n IntersectIfDefined<TOutputIn, inferParser<$Parser>['in']>,\n IntersectIfDefined<TOutputOut, inferParser<$Parser>['out']>,\n TCaller\n >;\n /**\n * Add a meta data to the procedure.\n * @see https://trpc.io/docs/v11/server/metadata\n */\n meta(\n meta: TMeta,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n /**\n * Add a middleware to the procedure.\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n use<$ContextOverridesOut>(\n fn:\n | MiddlewareBuilder<\n Overwrite<TContext, TContextOverrides>,\n TMeta,\n $ContextOverridesOut,\n TInputOut\n >\n | MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n $ContextOverridesOut,\n TInputOut\n >,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite<TContextOverrides, $ContextOverridesOut>,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n\n /**\n * @deprecated use {@link concat} instead\n */\n unstable_concat<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n >(\n builder: Overwrite<TContext, TContextOverrides> extends $Context\n ? TMeta extends $Meta\n ? ProcedureBuilder<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n TCaller\n >\n : TypeError<'Meta mismatch'>\n : TypeError<'Context mismatch'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite<TContextOverrides, $ContextOverrides>,\n IntersectIfDefined<TInputIn, $InputIn>,\n IntersectIfDefined<TInputOut, $InputOut>,\n IntersectIfDefined<TOutputIn, $OutputIn>,\n IntersectIfDefined<TOutputOut, $OutputOut>,\n TCaller\n >;\n\n /**\n * Combine two procedure builders\n */\n concat<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n >(\n builder: Overwrite<TContext, TContextOverrides> extends $Context\n ? TMeta extends $Meta\n ? ProcedureBuilder<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n TCaller\n >\n : TypeError<'Meta mismatch'>\n : TypeError<'Context mismatch'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite<TContextOverrides, $ContextOverrides>,\n IntersectIfDefined<TInputIn, $InputIn>,\n IntersectIfDefined<TInputOut, $InputOut>,\n IntersectIfDefined<TOutputIn, $OutputIn>,\n IntersectIfDefined<TOutputOut, $OutputOut>,\n TCaller\n >;\n /**\n * Query procedure\n * @see https://trpc.io/docs/v11/concepts#vocabulary\n */\n query<$Output>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? (\n input: DefaultValue<TInputIn, void>,\n ) => Promise<DefaultValue<TOutputOut, $Output>>\n : QueryProcedure<{\n input: DefaultValue<TInputIn, void>;\n output: DefaultValue<TOutputOut, $Output>;\n meta: TMeta;\n }>;\n\n /**\n * Mutation procedure\n * @see https://trpc.io/docs/v11/concepts#vocabulary\n */\n mutation<$Output>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? (\n input: DefaultValue<TInputIn, void>,\n ) => Promise<DefaultValue<TOutputOut, $Output>>\n : MutationProcedure<{\n input: DefaultValue<TInputIn, void>;\n output: DefaultValue<TOutputOut, $Output>;\n meta: TMeta;\n }>;\n\n /**\n * Subscription procedure\n * @see https://trpc.io/docs/v11/server/subscriptions\n */\n subscription<$Output extends AsyncIterable<any, void, any>>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? TypeError<'Not implemented'>\n : SubscriptionProcedure<{\n input: DefaultValue<TInputIn, void>;\n output: inferSubscriptionOutput<DefaultValue<TOutputOut, $Output>>;\n meta: TMeta;\n }>;\n /**\n * @deprecated Using subscriptions with an observable is deprecated. Use an async generator instead.\n * This feature will be removed in v12 of tRPC.\n * @see https://trpc.io/docs/v11/server/subscriptions\n */\n subscription<$Output extends Observable<any, any>>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? TypeError<'Not implemented'>\n : LegacyObservableSubscriptionProcedure<{\n input: DefaultValue<TInputIn, void>;\n output: inferObservableValue<DefaultValue<TOutputOut, $Output>>;\n meta: TMeta;\n }>;\n /**\n * Overrides the way a procedure is invoked\n * Do not use this unless you know what you're doing - this is an experimental API\n */\n experimental_caller(\n caller: CallerOverride<TContext>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n true\n >;\n /**\n * @internal\n */\n _def: ProcedureBuilderDef<TMeta>;\n}\n\ntype ProcedureBuilderResolver = (\n opts: ProcedureResolverOptions<any, any, any, any>,\n) => Promise<unknown>;\n\nfunction createNewBuilder(\n def1: AnyProcedureBuilderDef,\n def2: Partial<AnyProcedureBuilderDef>,\n): AnyProcedureBuilder {\n const { middlewares = [], inputs, meta, ...rest } = def2;\n\n // TODO: maybe have a fn here to warn about calls\n return createBuilder({\n ...mergeWithoutOverrides(def1, rest),\n inputs: [...def1.inputs, ...(inputs ?? [])],\n middlewares: [...def1.middlewares, ...middlewares],\n meta: def1.meta && meta ? { ...def1.meta, ...meta } : (meta ?? def1.meta),\n });\n}\n\nexport function createBuilder<TContext, TMeta>(\n initDef: Partial<AnyProcedureBuilderDef> = {},\n): ProcedureBuilder<\n TContext,\n TMeta,\n object,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n false\n> {\n const _def: AnyProcedureBuilderDef = {\n procedure: true,\n inputs: [],\n middlewares: [],\n ...initDef,\n };\n\n const builder: AnyProcedureBuilder = {\n _def,\n input(input) {\n const parser = getParseFn(input as Parser);\n return createNewBuilder(_def, {\n inputs: [input as Parser],\n middlewares: [createInputMiddleware(parser)],\n });\n },\n output(output: Parser) {\n const parser = getParseFn(output);\n return createNewBuilder(_def, {\n output,\n middlewares: [createOutputMiddleware(parser)],\n });\n },\n meta(meta) {\n return createNewBuilder(_def, {\n meta,\n });\n },\n use(middlewareBuilderOrFn) {\n // Distinguish between a middleware builder and a middleware function\n const middlewares =\n '_middlewares' in middlewareBuilderOrFn\n ? middlewareBuilderOrFn._middlewares\n : [middlewareBuilderOrFn];\n\n return createNewBuilder(_def, {\n middlewares: middlewares,\n });\n },\n unstable_concat(builder) {\n return createNewBuilder(_def, (builder as AnyProcedureBuilder)._def);\n },\n concat(builder) {\n return createNewBuilder(_def, (builder as AnyProcedureBuilder)._def);\n },\n query(resolver) {\n return createResolver(\n { ..._def, type: 'query' },\n resolver,\n ) as AnyQueryProcedure;\n },\n mutation(resolver) {\n return createResolver(\n { ..._def, type: 'mutation' },\n resolver,\n ) as AnyMutationProcedure;\n },\n subscription(resolver: ProcedureResolver<any, any, any, any, any, any>) {\n return createResolver({ ..._def, type: 'subscription' }, resolver) as any;\n },\n experimental_caller(caller) {\n return createNewBuilder(_def, {\n caller,\n }) as any;\n },\n };\n\n return builder;\n}\n\nfunction createResolver(\n _defIn: AnyProcedureBuilderDef & { type: ProcedureType },\n resolver: AnyResolver,\n) {\n const finalBuilder = createNewBuilder(_defIn, {\n resolver,\n middlewares: [\n async function resolveMiddleware(opts) {\n const data = await resolver(opts);\n return {\n marker: middlewareMarker,\n ok: true,\n data,\n ctx: opts.ctx,\n } as const;\n },\n ],\n });\n const _def: AnyProcedure['_def'] = {\n ...finalBuilder._def,\n type: _defIn.type,\n experimental_caller: Boolean(finalBuilder._def.caller),\n meta: finalBuilder._def.meta,\n $types: null as any,\n };\n\n const invoke = createProcedureCaller(finalBuilder._def);\n const callerOverride = finalBuilder._def.caller;\n if (!callerOverride) {\n return invoke;\n }\n const callerWrapper = async (...args: unknown[]) => {\n return await callerOverride({\n args,\n invoke,\n _def: _def,\n });\n };\n\n callerWrapper._def = _def;\n\n return callerWrapper;\n}\n\n/**\n * @internal\n */\nexport interface ProcedureCallOptions<TContext> {\n ctx: TContext;\n getRawInput: GetRawInputFn;\n input?: unknown;\n path: string;\n type: ProcedureType;\n signal: AbortSignal | undefined;\n /**\n * The index of this call in a batch request.\n */\n batchIndex: number;\n}\n\nconst codeblock = `\nThis is a client-only function.\nIf you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls\n`.trim();\n\n// run the middlewares recursively with the resolver as the last one\nasync function callRecursive(\n index: number,\n _def: AnyProcedureBuilderDef,\n opts: ProcedureCallOptions<any>,\n): Promise<MiddlewareResult<any>> {\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const middleware = _def.middlewares[index]!;\n const result = await middleware({\n ...opts,\n meta: _def.meta,\n input: opts.input,\n next(_nextOpts?: any) {\n const nextOpts = _nextOpts as\n | {\n ctx?: Record<string, unknown>;\n input?: unknown;\n getRawInput?: GetRawInputFn;\n }\n | undefined;\n\n return callRecursive(index + 1, _def, {\n ...opts,\n ctx: nextOpts?.ctx ? { ...opts.ctx, ...nextOpts.ctx } : opts.ctx,\n input: nextOpts && 'input' in nextOpts ? nextOpts.input : opts.input,\n getRawInput: nextOpts?.getRawInput ?? opts.getRawInput,\n });\n },\n });\n\n return result;\n } catch (cause) {\n return {\n ok: false,\n error: getTRPCErrorFromUnknown(cause),\n marker: middlewareMarker,\n };\n }\n}\n\nfunction createProcedureCaller(_def: AnyProcedureBuilderDef): AnyProcedure {\n async function procedure(opts: ProcedureCallOptions<unknown>) {\n // is direct server-side call\n if (!opts || !('getRawInput' in opts)) {\n throw new Error(codeblock);\n }\n\n // there's always at least one \"next\" since we wrap this.resolver in a middleware\n const result = await callRecursive(0, _def, opts);\n\n if (!result) {\n throw new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n message:\n 'No result from middlewares - did you forget to `return next()`?',\n });\n }\n if (!result.ok) {\n // re-throw original error\n throw result.error;\n }\n return result.data;\n }\n\n procedure._def = _def;\n procedure.procedure = true;\n procedure.meta = _def.meta;\n\n // FIXME typecast shouldn't be needed - fixittt\n return procedure as unknown as AnyProcedure;\n}\n","import type { CombinedDataTransformer } from '../unstable-core-do-not-import';\nimport type { DefaultErrorShape, ErrorFormatter } from './error/formatter';\nimport type { JSONLProducerOptions } from './stream/jsonl';\nimport type { SSEStreamProducerOptions } from './stream/sse';\n\n/**\n * The initial generics that are used in the init function\n * @internal\n */\nexport interface RootTypes {\n ctx: object;\n meta: object;\n errorShape: DefaultErrorShape;\n transformer: boolean;\n}\n\n/**\n * The default check to see if we're in a server\n */\nexport const isServerDefault: boolean =\n typeof window === 'undefined' ||\n 'Deno' in window ||\n // eslint-disable-next-line @typescript-eslint/dot-notation\n globalThis.process?.env?.['NODE_ENV'] === 'test' ||\n !!globalThis.process?.env?.['JEST_WORKER_ID'] ||\n !!globalThis.process?.env?.['VITEST_WORKER_ID'];\n\n/**\n * The tRPC root config\n * @internal\n */\nexport interface RootConfig<TTypes extends RootTypes> {\n /**\n * The types that are used in the config\n * @internal\n */\n $types: TTypes;\n /**\n * Use a data transformer\n * @see https://trpc.io/docs/v11/data-transformers\n */\n transformer: CombinedDataTransformer;\n /**\n * Use custom error formatting\n * @see https://trpc.io/docs/v11/error-formatting\n */\n errorFormatter: ErrorFormatter<TTypes['ctx'], TTypes['errorShape']>;\n /**\n * Allow `@trpc/server` to run in non-server environments\n * @warning **Use with caution**, this should likely mainly be used within testing.\n * @default false\n */\n allowOutsideOfServer: boolean;\n /**\n * Is this a server environment?\n * @warning **Use with caution**, this should likely mainly be used within testing.\n * @default typeof window === 'undefined' || 'Deno' in window || process.env.NODE_ENV === 'test'\n */\n isServer: boolean;\n /**\n * Is this development?\n * Will be used to decide if the API should return stack traces\n * @default process.env.NODE_ENV !== 'production'\n */\n isDev: boolean;\n\n defaultMeta?: TTypes['meta'] extends object ? TTypes['meta'] : never;\n\n /**\n * Options for server-sent events (SSE) subscriptions\n * @see https://trpc.io/docs/client/links/httpSubscriptionLink\n */\n sse?: {\n /**\n * Enable server-sent events (SSE) subscriptions\n * @default true\n */\n enabled?: boolean;\n } & Pick<\n SSEStreamProducerOptions,\n 'ping' | 'emitAndEndImmediately' | 'maxDurationMs' | 'client'\n >;\n\n /**\n * Options for batch stream\n * @see https://trpc.io/docs/client/links/httpBatchStreamLink\n */\n jsonl?: Pick<JSONLProducerOptions, 'pingMs'>;\n experimental?: {};\n}\n\n/**\n * @internal\n */\nexport type CreateRootTypes<TGenerics extends RootTypes> = TGenerics;\n\nexport type AnyRootTypes = CreateRootTypes<{\n ctx: any;\n meta: any;\n errorShape: any;\n transformer: any;\n}>;\n\ntype PartialIf<TCondition extends boolean, TType> = TCondition extends true\n ? Partial<TType>\n : TType;\n\n/**\n * Adds a `createContext` option with a given callback function\n * If context is the default value, then the `createContext` option is optional\n */\nexport type CreateContextCallback<\n TContext,\n TFunction extends (...args: any[]) => any,\n> = PartialIf<\n object extends TContext ? true : false,\n {\n /**\n * @see https://trpc.io/docs/v11/context\n **/\n createContext: TFunction;\n }\n>;\n","import {\n defaultFormatter,\n type DefaultErrorShape,\n type ErrorFormatter,\n} from './error/formatter';\nimport type { MiddlewareBuilder, MiddlewareFunction } from './middleware';\nimport { createMiddlewareFactory } from './middleware';\nimport type { ProcedureBuilder } from './procedureBuilder';\nimport { createBuilder } from './procedureBuilder';\nimport type { AnyRootTypes, CreateRootTypes } from './rootConfig';\nimport { isServerDefault, type RootConfig } from './rootConfig';\nimport type {\n AnyRouter,\n MergeRouters,\n RouterBuilder,\n RouterCallerFactory,\n} from './router';\nimport {\n createCallerFactory,\n createRouterFactory,\n mergeRouters,\n} from './router';\nimport type { DataTransformerOptions } from './transformer';\nimport { defaultTransformer, getDataTransformer } from './transformer';\nimport type { Unwrap, ValidateShape } from './types';\nimport type { UnsetMarker } from './utils';\n\ntype inferErrorFormatterShape<TType> =\n TType extends ErrorFormatter<any, infer TShape> ? TShape : DefaultErrorShape;\n/** @internal */\nexport interface RuntimeConfigOptions<\n TContext extends object,\n TMeta extends object,\n> extends Partial<\n Omit<\n RootConfig<{\n ctx: TContext;\n meta: TMeta;\n errorShape: any;\n transformer: any;\n }>,\n '$types' | 'transformer'\n >\n> {\n /**\n * Use a data transformer\n * @see https://trpc.io/docs/v11/data-transformers\n */\n transformer?: DataTransformerOptions;\n}\n\ntype ContextCallback = (...args: any[]) => object | Promise<object>;\n\nexport interface TRPCRootObject<\n TContext extends object,\n TMeta extends object,\n TOptions extends RuntimeConfigOptions<TContext, TMeta>,\n $Root extends AnyRootTypes = {\n ctx: TContext;\n meta: TMeta;\n errorShape: undefined extends TOptions['errorFormatter']\n ? DefaultErrorShape\n : inferErrorFormatterShape<TOptions['errorFormatter']>;\n transformer: undefined extends TOptions['transformer'] ? false : true;\n },\n> {\n /**\n * Your router config\n * @internal\n */\n _config: RootConfig<$Root>;\n\n /**\n * Builder object for creating procedures\n * @see https://trpc.io/docs/v11/server/procedures\n */\n procedure: ProcedureBuilder<\n TContext,\n TMeta,\n object,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n false\n >;\n\n /**\n * Create reusable middlewares\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n middleware: <$ContextOverrides>(\n fn: MiddlewareFunction<TContext, TMeta, object, $ContextOverrides, unknown>,\n ) => MiddlewareBuilder<TContext, TMeta, $ContextOverrides, unknown>;\n\n /**\n * Create a router\n * @see https://trpc.io/docs/v11/server/routers\n */\n router: RouterBuilder<$Root>;\n\n /**\n * Merge Routers\n * @see https://trpc.io/docs/v11/server/merging-routers\n */\n mergeRouters: <TRouters extends AnyRouter[]>(\n ...routerList: [...TRouters]\n ) => MergeRouters<TRouters>;\n\n /**\n * Create a server-side caller for a router\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */\n createCallerFactory: RouterCallerFactory<$Root>;\n}\n\nclass TRPCBuilder<TContext extends object, TMeta extends object> {\n /**\n * Add a context shape as a generic to the root object\n * @see https://trpc.io/docs/v11/server/context\n */\n context<TNewContext extends object | ContextCallback>() {\n return new TRPCBuilder<\n TNewContext extends ContextCallback ? Unwrap<TNewContext> : TNewContext,\n TMeta\n >();\n }\n\n /**\n * Add a meta shape as a generic to the root object\n * @see https://trpc.io/docs/v11/quickstart\n */\n meta<TNewMeta extends object>() {\n return new TRPCBuilder<TContext, TNewMeta>();\n }\n\n /**\n * Create the root object\n * @see https://trpc.io/docs/v11/server/routers#initialize-trpc\n */\n create<TOptions extends RuntimeConfigOptions<TContext, TMeta>>(\n opts?: ValidateShape<TOptions, RuntimeConfigOptions<TContext, TMeta>>,\n ): TRPCRootObject<TContext, TMeta, TOptions> {\n type $Root = CreateRootTypes<{\n ctx: TContext;\n meta: TMeta;\n errorShape: undefined extends TOptions['errorFormatter']\n ? DefaultErrorShape\n : inferErrorFormatterShape<TOptions['errorFormatter']>;\n transformer: undefined extends TOptions['transformer'] ? false : true;\n }>;\n\n const config: RootConfig<$Root> = {\n ...opts,\n transformer: getDataTransformer(opts?.transformer ?? defaultTransformer),\n isDev:\n opts?.isDev ??\n // eslint-disable-next-line @typescript-eslint/dot-notation\n globalThis.process?.env['NODE_ENV'] !== 'production',\n allowOutsideOfServer: opts?.allowOutsideOfServer ?? false,\n errorFormatter: opts?.errorFormatter ?? defaultFormatter,\n isServer: opts?.isServer ?? isServerDefault,\n /**\n * These are just types, they can't be used at runtime\n * @internal\n */\n $types: null as any,\n };\n\n {\n // Server check\n const isServer: boolean = opts?.isServer ?? isServerDefault;\n\n if (!isServer && opts?.allowOutsideOfServer !== true) {\n throw new Error(\n `You're trying to use @trpc/server in a non-server environment. This is not supported by default.`,\n );\n }\n }\n return {\n /**\n * Your router config\n * @internal\n */\n _config: config,\n /**\n * Builder object for creating procedures\n * @see https://trpc.io/docs/v11/server/procedures\n */\n procedure: createBuilder<$Root['ctx'], $Root['meta']>({\n meta: opts?.defaultMeta,\n }),\n /**\n * Create reusable middlewares\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n middleware: createMiddlewareFactory<$Root['ctx'], $Root['meta']>(),\n /**\n * Create a router\n * @see https://trpc.io/docs/v11/server/routers\n */\n router: createRouterFactory<$Root>(config),\n /**\n * Merge Routers\n * @see https://trpc.io/docs/v11/server/merging-routers\n */\n mergeRouters,\n /**\n * Create a server-side caller for a router\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */\n createCallerFactory: createCallerFactory<$Root>(),\n };\n }\n}\n\n/**\n * Builder to initialize the tRPC root object - use this exactly once per backend\n * @see https://trpc.io/docs/v11/quickstart\n */\nexport const initTRPC = new TRPCBuilder();\nexport type { TRPCBuilder };\n"],"mappings":"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"}