@sx3/ultra 0.2.1 → 0.2.2

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/dist/auth.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { s as Promisable } from "./types-DDhVsVEu.mjs";
2
2
  import { n as DeriveRecord, t as BaseContext } from "./context-BdPiiQY2.mjs";
3
3
  import "./http-DW9-I0jB.mjs";
4
- import { t as Middleware } from "./middleware-pLpb5aaJ.mjs";
4
+ import { t as Middleware } from "./middleware-BXszEB7Z.mjs";
5
5
  import { ProceduresMap, Ultra } from "./ultra.mjs";
6
6
  import { SessionContext } from "./session.mjs";
7
7
 
package/dist/client.d.mts CHANGED
@@ -1,21 +1,21 @@
1
1
  import { l as Simplify } from "./types-DDhVsVEu.mjs";
2
2
  import "./context-BdPiiQY2.mjs";
3
3
  import "./http-DW9-I0jB.mjs";
4
- import { i as Procedure } from "./middleware-pLpb5aaJ.mjs";
4
+ import { i as GetOutput, o as Procedure, r as GetInput } from "./middleware-BXszEB7Z.mjs";
5
5
  import { ProceduresMap, Ultra } from "./ultra.mjs";
6
6
 
7
7
  //#region src/client.d.ts
8
8
  type SocketMessage = string | Blob | ArrayBufferLike | ArrayBufferView<ArrayBufferLike>;
9
9
  type GetProcedures<T$1> = T$1 extends Ultra<infer P, any, any> ? P : never;
10
- type ProcedureFunction<I$1, O$1, CO$1> = undefined extends I$1 ? (input?: I$1, invokeOptions?: CO$1) => Promise<O$1> : (input: I$1, invokeOptions?: CO$1) => Promise<O$1>;
11
- type BuildClient<P, CO$1> = Simplify<{ [K in keyof P]: P[K] extends ProceduresMap ? BuildClient<P[K], CO$1> : P[K] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO$1> : never }>;
10
+ type ClientFunction<I$1, O$1, IO> = undefined extends I$1 ? (input?: GetInput<I$1>, invokeOptions?: IO) => Promise<GetOutput<O$1>> : (input: GetInput<I$1>, invokeOptions?: IO) => Promise<GetOutput<O$1>>;
11
+ type BuildClient<P, CO$1> = Simplify<{ [K in keyof P]: P[K] extends ProceduresMap ? BuildClient<P[K], CO$1> : P[K] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO$1> : never }>;
12
12
  type Invoke<CO$1> = (method: string, params: any, invokeOptions?: CO$1) => Promise<unknown>;
13
13
  interface HTTPClientOptions extends Omit<RequestInit, 'body'> {
14
14
  baseUrl: string;
15
15
  /** @default 10 seconds */
16
16
  timeout?: number;
17
17
  }
18
- declare function createHTTPClient<U extends Ultra<any, any, any>>(clientOptions: HTTPClientOptions): Simplify<GetProcedures<U> extends infer T ? { [K in keyof T]: T[K] extends ProceduresMap ? Simplify<T[K] extends infer T_1 ? { [K_2 in keyof T_1]: T_1[K_2] extends ProceduresMap ? Simplify<T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]: T_2[K_3] extends ProceduresMap ? Simplify<T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]: T_3[K_4] extends ProceduresMap ? Simplify<T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]: T_4[K_5] extends ProceduresMap ? Simplify<T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]: T_5[K_6] extends ProceduresMap ? Simplify<T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]: T_6[K_7] extends ProceduresMap ? Simplify<T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]: T_7[K_8] extends ProceduresMap ? Simplify<T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]: T_8[K_9] extends ProceduresMap ? Simplify<T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]: T_9[K_10] extends ProceduresMap ? Simplify<T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]: T_10[K_11] extends ProceduresMap ? Simplify< /*elided*/any> : T_10[K_11] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_9[K_10] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_8[K_9] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_7[K_8] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_6[K_7] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_5[K_6] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_4[K_5] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_3[K_4] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_2[K_3] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_1[K_2] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T[K] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never>;
18
+ declare function createHTTPClient<U extends Ultra<any, any, any>>(clientOptions: HTTPClientOptions): Simplify<GetProcedures<U> extends infer T ? { [K in keyof T]: T[K] extends ProceduresMap ? Simplify<T[K] extends infer T_1 ? { [K_2 in keyof T_1]: T_1[K_2] extends ProceduresMap ? Simplify<T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]: T_2[K_3] extends ProceduresMap ? Simplify<T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]: T_3[K_4] extends ProceduresMap ? Simplify<T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]: T_4[K_5] extends ProceduresMap ? Simplify<T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]: T_5[K_6] extends ProceduresMap ? Simplify<T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]: T_6[K_7] extends ProceduresMap ? Simplify<T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]: T_7[K_8] extends ProceduresMap ? Simplify<T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]: T_8[K_9] extends ProceduresMap ? Simplify<T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]: T_9[K_10] extends ProceduresMap ? Simplify<T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]: T_10[K_11] extends ProceduresMap ? Simplify< /*elided*/any> : T_10[K_11] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_9[K_10] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_8[K_9] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_7[K_8] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_6[K_7] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_5[K_6] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_4[K_5] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_3[K_4] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_2[K_3] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_1[K_2] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T[K] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never>;
19
19
  interface WebSocketClientOptions {
20
20
  /** Socket getter */
21
21
  socket: () => WebSocket | null;
@@ -37,11 +37,11 @@ interface WebSocketClientOptions {
37
37
  /** Call before send, you can modify data */
38
38
  onBeforeSend?: (data: SocketMessage) => SocketMessage | void;
39
39
  }
40
- declare function createWebSocketClient<U extends Ultra<any, any, any>>(clientOptions: WebSocketClientOptions): Simplify<GetProcedures<U> extends infer T ? { [K in keyof T]: T[K] extends ProceduresMap ? Simplify<T[K] extends infer T_1 ? { [K_2 in keyof T_1]: T_1[K_2] extends ProceduresMap ? Simplify<T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]: T_2[K_3] extends ProceduresMap ? Simplify<T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]: T_3[K_4] extends ProceduresMap ? Simplify<T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]: T_4[K_5] extends ProceduresMap ? Simplify<T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]: T_5[K_6] extends ProceduresMap ? Simplify<T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]: T_6[K_7] extends ProceduresMap ? Simplify<T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]: T_7[K_8] extends ProceduresMap ? Simplify<T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]: T_8[K_9] extends ProceduresMap ? Simplify<T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]: T_9[K_10] extends ProceduresMap ? Simplify<T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]: T_10[K_11] extends ProceduresMap ? Simplify< /*elided*/any> : T_10[K_11] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_9[K_10] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_8[K_9] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_7[K_8] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_6[K_7] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_5[K_6] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_4[K_5] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_3[K_4] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_2[K_3] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_1[K_2] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T[K] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never>;
40
+ declare function createWebSocketClient<U extends Ultra<any, any, any>>(clientOptions: WebSocketClientOptions): Simplify<GetProcedures<U> extends infer T ? { [K in keyof T]: T[K] extends ProceduresMap ? Simplify<T[K] extends infer T_1 ? { [K_2 in keyof T_1]: T_1[K_2] extends ProceduresMap ? Simplify<T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]: T_2[K_3] extends ProceduresMap ? Simplify<T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]: T_3[K_4] extends ProceduresMap ? Simplify<T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]: T_4[K_5] extends ProceduresMap ? Simplify<T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]: T_5[K_6] extends ProceduresMap ? Simplify<T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]: T_6[K_7] extends ProceduresMap ? Simplify<T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]: T_7[K_8] extends ProceduresMap ? Simplify<T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]: T_8[K_9] extends ProceduresMap ? Simplify<T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]: T_9[K_10] extends ProceduresMap ? Simplify<T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]: T_10[K_11] extends ProceduresMap ? Simplify< /*elided*/any> : T_10[K_11] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_9[K_10] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_8[K_9] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_7[K_8] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_6[K_7] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_5[K_6] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_4[K_5] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_3[K_4] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_2[K_3] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_1[K_2] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T[K] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never>;
41
41
  type ClientsCallsParams = Partial<WebSocketClientOptions> | Partial<HTTPClientOptions>;
42
42
  interface SuperClientOptions<B extends Ultra<any, any, any>> {
43
43
  pick: (...args: Parameters<Invoke<ClientsCallsParams>>) => BuildClient<GetProcedures<B>, ClientsCallsParams>;
44
44
  }
45
- declare function createSuperClient<B extends Ultra<any, any, any>>(options: SuperClientOptions<B>): Simplify<GetProcedures<B> extends infer T ? { [K in keyof T]: T[K] extends ProceduresMap ? Simplify<T[K] extends infer T_1 ? { [K_2 in keyof T_1]: T_1[K_2] extends ProceduresMap ? Simplify<T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]: T_2[K_3] extends ProceduresMap ? Simplify<T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]: T_3[K_4] extends ProceduresMap ? Simplify<T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]: T_4[K_5] extends ProceduresMap ? Simplify<T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]: T_5[K_6] extends ProceduresMap ? Simplify<T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]: T_6[K_7] extends ProceduresMap ? Simplify<T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]: T_7[K_8] extends ProceduresMap ? Simplify<T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]: T_8[K_9] extends ProceduresMap ? Simplify<T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]: T_9[K_10] extends ProceduresMap ? Simplify<T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]: T_10[K_11] extends ProceduresMap ? Simplify< /*elided*/any> : T_10[K_11] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_9[K_10] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_8[K_9] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_7[K_8] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_6[K_7] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_5[K_6] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_4[K_5] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_3[K_4] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_2[K_3] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T_1[K_2] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never> : T[K] extends Procedure<infer I, infer O, any> ? ProcedureFunction<I, O, CO> : never } : never>;
45
+ declare function createSuperClient<B extends Ultra<any, any, any>>(options: SuperClientOptions<B>): Simplify<GetProcedures<B> extends infer T ? { [K in keyof T]: T[K] extends ProceduresMap ? Simplify<T[K] extends infer T_1 ? { [K_2 in keyof T_1]: T_1[K_2] extends ProceduresMap ? Simplify<T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]: T_2[K_3] extends ProceduresMap ? Simplify<T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]: T_3[K_4] extends ProceduresMap ? Simplify<T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]: T_4[K_5] extends ProceduresMap ? Simplify<T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]: T_5[K_6] extends ProceduresMap ? Simplify<T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]: T_6[K_7] extends ProceduresMap ? Simplify<T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]: T_7[K_8] extends ProceduresMap ? Simplify<T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]: T_8[K_9] extends ProceduresMap ? Simplify<T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]: T_9[K_10] extends ProceduresMap ? Simplify<T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]: T_10[K_11] extends ProceduresMap ? Simplify< /*elided*/any> : T_10[K_11] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_9[K_10] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_8[K_9] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_7[K_8] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_6[K_7] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_5[K_6] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_4[K_5] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_3[K_4] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_2[K_3] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T_1[K_2] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never> : T[K] extends Procedure<infer I, infer O, any> ? ClientFunction<I, O, CO> : never } : never>;
46
46
  //#endregion
47
47
  export { createHTTPClient, createSuperClient, createWebSocketClient };
package/dist/cors.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { t as BaseContext } from "./context-BdPiiQY2.mjs";
2
2
  import "./http-DW9-I0jB.mjs";
3
- import { t as Middleware } from "./middleware-pLpb5aaJ.mjs";
3
+ import { t as Middleware } from "./middleware-BXszEB7Z.mjs";
4
4
 
5
5
  //#region src/cors.d.ts
6
6
  interface CorsConfig {
@@ -1,6 +1,6 @@
1
1
  import { s as Promisable } from "./types-DDhVsVEu.mjs";
2
2
  import { r as HTTPMethod } from "./http-DW9-I0jB.mjs";
3
- import { c as StandardSchemaV1 } from "./validation-CBofLqUN.mjs";
3
+ import { c as StandardSchemaV1, n as InferInput, r as InferOutput } from "./validation-CBofLqUN.mjs";
4
4
 
5
5
  //#region src/procedure.d.ts
6
6
  interface ProcedureOptions<I, C> {
@@ -9,10 +9,17 @@ interface ProcedureOptions<I, C> {
9
9
  }
10
10
  /** Input: I, Output: O, Context: C */
11
11
  type ProcedureHandler<I, O, C> = (options: ProcedureOptions<I, C>) => Promisable<O>;
12
+ type GetInput<I> = I extends StandardSchemaV1 ? InferInput<I> : I;
13
+ type GetOutput<O> = O extends StandardSchemaV1 ? InferOutput<O> : O;
12
14
  interface HTTPOptions {
13
15
  enabled?: boolean;
14
16
  method?: HTTPMethod;
15
17
  }
18
+ /**
19
+ * @generic I is a Schema or raw value
20
+ * @generic O is a Schema or raw value
21
+ * @generic C is context
22
+ */
16
23
  declare class Procedure<I = unknown, O = unknown, C = unknown> {
17
24
  protected readonly middlewares: Set<Middleware<I, O, C>>;
18
25
  protected inputSchema?: StandardSchemaV1<I>;
@@ -20,11 +27,11 @@ declare class Procedure<I = unknown, O = unknown, C = unknown> {
20
27
  protected handlerFunction?: ProcedureHandler<I, O, C>;
21
28
  protected httpOptions?: HTTPOptions;
22
29
  /** Set procedure input validation schema or type */
23
- input<const NI>(schema?: StandardSchemaV1<NI>): Procedure<NI, O, C>;
30
+ input<const NI>(schema: NI): Procedure<NI, O, C>;
24
31
  /** Set procedure output validation schema or type */
25
- output<const NO>(schema?: StandardSchemaV1<NO>): Procedure<I, NO, C>;
32
+ output<const NO>(schema?: NO): Procedure<I, NO, C>;
26
33
  /** Set procedure handler function */
27
- handler<const ActualOutput>(handler: ProcedureHandler<I, unknown extends O ? ActualOutput : O, C>): Procedure<I, unknown extends O ? ActualOutput : O, C>;
34
+ handler<const ActualOutput>(handler: ProcedureHandler<GetOutput<I>, GetInput<unknown extends O ? ActualOutput : O>, C>): Procedure<I, unknown extends O ? ActualOutput : O, C>;
28
35
  /** Set HTTP options for the procedure */
29
36
  http(options?: HTTPOptions | boolean | HTTPMethod): Procedure<I, O, C>;
30
37
  /** Add middleware to the procedure */
@@ -50,4 +57,4 @@ interface MiddlewareOptions<I, O, C> extends ProcedureOptions<I, C> {
50
57
  }
51
58
  type Middleware<I, O, C> = (options: MiddlewareOptions<I, O, C>) => ReturnType<ProcedureHandler<I, O, C>>;
52
59
  //#endregion
53
- export { ProcedureHandler as a, Procedure as i, MiddlewareOptions as n, ProcedureOptions as o, HTTPOptions as r, Middleware as t };
60
+ export { HTTPOptions as a, ProcedureOptions as c, GetOutput as i, MiddlewareOptions as n, Procedure as o, GetInput as r, ProcedureHandler as s, Middleware as t };
@@ -1,3 +1,3 @@
1
1
  import "./http-DW9-I0jB.mjs";
2
- import { n as MiddlewareOptions, t as Middleware } from "./middleware-pLpb5aaJ.mjs";
2
+ import { n as MiddlewareOptions, t as Middleware } from "./middleware-BXszEB7Z.mjs";
3
3
  export { Middleware, MiddlewareOptions };
@@ -1,3 +1,3 @@
1
1
  import "./http-DW9-I0jB.mjs";
2
- import { a as ProcedureHandler, i as Procedure, o as ProcedureOptions, r as HTTPOptions } from "./middleware-pLpb5aaJ.mjs";
3
- export { HTTPOptions, Procedure, ProcedureHandler, ProcedureOptions };
2
+ import { a as HTTPOptions, c as ProcedureOptions, i as GetOutput, o as Procedure, r as GetInput, s as ProcedureHandler } from "./middleware-BXszEB7Z.mjs";
3
+ export { GetInput, GetOutput, HTTPOptions, Procedure, ProcedureHandler, ProcedureOptions };
@@ -1,7 +1,7 @@
1
1
  import { i as JSONObject, o as JSONValue, s as Promisable, t as DeepReadonly } from "./types-DDhVsVEu.mjs";
2
2
  import { n as DeriveRecord, t as BaseContext } from "./context-BdPiiQY2.mjs";
3
3
  import "./http-DW9-I0jB.mjs";
4
- import { i as Procedure } from "./middleware-pLpb5aaJ.mjs";
4
+ import { o as Procedure } from "./middleware-BXszEB7Z.mjs";
5
5
  import { ProceduresMap, Ultra } from "./ultra.mjs";
6
6
  import { BunRequest, CookieSameSite, RedisClient } from "bun";
7
7
 
package/dist/ultra.d.mts CHANGED
@@ -1,8 +1,7 @@
1
1
  import { l as Simplify } from "./types-DDhVsVEu.mjs";
2
2
  import { a as DeriveValue, i as DeriveUpgradeValue, l as ReplaceSocketData, n as DeriveRecord, o as GetDerived, s as GetDerivedUpgradeData, t as BaseContext } from "./context-BdPiiQY2.mjs";
3
3
  import { n as BunRoutes } from "./http-DW9-I0jB.mjs";
4
- import { c as StandardSchemaV1 } from "./validation-CBofLqUN.mjs";
5
- import { a as ProcedureHandler, i as Procedure, t as Middleware } from "./middleware-pLpb5aaJ.mjs";
4
+ import { o as Procedure, s as ProcedureHandler, t as Middleware } from "./middleware-BXszEB7Z.mjs";
6
5
  import { n as Payload } from "./rpc-BzGFmZuu.mjs";
7
6
  import { BunRequest, ErrorLike, Server, ServerWebSocket } from "bun";
8
7
 
@@ -22,7 +21,7 @@ interface ServerEventMap<SD> {
22
21
  }
23
22
  type ServerEventListener<SD, K extends keyof ServerEventMap<SD>> = (...args: ServerEventMap<SD>[K]) => any;
24
23
  type StartOptions<SD> = Partial<Bun.Serve.Options<SD>>;
25
- type InputFactory<C> = <I>(schema?: StandardSchemaV1<unknown, I>) => Procedure<I, unknown, C>;
24
+ type InputFactory<C> = <const NI>(schema?: NI) => Procedure<NI, unknown, C>;
26
25
  type ProcedureMapInitializer<R extends ProceduresMap, C> = (input: InputFactory<C>) => R;
27
26
  interface UltraOptions {
28
27
  http?: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sx3/ultra",
3
3
  "type": "module",
4
- "version": "0.2.1",
4
+ "version": "0.2.2",
5
5
  "private": false,
6
6
  "description": "Type-safe RPC over HTTP/WebSocket for Bun",
7
7
  "author": "SX3",