@trpc/server 10.6.0 → 10.8.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 (87) hide show
  1. package/dist/adapters/aws-lambda/index.js +2 -2
  2. package/dist/adapters/aws-lambda/index.mjs +2 -2
  3. package/dist/adapters/express.d.ts.map +1 -1
  4. package/dist/adapters/express.js +3 -3
  5. package/dist/adapters/express.mjs +3 -3
  6. package/dist/adapters/fastify/index.js +2 -2
  7. package/dist/adapters/fastify/index.mjs +2 -2
  8. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  9. package/dist/adapters/fetch/index.js +11 -8
  10. package/dist/adapters/fetch/index.mjs +11 -8
  11. package/dist/adapters/fetch/types.d.ts +2 -3
  12. package/dist/adapters/fetch/types.d.ts.map +1 -1
  13. package/dist/adapters/next.d.ts.map +1 -1
  14. package/dist/adapters/next.js +3 -4
  15. package/dist/adapters/next.mjs +3 -4
  16. package/dist/adapters/node-http/index.js +3 -3
  17. package/dist/adapters/node-http/index.mjs +3 -3
  18. package/dist/adapters/node-http/types.d.ts +1 -1
  19. package/dist/adapters/node-http/types.d.ts.map +1 -1
  20. package/dist/adapters/standalone.d.ts +1 -1
  21. package/dist/adapters/standalone.d.ts.map +1 -1
  22. package/dist/adapters/standalone.js +4 -4
  23. package/dist/adapters/standalone.mjs +4 -4
  24. package/dist/adapters/ws.js +1 -1
  25. package/dist/adapters/ws.mjs +1 -1
  26. package/dist/{config-f7bd1fa8.mjs → config-4ca0221b.mjs} +1 -1
  27. package/dist/{config-7b65d7da.js → config-d356ff77.js} +1 -1
  28. package/dist/core/initTRPC.d.ts +34 -34
  29. package/dist/core/initTRPC.d.ts.map +1 -1
  30. package/dist/core/internals/config.d.ts +2 -2
  31. package/dist/core/internals/config.d.ts.map +1 -1
  32. package/dist/core/internals/mergeRouters.d.ts.map +1 -1
  33. package/dist/core/internals/utils.d.ts +0 -1
  34. package/dist/core/internals/utils.d.ts.map +1 -1
  35. package/dist/core/router.d.ts +0 -4
  36. package/dist/core/router.d.ts.map +1 -1
  37. package/dist/deprecated/internals/procedure.d.ts.map +1 -1
  38. package/dist/deprecated/interop.d.ts.map +1 -1
  39. package/dist/deprecated/router.d.ts.map +1 -1
  40. package/dist/http/index.js +2 -2
  41. package/dist/http/index.mjs +2 -2
  42. package/dist/index.js +2 -1
  43. package/dist/index.mjs +3 -2
  44. package/dist/{nodeHTTPRequestHandler-e46cee59.mjs → nodeHTTPRequestHandler-34404221.mjs} +1 -1
  45. package/dist/{nodeHTTPRequestHandler-e6a535cb.js → nodeHTTPRequestHandler-64cf5f55.js} +1 -1
  46. package/dist/observable/index.js +1 -2
  47. package/dist/observable/index.mjs +1 -2
  48. package/dist/observable/operators/share.d.ts.map +1 -1
  49. package/dist/{resolveHTTPResponse-83d9b5ff.js → resolveHTTPResponse-3408bbf7.js} +1 -1
  50. package/dist/{resolveHTTPResponse-a3869d43.mjs → resolveHTTPResponse-b831e644.mjs} +1 -1
  51. package/dist/shared/internal/serialize.d.ts +1 -1
  52. package/dist/shared/internal/serialize.d.ts.map +1 -1
  53. package/dist/subscription.d.ts.map +1 -1
  54. package/dist/subscription.js +0 -1
  55. package/dist/subscription.mjs +0 -1
  56. package/dist/transformer.d.ts.map +1 -1
  57. package/dist/types.d.ts +14 -1
  58. package/dist/types.d.ts.map +1 -1
  59. package/package.json +4 -2
  60. package/src/adapters/express.ts +0 -1
  61. package/src/adapters/fetch/fetchRequestHandler.ts +11 -7
  62. package/src/adapters/fetch/types.ts +4 -3
  63. package/src/adapters/next.ts +0 -2
  64. package/src/adapters/node-http/types.ts +1 -1
  65. package/src/adapters/standalone.ts +1 -3
  66. package/src/core/initTRPC.ts +15 -10
  67. package/src/core/internals/config.ts +2 -2
  68. package/src/core/internals/mergeRouters.ts +1 -0
  69. package/src/core/internals/utils.ts +0 -4
  70. package/src/core/router.ts +3 -7
  71. package/src/deprecated/internals/procedure.ts +0 -1
  72. package/src/deprecated/interop.ts +1 -0
  73. package/src/deprecated/router.ts +5 -2
  74. package/src/http/resolveHTTPResponse.ts +1 -1
  75. package/src/internals/invert.ts +1 -1
  76. package/src/observable/observable.test.ts +0 -1
  77. package/src/observable/operators/share.ts +0 -2
  78. package/src/shared/internal/serialize.ts +5 -1
  79. package/src/subscription.ts +0 -1
  80. package/src/transformer.ts +0 -2
  81. package/src/types.ts +23 -3
  82. package/dist/core/internals/prefixObjectKeys.d.ts +0 -2
  83. package/dist/core/internals/prefixObjectKeys.d.ts.map +0 -1
  84. package/dist/deprecated/internals/callProcedure.d.ts +0 -13
  85. package/dist/deprecated/internals/callProcedure.d.ts.map +0 -1
  86. package/src/core/internals/prefixObjectKeys.ts +0 -9
  87. package/src/deprecated/internals/callProcedure.ts +0 -35
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
1
+ /* eslint-disable @typescript-eslint/ban-types */
2
2
  import { TRPCError } from '../error/TRPCError';
3
3
  import { defaultFormatter } from '../error/formatter';
4
4
  import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode';
@@ -81,6 +81,7 @@ export type ProcedureRecord<
81
81
  * @public
82
82
  * @deprecated
83
83
  */
84
+ // ts-prune-ignore-next
84
85
  export type inferProcedureInput<
85
86
  TProcedure extends Procedure<any, any, any, any, any, any, any>,
86
87
  > = TProcedure extends Procedure<any, any, any, infer Input, any, any, any>
@@ -109,6 +110,7 @@ export type inferProcedureOutput<
109
110
  * @beta
110
111
  * @deprecated
111
112
  */
113
+ // ts-prune-ignore-next
112
114
  export type inferSubscriptionOutput<
113
115
  TRouter extends AnyRouter,
114
116
  TPath extends keyof TRouter['_def']['subscriptions'],
@@ -157,6 +159,7 @@ export type inferRouterContext<TRouter extends AnyRouter> = Parameters<
157
159
  /**
158
160
  * @internal
159
161
  */
162
+ // ts-prune-ignore-next
160
163
  export type inferRouterMeta<TRouter extends AnyRouter> = TRouter extends Router<
161
164
  any,
162
165
  any,
@@ -189,6 +192,7 @@ export type AnyRouter<TContext extends Record<string, any> = any> = Router<
189
192
  * @internal
190
193
  * @deprecated
191
194
  */
195
+ // ts-prune-ignore-next
192
196
  export type inferRouterError<TRouter extends AnyRouter> = ReturnType<
193
197
  TRouter['getErrorShape']
194
198
  >;
@@ -255,7 +259,6 @@ type SwapProcedureContext<
255
259
  TNewContext,
256
260
  > = TProcedure extends Procedure<
257
261
  infer TInputContext,
258
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
259
262
  infer _TOldContext,
260
263
  infer TMeta,
261
264
  infer TInput,
@@ -168,7 +168,7 @@ export async function resolveHTTPResponse<
168
168
  const input: Record<number, unknown> = {};
169
169
  for (const key in rawInput) {
170
170
  const k = key as any as number;
171
- const rawValue = (rawInput as any)[k];
171
+ const rawValue = rawInput[k];
172
172
 
173
173
  const value = deserializeInputValue(rawValue);
174
174
 
@@ -9,7 +9,7 @@ type Invert<TType extends Record<PropertyKey, PropertyKey>> = {
9
9
  export function invert<TRecord extends Record<PropertyKey, PropertyKey>>(
10
10
  obj: TRecord,
11
11
  ): Invert<TRecord> {
12
- const newObj = Object.create(null) as any;
12
+ const newObj = Object.create(null);
13
13
  for (const key in obj) {
14
14
  const v = obj[key];
15
15
  newObj[v] = key;
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-empty-function */
2
1
  import { observable, share, tap } from '.';
3
2
 
4
3
  test('vanilla observable - complete()', () => {
@@ -1,9 +1,7 @@
1
1
  import { MonoTypeOperatorFunction, Observer, Unsubscribable } from '../types';
2
2
 
3
- /* eslint-disable @typescript-eslint/no-empty-interface */
4
3
  interface ShareConfig {}
5
4
  export function share<TValue, TError>(
6
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
5
  _opts?: ShareConfig,
8
6
  ): MonoTypeOperatorFunction<TValue, TError> {
9
7
  return (originalObserver) => {
@@ -8,10 +8,14 @@ type JsonPrimitive =
8
8
  | string
9
9
  | number
10
10
  | boolean
11
+ // eslint-disable-next-line @typescript-eslint/ban-types
11
12
  | String
13
+ // eslint-disable-next-line @typescript-eslint/ban-types
12
14
  | Number
15
+ // eslint-disable-next-line @typescript-eslint/ban-types
13
16
  | Boolean
14
17
  | null;
18
+ // eslint-disable-next-line @typescript-eslint/ban-types
15
19
  type NonJsonPrimitive = undefined | Function | symbol;
16
20
 
17
21
  /*
@@ -24,7 +28,7 @@ type IsAny<T> = 0 extends 1 & T ? true : false;
24
28
  export type Serialize<T> =
25
29
  IsAny<T> extends true ? any :
26
30
  T extends JsonPrimitive ? T :
27
- T extends Map<any,any> | Set<any> ? {} :
31
+ T extends Map<any,any> | Set<any> ? object :
28
32
  T extends NonJsonPrimitive ? never :
29
33
  T extends { toJSON(): infer U } ? U :
30
34
  T extends [] ? [] :
@@ -8,7 +8,6 @@ export function subscriptionPullFactory<TOutput>(opts: {
8
8
  intervalMs: number;
9
9
  pull(emit: Observer<TOutput, unknown>): void | Promise<void>;
10
10
  }): Observable<TOutput, unknown> {
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
11
  let timer: any;
13
12
  let stopped = false;
14
13
  async function _pull(emit: Observer<TOutput, unknown>) {
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
1
  /**
4
2
  * @public
5
3
  */
package/src/types.ts CHANGED
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
1
  /**
4
2
  * @internal
5
3
  */
@@ -28,6 +26,20 @@ export type FlatOverwrite<TType, TWith> = InferOptional<
28
26
  UndefinedKeys<TType> | UndefinedKeys<TWith>
29
27
  >;
30
28
 
29
+ /**
30
+ * @internal
31
+ */
32
+ export type IntersectionError<TKey extends string> =
33
+ `${TKey} collides with a built-in method, you should rename this router or procedure on your backend`;
34
+
35
+ /**
36
+ * @internal
37
+ */
38
+ export type ProtectedIntersection<TType, TWith> = keyof TType &
39
+ keyof TWith extends never
40
+ ? TType & TWith
41
+ : IntersectionError<keyof TType & keyof TWith & string>;
42
+
31
43
  /**
32
44
  * @public
33
45
  */
@@ -46,7 +58,7 @@ export type ThenArg<TType> = TType extends PromiseLike<infer U>
46
58
  */
47
59
  export type Simplify<TType> = TType extends any[] | Date
48
60
  ? TType
49
- : { [K in keyof TType]: TType[K] } & {};
61
+ : { [K in keyof TType]: TType[K] };
50
62
  /**
51
63
  * @public
52
64
  */
@@ -84,3 +96,11 @@ export type Filter<TObj extends object, TFilter> = Pick<
84
96
  TObj,
85
97
  FilterKeys<TObj, TFilter>
86
98
  >;
99
+
100
+ /**
101
+ * Unwrap return type if the type is a function (sync or async), else use the type as is
102
+ * @internal
103
+ */
104
+ export type Unwrap<TType> = TType extends (...args: any[]) => infer R
105
+ ? ThenArg<R>
106
+ : TType;
@@ -1,2 +0,0 @@
1
- export declare function prefixObjectKeys(obj: Record<string, unknown>, prefix: string): Record<string, unknown>;
2
- //# sourceMappingURL=prefixObjectKeys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefixObjectKeys.d.ts","sourceRoot":"","sources":["../../../src/core/internals/prefixObjectKeys.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,2BAM5E"}
@@ -1,13 +0,0 @@
1
- import { Observable } from '../../observable';
2
- import { AnyRouter, ProcedureType } from '../router';
3
- /**
4
- * @deprecated
5
- */
6
- export declare function callProcedure<TRouter extends AnyRouter<TContext>, TContext extends Record<string, any>>(opts: {
7
- path: string;
8
- input: unknown;
9
- router: TRouter;
10
- ctx: TContext;
11
- type: ProcedureType;
12
- }): Promise<unknown | Observable<TRouter, any>>;
13
- //# sourceMappingURL=callProcedure.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"callProcedure.d.ts","sourceRoot":"","sources":["../../../src/deprecated/internals/callProcedure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAErD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,SAAS,SAAS,CAAC,QAAQ,CAAC,EACnC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,IAAI,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;CACrB,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAmB9C"}
@@ -1,9 +0,0 @@
1
- import { omitPrototype } from './omitPrototype';
2
-
3
- export function prefixObjectKeys(obj: Record<string, unknown>, prefix: string) {
4
- const newObj: Record<string, unknown> = omitPrototype({});
5
- for (const key in obj ?? {}) {
6
- newObj[prefix + key] = obj[key];
7
- }
8
- return newObj;
9
- }
@@ -1,35 +0,0 @@
1
- import { Observable } from '../../observable';
2
- import { AnyRouter, ProcedureType } from '../router';
3
-
4
- /**
5
- * @deprecated
6
- */
7
- export async function callProcedure<
8
- TRouter extends AnyRouter<TContext>,
9
- TContext extends Record<string, any>,
10
- >(opts: {
11
- path: string;
12
- input: unknown;
13
- router: TRouter;
14
- ctx: TContext;
15
- type: ProcedureType;
16
- }): Promise<unknown | Observable<TRouter, any>> {
17
- const { type, path, input } = opts;
18
-
19
- const caller = opts.router.createCaller(opts.ctx);
20
- if (type === 'query') {
21
- return caller.query(path, input as any);
22
- }
23
- if (type === 'mutation') {
24
- return caller.mutation(path, input as any);
25
- }
26
- if (type === 'subscription') {
27
- const sub = (await caller.subscription(path, input as any)) as Observable<
28
- any,
29
- any
30
- >;
31
- return sub;
32
- }
33
- /* istanbul ignore next */
34
- throw new Error(`Unknown procedure type ${type}`);
35
- }