@orpc/server 0.2.1 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/dist/{chunk-26DTFWOI.js → chunk-YYGRQD4L.js} +26 -36
  2. package/dist/chunk-YYGRQD4L.js.map +1 -0
  3. package/dist/fetch.js +12 -12
  4. package/dist/fetch.js.map +1 -1
  5. package/dist/index.js +9 -15
  6. package/dist/index.js.map +1 -1
  7. package/dist/src/adapters/fetch.d.ts +2 -2
  8. package/dist/src/adapters/fetch.d.ts.map +1 -1
  9. package/dist/src/builder.d.ts +2 -2
  10. package/dist/src/builder.d.ts.map +1 -1
  11. package/dist/src/procedure-builder.d.ts +2 -2
  12. package/dist/src/procedure-builder.d.ts.map +1 -1
  13. package/dist/src/procedure-caller.d.ts +7 -16
  14. package/dist/src/procedure-caller.d.ts.map +1 -1
  15. package/dist/src/procedure-implementer.d.ts +2 -2
  16. package/dist/src/procedure-implementer.d.ts.map +1 -1
  17. package/dist/src/procedure.d.ts +11 -10
  18. package/dist/src/procedure.d.ts.map +1 -1
  19. package/dist/src/router-caller.d.ts +8 -17
  20. package/dist/src/router-caller.d.ts.map +1 -1
  21. package/dist/src/router.d.ts +2 -2
  22. package/dist/src/router.d.ts.map +1 -1
  23. package/dist/src/types.d.ts +0 -1
  24. package/dist/src/types.d.ts.map +1 -1
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +8 -6
  27. package/src/adapters/fetch.test.ts +18 -18
  28. package/src/adapters/fetch.ts +9 -5
  29. package/src/builder.test.ts +4 -4
  30. package/src/builder.ts +6 -6
  31. package/src/middleware.test.ts +1 -1
  32. package/src/procedure-builder.test.ts +2 -2
  33. package/src/procedure-builder.ts +6 -6
  34. package/src/procedure-caller.test.ts +27 -36
  35. package/src/procedure-caller.ts +36 -44
  36. package/src/procedure-implementer.test.ts +8 -8
  37. package/src/procedure-implementer.ts +6 -6
  38. package/src/procedure.test.ts +20 -20
  39. package/src/procedure.ts +30 -45
  40. package/src/router-builder.test.ts +4 -4
  41. package/src/router-caller.test.ts +5 -52
  42. package/src/router-caller.ts +11 -31
  43. package/src/router-implementer.test.ts +6 -6
  44. package/src/router.test-d.ts +2 -2
  45. package/src/router.test.ts +10 -10
  46. package/src/router.ts +4 -4
  47. package/src/types.ts +0 -1
  48. package/dist/chunk-26DTFWOI.js.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/builder.ts","../src/procedure-builder.ts","../src/procedure-implementer.ts","../src/router-builder.ts","../src/router-implementer.ts","../src/router.ts","../src/router-caller.ts","../src/index.ts"],"sourcesContent":["import type { IsEqual } from '@orpc/shared'\nimport type { HandledRouter, Router } from './router'\nimport type { Context, MergeContext } from './types'\nimport {\n ContractProcedure,\n type ContractRouter,\n type HTTPPath,\n isContractProcedure,\n type RouteOptions,\n type Schema,\n type SchemaInput,\n type SchemaOutput,\n} from '@orpc/contract'\nimport {\n type DecoratedMiddleware,\n decorateMiddleware,\n type MapInputMiddleware,\n type Middleware,\n} from './middleware'\nimport {\n type DecoratedProcedure,\n decorateProcedure,\n type ProcedureHandler,\n} from './procedure'\nimport { ProcedureBuilder } from './procedure-builder'\nimport { ProcedureImplementer } from './procedure-implementer'\nimport { RouterBuilder } from './router-builder'\nimport {\n type ChainedRouterImplementer,\n chainRouterImplementer,\n} from './router-implementer'\n\nexport class Builder<TContext extends Context, TExtraContext extends Context> {\n constructor(\n public zz$b: {\n middlewares?: Middleware<any, any, any, any>[]\n } = {},\n ) {}\n\n /**\n * Self chainable\n */\n\n context<UContext extends Context>(): IsEqual<UContext, Context> extends true\n ? Builder<TContext, TExtraContext>\n : Builder<UContext, TExtraContext> {\n return this as any\n }\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n unknown,\n unknown\n >,\n ): Builder<TContext, MergeContext<TExtraContext, UExtraContext>>\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n UMappedInput = unknown,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n UMappedInput,\n unknown\n >,\n mapInput: MapInputMiddleware<unknown, UMappedInput>,\n ): Builder<TContext, MergeContext<TExtraContext, UExtraContext>>\n\n use(\n middleware: Middleware<any, any, any, any>,\n mapInput?: MapInputMiddleware<any, any>,\n ): Builder<any, any> {\n const middleware_ = mapInput\n ? decorateMiddleware(middleware).mapInput(mapInput)\n : middleware\n\n return new Builder({\n ...this.zz$b,\n middlewares: [...(this.zz$b.middlewares || []), middleware_],\n })\n }\n\n /**\n * Convert to ContractProcedureBuilder\n */\n\n route(\n opts: RouteOptions,\n ): ProcedureBuilder<TContext, TExtraContext, undefined, undefined> {\n return new ProcedureBuilder({\n middlewares: this.zz$b.middlewares,\n contract: new ContractProcedure({\n ...opts,\n InputSchema: undefined,\n OutputSchema: undefined,\n }),\n })\n }\n\n input<USchema extends Schema = undefined>(\n schema: USchema,\n example?: SchemaInput<USchema>,\n ): ProcedureBuilder<TContext, TExtraContext, USchema, undefined> {\n return new ProcedureBuilder({\n middlewares: this.zz$b.middlewares,\n contract: new ContractProcedure({\n OutputSchema: undefined,\n InputSchema: schema,\n inputExample: example,\n }),\n })\n }\n\n output<USchema extends Schema = undefined>(\n schema: USchema,\n example?: SchemaOutput<USchema>,\n ): ProcedureBuilder<TContext, TExtraContext, undefined, USchema> {\n return new ProcedureBuilder({\n middlewares: this.zz$b.middlewares,\n contract: new ContractProcedure({\n InputSchema: undefined,\n OutputSchema: schema,\n outputExample: example,\n }),\n })\n }\n\n /**\n * Convert to Procedure\n */\n handler<UHandlerOutput = undefined>(\n handler: ProcedureHandler<\n TContext,\n TExtraContext,\n undefined,\n undefined,\n UHandlerOutput\n >,\n ): DecoratedProcedure<\n TContext,\n TExtraContext,\n undefined,\n undefined,\n UHandlerOutput\n > {\n return decorateProcedure({\n zz$p: {\n middlewares: this.zz$b.middlewares,\n contract: new ContractProcedure({\n InputSchema: undefined,\n OutputSchema: undefined,\n }),\n handler,\n },\n })\n }\n\n /**\n * Convert to ProcedureImplementer | RouterBuilder\n */\n\n contract<UContract extends ContractProcedure<any, any> | ContractRouter>(\n contract: UContract,\n ): UContract extends ContractProcedure<\n infer UInputSchema,\n infer UOutputSchema\n >\n ? ProcedureImplementer<TContext, TExtraContext, UInputSchema, UOutputSchema>\n : UContract extends ContractRouter\n ? ChainedRouterImplementer<TContext, UContract, TExtraContext>\n : never {\n if (isContractProcedure(contract)) {\n return new ProcedureImplementer({\n contract,\n middlewares: this.zz$b.middlewares,\n }) as any\n }\n\n return chainRouterImplementer(\n contract as ContractRouter,\n this.zz$b.middlewares,\n ) as any\n }\n\n /**\n * Create ExtendedMiddleware\n */\n\n // TODO: TOutput always any, infer not work at all, because TOutput used inside middleware params,\n // solution (maybe): create new generic for .output() method\n middleware<UExtraContext extends Context = undefined, TInput = unknown, TOutput = any>(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n TInput,\n TOutput\n >,\n ): DecoratedMiddleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n TInput,\n TOutput\n > {\n return decorateMiddleware(middleware)\n }\n\n prefix(prefix: HTTPPath): RouterBuilder<TContext, TExtraContext> {\n return new RouterBuilder({\n ...this.zz$b,\n prefix,\n })\n }\n\n tags(...tags: string[]): RouterBuilder<TContext, TExtraContext> {\n return new RouterBuilder({\n ...this.zz$b,\n tags,\n })\n }\n\n /**\n * Create DecoratedRouter\n */\n router<URouter extends Router<TContext>>(\n router: URouter,\n ): HandledRouter<URouter> {\n return new RouterBuilder<TContext, TExtraContext>(this.zz$b).router(router)\n }\n}\n","import type { MapInputMiddleware, Middleware } from './middleware'\nimport type { Context, MergeContext } from './types'\nimport {\n type ContractProcedure,\n DecoratedContractProcedure,\n type RouteOptions,\n type Schema,\n type SchemaInput,\n type SchemaOutput,\n} from '@orpc/contract'\nimport {\n type DecoratedProcedure,\n decorateProcedure,\n type ProcedureHandler,\n} from './procedure'\nimport { ProcedureImplementer } from './procedure-implementer'\n\nexport class ProcedureBuilder<\n TContext extends Context,\n TExtraContext extends Context,\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n> {\n constructor(\n public zz$pb: {\n contract: ContractProcedure<TInputSchema, TOutputSchema>\n middlewares?: Middleware<any, any, any, any>[]\n },\n ) {}\n\n /**\n * Self chainable\n */\n\n route(\n opts: RouteOptions,\n ): ProcedureBuilder<TContext, TExtraContext, TInputSchema, TOutputSchema> {\n return new ProcedureBuilder({\n ...this.zz$pb,\n contract: DecoratedContractProcedure.decorate(this.zz$pb.contract).route(\n opts,\n ),\n })\n }\n\n input<USchema extends Schema = undefined>(\n schema: USchema,\n example?: SchemaInput<USchema>,\n ): ProcedureBuilder<TContext, TExtraContext, USchema, TOutputSchema> {\n return new ProcedureBuilder({\n ...this.zz$pb,\n contract: DecoratedContractProcedure.decorate(this.zz$pb.contract).input(\n schema,\n example,\n ),\n })\n }\n\n output<USchema extends Schema = undefined>(\n schema: USchema,\n example?: SchemaOutput<USchema>,\n ): ProcedureBuilder<TContext, TExtraContext, TInputSchema, USchema> {\n return new ProcedureBuilder({\n ...this.zz$pb,\n contract: DecoratedContractProcedure.decorate(this.zz$pb.contract).output(\n schema,\n example,\n ),\n })\n }\n\n /**\n * Convert to ProcedureBuilder\n */\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n SchemaOutput<TInputSchema>,\n SchemaInput<TOutputSchema>\n >,\n ): ProcedureImplementer<\n TContext,\n MergeContext<TExtraContext, UExtraContext>,\n TInputSchema,\n TOutputSchema\n >\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n UMappedInput = unknown,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n UMappedInput,\n SchemaInput<TOutputSchema>\n >,\n mapInput: MapInputMiddleware<SchemaOutput<TInputSchema>, UMappedInput>,\n ): ProcedureImplementer<\n TContext,\n MergeContext<TExtraContext, UExtraContext>,\n TInputSchema,\n TOutputSchema\n >\n\n use(\n middleware: Middleware<any, any, any, any>,\n mapInput?: MapInputMiddleware<any, any>,\n ): ProcedureImplementer<any, any, any, any> {\n if (!mapInput) {\n return new ProcedureImplementer({\n contract: this.zz$pb.contract,\n middlewares: this.zz$pb.middlewares,\n }).use(middleware)\n }\n\n return new ProcedureImplementer({\n contract: this.zz$pb.contract,\n middlewares: this.zz$pb.middlewares,\n }).use(middleware, mapInput)\n }\n\n /**\n * Convert to Procedure\n */\n\n handler<UHandlerOutput extends SchemaOutput<TOutputSchema>>(\n handler: ProcedureHandler<\n TContext,\n TExtraContext,\n TInputSchema,\n TOutputSchema,\n UHandlerOutput\n >,\n ): DecoratedProcedure<\n TContext,\n TExtraContext,\n TInputSchema,\n TOutputSchema,\n UHandlerOutput\n > {\n return decorateProcedure({\n zz$p: {\n middlewares: this.zz$pb.middlewares,\n contract: this.zz$pb.contract,\n handler,\n },\n })\n }\n}\n","import type { ContractProcedure, Schema, SchemaInput, SchemaOutput } from '@orpc/contract'\nimport type { Context, MergeContext } from './types'\nimport {\n decorateMiddleware,\n type MapInputMiddleware,\n type Middleware,\n} from './middleware'\nimport {\n type DecoratedProcedure,\n decorateProcedure,\n type ProcedureHandler,\n} from './procedure'\n\nexport class ProcedureImplementer<\n TContext extends Context,\n TExtraContext extends Context,\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n> {\n constructor(\n public zz$pi: {\n contract: ContractProcedure<TInputSchema, TOutputSchema>\n middlewares?: Middleware<any, any, any, any>[]\n },\n ) {}\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n SchemaOutput<TInputSchema>,\n SchemaInput<TOutputSchema>\n >,\n ): ProcedureImplementer<\n TContext,\n MergeContext<TExtraContext, UExtraContext>,\n TInputSchema,\n TOutputSchema\n >\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n UMappedInput = unknown,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n UMappedInput,\n SchemaInput<TOutputSchema>\n >,\n mapInput: MapInputMiddleware<SchemaOutput<TInputSchema>, UMappedInput>,\n ): ProcedureImplementer<\n TContext,\n MergeContext<TExtraContext, UExtraContext>,\n TInputSchema,\n TOutputSchema\n >\n\n use(\n middleware: Middleware<any, any, any, any>,\n mapInput?: MapInputMiddleware<any, any>,\n ): ProcedureImplementer<any, any, any, any> {\n const middleware_ = mapInput\n ? decorateMiddleware(middleware).mapInput(mapInput)\n : middleware\n\n return new ProcedureImplementer({\n ...this.zz$pi,\n middlewares: [...(this.zz$pi.middlewares ?? []), middleware_],\n })\n }\n\n handler<UHandlerOutput extends SchemaOutput<TOutputSchema>>(\n handler: ProcedureHandler<\n TContext,\n TExtraContext,\n TInputSchema,\n TOutputSchema,\n UHandlerOutput\n >,\n ): DecoratedProcedure<\n TContext,\n TExtraContext,\n TInputSchema,\n TOutputSchema,\n UHandlerOutput\n > {\n return decorateProcedure({\n zz$p: {\n middlewares: this.zz$pi.middlewares,\n contract: this.zz$pi.contract,\n handler,\n },\n })\n }\n}\n","import type { HandledRouter, Router } from './router'\nimport type { Context, MergeContext } from './types'\nimport { DecoratedContractProcedure, type HTTPPath } from '@orpc/contract'\nimport {\n decorateMiddleware,\n type MapInputMiddleware,\n type Middleware,\n} from './middleware'\nimport { decorateProcedure, isProcedure } from './procedure'\n\nexport class RouterBuilder<\n TContext extends Context,\n TExtraContext extends Context,\n> {\n constructor(\n public zz$rb: {\n prefix?: HTTPPath\n tags?: string[]\n middlewares?: Middleware<any, any, any, any>[]\n },\n ) {}\n\n prefix(prefix: HTTPPath): RouterBuilder<TContext, TExtraContext> {\n return new RouterBuilder({\n ...this.zz$rb,\n prefix: `${this.zz$rb.prefix ?? ''}${prefix}`,\n })\n }\n\n tags(...tags: string[]): RouterBuilder<TContext, TExtraContext> {\n if (!tags.length)\n return this\n\n return new RouterBuilder({\n ...this.zz$rb,\n tags: [...(this.zz$rb.tags ?? []), ...tags],\n })\n }\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n unknown,\n unknown\n >,\n ): RouterBuilder<TContext, MergeContext<TExtraContext, UExtraContext>>\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n UMappedInput = unknown,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n UMappedInput,\n unknown\n >,\n mapInput: MapInputMiddleware<unknown, UMappedInput>,\n ): RouterBuilder<TContext, MergeContext<TExtraContext, UExtraContext>>\n\n use(\n middleware: Middleware<any, any, any, any>,\n mapInput?: MapInputMiddleware<any, any>,\n ): RouterBuilder<any, any> {\n const middleware_ = mapInput\n ? decorateMiddleware(middleware).mapInput(mapInput)\n : middleware\n\n return new RouterBuilder({\n ...this.zz$rb,\n middlewares: [...(this.zz$rb.middlewares || []), middleware_],\n })\n }\n\n router<URouter extends Router<TContext>>(\n router: URouter,\n ): HandledRouter<URouter> {\n const handled: Router<TContext> = {}\n\n for (const key in router) {\n const item = router[key]\n\n if (isProcedure(item)) {\n const builderMiddlewares = this.zz$rb.middlewares ?? []\n const itemMiddlewares = item.zz$p.middlewares ?? []\n\n const middlewares = [\n ...builderMiddlewares,\n ...itemMiddlewares.filter(\n item => !builderMiddlewares.includes(item),\n ),\n ]\n\n const contract = DecoratedContractProcedure.decorate(\n item.zz$p.contract,\n ).addTags(...(this.zz$rb.tags ?? []))\n\n handled[key] = decorateProcedure({\n zz$p: {\n ...item.zz$p,\n contract: this.zz$rb.prefix\n ? contract.prefix(this.zz$rb.prefix)\n : contract,\n middlewares,\n },\n })\n }\n else {\n handled[key] = this.router(item as any)\n }\n }\n\n return handled as HandledRouter<URouter>\n }\n}\n","import type { Middleware } from './middleware'\nimport type { RouterWithContract } from './router'\nimport type { Context } from './types'\nimport {\n type ContractProcedure,\n type ContractRouter,\n isContractProcedure,\n} from '@orpc/contract'\nimport { isProcedure } from './procedure'\nimport { ProcedureImplementer } from './procedure-implementer'\n\nexport class RouterImplementer<\n TContext extends Context,\n TContract extends ContractRouter,\n> {\n constructor(\n public zz$ri: {\n contract: TContract\n },\n ) {}\n\n router(\n router: RouterWithContract<TContext, TContract>,\n ): RouterWithContract<TContext, TContract> {\n assertRouterImplementation(this.zz$ri.contract, router)\n\n return router\n }\n}\n\nexport type ChainedRouterImplementer<\n TContext extends Context,\n TContract extends ContractRouter,\n TExtraContext extends Context,\n> = {\n [K in keyof TContract]: TContract[K] extends ContractProcedure<\n infer UInputSchema,\n infer UOutputSchema\n >\n ? ProcedureImplementer<TContext, TExtraContext, UInputSchema, UOutputSchema>\n : TContract[K] extends ContractRouter\n ? ChainedRouterImplementer<TContext, TContract[K], TExtraContext>\n : never\n} & RouterImplementer<TContext, TContract>\n\nexport function chainRouterImplementer<\n TContext extends Context,\n TContract extends ContractRouter,\n TExtraContext extends Context,\n>(\n contract: TContract,\n middlewares?: Middleware<any, any, any, any>[],\n): ChainedRouterImplementer<TContext, TContract, TExtraContext> {\n const result: Record<string, unknown> = {}\n\n for (const key in contract) {\n const item = contract[key]\n\n if (isContractProcedure(item)) {\n result[key] = new ProcedureImplementer({\n contract: item,\n middlewares,\n })\n }\n else {\n result[key] = chainRouterImplementer(item as ContractRouter, middlewares)\n }\n }\n\n const implementer = new RouterImplementer({ contract })\n\n return Object.assign(implementer, result) as any\n}\n\nexport function assertRouterImplementation(\n contract: ContractRouter,\n router: RouterWithContract<any, any>,\n path: string[] = [],\n): void {\n for (const key in contract) {\n const currentPath = [...path, key]\n const contractItem = contract[key]\n const routerItem = router[key]\n\n if (!routerItem) {\n throw new Error(\n `Missing implementation for procedure at [${currentPath.join('.')}]`,\n )\n }\n\n if (isContractProcedure(contractItem)) {\n if (isProcedure(routerItem)) {\n if (routerItem.zz$p.contract !== contractItem) {\n throw new Error(\n `Mismatch implementation for procedure at [${currentPath.join('.')}]`,\n )\n }\n }\n else {\n throw new Error(\n `Mismatch implementation for procedure at [${currentPath.join('.')}]`,\n )\n }\n }\n else {\n assertRouterImplementation(\n contractItem as ContractRouter,\n routerItem as any,\n currentPath,\n )\n }\n }\n}\n","import type {\n ContractProcedure,\n ContractRouter,\n SchemaInput,\n SchemaOutput,\n} from '@orpc/contract'\nimport type { Context } from './types'\nimport {\n isContractProcedure,\n} from '@orpc/contract'\nimport {\n type DecoratedProcedure,\n isProcedure,\n type Procedure,\n} from './procedure'\n\nexport interface Router<TContext extends Context> {\n [k: string]: Procedure<TContext, any, any, any, any> | Router<TContext>\n}\n\nexport type HandledRouter<TRouter extends Router<any>> = {\n [K in keyof TRouter]: TRouter[K] extends Procedure<\n infer UContext,\n infer UExtraContext,\n infer UInputSchema,\n infer UOutputSchema,\n infer UHandlerOutput\n >\n ? DecoratedProcedure<\n UContext,\n UExtraContext,\n UInputSchema,\n UOutputSchema,\n UHandlerOutput\n >\n : TRouter[K] extends Router<any>\n ? HandledRouter<TRouter[K]>\n : never\n}\n\nexport type RouterWithContract<\n TContext extends Context,\n TContract extends ContractRouter,\n> = {\n [K in keyof TContract]: TContract[K] extends ContractProcedure<\n infer UInputSchema,\n infer UOutputSchema\n >\n ? Procedure<TContext, any, UInputSchema, UOutputSchema, any>\n : TContract[K] extends ContractRouter\n ? RouterWithContract<TContext, TContract[K]>\n : never\n}\n\nexport function toContractRouter(\n router: ContractRouter | Router<any>,\n): ContractRouter {\n const contract: ContractRouter = {}\n\n for (const key in router) {\n const item = router[key]\n\n if (isContractProcedure(item)) {\n contract[key] = item\n }\n else if (isProcedure(item)) {\n contract[key] = item.zz$p.contract\n }\n else {\n contract[key] = toContractRouter(item as any)\n }\n }\n\n return contract\n}\n\nexport type InferRouterInputs<T extends Router<any>> = {\n [K in keyof T]: T[K] extends Procedure<any, any, infer UInputSchema, any, any>\n ? SchemaInput<UInputSchema>\n : T[K] extends Router<any>\n ? InferRouterInputs<T[K]>\n : never\n}\n\nexport type InferRouterOutputs<T extends Router<any>> = {\n [K in keyof T]: T[K] extends Procedure<any, any, any, infer UOutputSchema, infer UHandlerOutput>\n ? SchemaOutput<UOutputSchema, UHandlerOutput>\n : T[K] extends Router<any>\n ? InferRouterOutputs<T[K]>\n : never\n}\n","import type {} from '@orpc/contract'\nimport type { Router } from './router'\nimport { isProcedure, type Procedure } from './procedure'\nimport { createProcedureCaller, type ProcedureCaller } from './procedure-caller'\n\nexport interface CreateRouterCallerOptions<\n TRouter extends Router<any>,\n TValidate extends boolean,\n> {\n router: TRouter\n\n /**\n * The context used when calling the procedure.\n */\n context: TRouter extends Router<infer UContext> ? UContext : never\n\n /**\n * This is helpful for logging and analytics.\n */\n basePath?: string[]\n\n /**\n * This flag helpful when you want bypass some logics not necessary to internal server calls.\n *\n * @default true\n */\n internal?: boolean\n\n /**\n * Indicate whether validate input and output.\n *\n * @default true\n */\n validate?: TValidate\n}\n\nexport type RouterCaller<\n TRouter extends Router<any>,\n TValidate extends boolean,\n> = {\n [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, any, any, any>\n ? ProcedureCaller<TRouter[K], TValidate>\n : TRouter[K] extends Router<any>\n ? RouterCaller<TRouter[K], TValidate>\n : never\n}\n\nexport function createRouterCaller<\n TRouter extends Router<any>,\n TValidate extends boolean = true,\n>(\n options: CreateRouterCallerOptions<TRouter, TValidate>,\n): RouterCaller<TRouter, TValidate> {\n const internal = options.internal ?? true\n const validate = options.validate ?? true\n\n const caller: Record<string, unknown> = {}\n\n for (const key in options.router) {\n const path = [...(options.basePath ?? []), key]\n const item = options.router[key]\n\n if (isProcedure(item)) {\n caller[key] = createProcedureCaller({\n procedure: item,\n context: options.context as any,\n path,\n internal,\n validate,\n })\n }\n else {\n caller[key] = createRouterCaller({\n router: item as any,\n context: options.context,\n basePath: path,\n internal,\n validate,\n })\n }\n }\n\n return caller as RouterCaller<TRouter, TValidate>\n}\n","import { Builder } from './builder'\n\nexport * from './builder'\nexport * from './middleware'\nexport * from './procedure'\nexport * from './procedure-builder'\nexport * from './procedure-caller'\nexport * from './procedure-implementer'\nexport * from './router'\nexport * from './router-caller'\nexport * from './router-implementer'\nexport * from './types'\nexport * from './utils'\nexport * from '@orpc/shared/error'\n\nexport const os = new Builder<undefined | Record<string, unknown>, undefined>()\n"],"mappings":"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","names":["isContractProcedure","DecoratedContractProcedure","item","DecoratedContractProcedure","isContractProcedure","isContractProcedure","isContractProcedure"]}
1
+ {"version":3,"sources":["../src/builder.ts","../src/procedure-builder.ts","../src/procedure-implementer.ts","../src/router-builder.ts","../src/router-implementer.ts","../src/router.ts","../src/router-caller.ts","../src/index.ts"],"sourcesContent":["import type { IsEqual } from '@orpc/shared'\nimport type { HandledRouter, Router } from './router'\nimport type { Context, MergeContext } from './types'\nimport {\n ContractProcedure,\n type ContractRouter,\n type HTTPPath,\n isContractProcedure,\n type RouteOptions,\n type Schema,\n type SchemaInput,\n type SchemaOutput,\n} from '@orpc/contract'\nimport {\n type DecoratedMiddleware,\n decorateMiddleware,\n type MapInputMiddleware,\n type Middleware,\n} from './middleware'\nimport {\n type DecoratedProcedure,\n decorateProcedure,\n type ProcedureFunc,\n} from './procedure'\nimport { ProcedureBuilder } from './procedure-builder'\nimport { ProcedureImplementer } from './procedure-implementer'\nimport { RouterBuilder } from './router-builder'\nimport {\n type ChainedRouterImplementer,\n chainRouterImplementer,\n} from './router-implementer'\n\nexport class Builder<TContext extends Context, TExtraContext extends Context> {\n constructor(\n public zz$b: {\n middlewares?: Middleware<any, any, any, any>[]\n } = {},\n ) {}\n\n /**\n * Self chainable\n */\n\n context<UContext extends Context>(): IsEqual<UContext, Context> extends true\n ? Builder<TContext, TExtraContext>\n : Builder<UContext, TExtraContext> {\n return this as any\n }\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n unknown,\n unknown\n >,\n ): Builder<TContext, MergeContext<TExtraContext, UExtraContext>>\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n UMappedInput = unknown,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n UMappedInput,\n unknown\n >,\n mapInput: MapInputMiddleware<unknown, UMappedInput>,\n ): Builder<TContext, MergeContext<TExtraContext, UExtraContext>>\n\n use(\n middleware: Middleware<any, any, any, any>,\n mapInput?: MapInputMiddleware<any, any>,\n ): Builder<any, any> {\n const middleware_ = mapInput\n ? decorateMiddleware(middleware).mapInput(mapInput)\n : middleware\n\n return new Builder({\n ...this.zz$b,\n middlewares: [...(this.zz$b.middlewares || []), middleware_],\n })\n }\n\n /**\n * Convert to ContractProcedureBuilder\n */\n\n route(\n opts: RouteOptions,\n ): ProcedureBuilder<TContext, TExtraContext, undefined, undefined> {\n return new ProcedureBuilder({\n middlewares: this.zz$b.middlewares,\n contract: new ContractProcedure({\n ...opts,\n InputSchema: undefined,\n OutputSchema: undefined,\n }),\n })\n }\n\n input<USchema extends Schema = undefined>(\n schema: USchema,\n example?: SchemaInput<USchema>,\n ): ProcedureBuilder<TContext, TExtraContext, USchema, undefined> {\n return new ProcedureBuilder({\n middlewares: this.zz$b.middlewares,\n contract: new ContractProcedure({\n OutputSchema: undefined,\n InputSchema: schema,\n inputExample: example,\n }),\n })\n }\n\n output<USchema extends Schema = undefined>(\n schema: USchema,\n example?: SchemaOutput<USchema>,\n ): ProcedureBuilder<TContext, TExtraContext, undefined, USchema> {\n return new ProcedureBuilder({\n middlewares: this.zz$b.middlewares,\n contract: new ContractProcedure({\n InputSchema: undefined,\n OutputSchema: schema,\n outputExample: example,\n }),\n })\n }\n\n /**\n * Convert to Procedure\n */\n func<UFuncOutput = undefined>(\n func: ProcedureFunc<\n TContext,\n TExtraContext,\n undefined,\n undefined,\n UFuncOutput\n >,\n ): DecoratedProcedure<\n TContext,\n TExtraContext,\n undefined,\n undefined,\n UFuncOutput\n > {\n return decorateProcedure({\n zz$p: {\n middlewares: this.zz$b.middlewares,\n contract: new ContractProcedure({\n InputSchema: undefined,\n OutputSchema: undefined,\n }),\n func,\n },\n })\n }\n\n /**\n * Convert to ProcedureImplementer | RouterBuilder\n */\n\n contract<UContract extends ContractProcedure<any, any> | ContractRouter>(\n contract: UContract,\n ): UContract extends ContractProcedure<\n infer UInputSchema,\n infer UOutputSchema\n >\n ? ProcedureImplementer<TContext, TExtraContext, UInputSchema, UOutputSchema>\n : UContract extends ContractRouter\n ? ChainedRouterImplementer<TContext, UContract, TExtraContext>\n : never {\n if (isContractProcedure(contract)) {\n return new ProcedureImplementer({\n contract,\n middlewares: this.zz$b.middlewares,\n }) as any\n }\n\n return chainRouterImplementer(\n contract as ContractRouter,\n this.zz$b.middlewares,\n ) as any\n }\n\n /**\n * Create ExtendedMiddleware\n */\n\n // TODO: TOutput always any, infer not work at all, because TOutput used inside middleware params,\n // solution (maybe): create new generic for .output() method\n middleware<UExtraContext extends Context = undefined, TInput = unknown, TOutput = any>(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n TInput,\n TOutput\n >,\n ): DecoratedMiddleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n TInput,\n TOutput\n > {\n return decorateMiddleware(middleware)\n }\n\n prefix(prefix: HTTPPath): RouterBuilder<TContext, TExtraContext> {\n return new RouterBuilder({\n ...this.zz$b,\n prefix,\n })\n }\n\n tags(...tags: string[]): RouterBuilder<TContext, TExtraContext> {\n return new RouterBuilder({\n ...this.zz$b,\n tags,\n })\n }\n\n /**\n * Create DecoratedRouter\n */\n router<URouter extends Router<TContext>>(\n router: URouter,\n ): HandledRouter<URouter> {\n return new RouterBuilder<TContext, TExtraContext>(this.zz$b).router(router)\n }\n}\n","import type { MapInputMiddleware, Middleware } from './middleware'\nimport type { Context, MergeContext } from './types'\nimport {\n type ContractProcedure,\n DecoratedContractProcedure,\n type RouteOptions,\n type Schema,\n type SchemaInput,\n type SchemaOutput,\n} from '@orpc/contract'\nimport {\n type DecoratedProcedure,\n decorateProcedure,\n type ProcedureFunc,\n} from './procedure'\nimport { ProcedureImplementer } from './procedure-implementer'\n\nexport class ProcedureBuilder<\n TContext extends Context,\n TExtraContext extends Context,\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n> {\n constructor(\n public zz$pb: {\n contract: ContractProcedure<TInputSchema, TOutputSchema>\n middlewares?: Middleware<any, any, any, any>[]\n },\n ) {}\n\n /**\n * Self chainable\n */\n\n route(\n opts: RouteOptions,\n ): ProcedureBuilder<TContext, TExtraContext, TInputSchema, TOutputSchema> {\n return new ProcedureBuilder({\n ...this.zz$pb,\n contract: DecoratedContractProcedure.decorate(this.zz$pb.contract).route(\n opts,\n ),\n })\n }\n\n input<USchema extends Schema = undefined>(\n schema: USchema,\n example?: SchemaInput<USchema>,\n ): ProcedureBuilder<TContext, TExtraContext, USchema, TOutputSchema> {\n return new ProcedureBuilder({\n ...this.zz$pb,\n contract: DecoratedContractProcedure.decorate(this.zz$pb.contract).input(\n schema,\n example,\n ),\n })\n }\n\n output<USchema extends Schema = undefined>(\n schema: USchema,\n example?: SchemaOutput<USchema>,\n ): ProcedureBuilder<TContext, TExtraContext, TInputSchema, USchema> {\n return new ProcedureBuilder({\n ...this.zz$pb,\n contract: DecoratedContractProcedure.decorate(this.zz$pb.contract).output(\n schema,\n example,\n ),\n })\n }\n\n /**\n * Convert to ProcedureBuilder\n */\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n SchemaOutput<TInputSchema>,\n SchemaInput<TOutputSchema>\n >,\n ): ProcedureImplementer<\n TContext,\n MergeContext<TExtraContext, UExtraContext>,\n TInputSchema,\n TOutputSchema\n >\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n UMappedInput = unknown,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n UMappedInput,\n SchemaInput<TOutputSchema>\n >,\n mapInput: MapInputMiddleware<SchemaOutput<TInputSchema>, UMappedInput>,\n ): ProcedureImplementer<\n TContext,\n MergeContext<TExtraContext, UExtraContext>,\n TInputSchema,\n TOutputSchema\n >\n\n use(\n middleware: Middleware<any, any, any, any>,\n mapInput?: MapInputMiddleware<any, any>,\n ): ProcedureImplementer<any, any, any, any> {\n if (!mapInput) {\n return new ProcedureImplementer({\n contract: this.zz$pb.contract,\n middlewares: this.zz$pb.middlewares,\n }).use(middleware)\n }\n\n return new ProcedureImplementer({\n contract: this.zz$pb.contract,\n middlewares: this.zz$pb.middlewares,\n }).use(middleware, mapInput)\n }\n\n /**\n * Convert to Procedure\n */\n\n func<UFuncOutput extends SchemaOutput<TOutputSchema>>(\n func: ProcedureFunc<\n TContext,\n TExtraContext,\n TInputSchema,\n TOutputSchema,\n UFuncOutput\n >,\n ): DecoratedProcedure<\n TContext,\n TExtraContext,\n TInputSchema,\n TOutputSchema,\n UFuncOutput\n > {\n return decorateProcedure({\n zz$p: {\n middlewares: this.zz$pb.middlewares,\n contract: this.zz$pb.contract,\n func,\n },\n })\n }\n}\n","import type { ContractProcedure, Schema, SchemaInput, SchemaOutput } from '@orpc/contract'\nimport type { Context, MergeContext } from './types'\nimport {\n decorateMiddleware,\n type MapInputMiddleware,\n type Middleware,\n} from './middleware'\nimport {\n type DecoratedProcedure,\n decorateProcedure,\n type ProcedureFunc,\n} from './procedure'\n\nexport class ProcedureImplementer<\n TContext extends Context,\n TExtraContext extends Context,\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n> {\n constructor(\n public zz$pi: {\n contract: ContractProcedure<TInputSchema, TOutputSchema>\n middlewares?: Middleware<any, any, any, any>[]\n },\n ) {}\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n SchemaOutput<TInputSchema>,\n SchemaInput<TOutputSchema>\n >,\n ): ProcedureImplementer<\n TContext,\n MergeContext<TExtraContext, UExtraContext>,\n TInputSchema,\n TOutputSchema\n >\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n UMappedInput = unknown,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n UMappedInput,\n SchemaInput<TOutputSchema>\n >,\n mapInput: MapInputMiddleware<SchemaOutput<TInputSchema>, UMappedInput>,\n ): ProcedureImplementer<\n TContext,\n MergeContext<TExtraContext, UExtraContext>,\n TInputSchema,\n TOutputSchema\n >\n\n use(\n middleware: Middleware<any, any, any, any>,\n mapInput?: MapInputMiddleware<any, any>,\n ): ProcedureImplementer<any, any, any, any> {\n const middleware_ = mapInput\n ? decorateMiddleware(middleware).mapInput(mapInput)\n : middleware\n\n return new ProcedureImplementer({\n ...this.zz$pi,\n middlewares: [...(this.zz$pi.middlewares ?? []), middleware_],\n })\n }\n\n func<UFuncOutput extends SchemaOutput<TOutputSchema>>(\n func: ProcedureFunc<\n TContext,\n TExtraContext,\n TInputSchema,\n TOutputSchema,\n UFuncOutput\n >,\n ): DecoratedProcedure<\n TContext,\n TExtraContext,\n TInputSchema,\n TOutputSchema,\n UFuncOutput\n > {\n return decorateProcedure({\n zz$p: {\n middlewares: this.zz$pi.middlewares,\n contract: this.zz$pi.contract,\n func,\n },\n })\n }\n}\n","import type { HandledRouter, Router } from './router'\nimport type { Context, MergeContext } from './types'\nimport { DecoratedContractProcedure, type HTTPPath } from '@orpc/contract'\nimport {\n decorateMiddleware,\n type MapInputMiddleware,\n type Middleware,\n} from './middleware'\nimport { decorateProcedure, isProcedure } from './procedure'\n\nexport class RouterBuilder<\n TContext extends Context,\n TExtraContext extends Context,\n> {\n constructor(\n public zz$rb: {\n prefix?: HTTPPath\n tags?: string[]\n middlewares?: Middleware<any, any, any, any>[]\n },\n ) {}\n\n prefix(prefix: HTTPPath): RouterBuilder<TContext, TExtraContext> {\n return new RouterBuilder({\n ...this.zz$rb,\n prefix: `${this.zz$rb.prefix ?? ''}${prefix}`,\n })\n }\n\n tags(...tags: string[]): RouterBuilder<TContext, TExtraContext> {\n if (!tags.length)\n return this\n\n return new RouterBuilder({\n ...this.zz$rb,\n tags: [...(this.zz$rb.tags ?? []), ...tags],\n })\n }\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n unknown,\n unknown\n >,\n ): RouterBuilder<TContext, MergeContext<TExtraContext, UExtraContext>>\n\n use<\n UExtraContext extends\n | Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>>\n | undefined = undefined,\n UMappedInput = unknown,\n >(\n middleware: Middleware<\n MergeContext<TContext, TExtraContext>,\n UExtraContext,\n UMappedInput,\n unknown\n >,\n mapInput: MapInputMiddleware<unknown, UMappedInput>,\n ): RouterBuilder<TContext, MergeContext<TExtraContext, UExtraContext>>\n\n use(\n middleware: Middleware<any, any, any, any>,\n mapInput?: MapInputMiddleware<any, any>,\n ): RouterBuilder<any, any> {\n const middleware_ = mapInput\n ? decorateMiddleware(middleware).mapInput(mapInput)\n : middleware\n\n return new RouterBuilder({\n ...this.zz$rb,\n middlewares: [...(this.zz$rb.middlewares || []), middleware_],\n })\n }\n\n router<URouter extends Router<TContext>>(\n router: URouter,\n ): HandledRouter<URouter> {\n const handled: Router<TContext> = {}\n\n for (const key in router) {\n const item = router[key]\n\n if (isProcedure(item)) {\n const builderMiddlewares = this.zz$rb.middlewares ?? []\n const itemMiddlewares = item.zz$p.middlewares ?? []\n\n const middlewares = [\n ...builderMiddlewares,\n ...itemMiddlewares.filter(\n item => !builderMiddlewares.includes(item),\n ),\n ]\n\n const contract = DecoratedContractProcedure.decorate(\n item.zz$p.contract,\n ).addTags(...(this.zz$rb.tags ?? []))\n\n handled[key] = decorateProcedure({\n zz$p: {\n ...item.zz$p,\n contract: this.zz$rb.prefix\n ? contract.prefix(this.zz$rb.prefix)\n : contract,\n middlewares,\n },\n })\n }\n else {\n handled[key] = this.router(item as any)\n }\n }\n\n return handled as HandledRouter<URouter>\n }\n}\n","import type { Middleware } from './middleware'\nimport type { RouterWithContract } from './router'\nimport type { Context } from './types'\nimport {\n type ContractProcedure,\n type ContractRouter,\n isContractProcedure,\n} from '@orpc/contract'\nimport { isProcedure } from './procedure'\nimport { ProcedureImplementer } from './procedure-implementer'\n\nexport class RouterImplementer<\n TContext extends Context,\n TContract extends ContractRouter,\n> {\n constructor(\n public zz$ri: {\n contract: TContract\n },\n ) {}\n\n router(\n router: RouterWithContract<TContext, TContract>,\n ): RouterWithContract<TContext, TContract> {\n assertRouterImplementation(this.zz$ri.contract, router)\n\n return router\n }\n}\n\nexport type ChainedRouterImplementer<\n TContext extends Context,\n TContract extends ContractRouter,\n TExtraContext extends Context,\n> = {\n [K in keyof TContract]: TContract[K] extends ContractProcedure<\n infer UInputSchema,\n infer UOutputSchema\n >\n ? ProcedureImplementer<TContext, TExtraContext, UInputSchema, UOutputSchema>\n : TContract[K] extends ContractRouter\n ? ChainedRouterImplementer<TContext, TContract[K], TExtraContext>\n : never\n} & RouterImplementer<TContext, TContract>\n\nexport function chainRouterImplementer<\n TContext extends Context,\n TContract extends ContractRouter,\n TExtraContext extends Context,\n>(\n contract: TContract,\n middlewares?: Middleware<any, any, any, any>[],\n): ChainedRouterImplementer<TContext, TContract, TExtraContext> {\n const result: Record<string, unknown> = {}\n\n for (const key in contract) {\n const item = contract[key]\n\n if (isContractProcedure(item)) {\n result[key] = new ProcedureImplementer({\n contract: item,\n middlewares,\n })\n }\n else {\n result[key] = chainRouterImplementer(item as ContractRouter, middlewares)\n }\n }\n\n const implementer = new RouterImplementer({ contract })\n\n return Object.assign(implementer, result) as any\n}\n\nexport function assertRouterImplementation(\n contract: ContractRouter,\n router: RouterWithContract<any, any>,\n path: string[] = [],\n): void {\n for (const key in contract) {\n const currentPath = [...path, key]\n const contractItem = contract[key]\n const routerItem = router[key]\n\n if (!routerItem) {\n throw new Error(\n `Missing implementation for procedure at [${currentPath.join('.')}]`,\n )\n }\n\n if (isContractProcedure(contractItem)) {\n if (isProcedure(routerItem)) {\n if (routerItem.zz$p.contract !== contractItem) {\n throw new Error(\n `Mismatch implementation for procedure at [${currentPath.join('.')}]`,\n )\n }\n }\n else {\n throw new Error(\n `Mismatch implementation for procedure at [${currentPath.join('.')}]`,\n )\n }\n }\n else {\n assertRouterImplementation(\n contractItem as ContractRouter,\n routerItem as any,\n currentPath,\n )\n }\n }\n}\n","import type {\n ContractProcedure,\n ContractRouter,\n SchemaInput,\n SchemaOutput,\n} from '@orpc/contract'\nimport type { Context } from './types'\nimport {\n isContractProcedure,\n} from '@orpc/contract'\nimport {\n type DecoratedProcedure,\n isProcedure,\n type Procedure,\n} from './procedure'\n\nexport interface Router<TContext extends Context> {\n [k: string]: Procedure<TContext, any, any, any, any> | Router<TContext>\n}\n\nexport type HandledRouter<TRouter extends Router<any>> = {\n [K in keyof TRouter]: TRouter[K] extends Procedure<\n infer UContext,\n infer UExtraContext,\n infer UInputSchema,\n infer UOutputSchema,\n infer UFuncOutput\n >\n ? DecoratedProcedure<\n UContext,\n UExtraContext,\n UInputSchema,\n UOutputSchema,\n UFuncOutput\n >\n : TRouter[K] extends Router<any>\n ? HandledRouter<TRouter[K]>\n : never\n}\n\nexport type RouterWithContract<\n TContext extends Context,\n TContract extends ContractRouter,\n> = {\n [K in keyof TContract]: TContract[K] extends ContractProcedure<\n infer UInputSchema,\n infer UOutputSchema\n >\n ? Procedure<TContext, any, UInputSchema, UOutputSchema, any>\n : TContract[K] extends ContractRouter\n ? RouterWithContract<TContext, TContract[K]>\n : never\n}\n\nexport function toContractRouter(\n router: ContractRouter | Router<any>,\n): ContractRouter {\n const contract: ContractRouter = {}\n\n for (const key in router) {\n const item = router[key]\n\n if (isContractProcedure(item)) {\n contract[key] = item\n }\n else if (isProcedure(item)) {\n contract[key] = item.zz$p.contract\n }\n else {\n contract[key] = toContractRouter(item as any)\n }\n }\n\n return contract\n}\n\nexport type InferRouterInputs<T extends Router<any>> = {\n [K in keyof T]: T[K] extends Procedure<any, any, infer UInputSchema, any, any>\n ? SchemaInput<UInputSchema>\n : T[K] extends Router<any>\n ? InferRouterInputs<T[K]>\n : never\n}\n\nexport type InferRouterOutputs<T extends Router<any>> = {\n [K in keyof T]: T[K] extends Procedure<any, any, any, infer UOutputSchema, infer UFuncOutput>\n ? SchemaOutput<UOutputSchema, UFuncOutput>\n : T[K] extends Router<any>\n ? InferRouterOutputs<T[K]>\n : never\n}\n","import type { Value } from '@orpc/shared'\nimport type { Router } from './router'\nimport { isProcedure, type Procedure } from './procedure'\nimport { createProcedureCaller, type ProcedureCaller } from './procedure-caller'\n\nexport interface CreateRouterCallerOptions<\n TRouter extends Router<any>,\n> {\n router: TRouter\n\n /**\n * The context used when calling the procedure.\n */\n context: Value<\n TRouter extends Router<infer UContext> ? UContext : never\n >\n\n /**\n * This is helpful for logging and analytics.\n *\n * @internal\n */\n basePath?: string[]\n}\n\nexport type RouterCaller<\n TRouter extends Router<any>,\n> = {\n [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, any, any, any>\n ? ProcedureCaller<TRouter[K]>\n : TRouter[K] extends Router<any>\n ? RouterCaller<TRouter[K]>\n : never\n}\n\nexport function createRouterCaller<\n TRouter extends Router<any>,\n>(\n options: CreateRouterCallerOptions<TRouter>,\n): RouterCaller<TRouter> {\n const caller: Record<string, unknown> = {}\n\n for (const key in options.router) {\n const path = [...(options.basePath ?? []), key]\n const item = options.router[key]\n\n if (isProcedure(item)) {\n caller[key] = createProcedureCaller({\n procedure: item,\n context: options.context as any,\n path,\n })\n }\n else {\n caller[key] = createRouterCaller({\n router: item as any,\n context: options.context,\n basePath: path,\n })\n }\n }\n\n return caller as RouterCaller<TRouter>\n}\n","import { Builder } from './builder'\n\nexport * from './builder'\nexport * from './middleware'\nexport * from './procedure'\nexport * from './procedure-builder'\nexport * from './procedure-caller'\nexport * from './procedure-implementer'\nexport * from './router'\nexport * from './router-caller'\nexport * from './router-implementer'\nexport * from './types'\nexport * from './utils'\nexport * from '@orpc/shared/error'\n\nexport const os = new Builder<undefined | Record<string, unknown>, undefined>()\n"],"mappings":";;;;;;;;;;AAGA;AAAA,EACE;AAAA,EAGA,uBAAAA;AAAA,OAKK;;;ACVP;AAAA,EAEE;AAAA,OAKK;;;ACIA,IAAM,uBAAN,MAAM,sBAKX;AAAA,EACA,YACS,OAIP;AAJO;AAAA,EAIN;AAAA,EAwCH,IACE,YACA,UAC0C;AAC1C,UAAM,cAAc,WAChB,mBAAmB,UAAU,EAAE,SAAS,QAAQ,IAChD;AAEJ,WAAO,IAAI,sBAAqB;AAAA,MAC9B,GAAG,KAAK;AAAA,MACR,aAAa,CAAC,GAAI,KAAK,MAAM,eAAe,CAAC,GAAI,WAAW;AAAA,IAC9D,CAAC;AAAA,EACH;AAAA,EAEA,KACE,MAaE;AACF,WAAO,kBAAkB;AAAA,MACvB,MAAM;AAAA,QACJ,aAAa,KAAK,MAAM;AAAA,QACxB,UAAU,KAAK,MAAM;AAAA,QACrB;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ADpFO,IAAM,mBAAN,MAAM,kBAKX;AAAA,EACA,YACS,OAIP;AAJO;AAAA,EAIN;AAAA;AAAA;AAAA;AAAA,EAMH,MACE,MACwE;AACxE,WAAO,IAAI,kBAAiB;AAAA,MAC1B,GAAG,KAAK;AAAA,MACR,UAAU,2BAA2B,SAAS,KAAK,MAAM,QAAQ,EAAE;AAAA,QACjE;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MACE,QACA,SACmE;AACnE,WAAO,IAAI,kBAAiB;AAAA,MAC1B,GAAG,KAAK;AAAA,MACR,UAAU,2BAA2B,SAAS,KAAK,MAAM,QAAQ,EAAE;AAAA,QACjE;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,OACE,QACA,SACkE;AAClE,WAAO,IAAI,kBAAiB;AAAA,MAC1B,GAAG,KAAK;AAAA,MACR,UAAU,2BAA2B,SAAS,KAAK,MAAM,QAAQ,EAAE;AAAA,QACjE;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EA4CA,IACE,YACA,UAC0C;AAC1C,QAAI,CAAC,UAAU;AACb,aAAO,IAAI,qBAAqB;AAAA,QAC9B,UAAU,KAAK,MAAM;AAAA,QACrB,aAAa,KAAK,MAAM;AAAA,MAC1B,CAAC,EAAE,IAAI,UAAU;AAAA,IACnB;AAEA,WAAO,IAAI,qBAAqB;AAAA,MAC9B,UAAU,KAAK,MAAM;AAAA,MACrB,aAAa,KAAK,MAAM;AAAA,IAC1B,CAAC,EAAE,IAAI,YAAY,QAAQ;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAMA,KACE,MAaE;AACF,WAAO,kBAAkB;AAAA,MACvB,MAAM;AAAA,QACJ,aAAa,KAAK,MAAM;AAAA,QACxB,UAAU,KAAK,MAAM;AAAA,QACrB;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AE3JA,SAAS,8BAAAC,mCAAiD;AAQnD,IAAM,gBAAN,MAAM,eAGX;AAAA,EACA,YACS,OAKP;AALO;AAAA,EAKN;AAAA,EAEH,OAAO,QAA0D;AAC/D,WAAO,IAAI,eAAc;AAAA,MACvB,GAAG,KAAK;AAAA,MACR,QAAQ,GAAG,KAAK,MAAM,UAAU,EAAE,GAAG,MAAM;AAAA,IAC7C,CAAC;AAAA,EACH;AAAA,EAEA,QAAQ,MAAwD;AAC9D,QAAI,CAAC,KAAK;AACR,aAAO;AAET,WAAO,IAAI,eAAc;AAAA,MACvB,GAAG,KAAK;AAAA,MACR,MAAM,CAAC,GAAI,KAAK,MAAM,QAAQ,CAAC,GAAI,GAAG,IAAI;AAAA,IAC5C,CAAC;AAAA,EACH;AAAA,EA8BA,IACE,YACA,UACyB;AACzB,UAAM,cAAc,WAChB,mBAAmB,UAAU,EAAE,SAAS,QAAQ,IAChD;AAEJ,WAAO,IAAI,eAAc;AAAA,MACvB,GAAG,KAAK;AAAA,MACR,aAAa,CAAC,GAAI,KAAK,MAAM,eAAe,CAAC,GAAI,WAAW;AAAA,IAC9D,CAAC;AAAA,EACH;AAAA,EAEA,OACE,QACwB;AACxB,UAAM,UAA4B,CAAC;AAEnC,eAAW,OAAO,QAAQ;AACxB,YAAM,OAAO,OAAO,GAAG;AAEvB,UAAI,YAAY,IAAI,GAAG;AACrB,cAAM,qBAAqB,KAAK,MAAM,eAAe,CAAC;AACtD,cAAM,kBAAkB,KAAK,KAAK,eAAe,CAAC;AAElD,cAAM,cAAc;AAAA,UAClB,GAAG;AAAA,UACH,GAAG,gBAAgB;AAAA,YACjB,CAAAC,UAAQ,CAAC,mBAAmB,SAASA,KAAI;AAAA,UAC3C;AAAA,QACF;AAEA,cAAM,WAAWC,4BAA2B;AAAA,UAC1C,KAAK,KAAK;AAAA,QACZ,EAAE,QAAQ,GAAI,KAAK,MAAM,QAAQ,CAAC,CAAE;AAEpC,gBAAQ,GAAG,IAAI,kBAAkB;AAAA,UAC/B,MAAM;AAAA,YACJ,GAAG,KAAK;AAAA,YACR,UAAU,KAAK,MAAM,SACjB,SAAS,OAAO,KAAK,MAAM,MAAM,IACjC;AAAA,YACJ;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH,OACK;AACH,gBAAQ,GAAG,IAAI,KAAK,OAAO,IAAW;AAAA,MACxC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;;;ACtHA;AAAA,EAGE;AAAA,OACK;AAIA,IAAM,oBAAN,MAGL;AAAA,EACA,YACS,OAGP;AAHO;AAAA,EAGN;AAAA,EAEH,OACE,QACyC;AACzC,+BAA2B,KAAK,MAAM,UAAU,MAAM;AAEtD,WAAO;AAAA,EACT;AACF;AAiBO,SAAS,uBAKd,UACA,aAC8D;AAC9D,QAAM,SAAkC,CAAC;AAEzC,aAAW,OAAO,UAAU;AAC1B,UAAM,OAAO,SAAS,GAAG;AAEzB,QAAI,oBAAoB,IAAI,GAAG;AAC7B,aAAO,GAAG,IAAI,IAAI,qBAAqB;AAAA,QACrC,UAAU;AAAA,QACV;AAAA,MACF,CAAC;AAAA,IACH,OACK;AACH,aAAO,GAAG,IAAI,uBAAuB,MAAwB,WAAW;AAAA,IAC1E;AAAA,EACF;AAEA,QAAM,cAAc,IAAI,kBAAkB,EAAE,SAAS,CAAC;AAEtD,SAAO,OAAO,OAAO,aAAa,MAAM;AAC1C;AAEO,SAAS,2BACd,UACA,QACA,OAAiB,CAAC,GACZ;AACN,aAAW,OAAO,UAAU;AAC1B,UAAM,cAAc,CAAC,GAAG,MAAM,GAAG;AACjC,UAAM,eAAe,SAAS,GAAG;AACjC,UAAM,aAAa,OAAO,GAAG;AAE7B,QAAI,CAAC,YAAY;AACf,YAAM,IAAI;AAAA,QACR,4CAA4C,YAAY,KAAK,GAAG,CAAC;AAAA,MACnE;AAAA,IACF;AAEA,QAAI,oBAAoB,YAAY,GAAG;AACrC,UAAI,YAAY,UAAU,GAAG;AAC3B,YAAI,WAAW,KAAK,aAAa,cAAc;AAC7C,gBAAM,IAAI;AAAA,YACR,6CAA6C,YAAY,KAAK,GAAG,CAAC;AAAA,UACpE;AAAA,QACF;AAAA,MACF,OACK;AACH,cAAM,IAAI;AAAA,UACR,6CAA6C,YAAY,KAAK,GAAG,CAAC;AAAA,QACpE;AAAA,MACF;AAAA,IACF,OACK;AACH;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AJhFO,IAAM,UAAN,MAAM,SAAiE;AAAA,EAC5E,YACS,OAEH,CAAC,GACL;AAHO;AAAA,EAGN;AAAA;AAAA;AAAA;AAAA,EAMH,UAEqC;AACnC,WAAO;AAAA,EACT;AAAA,EA8BA,IACE,YACA,UACmB;AACnB,UAAM,cAAc,WAChB,mBAAmB,UAAU,EAAE,SAAS,QAAQ,IAChD;AAEJ,WAAO,IAAI,SAAQ;AAAA,MACjB,GAAG,KAAK;AAAA,MACR,aAAa,CAAC,GAAI,KAAK,KAAK,eAAe,CAAC,GAAI,WAAW;AAAA,IAC7D,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAMA,MACE,MACiE;AACjE,WAAO,IAAI,iBAAiB;AAAA,MAC1B,aAAa,KAAK,KAAK;AAAA,MACvB,UAAU,IAAI,kBAAkB;AAAA,QAC9B,GAAG;AAAA,QACH,aAAa;AAAA,QACb,cAAc;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MACE,QACA,SAC+D;AAC/D,WAAO,IAAI,iBAAiB;AAAA,MAC1B,aAAa,KAAK,KAAK;AAAA,MACvB,UAAU,IAAI,kBAAkB;AAAA,QAC9B,cAAc;AAAA,QACd,aAAa;AAAA,QACb,cAAc;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,OACE,QACA,SAC+D;AAC/D,WAAO,IAAI,iBAAiB;AAAA,MAC1B,aAAa,KAAK,KAAK;AAAA,MACvB,UAAU,IAAI,kBAAkB;AAAA,QAC9B,aAAa;AAAA,QACb,cAAc;AAAA,QACd,eAAe;AAAA,MACjB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,KACE,MAaE;AACF,WAAO,kBAAkB;AAAA,MACvB,MAAM;AAAA,QACJ,aAAa,KAAK,KAAK;AAAA,QACvB,UAAU,IAAI,kBAAkB;AAAA,UAC9B,aAAa;AAAA,UACb,cAAc;AAAA,QAChB,CAAC;AAAA,QACD;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAMA,SACE,UAQY;AACZ,QAAIC,qBAAoB,QAAQ,GAAG;AACjC,aAAO,IAAI,qBAAqB;AAAA,QAC9B;AAAA,QACA,aAAa,KAAK,KAAK;AAAA,MACzB,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,MACL;AAAA,MACA,KAAK,KAAK;AAAA,IACZ;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,WACE,YAWE;AACF,WAAO,mBAAmB,UAAU;AAAA,EACtC;AAAA,EAEA,OAAO,QAA0D;AAC/D,WAAO,IAAI,cAAc;AAAA,MACvB,GAAG,KAAK;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,QAAQ,MAAwD;AAC9D,WAAO,IAAI,cAAc;AAAA,MACvB,GAAG,KAAK;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,OACE,QACwB;AACxB,WAAO,IAAI,cAAuC,KAAK,IAAI,EAAE,OAAO,MAAM;AAAA,EAC5E;AACF;;;AKtOA;AAAA,EACE,uBAAAC;AAAA,OACK;AA6CA,SAAS,iBACd,QACgB;AAChB,QAAM,WAA2B,CAAC;AAElC,aAAW,OAAO,QAAQ;AACxB,UAAM,OAAO,OAAO,GAAG;AAEvB,QAAIC,qBAAoB,IAAI,GAAG;AAC7B,eAAS,GAAG,IAAI;AAAA,IAClB,WACS,YAAY,IAAI,GAAG;AAC1B,eAAS,GAAG,IAAI,KAAK,KAAK;AAAA,IAC5B,OACK;AACH,eAAS,GAAG,IAAI,iBAAiB,IAAW;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO;AACT;;;ACvCO,SAAS,mBAGd,SACuB;AACvB,QAAM,SAAkC,CAAC;AAEzC,aAAW,OAAO,QAAQ,QAAQ;AAChC,UAAM,OAAO,CAAC,GAAI,QAAQ,YAAY,CAAC,GAAI,GAAG;AAC9C,UAAM,OAAO,QAAQ,OAAO,GAAG;AAE/B,QAAI,YAAY,IAAI,GAAG;AACrB,aAAO,GAAG,IAAI,sBAAsB;AAAA,QAClC,WAAW;AAAA,QACX,SAAS,QAAQ;AAAA,QACjB;AAAA,MACF,CAAC;AAAA,IACH,OACK;AACH,aAAO,GAAG,IAAI,mBAAmB;AAAA,QAC/B,QAAQ;AAAA,QACR,SAAS,QAAQ;AAAA,QACjB,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;AClDA,cAAc;AAEP,IAAM,KAAK,IAAI,QAAwD;","names":["isContractProcedure","DecoratedContractProcedure","item","DecoratedContractProcedure","isContractProcedure","isContractProcedure","isContractProcedure"]}
@@ -1,4 +1,4 @@
1
- import type { PartialOnUndefinedDeep, Promisable } from '@orpc/shared';
1
+ import type { PartialOnUndefinedDeep, Promisable, Value } from '@orpc/shared';
2
2
  import type { Router } from '../router';
3
3
  export interface FetchHandlerHooks {
4
4
  next: () => Promise<Response>;
@@ -34,7 +34,7 @@ export type FetchHandlerOptions<TRouter extends Router<any>> = {
34
34
  /**
35
35
  * The context used to handle the request.
36
36
  */
37
- context: TRouter extends Router<infer UContext> ? UContext : never;
37
+ context: Value<TRouter extends Router<infer UContext> ? UContext : never>;
38
38
  }>;
39
39
  export interface FetchHandler<TRouter extends Router<any>> {
40
40
  (options: FetchHandlerOptions<TRouter>): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,UAAU,EACX,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AA0BvC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7B,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAA;CAC3C;AAED,MAAM,WAAW,yBAAyB,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC;IACpE,MAAM,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,CACN,OAAO,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK,EAClE,KAAK,EAAE,iBAAiB,KACrB,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,EAC5D,OAAO,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAC1C,YAAY,CAAC,OAAO,CAAC,CA6LvB;AAMD,MAAM,MAAM,mBAAmB,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,IAAI;IAC7D;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,sBAAsB,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAA;CACnE,CAAC,CAAA;AAEF,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC;IACvD,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC3D"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,UAAU,EACV,KAAK,EACN,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AA2BvC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7B,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAA;CAC3C;AAED,MAAM,WAAW,yBAAyB,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC;IACpE,MAAM,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,CACN,OAAO,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK,EAClE,KAAK,EAAE,iBAAiB,KACrB,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,EAC5D,OAAO,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAC1C,YAAY,CAAC,OAAO,CAAC,CA6LvB;AAMD,MAAM,MAAM,mBAAmB,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,IAAI;IAC7D;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,sBAAsB,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,KAAK,CACZ,OAAO,SAAS,MAAM,CAAC,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK,CAC1D,CAAA;CACF,CAAC,CAAA;AAEF,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC;IACvD,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC3D"}
@@ -3,7 +3,7 @@ import type { HandledRouter, Router } from './router';
3
3
  import type { Context, MergeContext } from './types';
4
4
  import { ContractProcedure, type ContractRouter, type HTTPPath, type RouteOptions, type Schema, type SchemaInput, type SchemaOutput } from '@orpc/contract';
5
5
  import { type DecoratedMiddleware, type MapInputMiddleware, type Middleware } from './middleware';
6
- import { type DecoratedProcedure, type ProcedureHandler } from './procedure';
6
+ import { type DecoratedProcedure, type ProcedureFunc } from './procedure';
7
7
  import { ProcedureBuilder } from './procedure-builder';
8
8
  import { ProcedureImplementer } from './procedure-implementer';
9
9
  import { RouterBuilder } from './router-builder';
@@ -30,7 +30,7 @@ export declare class Builder<TContext extends Context, TExtraContext extends Con
30
30
  /**
31
31
  * Convert to Procedure
32
32
  */
33
- handler<UHandlerOutput = undefined>(handler: ProcedureHandler<TContext, TExtraContext, undefined, undefined, UHandlerOutput>): DecoratedProcedure<TContext, TExtraContext, undefined, undefined, UHandlerOutput>;
33
+ func<UFuncOutput = undefined>(func: ProcedureFunc<TContext, TExtraContext, undefined, undefined, UFuncOutput>): DecoratedProcedure<TContext, TExtraContext, undefined, undefined, UFuncOutput>;
34
34
  /**
35
35
  * Convert to ProcedureImplementer | RouterBuilder
36
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { MapInputMiddleware, Middleware } from './middleware';
2
2
  import type { Context, MergeContext } from './types';
3
3
  import { type ContractProcedure, type RouteOptions, type Schema, type SchemaInput, type SchemaOutput } from '@orpc/contract';
4
- import { type DecoratedProcedure, type ProcedureHandler } from './procedure';
4
+ import { type DecoratedProcedure, type ProcedureFunc } from './procedure';
5
5
  import { ProcedureImplementer } from './procedure-implementer';
6
6
  export declare class ProcedureBuilder<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema> {
7
7
  zz$pb: {
@@ -26,6 +26,6 @@ export declare class ProcedureBuilder<TContext extends Context, TExtraContext ex
26
26
  /**
27
27
  * Convert to Procedure
28
28
  */
29
- handler<UHandlerOutput extends SchemaOutput<TOutputSchema>>(handler: ProcedureHandler<TContext, TExtraContext, TInputSchema, TOutputSchema, UHandlerOutput>): DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, UHandlerOutput>;
29
+ func<UFuncOutput extends SchemaOutput<TOutputSchema>>(func: ProcedureFunc<TContext, TExtraContext, TInputSchema, TOutputSchema, UFuncOutput>): DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, UFuncOutput>;
30
30
  }
31
31
  //# sourceMappingURL=procedure-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedure-builder.d.ts","sourceRoot":"","sources":["../../src/procedure-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE9D,qBAAa,gBAAgB,CAC3B,QAAQ,SAAS,OAAO,EACxB,aAAa,SAAS,OAAO,EAC7B,YAAY,SAAS,MAAM,EAC3B,aAAa,SAAS,MAAM;IAGnB,KAAK,EAAE;QACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACxD,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;KAC/C;gBAHM,KAAK,EAAE;QACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACxD,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;KAC/C;IAGH;;OAEG;IAEH,KAAK,CACH,IAAI,EAAE,YAAY,GACjB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC;IASzE,KAAK,CAAC,OAAO,SAAS,MAAM,GAAG,SAAS,EACtC,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAC7B,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC;IAUpE,MAAM,CAAC,OAAO,SAAS,MAAM,GAAG,SAAS,EACvC,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAC9B,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC;IAUnE;;OAEG;IAEH,GAAG,CACD,aAAa,SACX,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACrE,SAAS,GAAG,SAAS,EAEvB,UAAU,EAAE,UAAU,CACpB,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,EACrC,aAAa,EACb,YAAY,CAAC,YAAY,CAAC,EAC1B,WAAW,CAAC,aAAa,CAAC,CAC3B,GACA,oBAAoB,CACrB,QAAQ,EACR,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,EAC1C,YAAY,EACZ,aAAa,CACd;IAED,GAAG,CACD,aAAa,SACX,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACrE,SAAS,GAAG,SAAS,EACvB,YAAY,GAAG,OAAO,EAEtB,UAAU,EAAE,UAAU,CACpB,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,EACrC,aAAa,EACb,YAAY,EACZ,WAAW,CAAC,aAAa,CAAC,CAC3B,EACD,QAAQ,EAAE,kBAAkB,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,GACrE,oBAAoB,CACrB,QAAQ,EACR,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,EAC1C,YAAY,EACZ,aAAa,CACd;IAmBD;;OAEG;IAEH,OAAO,CAAC,cAAc,SAAS,YAAY,CAAC,aAAa,CAAC,EACxD,OAAO,EAAE,gBAAgB,CACvB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,CACf,GACA,kBAAkB,CACjB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,CACf;CASJ"}
1
+ {"version":3,"file":"procedure-builder.d.ts","sourceRoot":"","sources":["../../src/procedure-builder.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,19 @@
1
1
  import type { SchemaInput, SchemaOutput } from '@orpc/contract';
2
2
  import type { Procedure } from './procedure';
3
- export interface CreateProcedureCallerOptions<TProcedure extends Procedure<any, any, any, any, any>, TValidate extends boolean> {
3
+ import { type Value } from '@orpc/shared';
4
+ export interface CreateProcedureCallerOptions<TProcedure extends Procedure<any, any, any, any, any>> {
4
5
  procedure: TProcedure;
5
6
  /**
6
7
  * The context used when calling the procedure.
7
8
  */
8
- context: TProcedure extends Procedure<infer UContext, any, any, any, any> ? UContext : never;
9
+ context: Value<TProcedure extends Procedure<infer UContext, any, any, any, any> ? UContext : never>;
9
10
  /**
10
11
  * This is helpful for logging and analytics.
11
- */
12
- path?: string[];
13
- /**
14
- * This flag helpful when you want bypass some logics not necessary to internal server calls.
15
12
  *
16
- * @default true
13
+ * @internal
17
14
  */
18
- internal?: boolean;
19
- /**
20
- * Indicate whether validate input and output.
21
- *
22
- * @default true
23
- */
24
- validate?: TValidate;
15
+ path?: string[];
25
16
  }
26
- export type ProcedureCaller<TProcedure extends Procedure<any, any, any, any, any>, TValidate extends boolean> = TProcedure extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UHandlerOutput> ? (input: TValidate extends true ? SchemaInput<UInputSchema> : SchemaOutput<UInputSchema>) => Promise<TValidate extends true ? SchemaOutput<UOutputSchema, UHandlerOutput> : SchemaInput<UOutputSchema, UHandlerOutput>> : never;
27
- export declare function createProcedureCaller<TProcedure extends Procedure<any, any, any, any, any>, TValidate extends boolean = true>(options: CreateProcedureCallerOptions<TProcedure, TValidate>): ProcedureCaller<TProcedure, TValidate>;
17
+ export type ProcedureCaller<TProcedure extends Procedure<any, any, any, any, any>> = TProcedure extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput> ? (input: SchemaInput<UInputSchema> | FormData) => Promise<SchemaOutput<UOutputSchema, UFuncOutput>> : never;
18
+ export declare function createProcedureCaller<TProcedure extends Procedure<any, any, any, any, any>>(options: CreateProcedureCallerOptions<TProcedure>): ProcedureCaller<TProcedure>;
28
19
  //# sourceMappingURL=procedure-caller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedure-caller.d.ts","sourceRoot":"","sources":["../../src/procedure-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAK5C,MAAM,WAAW,4BAA4B,CAC3C,UAAU,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrD,SAAS,SAAS,OAAO;IAEzB,SAAS,EAAE,UAAU,CAAA;IAErB;;OAEG;IACH,OAAO,EAAE,UAAU,SAAS,SAAS,CAAC,MAAM,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACrE,QAAQ,GACR,KAAK,CAAA;IAET;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,MAAM,MAAM,eAAe,CACzB,UAAU,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrD,SAAS,SAAS,OAAO,IACvB,UAAU,SAAS,SAAS,CAC9B,GAAG,EACH,GAAG,EACH,MAAM,YAAY,EAClB,MAAM,aAAa,EACnB,MAAM,cAAc,CACrB,GACG,CACE,KAAK,EAAE,SAAS,SAAS,IAAI,GACzB,WAAW,CAAC,YAAY,CAAC,GACzB,YAAY,CAAC,YAAY,CAAC,KAC3B,OAAO,CACV,SAAS,SAAS,IAAI,GAClB,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,GAC3C,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAC/C,GACD,KAAK,CAAA;AAET,wBAAgB,qBAAqB,CACnC,UAAU,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrD,SAAS,SAAS,OAAO,GAAG,IAAI,EAEhC,OAAO,EAAE,4BAA4B,CAAC,UAAU,EAAE,SAAS,CAAC,GAC3D,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CA+ExC"}
1
+ {"version":3,"file":"procedure-caller.d.ts","sourceRoot":"","sources":["../../src/procedure-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,KAAK,KAAK,EAAS,MAAM,cAAc,CAAA;AAKhD,MAAM,WAAW,4BAA4B,CAC3C,UAAU,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAErD,SAAS,EAAE,UAAU,CAAA;IAErB;;OAEG;IACH,OAAO,EAAE,KAAK,CACZ,UAAU,SAAS,SAAS,CAAC,MAAM,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC5D,QAAQ,GACR,KAAK,CACV,CAAA;IAED;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,eAAe,CACzB,UAAU,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACnD,UAAU,SAAS,SAAS,CAC9B,GAAG,EACH,GAAG,EACH,MAAM,YAAY,EAClB,MAAM,aAAa,EACnB,MAAM,WAAW,CAClB,GACG,CACE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,QAAQ,KACxC,OAAO,CACV,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CACzC,GACD,KAAK,CAAA;AAET,wBAAgB,qBAAqB,CACnC,UAAU,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAErD,OAAO,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAChD,eAAe,CAAC,UAAU,CAAC,CAsF7B"}
@@ -1,7 +1,7 @@
1
1
  import type { ContractProcedure, Schema, SchemaInput, SchemaOutput } from '@orpc/contract';
2
2
  import type { Context, MergeContext } from './types';
3
3
  import { type MapInputMiddleware, type Middleware } from './middleware';
4
- import { type DecoratedProcedure, type ProcedureHandler } from './procedure';
4
+ import { type DecoratedProcedure, type ProcedureFunc } from './procedure';
5
5
  export declare class ProcedureImplementer<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema> {
6
6
  zz$pi: {
7
7
  contract: ContractProcedure<TInputSchema, TOutputSchema>;
@@ -13,6 +13,6 @@ export declare class ProcedureImplementer<TContext extends Context, TExtraContex
13
13
  });
14
14
  use<UExtraContext extends Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>> | undefined = undefined>(middleware: Middleware<MergeContext<TContext, TExtraContext>, UExtraContext, SchemaOutput<TInputSchema>, SchemaInput<TOutputSchema>>): ProcedureImplementer<TContext, MergeContext<TExtraContext, UExtraContext>, TInputSchema, TOutputSchema>;
15
15
  use<UExtraContext extends Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>> | undefined = undefined, UMappedInput = unknown>(middleware: Middleware<MergeContext<TContext, TExtraContext>, UExtraContext, UMappedInput, SchemaInput<TOutputSchema>>, mapInput: MapInputMiddleware<SchemaOutput<TInputSchema>, UMappedInput>): ProcedureImplementer<TContext, MergeContext<TExtraContext, UExtraContext>, TInputSchema, TOutputSchema>;
16
- handler<UHandlerOutput extends SchemaOutput<TOutputSchema>>(handler: ProcedureHandler<TContext, TExtraContext, TInputSchema, TOutputSchema, UHandlerOutput>): DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, UHandlerOutput>;
16
+ func<UFuncOutput extends SchemaOutput<TOutputSchema>>(func: ProcedureFunc<TContext, TExtraContext, TInputSchema, TOutputSchema, UFuncOutput>): DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, UFuncOutput>;
17
17
  }
18
18
  //# sourceMappingURL=procedure-implementer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedure-implementer.d.ts","sourceRoot":"","sources":["../../src/procedure-implementer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAA;AAEpB,qBAAa,oBAAoB,CAC/B,QAAQ,SAAS,OAAO,EACxB,aAAa,SAAS,OAAO,EAC7B,YAAY,SAAS,MAAM,EAC3B,aAAa,SAAS,MAAM;IAGnB,KAAK,EAAE;QACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACxD,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;KAC/C;gBAHM,KAAK,EAAE;QACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACxD,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;KAC/C;IAGH,GAAG,CACD,aAAa,SACX,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACrE,SAAS,GAAG,SAAS,EAEvB,UAAU,EAAE,UAAU,CACpB,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,EACrC,aAAa,EACb,YAAY,CAAC,YAAY,CAAC,EAC1B,WAAW,CAAC,aAAa,CAAC,CAC3B,GACA,oBAAoB,CACrB,QAAQ,EACR,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,EAC1C,YAAY,EACZ,aAAa,CACd;IAED,GAAG,CACD,aAAa,SACX,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACrE,SAAS,GAAG,SAAS,EACvB,YAAY,GAAG,OAAO,EAEtB,UAAU,EAAE,UAAU,CACpB,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,EACrC,aAAa,EACb,YAAY,EACZ,WAAW,CAAC,aAAa,CAAC,CAC3B,EACD,QAAQ,EAAE,kBAAkB,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,GACrE,oBAAoB,CACrB,QAAQ,EACR,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,EAC1C,YAAY,EACZ,aAAa,CACd;IAgBD,OAAO,CAAC,cAAc,SAAS,YAAY,CAAC,aAAa,CAAC,EACxD,OAAO,EAAE,gBAAgB,CACvB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,CACf,GACA,kBAAkB,CACjB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,CACf;CASJ"}
1
+ {"version":3,"file":"procedure-implementer.d.ts","sourceRoot":"","sources":["../../src/procedure-implementer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAA;AAEpB,qBAAa,oBAAoB,CAC/B,QAAQ,SAAS,OAAO,EACxB,aAAa,SAAS,OAAO,EAC7B,YAAY,SAAS,MAAM,EAC3B,aAAa,SAAS,MAAM;IAGnB,KAAK,EAAE;QACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACxD,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;KAC/C;gBAHM,KAAK,EAAE;QACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACxD,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;KAC/C;IAGH,GAAG,CACD,aAAa,SACX,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACrE,SAAS,GAAG,SAAS,EAEvB,UAAU,EAAE,UAAU,CACpB,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,EACrC,aAAa,EACb,YAAY,CAAC,YAAY,CAAC,EAC1B,WAAW,CAAC,aAAa,CAAC,CAC3B,GACA,oBAAoB,CACrB,QAAQ,EACR,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,EAC1C,YAAY,EACZ,aAAa,CACd;IAED,GAAG,CACD,aAAa,SACX,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACrE,SAAS,GAAG,SAAS,EACvB,YAAY,GAAG,OAAO,EAEtB,UAAU,EAAE,UAAU,CACpB,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,EACrC,aAAa,EACb,YAAY,EACZ,WAAW,CAAC,aAAa,CAAC,CAC3B,EACD,QAAQ,EAAE,kBAAkB,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,GACrE,oBAAoB,CACrB,QAAQ,EACR,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,EAC1C,YAAY,EACZ,aAAa,CACd;IAgBD,IAAI,CAAC,WAAW,SAAS,YAAY,CAAC,aAAa,CAAC,EAClD,IAAI,EAAE,aAAa,CACjB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,CACZ,GACA,kBAAkB,CACjB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,CACZ;CASJ"}
@@ -1,28 +1,29 @@
1
1
  import type { Promisable } from '@orpc/shared';
2
+ import type { ProcedureCaller } from './procedure-caller';
2
3
  import type { Context, MergeContext, Meta } from './types';
3
4
  import { type ContractProcedure, type HTTPPath, type RouteOptions, type Schema, type SchemaInput, type SchemaOutput } from '@orpc/contract';
4
5
  import { type MapInputMiddleware, type Middleware } from './middleware';
5
- export declare class Procedure<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema, THandlerOutput extends SchemaOutput<TOutputSchema>> {
6
+ export declare class Procedure<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput extends SchemaOutput<TOutputSchema>> {
6
7
  zz$p: {
7
8
  middlewares?: Middleware<any, any, any, any>[];
8
9
  contract: ContractProcedure<TInputSchema, TOutputSchema>;
9
- handler: ProcedureHandler<TContext, TExtraContext, TInputSchema, TOutputSchema, THandlerOutput>;
10
+ func: ProcedureFunc<TContext, TExtraContext, TInputSchema, TOutputSchema, TFuncOutput>;
10
11
  };
11
12
  constructor(zz$p: {
12
13
  middlewares?: Middleware<any, any, any, any>[];
13
14
  contract: ContractProcedure<TInputSchema, TOutputSchema>;
14
- handler: ProcedureHandler<TContext, TExtraContext, TInputSchema, TOutputSchema, THandlerOutput>;
15
+ func: ProcedureFunc<TContext, TExtraContext, TInputSchema, TOutputSchema, TFuncOutput>;
15
16
  });
16
17
  }
17
- export type DecoratedProcedure<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema, THandlerOutput extends SchemaOutput<TOutputSchema>> = Procedure<TContext, TExtraContext, TInputSchema, TOutputSchema, THandlerOutput> & {
18
- prefix: (prefix: HTTPPath) => DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, THandlerOutput>;
19
- route: (opts: RouteOptions) => DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, THandlerOutput>;
20
- use: (<UExtraContext extends Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>> | undefined = undefined>(middleware: Middleware<MergeContext<TContext, TExtraContext>, UExtraContext, SchemaOutput<TInputSchema>, SchemaInput<TOutputSchema, THandlerOutput>>) => DecoratedProcedure<TContext, MergeContext<TExtraContext, UExtraContext>, TInputSchema, TOutputSchema, THandlerOutput>) & (<UExtraContext extends Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>> | undefined = undefined, UMappedInput = unknown>(middleware: Middleware<MergeContext<TContext, TExtraContext>, UExtraContext, UMappedInput, SchemaInput<TOutputSchema, THandlerOutput>>, mapInput: MapInputMiddleware<SchemaOutput<TInputSchema, THandlerOutput>, UMappedInput>) => DecoratedProcedure<TContext, MergeContext<TExtraContext, UExtraContext>, TInputSchema, TOutputSchema, THandlerOutput>);
21
- } & (undefined extends TContext ? (input: SchemaInput<TInputSchema> | FormData) => Promise<SchemaOutput<TOutputSchema, THandlerOutput>> : unknown);
22
- export interface ProcedureHandler<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema, TOutput extends SchemaOutput<TOutputSchema>> {
18
+ export type DecoratedProcedure<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput extends SchemaOutput<TOutputSchema>> = Procedure<TContext, TExtraContext, TInputSchema, TOutputSchema, TFuncOutput> & {
19
+ prefix: (prefix: HTTPPath) => DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, TFuncOutput>;
20
+ route: (opts: RouteOptions) => DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, TFuncOutput>;
21
+ use: (<UExtraContext extends Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>> | undefined = undefined>(middleware: Middleware<MergeContext<TContext, TExtraContext>, UExtraContext, SchemaOutput<TInputSchema>, SchemaInput<TOutputSchema, TFuncOutput>>) => DecoratedProcedure<TContext, MergeContext<TExtraContext, UExtraContext>, TInputSchema, TOutputSchema, TFuncOutput>) & (<UExtraContext extends Partial<MergeContext<Context, MergeContext<TContext, TExtraContext>>> | undefined = undefined, UMappedInput = unknown>(middleware: Middleware<MergeContext<TContext, TExtraContext>, UExtraContext, UMappedInput, SchemaInput<TOutputSchema, TFuncOutput>>, mapInput: MapInputMiddleware<SchemaOutput<TInputSchema, TFuncOutput>, UMappedInput>) => DecoratedProcedure<TContext, MergeContext<TExtraContext, UExtraContext>, TInputSchema, TOutputSchema, TFuncOutput>);
22
+ } & (undefined extends TContext ? ProcedureCaller<Procedure<TContext, TExtraContext, TInputSchema, TOutputSchema, TFuncOutput>> : unknown);
23
+ export interface ProcedureFunc<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema, TOutput extends SchemaOutput<TOutputSchema>> {
23
24
  (input: SchemaOutput<TInputSchema>, context: MergeContext<TContext, TExtraContext>, meta: Meta): Promisable<SchemaInput<TOutputSchema, TOutput>>;
24
25
  }
25
- export declare function decorateProcedure<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema, THandlerOutput extends SchemaOutput<TOutputSchema>>(procedure: Procedure<TContext, TExtraContext, TInputSchema, TOutputSchema, THandlerOutput>): DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, THandlerOutput>;
26
+ export declare function decorateProcedure<TContext extends Context, TExtraContext extends Context, TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput extends SchemaOutput<TOutputSchema>>(procedure: Procedure<TContext, TExtraContext, TInputSchema, TOutputSchema, TFuncOutput>): DecoratedProcedure<TContext, TExtraContext, TInputSchema, TOutputSchema, TFuncOutput>;
26
27
  export type WELL_DEFINED_PROCEDURE = Procedure<Context, Context, Schema, Schema, unknown>;
27
28
  export declare function isProcedure(item: unknown): item is WELL_DEFINED_PROCEDURE;
28
29
  //# sourceMappingURL=procedure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/procedure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/procedure.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,22 @@
1
+ import type { Value } from '@orpc/shared';
1
2
  import type { Router } from './router';
2
3
  import { type Procedure } from './procedure';
3
4
  import { type ProcedureCaller } from './procedure-caller';
4
- export interface CreateRouterCallerOptions<TRouter extends Router<any>, TValidate extends boolean> {
5
+ export interface CreateRouterCallerOptions<TRouter extends Router<any>> {
5
6
  router: TRouter;
6
7
  /**
7
8
  * The context used when calling the procedure.
8
9
  */
9
- context: TRouter extends Router<infer UContext> ? UContext : never;
10
+ context: Value<TRouter extends Router<infer UContext> ? UContext : never>;
10
11
  /**
11
12
  * This is helpful for logging and analytics.
12
- */
13
- basePath?: string[];
14
- /**
15
- * This flag helpful when you want bypass some logics not necessary to internal server calls.
16
13
  *
17
- * @default true
14
+ * @internal
18
15
  */
19
- internal?: boolean;
20
- /**
21
- * Indicate whether validate input and output.
22
- *
23
- * @default true
24
- */
25
- validate?: TValidate;
16
+ basePath?: string[];
26
17
  }
27
- export type RouterCaller<TRouter extends Router<any>, TValidate extends boolean> = {
28
- [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, any, any, any> ? ProcedureCaller<TRouter[K], TValidate> : TRouter[K] extends Router<any> ? RouterCaller<TRouter[K], TValidate> : never;
18
+ export type RouterCaller<TRouter extends Router<any>> = {
19
+ [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, any, any, any> ? ProcedureCaller<TRouter[K]> : TRouter[K] extends Router<any> ? RouterCaller<TRouter[K]> : never;
29
20
  };
30
- export declare function createRouterCaller<TRouter extends Router<any>, TValidate extends boolean = true>(options: CreateRouterCallerOptions<TRouter, TValidate>): RouterCaller<TRouter, TValidate>;
21
+ export declare function createRouterCaller<TRouter extends Router<any>>(options: CreateRouterCallerOptions<TRouter>): RouterCaller<TRouter>;
31
22
  //# sourceMappingURL=router-caller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router-caller.d.ts","sourceRoot":"","sources":["../../src/router-caller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEhF,MAAM,WAAW,yBAAyB,CACxC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,EAC3B,SAAS,SAAS,OAAO;IAEzB,MAAM,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,OAAO,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAA;IAElE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,EAC3B,SAAS,SAAS,OAAO,IACvB;KACD,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACvE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GACtC,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GACnC,KAAK;CACZ,CAAA;AAED,wBAAgB,kBAAkB,CAChC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,EAC3B,SAAS,SAAS,OAAO,GAAG,IAAI,EAEhC,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,GACrD,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CA+BlC"}
1
+ {"version":3,"file":"router-caller.d.ts","sourceRoot":"","sources":["../../src/router-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEhF,MAAM,WAAW,yBAAyB,CACxC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC;IAE3B,MAAM,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,OAAO,EAAE,KAAK,CACZ,OAAO,SAAS,MAAM,CAAC,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK,CAC1D,CAAA;IAED;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,IACzB;KACD,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACvE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACxB,KAAK;CACZ,CAAA;AAED,wBAAgB,kBAAkB,CAChC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,EAE3B,OAAO,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAC1C,YAAY,CAAC,OAAO,CAAC,CAwBvB"}
@@ -5,7 +5,7 @@ export interface Router<TContext extends Context> {
5
5
  [k: string]: Procedure<TContext, any, any, any, any> | Router<TContext>;
6
6
  }
7
7
  export type HandledRouter<TRouter extends Router<any>> = {
8
- [K in keyof TRouter]: TRouter[K] extends Procedure<infer UContext, infer UExtraContext, infer UInputSchema, infer UOutputSchema, infer UHandlerOutput> ? DecoratedProcedure<UContext, UExtraContext, UInputSchema, UOutputSchema, UHandlerOutput> : TRouter[K] extends Router<any> ? HandledRouter<TRouter[K]> : never;
8
+ [K in keyof TRouter]: TRouter[K] extends Procedure<infer UContext, infer UExtraContext, infer UInputSchema, infer UOutputSchema, infer UFuncOutput> ? DecoratedProcedure<UContext, UExtraContext, UInputSchema, UOutputSchema, UFuncOutput> : TRouter[K] extends Router<any> ? HandledRouter<TRouter[K]> : never;
9
9
  };
10
10
  export type RouterWithContract<TContext extends Context, TContract extends ContractRouter> = {
11
11
  [K in keyof TContract]: TContract[K] extends ContractProcedure<infer UInputSchema, infer UOutputSchema> ? Procedure<TContext, any, UInputSchema, UOutputSchema, any> : TContract[K] extends ContractRouter ? RouterWithContract<TContext, TContract[K]> : never;
@@ -15,6 +15,6 @@ export type InferRouterInputs<T extends Router<any>> = {
15
15
  [K in keyof T]: T[K] extends Procedure<any, any, infer UInputSchema, any, any> ? SchemaInput<UInputSchema> : T[K] extends Router<any> ? InferRouterInputs<T[K]> : never;
16
16
  };
17
17
  export type InferRouterOutputs<T extends Router<any>> = {
18
- [K in keyof T]: T[K] extends Procedure<any, any, any, infer UOutputSchema, infer UHandlerOutput> ? SchemaOutput<UOutputSchema, UHandlerOutput> : T[K] extends Router<any> ? InferRouterOutputs<T[K]> : never;
18
+ [K in keyof T]: T[K] extends Procedure<any, any, any, infer UOutputSchema, infer UFuncOutput> ? SchemaOutput<UOutputSchema, UFuncOutput> : T[K] extends Router<any> ? InferRouterOutputs<T[K]> : never;
19
19
  };
20
20
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,YAAY,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,SAAS,EACf,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,MAAM,CAAC,QAAQ,SAAS,OAAO;IAC9C,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;CACxE;AAED,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,SAAS,CAChD,MAAM,QAAQ,EACd,MAAM,aAAa,EACnB,MAAM,YAAY,EAClB,MAAM,aAAa,EACnB,MAAM,cAAc,CACrB,GACG,kBAAkB,CAClB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,CACf,GACC,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAC5B,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACzB,KAAK;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC5B,QAAQ,SAAS,OAAO,EACxB,SAAS,SAAS,cAAc,IAC9B;KACD,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,iBAAiB,CAC5D,MAAM,YAAY,EAClB,MAAM,aAAa,CACpB,GACG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,GAC1D,SAAS,CAAC,CAAC,CAAC,SAAS,cAAc,GACjC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAC1C,KAAK;CACZ,CAAA;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GACnC,cAAc,CAkBhB;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,IAAI;KACpD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,GAC1E,WAAW,CAAC,YAAY,CAAC,GACzB,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GACtB,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,KAAK;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,IAAI;KACrD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,EAAE,MAAM,cAAc,CAAC,GAC5F,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,GAC3C,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GACtB,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACxB,KAAK;CACZ,CAAA"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,YAAY,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,SAAS,EACf,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,MAAM,CAAC,QAAQ,SAAS,OAAO;IAC9C,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;CACxE;AAED,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,SAAS,CAChD,MAAM,QAAQ,EACd,MAAM,aAAa,EACnB,MAAM,YAAY,EAClB,MAAM,aAAa,EACnB,MAAM,WAAW,CAClB,GACG,kBAAkB,CAClB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,CACZ,GACC,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAC5B,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACzB,KAAK;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC5B,QAAQ,SAAS,OAAO,EACxB,SAAS,SAAS,cAAc,IAC9B;KACD,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,iBAAiB,CAC5D,MAAM,YAAY,EAClB,MAAM,aAAa,CACpB,GACG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,GAC1D,SAAS,CAAC,CAAC,CAAC,SAAS,cAAc,GACjC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAC1C,KAAK;CACZ,CAAA;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GACnC,cAAc,CAkBhB;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,IAAI;KACpD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,GAC1E,WAAW,CAAC,YAAY,CAAC,GACzB,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GACtB,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,KAAK;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,IAAI;KACrD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,EAAE,MAAM,WAAW,CAAC,GACzF,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,GACxC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GACtB,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACxB,KAAK;CACZ,CAAA"}
@@ -3,7 +3,6 @@ export type Context = Record<string, unknown> | undefined;
3
3
  export type MergeContext<TA extends Context, TB extends Context> = TA extends undefined ? TB : TB extends undefined ? TA : TA & TB;
4
4
  export interface Meta {
5
5
  path: string[];
6
- internal: boolean;
7
6
  procedure: WELL_DEFINED_PROCEDURE;
8
7
  }
9
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;AAEzD,MAAM,MAAM,YAAY,CACtB,EAAE,SAAS,OAAO,EAClB,EAAE,SAAS,OAAO,IAChB,EAAE,SAAS,SAAS,GAAG,EAAE,GAAG,EAAE,SAAS,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAEnE,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,sBAAsB,CAAA;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;AAEzD,MAAM,MAAM,YAAY,CACtB,EAAE,SAAS,OAAO,EAClB,EAAE,SAAS,OAAO,IAChB,EAAE,SAAS,SAAS,GAAG,EAAE,GAAG,EAAE,SAAS,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAEnE,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,sBAAsB,CAAA;CAClC"}