@orpc/contract 2.0.0-beta.14 → 2.0.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -107,7 +107,6 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
107
107
  </tr>
108
108
  <tr>
109
109
  <td align="center"><a href="https://github.com/christ12938?ref=orpc" target="_blank" rel="noopener" title="christ12938"><img src="https://avatars.githubusercontent.com/u/25758598?v=4" width="139" alt="christ12938"/><br />christ12938</a></td>
110
- <td align="center"><a href="https://github.com/peter-adam-dy?ref=orpc" target="_blank" rel="noopener" title="Peter Adam"><img src="https://avatars.githubusercontent.com/u/132129459?u=4f3dbbb3b443990b56acb7d6a5d11ed2c555f6db&amp;v=4" width="139" alt="Peter Adam"/><br />Peter Adam</a></td>
111
110
  <td align="center"><a href="https://github.com/Ryanjso?ref=orpc" target="_blank" rel="noopener" title="Ryan Soderberg"><img src="https://avatars.githubusercontent.com/u/39172778?u=5ed913c31d57e7221b75784abcad48c7ebddde27&amp;v=4" width="139" alt="Ryan Soderberg"/><br />Ryan Soderberg</a></td>
112
111
  <td align="center"><a href="https://github.com/itigoore01?ref=orpc" target="_blank" rel="noopener" title="shota"><img src="https://avatars.githubusercontent.com/u/11831107?u=c976a6dc7e055eb026304c46c99100ed22b0c8e0&amp;v=4" width="139" alt="shota"/><br />shota</a></td>
113
112
  </tr>
@@ -168,6 +167,7 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
168
167
  <a href="https://github.com/nguyenlc1993?ref=orpc" target="_blank" rel="noopener" title="Lê Cao Nguyên"><img src="https://avatars.githubusercontent.com/u/13871971?u=83c8b69d9e35b589c4e1f066cc113b1d9461386f&amp;v=4" width="32" height="32" alt="Lê Cao Nguyên" /></a>
169
168
  <a href="https://github.com/wobsoriano?ref=orpc" target="_blank" rel="noopener" title="Robert Soriano"><img src="https://avatars.githubusercontent.com/u/13049130?u=6d72104182e7c9ed25934815313fb69107332111&amp;v=4" width="32" height="32" alt="Robert Soriano" /></a>
170
169
  <a href="https://github.com/SKostyukovich?ref=orpc" target="_blank" rel="noopener" title="SKostyukovich"><img src="https://avatars.githubusercontent.com/u/10700067?v=4" width="32" height="32" alt="SKostyukovich" /></a>
170
+ <a href="https://github.com/peter-adam-dy?ref=orpc" target="_blank" rel="noopener" title="Peter Adam"><img src="https://avatars.githubusercontent.com/u/132129459?u=4f3dbbb3b443990b56acb7d6a5d11ed2c555f6db&amp;v=4" width="32" height="32" alt="Peter Adam" /></a>
171
171
  <a href="https://github.com/FabworksHQ?ref=orpc" target="_blank" rel="noopener" title="Fabworks"><img src="https://avatars.githubusercontent.com/u/160179500?v=4" width="32" height="32" alt="Fabworks" /></a>
172
172
  <a href="https://github.com/NovakAnton?ref=orpc" target="_blank" rel="noopener" title="Novak Antonijevic"><img src="https://avatars.githubusercontent.com/u/157126729?u=ae49fa22292d55c0434ff0ca008206155b18663b&amp;v=4" width="32" height="32" alt="Novak Antonijevic" /></a>
173
173
  <a href="https://github.com/laduniestu?ref=orpc" target="_blank" rel="noopener" title="Laduni Estu Syalwa"><img src="https://avatars.githubusercontent.com/u/44757637?u=a2fc1ea8f7d827a96721176f79d30592d1c48059&amp;v=4" width="32" height="32" alt="Laduni Estu Syalwa" /></a>
package/dist/index.d.mts CHANGED
@@ -81,18 +81,6 @@ interface ContractCallerOptions<TClientContext extends ClientContext> extends Pi
81
81
  }
82
82
  declare function createContractCaller<TClientContext extends ClientContext>(link: ClientLink<TClientContext>, options?: ContractCallerOptions<TClientContext>): ContractCaller<TClientContext>;
83
83
 
84
- interface EventIteratorSchemaDetails {
85
- yieldSchema: AnySchema;
86
- returnSchema?: AnySchema;
87
- }
88
- /**
89
- * Define schema for an event iterator.
90
- *
91
- * @see {@link https://orpc.dev/docs/event-iterator#validate-event-iterator Validate Event Iterator Docs}
92
- */
93
- declare function eventIterator<TYieldIn, TYieldOut, TReturnIn = unknown, TReturnOut = unknown>(yieldSchema: Schema<TYieldIn, TYieldOut>, returnSchema?: Schema<TReturnIn, TReturnOut>): Schema<AsyncIteratorObject<TYieldIn, TReturnIn, void>, AsyncIteratorClass<TYieldOut, TReturnOut, void>>;
94
- declare function getEventIteratorSchemaDetails(schema: AnySchema | undefined): undefined | EventIteratorSchemaDetails;
95
-
96
84
  interface PathMetaPlugin<TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap> extends MetaPlugin<TInputSchema, TOutputSchema, TErrorMap> {
97
85
  name: '~path';
98
86
  }
@@ -159,6 +147,16 @@ declare function defineMeta<TName extends string, TData>(name: TName, merge: (in
159
147
  }) => TData | undefined
160
148
  ];
161
149
 
150
+ interface AsyncIteratorObjectSchemaDetails {
151
+ yieldSchema: AnySchema;
152
+ returnSchema?: AnySchema;
153
+ }
154
+ /**
155
+ * Define schema for an AsyncIteratorObject.
156
+ */
157
+ declare function asyncIteratorObject<TYieldIn, TYieldOut, TReturnIn = unknown, TReturnOut = unknown>(yieldSchema: Schema<TYieldIn, TYieldOut>, returnSchema?: Schema<TReturnIn, TReturnOut>): Schema<AsyncIteratorObject<TYieldIn, TReturnIn, void>, AsyncIteratorClass<TYieldOut, TReturnOut, void>>;
158
+ declare function getAsyncIteratorObjectSchemaDetails(schema: AnySchema | undefined): undefined | AsyncIteratorObjectSchemaDetails;
159
+
162
160
  type TypeRest<TInput, TOutput> = [map: (input: TInput) => Promisable<TOutput>] | (IsEqual<TInput, TOutput> extends true ? [] : never);
163
161
  /**
164
162
  * Create a schema for things can be trust without validation.
@@ -178,5 +176,5 @@ declare function type<TInput, TOutput = TInput>(...[map]: TypeRest<TInput, TOutp
178
176
  */
179
177
  declare function isSchemaIssue(issue: unknown): issue is SchemaIssue;
180
178
 
181
- export { AnyMetaPlugin, AnyProcedureContract, AnySchema, ContractBuilder, ErrorMap, InferSchemaInput, InferSchemaOutput, MergedSchema, Meta, MetaPlugin, ORPCErrorFromErrorMap, ProcedureContract, RouterContract, Schema, SchemaIssue, augmentContractRouter, createContractCaller, defineMeta, eventIterator, getEventIteratorSchemaDetails, getPathMeta, getProcedureContractOrThrow, getRouterContract, isSchemaIssue, mergeErrorMap, meta, minifyRouterContract, oc, reconcileORPCError, resolveMetaPlugins, type };
182
- export type { AugmentContractRouterOptions, AugmentedContractRouter, ContractCaller, ContractCallerOptions, EventIteratorSchemaDetails, InitialInputSchema, InitialOutputSchema, MergedErrorMap, PathMetaPlugin, ProcedureContractBuilderWithInput, ProcedureContractBuilderWithInputOutput, ProcedureContractBuilderWithOutput, ProcedureContractClient, RouterContractClient, TypeRest };
179
+ export { AnyMetaPlugin, AnyProcedureContract, AnySchema, ContractBuilder, ErrorMap, InferSchemaInput, InferSchemaOutput, MergedSchema, Meta, MetaPlugin, ORPCErrorFromErrorMap, ProcedureContract, RouterContract, Schema, SchemaIssue, asyncIteratorObject, augmentContractRouter, createContractCaller, defineMeta, asyncIteratorObject as eventIterator, getAsyncIteratorObjectSchemaDetails, getPathMeta, getProcedureContractOrThrow, getRouterContract, isSchemaIssue, mergeErrorMap, meta, minifyRouterContract, oc, reconcileORPCError, resolveMetaPlugins, type };
180
+ export type { AsyncIteratorObjectSchemaDetails, AugmentContractRouterOptions, AugmentedContractRouter, ContractCaller, ContractCallerOptions, InitialInputSchema, InitialOutputSchema, MergedErrorMap, PathMetaPlugin, ProcedureContractBuilderWithInput, ProcedureContractBuilderWithInputOutput, ProcedureContractBuilderWithOutput, ProcedureContractClient, RouterContractClient, TypeRest };
package/dist/index.d.ts CHANGED
@@ -81,18 +81,6 @@ interface ContractCallerOptions<TClientContext extends ClientContext> extends Pi
81
81
  }
82
82
  declare function createContractCaller<TClientContext extends ClientContext>(link: ClientLink<TClientContext>, options?: ContractCallerOptions<TClientContext>): ContractCaller<TClientContext>;
83
83
 
84
- interface EventIteratorSchemaDetails {
85
- yieldSchema: AnySchema;
86
- returnSchema?: AnySchema;
87
- }
88
- /**
89
- * Define schema for an event iterator.
90
- *
91
- * @see {@link https://orpc.dev/docs/event-iterator#validate-event-iterator Validate Event Iterator Docs}
92
- */
93
- declare function eventIterator<TYieldIn, TYieldOut, TReturnIn = unknown, TReturnOut = unknown>(yieldSchema: Schema<TYieldIn, TYieldOut>, returnSchema?: Schema<TReturnIn, TReturnOut>): Schema<AsyncIteratorObject<TYieldIn, TReturnIn, void>, AsyncIteratorClass<TYieldOut, TReturnOut, void>>;
94
- declare function getEventIteratorSchemaDetails(schema: AnySchema | undefined): undefined | EventIteratorSchemaDetails;
95
-
96
84
  interface PathMetaPlugin<TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap> extends MetaPlugin<TInputSchema, TOutputSchema, TErrorMap> {
97
85
  name: '~path';
98
86
  }
@@ -159,6 +147,16 @@ declare function defineMeta<TName extends string, TData>(name: TName, merge: (in
159
147
  }) => TData | undefined
160
148
  ];
161
149
 
150
+ interface AsyncIteratorObjectSchemaDetails {
151
+ yieldSchema: AnySchema;
152
+ returnSchema?: AnySchema;
153
+ }
154
+ /**
155
+ * Define schema for an AsyncIteratorObject.
156
+ */
157
+ declare function asyncIteratorObject<TYieldIn, TYieldOut, TReturnIn = unknown, TReturnOut = unknown>(yieldSchema: Schema<TYieldIn, TYieldOut>, returnSchema?: Schema<TReturnIn, TReturnOut>): Schema<AsyncIteratorObject<TYieldIn, TReturnIn, void>, AsyncIteratorClass<TYieldOut, TReturnOut, void>>;
158
+ declare function getAsyncIteratorObjectSchemaDetails(schema: AnySchema | undefined): undefined | AsyncIteratorObjectSchemaDetails;
159
+
162
160
  type TypeRest<TInput, TOutput> = [map: (input: TInput) => Promisable<TOutput>] | (IsEqual<TInput, TOutput> extends true ? [] : never);
163
161
  /**
164
162
  * Create a schema for things can be trust without validation.
@@ -178,5 +176,5 @@ declare function type<TInput, TOutput = TInput>(...[map]: TypeRest<TInput, TOutp
178
176
  */
179
177
  declare function isSchemaIssue(issue: unknown): issue is SchemaIssue;
180
178
 
181
- export { AnyMetaPlugin, AnyProcedureContract, AnySchema, ContractBuilder, ErrorMap, InferSchemaInput, InferSchemaOutput, MergedSchema, Meta, MetaPlugin, ORPCErrorFromErrorMap, ProcedureContract, RouterContract, Schema, SchemaIssue, augmentContractRouter, createContractCaller, defineMeta, eventIterator, getEventIteratorSchemaDetails, getPathMeta, getProcedureContractOrThrow, getRouterContract, isSchemaIssue, mergeErrorMap, meta, minifyRouterContract, oc, reconcileORPCError, resolveMetaPlugins, type };
182
- export type { AugmentContractRouterOptions, AugmentedContractRouter, ContractCaller, ContractCallerOptions, EventIteratorSchemaDetails, InitialInputSchema, InitialOutputSchema, MergedErrorMap, PathMetaPlugin, ProcedureContractBuilderWithInput, ProcedureContractBuilderWithInputOutput, ProcedureContractBuilderWithOutput, ProcedureContractClient, RouterContractClient, TypeRest };
179
+ export { AnyMetaPlugin, AnyProcedureContract, AnySchema, ContractBuilder, ErrorMap, InferSchemaInput, InferSchemaOutput, MergedSchema, Meta, MetaPlugin, ORPCErrorFromErrorMap, ProcedureContract, RouterContract, Schema, SchemaIssue, asyncIteratorObject, augmentContractRouter, createContractCaller, defineMeta, asyncIteratorObject as eventIterator, getAsyncIteratorObjectSchemaDetails, getPathMeta, getProcedureContractOrThrow, getRouterContract, isSchemaIssue, mergeErrorMap, meta, minifyRouterContract, oc, reconcileORPCError, resolveMetaPlugins, type };
180
+ export type { AsyncIteratorObjectSchemaDetails, AugmentContractRouterOptions, AugmentedContractRouter, ContractCaller, ContractCallerOptions, InitialInputSchema, InitialOutputSchema, MergedErrorMap, PathMetaPlugin, ProcedureContractBuilderWithInput, ProcedureContractBuilderWithInputOutput, ProcedureContractBuilderWithOutput, ProcedureContractClient, RouterContractClient, TypeRest };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { isTypescriptObject, toArray, set, get, ORPC_NAME, isAsyncIteratorObject, isPropertyKey } from '@orpc/shared';
2
2
  import { P as ProcedureContract, r as resolveMetaPlugins, m as mergeErrorMap, a as augmentContractRouter, V as ValidationError } from './shared/contract.CW-2wl1i.mjs';
3
3
  export { d as defineMeta, g as getProcedureContractOrThrow, b as getRouterContract, c as minifyRouterContract, e as reconcileORPCError } from './shared/contract.CW-2wl1i.mjs';
4
- import { createORPCClient, wrapEventIteratorPreservingMeta, ORPCError } from '@orpc/client';
4
+ import { createORPCClient, wrapAsyncIteratorPreservingEventMeta, ORPCError } from '@orpc/client';
5
5
 
6
6
  const HIDDEN_META_PLUGINS_SYMBOL = Symbol.for("ORPC_HIDDEN_META_PLUGINS");
7
7
  function getHiddenMetaPlugins(container) {
@@ -118,18 +118,18 @@ function createContractCaller(link, options = {}) {
118
118
  };
119
119
  }
120
120
 
121
- const EVENT_ITERATOR_SCHEMA_DETAILS_SYMBOL = Symbol.for("ORPC_EVENT_ITERATOR_SCHEMA_DETAILS");
122
- function eventIterator(yieldSchema, returnSchema) {
121
+ const ASYNC_ITERATOR_OBJECT_SCHEMA_DETAILS_SYMBOL = Symbol.for("ORPC_ASYNC_ITERATOR_OBJECT_SCHEMA_DETAILS");
122
+ function asyncIteratorObject(yieldSchema, returnSchema) {
123
123
  return {
124
124
  "~standard": {
125
- [EVENT_ITERATOR_SCHEMA_DETAILS_SYMBOL]: { yieldSchema, returnSchema },
125
+ [ASYNC_ITERATOR_OBJECT_SCHEMA_DETAILS_SYMBOL]: { yieldSchema, returnSchema },
126
126
  vendor: ORPC_NAME,
127
127
  version: 1,
128
128
  validate(iterator) {
129
129
  if (!isAsyncIteratorObject(iterator)) {
130
- return { issues: [{ message: "Expect event iterator", path: [] }] };
130
+ return { issues: [{ message: "Expect AsyncIteratorObject", path: [] }] };
131
131
  }
132
- const mapped = wrapEventIteratorPreservingMeta(iterator, {
132
+ const mapped = wrapAsyncIteratorPreservingEventMeta(iterator, {
133
133
  async mapResult(result) {
134
134
  const schema = result.done ? returnSchema : yieldSchema;
135
135
  if (!schema) {
@@ -137,11 +137,11 @@ function eventIterator(yieldSchema, returnSchema) {
137
137
  }
138
138
  const validated = await schema["~standard"].validate(result.value);
139
139
  if (validated.issues) {
140
- throw new ORPCError("EVENT_ITERATOR_VALIDATION_FAILED", {
141
- message: "Event iterator validation failed",
140
+ throw new ORPCError("ASYNC_ITERATOR_OBJECT_VALIDATION_FAILED", {
141
+ message: "AsyncIteratorObject validation failed",
142
142
  cause: new ValidationError({
143
143
  issues: validated.issues,
144
- message: "Event iterator validation failed",
144
+ message: "AsyncIteratorObject validation failed",
145
145
  invalidData: result.value
146
146
  })
147
147
  });
@@ -154,11 +154,11 @@ function eventIterator(yieldSchema, returnSchema) {
154
154
  }
155
155
  };
156
156
  }
157
- function getEventIteratorSchemaDetails(schema) {
157
+ function getAsyncIteratorObjectSchemaDetails(schema) {
158
158
  if (schema === void 0) {
159
159
  return void 0;
160
160
  }
161
- return schema["~standard"][EVENT_ITERATOR_SCHEMA_DETAILS_SYMBOL];
161
+ return schema["~standard"][ASYNC_ITERATOR_OBJECT_SCHEMA_DETAILS_SYMBOL];
162
162
  }
163
163
 
164
164
  function type(...[map]) {
@@ -190,4 +190,4 @@ function isSchemaIssue(issue) {
190
190
  return true;
191
191
  }
192
192
 
193
- export { ContractBuilder, HIDDEN_META_PLUGINS_SYMBOL, ProcedureContract, ValidationError, augmentContractRouter, createContractCaller, eventIterator, getEventIteratorSchemaDetails, getHiddenMetaPlugins, getPathMeta, isSchemaIssue, mergeErrorMap, meta, oc, resolveMetaPlugins, setHiddenMetaPlugins, type };
193
+ export { ContractBuilder, HIDDEN_META_PLUGINS_SYMBOL, ProcedureContract, ValidationError, asyncIteratorObject, augmentContractRouter, createContractCaller, asyncIteratorObject as eventIterator, getAsyncIteratorObjectSchemaDetails, getHiddenMetaPlugins, getPathMeta, isSchemaIssue, mergeErrorMap, meta, oc, resolveMetaPlugins, setHiddenMetaPlugins, type };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orpc/contract",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.14",
4
+ "version": "2.0.0-beta.15",
5
5
  "license": "MIT",
6
6
  "homepage": "https://orpc.dev",
7
7
  "repository": {
@@ -31,8 +31,8 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@standard-schema/spec": "^1.1.0",
34
- "@orpc/shared": "2.0.0-beta.14",
35
- "@orpc/client": "2.0.0-beta.14"
34
+ "@orpc/client": "2.0.0-beta.15",
35
+ "@orpc/shared": "2.0.0-beta.15"
36
36
  },
37
37
  "devDependencies": {
38
38
  "arktype": "^2.2.1",