@orpc/server 0.0.0-next.571d5d7 → 0.0.0-next.57a6344

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.
@@ -114,20 +114,20 @@ function createProcedureCaller(options) {
114
114
  const procedure = await loadProcedure(options.procedure);
115
115
  const context = await value(options.context);
116
116
  const execute = async () => {
117
- const validInput = (() => {
118
- const schema = procedure.zz$p.contract.zz$cp.InputSchema;
117
+ const validInput = await (async () => {
118
+ const schema = procedure.zz$p.contract["~orpc"].InputSchema;
119
119
  if (!schema) {
120
120
  return input;
121
121
  }
122
- try {
123
- return schema.parse(input);
124
- } catch (e) {
122
+ const result = await schema["~standard"].validate(input);
123
+ if (result.issues) {
125
124
  throw new ORPCError({
126
125
  message: "Validation input failed",
127
126
  code: "BAD_REQUEST",
128
- cause: e
127
+ issues: result.issues
129
128
  });
130
129
  }
130
+ return result.value;
131
131
  })();
132
132
  const meta = {
133
133
  path,
@@ -156,19 +156,18 @@ function createProcedureCaller(options) {
156
156
  };
157
157
  const output2 = (await next({})).output;
158
158
  const validOutput = await (async () => {
159
- const schema = procedure.zz$p.contract.zz$cp.OutputSchema;
159
+ const schema = procedure.zz$p.contract["~orpc"].OutputSchema;
160
160
  if (!schema) {
161
161
  return output2;
162
162
  }
163
- const result = await schema.safeParseAsync(output2);
164
- if (result.error) {
163
+ const result = await schema["~standard"].validate(output2);
164
+ if (result.issues) {
165
165
  throw new ORPCError({
166
166
  message: "Validation output failed",
167
- code: "INTERNAL_SERVER_ERROR",
168
- cause: result.error
167
+ code: "INTERNAL_SERVER_ERROR"
169
168
  });
170
169
  }
171
- return result.data;
170
+ return result.value;
172
171
  })();
173
172
  return validOutput;
174
173
  };
@@ -271,4 +270,4 @@ export {
271
270
  decorateProcedure,
272
271
  isProcedure
273
272
  };
274
- //# sourceMappingURL=chunk-3JMSDC5L.js.map
273
+ //# sourceMappingURL=chunk-VARUID7X.js.map
package/dist/fetch.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  createProcedureCaller,
3
3
  isLazy,
4
4
  isProcedure
5
- } from "./chunk-3JMSDC5L.js";
5
+ } from "./chunk-VARUID7X.js";
6
6
 
7
7
  // src/fetch/handle.ts
8
8
  import { ORPCError } from "@orpc/shared/error";
@@ -23,15 +23,14 @@ async function handleFetchRequest(options) {
23
23
  }
24
24
 
25
25
  // src/fetch/handler.ts
26
- import { ORPC_HEADER, ORPC_HEADER_VALUE } from "@orpc/contract";
27
- import { executeWithHooks, trim, value } from "@orpc/shared";
26
+ import { executeWithHooks, ORPC_PROTOCOL_HEADER, ORPC_PROTOCOL_VALUE, trim, value } from "@orpc/shared";
28
27
  import { ORPCError as ORPCError2 } from "@orpc/shared/error";
29
28
  import { ORPCDeserializer, ORPCSerializer } from "@orpc/transformer";
30
29
  var serializer = new ORPCSerializer();
31
30
  var deserializer = new ORPCDeserializer();
32
31
  function createORPCHandler() {
33
32
  return async (options) => {
34
- if (options.request.headers.get(ORPC_HEADER) !== ORPC_HEADER_VALUE) {
33
+ if (!options.request.headers.get(ORPC_PROTOCOL_HEADER)?.includes(ORPC_PROTOCOL_VALUE)) {
35
34
  return void 0;
36
35
  }
37
36
  const context = await value(options.context);
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  loadLazy,
13
13
  loadProcedure,
14
14
  mergeContext
15
- } from "./chunk-3JMSDC5L.js";
15
+ } from "./chunk-VARUID7X.js";
16
16
 
17
17
  // src/builder.ts
18
18
  import {
@@ -26,7 +26,7 @@ import {
26
26
  } from "@orpc/contract";
27
27
 
28
28
  // src/router-builder.ts
29
- import { DecoratedContractProcedure, prefixHTTPPath } from "@orpc/contract";
29
+ import { DecoratedContractProcedure } from "@orpc/contract";
30
30
  var LAZY_ROUTER_PREFIX_SYMBOL = Symbol("ORPC_LAZY_ROUTER_PREFIX");
31
31
  var RouterBuilder = class _RouterBuilder {
32
32
  constructor(zz$rb) {
@@ -109,7 +109,7 @@ function adaptLazyRouter(options) {
109
109
  };
110
110
  let lazyRouterPrefix = options.prefix;
111
111
  if (LAZY_ROUTER_PREFIX_SYMBOL in options.current && typeof options.current[LAZY_ROUTER_PREFIX_SYMBOL] === "string") {
112
- lazyRouterPrefix = lazyRouterPrefix ? prefixHTTPPath(options.current[LAZY_ROUTER_PREFIX_SYMBOL], lazyRouterPrefix) : options.current[LAZY_ROUTER_PREFIX_SYMBOL];
112
+ lazyRouterPrefix = `${options.current[LAZY_ROUTER_PREFIX_SYMBOL]}${lazyRouterPrefix ?? ""}`;
113
113
  }
114
114
  const decoratedLazy = Object.assign(decorateLazy(createLazy(loader)), {
115
115
  [LAZY_ROUTER_PREFIX_SYMBOL]: lazyRouterPrefix
@@ -141,7 +141,7 @@ function adaptProcedure(options) {
141
141
  ];
142
142
  let contract = DecoratedContractProcedure.decorate(
143
143
  options.procedure.zz$p.contract
144
- ).addTags(...options.tags ?? []);
144
+ ).pushTag(...options.tags ?? []);
145
145
  if (options.prefix) {
146
146
  contract = contract.prefix(options.prefix);
147
147
  }
@@ -298,11 +298,11 @@ var Builder = class _Builder {
298
298
  /**
299
299
  * Convert to ContractProcedureBuilder
300
300
  */
301
- route(opts) {
301
+ route(route) {
302
302
  return new ProcedureBuilder({
303
303
  middlewares: this.zz$b.middlewares,
304
304
  contract: new ContractProcedure({
305
- ...opts,
305
+ route,
306
306
  InputSchema: void 0,
307
307
  OutputSchema: void 0
308
308
  })
@@ -389,25 +389,6 @@ var Builder = class _Builder {
389
389
  }
390
390
  };
391
391
 
392
- // src/router.ts
393
- import {
394
- isContractProcedure as isContractProcedure3
395
- } from "@orpc/contract";
396
- function toContractRouter(router) {
397
- const contract = {};
398
- for (const key in router) {
399
- const item = router[key];
400
- if (isContractProcedure3(item)) {
401
- contract[key] = item;
402
- } else if (isProcedure(item)) {
403
- contract[key] = item.zz$p.contract;
404
- } else {
405
- contract[key] = toContractRouter(item);
406
- }
407
- }
408
- return contract;
409
- }
410
-
411
392
  // src/router-caller.ts
412
393
  function createRouterCaller(options) {
413
394
  return createRouterCallerInternal(options);
@@ -461,7 +442,6 @@ export {
461
442
  loadLazy,
462
443
  loadProcedure,
463
444
  mergeContext,
464
- os,
465
- toContractRouter
445
+ os
466
446
  };
467
447
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,10 @@
1
+ import type { ANY_CONTRACT_PROCEDURE, ContractRouter, HTTPPath, RouteOptions, Schema, SchemaInput, SchemaOutput } from '@orpc/contract';
1
2
  import type { IsEqual } from '@orpc/shared';
2
3
  import type { DecoratedLazy } from './lazy';
3
4
  import type { DecoratedProcedure, Procedure, ProcedureFunc } from './procedure';
4
5
  import type { HandledRouter, Router } from './router';
5
6
  import type { Context, MergeContext } from './types';
6
- import { ContractProcedure, type ContractRouter, type HTTPPath, type RouteOptions, type Schema, type SchemaInput, type SchemaOutput } from '@orpc/contract';
7
+ import { ContractProcedure } from '@orpc/contract';
7
8
  import { type DecoratedMiddleware, type MapInputMiddleware, type Middleware } from './middleware';
8
9
  import { ProcedureBuilder } from './procedure-builder';
9
10
  import { ProcedureImplementer } from './procedure-implementer';
@@ -25,7 +26,7 @@ export declare class Builder<TContext extends Context, TExtraContext extends Con
25
26
  /**
26
27
  * Convert to ContractProcedureBuilder
27
28
  */
28
- route(opts: RouteOptions): ProcedureBuilder<TContext, TExtraContext, undefined, undefined>;
29
+ route(route: RouteOptions): ProcedureBuilder<TContext, TExtraContext, undefined, undefined>;
29
30
  input<USchema extends Schema = undefined>(schema: USchema, example?: SchemaInput<USchema>): ProcedureBuilder<TContext, TExtraContext, USchema, undefined>;
30
31
  output<USchema extends Schema = undefined>(schema: USchema, example?: SchemaOutput<USchema>): ProcedureBuilder<TContext, TExtraContext, undefined, USchema>;
31
32
  /**
@@ -35,7 +36,7 @@ export declare class Builder<TContext extends Context, TExtraContext extends Con
35
36
  /**
36
37
  * Convert to ProcedureImplementer | RouterBuilder
37
38
  */
38
- contract<UContract extends ContractProcedure<any, any> | ContractRouter>(contract: UContract): UContract extends ContractProcedure<infer UInputSchema, infer UOutputSchema> ? ProcedureImplementer<TContext, TExtraContext, UInputSchema, UOutputSchema> : UContract extends ContractRouter ? ChainedRouterImplementer<TContext, UContract, TExtraContext> : never;
39
+ contract<UContract extends ANY_CONTRACT_PROCEDURE | ContractRouter>(contract: UContract): UContract extends ContractProcedure<infer UInputSchema, infer UOutputSchema> ? ProcedureImplementer<TContext, TExtraContext, UInputSchema, UOutputSchema> : UContract extends ContractRouter ? ChainedRouterImplementer<TContext, UContract, TExtraContext> : never;
39
40
  /**
40
41
  * Create ExtendedMiddleware
41
42
  */
@@ -12,10 +12,10 @@ export declare class RouterImplementer<TContext extends Context, TContract exten
12
12
  constructor(zz$ri: {
13
13
  contract: TContract;
14
14
  });
15
- router(router: RouterWithContract<TContext, TContract>): HandledRouter<RouterWithContract<TContext, TContract>>;
16
- lazy(loader: () => Promise<{
17
- default: RouterWithContract<TContext, TContract>;
18
- }>): DecoratedLazy<RouterWithContract<TContext, TContract>>;
15
+ router<U extends RouterWithContract<TContext, TContract>>(router: U): HandledRouter<U>;
16
+ lazy<U extends RouterWithContract<TContext, TContract>>(loader: () => Promise<{
17
+ default: U;
18
+ }>): DecoratedLazy<U>;
19
19
  }
20
20
  export type ChainedRouterImplementer<TContext extends Context, TContract extends ContractRouter, TExtraContext extends Context> = {
21
21
  [K in keyof TContract]: TContract[K] extends ContractProcedure<infer UInputSchema, infer UOutputSchema> ? ProcedureImplementer<TContext, TExtraContext, UInputSchema, UOutputSchema> : TContract[K] extends ContractRouter ? ChainedRouterImplementer<TContext, TContract[K], TExtraContext> : never;
@@ -1,7 +1,7 @@
1
1
  import type { ContractProcedure, ContractRouter, SchemaInput, SchemaOutput } from '@orpc/contract';
2
2
  import type { ANY_LAZY, DecoratedLazy, Lazy } from './lazy';
3
+ import type { DecoratedProcedure, Procedure } from './procedure';
3
4
  import type { Context } from './types';
4
- import { type DecoratedProcedure, type Procedure } from './procedure';
5
5
  export interface Router<TContext extends Context> {
6
6
  [k: string]: Procedure<TContext, any, any, any, any> | Lazy<Procedure<TContext, any, any, any, any>> | Router<TContext> | Lazy<Router<TContext>>;
7
7
  }
@@ -11,7 +11,6 @@ export type HandledRouter<TRouter extends Router<any>> = {
11
11
  export type RouterWithContract<TContext extends Context, TContract extends ContractRouter> = {
12
12
  [K in keyof TContract]: TContract[K] extends ContractProcedure<infer UInputSchema, infer UOutputSchema> ? Procedure<TContext, any, UInputSchema, UOutputSchema, any> | Lazy<Procedure<TContext, any, UInputSchema, UOutputSchema, any>> : TContract[K] extends ContractRouter ? RouterWithContract<TContext, TContract[K]> : never;
13
13
  };
14
- export declare function toContractRouter(router: ContractRouter | Router<any>): ContractRouter;
15
14
  export type InferRouterInputs<T extends Router<any>> = {
16
15
  [K in keyof T]: T[K] extends Procedure<any, any, infer UInputSchema, any, any> | Lazy<Procedure<any, any, infer UInputSchema, any, any>> ? SchemaInput<UInputSchema> : T[K] extends Router<any> ? InferRouterInputs<T[K]> : never;
17
16
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orpc/server",
3
3
  "type": "module",
4
- "version": "0.0.0-next.571d5d7",
4
+ "version": "0.0.0-next.57a6344",
5
5
  "license": "MIT",
6
6
  "homepage": "https://orpc.unnoq.com",
7
7
  "repository": {
@@ -34,16 +34,15 @@
34
34
  "dist"
35
35
  ],
36
36
  "peerDependencies": {
37
- "zod": ">=3.23.0",
38
- "@orpc/zod": "0.0.0-next.571d5d7"
37
+ "@orpc/zod": "0.0.0-next.57a6344"
39
38
  },
40
39
  "dependencies": {
41
- "@orpc/shared": "0.0.0-next.571d5d7",
42
- "@orpc/contract": "0.0.0-next.571d5d7",
43
- "@orpc/transformer": "0.0.0-next.571d5d7"
40
+ "@orpc/contract": "0.0.0-next.57a6344",
41
+ "@orpc/transformer": "0.0.0-next.57a6344",
42
+ "@orpc/shared": "0.0.0-next.57a6344"
44
43
  },
45
44
  "devDependencies": {
46
- "@orpc/openapi": "0.0.0-next.571d5d7"
45
+ "@orpc/openapi": "0.0.0-next.57a6344"
47
46
  },
48
47
  "scripts": {
49
48
  "build": "tsup --clean --sourcemap --entry.index=src/index.ts --entry.fetch=src/fetch/index.ts --format=esm --onSuccess='tsc -b --noCheck'",