@orpc/server 0.0.0-next.cba521d → 0.0.0-next.cc8802c

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 (75) hide show
  1. package/README.md +118 -0
  2. package/dist/adapters/fetch/index.d.mts +26 -0
  3. package/dist/adapters/fetch/index.d.ts +26 -0
  4. package/dist/adapters/fetch/index.mjs +9 -0
  5. package/dist/adapters/hono/index.d.mts +19 -0
  6. package/dist/adapters/hono/index.d.ts +19 -0
  7. package/dist/adapters/hono/index.mjs +32 -0
  8. package/dist/adapters/next/index.d.mts +26 -0
  9. package/dist/adapters/next/index.d.ts +26 -0
  10. package/dist/adapters/next/index.mjs +29 -0
  11. package/dist/adapters/node/index.d.mts +34 -0
  12. package/dist/adapters/node/index.d.ts +34 -0
  13. package/dist/adapters/node/index.mjs +31 -0
  14. package/dist/adapters/standard/index.d.mts +25 -0
  15. package/dist/adapters/standard/index.d.ts +25 -0
  16. package/dist/adapters/standard/index.mjs +6 -0
  17. package/dist/index.d.mts +269 -0
  18. package/dist/index.d.ts +269 -0
  19. package/dist/index.mjs +343 -0
  20. package/dist/plugins/index.d.mts +31 -0
  21. package/dist/plugins/index.d.ts +31 -0
  22. package/dist/plugins/index.mjs +103 -0
  23. package/dist/shared/server.CM3tWr3C.d.mts +75 -0
  24. package/dist/shared/server.CMrS28Go.mjs +346 -0
  25. package/dist/shared/server.CPteJIPP.d.mts +143 -0
  26. package/dist/shared/server.CPteJIPP.d.ts +143 -0
  27. package/dist/shared/server.CSZRzcSW.mjs +158 -0
  28. package/dist/shared/server.Cq3B6PoL.mjs +28 -0
  29. package/dist/shared/server.DmW25ynm.d.ts +75 -0
  30. package/dist/shared/server.Q6ZmnTgO.mjs +12 -0
  31. package/package.json +36 -24
  32. package/dist/chunk-3EVCPLVI.js +0 -301
  33. package/dist/chunk-OUPZ7QGV.js +0 -245
  34. package/dist/chunk-WUOGVGWG.js +0 -1
  35. package/dist/fetch.js +0 -15
  36. package/dist/hono.js +0 -30
  37. package/dist/index.js +0 -562
  38. package/dist/next.js +0 -36
  39. package/dist/node.js +0 -87
  40. package/dist/src/adapters/fetch/index.d.ts +0 -6
  41. package/dist/src/adapters/fetch/orpc-handler.d.ts +0 -20
  42. package/dist/src/adapters/fetch/orpc-payload-codec.d.ts +0 -16
  43. package/dist/src/adapters/fetch/orpc-procedure-matcher.d.ts +0 -12
  44. package/dist/src/adapters/fetch/super-json.d.ts +0 -12
  45. package/dist/src/adapters/fetch/types.d.ts +0 -21
  46. package/dist/src/adapters/hono/index.d.ts +0 -3
  47. package/dist/src/adapters/hono/middleware.d.ts +0 -12
  48. package/dist/src/adapters/next/index.d.ts +0 -3
  49. package/dist/src/adapters/next/serve.d.ts +0 -19
  50. package/dist/src/adapters/node/index.d.ts +0 -5
  51. package/dist/src/adapters/node/orpc-handler.d.ts +0 -12
  52. package/dist/src/adapters/node/request-listener.d.ts +0 -28
  53. package/dist/src/adapters/node/types.d.ts +0 -22
  54. package/dist/src/builder.d.ts +0 -36
  55. package/dist/src/error.d.ts +0 -10
  56. package/dist/src/hidden.d.ts +0 -6
  57. package/dist/src/implementer-chainable.d.ts +0 -10
  58. package/dist/src/index.d.ts +0 -25
  59. package/dist/src/lazy-decorated.d.ts +0 -7
  60. package/dist/src/lazy-utils.d.ts +0 -4
  61. package/dist/src/lazy.d.ts +0 -18
  62. package/dist/src/middleware-decorated.d.ts +0 -9
  63. package/dist/src/middleware.d.ts +0 -36
  64. package/dist/src/procedure-builder.d.ts +0 -24
  65. package/dist/src/procedure-client.d.ts +0 -22
  66. package/dist/src/procedure-decorated.d.ts +0 -26
  67. package/dist/src/procedure-implementer.d.ts +0 -20
  68. package/dist/src/procedure-utils.d.ts +0 -17
  69. package/dist/src/procedure.d.ts +0 -44
  70. package/dist/src/router-builder.d.ts +0 -29
  71. package/dist/src/router-client.d.ts +0 -26
  72. package/dist/src/router-implementer.d.ts +0 -21
  73. package/dist/src/router.d.ts +0 -16
  74. package/dist/src/types.d.ts +0 -14
  75. package/dist/src/utils.d.ts +0 -3
@@ -1,245 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
- // src/utils.ts
8
- function mergeContext(a, b) {
9
- if (!a)
10
- return b;
11
- if (!b)
12
- return a;
13
- return {
14
- ...a,
15
- ...b
16
- };
17
- }
18
-
19
- // src/procedure.ts
20
- import { isContractProcedure } from "@orpc/contract";
21
- var Procedure = class {
22
- "~type" = "Procedure";
23
- "~orpc";
24
- constructor(def) {
25
- this["~orpc"] = def;
26
- }
27
- };
28
- function isProcedure(item) {
29
- if (item instanceof Procedure) {
30
- return true;
31
- }
32
- return (typeof item === "object" || typeof item === "function") && item !== null && "~type" in item && item["~type"] === "Procedure" && "~orpc" in item && typeof item["~orpc"] === "object" && item["~orpc"] !== null && "contract" in item["~orpc"] && isContractProcedure(item["~orpc"].contract) && "handler" in item["~orpc"] && typeof item["~orpc"].handler === "function";
33
- }
34
-
35
- // src/error.ts
36
- import { ORPCError } from "@orpc/contract";
37
- function createORPCErrorConstructorMap(errors) {
38
- const constructors = {};
39
- if (!errors) {
40
- return constructors;
41
- }
42
- for (const code in errors) {
43
- const config = errors[code];
44
- if (!config) {
45
- continue;
46
- }
47
- const constructor = (...[options]) => {
48
- return new ORPCError({
49
- code,
50
- defined: true,
51
- status: config.status,
52
- message: options?.message ?? config.message,
53
- data: options?.data,
54
- cause: options?.cause
55
- });
56
- };
57
- constructors[code] = constructor;
58
- }
59
- return constructors;
60
- }
61
-
62
- // src/lazy.ts
63
- var LAZY_LOADER_SYMBOL = Symbol("ORPC_LAZY_LOADER");
64
- function lazy(loader) {
65
- return {
66
- [LAZY_LOADER_SYMBOL]: loader
67
- };
68
- }
69
- function isLazy(item) {
70
- return (typeof item === "object" || typeof item === "function") && item !== null && LAZY_LOADER_SYMBOL in item && typeof item[LAZY_LOADER_SYMBOL] === "function";
71
- }
72
- function unlazy(lazied) {
73
- return isLazy(lazied) ? lazied[LAZY_LOADER_SYMBOL]() : Promise.resolve({ default: lazied });
74
- }
75
- function flatLazy(lazied) {
76
- const flattenLoader = async () => {
77
- let current = await unlazy(lazied);
78
- while (true) {
79
- if (!isLazy(current.default)) {
80
- break;
81
- }
82
- current = await unlazy(current.default);
83
- }
84
- return current;
85
- };
86
- return lazy(flattenLoader);
87
- }
88
-
89
- // src/middleware.ts
90
- function middlewareOutputFn(output) {
91
- return { output, context: void 0 };
92
- }
93
-
94
- // src/procedure-client.ts
95
- import { ORPCError as ORPCError2, validateORPCError, ValidationError } from "@orpc/contract";
96
- import { executeWithHooks, toError, value } from "@orpc/shared";
97
- function createProcedureClient(lazyableProcedure, ...[options]) {
98
- return async (...[input, callerOptions]) => {
99
- const path = options?.path ?? [];
100
- const { default: procedure } = await unlazy(lazyableProcedure);
101
- const context = await value(options?.context, callerOptions?.context);
102
- const errors = createORPCErrorConstructorMap(procedure["~orpc"].contract["~orpc"].errorMap);
103
- const executeOptions = {
104
- input,
105
- context,
106
- errors,
107
- path,
108
- procedure,
109
- signal: callerOptions?.signal
110
- };
111
- try {
112
- const output = await executeWithHooks({
113
- hooks: options,
114
- input,
115
- context,
116
- meta: executeOptions,
117
- execute: () => executeProcedureInternal(procedure, executeOptions)
118
- });
119
- return output;
120
- } catch (e) {
121
- if (!(e instanceof ORPCError2)) {
122
- throw toError(e);
123
- }
124
- const validated = await validateORPCError(procedure["~orpc"].contract["~orpc"].errorMap, e);
125
- throw validated;
126
- }
127
- };
128
- }
129
- async function validateInput(procedure, input) {
130
- const schema = procedure["~orpc"].contract["~orpc"].InputSchema;
131
- if (!schema)
132
- return input;
133
- const result = await schema["~standard"].validate(input);
134
- if (result.issues) {
135
- throw new ORPCError2({
136
- message: "Input validation failed",
137
- code: "BAD_REQUEST",
138
- data: {
139
- issues: result.issues
140
- },
141
- cause: new ValidationError({ message: "Input validation failed", issues: result.issues })
142
- });
143
- }
144
- return result.value;
145
- }
146
- async function validateOutput(procedure, output) {
147
- const schema = procedure["~orpc"].contract["~orpc"].OutputSchema;
148
- if (!schema)
149
- return output;
150
- const result = await schema["~standard"].validate(output);
151
- if (result.issues) {
152
- throw new ORPCError2({
153
- message: "Output validation failed",
154
- code: "INTERNAL_SERVER_ERROR",
155
- cause: new ValidationError({ message: "Output validation failed", issues: result.issues })
156
- });
157
- }
158
- return result.value;
159
- }
160
- function executeMiddlewareChain(middlewares, opt, input) {
161
- let currentIndex = 0;
162
- let currentContext = opt.context;
163
- const executeMiddlewareChain2 = async (nextOptions) => {
164
- const mid = middlewares[currentIndex];
165
- currentIndex += 1;
166
- currentContext = mergeContext(currentContext, nextOptions.context);
167
- if (mid) {
168
- return await mid({ ...opt, context: currentContext, next: executeMiddlewareChain2 }, input, middlewareOutputFn);
169
- }
170
- return opt.next({ context: currentContext });
171
- };
172
- return executeMiddlewareChain2({});
173
- }
174
- async function executeProcedureInternal(procedure, options) {
175
- const executeHandler = async (context, input) => {
176
- return await procedure["~orpc"].handler({ ...options, context, input });
177
- };
178
- const executePostMiddlewares = async (context, input) => {
179
- const validatedInput = await validateInput(procedure, input);
180
- const result2 = await executeMiddlewareChain(procedure["~orpc"].postMiddlewares, {
181
- ...options,
182
- context,
183
- next: async ({ context: context2 }) => {
184
- return middlewareOutputFn(
185
- await executeHandler(context2, validatedInput)
186
- );
187
- }
188
- }, validatedInput);
189
- const validatedOutput = await validateOutput(procedure, result2.output);
190
- return { ...result2, output: validatedOutput };
191
- };
192
- const result = await executeMiddlewareChain(procedure["~orpc"].preMiddlewares, {
193
- ...options,
194
- context: options.context,
195
- next: ({ context }) => executePostMiddlewares(context, options.input)
196
- }, options.input);
197
- return result.output;
198
- }
199
-
200
- // src/router.ts
201
- function getRouterChild(router, ...path) {
202
- let current = router;
203
- for (let i = 0; i < path.length; i++) {
204
- const segment = path[i];
205
- if (!current) {
206
- return void 0;
207
- }
208
- if (isProcedure(current)) {
209
- return void 0;
210
- }
211
- if (!isLazy(current)) {
212
- current = current[segment];
213
- continue;
214
- }
215
- const lazied = current;
216
- const rest = path.slice(i);
217
- const newLazy = lazy(async () => {
218
- const unwrapped = await unlazy(lazied);
219
- if (!unwrapped.default) {
220
- return unwrapped;
221
- }
222
- const next = getRouterChild(unwrapped.default, ...rest);
223
- return { default: next };
224
- });
225
- return flatLazy(newLazy);
226
- }
227
- return current;
228
- }
229
-
230
- export {
231
- __export,
232
- mergeContext,
233
- Procedure,
234
- isProcedure,
235
- createORPCErrorConstructorMap,
236
- LAZY_LOADER_SYMBOL,
237
- lazy,
238
- isLazy,
239
- unlazy,
240
- flatLazy,
241
- middlewareOutputFn,
242
- createProcedureClient,
243
- getRouterChild
244
- };
245
- //# sourceMappingURL=chunk-OUPZ7QGV.js.map
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-WUOGVGWG.js.map
package/dist/fetch.js DELETED
@@ -1,15 +0,0 @@
1
- import "./chunk-WUOGVGWG.js";
2
- import {
3
- ORPCPayloadCodec,
4
- ORPCProcedureMatcher,
5
- RPCHandler,
6
- super_json_exports
7
- } from "./chunk-3EVCPLVI.js";
8
- import "./chunk-OUPZ7QGV.js";
9
- export {
10
- ORPCPayloadCodec,
11
- ORPCProcedureMatcher,
12
- RPCHandler,
13
- super_json_exports as SuperJSON
14
- };
15
- //# sourceMappingURL=fetch.js.map
package/dist/hono.js DELETED
@@ -1,30 +0,0 @@
1
- import "./chunk-WUOGVGWG.js";
2
- import {
3
- ORPCPayloadCodec,
4
- ORPCProcedureMatcher,
5
- RPCHandler,
6
- super_json_exports
7
- } from "./chunk-3EVCPLVI.js";
8
- import "./chunk-OUPZ7QGV.js";
9
-
10
- // src/adapters/hono/middleware.ts
11
- import { value } from "@orpc/shared";
12
- function createMiddleware(handler, ...[options]) {
13
- return async (c, next) => {
14
- const context = await value(options?.context, c);
15
- const { matched, response } = await handler.handle(c.req.raw, { ...options, context });
16
- if (matched) {
17
- c.res = response;
18
- return;
19
- }
20
- await next();
21
- };
22
- }
23
- export {
24
- ORPCPayloadCodec,
25
- ORPCProcedureMatcher,
26
- RPCHandler,
27
- super_json_exports as SuperJSON,
28
- createMiddleware
29
- };
30
- //# sourceMappingURL=hono.js.map