@orpc/server 0.0.0-next.e361acd → 0.0.0-next.e565b64

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 (74) hide show
  1. package/README.md +128 -0
  2. package/dist/adapters/aws-lambda/index.d.mts +45 -0
  3. package/dist/adapters/aws-lambda/index.d.ts +45 -0
  4. package/dist/adapters/aws-lambda/index.mjs +41 -0
  5. package/dist/adapters/bun-ws/index.d.mts +35 -0
  6. package/dist/adapters/bun-ws/index.d.ts +35 -0
  7. package/dist/adapters/bun-ws/index.mjs +51 -0
  8. package/dist/adapters/crossws/index.d.mts +30 -0
  9. package/dist/adapters/crossws/index.d.ts +30 -0
  10. package/dist/adapters/crossws/index.mjs +51 -0
  11. package/dist/adapters/fetch/index.d.mts +78 -0
  12. package/dist/adapters/fetch/index.d.ts +78 -0
  13. package/dist/adapters/fetch/index.mjs +110 -0
  14. package/dist/adapters/message-port/index.d.mts +28 -0
  15. package/dist/adapters/message-port/index.d.ts +28 -0
  16. package/dist/adapters/message-port/index.mjs +41 -0
  17. package/dist/adapters/node/index.d.mts +77 -0
  18. package/dist/adapters/node/index.d.ts +77 -0
  19. package/dist/adapters/node/index.mjs +95 -0
  20. package/dist/adapters/standard/index.d.mts +26 -0
  21. package/dist/adapters/standard/index.d.ts +26 -0
  22. package/dist/adapters/standard/index.mjs +7 -0
  23. package/dist/adapters/websocket/index.d.mts +27 -0
  24. package/dist/adapters/websocket/index.d.ts +27 -0
  25. package/dist/adapters/websocket/index.mjs +38 -0
  26. package/dist/adapters/ws/index.d.mts +28 -0
  27. package/dist/adapters/ws/index.d.ts +28 -0
  28. package/dist/adapters/ws/index.mjs +38 -0
  29. package/dist/index.d.mts +829 -0
  30. package/dist/index.d.ts +829 -0
  31. package/dist/index.mjs +475 -0
  32. package/dist/plugins/index.d.mts +156 -0
  33. package/dist/plugins/index.d.ts +156 -0
  34. package/dist/plugins/index.mjs +251 -0
  35. package/dist/shared/server.-ACo36I0.d.ts +74 -0
  36. package/dist/shared/server.4FnxLwwr.mjs +186 -0
  37. package/dist/shared/server.BPAWobQg.d.ts +12 -0
  38. package/dist/shared/server.BVwwTHyO.mjs +9 -0
  39. package/dist/shared/server.BW-nUGgA.mjs +36 -0
  40. package/dist/shared/server.Bd52nNaH.d.mts +12 -0
  41. package/dist/shared/server.BliFSTnG.d.mts +10 -0
  42. package/dist/shared/server.DD2C4ujN.d.mts +192 -0
  43. package/dist/shared/server.DD2C4ujN.d.ts +192 -0
  44. package/dist/shared/server.DG7Tamti.mjs +367 -0
  45. package/dist/shared/server.Dq8xr7PQ.d.mts +74 -0
  46. package/dist/shared/server.IG2MjhrD.d.ts +10 -0
  47. package/package.json +75 -17
  48. package/dist/chunk-FN62GL22.js +0 -182
  49. package/dist/fetch.js +0 -112
  50. package/dist/index.js +0 -518
  51. package/dist/src/builder.d.ts +0 -35
  52. package/dist/src/fetch/handle-request.d.ts +0 -7
  53. package/dist/src/fetch/index.d.ts +0 -4
  54. package/dist/src/fetch/orpc-handler.d.ts +0 -3
  55. package/dist/src/fetch/types.d.ts +0 -28
  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 -23
  59. package/dist/src/lazy-decorated.d.ts +0 -10
  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 -8
  63. package/dist/src/middleware.d.ts +0 -23
  64. package/dist/src/procedure-builder.d.ts +0 -22
  65. package/dist/src/procedure-client.d.ts +0 -29
  66. package/dist/src/procedure-decorated.d.ts +0 -14
  67. package/dist/src/procedure-implementer.d.ts +0 -18
  68. package/dist/src/procedure.d.ts +0 -23
  69. package/dist/src/router-builder.d.ts +0 -29
  70. package/dist/src/router-client.d.ts +0 -25
  71. package/dist/src/router-implementer.d.ts +0 -21
  72. package/dist/src/router.d.ts +0 -16
  73. package/dist/src/types.d.ts +0 -12
  74. package/dist/src/utils.d.ts +0 -3
package/dist/index.js DELETED
@@ -1,518 +0,0 @@
1
- import {
2
- LAZY_LOADER_SYMBOL,
3
- Procedure,
4
- createProcedureClient,
5
- flatLazy,
6
- getRouterChild,
7
- isLazy,
8
- isProcedure,
9
- lazy,
10
- mergeContext,
11
- unlazy
12
- } from "./chunk-FN62GL22.js";
13
-
14
- // src/builder.ts
15
- import { ContractProcedure } from "@orpc/contract";
16
-
17
- // src/implementer-chainable.ts
18
- import { isContractProcedure } from "@orpc/contract";
19
- import { createCallableObject } from "@orpc/shared";
20
-
21
- // src/middleware-decorated.ts
22
- function decorateMiddleware(middleware) {
23
- const decorated = middleware;
24
- decorated.mapInput = (mapInput) => {
25
- const mapped = decorateMiddleware(
26
- (input, ...rest) => middleware(mapInput(input), ...rest)
27
- );
28
- return mapped;
29
- };
30
- decorated.concat = (concatMiddleware, mapInput) => {
31
- const mapped = mapInput ? decorateMiddleware(concatMiddleware).mapInput(mapInput) : concatMiddleware;
32
- const concatted = decorateMiddleware((input, context, meta, ...rest) => {
33
- const next = async (options) => {
34
- return mapped(input, mergeContext(context, options.context), meta, ...rest);
35
- };
36
- const merged = middleware(input, context, { ...meta, next }, ...rest);
37
- return merged;
38
- });
39
- return concatted;
40
- };
41
- return decorated;
42
- }
43
-
44
- // src/procedure-decorated.ts
45
- import { DecoratedContractProcedure } from "@orpc/contract";
46
- function decorateProcedure(procedure) {
47
- const caller = createProcedureClient({
48
- procedure,
49
- context: void 0
50
- });
51
- const decorated = caller;
52
- decorated["~type"] = procedure["~type"];
53
- decorated["~orpc"] = procedure["~orpc"];
54
- decorated.prefix = (prefix) => {
55
- return decorateProcedure(new Procedure({
56
- ...procedure["~orpc"],
57
- contract: DecoratedContractProcedure.decorate(procedure["~orpc"].contract).prefix(prefix)
58
- }));
59
- };
60
- decorated.route = (route) => {
61
- return decorateProcedure(new Procedure({
62
- ...procedure["~orpc"],
63
- contract: DecoratedContractProcedure.decorate(procedure["~orpc"].contract).route(route)
64
- }));
65
- };
66
- decorated.use = (middleware, mapInput) => {
67
- const middleware_ = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
68
- return decorateProcedure(new Procedure({
69
- ...procedure["~orpc"],
70
- middlewares: [...procedure["~orpc"].middlewares ?? [], middleware_]
71
- }));
72
- };
73
- decorated.unshiftTag = (...tags) => {
74
- return decorateProcedure(new Procedure({
75
- ...procedure["~orpc"],
76
- contract: DecoratedContractProcedure.decorate(procedure["~orpc"].contract).unshiftTag(...tags)
77
- }));
78
- };
79
- decorated.unshiftMiddleware = (...middlewares) => {
80
- if (procedure["~orpc"].middlewares?.length) {
81
- let min = 0;
82
- for (let i = 0; i < procedure["~orpc"].middlewares.length; i++) {
83
- const index = middlewares.indexOf(procedure["~orpc"].middlewares[i], min);
84
- if (index === -1) {
85
- middlewares.push(...procedure["~orpc"].middlewares.slice(i));
86
- break;
87
- }
88
- min = index + 1;
89
- }
90
- }
91
- return decorateProcedure(new Procedure({
92
- ...procedure["~orpc"],
93
- middlewares
94
- }));
95
- };
96
- return decorated;
97
- }
98
-
99
- // src/procedure-implementer.ts
100
- var ProcedureImplementer = class _ProcedureImplementer {
101
- "~type" = "ProcedureImplementer";
102
- "~orpc";
103
- constructor(def) {
104
- this["~orpc"] = def;
105
- }
106
- use(middleware, mapInput) {
107
- const mappedMiddleware = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
108
- return new _ProcedureImplementer({
109
- ...this["~orpc"],
110
- middlewares: [...this["~orpc"].middlewares ?? [], mappedMiddleware]
111
- });
112
- }
113
- func(func) {
114
- return decorateProcedure(new Procedure({
115
- middlewares: this["~orpc"].middlewares,
116
- contract: this["~orpc"].contract,
117
- func
118
- }));
119
- }
120
- };
121
-
122
- // src/hidden.ts
123
- var ROUTER_CONTRACT_SYMBOL = Symbol("ORPC_ROUTER_CONTRACT");
124
- function setRouterContract(obj, contract) {
125
- return new Proxy(obj, {
126
- get(target, key) {
127
- if (key === ROUTER_CONTRACT_SYMBOL) {
128
- return contract;
129
- }
130
- return Reflect.get(target, key);
131
- }
132
- });
133
- }
134
- function getRouterContract(obj) {
135
- return obj[ROUTER_CONTRACT_SYMBOL];
136
- }
137
- var LAZY_ROUTER_PREFIX_SYMBOL = Symbol("ORPC_LAZY_ROUTER_PREFIX");
138
- function deepSetLazyRouterPrefix(router, prefix) {
139
- return new Proxy(router, {
140
- get(target, key) {
141
- if (key !== LAZY_ROUTER_PREFIX_SYMBOL) {
142
- const val = Reflect.get(target, key);
143
- if (val && (typeof val === "object" || typeof val === "function")) {
144
- return deepSetLazyRouterPrefix(val, prefix);
145
- }
146
- return val;
147
- }
148
- return prefix;
149
- }
150
- });
151
- }
152
- function getLazyRouterPrefix(obj) {
153
- return obj[LAZY_ROUTER_PREFIX_SYMBOL];
154
- }
155
-
156
- // src/lazy-utils.ts
157
- function createLazyProcedureFormAnyLazy(lazied) {
158
- const lazyProcedure = lazy(async () => {
159
- const { default: maybeProcedure } = await unlazy(flatLazy(lazied));
160
- if (!isProcedure(maybeProcedure)) {
161
- throw new Error(`
162
- Expected a lazy<procedure> but got lazy<unknown>.
163
- This should be caught by TypeScript compilation.
164
- Please report this issue if this makes you feel uncomfortable.
165
- `);
166
- }
167
- return { default: maybeProcedure };
168
- });
169
- return lazyProcedure;
170
- }
171
-
172
- // src/lazy-decorated.ts
173
- function decorateLazy(lazied) {
174
- const flattenLazy = flatLazy(lazied);
175
- const procedureProcedureClient = createProcedureClient({
176
- procedure: createLazyProcedureFormAnyLazy(flattenLazy),
177
- context: void 0
178
- });
179
- Object.assign(procedureProcedureClient, flattenLazy);
180
- const recursive = new Proxy(procedureProcedureClient, {
181
- get(target, key) {
182
- if (typeof key !== "string") {
183
- return Reflect.get(target, key);
184
- }
185
- const next = getRouterChild(flattenLazy, key);
186
- return decorateLazy(next);
187
- }
188
- });
189
- return recursive;
190
- }
191
-
192
- // src/router-builder.ts
193
- var RouterBuilder = class _RouterBuilder {
194
- "~type" = "RouterBuilder";
195
- "~orpc";
196
- constructor(def) {
197
- this["~orpc"] = def;
198
- if (def.prefix && def.prefix.includes("{")) {
199
- throw new Error(`
200
- Dynamic routing in prefix not supported yet.
201
- Please remove "{" from "${def.prefix}".
202
- `);
203
- }
204
- }
205
- prefix(prefix) {
206
- return new _RouterBuilder({
207
- ...this["~orpc"],
208
- prefix: `${this["~orpc"].prefix ?? ""}${prefix}`
209
- });
210
- }
211
- tag(...tags) {
212
- return new _RouterBuilder({
213
- ...this["~orpc"],
214
- tags: [...this["~orpc"].tags ?? [], ...tags]
215
- });
216
- }
217
- use(middleware) {
218
- return new _RouterBuilder({
219
- ...this["~orpc"],
220
- middlewares: [...this["~orpc"].middlewares ?? [], middleware]
221
- });
222
- }
223
- router(router) {
224
- const adapted = adapt(router, this["~orpc"]);
225
- return adapted;
226
- }
227
- lazy(loader) {
228
- const adapted = adapt(flatLazy(lazy(loader)), this["~orpc"]);
229
- return adapted;
230
- }
231
- };
232
- function adapt(item, options) {
233
- if (isLazy(item)) {
234
- const adaptedLazy = decorateLazy(lazy(async () => {
235
- const routerOrProcedure = (await unlazy(item)).default;
236
- const adapted2 = adapt(routerOrProcedure, options);
237
- return { default: adapted2 };
238
- }));
239
- const lazyPrefix = getLazyRouterPrefix(item);
240
- if (options.prefix || lazyPrefix) {
241
- const prefixed = deepSetLazyRouterPrefix(adaptedLazy, `${options.prefix ?? ""}${lazyPrefix ?? ""}`);
242
- return prefixed;
243
- }
244
- return adaptedLazy;
245
- }
246
- if (isProcedure(item)) {
247
- let decorated = decorateProcedure(item);
248
- if (options.tags?.length) {
249
- decorated = decorated.unshiftTag(...options.tags);
250
- }
251
- if (options.prefix) {
252
- decorated = decorated.prefix(options.prefix);
253
- }
254
- if (options.middlewares?.length) {
255
- decorated = decorated.unshiftMiddleware(...options.middlewares);
256
- }
257
- return decorated;
258
- }
259
- const adapted = {};
260
- for (const key in item) {
261
- adapted[key] = adapt(item[key], options);
262
- }
263
- return adapted;
264
- }
265
-
266
- // src/router-implementer.ts
267
- var RouterImplementer = class _RouterImplementer {
268
- "~type" = "RouterImplementer";
269
- "~orpc";
270
- constructor(def) {
271
- this["~orpc"] = def;
272
- }
273
- use(middleware) {
274
- return new _RouterImplementer({
275
- ...this["~orpc"],
276
- middlewares: [...this["~orpc"].middlewares ?? [], middleware]
277
- });
278
- }
279
- router(router) {
280
- const adapted = new RouterBuilder(this["~orpc"]).router(router);
281
- const contracted = setRouterContract(adapted, this["~orpc"].contract);
282
- return contracted;
283
- }
284
- lazy(loader) {
285
- const adapted = new RouterBuilder(this["~orpc"]).lazy(loader);
286
- const contracted = setRouterContract(adapted, this["~orpc"].contract);
287
- return contracted;
288
- }
289
- };
290
-
291
- // src/implementer-chainable.ts
292
- function createChainableImplementer(contract, middlewares) {
293
- if (isContractProcedure(contract)) {
294
- const implementer = new ProcedureImplementer({
295
- contract,
296
- middlewares
297
- });
298
- return implementer;
299
- }
300
- const chainable = {};
301
- for (const key in contract) {
302
- chainable[key] = createChainableImplementer(contract[key], middlewares);
303
- }
304
- const routerImplementer = new RouterImplementer({ contract, middlewares });
305
- const merged = new Proxy(chainable, {
306
- get(target, key) {
307
- const next = Reflect.get(target, key);
308
- const method = Reflect.get(routerImplementer, key);
309
- if (typeof key !== "string" || typeof method !== "function") {
310
- return next;
311
- }
312
- if (!next) {
313
- return method.bind(routerImplementer);
314
- }
315
- return createCallableObject(next, method.bind(routerImplementer));
316
- }
317
- });
318
- return merged;
319
- }
320
-
321
- // src/procedure-builder.ts
322
- import {
323
- DecoratedContractProcedure as DecoratedContractProcedure2
324
- } from "@orpc/contract";
325
- var ProcedureBuilder = class _ProcedureBuilder {
326
- "~type" = "ProcedureBuilder";
327
- "~orpc";
328
- constructor(def) {
329
- this["~orpc"] = def;
330
- }
331
- route(route) {
332
- return new _ProcedureBuilder({
333
- ...this["~orpc"],
334
- contract: DecoratedContractProcedure2.decorate(this["~orpc"].contract).route(route)
335
- });
336
- }
337
- input(schema, example) {
338
- return new _ProcedureBuilder({
339
- ...this["~orpc"],
340
- contract: DecoratedContractProcedure2.decorate(this["~orpc"].contract).input(schema, example)
341
- });
342
- }
343
- output(schema, example) {
344
- return new _ProcedureBuilder({
345
- ...this["~orpc"],
346
- contract: DecoratedContractProcedure2.decorate(this["~orpc"].contract).output(schema, example)
347
- });
348
- }
349
- use(middleware, mapInput) {
350
- if (!mapInput) {
351
- return new ProcedureImplementer({
352
- contract: this["~orpc"].contract,
353
- middlewares: this["~orpc"].middlewares
354
- }).use(middleware);
355
- }
356
- return new ProcedureImplementer({
357
- contract: this["~orpc"].contract,
358
- middlewares: this["~orpc"].middlewares
359
- }).use(middleware, mapInput);
360
- }
361
- func(func) {
362
- return decorateProcedure(new Procedure({
363
- middlewares: this["~orpc"].middlewares,
364
- contract: this["~orpc"].contract,
365
- func
366
- }));
367
- }
368
- };
369
-
370
- // src/builder.ts
371
- var Builder = class _Builder {
372
- "~type" = "Builder";
373
- "~orpc";
374
- constructor(def) {
375
- this["~orpc"] = def;
376
- }
377
- context() {
378
- return new _Builder({});
379
- }
380
- use(middleware) {
381
- return new _Builder({
382
- ...this["~orpc"],
383
- middlewares: [...this["~orpc"].middlewares ?? [], middleware]
384
- });
385
- }
386
- middleware(middleware) {
387
- return decorateMiddleware(middleware);
388
- }
389
- route(route) {
390
- return new ProcedureBuilder({
391
- middlewares: this["~orpc"].middlewares,
392
- contract: new ContractProcedure({
393
- route,
394
- InputSchema: void 0,
395
- OutputSchema: void 0
396
- })
397
- });
398
- }
399
- input(schema, example) {
400
- return new ProcedureBuilder({
401
- middlewares: this["~orpc"].middlewares,
402
- contract: new ContractProcedure({
403
- OutputSchema: void 0,
404
- InputSchema: schema,
405
- inputExample: example
406
- })
407
- });
408
- }
409
- output(schema, example) {
410
- return new ProcedureBuilder({
411
- middlewares: this["~orpc"].middlewares,
412
- contract: new ContractProcedure({
413
- InputSchema: void 0,
414
- OutputSchema: schema,
415
- outputExample: example
416
- })
417
- });
418
- }
419
- func(func) {
420
- return decorateProcedure(new Procedure({
421
- middlewares: this["~orpc"].middlewares,
422
- contract: new ContractProcedure({
423
- InputSchema: void 0,
424
- OutputSchema: void 0
425
- }),
426
- func
427
- }));
428
- }
429
- prefix(prefix) {
430
- return new RouterBuilder({
431
- middlewares: this["~orpc"].middlewares,
432
- prefix
433
- });
434
- }
435
- tag(...tags) {
436
- return new RouterBuilder({
437
- middlewares: this["~orpc"].middlewares,
438
- tags
439
- });
440
- }
441
- router(router) {
442
- return new RouterBuilder(this["~orpc"]).router(router);
443
- }
444
- lazy(loader) {
445
- return new RouterBuilder(this["~orpc"]).lazy(loader);
446
- }
447
- contract(contract) {
448
- return createChainableImplementer(contract, this["~orpc"].middlewares);
449
- }
450
- };
451
-
452
- // src/router-client.ts
453
- function createRouterClient(options) {
454
- if (isProcedure(options.router)) {
455
- const caller = createProcedureClient({
456
- ...options,
457
- procedure: options.router,
458
- context: options.context,
459
- path: options.path
460
- });
461
- return caller;
462
- }
463
- const procedureCaller = isLazy(options.router) ? createProcedureClient({
464
- ...options,
465
- procedure: createLazyProcedureFormAnyLazy(options.router),
466
- context: options.context,
467
- path: options.path
468
- }) : {};
469
- const recursive = new Proxy(procedureCaller, {
470
- get(target, key) {
471
- if (typeof key !== "string") {
472
- return Reflect.get(target, key);
473
- }
474
- const next = getRouterChild(options.router, key);
475
- if (!next) {
476
- return Reflect.get(target, key);
477
- }
478
- return createRouterClient({
479
- ...options,
480
- router: next,
481
- path: [...options.path ?? [], key]
482
- });
483
- }
484
- });
485
- return recursive;
486
- }
487
-
488
- // src/index.ts
489
- export * from "@orpc/shared/error";
490
- var os = new Builder({});
491
- export {
492
- Builder,
493
- LAZY_LOADER_SYMBOL,
494
- Procedure,
495
- ProcedureBuilder,
496
- ProcedureImplementer,
497
- RouterBuilder,
498
- RouterImplementer,
499
- createChainableImplementer,
500
- createProcedureClient,
501
- createRouterClient,
502
- decorateLazy,
503
- decorateMiddleware,
504
- decorateProcedure,
505
- deepSetLazyRouterPrefix,
506
- flatLazy,
507
- getLazyRouterPrefix,
508
- getRouterChild,
509
- getRouterContract,
510
- isLazy,
511
- isProcedure,
512
- lazy,
513
- mergeContext,
514
- os,
515
- setRouterContract,
516
- unlazy
517
- };
518
- //# sourceMappingURL=index.js.map
@@ -1,35 +0,0 @@
1
- import type { ANY_CONTRACT_PROCEDURE, ContractRouter, HTTPPath, RouteOptions, Schema, SchemaInput, SchemaOutput } from '@orpc/contract';
2
- import type { FlattenLazy } from './lazy';
3
- import type { Middleware } from './middleware';
4
- import type { DecoratedMiddleware } from './middleware-decorated';
5
- import type { Router } from './router';
6
- import type { AdaptedRouter } from './router-builder';
7
- import type { Context, MergeContext, WELL_CONTEXT } from './types';
8
- import { type ChainableImplementer } from './implementer-chainable';
9
- import { type ProcedureFunc } from './procedure';
10
- import { ProcedureBuilder } from './procedure-builder';
11
- import { type DecoratedProcedure } from './procedure-decorated';
12
- import { RouterBuilder } from './router-builder';
13
- export interface BuilderDef<TContext extends Context, TExtraContext extends Context> {
14
- middlewares?: Middleware<MergeContext<TContext, TExtraContext>, Partial<TExtraContext> | undefined, unknown, any>[];
15
- }
16
- export declare class Builder<TContext extends Context, TExtraContext extends Context> {
17
- '~type': "Builder";
18
- '~orpc': BuilderDef<TContext, TExtraContext>;
19
- constructor(def: BuilderDef<TContext, TExtraContext>);
20
- context<UContext extends Context = WELL_CONTEXT>(): Builder<UContext, undefined>;
21
- use<U extends Context & Partial<MergeContext<TContext, TExtraContext>> | undefined = undefined>(middleware: Middleware<MergeContext<TContext, TExtraContext>, U, unknown, unknown>): Builder<TContext, MergeContext<TExtraContext, U>>;
22
- middleware<UExtraContext extends Context & Partial<MergeContext<TContext, TExtraContext>> | undefined = undefined, TInput = unknown, TOutput = any>(middleware: Middleware<MergeContext<TContext, TExtraContext>, UExtraContext, TInput, TOutput>): DecoratedMiddleware<MergeContext<TContext, TExtraContext>, UExtraContext, TInput, TOutput>;
23
- route(route: RouteOptions): ProcedureBuilder<TContext, TExtraContext, undefined, undefined>;
24
- input<USchema extends Schema = undefined>(schema: USchema, example?: SchemaInput<USchema>): ProcedureBuilder<TContext, TExtraContext, USchema, undefined>;
25
- output<USchema extends Schema = undefined>(schema: USchema, example?: SchemaOutput<USchema>): ProcedureBuilder<TContext, TExtraContext, undefined, USchema>;
26
- func<UFuncOutput = undefined>(func: ProcedureFunc<TContext, TExtraContext, undefined, undefined, UFuncOutput>): DecoratedProcedure<TContext, TExtraContext, undefined, undefined, UFuncOutput>;
27
- prefix(prefix: HTTPPath): RouterBuilder<TContext, TExtraContext>;
28
- tag(...tags: string[]): RouterBuilder<TContext, TExtraContext>;
29
- router<U extends Router<MergeContext<TContext, TExtraContext>, any>>(router: U): AdaptedRouter<TContext, U>;
30
- lazy<U extends Router<MergeContext<TContext, TExtraContext>, any>>(loader: () => Promise<{
31
- default: U;
32
- }>): AdaptedRouter<TContext, FlattenLazy<U>>;
33
- contract<U extends ANY_CONTRACT_PROCEDURE | ContractRouter>(contract: U): ChainableImplementer<TContext, TExtraContext, U>;
34
- }
35
- //# sourceMappingURL=builder.d.ts.map
@@ -1,7 +0,0 @@
1
- import type { Context } from '../types';
2
- import type { FetchHandler, FetchHandlerOptions } from './types';
3
- export type HandleFetchRequestOptions<T extends Context> = FetchHandlerOptions<T> & {
4
- handlers: readonly [FetchHandler, ...FetchHandler[]];
5
- };
6
- export declare function handleFetchRequest<T extends Context>(options: HandleFetchRequestOptions<T>): Promise<Response>;
7
- //# sourceMappingURL=handle-request.d.ts.map
@@ -1,4 +0,0 @@
1
- export * from './handle-request';
2
- export * from './orpc-handler';
3
- export * from './types';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +0,0 @@
1
- import type { FetchHandler } from './types';
2
- export declare function createORPCHandler(): FetchHandler;
3
- //# sourceMappingURL=orpc-handler.d.ts.map
@@ -1,28 +0,0 @@
1
- import type { HTTPPath } from '@orpc/contract';
2
- import type { Hooks, Value } from '@orpc/shared';
3
- import type { Router } from '../router';
4
- import type { Context, WithSignal } from '../types';
5
- export type FetchHandlerOptions<T extends Context> = {
6
- /**
7
- * The `router` used for handling the request and routing,
8
- *
9
- */
10
- router: Router<T, any>;
11
- /**
12
- * The request need to be handled.
13
- */
14
- request: Request;
15
- /**
16
- * Remove the prefix from the request path.
17
- *
18
- * @example /orpc
19
- * @example /api
20
- */
21
- prefix?: HTTPPath;
22
- } & NoInfer<(undefined extends T ? {
23
- context?: Value<T>;
24
- } : {
25
- context: Value<T>;
26
- })> & WithSignal & Hooks<Request, Response, T, WithSignal>;
27
- export type FetchHandler = <T extends Context>(options: FetchHandlerOptions<T>) => Promise<Response | undefined>;
28
- //# sourceMappingURL=types.d.ts.map
@@ -1,6 +0,0 @@
1
- import type { ContractRouter, HTTPPath } from '@orpc/contract';
2
- export declare function setRouterContract<T extends object>(obj: T, contract: ContractRouter): T;
3
- export declare function getRouterContract(obj: object): ContractRouter | undefined;
4
- export declare function deepSetLazyRouterPrefix<T extends object>(router: T, prefix: HTTPPath): T;
5
- export declare function getLazyRouterPrefix(obj: object): HTTPPath | undefined;
6
- //# sourceMappingURL=hidden.d.ts.map
@@ -1,10 +0,0 @@
1
- import type { Middleware } from './middleware';
2
- import type { Context, MergeContext, WELL_CONTEXT } from './types';
3
- import { type ContractProcedure, type ContractRouter } from '@orpc/contract';
4
- import { ProcedureImplementer } from './procedure-implementer';
5
- import { RouterImplementer } from './router-implementer';
6
- export type ChainableImplementer<TContext extends Context, TExtraContext extends Context, TContract extends ContractRouter> = TContract extends ContractProcedure<infer UInputSchema, infer UOutputSchema> ? ProcedureImplementer<TContext, TExtraContext, UInputSchema, UOutputSchema> : {
7
- [K in keyof TContract]: TContract[K] extends ContractRouter ? ChainableImplementer<TContext, TExtraContext, TContract[K]> : never;
8
- } & Omit<RouterImplementer<TContext, TExtraContext, TContract>, '~type' | '~orpc'>;
9
- export declare function createChainableImplementer<TContext extends Context = WELL_CONTEXT, TExtraContext extends Context = undefined, TContract extends ContractRouter = any>(contract: TContract, middlewares?: Middleware<MergeContext<TContext, TExtraContext>, Partial<TExtraContext> | undefined, unknown, any>[]): ChainableImplementer<TContext, TExtraContext, TContract>;
10
- //# sourceMappingURL=implementer-chainable.d.ts.map
@@ -1,23 +0,0 @@
1
- import type { WELL_CONTEXT } from './types';
2
- import { Builder } from './builder';
3
- export * from './builder';
4
- export * from './hidden';
5
- export * from './implementer-chainable';
6
- export * from './lazy';
7
- export * from './lazy-decorated';
8
- export * from './middleware';
9
- export * from './middleware-decorated';
10
- export * from './procedure';
11
- export * from './procedure-builder';
12
- export * from './procedure-client';
13
- export * from './procedure-decorated';
14
- export * from './procedure-implementer';
15
- export * from './router';
16
- export * from './router-builder';
17
- export * from './router-client';
18
- export * from './router-implementer';
19
- export * from './types';
20
- export * from './utils';
21
- export * from '@orpc/shared/error';
22
- export declare const os: Builder<WELL_CONTEXT, undefined>;
23
- //# sourceMappingURL=index.d.ts.map
@@ -1,10 +0,0 @@
1
- import type { SchemaInput, SchemaOutput } from '@orpc/contract';
2
- import type { Lazy } from './lazy';
3
- import type { Procedure } from './procedure';
4
- import type { ProcedureClient } from './procedure-client';
5
- import { type ANY_ROUTER } from './router';
6
- export type DecoratedLazy<T> = T extends Lazy<infer U> ? DecoratedLazy<U> : Lazy<T> & (T extends Procedure<infer UContext, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput> ? undefined extends UContext ? ProcedureClient<SchemaInput<UInputSchema>, SchemaOutput<UOutputSchema, UFuncOutput>> : unknown : {
7
- [K in keyof T]: T[K] extends object ? DecoratedLazy<T[K]> : never;
8
- });
9
- export declare function decorateLazy<T extends Lazy<ANY_ROUTER | undefined>>(lazied: T): DecoratedLazy<T>;
10
- //# sourceMappingURL=lazy-decorated.d.ts.map
@@ -1,4 +0,0 @@
1
- import type { Lazy } from './lazy';
2
- import { type ANY_PROCEDURE } from './procedure';
3
- export declare function createLazyProcedureFormAnyLazy(lazied: Lazy<any>): Lazy<ANY_PROCEDURE>;
4
- //# sourceMappingURL=lazy-utils.d.ts.map
@@ -1,18 +0,0 @@
1
- export declare const LAZY_LOADER_SYMBOL: unique symbol;
2
- export interface Lazy<T> {
3
- [LAZY_LOADER_SYMBOL]: () => Promise<{
4
- default: T;
5
- }>;
6
- }
7
- export type Lazyable<T> = T | Lazy<T>;
8
- export type ANY_LAZY = Lazy<any>;
9
- export declare function lazy<T>(loader: () => Promise<{
10
- default: T;
11
- }>): Lazy<T>;
12
- export declare function isLazy(item: unknown): item is ANY_LAZY;
13
- export declare function unlazy<T extends Lazyable<any>>(lazied: T): Promise<{
14
- default: T extends Lazy<infer U> ? U : T;
15
- }>;
16
- export type FlattenLazy<T> = T extends Lazy<infer U> ? FlattenLazy<U> : Lazy<T>;
17
- export declare function flatLazy<T extends ANY_LAZY>(lazied: T): FlattenLazy<T>;
18
- //# sourceMappingURL=lazy.d.ts.map