gemi 0.4.41 → 0.4.42
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 +1 -0
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/createFlatApiRoutes.d.ts +6 -4
- package/dist/app/createFlatApiRoutes.d.ts.map +1 -1
- package/dist/app/createFlatViewRoutes.d.ts +6 -4
- package/dist/app/createFlatViewRoutes.d.ts.map +1 -1
- package/dist/app/index.js +65 -65
- package/dist/chunk-00935722c776a294.js +2 -0
- package/dist/chunk-030b4fb955329860.js +16 -0
- package/dist/chunk-08539d08fa7362f7.js +2 -0
- package/dist/chunk-09dd89e1046786a5.js +2 -0
- package/dist/chunk-29c46abebbc0f09b.js +2 -0
- package/dist/chunk-2b3eabd01b2ae3f8.js +2 -0
- package/dist/chunk-2f6867d08b95f2d2.js +2 -0
- package/dist/chunk-3567e8e424a60c99.js +18 -0
- package/dist/chunk-3a3092db69408490.js +2 -0
- package/dist/chunk-3aecba8553e036bf.js +6 -0
- package/dist/chunk-40c21fe243675250.js +2 -0
- package/dist/chunk-488b4db0c522d44a.js +1 -0
- package/dist/chunk-4960e27e19bbe42a.js +2 -0
- package/dist/chunk-51bad63147c3be4e.js +6 -0
- package/dist/chunk-584e33c96b1a78e4.js +2 -0
- package/dist/chunk-61abf77c3eee8698.js +2 -0
- package/dist/chunk-68af0a6f6be163ce.js +2 -0
- package/dist/chunk-6a28d299b5726bba.js +2 -0
- package/dist/chunk-6e415d0e12fc9539.js +1 -0
- package/dist/chunk-76a525af0575486d.js +5 -0
- package/dist/chunk-798f550643937b6d.js +2 -0
- package/dist/chunk-7ce930fe69575c87.js +2 -0
- package/dist/chunk-7e9d5eea3aa359ad.js +2 -0
- package/dist/chunk-7ffe2ce59a054e35.js +2 -0
- package/dist/chunk-8133ed564834cff3.js +2 -0
- package/dist/chunk-81ce9b491b290639.js +1 -0
- package/dist/chunk-8a993922ea970923.js +2 -0
- package/dist/chunk-901e700a2c2d43f3.js +18 -0
- package/dist/chunk-9326224d1e4c1a64.js +2 -0
- package/dist/chunk-9501e589e3e86a96.js +2 -0
- package/dist/chunk-a2fcc46e344ae7ae.js +2 -0
- package/dist/chunk-a3f85d0d3261ae44.js +9 -0
- package/dist/chunk-a693f8ec2e8af8ca.js +2 -0
- package/dist/chunk-b05e4833f4bb2f8f.js +9 -0
- package/dist/chunk-b3bfe533d66f6a17.js +2 -0
- package/dist/chunk-b5d6eb761760b2a7.js +6 -0
- package/dist/chunk-b7b365f7e6038104.js +2 -0
- package/dist/chunk-be095501304df604.js +9 -0
- package/dist/chunk-bfccfb070c1630e9.js +2 -0
- package/dist/chunk-c041f058dc3d571b.js +1 -0
- package/dist/chunk-c0bd8e19395d722b.js +2 -0
- package/dist/chunk-c124bf801cec12d9.js +2 -0
- package/dist/chunk-c153b192112b0d44.js +2 -0
- package/dist/chunk-c72bfaa252a03f6f.js +2 -0
- package/dist/chunk-c85fc7168a708cb6.js +3 -0
- package/dist/chunk-d0806df6defd9dce.js +2 -0
- package/dist/chunk-d2e057b6f3f9d500.js +2 -0
- package/dist/chunk-d33a0e61ccf1bab5.js +2 -0
- package/dist/chunk-da1c673d9685624e.js +2 -0
- package/dist/chunk-dcc432bd72fb7e46.js +3 -0
- package/dist/chunk-dfc390f0bbdf5a81.js +1 -0
- package/dist/chunk-e53fdd0a1888c5e8.js +2 -0
- package/dist/chunk-e9695f3cdafee20b.js +2 -0
- package/dist/chunk-edeefd833c30a5ed.js +2 -0
- package/dist/chunk-f08ca4bd263b132b.js +2 -0
- package/dist/chunk-ffe161a589b4c44b.js +1 -0
- package/dist/client/ClientRouter.d.ts.map +1 -1
- package/dist/client/ClientRouterContext.d.ts +1 -0
- package/dist/client/ClientRouterContext.d.ts.map +1 -1
- package/dist/client/ServerDataProvider.d.ts +2 -0
- package/dist/client/ServerDataProvider.d.ts.map +1 -1
- package/dist/client/auth/useForgotPassword.d.ts.map +1 -1
- package/dist/client/auth/useResetPassword.d.ts.map +1 -1
- package/dist/client/auth/useSignIn.d.ts.map +1 -1
- package/dist/client/auth/useSignOut.d.ts.map +1 -1
- package/dist/client/auth/useUser.d.ts.map +1 -1
- package/dist/client/i18n/I18nContext.d.ts +18 -0
- package/dist/client/i18n/I18nContext.d.ts.map +1 -0
- package/dist/client/i18n/useLocale.d.ts +2 -0
- package/dist/client/i18n/useLocale.d.ts.map +1 -0
- package/dist/client/i18n/useScopedTranslator.d.ts +8 -0
- package/dist/client/i18n/useScopedTranslator.d.ts.map +1 -0
- package/dist/client/i18n/useTranslator.d.ts +2 -0
- package/dist/client/i18n/useTranslator.d.ts.map +1 -0
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +221 -68
- package/dist/client/rpc.d.ts +6 -5
- package/dist/client/rpc.d.ts.map +1 -1
- package/dist/client/types.d.ts +1 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/useRouter.d.ts.map +1 -1
- package/dist/client/useSearchParams.d.ts +20 -1
- package/dist/client/useSearchParams.d.ts.map +1 -1
- package/dist/email/index.js +1 -1
- package/dist/facades/I18n.d.ts +5 -0
- package/dist/facades/I18n.d.ts.map +1 -0
- package/dist/facades/index.d.ts +1 -0
- package/dist/facades/index.d.ts.map +1 -1
- package/dist/facades/index.js +1 -1
- package/dist/http/HttpRequest.d.ts +2 -0
- package/dist/http/HttpRequest.d.ts.map +1 -1
- package/dist/http/I18nServiceContainer.d.ts +31 -0
- package/dist/http/I18nServiceContainer.d.ts.map +1 -0
- package/dist/http/I18nServiceProvider.d.ts +10 -0
- package/dist/http/I18nServiceProvider.d.ts.map +1 -0
- package/dist/http/index.d.ts +1 -0
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/http/requestContext.d.ts +2 -0
- package/dist/http/requestContext.d.ts.map +1 -1
- package/dist/kernel/Kernel.d.ts +5 -0
- package/dist/kernel/Kernel.d.ts.map +1 -1
- package/dist/kernel/context.d.ts +6 -2
- package/dist/kernel/context.d.ts.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/server/index.js +1 -1
- package/dist/storage/index.js +4 -4
- package/dist/utils/type.d.ts +1 -0
- package/dist/utils/type.d.ts.map +1 -1
- package/dist/vite/index.js +1 -1
- package/package.json +1 -1
package/dist/facades/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{f as
|
|
2
|
+
import{f as R,g as d,k as m,m as o} from"../http/index.js";import"../chunk-7ce930fe69575c87.js";class p{static async user(){const a=d.getStore(),c=a.req.cookies.get("access_token");let r=a.user;if(!r)r=(await m.getStore().authenticationServiceProvider.adapter.findSession({token:c,userAgent:a.req.headers.get("User-Agent")}))?.user,a.setUser(r);if(r)return r;return null}static async guard(a){const c=await p.user();if(!c)throw new o;try{if(!await a(c))throw new o}catch(r){throw new o}}static async guardSafe(a){const c=await p.user();if(!c)return!1;try{return await a(c)}catch(r){return!1}}}class i extends R{constructor(a){super("Redirect error");this.name="RedirectError",this.payload={api:{status:302,data:{error:"Redirect error"}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:a}}}}}class w{static to(a){throw new i(a)}}class l{static scope(a){return a}}export{w as Redirect,l as I18n,p as Auth};export{p as q};
|
|
@@ -23,9 +23,11 @@ export declare class HttpRequest<T extends Body = Record<string, never>, Params
|
|
|
23
23
|
params: Params;
|
|
24
24
|
ctx: {
|
|
25
25
|
cookies: Set<import("./Cookie").Cookie>;
|
|
26
|
+
headers: Headers;
|
|
26
27
|
user: any;
|
|
27
28
|
req: HttpRequest | null;
|
|
28
29
|
setCookie(name: string, value: string, options?: import("./Cookie").CreateCookieOptions): void;
|
|
30
|
+
setHeaders(name: string, value: string): void;
|
|
29
31
|
setUser(user: any): void;
|
|
30
32
|
setRequest(req: HttpRequest<any, any>): void;
|
|
31
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"AAIA,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,CACtB,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,CAAM;IAEjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG
|
|
1
|
+
{"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"AAIA,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,CACtB,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,CAAM;IAEjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG;;;;;;;;;MAA6B;gBAE3B,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAgBjC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;YAI7C,SAAS;IAwCvB,OAAO,CAAC,aAAa;IAoCR,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAS1B,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;CAG/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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ApiRouter } from "./ApiRouter";
|
|
2
|
+
import { HttpRequest } from "./HttpRequest";
|
|
3
|
+
import { I18nServiceProvider } from "./I18nServiceProvider";
|
|
4
|
+
declare class Router extends ApiRouter {
|
|
5
|
+
routes: {
|
|
6
|
+
"/translations": import("./ApiRouter").RouteHandler<"GET", {
|
|
7
|
+
scope: string;
|
|
8
|
+
locale?: string;
|
|
9
|
+
}, {
|
|
10
|
+
[x: string]: {
|
|
11
|
+
[x: string]: any;
|
|
12
|
+
};
|
|
13
|
+
}, Record<string, never>>;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare class I18nServiceContainer {
|
|
17
|
+
private service;
|
|
18
|
+
constructor(service: I18nServiceProvider);
|
|
19
|
+
translations: Map<any, any>;
|
|
20
|
+
supportedLocales: string[];
|
|
21
|
+
routers: {
|
|
22
|
+
api: typeof Router;
|
|
23
|
+
};
|
|
24
|
+
boot(): void;
|
|
25
|
+
detectLocale(req: HttpRequest<any, any>): string;
|
|
26
|
+
getPageTranslations(locale: string, scope: string): {
|
|
27
|
+
[x: string]: any;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=I18nServiceContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"I18nServiceContainer.d.ts","sourceRoot":"","sources":["../../http/I18nServiceContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,cAAM,MAAO,SAAQ,SAAS;IAC5B,MAAM;;mBAE+B,MAAM;qBAAW,MAAM;;;;;;MA6B1D;CACH;AAED,qBAAa,oBAAoB;IACnB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEhD,YAAY,gBAAa;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAChC,OAAO;;MAEL;IAEF,IAAI;IA0BJ,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;IA2BvC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;CAsBlD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HttpRequest } from "./HttpRequest";
|
|
2
|
+
import type { Translations } from "../client/i18n/I18nContext";
|
|
3
|
+
export declare class I18nServiceProvider {
|
|
4
|
+
dictionary: Translations;
|
|
5
|
+
supportedLocales: string[];
|
|
6
|
+
defaultLocale: string;
|
|
7
|
+
init(): Promise<void>;
|
|
8
|
+
detectLocale(_req: HttpRequest): string;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=I18nServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"I18nServiceProvider.d.ts","sourceRoot":"","sources":["../../http/I18nServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,qBAAa,mBAAmB;IAC9B,UAAU,EAAE,YAAY,CAAM;IAC9B,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAChC,aAAa,SAAW;IAElB,IAAI;IAEV,YAAY,CAAC,IAAI,EAAE,WAAW;CAG/B"}
|
package/dist/http/index.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export { AuthenticationMiddleware } from "./AuthenticationMiddlware";
|
|
|
11
11
|
export { PoliciesServiceProvider } from "./PoliciesServiceProvider";
|
|
12
12
|
export { Policies } from "./Policy";
|
|
13
13
|
export { AuthenticationError, AuthorizationError, InsufficientPermissionsError, } from "./errors";
|
|
14
|
+
export { I18nServiceProvider } from "./I18nServiceProvider";
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
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,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,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;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,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;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/http/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../chunk-
|
|
2
|
+
import"../chunk-7ce930fe69575c87.js";class h{requests={};static kind="controller";constructor(){}}class f extends h{constructor(){super(...arguments)}}function H(e){return typeof e==="function"&&e.prototype!==void 0}var v=function(e){return H(e)};class l{e;t;r;middlewares=[];constructor(e,t,r){this.method=e;this.handler=t;this.methodName=r;this.handler=t,this.methodName=r,this.method=e}run(e){let t=e;if(v(this.handler)){const r=new this.handler,n=r[this.methodName].bind(r);return t=r.requests[this.methodName]?new r.requests[this.methodName](e.rawRequest,e.params):t,n(t)}else return this.handler(e)}middleware(e){return this.middlewares=e,this}}class g{constructor(...e){return new l(...e)}}class x{routes={};middlewares=[];middleware(e){}get(e,t){return new l("GET",e,t)}post(e,t){return new l("POST",e,t)}put(e,t){return new l("PUT",e,t)}patch(e,t){return new l("PATCH",e,t)}delete(e,t){return new l("DELETE",e,t)}resource(e){class t extends x{constructor(){super(...arguments)}routes={"/":{list:this.get(e,"list"),create:this.post(e,"create")},"/:id":{show:this.get(e,"show"),update:this.put(e,"update"),delete:this.delete(e,"delete")}}}return t}file(e,t){return new g("GET",e,t)}}class K{e;middlewares=[];handler;constructor(e,t){this.viewPath=e;if(!t)this.handler=()=>({});else if(typeof t==="function")this.handler=t;else{const[r,n]=t,s=new r,o=s[n].bind(s);this.handler=(a)=>{let i=a;return i=s.requests[n]?new s.requests[n](a.rawRequest,a.params):i,o(a)}}}async run(e){return{[this.viewPath]:await this.handler(e)}}middleware(e){return this.middlewares=e,this}}class O{e;children;middlewares=[];handler=()=>({});constructor(e,t,r){this.viewPath=e;if(typeof t==="function")this.handler=t,this.children=class extends d{routes=r??{}};else if(Array.isArray(t)){const[n,s]=t,o=new n,a=o[s].bind(o);this.handler=(i)=>{let C=i;return C=o.requests[s]?new o.requests[s](i.rawRequest,i.params):C,a(i)},this.children=class extends d{routes=r??{}}}else this.children=class extends d{routes=t},this.handler=()=>({})}async run(e){return{[this.viewPath]:await this.handler(e)}}middleware(e){return this.middlewares=e,this}}class d{middlewares=[];routes={};view(e,t){return new K(e,t)}layout(e,t,r){return new O(e,t,r)}}var W="GEMI_REQUEST_BREAKER_ERROR";class u extends Error{constructor(){super(...arguments)}kind="GEMI_REQUEST_BREAKER_ERROR";payload={api:{},view:{}}}class p extends u{errors={};constructor(e){super("Validation error");this.name="ValidationError",this.errors=e,this.payload={api:{status:400,data:{error:{kind:"validation_error",messages:e}},headers:{"Content-Type":"application/json"}},view:{status:400}}}}import{AsyncLocalStorage as L} from"async_hooks";class P{e;t;r;constructor(e,t,r={}){this.name=e;this.value=t;this.options=r}toString(){return[`${this.name}=${this.value}`,this.options.maxAge?`Max-Age=${this.options.maxAge}`:"",this.options.httpOnly?"HttpOnly":"",this.options.secure?"Secure":"",this.options.sameSite?`SameSite=${this.options.sameSite}`:"SameSite=Strict",this.options.path?`Path=${this.options.path}`:"Path=/",this.options.domain?`Domain=${this.options.domain}`:"",this.options.expires?`Expires=${this.options.expires.toUTCString()}`:"",this.options.partitioned?"Partitioned":""].filter((e)=>e!=="").join("; ")}}var m=new L;class I{cookies=new Set;headers=new Headers;user=null;req=null;constructor(){}setCookie(e,t,r={}){this.cookies.add(new P(e,t,r))}setHeaders(e,t){this.headers.set(e,t)}setUser(e){this.user=e}setRequest(e){this.req=e}}class c{static getStore(){return m.getStore()}static setRequest(e){m.getStore().req=e}static async run(e){return m.run(new I,e)}}var U=function(e){const[t,r]=e.split(":");switch(t){case"required":return(n)=>{return n!==null&&n!==void 0&&n?.length>0};case"password":return(n)=>{return/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(n)};case"number":return(n)=>{if(typeof n!=="number")return!1;return!isNaN(n)};case"min":return(n)=>{return n?.length>=parseInt(r)};case"max":return(n)=>{return n?.length<=parseInt(r)};case"email":return(n)=>{return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(n)};default:return()=>!0}};class R{e;constructor(e){this.data=e}get(e){return this.data[e]}set(e,t){this.data[e]=t}has(e){return this.data[e]!==void 0}toJSON(){return this.data}}class M{rawRequest;headers;cookies;schema={};params;ctx=c.getStore();constructor(e,t){this.params=t,this.rawRequest=e,this.headers=e.headers;const r=this.rawRequest.headers.get("Cookie"),n=new Map;if(r){const s=r.split(";");for(let o of s){const[a,i]=o.split("=");n.set(a.trim(),i.trim())}}this.cookies=n}refine(e){return{}}async parseBody(){const e=new R({});if(this.rawRequest.headers.get("Content-Type")==="application/json"){const t=await this.rawRequest.json();for(let[r,n]of Object.entries(t))e.set(r,n)}if(this.rawRequest.headers.get("Content-Type")==="application/x-www-form-urlencoded"){const t=await this.rawRequest.formData();for(let[r,n]of t)e.set(r,n)}if(this.rawRequest.headers.get("Content-Type").startsWith("multipart/form-data")){const t=await this.rawRequest.formData();for(let[r,n]of t)if(e.has(r)){const s=e.get(r);if(Array.isArray(s))s.push(n),e.set(r,s);else e.set(r,[s,n])}else e.set(r,n)}return e}validateInput(e){const t={};for(let[r,n]of Object.entries(this.schema))for(let[s,o]of Object.entries(n))if(!U(s)(e.get(r))){if(!t[r])t[r]=[];if(s==="required"){t[r]=[String(o)];break}else t[r].push(String(o))}for(let[r,n]of Object.entries(this.refine(e.toJSON())??{})){if(!t[r])t[r]=[];t[r]=[...t[r],n]}if(Object.keys(t).length>0)throw new p(t);else return e}async input(){if(this.rawRequest.method==="GET"){const e=new URL(this.rawRequest.url),t=Object.fromEntries(e.searchParams.entries());return this.validateInput(new R(t))}return this.validateInput(await this.parseBody())}async safeInput(){const e=await this.parseBody();try{return this.validateInput(e),{isValid:!0,errors:{},input:e}}catch(t){if(!(t instanceof p))throw t;return{isValid:!1,errors:t.errors,input:e}}}async terminate(e){throw"not implemented"}}class T{async run(e){return{}}}function _(e){const t=e.headers.get("cookie");if(!t)return new Map;const r=new Map,n=t.split(";");for(let s of n){const[o,a]=s.split("=");r.set(o.trim(),a)}return r}class b{aliases={}}import{AsyncLocalStorage as D} from"async_hooks";var q=new D;class w{static getStore=()=>q.getStore()}class E extends u{error;constructor(e="Not authorized"){super("Authentication error");this.name="AuthenticationError",this.error=e,this.payload={api:{status:401,data:{error:this.error}},view:{}}}}class A extends u{error;constructor(e="Insufficient permissions"){super("Authentication error");this.name="AuthenticationError",this.error=e,this.payload={api:{status:401,data:{error:this.error}},view:{}}}}class y extends u{constructor(){super("Authentication error");this.name="AuthenticationError"}payload={api:{status:401,data:{error:"Authentication error"}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:"/auth/sign-in"}}}}class S extends T{constructor(){super(...arguments)}async run(e){const t=c.getStore(),r=t.req.cookies.get("access_token");if(!r)throw new y;let n=t.user;if(!n){const s=await w.getStore().authenticationServiceProvider.adapter.findSession({token:r,userAgent:t.req.headers.get("User-Agent")});if(!s)throw new y;n=s?.user,t.setUser(n)}return{}}}class V{policiesList={};constructor(){const e=this.register();for(let t of e){const r=new t;this.policiesList[t.name]=r}}register(){return[]}}class k{all(e,t){return!0}}class ${dictionary={};supportedLocales=[];defaultLocale="en-US";async init(){}detectLocale(e){return this.defaultLocale}}export{_ as getCookies,d as ViewRouter,p as ValidationError,f as ResourceController,u as RequestBreakerError,V as PoliciesServiceProvider,k as Policies,b as MiddlewareServiceProvider,T as Middleware,A as InsufficientPermissionsError,$ as I18nServiceProvider,M as HttpRequest,h as Controller,E as AuthorizationError,S as AuthenticationMiddleware,y as AuthenticationError,x as ApiRouter};export{h as a,H as b,x as c,d,W as e,u as f,c as g,M as h,b as i,q as j,w as k,E as l,A as m,y as n,V as o,$ as p};
|
|
@@ -2,10 +2,12 @@ import { Cookie, type CreateCookieOptions } from "./Cookie";
|
|
|
2
2
|
import { HttpRequest } from "./HttpRequest";
|
|
3
3
|
declare class Store {
|
|
4
4
|
cookies: Set<Cookie>;
|
|
5
|
+
headers: Headers;
|
|
5
6
|
user: any;
|
|
6
7
|
req: HttpRequest | null;
|
|
7
8
|
constructor();
|
|
8
9
|
setCookie(name: string, value: string, options?: CreateCookieOptions): void;
|
|
10
|
+
setHeaders(name: string, value: string): void;
|
|
9
11
|
setUser(user: any): void;
|
|
10
12
|
setRequest(req: HttpRequest<any, any>): void;
|
|
11
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../http/requestContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,cAAM,KAAK;IACT,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IACjC,IAAI,EAAE,GAAG,CAAQ;IACjB,GAAG,EAAE,WAAW,GAAG,IAAI,CAAQ;;IAM/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;IAIxE,OAAO,CAAC,IAAI,EAAE,GAAG;IAIjB,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;CAGtC;AAED,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ;IAIf,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;WAI/B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAG7C"}
|
|
1
|
+
{"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../http/requestContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,cAAM,KAAK;IACT,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IACjC,OAAO,EAAE,OAAO,CAAiB;IACjC,IAAI,EAAE,GAAG,CAAQ;IACjB,GAAG,EAAE,WAAW,GAAG,IAAI,CAAQ;;IAM/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;IAIxE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAItC,OAAO,CAAC,IAAI,EAAE,GAAG;IAIjB,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;CAGtC;AAED,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ;IAIf,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;WAI/B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAG7C"}
|
package/dist/kernel/Kernel.d.ts
CHANGED
|
@@ -2,22 +2,27 @@ import { EmailServiceProvider } from "../email/EmailServiceProvider";
|
|
|
2
2
|
import { AuthenticationServiceProvider } from "../auth/AuthenticationServiceProvider";
|
|
3
3
|
import { MiddlewareServiceProvider } from "../http/MiddlewareServiceProvider";
|
|
4
4
|
import { PoliciesServiceProvider } from "../http/PoliciesServiceProvider";
|
|
5
|
+
import { I18nServiceProvider } from "../http/I18nServiceProvider";
|
|
6
|
+
import { I18nServiceContainer } from "../http/I18nServiceContainer";
|
|
5
7
|
export declare class Kernel {
|
|
6
8
|
protected emailServiceProvider: typeof EmailServiceProvider;
|
|
7
9
|
protected authenticationServiceProvider: typeof AuthenticationServiceProvider;
|
|
8
10
|
protected middlewareServiceProvider: typeof MiddlewareServiceProvider;
|
|
9
11
|
protected policiesServiceProvider: typeof PoliciesServiceProvider;
|
|
12
|
+
protected i18nServiceProvider: typeof I18nServiceProvider;
|
|
10
13
|
services: {
|
|
11
14
|
emailServiceProvider: EmailServiceProvider;
|
|
12
15
|
authenticationServiceProvider: AuthenticationServiceProvider;
|
|
13
16
|
middlewareServiceProvider: MiddlewareServiceProvider;
|
|
14
17
|
policiesServiceProvider: PoliciesServiceProvider;
|
|
18
|
+
i18nServiceContainer: I18nServiceContainer;
|
|
15
19
|
};
|
|
16
20
|
getServices: () => {
|
|
17
21
|
emailServiceProvider: EmailServiceProvider;
|
|
18
22
|
authenticationServiceProvider: AuthenticationServiceProvider;
|
|
19
23
|
middlewareServiceProvider: MiddlewareServiceProvider;
|
|
20
24
|
policiesServiceProvider: PoliciesServiceProvider;
|
|
25
|
+
i18nServiceContainer: I18nServiceContainer;
|
|
21
26
|
};
|
|
22
27
|
static getContext: () => import("./context").KernelContextValue;
|
|
23
28
|
run<T>(cb: () => T): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,qBAAa,MAAM;IACjB,SAAS,CAAC,oBAAoB,8BAAwB;IACtD,SAAS,CAAC,6BAA6B,uCAAiC;IACxE,SAAS,CAAC,yBAAyB,mCAA6B;IAChE,SAAS,CAAC,uBAAuB,iCAA2B;IAC5D,SAAS,CAAC,mBAAmB,6BAAuB;IAEpD,QAAQ,EAAE;QACR,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,6BAA6B,EAAE,6BAA6B,CAAC;QAC7D,yBAAyB,EAAE,yBAAyB,CAAC;QACrD,uBAAuB,EAAE,uBAAuB,CAAC;QACjD,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,CAAC;IAEF,WAAW;8BAPa,oBAAoB;uCACX,6BAA6B;mCACjC,yBAAyB;iCAC3B,uBAAuB;8BAC1B,oBAAoB;MAgB1C;IAEF,MAAM,CAAC,UAAU,+CAAkC;IAEnD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;CAInB"}
|
package/dist/kernel/context.d.ts
CHANGED
|
@@ -2,10 +2,14 @@ import { AsyncLocalStorage } from "async_hooks";
|
|
|
2
2
|
import { EmailServiceProvider } from "../email/EmailServiceProvider";
|
|
3
3
|
import { AuthenticationServiceProvider } from "../auth/AuthenticationServiceProvider";
|
|
4
4
|
import { PoliciesServiceProvider } from "../http/PoliciesServiceProvider";
|
|
5
|
+
import { MiddlewareServiceProvider } from "../http";
|
|
6
|
+
import { I18nServiceContainer } from "../http/I18nServiceContainer";
|
|
5
7
|
export interface KernelContextValue {
|
|
6
8
|
emailServiceProvider: EmailServiceProvider;
|
|
7
|
-
authenticationServiceProvider
|
|
8
|
-
|
|
9
|
+
authenticationServiceProvider: AuthenticationServiceProvider;
|
|
10
|
+
middlewareServiceProvider: MiddlewareServiceProvider;
|
|
11
|
+
policiesServiceProvider: PoliciesServiceProvider;
|
|
12
|
+
i18nServiceContainer: I18nServiceContainer;
|
|
9
13
|
}
|
|
10
14
|
export declare const kernelContext: AsyncLocalStorage<KernelContextValue>;
|
|
11
15
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../kernel/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../kernel/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAED,eAAO,MAAM,aAAa,uCAA8C,CAAC"}
|