@orpc/server 2.0.0-beta.5 → 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.
- package/README.md +137 -102
- package/dist/adapters/aws-lambda/handler.d.ts +27 -0
- package/dist/adapters/aws-lambda/handler.js +24 -0
- package/dist/adapters/aws-lambda/index.d.ts +4 -0
- package/dist/adapters/aws-lambda/index.js +2 -0
- package/dist/adapters/aws-lambda/rpc-handler.d.ts +19 -0
- package/dist/adapters/aws-lambda/rpc-handler.js +21 -0
- package/dist/adapters/crossws/handler.d.ts +47 -0
- package/dist/adapters/crossws/handler.js +53 -0
- package/dist/adapters/crossws/index.d.ts +3 -54
- package/dist/adapters/crossws/index.js +2 -0
- package/dist/adapters/crossws/rpc-handler.d.ts +16 -0
- package/dist/adapters/crossws/rpc-handler.js +18 -0
- package/dist/adapters/fastify/handler.d.ts +23 -0
- package/dist/adapters/fastify/handler.js +20 -0
- package/dist/adapters/fastify/index.d.ts +3 -0
- package/dist/adapters/fastify/index.js +2 -0
- package/dist/adapters/fastify/rpc-handler.d.ts +15 -0
- package/dist/adapters/fastify/rpc-handler.js +17 -0
- package/dist/adapters/fetch/handler.d.ts +25 -0
- package/dist/adapters/fetch/handler.js +22 -0
- package/dist/adapters/fetch/index.d.ts +4 -140
- package/dist/adapters/fetch/index.js +3 -0
- package/dist/adapters/fetch/rpc-handler.d.ts +17 -0
- package/dist/adapters/fetch/rpc-handler.js +19 -0
- package/dist/adapters/message-port/handler.d.ts +62 -0
- package/dist/adapters/message-port/handler.js +72 -0
- package/dist/adapters/message-port/index.d.ts +3 -74
- package/dist/adapters/message-port/index.js +2 -0
- package/dist/adapters/message-port/rpc-handler.d.ts +16 -0
- package/dist/adapters/message-port/rpc-handler.js +18 -0
- package/dist/adapters/node/handler.d.ts +23 -0
- package/dist/adapters/node/handler.js +20 -0
- package/dist/adapters/node/index.d.ts +4 -121
- package/dist/adapters/node/index.js +3 -0
- package/dist/adapters/node/rpc-handler.d.ts +16 -0
- package/dist/adapters/node/rpc-handler.js +18 -0
- package/dist/adapters/standard/codec.d.ts +16 -0
- package/dist/adapters/standard/handler.d.ts +68 -0
- package/dist/adapters/standard/handler.js +205 -0
- package/dist/adapters/standard/index.d.ts +7 -19
- package/dist/adapters/standard/index.js +4 -0
- package/dist/adapters/standard/plugin.d.ts +26 -0
- package/dist/adapters/standard/plugin.js +14 -0
- package/dist/adapters/standard/rpc-handler-codec.d.ts +42 -0
- package/dist/adapters/standard/rpc-handler-codec.js +50 -0
- package/dist/adapters/standard/rpc-matcher.d.ts +53 -0
- package/dist/adapters/standard/rpc-matcher.js +106 -0
- package/dist/adapters/standard/utils.d.ts +10 -0
- package/dist/adapters/standard/utils.js +8 -0
- package/dist/adapters/standard-peer/index.d.ts +2 -16
- package/dist/adapters/standard-peer/index.js +1 -0
- package/dist/adapters/standard-peer/utils.d.ts +6 -0
- package/dist/adapters/standard-peer/utils.js +13 -0
- package/dist/adapters/websocket/handler.d.ts +61 -0
- package/dist/adapters/websocket/handler.js +75 -0
- package/dist/adapters/websocket/index.d.ts +3 -61
- package/dist/adapters/websocket/index.js +2 -0
- package/dist/adapters/websocket/rpc-handler.d.ts +16 -0
- package/dist/adapters/websocket/rpc-handler.js +18 -0
- package/dist/builder-variants.d.ts +226 -0
- package/dist/builder.d.ts +126 -0
- package/dist/builder.js +200 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +4 -0
- package/dist/context.d.ts +6 -0
- package/dist/extensions/callable.d.ts +11 -10
- package/dist/extensions/callable.js +8 -0
- package/dist/helpers/base64url.d.ts +31 -0
- package/dist/helpers/base64url.js +48 -0
- package/dist/helpers/cookie.d.ts +50 -0
- package/dist/helpers/cookie.js +62 -0
- package/dist/helpers/encryption.d.ts +28 -0
- package/dist/helpers/encryption.js +90 -0
- package/dist/helpers/index.d.ts +5 -149
- package/dist/helpers/index.js +4 -0
- package/dist/helpers/signing.d.ts +50 -0
- package/dist/helpers/signing.js +78 -0
- package/dist/implementer-procedure.d.ts +15 -0
- package/dist/implementer-procedure.js +37 -0
- package/dist/implementer-router.d.ts +34 -0
- package/dist/implementer-router.js +98 -0
- package/dist/implementer.d.ts +16 -0
- package/dist/implementer.js +30 -0
- package/dist/index.d.ts +22 -196
- package/dist/index.js +16 -0
- package/dist/lazy.d.ts +20 -0
- package/dist/lazy.js +20 -0
- package/dist/middleware-decorated.d.ts +9 -0
- package/dist/middleware-decorated.js +67 -0
- package/dist/middleware.d.ts +54 -0
- package/dist/plugins/batch.d.ts +102 -0
- package/dist/plugins/batch.js +371 -0
- package/dist/plugins/cors.d.ts +69 -0
- package/dist/plugins/cors.js +119 -0
- package/dist/plugins/get-method-csrf-protection.d.ts +25 -0
- package/dist/plugins/get-method-csrf-protection.js +48 -0
- package/dist/plugins/head-method.d.ts +25 -0
- package/dist/plugins/head-method.js +107 -0
- package/dist/plugins/index.d.ts +15 -197
- package/dist/plugins/index.js +14 -0
- package/dist/plugins/method-override.d.ts +40 -0
- package/dist/plugins/method-override.js +54 -0
- package/dist/plugins/request-compression.d.ts +18 -0
- package/dist/plugins/request-compression.js +55 -0
- package/dist/plugins/request-headers.d.ts +24 -0
- package/dist/plugins/request-headers.js +28 -0
- package/dist/plugins/request-limit.d.ts +32 -0
- package/dist/plugins/request-limit.js +61 -0
- package/dist/plugins/response-compression.d.ts +62 -0
- package/dist/plugins/response-compression.js +157 -0
- package/dist/plugins/response-headers.d.ts +32 -0
- package/dist/plugins/response-headers.js +44 -0
- package/dist/plugins/rethrow.d.ts +35 -0
- package/dist/plugins/rethrow.js +47 -0
- package/dist/plugins/signal-sync.d.ts +15 -0
- package/dist/plugins/signal-sync.js +76 -0
- package/dist/plugins/timeout.d.ts +39 -0
- package/dist/plugins/timeout.js +62 -0
- package/dist/procedure-client.d.ts +18 -0
- package/dist/procedure-client.js +158 -0
- package/dist/procedure-decorated.d.ts +10 -0
- package/dist/procedure-decorated.js +36 -0
- package/dist/procedure-utils.d.ts +21 -0
- package/dist/procedure-utils.js +48 -0
- package/dist/procedure.d.ts +72 -0
- package/dist/procedure.js +18 -0
- package/dist/router-client.d.ts +21 -0
- package/dist/router-client.js +35 -0
- package/dist/router-hidden.js +12 -0
- package/dist/router-utils.d.ts +31 -0
- package/dist/router-utils.js +157 -0
- package/dist/router.d.ts +58 -0
- package/package.json +95 -63
- package/dist/adapters/crossws/index.d.mts +0 -54
- package/dist/adapters/crossws/index.mjs +0 -64
- package/dist/adapters/fetch/index.d.mts +0 -140
- package/dist/adapters/fetch/index.mjs +0 -204
- package/dist/adapters/message-port/index.d.mts +0 -74
- package/dist/adapters/message-port/index.mjs +0 -90
- package/dist/adapters/node/index.d.mts +0 -121
- package/dist/adapters/node/index.mjs +0 -179
- package/dist/adapters/standard/index.d.mts +0 -19
- package/dist/adapters/standard/index.mjs +0 -8
- package/dist/adapters/standard-peer/index.d.mts +0 -16
- package/dist/adapters/standard-peer/index.mjs +0 -2
- package/dist/adapters/websocket/index.d.mts +0 -61
- package/dist/adapters/websocket/index.mjs +0 -76
- package/dist/extensions/callable.d.mts +0 -10
- package/dist/extensions/callable.mjs +0 -11
- package/dist/helpers/index.d.mts +0 -149
- package/dist/helpers/index.mjs +0 -198
- package/dist/index.d.mts +0 -196
- package/dist/index.mjs +0 -385
- package/dist/plugins/index.d.mts +0 -197
- package/dist/plugins/index.mjs +0 -357
- package/dist/shared/server.BL22TloH.d.mts +0 -184
- package/dist/shared/server.BL22TloH.d.ts +0 -184
- package/dist/shared/server.BsNNjG5J.d.mts +0 -61
- package/dist/shared/server.BwHnWUuN.mjs +0 -222
- package/dist/shared/server.CX4vUnDk.mjs +0 -11
- package/dist/shared/server.Cj5lgPuG.d.mts +0 -66
- package/dist/shared/server.CjOb6ItT.mjs +0 -41
- package/dist/shared/server.CrlKQucM.mjs +0 -233
- package/dist/shared/server.DBANIheG.d.ts +0 -104
- package/dist/shared/server.DJIkub_t.d.mts +0 -104
- package/dist/shared/server.D_QauotT.mjs +0 -30
- package/dist/shared/server.GDpX6Df8.mjs +0 -271
- package/dist/shared/server.Pa0F03f_.d.ts +0 -61
- package/dist/shared/server.W91HSRkE.mjs +0 -9
- package/dist/shared/server.d_2NS3g5.d.ts +0 -66
package/dist/index.d.mts
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import { AnyORPCError, ClientOptions, ClientContext } from '@orpc/client';
|
|
2
|
-
export { AnyORPCError, AnyORPCErrorJSON, COMMON_ERROR_STATUS_MAP, Client, ClientContext, ClientOptions, ClientRest, FriendlyClientOptions, ORPCError, ORPCErrorCode, ORPCErrorJSON, ORPCErrorOptions, RPCJsonSerialization, RPCJsonSerializationMeta, RPCJsonSerializer, RPCJsonSerializerHandler, RPCJsonSerializerOptions, RPCSerializer, RPCSerializerOptions, RPCSerializerSerializeOptions, SafeResult, cloneORPCError, isDefinedError, isInferableError, safe, toORPCError } from '@orpc/client';
|
|
3
|
-
import { ErrorMap, MergedErrorMap, AnySchema, MetaPlugin, InferSchemaOutput, InferSchemaInput, AugmentContractRouterOptions, RouterContract, AnyProcedureContract, InitialInputSchema, InitialOutputSchema, MergedSchema, Schema, ProcedureContractDefinition, ProcedureContract, InferRouterContractErrorMap, ORPCErrorFromErrorMap } from '@orpc/contract';
|
|
4
|
-
export { AnyMetaPlugin, AnySchema, ErrorMap, ErrorMapItem, InferSchemaInput, InferSchemaOutput, MergedErrorMap, Meta, MetaPlugin, MetaPluginDefinition, ORPCErrorFromErrorMap, ProcedureContract, ProcedureContractDefinition, RouterContract, Schema, ValidationError, defineMeta, eventIterator, reconcileORPCError, type } from '@orpc/contract';
|
|
5
|
-
import { IntersectPick, Promisable, Public, PromiseWithError, ThrowableError, MaybeOptionalOptions } from '@orpc/shared';
|
|
6
|
-
export { AsyncCleanupFn, AsyncIteratorClass, AsyncIteratorClassNextFn, MaybeOptionalOptions, PromiseWithError, Registry, ThrowableError, asyncIteratorToStream as eventIteratorToStream, asyncIteratorToUnproxiedDataStream as eventIteratorToUnproxiedDataStream, onError, onFinish, onStart, onSuccess, streamToAsyncIteratorClass as streamToEventIterator } from '@orpc/shared';
|
|
7
|
-
import { C as Context, d as Middleware, M as MergedContext, e as MergedInitialContext, a as Procedure, f as AnyMiddleware, g as Lazy, A as AnyProcedure, L as Lazyable, h as ProcedureHandler, O as ORPCErrorConstructorMap, i as OrderedMiddleware, P as ProcedureClientOptions, b as ProcedureClient } from './shared/server.BL22TloH.mjs';
|
|
8
|
-
export { j as LazyDefinition, k as MiddlewareDefinition, l as MiddlewareDone, m as MiddlewareDoneOptions, n as MiddlewareNext, o as MiddlewareNextOptions, p as MiddlewareOptions, q as MiddlewareResult, r as ORPCErrorConstructorMapItem, s as ORPCErrorConstructorMapItemOptions, c as ProcedureClientInterceptor, t as ProcedureClientInterceptorOptions, u as ProcedureDefinition, v as ProcedureHandlerOptions, w as createORPCErrorConstructorMap, x as createProcedureClient, y as unlazy } from './shared/server.BL22TloH.mjs';
|
|
9
|
-
import { A as AnyRouter, R as Router, C as ContractedRouter, I as InferRouterInitialContext } from './shared/server.BsNNjG5J.mjs';
|
|
10
|
-
export { a as InferRouterError, b as InferRouterErrors, c as InferRouterFinalContexts, d as InferRouterInitialContexts, e as InferRouterInputs, f as InferRouterOutputs } from './shared/server.BsNNjG5J.mjs';
|
|
11
|
-
export { ErrorEvent, EventMeta, getEventMeta, unwrapEvent, withEventMeta } from '@standardserver/core';
|
|
12
|
-
|
|
13
|
-
interface DecoratedMiddleware<TInContext extends Context, TOutContext extends Context, TInput, TOutput, TErrorMap extends ErrorMap> extends Middleware<TInContext, TOutContext, TInput, TOutput, TErrorMap> {
|
|
14
|
-
adaptInput<T>(adapt: (input: T) => TInput): DecoratedMiddleware<TInContext, TOutContext, T, TOutput, TErrorMap>;
|
|
15
|
-
errors<T extends ErrorMap>(errors: T): DecoratedMiddleware<TInContext, TOutContext, TInput, TOutput, MergedErrorMap<TErrorMap, T>>;
|
|
16
|
-
use<$OutContext extends IntersectPick<MergedContext<TInContext, TOutContext>, $OutContext>, $Input extends TInput, $InContext extends Context = MergedContext<TInContext, TOutContext>, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | MergedContext<TInContext, TOutContext>, $OutContext, $Input, TOutput, $ErrorMap>): DecoratedMiddleware<MergedInitialContext<TInContext, TOutContext, $InContext>, MergedContext<TOutContext, $OutContext>, $Input, TOutput, MergedErrorMap<$ErrorMap, TErrorMap>>;
|
|
17
|
-
}
|
|
18
|
-
declare function decorateMiddleware<TInContext extends Context, TOutContext extends Context, TInput, TOutput, TErrorMap extends ErrorMap>(middleware: Middleware<TInContext, TOutContext, TInput, TOutput, TErrorMap>): DecoratedMiddleware<TInContext, TOutContext, TInput, TOutput, TErrorMap>;
|
|
19
|
-
|
|
20
|
-
declare class DecoratedProcedure<TInitialContext extends Context, TInjectedContext extends Context, TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap, TReturnedError extends AnyORPCError> extends Procedure<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, TErrorMap, TReturnedError> {
|
|
21
|
-
meta(...plugins: MetaPlugin<TInputSchema, TOutputSchema, TErrorMap>[]): DecoratedProcedure<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, TErrorMap, TReturnedError>;
|
|
22
|
-
errors<T extends ErrorMap>(errors: T): DecoratedProcedure<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, MergedErrorMap<TErrorMap, T>, TReturnedError>;
|
|
23
|
-
use<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, InferSchemaOutput<TInputSchema>, InferSchemaInput<TOutputSchema>, $ErrorMap>): DecoratedProcedure<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, TInputSchema, TOutputSchema, MergedErrorMap<$ErrorMap, TErrorMap>, TReturnedError>;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
type AugmentedRouter<T extends AnyRouter, TErrorMap extends ErrorMap> = T extends Procedure<infer $InitialContext, infer $CurrentContext, infer $InputSchema, infer $OutputSchema, infer $ErrorMap, infer $ReturnedORPCError> ? Procedure<$InitialContext, $CurrentContext, $InputSchema, $OutputSchema, MergedErrorMap<TErrorMap, $ErrorMap>, $ReturnedORPCError> : {
|
|
27
|
-
[K in keyof T]: T[K] extends Lazy<infer $ extends AnyRouter> ? Lazy<AugmentedRouter<$, TErrorMap>> : T[K] extends AnyRouter ? AugmentedRouter<T[K], TErrorMap> : never;
|
|
28
|
-
};
|
|
29
|
-
type AugmentedRouterWithMiddlewares<T extends AnyRouter, TInitialContext extends Context, TInjectedContext extends Context, TErrorMap extends ErrorMap> = T extends Procedure<infer $InitialContext, infer $CurrentContext, infer $InputSchema, infer $OutputSchema, infer $ErrorMap, infer $ReturnedORPCError> ? Procedure<MergedInitialContext<TInitialContext, TInjectedContext, $InitialContext>, $CurrentContext, $InputSchema, $OutputSchema, MergedErrorMap<TErrorMap, $ErrorMap>, $ReturnedORPCError> : {
|
|
30
|
-
[K in keyof T]: T[K] extends Lazy<infer $ extends AnyRouter> ? Lazy<AugmentedRouterWithMiddlewares<$, TInitialContext, TInjectedContext, TErrorMap>> : T[K] extends AnyRouter ? AugmentedRouterWithMiddlewares<T[K], TInitialContext, TInjectedContext, TErrorMap> : never;
|
|
31
|
-
};
|
|
32
|
-
interface AugmentRouterOptions<TErrorMap extends ErrorMap> extends AugmentContractRouterOptions<TErrorMap> {
|
|
33
|
-
middlewares: AnyMiddleware[];
|
|
34
|
-
}
|
|
35
|
-
declare function augmentRouter<T extends AnyRouter, TInitialContext extends Context, TCurrentContext extends Context, TErrorMap extends ErrorMap>(router: T, options: AugmentRouterOptions<TErrorMap>): AugmentedRouter<T, TErrorMap> | AugmentedRouterWithMiddlewares<T, TInitialContext, TCurrentContext, TErrorMap>;
|
|
36
|
-
interface AugmentImplementedRouterOptions {
|
|
37
|
-
middlewares: AnyMiddleware[];
|
|
38
|
-
}
|
|
39
|
-
declare function augmentImplementedRouter<T extends AnyRouter, TInitialContext extends Context, TCurrentContext extends Context>(router: T, options: AugmentImplementedRouterOptions): AugmentedRouter<T, object> | AugmentedRouterWithMiddlewares<T, TInitialContext, TCurrentContext, object>;
|
|
40
|
-
declare function getRouter<T extends Lazyable<AnyRouter | undefined>>(router: T, path: readonly string[]): T extends Lazy<any> ? Lazy<AnyRouter | undefined> : Lazyable<AnyRouter | undefined>;
|
|
41
|
-
interface WalkProcedureContractsLazyResult {
|
|
42
|
-
router: Lazy<AnyRouter>;
|
|
43
|
-
path: string[];
|
|
44
|
-
}
|
|
45
|
-
declare function walkProcedureContractsSync(router: RouterContract | AnyRouter, callback: (contract: AnyProcedureContract | AnyProcedure, path: string[]) => void, path?: string[]): WalkProcedureContractsLazyResult[];
|
|
46
|
-
declare function walkProcedureContractsAsync(router: RouterContract | AnyRouter, callback: (contract: AnyProcedureContract | AnyProcedure, path: string[]) => Promisable<void>, path?: string[]): Promise<void>;
|
|
47
|
-
type UnlaziedRouter<T extends AnyRouter> = T extends AnyProcedure ? T : {
|
|
48
|
-
[K in keyof T]: T[K] extends Lazyable<infer U extends AnyRouter> ? UnlaziedRouter<U> : never;
|
|
49
|
-
};
|
|
50
|
-
declare function unlazyRouter<T extends AnyRouter>(router: T): Promise<UnlaziedRouter<T>>;
|
|
51
|
-
|
|
52
|
-
interface BuilderWithMiddlewares<TInitialContext extends Context, TInjectedContext extends Context, TErrorMap extends ErrorMap> {
|
|
53
|
-
'~orpc': BuilderDefinition<InitialInputSchema, InitialOutputSchema, TErrorMap>;
|
|
54
|
-
'meta'(...plugins: MetaPlugin<InitialInputSchema, InitialOutputSchema, TErrorMap>[]): BuilderWithMiddlewares<TInitialContext, TInjectedContext, TErrorMap>;
|
|
55
|
-
'errors'<T extends ErrorMap>(errors: T): BuilderWithMiddlewares<TInitialContext, TInjectedContext, MergedErrorMap<TErrorMap, T>>;
|
|
56
|
-
'use'<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, InferSchemaOutput<InitialInputSchema>, InferSchemaInput<InitialOutputSchema>, $ErrorMap>): BuilderWithMiddlewares<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, MergedErrorMap<$ErrorMap, TErrorMap>>;
|
|
57
|
-
'middleware'<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $Input, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $Output = any>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, $Input, $Output, TErrorMap>): DecoratedMiddleware<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, $Input, $Output, TErrorMap>;
|
|
58
|
-
'input'<T extends AnySchema>(schema: T): BuilderWithInput<TInitialContext, TInjectedContext, T, TErrorMap>;
|
|
59
|
-
'output'<T extends AnySchema>(schema: T): BuilderWithOutput<TInitialContext, TInjectedContext, T, TErrorMap>;
|
|
60
|
-
'handler'<T>(handler: ProcedureHandler<MergedContext<TInitialContext, TInjectedContext>, InferSchemaOutput<InitialInputSchema>, T, ORPCErrorConstructorMap<TErrorMap>>): DecoratedProcedure<TInitialContext, TInjectedContext, InitialInputSchema, Schema<Exclude<T, AnyORPCError>>, TErrorMap, Extract<T, AnyORPCError>>;
|
|
61
|
-
'router'<T extends Router<MergedContext<TInitialContext, TInjectedContext>>>(router: T): AugmentedRouterWithMiddlewares<T, TInitialContext, TInjectedContext, TErrorMap>;
|
|
62
|
-
'lazy'<T extends Router<MergedContext<TInitialContext, TInjectedContext>>>(loader: () => Promise<{
|
|
63
|
-
default: T;
|
|
64
|
-
}>): Lazy<AugmentedRouterWithMiddlewares<T, TInitialContext, TInjectedContext, TErrorMap>>;
|
|
65
|
-
}
|
|
66
|
-
interface BuilderWithInput<TInitialContext extends Context, TInjectedContext extends Context, TInputSchema extends AnySchema, TErrorMap extends ErrorMap> {
|
|
67
|
-
'~orpc': BuilderDefinition<TInputSchema, InitialOutputSchema, TErrorMap>;
|
|
68
|
-
'meta'(...plugins: MetaPlugin<TInputSchema, InitialOutputSchema, TErrorMap>[]): BuilderWithInput<TInitialContext, TInjectedContext, TInputSchema, TErrorMap>;
|
|
69
|
-
'errors'<T extends ErrorMap>(errors: T): BuilderWithInput<TInitialContext, TInjectedContext, TInputSchema, MergedErrorMap<TErrorMap, T>>;
|
|
70
|
-
'use'<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, InferSchemaOutput<TInputSchema>, InferSchemaInput<InitialOutputSchema>, $ErrorMap>): BuilderWithInput<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, TInputSchema, MergedErrorMap<$ErrorMap, TErrorMap>>;
|
|
71
|
-
'input'<T extends AnySchema>(schema: T): BuilderWithInput<TInitialContext, TInjectedContext, MergedSchema<T, TInputSchema>, TErrorMap>;
|
|
72
|
-
'output'<T extends AnySchema>(schema: T): BuilderWithInputOutput<TInitialContext, TInjectedContext, TInputSchema, T, TErrorMap>;
|
|
73
|
-
'handler'<T>(handler: ProcedureHandler<MergedContext<TInitialContext, TInjectedContext>, InferSchemaOutput<TInputSchema>, T, ORPCErrorConstructorMap<TErrorMap>>): DecoratedProcedure<TInitialContext, TInjectedContext, TInputSchema, Schema<Exclude<T, AnyORPCError>>, TErrorMap, Extract<T, AnyORPCError>>;
|
|
74
|
-
}
|
|
75
|
-
interface BuilderWithOutput<TInitialContext extends Context, TInjectedContext extends Context, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap> {
|
|
76
|
-
'~orpc': BuilderDefinition<InitialInputSchema, TOutputSchema, TErrorMap>;
|
|
77
|
-
'meta'(...plugins: MetaPlugin<InitialInputSchema, TOutputSchema, TErrorMap>[]): BuilderWithOutput<TInitialContext, TInjectedContext, TOutputSchema, TErrorMap>;
|
|
78
|
-
'errors'<T extends ErrorMap>(errors: T): BuilderWithOutput<TInitialContext, TInjectedContext, TOutputSchema, MergedErrorMap<TErrorMap, T>>;
|
|
79
|
-
'use'<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, InferSchemaOutput<InitialInputSchema>, InferSchemaInput<TOutputSchema>, $ErrorMap>): BuilderWithOutput<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, TOutputSchema, MergedErrorMap<$ErrorMap, TErrorMap>>;
|
|
80
|
-
'input'<T extends AnySchema>(schema: T): BuilderWithInputOutput<TInitialContext, TInjectedContext, T, TOutputSchema, TErrorMap>;
|
|
81
|
-
'output'<T extends AnySchema>(schema: T): BuilderWithOutput<TInitialContext, TInjectedContext, MergedSchema<T, TOutputSchema>, TErrorMap>;
|
|
82
|
-
'handler'<T extends InferSchemaInput<TOutputSchema> | AnyORPCError>(handler: ProcedureHandler<MergedContext<TInitialContext, TInjectedContext>, InferSchemaOutput<InitialInputSchema>, T, ORPCErrorConstructorMap<TErrorMap>>): DecoratedProcedure<TInitialContext, TInjectedContext, InitialInputSchema, TOutputSchema, TErrorMap, Extract<T, AnyORPCError>>;
|
|
83
|
-
}
|
|
84
|
-
interface BuilderWithInputOutput<TInitialContext extends Context, TInjectedContext extends Context, TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap> {
|
|
85
|
-
'~orpc': BuilderDefinition<TInputSchema, TOutputSchema, TErrorMap>;
|
|
86
|
-
'meta'(...plugins: MetaPlugin<TInputSchema, TOutputSchema, TErrorMap>[]): BuilderWithInputOutput<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, TErrorMap>;
|
|
87
|
-
'errors'<T extends ErrorMap>(errors: T): BuilderWithInputOutput<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, MergedErrorMap<TErrorMap, T>>;
|
|
88
|
-
'use'<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, InferSchemaOutput<TInputSchema>, InferSchemaInput<TOutputSchema>, $ErrorMap>): BuilderWithInputOutput<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, TInputSchema, TOutputSchema, MergedErrorMap<$ErrorMap, TErrorMap>>;
|
|
89
|
-
'input'<T extends AnySchema>(schema: T): BuilderWithInputOutput<TInitialContext, TInjectedContext, MergedSchema<T, TInputSchema>, TOutputSchema, TErrorMap>;
|
|
90
|
-
'output'<T extends AnySchema>(schema: T): BuilderWithInputOutput<TInitialContext, TInjectedContext, TInputSchema, MergedSchema<T, TOutputSchema>, TErrorMap>;
|
|
91
|
-
'handler'<T extends InferSchemaInput<TOutputSchema> | AnyORPCError>(handler: ProcedureHandler<MergedContext<TInitialContext, TInjectedContext>, InferSchemaOutput<TInputSchema>, T, ORPCErrorConstructorMap<TErrorMap>>): DecoratedProcedure<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, TErrorMap, Extract<T, AnyORPCError>>;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
interface DefaultInitialContext {
|
|
95
|
-
}
|
|
96
|
-
interface BuilderDefinition<TInputSchema extends AnySchema, TInjectedContext extends AnySchema, TErrorMap extends ErrorMap> extends ProcedureContractDefinition<TInputSchema, TInjectedContext, TErrorMap> {
|
|
97
|
-
orderedMiddlewares: OrderedMiddleware[];
|
|
98
|
-
}
|
|
99
|
-
declare class Builder<TInitialContext extends Context, TErrorMap extends ErrorMap> {
|
|
100
|
-
'~orpc': BuilderDefinition<InitialInputSchema, InitialOutputSchema, TErrorMap>;
|
|
101
|
-
private constructor();
|
|
102
|
-
static create<T extends Context = DefaultInitialContext>(): Builder<T & object, Record<never, never>>;
|
|
103
|
-
$context<T extends Context = DefaultInitialContext>(): Builder<T & object, TErrorMap>;
|
|
104
|
-
meta(...plugins: MetaPlugin<InitialInputSchema, InitialOutputSchema, TErrorMap>[]): Builder<TInitialContext, TErrorMap>;
|
|
105
|
-
errors<U extends ErrorMap>(errors: U): Builder<TInitialContext, MergedErrorMap<TErrorMap, U>>;
|
|
106
|
-
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>>;
|
|
107
|
-
middleware<$OutContext extends IntersectPick<TInitialContext, $OutContext>, $Input, $Output = any>(middleware: Middleware<TInitialContext, $OutContext, $Input, $Output, TErrorMap>): DecoratedMiddleware<TInitialContext, $OutContext, $Input, $Output, TErrorMap>;
|
|
108
|
-
input<$ extends AnySchema>(schema: $): BuilderWithInput<TInitialContext, object, $, TErrorMap>;
|
|
109
|
-
output<$ extends AnySchema>(schema: $): BuilderWithOutput<TInitialContext, object, $, TErrorMap>;
|
|
110
|
-
handler<T>(handler: ProcedureHandler<TInitialContext, InferSchemaOutput<InitialInputSchema>, T, ORPCErrorConstructorMap<TErrorMap>>): DecoratedProcedure<TInitialContext, object, InitialInputSchema, Schema<Exclude<T, AnyORPCError>>, TErrorMap, Extract<T, AnyORPCError>>;
|
|
111
|
-
router<T extends AnyRouter>(router: T): AugmentedRouter<T, TErrorMap>;
|
|
112
|
-
lazy<T extends AnyRouter>(loader: () => Promise<{
|
|
113
|
-
default: T;
|
|
114
|
-
}>): Lazy<AugmentedRouter<T, TErrorMap>>;
|
|
115
|
-
}
|
|
116
|
-
declare const os: Builder<DefaultInitialContext & object, Record<never, never>>;
|
|
117
|
-
|
|
118
|
-
declare const DEFAULT_SUCCESS_STATUS = 200;
|
|
119
|
-
declare const DEFAULT_ERROR_STATUS = 500;
|
|
120
|
-
|
|
121
|
-
declare class ProcedureImplementer<TInitialContext extends Context, TInjectedContext extends Context, TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap> {
|
|
122
|
-
'~orpc': BuilderDefinition<TInputSchema, TOutputSchema, TErrorMap>;
|
|
123
|
-
constructor(definition: BuilderDefinition<TInputSchema, TOutputSchema, TErrorMap>);
|
|
124
|
-
'use'<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, InferSchemaOutput<TInputSchema>, InferSchemaInput<TOutputSchema>, $ErrorMap>): ProcedureImplementer<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, TInputSchema, TOutputSchema, TErrorMap>;
|
|
125
|
-
'handler'(handler: ProcedureHandler<MergedContext<TInitialContext, TInjectedContext>, InferSchemaOutput<TInputSchema>, AnyORPCError | InferSchemaInput<TOutputSchema>, ORPCErrorConstructorMap<TErrorMap>>): ImplementedProcedure<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, TErrorMap>;
|
|
126
|
-
}
|
|
127
|
-
declare class ImplementedProcedure<TInitialContext extends Context, TInjectedContext extends Context, TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap> extends Procedure<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, TErrorMap, never> {
|
|
128
|
-
use<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $ErrorMap extends ErrorMap = TErrorMap>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, InferSchemaOutput<TInputSchema>, InferSchemaInput<TOutputSchema>, $ErrorMap>): ImplementedProcedure<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, TInputSchema, TOutputSchema, TErrorMap>;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
declare class SharedRouterImplementer<TContract extends RouterContract, TInitialContext extends Context> {
|
|
132
|
-
private readonly contract;
|
|
133
|
-
private readonly middlewares;
|
|
134
|
-
private constructor();
|
|
135
|
-
static create<TContract extends RouterContract, TInitialContext extends Context>(contract: TContract): SharedRouterImplementer<TContract, TInitialContext>;
|
|
136
|
-
static create<TContract extends RouterContract, TInitialContext extends Context, TInjectedContext extends Context>(contract: TContract, middlewares: AnyMiddleware[]): SharedRouterImplementerWithMiddlewares<TContract, TInitialContext, TInjectedContext>;
|
|
137
|
-
use<$OutContext extends IntersectPick<TInitialContext, $OutContext>, $InContext extends Context = TInitialContext, $ErrorMap extends ErrorMap = InferRouterContractErrorMap<TContract>>(middleware: Middleware<$InContext | TInitialContext, $OutContext, unknown, unknown, $ErrorMap>): RouterImplementerWithMiddlewares<TContract, MergedInitialContext<TInitialContext, object, $InContext>, $OutContext>;
|
|
138
|
-
middleware<$OutContext extends IntersectPick<TInitialContext, $OutContext>, $Input, $InContext extends Context = TInitialContext, $Output = any>(middleware: Middleware<$InContext | TInitialContext, $OutContext, $Input, $Output, InferRouterContractErrorMap<TContract>>): DecoratedMiddleware<MergedInitialContext<TInitialContext, object, $InContext>, $OutContext, $Input, $Output, object>;
|
|
139
|
-
router<T extends ContractedRouter<TContract, any>>(router: T): T;
|
|
140
|
-
lazy<T extends ContractedRouter<TContract, any>>(loader: () => Promise<{
|
|
141
|
-
default: T;
|
|
142
|
-
}>): Lazy<T>;
|
|
143
|
-
}
|
|
144
|
-
interface SharedRouterImplementerWithMiddlewares<TContract extends RouterContract, TInitialContext extends Context, TInjectedContext extends Context> {
|
|
145
|
-
use<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $ErrorMap extends ErrorMap = InferRouterContractErrorMap<TContract>>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, unknown, unknown, $ErrorMap>): RouterImplementerWithMiddlewares<TContract, MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>>;
|
|
146
|
-
middleware<$OutContext extends IntersectPick<MergedContext<TInitialContext, TInjectedContext>, $OutContext>, $Input, $InContext extends Context = MergedContext<TInitialContext, TInjectedContext>, $Output = any>(middleware: Middleware<$InContext | MergedContext<TInitialContext, TInjectedContext>, $OutContext, $Input, $Output, InferRouterContractErrorMap<TContract>>): DecoratedMiddleware<MergedInitialContext<TInitialContext, TInjectedContext, $InContext>, MergedContext<TInjectedContext, $OutContext>, $Input, $Output, object>;
|
|
147
|
-
router<T extends ContractedRouter<TContract, MergedContext<TInitialContext, TInjectedContext>>>(router: T): AugmentedRouterWithMiddlewares<T, TInitialContext, TInjectedContext, object>;
|
|
148
|
-
lazy<T extends ContractedRouter<TContract, any>>(loader: () => Promise<{
|
|
149
|
-
default: T;
|
|
150
|
-
}>): Lazy<AugmentedRouterWithMiddlewares<T, TInitialContext, TInjectedContext, object>>;
|
|
151
|
-
}
|
|
152
|
-
type RouterImplementer<TContract extends RouterContract, TInitialContext extends Context> = TContract extends ProcedureContract<infer $InputSchema, infer $OutputSchema, infer $ErrorMap> ? ProcedureImplementer<TInitialContext, object, $InputSchema, $OutputSchema, $ErrorMap> : Public<SharedRouterImplementer<TContract, TInitialContext>> & {
|
|
153
|
-
[K in keyof TContract]: TContract[K] extends RouterContract ? RouterImplementer<TContract[K], TInitialContext> : never;
|
|
154
|
-
};
|
|
155
|
-
type RouterImplementerWithMiddlewares<TContract extends RouterContract, TInitialContext extends Context, TInjectedContext extends Context> = TContract extends ProcedureContract<infer $InputSchema, infer $OutputSchema, infer $ErrorMap> ? ProcedureImplementer<TInitialContext, TInjectedContext, $InputSchema, $OutputSchema, $ErrorMap> : SharedRouterImplementerWithMiddlewares<TContract, TInitialContext, TInjectedContext> & {
|
|
156
|
-
[K in keyof TContract]: TContract[K] extends RouterContract ? RouterImplementerWithMiddlewares<TContract[K], TInitialContext, TInjectedContext> : never;
|
|
157
|
-
};
|
|
158
|
-
declare function createRouterImplementer<TContract extends RouterContract, TInitialContext extends Context>(contract: TContract): RouterImplementer<TContract, TInitialContext>;
|
|
159
|
-
|
|
160
|
-
type Implementer<TContract extends RouterContract, TInitialContext extends Context> = {
|
|
161
|
-
$context<T extends Context = DefaultInitialContext>(): Implementer<TContract, T & object>;
|
|
162
|
-
} & RouterImplementer<TContract, TInitialContext>;
|
|
163
|
-
declare function implement<TContract extends RouterContract, TInitialContext extends Context = DefaultInitialContext>(contract: TContract): Implementer<TContract, TInitialContext & object>;
|
|
164
|
-
|
|
165
|
-
declare function createGuardedProcedureLazy(lazy: Lazy<unknown>): Lazy<AnyProcedure>;
|
|
166
|
-
/**
|
|
167
|
-
* Create a new procedure that ensure the contract is applied to the procedure.
|
|
168
|
-
*
|
|
169
|
-
* .input/.output/.handler mismatches are already caught by the `implementer.router`,
|
|
170
|
-
* but .errors (in case implemented procedure error map is more than enough) and .meta cannot be
|
|
171
|
-
* validated that way - so they must be overridden here to ensure the client always sees what the contract defines.
|
|
172
|
-
*/
|
|
173
|
-
declare function createContractProcedure<TInitialContext extends Context, TInjectedContext extends Context, TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap>(procedure: Procedure<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, any, any>, contract: ProcedureContract<any, any, TErrorMap>): Procedure<TInitialContext, TInjectedContext, TInputSchema, TOutputSchema, TErrorMap, never>;
|
|
174
|
-
type CallOptions<TInitialContext extends Context, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap, TReturnedError extends AnyORPCError> = ProcedureClientOptions<TInitialContext, TOutputSchema, TErrorMap, TReturnedError, object> & Omit<ClientOptions<object>, 'context'>;
|
|
175
|
-
type CallRest<TInitialContext extends Context, TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap, TReturnedError extends AnyORPCError> = object extends CallOptions<TInitialContext, TOutputSchema, TErrorMap, TReturnedError> ? undefined extends InferSchemaInput<TInputSchema> ? [input?: InferSchemaInput<TInputSchema>, options?: CallOptions<TInitialContext, TOutputSchema, TErrorMap, TReturnedError>] : [input: InferSchemaInput<TInputSchema>, options?: CallOptions<TInitialContext, TOutputSchema, TErrorMap, TReturnedError>] : [input: InferSchemaInput<TInputSchema>, options: CallOptions<TInitialContext, TOutputSchema, TErrorMap, TReturnedError>];
|
|
176
|
-
/**
|
|
177
|
-
* Quickly call a procedure without creating a client.
|
|
178
|
-
*
|
|
179
|
-
* @example
|
|
180
|
-
* ```ts
|
|
181
|
-
* const output = await call(getting, 'input')
|
|
182
|
-
* const output = await call(getting, 'input', { context: { db: 'postgres' } })
|
|
183
|
-
* ```
|
|
184
|
-
*/
|
|
185
|
-
declare function call<TInitialContext extends Context, TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap, TReturnedError extends AnyORPCError>(lazyableProcedure: Lazyable<Procedure<TInitialContext, any, TInputSchema, TOutputSchema, TErrorMap, TReturnedError>>, ...[input, options,]: CallRest<TInitialContext, TInputSchema, TOutputSchema, TErrorMap, TReturnedError>): PromiseWithError<InferSchemaOutput<TOutputSchema>, ORPCErrorFromErrorMap<TErrorMap> | TReturnedError | ThrowableError>;
|
|
186
|
-
|
|
187
|
-
type RouterClient<TRouter extends AnyRouter, TClientContext extends ClientContext = object> = TRouter extends Procedure<any, any, infer $InputSchema, infer $OutputSchema, infer $ErrorMap, infer $ReturnedError> ? ProcedureClient<TClientContext, $InputSchema, $OutputSchema, $ErrorMap, $ReturnedError> : {
|
|
188
|
-
[K in keyof TRouter]: TRouter[K] extends Lazyable<infer U extends AnyRouter> ? RouterClient<U, TClientContext> : never;
|
|
189
|
-
};
|
|
190
|
-
declare function createRouterClient<T extends AnyRouter, TClientContext extends ClientContext = object>(router: Lazyable<T | undefined>, ...rest: MaybeOptionalOptions<ProcedureClientOptions<InferRouterInitialContext<T>, Schema<unknown>, ErrorMap, any, TClientContext>>): RouterClient<T, TClientContext>;
|
|
191
|
-
|
|
192
|
-
declare function withHiddenRouterContract<T extends Lazyable<AnyRouter>>(router: T, contract: RouterContract): T;
|
|
193
|
-
declare function getHiddenRouterContract(router: Lazyable<AnyRouter | RouterContract>): RouterContract | undefined;
|
|
194
|
-
|
|
195
|
-
export { AnyMiddleware, AnyProcedure, AnyRouter, Builder, Context, ContractedRouter, DEFAULT_ERROR_STATUS, DEFAULT_SUCCESS_STATUS, DecoratedProcedure, ImplementedProcedure, InferRouterInitialContext, Lazy, Lazyable, MergedContext, MergedInitialContext, Middleware, ORPCErrorConstructorMap, OrderedMiddleware, Procedure, ProcedureClient, ProcedureClientOptions, ProcedureHandler, ProcedureImplementer, Router, SharedRouterImplementer, augmentImplementedRouter, augmentRouter, call, createContractProcedure, createGuardedProcedureLazy, createRouterClient, createRouterImplementer, decorateMiddleware, getHiddenRouterContract, getRouter, implement, os, unlazyRouter, walkProcedureContractsAsync, walkProcedureContractsSync, withHiddenRouterContract };
|
|
196
|
-
export type { AugmentImplementedRouterOptions, AugmentRouterOptions, AugmentedRouter, AugmentedRouterWithMiddlewares, BuilderDefinition, BuilderWithInput, BuilderWithInputOutput, BuilderWithMiddlewares, BuilderWithOutput, CallOptions, CallRest, DecoratedMiddleware, DefaultInitialContext, Implementer, RouterClient, RouterImplementer, RouterImplementerWithMiddlewares, SharedRouterImplementerWithMiddlewares, UnlaziedRouter, WalkProcedureContractsLazyResult };
|
package/dist/index.mjs
DELETED
|
@@ -1,385 +0,0 @@
|
|
|
1
|
-
import { mergeErrorMap, resolveMetaPlugins, getHiddenMetaPlugins, ProcedureContract } from '@orpc/contract';
|
|
2
|
-
export { ValidationError, defineMeta, eventIterator, reconcileORPCError, type } from '@orpc/contract';
|
|
3
|
-
import { toArray, bindMethods, getOrBind, isTypescriptObject, resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
4
|
-
export { AsyncIteratorClass, asyncIteratorToStream as eventIteratorToStream, asyncIteratorToUnproxiedDataStream as eventIteratorToUnproxiedDataStream, onError, onFinish, onStart, onSuccess, streamToAsyncIteratorClass as streamToEventIterator } from '@orpc/shared';
|
|
5
|
-
import { L as Lazy, P as Procedure, c as createProcedureClient } from './shared/server.CrlKQucM.mjs';
|
|
6
|
-
export { a as createORPCErrorConstructorMap, u as unlazy } from './shared/server.CrlKQucM.mjs';
|
|
7
|
-
import { D as DecoratedProcedure } from './shared/server.CjOb6ItT.mjs';
|
|
8
|
-
import { b as augmentRouter, d as augmentImplementedRouter, e as withHiddenRouterContract, f as createGuardedProcedureLazy, g as getRouter } from './shared/server.BwHnWUuN.mjs';
|
|
9
|
-
export { a as DEFAULT_ERROR_STATUS, D as DEFAULT_SUCCESS_STATUS, h as call, c as createContractProcedure, i as getHiddenRouterContract, u as unlazyRouter, j as walkProcedureContractsAsync, w as walkProcedureContractsSync } from './shared/server.BwHnWUuN.mjs';
|
|
10
|
-
import { RECURSIVE_CLIENT_UNWRAP_KEYS } from '@orpc/client';
|
|
11
|
-
export { COMMON_ERROR_STATUS_MAP, ORPCError, RPCJsonSerializer, RPCSerializer, cloneORPCError, isDefinedError, isInferableError, safe, toORPCError } from '@orpc/client';
|
|
12
|
-
export { ErrorEvent, getEventMeta, unwrapEvent, withEventMeta } from '@standardserver/core';
|
|
13
|
-
|
|
14
|
-
function decorateMiddleware(middleware) {
|
|
15
|
-
const decorated = ((...args) => middleware(...args));
|
|
16
|
-
decorated["~orpc"] = middleware["~orpc"];
|
|
17
|
-
Object.defineProperty(decorated, "name", {
|
|
18
|
-
value: middleware.name
|
|
19
|
-
});
|
|
20
|
-
decorated.adaptInput = (adapt) => {
|
|
21
|
-
const mapped = decorateMiddleware(
|
|
22
|
-
(opts, input, ...args) => {
|
|
23
|
-
return middleware(opts, adapt(input), ...args);
|
|
24
|
-
}
|
|
25
|
-
);
|
|
26
|
-
mapped["~orpc"] = middleware["~orpc"];
|
|
27
|
-
Object.defineProperty(mapped, "name", {
|
|
28
|
-
value: middleware.name
|
|
29
|
-
});
|
|
30
|
-
return mapped;
|
|
31
|
-
};
|
|
32
|
-
decorated.errors = (errors) => {
|
|
33
|
-
const newMiddleware = decorateMiddleware(decorated);
|
|
34
|
-
newMiddleware["~orpc"] = {
|
|
35
|
-
...decorated["~orpc"],
|
|
36
|
-
errorMap: mergeErrorMap(decorated["~orpc"]?.errorMap, errors)
|
|
37
|
-
};
|
|
38
|
-
return newMiddleware;
|
|
39
|
-
};
|
|
40
|
-
decorated.use = (usedMiddleware) => {
|
|
41
|
-
const merged = decorateMiddleware((opts, ...args) => {
|
|
42
|
-
return middleware(
|
|
43
|
-
{
|
|
44
|
-
...opts,
|
|
45
|
-
async next(nextOpts1) {
|
|
46
|
-
const result = await usedMiddleware({
|
|
47
|
-
...opts,
|
|
48
|
-
context: { ...opts.context, ...nextOpts1?.context },
|
|
49
|
-
next(nextOpts2, ...args2) {
|
|
50
|
-
return opts.next({
|
|
51
|
-
...opts,
|
|
52
|
-
context: {
|
|
53
|
-
...nextOpts1?.context,
|
|
54
|
-
...nextOpts2?.context
|
|
55
|
-
}
|
|
56
|
-
}, ...args2);
|
|
57
|
-
}
|
|
58
|
-
}, ...args);
|
|
59
|
-
return {
|
|
60
|
-
...result,
|
|
61
|
-
context: {
|
|
62
|
-
...nextOpts1?.context,
|
|
63
|
-
...result.context
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
...args
|
|
69
|
-
);
|
|
70
|
-
});
|
|
71
|
-
merged["~orpc"] = {
|
|
72
|
-
...decorated["~orpc"],
|
|
73
|
-
errorMap: mergeErrorMap(usedMiddleware["~orpc"]?.errorMap, decorated["~orpc"]?.errorMap),
|
|
74
|
-
metaPlugins: [
|
|
75
|
-
...toArray(middleware["~orpc"]?.metaPlugins),
|
|
76
|
-
...toArray(usedMiddleware["~orpc"]?.metaPlugins)
|
|
77
|
-
]
|
|
78
|
-
};
|
|
79
|
-
Object.defineProperty(merged, "name", {
|
|
80
|
-
value: `${middleware.name} + ${usedMiddleware.name}`
|
|
81
|
-
});
|
|
82
|
-
return merged;
|
|
83
|
-
};
|
|
84
|
-
return decorated;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
class Builder {
|
|
88
|
-
"~orpc";
|
|
89
|
-
constructor(definition) {
|
|
90
|
-
this["~orpc"] = definition;
|
|
91
|
-
}
|
|
92
|
-
static create() {
|
|
93
|
-
return new Builder({
|
|
94
|
-
errorMap: {},
|
|
95
|
-
meta: {},
|
|
96
|
-
orderedMiddlewares: []
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
$context() {
|
|
100
|
-
return this;
|
|
101
|
-
}
|
|
102
|
-
meta(...plugins) {
|
|
103
|
-
const [meta, metaPlugins] = resolveMetaPlugins(
|
|
104
|
-
this["~orpc"].meta,
|
|
105
|
-
this["~orpc"].metaPlugins,
|
|
106
|
-
plugins
|
|
107
|
-
);
|
|
108
|
-
return new Builder({
|
|
109
|
-
...this["~orpc"],
|
|
110
|
-
meta,
|
|
111
|
-
metaPlugins
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
errors(errors) {
|
|
115
|
-
let builder = new Builder({
|
|
116
|
-
...this["~orpc"],
|
|
117
|
-
errorMap: mergeErrorMap(this["~orpc"].errorMap, errors)
|
|
118
|
-
});
|
|
119
|
-
const plugins = getHiddenMetaPlugins(errors);
|
|
120
|
-
if (plugins) {
|
|
121
|
-
builder = builder.meta(...plugins);
|
|
122
|
-
}
|
|
123
|
-
return builder;
|
|
124
|
-
}
|
|
125
|
-
use(middleware) {
|
|
126
|
-
let builder = new Builder({
|
|
127
|
-
...this["~orpc"],
|
|
128
|
-
errorMap: mergeErrorMap(middleware["~orpc"]?.errorMap ?? {}, this["~orpc"].errorMap),
|
|
129
|
-
orderedMiddlewares: [...this["~orpc"].orderedMiddlewares, {
|
|
130
|
-
middleware,
|
|
131
|
-
inputSchemasLengthAtUse: this["~orpc"].inputSchemas?.length,
|
|
132
|
-
outputSchemasLengthAtUse: this["~orpc"].outputSchemas?.length
|
|
133
|
-
}]
|
|
134
|
-
});
|
|
135
|
-
if (middleware["~orpc"]?.metaPlugins) {
|
|
136
|
-
builder = builder.meta(...middleware["~orpc"]?.metaPlugins);
|
|
137
|
-
}
|
|
138
|
-
return builder;
|
|
139
|
-
}
|
|
140
|
-
middleware(middleware) {
|
|
141
|
-
const allMiddlewares = [
|
|
142
|
-
...this["~orpc"].orderedMiddlewares.map(({ middleware: middleware2 }) => middleware2),
|
|
143
|
-
middleware
|
|
144
|
-
];
|
|
145
|
-
let current = decorateMiddleware(allMiddlewares.shift());
|
|
146
|
-
for (const mid of allMiddlewares) {
|
|
147
|
-
current = current.use(mid);
|
|
148
|
-
}
|
|
149
|
-
current["~orpc"] = {
|
|
150
|
-
...current["~orpc"],
|
|
151
|
-
errorMap: this["~orpc"].errorMap,
|
|
152
|
-
metaPlugins: [
|
|
153
|
-
...toArray(this["~orpc"].metaPlugins),
|
|
154
|
-
...toArray(middleware["~orpc"]?.metaPlugins)
|
|
155
|
-
]
|
|
156
|
-
};
|
|
157
|
-
return current;
|
|
158
|
-
}
|
|
159
|
-
input(schema) {
|
|
160
|
-
let builder = new Builder({
|
|
161
|
-
...this["~orpc"],
|
|
162
|
-
inputSchemas: [...toArray(this["~orpc"].inputSchemas), schema]
|
|
163
|
-
});
|
|
164
|
-
const plugins = getHiddenMetaPlugins(schema);
|
|
165
|
-
if (plugins) {
|
|
166
|
-
builder = builder.meta(...plugins);
|
|
167
|
-
}
|
|
168
|
-
return builder;
|
|
169
|
-
}
|
|
170
|
-
output(schema) {
|
|
171
|
-
let builder = new Builder({
|
|
172
|
-
...this["~orpc"],
|
|
173
|
-
outputSchemas: [...toArray(this["~orpc"].outputSchemas), schema]
|
|
174
|
-
});
|
|
175
|
-
const plugins = getHiddenMetaPlugins(schema);
|
|
176
|
-
if (plugins) {
|
|
177
|
-
builder = builder.meta(...plugins);
|
|
178
|
-
}
|
|
179
|
-
return builder;
|
|
180
|
-
}
|
|
181
|
-
handler(handler) {
|
|
182
|
-
let procedure = new DecoratedProcedure({
|
|
183
|
-
...this["~orpc"],
|
|
184
|
-
handler
|
|
185
|
-
});
|
|
186
|
-
const plugins = getHiddenMetaPlugins(handler);
|
|
187
|
-
if (plugins) {
|
|
188
|
-
procedure = procedure.meta(...plugins);
|
|
189
|
-
}
|
|
190
|
-
return procedure;
|
|
191
|
-
}
|
|
192
|
-
router(router) {
|
|
193
|
-
return augmentRouter(router, {
|
|
194
|
-
middlewares: this["~orpc"].orderedMiddlewares.map(({ middleware }) => middleware),
|
|
195
|
-
meta: this["~orpc"].meta,
|
|
196
|
-
metaPlugins: this["~orpc"].metaPlugins,
|
|
197
|
-
errorMap: this["~orpc"].errorMap
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
lazy(loader) {
|
|
201
|
-
return new Lazy({
|
|
202
|
-
loader: async () => {
|
|
203
|
-
const { default: router } = await loader();
|
|
204
|
-
return {
|
|
205
|
-
default: this.router(router)
|
|
206
|
-
};
|
|
207
|
-
},
|
|
208
|
-
meta: this["~orpc"].meta,
|
|
209
|
-
metaPlugins: this["~orpc"].metaPlugins
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
const os = Builder.create();
|
|
214
|
-
|
|
215
|
-
class ProcedureImplementer {
|
|
216
|
-
"~orpc";
|
|
217
|
-
constructor(definition) {
|
|
218
|
-
this["~orpc"] = definition;
|
|
219
|
-
}
|
|
220
|
-
"use"(middleware) {
|
|
221
|
-
return new ProcedureImplementer({
|
|
222
|
-
...this["~orpc"],
|
|
223
|
-
orderedMiddlewares: [...this["~orpc"].orderedMiddlewares, {
|
|
224
|
-
middleware,
|
|
225
|
-
inputSchemasLengthAtUse: this["~orpc"].inputSchemas?.length,
|
|
226
|
-
outputSchemasLengthAtUse: this["~orpc"].outputSchemas?.length
|
|
227
|
-
}]
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
"handler"(handler) {
|
|
231
|
-
return new ImplementedProcedure({
|
|
232
|
-
...this["~orpc"],
|
|
233
|
-
handler,
|
|
234
|
-
/**
|
|
235
|
-
* When enabled, errors returned (not thrown) by the handler are passed through as-is,
|
|
236
|
-
* rather than being transformed into inferrable errors.
|
|
237
|
-
*
|
|
238
|
-
* This is intended for the contract-first approach, where the procedure adheres to an
|
|
239
|
-
* external contract and returned errors should not affect the inferred contract types.
|
|
240
|
-
*/
|
|
241
|
-
opaqueReturnedErrors: true
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
class ImplementedProcedure extends Procedure {
|
|
246
|
-
use(middleware) {
|
|
247
|
-
return new ImplementedProcedure({
|
|
248
|
-
...this["~orpc"],
|
|
249
|
-
orderedMiddlewares: [...this["~orpc"].orderedMiddlewares, {
|
|
250
|
-
middleware,
|
|
251
|
-
inputSchemasLengthAtUse: this["~orpc"].inputSchemas?.length,
|
|
252
|
-
outputSchemasLengthAtUse: this["~orpc"].outputSchemas?.length
|
|
253
|
-
}]
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
class SharedRouterImplementer {
|
|
259
|
-
constructor(contract, middlewares) {
|
|
260
|
-
this.contract = contract;
|
|
261
|
-
this.middlewares = middlewares;
|
|
262
|
-
}
|
|
263
|
-
static create(contract, middlewares = []) {
|
|
264
|
-
return new SharedRouterImplementer(contract, middlewares);
|
|
265
|
-
}
|
|
266
|
-
use(middleware) {
|
|
267
|
-
return createRouterImplementerInternal(this.contract, [...this.middlewares, middleware]);
|
|
268
|
-
}
|
|
269
|
-
middleware(middleware) {
|
|
270
|
-
const allMiddlewares = [
|
|
271
|
-
...this.middlewares,
|
|
272
|
-
middleware
|
|
273
|
-
];
|
|
274
|
-
let current = decorateMiddleware(allMiddlewares.shift());
|
|
275
|
-
for (const mid of allMiddlewares) {
|
|
276
|
-
current = current.use(mid);
|
|
277
|
-
}
|
|
278
|
-
return current;
|
|
279
|
-
}
|
|
280
|
-
router(router) {
|
|
281
|
-
if (this.middlewares.length) {
|
|
282
|
-
router = augmentImplementedRouter(router, {
|
|
283
|
-
middlewares: this.middlewares
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
return withHiddenRouterContract(router, this.contract);
|
|
287
|
-
}
|
|
288
|
-
lazy(loader) {
|
|
289
|
-
if (this.middlewares.length) {
|
|
290
|
-
const originalLoader = loader;
|
|
291
|
-
loader = async () => {
|
|
292
|
-
const { default: router } = await originalLoader();
|
|
293
|
-
return {
|
|
294
|
-
default: augmentImplementedRouter(router, {
|
|
295
|
-
middlewares: this.middlewares
|
|
296
|
-
})
|
|
297
|
-
};
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
return new Lazy({ loader, meta: {} });
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
function createRouterImplementer(contract) {
|
|
304
|
-
return createRouterImplementerInternal(contract, []);
|
|
305
|
-
}
|
|
306
|
-
function createRouterImplementerInternal(contract, middlewares) {
|
|
307
|
-
if (contract instanceof ProcedureContract) {
|
|
308
|
-
return new ProcedureImplementer({
|
|
309
|
-
...contract["~orpc"],
|
|
310
|
-
orderedMiddlewares: middlewares.map((middleware) => ({ middleware }))
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
const implementer = {};
|
|
314
|
-
for (const key in contract) {
|
|
315
|
-
const child = contract[key];
|
|
316
|
-
implementer[key] = createRouterImplementerInternal(child, middlewares);
|
|
317
|
-
}
|
|
318
|
-
const shared = bindMethods(SharedRouterImplementer.create(contract, middlewares));
|
|
319
|
-
for (const key in shared) {
|
|
320
|
-
const method = shared[key];
|
|
321
|
-
if (key in implementer) {
|
|
322
|
-
const child = implementer[key];
|
|
323
|
-
implementer[key] = new Proxy(method, {
|
|
324
|
-
get(_, p) {
|
|
325
|
-
return getOrBind(child, p);
|
|
326
|
-
}
|
|
327
|
-
});
|
|
328
|
-
} else {
|
|
329
|
-
implementer[key] = method;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
return implementer;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
function implement(contract) {
|
|
336
|
-
const routerImplementer = createRouterImplementer(contract);
|
|
337
|
-
const implementer = new Proxy(routerImplementer, {
|
|
338
|
-
get(_, p) {
|
|
339
|
-
let method;
|
|
340
|
-
if (p === "$context") {
|
|
341
|
-
method = () => implementer;
|
|
342
|
-
}
|
|
343
|
-
const value = getOrBind(routerImplementer, p);
|
|
344
|
-
if (method) {
|
|
345
|
-
if (!isTypescriptObject(value)) {
|
|
346
|
-
return method;
|
|
347
|
-
}
|
|
348
|
-
return new Proxy(method, {
|
|
349
|
-
get(_2, p2) {
|
|
350
|
-
return getOrBind(value, p2);
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
return value;
|
|
355
|
-
}
|
|
356
|
-
});
|
|
357
|
-
return implementer;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
function createRouterClient(router, ...rest) {
|
|
361
|
-
const options = resolveMaybeOptionalOptions(rest);
|
|
362
|
-
if (router instanceof Procedure) {
|
|
363
|
-
return createProcedureClient(router, options);
|
|
364
|
-
}
|
|
365
|
-
const procedureCaller = router instanceof Lazy ? createProcedureClient(createGuardedProcedureLazy(router), options) : {};
|
|
366
|
-
const recursive = new Proxy(procedureCaller, {
|
|
367
|
-
get(target, key) {
|
|
368
|
-
if (typeof key !== "string" || router instanceof Lazy && RECURSIVE_CLIENT_UNWRAP_KEYS.has(key)) {
|
|
369
|
-
return getOrBind(target, key);
|
|
370
|
-
}
|
|
371
|
-
const next = getRouter(router, [key]);
|
|
372
|
-
if (!next) {
|
|
373
|
-
return getOrBind(target, key);
|
|
374
|
-
}
|
|
375
|
-
const nextClient = createRouterClient(next, {
|
|
376
|
-
...options,
|
|
377
|
-
path: [...toArray(options.path), key]
|
|
378
|
-
});
|
|
379
|
-
return nextClient;
|
|
380
|
-
}
|
|
381
|
-
});
|
|
382
|
-
return recursive;
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
export { Builder, DecoratedProcedure, ImplementedProcedure, Lazy, Procedure, ProcedureImplementer, SharedRouterImplementer, augmentImplementedRouter, augmentRouter, createGuardedProcedureLazy, createProcedureClient, createRouterClient, createRouterImplementer, decorateMiddleware, getRouter, implement, os, withHiddenRouterContract };
|