@sx3/ultra 0.2.0 → 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 +1 -1
- package/dist/client.d.mts +6 -6
- package/dist/client.mjs +1 -1
- package/dist/cors.d.mts +1 -1
- package/dist/{middleware-pLpb5aaJ.d.mts → middleware-BXszEB7Z.d.mts} +12 -5
- package/dist/middleware.d.mts +1 -1
- package/dist/procedure.d.mts +2 -2
- package/dist/session.d.mts +1 -1
- package/dist/ultra.d.mts +2 -3
- package/package.json +1 -1
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-
|
|
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-
|
|
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
|
|
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> ?
|
|
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> ?
|
|
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> ?
|
|
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> ?
|
|
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/client.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{compress as e}from"./compression.mjs";function t(e,n=[]){return new Proxy(()=>{},{get(r,i){if(typeof i==`string`)return t(e,[...n,i])},apply(t,r,i){if(!n.length)throw Error(`Cannot call client root; select a procedure first`);let a=n.join(`/`),o=i[0],s=i[1];return e(a,o,s)}})}function n(...e){let t=new Headers;for(let n of e)n&&new Headers(n).forEach((e,n)=>t.set(n,e));return t}function r(e){return t(async(t,r,i)=>{let a={...e,...i},o=a?.timeout||1e4,s=new AbortController,c=a?.method||`POST`,l=`${a.baseUrl}/${t}`,u=n(e?.headers,a?.headers,i?.headers),d=null,f=setTimeout(()=>s.abort(`Timeout: ${o}`),o);switch(!0){case c===`GET`:{if(d=null,!r)break;if(typeof r!=`object`)throw Error(`GET requests params to be an object for query string generation`);let e=Object.entries(r).filter(([,e])=>e!=null).map(([e,t])=>[e,String(t)]),t=new URLSearchParams(e).toString();t&&(l+=`?${t}`);break}case r instanceof FormData:d=r;break;case typeof r==`string`:u.set(`Content-Type`,`text/plain`),d=r;break;default:u.set(`Content-Type`,`application/json`),d=JSON.stringify(r)}try{let e=await fetch(l,{method:c,...d&&{body:d},...a,signal:s.signal,headers:u});if(!e.ok)throw Error(`${e.statusText} ${e.status}`);let t=e.headers.get(`Content-Type`)||``;switch(!0){case e.status===204:return null;case t.startsWith(`application/json`):return await e.json();case t.startsWith(`text/`):return await e.text();default:return await e.blob()}}catch(e){throw e.name===`AbortError`?Error(`Request aborted: ${e.message}`):e}finally{clearTimeout(f)}})}function i(n){let
|
|
1
|
+
import{compress as e}from"./compression.mjs";function t(e,n=[]){return new Proxy(()=>{},{get(r,i){if(typeof i==`string`)return t(e,[...n,i])},apply(t,r,i){if(!n.length)throw Error(`Cannot call client root; select a procedure first`);let a=n.join(`/`),o=i[0],s=i[1];return e(a,o,s)}})}function n(...e){let t=new Headers;for(let n of e)n&&new Headers(n).forEach((e,n)=>t.set(n,e));return t}function r(e){return t(async(t,r,i)=>{let a={...e,...i},o=a?.timeout||1e4,s=new AbortController,c=a?.method||`POST`,l=`${a.baseUrl}/${t}`,u=n(e?.headers,a?.headers,i?.headers),d=null,f=setTimeout(()=>s.abort(`Timeout: ${o}`),o);switch(!0){case c===`GET`:{if(d=null,!r)break;if(typeof r!=`object`)throw Error(`GET requests params to be an object for query string generation`);let e=Object.entries(r).filter(([,e])=>e!=null).map(([e,t])=>[e,String(t)]),t=new URLSearchParams(e).toString();t&&(l+=`?${t}`);break}case r instanceof FormData:d=r;break;case typeof r==`string`:u.set(`Content-Type`,`text/plain`),d=r;break;default:u.set(`Content-Type`,`application/json`),d=JSON.stringify(r)}try{let e=await fetch(l,{method:c,...d&&{body:d},...a,signal:s.signal,headers:u});if(!e.ok)throw Error(`${e.statusText} ${e.status}`);let t=e.headers.get(`Content-Type`)||``;switch(!0){case e.status===204:return null;case t.startsWith(`application/json`):return await e.json();case t.startsWith(`text/`):return await e.text();default:return await e.blob()}}catch(e){throw e.name===`AbortError`?Error(`Request aborted: ${e.message}`):e}finally{clearTimeout(f)}})}function i(n){let{retryCount:r=3,retryDelay:i=1e3,batchSize:a=99,batchDelay:o=0,onBeforeSend:s,compression:c}=n,l=()=>Math.random().toString(36),u=[],d=null,f=(t=0)=>{if(d!==null&&(clearTimeout(d),d=null),!u.length)return;let a=n.socket();if(!a||a.readyState!==WebSocket.OPEN)return t>=r?u.forEach(e=>{clearTimeout(e.timeout),e.reject(`WebSocket is not open`)}):setTimeout(()=>f(t+1),i);let o=e=>{try{let t=JSON.parse(e.data),n=u.find(e=>e.id===t.id);if(!n)return;clearTimeout(n.timeout),`error`in t?n.reject(t.error):n.resolve(t.result),u.length||a.removeEventListener(`message`,o)}catch(e){console.error(`Client failed parse server message`,e)}};a.addEventListener(`message`,o),a.addEventListener(`close`,()=>{a.removeEventListener(`message`,o),setTimeout(f,i)});let l=[];for(let e of u)e.pending||(e.pending=!0,l.push({id:e.id,method:e.method,params:e.params}));let p=JSON.stringify(l);c&&p.length>=c?e(new TextEncoder().encode(p)).then(e=>a.send(s?.(e)??e)):a.send(s?.(p)??p)},p=(e,t)=>(...n)=>{let r=u.findIndex(t=>t.id===e);return r!==-1&&(clearTimeout(u[r].timeout),u.splice(r,1)),t(...n)};return t((e,t,r)=>{let i={timeout:1e4,...n,...r},{promise:s,resolve:c,reject:m}=Promise.withResolvers(),h=l();return u.push({id:h,method:e,params:t,options:i,resolve:p(h,c),reject:p(h,m),timeout:setTimeout(p(h,m),i.timeout),pending:!1}),u.length>=a?f():d===null&&(d=setTimeout(f,o)),s})}function a(e){return t((t,n,r)=>{let i=e.pick(t,n,r),a=t.split(`/`).filter(Boolean),o=i;for(let e of a)o[e]&&(o=o[e]);return o(n,r)})}export{r as createHTTPClient,a as createSuperClient,i as 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-
|
|
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
|
|
30
|
+
input<const NI>(schema: NI): Procedure<NI, O, C>;
|
|
24
31
|
/** Set procedure output validation schema or type */
|
|
25
|
-
output<const NO>(schema?:
|
|
32
|
+
output<const NO>(schema?: NO): Procedure<I, NO, C>;
|
|
26
33
|
/** Set procedure handler function */
|
|
27
|
-
handler<const ActualOutput>(handler: ProcedureHandler<I
|
|
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 {
|
|
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 };
|
package/dist/middleware.d.mts
CHANGED
package/dist/procedure.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import "./http-DW9-I0jB.mjs";
|
|
2
|
-
import { a as
|
|
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 };
|
package/dist/session.d.mts
CHANGED
|
@@ -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 {
|
|
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 {
|
|
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> = <
|
|
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?: {
|