@orpc/server 2.0.0-beta.49 → 2.0.0-beta.50

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 (139) hide show
  1. package/dist/adapters/aws-lambda/handler.d.ts +17 -15
  2. package/dist/adapters/aws-lambda/handler.js +23 -23
  3. package/dist/adapters/aws-lambda/index.d.ts +4 -16
  4. package/dist/adapters/aws-lambda/index.js +2 -2
  5. package/dist/adapters/aws-lambda/rpc-handler.d.ts +9 -9
  6. package/dist/adapters/aws-lambda/rpc-handler.js +20 -17
  7. package/dist/adapters/crossws/handler.d.ts +44 -42
  8. package/dist/adapters/crossws/handler.js +53 -60
  9. package/dist/adapters/crossws/index.d.ts +3 -2
  10. package/dist/adapters/crossws/index.js +2 -2
  11. package/dist/adapters/crossws/rpc-handler.d.ts +10 -10
  12. package/dist/adapters/crossws/rpc-handler.js +17 -14
  13. package/dist/adapters/fastify/handler.d.ts +17 -15
  14. package/dist/adapters/fastify/handler.js +20 -20
  15. package/dist/adapters/fastify/index.d.ts +3 -2
  16. package/dist/adapters/fastify/index.js +2 -2
  17. package/dist/adapters/fastify/rpc-handler.d.ts +9 -9
  18. package/dist/adapters/fastify/rpc-handler.js +16 -13
  19. package/dist/adapters/fetch/handler.d.ts +19 -17
  20. package/dist/adapters/fetch/handler.js +22 -22
  21. package/dist/adapters/fetch/index.d.ts +4 -7
  22. package/dist/adapters/fetch/index.js +3 -7
  23. package/dist/adapters/fetch/rpc-handler.d.ts +9 -9
  24. package/dist/adapters/fetch/rpc-handler.js +18 -15
  25. package/dist/adapters/message-port/handler.d.ts +58 -60
  26. package/dist/adapters/message-port/handler.js +72 -86
  27. package/dist/adapters/message-port/index.d.ts +3 -2
  28. package/dist/adapters/message-port/index.js +2 -2
  29. package/dist/adapters/message-port/rpc-handler.d.ts +9 -9
  30. package/dist/adapters/message-port/rpc-handler.js +17 -14
  31. package/dist/adapters/node/handler.d.ts +17 -15
  32. package/dist/adapters/node/handler.js +20 -20
  33. package/dist/adapters/node/index.d.ts +4 -7
  34. package/dist/adapters/node/index.js +3 -7
  35. package/dist/adapters/node/rpc-handler.d.ts +9 -9
  36. package/dist/adapters/node/rpc-handler.js +17 -14
  37. package/dist/adapters/standard/codec.d.ts +13 -13
  38. package/dist/adapters/standard/handler.d.ts +49 -49
  39. package/dist/adapters/standard/handler.js +205 -205
  40. package/dist/adapters/standard/index.d.ts +7 -6
  41. package/dist/adapters/standard/index.js +4 -5
  42. package/dist/adapters/standard/plugin.d.ts +25 -31
  43. package/dist/adapters/standard/plugin.js +14 -16
  44. package/dist/adapters/standard/rpc-handler-codec.d.ts +39 -43
  45. package/dist/adapters/standard/rpc-handler-codec.js +50 -51
  46. package/dist/adapters/standard/rpc-matcher.d.ts +40 -40
  47. package/dist/adapters/standard/rpc-matcher.js +103 -149
  48. package/dist/adapters/standard/utils.d.ts +8 -8
  49. package/dist/adapters/standard/utils.js +7 -5
  50. package/dist/adapters/standard-peer/index.d.ts +2 -1
  51. package/dist/adapters/standard-peer/index.js +1 -1
  52. package/dist/adapters/standard-peer/utils.d.ts +6 -4
  53. package/dist/adapters/standard-peer/utils.js +12 -6
  54. package/dist/adapters/websocket/handler.d.ts +52 -50
  55. package/dist/adapters/websocket/handler.js +75 -85
  56. package/dist/adapters/websocket/index.d.ts +3 -2
  57. package/dist/adapters/websocket/index.js +2 -2
  58. package/dist/adapters/websocket/rpc-handler.d.ts +9 -9
  59. package/dist/adapters/websocket/rpc-handler.js +17 -14
  60. package/dist/builder-variants.d.ts +195 -195
  61. package/dist/builder.d.ts +103 -104
  62. package/dist/builder.js +198 -224
  63. package/dist/constants.d.ts +1 -1
  64. package/dist/constants.js +4 -2
  65. package/dist/context.d.ts +3 -3
  66. package/dist/extensions/callable.d.ts +11 -11
  67. package/dist/extensions/callable.js +6 -5
  68. package/dist/helpers/base64url.d.ts +1 -1
  69. package/dist/helpers/base64url.js +44 -49
  70. package/dist/helpers/cookie.d.ts +10 -11
  71. package/dist/helpers/cookie.js +56 -63
  72. package/dist/helpers/encryption.d.ts +1 -1
  73. package/dist/helpers/encryption.js +80 -70
  74. package/dist/helpers/index.d.ts +5 -4
  75. package/dist/helpers/index.js +4 -4
  76. package/dist/helpers/signing.d.ts +1 -1
  77. package/dist/helpers/signing.js +72 -82
  78. package/dist/implementer-procedure.d.ts +12 -13
  79. package/dist/implementer-procedure.js +37 -44
  80. package/dist/implementer-router.d.ts +30 -36
  81. package/dist/implementer-router.js +92 -111
  82. package/dist/implementer.d.ts +8 -8
  83. package/dist/implementer.js +28 -35
  84. package/dist/index.d.ts +22 -61
  85. package/dist/index.js +16 -48
  86. package/dist/lazy.d.ts +14 -14
  87. package/dist/lazy.js +19 -30
  88. package/dist/middleware-decorated.d.ts +8 -9
  89. package/dist/middleware-decorated.js +66 -70
  90. package/dist/middleware.d.ts +34 -34
  91. package/dist/plugins/batch.d.ts +75 -75
  92. package/dist/plugins/batch.js +345 -379
  93. package/dist/plugins/cors.d.ts +60 -64
  94. package/dist/plugins/cors.js +118 -111
  95. package/dist/plugins/get-method-csrf-protection.d.ts +8 -6
  96. package/dist/plugins/get-method-csrf-protection.js +47 -63
  97. package/dist/plugins/head-method.d.ts +11 -9
  98. package/dist/plugins/head-method.js +97 -94
  99. package/dist/plugins/index.d.ts +15 -39
  100. package/dist/plugins/index.js +14 -29
  101. package/dist/plugins/method-override.d.ts +30 -28
  102. package/dist/plugins/method-override.js +53 -49
  103. package/dist/plugins/request-compression.d.ts +11 -9
  104. package/dist/plugins/request-compression.js +52 -79
  105. package/dist/plugins/request-headers.d.ts +10 -8
  106. package/dist/plugins/request-headers.js +27 -29
  107. package/dist/plugins/request-limit.d.ts +21 -19
  108. package/dist/plugins/request-limit.js +60 -67
  109. package/dist/plugins/response-compression.d.ts +42 -39
  110. package/dist/plugins/response-compression.js +150 -202
  111. package/dist/plugins/response-headers.d.ts +15 -13
  112. package/dist/plugins/response-headers.js +43 -46
  113. package/dist/plugins/rethrow.d.ts +25 -23
  114. package/dist/plugins/rethrow.js +46 -58
  115. package/dist/plugins/signal-sync.d.ts +7 -5
  116. package/dist/plugins/signal-sync.js +71 -86
  117. package/dist/plugins/timeout.d.ts +29 -27
  118. package/dist/plugins/timeout.js +61 -58
  119. package/dist/procedure-client.d.ts +14 -15
  120. package/dist/procedure-client.js +149 -166
  121. package/dist/procedure-decorated.d.ts +9 -9
  122. package/dist/procedure-decorated.js +36 -44
  123. package/dist/procedure-utils.d.ts +10 -30
  124. package/dist/procedure-utils.js +39 -40
  125. package/dist/procedure.d.ts +60 -60
  126. package/dist/procedure.js +18 -24
  127. package/dist/router-client.d.ts +9 -11
  128. package/dist/router-client.js +33 -41
  129. package/dist/router-hidden.js +10 -12
  130. package/dist/router-utils.d.ts +13 -30
  131. package/dist/router-utils.js +146 -191
  132. package/dist/router.d.ts +12 -26
  133. package/package.json +10 -10
  134. package/dist/adapters/standard/codec.js +0 -1
  135. package/dist/builder-variants.js +0 -1
  136. package/dist/context.js +0 -1
  137. package/dist/middleware.js +0 -1
  138. package/dist/router-hidden.d.ts +0 -5
  139. package/dist/router.js +0 -1
package/dist/builder.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- import type { AnySchema, ErrorMap, InferSchemaInput, InferSchemaOutput, InitialInputSchema, InitialOutputSchema, MergedErrorMap, MetaPlugin, ORPCErrorConstructorMap, ProcedureContractDefinition, Schema } from '@orpc/contract';
2
- import type { IntersectPick } from '@orpc/shared';
3
- import type { BuilderWithInput, BuilderWithMiddlewares, BuilderWithOutput } from './builder-variants.ts';
4
- import type { Context, MergedInitialContext } from './context.ts';
5
- import { Lazy } from './lazy.ts';
6
- import type { DecoratedMiddleware } from './middleware-decorated.ts';
7
- import type { Middleware } from './middleware.ts';
8
- import { DecoratedProcedure } from './procedure-decorated.ts';
9
- import type { OrderedMiddleware, ProcedureConfig, ProcedureHandler } from './procedure.ts';
10
- import type { AugmentedRouter } from './router-utils.ts';
11
- import type { AnyRouter } from './router.ts';
1
+ import { BuilderWithInput, BuilderWithMiddlewares, BuilderWithOutput } from "./builder-variants.js";
2
+ import { Context, MergedInitialContext } from "./context.js";
3
+ import { Lazy } from "./lazy.js";
4
+ import { Middleware } from "./middleware.js";
5
+ import { DecoratedMiddleware } from "./middleware-decorated.js";
6
+ import { OrderedMiddleware, ProcedureConfig, ProcedureHandler } from "./procedure.js";
7
+ import { DecoratedProcedure } from "./procedure-decorated.js";
8
+ import { AnyRouter } from "./router.js";
9
+ import { AugmentedRouter } from "./router-utils.js";
10
+ import { AnySchema, ErrorMap, InferSchemaInput, InferSchemaOutput, InitialInputSchema, InitialOutputSchema, MergedErrorMap, MetaPlugin, ORPCErrorConstructorMap, ProcedureContractDefinition, Schema } from "@orpc/contract";
11
+ import { IntersectPick } from "@orpc/shared";
12
12
  /**
13
13
  * The initial context type used when `.$context` is not called.
14
14
  * Augment this interface with `declare module '@orpc/server'` to define
@@ -16,10 +16,9 @@ import type { AnyRouter } from './router.ts';
16
16
  *
17
17
  * @see {@link https://orpc.dev/docs/context#default-initial-context | Context - Default Initial Context}
18
18
  */
19
- export interface DefaultInitialContext {
20
- }
19
+ export interface DefaultInitialContext {}
21
20
  export interface BuilderDefinition<TInputSchema extends AnySchema, TInjectedContext extends AnySchema, TErrorMap extends ErrorMap> extends ProcedureContractDefinition<TInputSchema, TInjectedContext, TErrorMap>, ProcedureConfig {
22
- orderedMiddlewares: OrderedMiddleware[];
21
+ orderedMiddlewares: OrderedMiddleware[];
23
22
  }
24
23
  /**
25
24
  * The procedure builder behind `os`. Chain its methods to gradually define
@@ -28,95 +27,95 @@ export interface BuilderDefinition<TInputSchema extends AnySchema, TInjectedCont
28
27
  * @see {@link https://orpc.dev/docs/procedure | Procedure}
29
28
  */
30
29
  export declare class Builder<TInitialContext extends Context, TErrorMap extends ErrorMap> {
31
- '~orpc': BuilderDefinition<InitialInputSchema, InitialOutputSchema, TErrorMap>;
32
- /**
33
- * Private constructor to prevent direct instantiation.
34
- * Use the static `create` method to initialize a new instance with a safe initial definition.
35
- */
36
- private constructor();
37
- /**
38
- * Creates a fresh builder with an empty definition.
39
- * Prefer the exported `os` instance over calling this directly.
40
- *
41
- * @see {@link https://orpc.dev/docs/procedure | Procedure}
42
- */
43
- static 'create'<T extends Context = DefaultInitialContext>(): Builder<T & object, Record<never, never>>;
44
- /**
45
- * Declares the initial context type that must be provided when executing
46
- * procedures built from this builder.
47
- *
48
- * @see {@link https://orpc.dev/docs/context#initial-context | Context - Initial Context}
49
- */
50
- '$context'<T extends Context = DefaultInitialContext>(): Builder<T & object, TErrorMap>;
51
- /**
52
- * Overrides the procedure configuration, such as disabling runtime
53
- * input/output validation.
54
- *
55
- * @see {@link https://orpc.dev/docs/recipes/validation-customization | Validation Customization}
56
- */
57
- '$config'(config: ProcedureConfig): Builder<TInitialContext, TErrorMap>;
58
- /**
59
- * Applies metadata plugins to procedures built from this builder.
60
- *
61
- * @see {@link https://orpc.dev/docs/metadata | Metadata}
62
- */
63
- 'meta'(...plugins: MetaPlugin<InitialInputSchema, InitialOutputSchema, TErrorMap>[]): Builder<TInitialContext, TErrorMap>;
64
- /**
65
- * Defines typesafe errors that procedures built from this builder can throw
66
- * via the `errors` utility in handlers and middleware.
67
- *
68
- * @see {@link https://orpc.dev/docs/error-handling#typesafe-errors | Error Handling - Typesafe Errors}
69
- */
70
- 'errors'<U extends ErrorMap>(errors: U): Builder<TInitialContext, MergedErrorMap<TErrorMap, U>>;
71
- /**
72
- * Applies a middleware that runs before the handler of every procedure
73
- * built from this builder.
74
- *
75
- * @see {@link https://orpc.dev/docs/middleware | Middleware}
76
- */
77
- 'use'<$OutContext extends IntersectPick<TInitialContext, $OutContext>, $InContext extends Context = TInitialContext, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | TInitialContext, $OutContext, InferSchemaOutput<InitialInputSchema>, InferSchemaInput<InitialOutputSchema>, $ErrorMap>): BuilderWithMiddlewares<MergedInitialContext<TInitialContext, object, $InContext>, $OutContext, MergedErrorMap<$ErrorMap, TErrorMap>>;
78
- /**
79
- * Creates a standalone middleware that can be composed and applied to any
80
- * compatible builder or procedure with `.use`.
81
- *
82
- * @see {@link https://orpc.dev/docs/middleware | Middleware}
83
- */
84
- 'middleware'<$OutContext extends IntersectPick<TInitialContext, $OutContext>, $Input, $Output = any>(middleware: Middleware<TInitialContext, $OutContext, $Input, $Output, TErrorMap>): DecoratedMiddleware<TInitialContext, $OutContext, $Input, $Output, TErrorMap>;
85
- /**
86
- * Defines the input schema used to validate and type the procedure input.
87
- *
88
- * @see {@link https://orpc.dev/docs/procedure#inputoutput-validation | Procedure - Input/Output Validation}
89
- */
90
- 'input'<$ extends AnySchema>(schema: $): BuilderWithInput<TInitialContext, object, $, TErrorMap>;
91
- /**
92
- * Defines the output schema used to validate and type the procedure output.
93
- *
94
- * @see {@link https://orpc.dev/docs/procedure#inputoutput-validation | Procedure - Input/Output Validation}
95
- */
96
- 'output'<$ extends AnySchema>(schema: $): BuilderWithOutput<TInitialContext, object, $, TErrorMap>;
97
- /**
98
- * Defines the function that implements the procedure and completes the
99
- * chain, returning a callable procedure.
100
- *
101
- * @see {@link https://orpc.dev/docs/procedure | Procedure}
102
- */
103
- 'handler'<T>(handler: ProcedureHandler<TInitialContext, InferSchemaOutput<InitialInputSchema>, T, ORPCErrorConstructorMap<TErrorMap>>): DecoratedProcedure<TInitialContext, object, InitialInputSchema, Schema<T>, TErrorMap>;
104
- /**
105
- * Applies the builder's middleware, errors, and metadata to every procedure
106
- * in the given router.
107
- *
108
- * @see {@link https://orpc.dev/docs/router#extending-router | Router - Extending Router}
109
- */
110
- 'router'<T extends AnyRouter>(router: T): AugmentedRouter<T, TErrorMap>;
111
- /**
112
- * Like `.router`, but loads the router lazily on first access, which helps
113
- * reduce startup time for large applications.
114
- *
115
- * @see {@link https://orpc.dev/docs/router#lazy-router | Router - Lazy Router}
116
- */
117
- 'lazy'<T extends AnyRouter>(loader: () => Promise<{
118
- default: T;
119
- }>): Lazy<AugmentedRouter<T, TErrorMap>>;
30
+ "~orpc": BuilderDefinition<InitialInputSchema, InitialOutputSchema, TErrorMap>;
31
+ /**
32
+ * Private constructor to prevent direct instantiation.
33
+ * Use the static `create` method to initialize a new instance with a safe initial definition.
34
+ */
35
+ private "constructor"();
36
+ /**
37
+ * Creates a fresh builder with an empty definition.
38
+ * Prefer the exported `os` instance over calling this directly.
39
+ *
40
+ * @see {@link https://orpc.dev/docs/procedure | Procedure}
41
+ */
42
+ static "create"<T extends Context = DefaultInitialContext>(): Builder<T & object, Record<never, never>>;
43
+ /**
44
+ * Declares the initial context type that must be provided when executing
45
+ * procedures built from this builder.
46
+ *
47
+ * @see {@link https://orpc.dev/docs/context#initial-context | Context - Initial Context}
48
+ */
49
+ "$context"<T extends Context = DefaultInitialContext>(): Builder<T & object, TErrorMap>;
50
+ /**
51
+ * Overrides the procedure configuration, such as disabling runtime
52
+ * input/output validation.
53
+ *
54
+ * @see {@link https://orpc.dev/docs/recipes/validation-customization | Validation Customization}
55
+ */
56
+ "$config"(config: ProcedureConfig): Builder<TInitialContext, TErrorMap>;
57
+ /**
58
+ * Applies metadata plugins to procedures built from this builder.
59
+ *
60
+ * @see {@link https://orpc.dev/docs/metadata | Metadata}
61
+ */
62
+ "meta"(...plugins: MetaPlugin<InitialInputSchema, InitialOutputSchema, TErrorMap>[]): Builder<TInitialContext, TErrorMap>;
63
+ /**
64
+ * Defines typesafe errors that procedures built from this builder can throw
65
+ * via the `errors` utility in handlers and middleware.
66
+ *
67
+ * @see {@link https://orpc.dev/docs/error-handling#typesafe-errors | Error Handling - Typesafe Errors}
68
+ */
69
+ "errors"<U extends ErrorMap>(errors: U): Builder<TInitialContext, MergedErrorMap<TErrorMap, U>>;
70
+ /**
71
+ * Applies a middleware that runs before the handler of every procedure
72
+ * built from this builder.
73
+ *
74
+ * @see {@link https://orpc.dev/docs/middleware | Middleware}
75
+ */
76
+ "use"<$OutContext extends IntersectPick<TInitialContext, $OutContext>, $InContext extends Context = TInitialContext, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | TInitialContext, $OutContext, InferSchemaOutput<InitialInputSchema>, InferSchemaInput<InitialOutputSchema>, $ErrorMap>): BuilderWithMiddlewares<MergedInitialContext<TInitialContext, object, $InContext>, $OutContext, MergedErrorMap<$ErrorMap, TErrorMap>>;
77
+ /**
78
+ * Creates a standalone middleware that can be composed and applied to any
79
+ * compatible builder or procedure with `.use`.
80
+ *
81
+ * @see {@link https://orpc.dev/docs/middleware | Middleware}
82
+ */
83
+ "middleware"<$OutContext extends IntersectPick<TInitialContext, $OutContext>, $Input, $Output = any>(middleware: Middleware<TInitialContext, $OutContext, $Input, $Output, TErrorMap>): DecoratedMiddleware<TInitialContext, $OutContext, $Input, $Output, TErrorMap>;
84
+ /**
85
+ * Defines the input schema used to validate and type the procedure input.
86
+ *
87
+ * @see {@link https://orpc.dev/docs/procedure#inputoutput-validation | Procedure - Input/Output Validation}
88
+ */
89
+ "input"<$ extends AnySchema>(schema: $): BuilderWithInput<TInitialContext, object, $, TErrorMap>;
90
+ /**
91
+ * Defines the output schema used to validate and type the procedure output.
92
+ *
93
+ * @see {@link https://orpc.dev/docs/procedure#inputoutput-validation | Procedure - Input/Output Validation}
94
+ */
95
+ "output"<$ extends AnySchema>(schema: $): BuilderWithOutput<TInitialContext, object, $, TErrorMap>;
96
+ /**
97
+ * Defines the function that implements the procedure and completes the
98
+ * chain, returning a callable procedure.
99
+ *
100
+ * @see {@link https://orpc.dev/docs/procedure | Procedure}
101
+ */
102
+ "handler"<T>(handler: ProcedureHandler<TInitialContext, InferSchemaOutput<InitialInputSchema>, T, ORPCErrorConstructorMap<TErrorMap>>): DecoratedProcedure<TInitialContext, object, InitialInputSchema, Schema<T>, TErrorMap>;
103
+ /**
104
+ * Applies the builder's middleware, errors, and metadata to every procedure
105
+ * in the given router.
106
+ *
107
+ * @see {@link https://orpc.dev/docs/router#extending-router | Router - Extending Router}
108
+ */
109
+ "router"<T extends AnyRouter>(router: T): AugmentedRouter<T, TErrorMap>;
110
+ /**
111
+ * Like `.router`, but loads the router lazily on first access, which helps
112
+ * reduce startup time for large applications.
113
+ *
114
+ * @see {@link https://orpc.dev/docs/router#lazy-router | Router - Lazy Router}
115
+ */
116
+ "lazy"<T extends AnyRouter>(loader: () => Promise<{
117
+ default: T;
118
+ }>): Lazy<AugmentedRouter<T, TErrorMap>>;
120
119
  }
121
120
  /**
122
121
  * The oRPC procedure builder. Chain methods like `.input`, `.use`, and `.handler`
@@ -124,4 +123,4 @@ export declare class Builder<TInitialContext extends Context, TErrorMap extends
124
123
  *
125
124
  * @see {@link https://orpc.dev/docs/procedure | Procedure}
126
125
  */
127
- export declare const os: Builder<DefaultInitialContext & object, Record<never, never>>;
126
+ export declare const os: Builder<DefaultInitialContext & object, Record<never, never>>;