gemi 0.4.12 → 0.4.13
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/app/App.d.ts.map +1 -1
- package/dist/app/createFlatApiRoutes.d.ts +4 -2
- package/dist/app/createFlatApiRoutes.d.ts.map +1 -1
- package/dist/app/index.js +177 -177
- package/dist/bin/index.js +495 -65
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +37 -9
- package/dist/client/rpc.d.ts +3 -0
- package/dist/client/rpc.d.ts.map +1 -0
- package/dist/client/useMutation.d.ts +22 -6
- package/dist/client/useMutation.d.ts.map +1 -1
- package/dist/client/useQuery.d.ts +14 -4
- package/dist/client/useQuery.d.ts.map +1 -1
- package/dist/http/ApiRouter.d.ts +39 -42
- package/dist/http/ApiRouter.d.ts.map +1 -1
- package/dist/http/Controller.d.ts +5 -4
- package/dist/http/Controller.d.ts.map +1 -1
- package/dist/http/HttpRequest.d.ts +19 -5
- package/dist/http/HttpRequest.d.ts.map +1 -1
- package/dist/http/Router.d.ts +1 -1
- package/dist/http/Router.d.ts.map +1 -1
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +159 -157
- package/dist/internal/type-utils.d.ts +8 -0
- package/dist/internal/type-utils.d.ts.map +1 -0
- package/dist/server/index.js +460 -30
- package/package.json +2 -1
package/dist/client/index.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export { Mutation, FormError, useMutationStatus, ValidationErrors, } from "./Mut
|
|
|
6
6
|
export { Link, useLocation, useParams, useRouter } from "./ClientRouterContext";
|
|
7
7
|
export { init } from "./init";
|
|
8
8
|
export { createRoot } from "./createRoot";
|
|
9
|
+
export type { RPC } from "./rpc";
|
|
9
10
|
export { Image } from "./Image";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -33,29 +33,57 @@ function useUser() {
|
|
|
33
33
|
}, [auth == null ? void 0 : auth.user]);
|
|
34
34
|
return user;
|
|
35
35
|
}
|
|
36
|
-
function useQuery(url) {
|
|
36
|
+
function useQuery(url, options) {
|
|
37
37
|
const [data, setData] = useState(null);
|
|
38
38
|
const [loading, setLoading] = useState(true);
|
|
39
39
|
const [error, setError] = useState(null);
|
|
40
40
|
useEffect(() => {
|
|
41
|
-
|
|
41
|
+
async function execute() {
|
|
42
|
+
setLoading(true);
|
|
43
|
+
try {
|
|
44
|
+
const [, _url] = String(url).split(":");
|
|
45
|
+
const res = await fetch(`/api${url}`);
|
|
46
|
+
if (res.ok) {
|
|
47
|
+
const json = await res.json();
|
|
48
|
+
setData(json);
|
|
49
|
+
}
|
|
50
|
+
} catch (err) {
|
|
51
|
+
setError(JSON.stringify(err));
|
|
52
|
+
} finally {
|
|
53
|
+
setLoading(false);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
execute();
|
|
57
|
+
}, [url, options]);
|
|
42
58
|
return { data, loading, error };
|
|
43
59
|
}
|
|
44
|
-
function
|
|
45
|
-
|
|
46
|
-
const [
|
|
60
|
+
function applyParams(url, params = {}) {
|
|
61
|
+
let out = url;
|
|
62
|
+
for (const [key, value] of Object.entries(params)) {
|
|
63
|
+
out.replace(`:${key}?`, value);
|
|
64
|
+
out.replace(`:${key}`, value);
|
|
65
|
+
}
|
|
66
|
+
return out;
|
|
67
|
+
}
|
|
68
|
+
function useMutation(url, ...args) {
|
|
69
|
+
const [loading, setIsPending] = useState(false);
|
|
47
70
|
const [data, setData] = useState(null);
|
|
48
71
|
return {
|
|
49
72
|
data,
|
|
50
|
-
|
|
51
|
-
|
|
73
|
+
loading,
|
|
74
|
+
error: {},
|
|
75
|
+
trigger: async (input) => {
|
|
52
76
|
setIsPending(true);
|
|
53
|
-
const
|
|
77
|
+
const [inputs, _options] = args;
|
|
78
|
+
const params = "params" in inputs ? inputs.params : {};
|
|
79
|
+
const [method, _url] = String(url).split(":");
|
|
80
|
+
const finalUrl = applyParams(_url, params);
|
|
81
|
+
const response = await fetch(`/api${finalUrl}`, {
|
|
54
82
|
method,
|
|
55
83
|
headers: {
|
|
56
84
|
"Content-Type": "application/json"
|
|
57
85
|
},
|
|
58
|
-
...
|
|
86
|
+
...input ? { body: JSON.stringify(input) } : {}
|
|
59
87
|
});
|
|
60
88
|
const data2 = await response.json();
|
|
61
89
|
setData(data2);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../client/rpc.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;CAAG"}
|
|
@@ -1,8 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
isPending: boolean;
|
|
6
|
-
trigger: (args?: any) => Promise<any>;
|
|
1
|
+
import type { RPC } from "./rpc";
|
|
2
|
+
import type { ApiRouterHandler } from "../http/ApiRouter";
|
|
3
|
+
type Options = {
|
|
4
|
+
autoInvalidate?: boolean;
|
|
7
5
|
};
|
|
6
|
+
type MutationInputs<T> = T extends ApiRouterHandler<any, any, infer Params> ? {
|
|
7
|
+
params: Params;
|
|
8
|
+
query?: Record<string, any>;
|
|
9
|
+
} : never;
|
|
10
|
+
type Error = {};
|
|
11
|
+
type UnwrapPromise<T> = T extends Promise<infer U> ? U : T;
|
|
12
|
+
type Mutation<T> = T extends ApiRouterHandler<infer Input, infer Output, any> ? {
|
|
13
|
+
data: UnwrapPromise<Output>;
|
|
14
|
+
loading: boolean;
|
|
15
|
+
error: Error;
|
|
16
|
+
trigger: (input: Input) => Promise<UnwrapPromise<Output>>;
|
|
17
|
+
} : never;
|
|
18
|
+
type ParseParams<T> = T extends ApiRouterHandler<any, any, infer Params> ? Params : never;
|
|
19
|
+
export declare function useMutation<T extends keyof RPC>(url: T extends `GET:${string}` ? never : T, ...args: ParseParams<RPC[T]> extends Record<string, never> ? [
|
|
20
|
+
inputs?: Omit<MutationInputs<RPC[T]>, "params">,
|
|
21
|
+
options?: Partial<Options>
|
|
22
|
+
] : [inputs: MutationInputs<RPC[T]>, options?: Partial<Options>]): Mutation<RPC[T]>;
|
|
23
|
+
export {};
|
|
8
24
|
//# sourceMappingURL=useMutation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../client/useMutation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../client/useMutation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAY1D,KAAK,OAAO,GAAG;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,GAC9C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAC/C,KAAK,CAAC;AAEZ,KAAK,KAAK,GAAG,EAAE,CAAC;AAEhB,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3D,KAAK,QAAQ,CAAC,CAAC,IACb,CAAC,SAAS,gBAAgB,CAAC,MAAM,KAAK,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GACtD;IACE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;CAC3D,GACD,KAAK,CAAC;AAEZ,KAAK,WAAW,CAAC,CAAC,IAChB,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtE,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,EAC7C,GAAG,EAAE,CAAC,SAAS,OAAO,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,EAC1C,GAAG,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACtD;IACE,MAAM,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;CAC3B,GACD,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,GAC/D,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CA8BlB"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { RPC } from "./rpc";
|
|
2
|
+
import type { ApiRouterHandler } from "../http/ApiRouter";
|
|
3
|
+
interface Options<Input, Params> {
|
|
4
|
+
input: Input;
|
|
5
|
+
params: Params;
|
|
6
|
+
}
|
|
7
|
+
type QueryOptions<T> = T extends ApiRouterHandler<infer Input, any, infer Params> ? Options<Input, Params> : never;
|
|
8
|
+
type Error = {};
|
|
9
|
+
type QueryReturn<T> = T extends ApiRouterHandler<any, infer Output, any> ? {
|
|
10
|
+
data: Output;
|
|
3
11
|
loading: boolean;
|
|
4
|
-
error:
|
|
5
|
-
};
|
|
12
|
+
error: Error;
|
|
13
|
+
} : never;
|
|
14
|
+
export declare function useQuery<T extends keyof RPC>(url: T extends `GET:${string}` ? T : never, options: QueryOptions<RPC[T]>): QueryReturn<RPC[T]>;
|
|
15
|
+
export {};
|
|
6
16
|
//# sourceMappingURL=useQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../client/useQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../client/useQuery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,UAAU,OAAO,CAAC,KAAK,EAAE,MAAM;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,YAAY,CAAC,CAAC,IACjB,CAAC,SAAS,gBAAgB,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,GACtD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GACtB,KAAK,CAAC;AAEZ,KAAK,KAAK,GAAG,EAAE,CAAC;AAEhB,KAAK,WAAW,CAAC,CAAC,IAChB,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAC9C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAChD,KAAK,CAAC;AAEZ,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,EAC1C,GAAG,EAAE,CAAC,SAAS,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,EAC1C,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAC5B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CA0BrB"}
|
package/dist/http/ApiRouter.d.ts
CHANGED
|
@@ -1,48 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type
|
|
3
|
-
import type { App } from "../app/App";
|
|
1
|
+
import type { KeyAndValue, KeyAndValueToObject } from "../internal/type-utils";
|
|
2
|
+
import { Controller, type ControllerMethods } from "./Controller";
|
|
4
3
|
import { HttpRequest } from "./HttpRequest";
|
|
5
|
-
import {
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
type
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
method:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
prepare: Prepare;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
export type ApiRouteExec = (req: HttpRequest<unknown>, params: Record<string, string>, app: App) => Promise<DataResponse | ErrorResponse>;
|
|
25
|
-
type ApiRouteConfig = {
|
|
26
|
-
prepare: Prepare;
|
|
27
|
-
};
|
|
28
|
-
type CallbackHandler<T> = (req: HttpRequest) => Promise<T> | T;
|
|
29
|
-
export type ApiRouteChildren = Record<string, ApiRouteConfig | ApiRouteConfig[] | (new () => ApiRouter)>;
|
|
4
|
+
import type { MiddlewareReturnType } from "./Router";
|
|
5
|
+
type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
6
|
+
export type ApiRouterHandler<Input, Output, Params> = (req: HttpRequest<Input, Params>) => Output;
|
|
7
|
+
type CallbackHandler<Input, Output, Params> = (req: HttpRequest<Input, Params>) => Promise<Output> | Output;
|
|
8
|
+
type ParseRouteHandler<T extends new () => Controller, K extends ControllerMethods<T>, M extends HttpMethod> = InstanceType<T>[K] extends (req: HttpRequest<infer Input, infer Params>) => infer Output ? RouteHandler<M, Input, Output, Params> : never;
|
|
9
|
+
export declare class RouteHandler<M extends HttpMethod, Input, Output, Params> {
|
|
10
|
+
method: M;
|
|
11
|
+
private handler;
|
|
12
|
+
private methodName?;
|
|
13
|
+
middlewares: string[];
|
|
14
|
+
constructor(method: M, handler: CallbackHandler<Input, Output, Params> | (new () => Controller), methodName?: any);
|
|
15
|
+
run(req: HttpRequest<Input, Params>): any;
|
|
16
|
+
middleware(middlewareList: string[]): this;
|
|
17
|
+
}
|
|
18
|
+
type RouteHandlers = RouteHandler<any, any, any, any>[];
|
|
19
|
+
export type ApiRoutes = Record<string, RouteHandler<any, any, any, any> | RouteHandlers | typeof ApiRouter>;
|
|
30
20
|
export declare class ApiRouter {
|
|
31
|
-
routes:
|
|
21
|
+
routes: ApiRoutes;
|
|
32
22
|
middlewares: string[];
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
protected
|
|
37
|
-
protected
|
|
38
|
-
protected
|
|
39
|
-
protected
|
|
40
|
-
protected
|
|
41
|
-
protected
|
|
42
|
-
protected delete<
|
|
43
|
-
protected delete<T extends new (
|
|
44
|
-
protected patch<T>(controller: CallbackHandler<T>): ApiHandler<any>;
|
|
45
|
-
protected patch<T extends new (app: App) => Controller>(controller: T, methodName: ControllerMethods<T>): ApiHandler<T>;
|
|
23
|
+
middleware(_req: HttpRequest<any, any>): MiddlewareReturnType;
|
|
24
|
+
protected get<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"GET", Input, Output, Params>;
|
|
25
|
+
protected get<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "GET">;
|
|
26
|
+
protected post<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"POST", Input, Output, Params>;
|
|
27
|
+
protected post<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "POST">;
|
|
28
|
+
protected put<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"PUT", Input, Output, Params>;
|
|
29
|
+
protected put<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "PUT">;
|
|
30
|
+
protected patch<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"PATCH", Input, Output, Params>;
|
|
31
|
+
protected patch<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "PATCH">;
|
|
32
|
+
protected delete<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"DELETE", Input, Output, Params>;
|
|
33
|
+
protected delete<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "DELETE">;
|
|
46
34
|
}
|
|
35
|
+
type RouteHandlerParser<T, Prefix extends string = ""> = T extends RouteHandler<infer Method, infer Input, infer Output, infer Params> ? KeyAndValue<`${Method & string}:${Prefix & string}`, ApiRouterHandler<Input, Output, Params>> : never;
|
|
36
|
+
type RouteHandlersParser<T, Prefix extends string = ""> = T extends RouteHandlers ? {
|
|
37
|
+
[K in keyof RouteHandlers]: T[K] extends RouteHandler<infer Method, infer Input, infer Output, infer Params> ? KeyAndValue<`${Method & string}:${Prefix & string}`, ApiRouterHandler<Input, Output, Params>> : never;
|
|
38
|
+
}[number] : never;
|
|
39
|
+
type RouterInstanceParser<T extends new () => ApiRouter, Prefix extends string> = T extends new () => ApiRouter ? RouteParser<InstanceType<T>, `${Prefix & string}`> : never;
|
|
40
|
+
type RouteParser<T extends ApiRouter, Prefix extends PropertyKey = ""> = {
|
|
41
|
+
[K in keyof T["routes"]]: T["routes"][K] extends RouteHandler<any, any, any, any> ? RouteHandlerParser<T["routes"][K], `${Prefix & string}${K & string}`> : T["routes"][K] extends RouteHandlers ? RouteHandlersParser<T["routes"][K], `${Prefix & string}${K & string}`> : T["routes"][K] extends new () => ApiRouter ? RouterInstanceParser<T["routes"][K], `${Prefix & string}${K & string}`> : never;
|
|
42
|
+
}[keyof T["routes"]];
|
|
43
|
+
export type CreateRPC<T extends ApiRouter, Prefix extends PropertyKey = ""> = KeyAndValueToObject<RouteParser<T, Prefix>>;
|
|
47
44
|
export {};
|
|
48
45
|
//# sourceMappingURL=ApiRouter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { App } from "../app/App";
|
|
2
1
|
import type { HttpRequest } from "./HttpRequest";
|
|
3
2
|
export declare class Controller {
|
|
4
|
-
|
|
5
|
-
requests: Record<string, typeof HttpRequest<any>>;
|
|
3
|
+
requests: Record<string, typeof HttpRequest<any, any>>;
|
|
6
4
|
static kind: "controller";
|
|
7
|
-
constructor(
|
|
5
|
+
constructor();
|
|
8
6
|
}
|
|
7
|
+
export type ControllerMethods<T extends new () => Controller> = {
|
|
8
|
+
[K in keyof InstanceType<T>]: InstanceType<T>[K] extends Function ? K : never;
|
|
9
|
+
}[keyof InstanceType<T>];
|
|
9
10
|
//# sourceMappingURL=Controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../http/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../http/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,UAAU;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAM;IAE5D,MAAM,CAAC,IAAI,eAAyB;;CAGrC;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;KAC7D,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,13 +1,27 @@
|
|
|
1
|
-
declare class Input<T
|
|
2
|
-
|
|
1
|
+
declare class Input<T extends Record<string, any>> {
|
|
2
|
+
private data;
|
|
3
|
+
constructor(data: T);
|
|
4
|
+
get(key: keyof T): T[keyof T];
|
|
5
|
+
set(key: keyof T, value: T[keyof T]): void;
|
|
6
|
+
has(key: keyof T): boolean;
|
|
3
7
|
toJSON(): T;
|
|
4
8
|
}
|
|
5
|
-
|
|
9
|
+
type StringType = "string";
|
|
10
|
+
type NumberType = "number";
|
|
11
|
+
type BooleanType = "boolean";
|
|
12
|
+
type MinLengthType = `min:${number}`;
|
|
13
|
+
type MaxLengthType = `max:${number}`;
|
|
14
|
+
type RequiredType = "required";
|
|
15
|
+
type SchemaKey = StringType | NumberType | BooleanType | MinLengthType | MaxLengthType | RequiredType;
|
|
16
|
+
export type Schema<T extends Body> = Record<keyof T, Partial<Record<SchemaKey, string>>>;
|
|
17
|
+
export type Body = Record<string, any>;
|
|
18
|
+
export declare class HttpRequest<T extends Body = {}, Params = Record<string, never>> {
|
|
6
19
|
rawRequest: Request;
|
|
7
20
|
headers: Headers;
|
|
8
21
|
cookies: Map<string, string>;
|
|
9
|
-
|
|
10
|
-
|
|
22
|
+
schema: any;
|
|
23
|
+
params: Params;
|
|
24
|
+
constructor(req: Request, params: Params);
|
|
11
25
|
private parseBody;
|
|
12
26
|
private validateInput;
|
|
13
27
|
input(): Promise<Input<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"AAGA,cAAM,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"AAGA,cAAM,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,CAAC;IAEpB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAI7B,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAInC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;IAIhB,MAAM,IAAI,CAAC;CAGnB;AA4CD,KAAK,UAAU,GAAG,QAAQ,CAAC;AAC3B,KAAK,UAAU,GAAG,QAAQ,CAAC;AAC3B,KAAK,WAAW,GAAG,SAAS,CAAC;AAC7B,KAAK,aAAa,GAAG,OAAO,MAAM,EAAE,CAAC;AACrC,KAAK,aAAa,GAAG,OAAO,MAAM,EAAE,CAAC;AACrC,KAAK,YAAY,GAAG,UAAU,CAAC;AAC/B,KAAK,SAAS,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,aAAa,GACb,YAAY,CAAC;AAEjB,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,IAAI,IAAI,MAAM,CACzC,MAAM,CAAC,EACP,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CACnC,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvC,qBAAa,WAAW,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACnE,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,CAAC;IAEZ,MAAM,EAAE,MAAM,CAAC;gBAEV,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;YAgB1B,SAAS;IAyCvB,OAAO,CAAC,aAAa;IAsBR,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAI1B,SAAS,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB,CAAC;IAsBW,SAAS,CAAC,MAAM,EAAE,eAAe;CAM/C;AAED,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC"}
|
package/dist/http/Router.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../http/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../http/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,KAAK,gBAAgB,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAC5B,IAAI,GACJ,OAAO,CAAC,gBAAgB,CAAC,GACzB,gBAAgB,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG,CAC7B,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,GAAG,KACL,oBAAoB,CAAC;AAE1B,qBAAa,mBAAoB,SAAQ,mBAAmB;;IAM1D,OAAO;;;;;;;;;;;;;;MAaL;CACH;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAsB7C"}
|
package/dist/http/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Controller } from "./Controller";
|
|
2
|
-
export { ApiRouter } from "./ApiRouter";
|
|
2
|
+
export { ApiRouter, type CreateRPC } from "./ApiRouter";
|
|
3
3
|
export { ViewRouter } from "./ViewRouter";
|
|
4
4
|
export { ValidationError, AuthenticationError } from "./Router";
|
|
5
5
|
export { HttpRequest } from "./HttpRequest";
|
package/dist/http/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
|