gemi 0.4.78 → 0.4.79
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/index.js +1 -1
- package/dist/chunk-0f4780d78065ed6f.js +2 -0
- package/dist/chunk-1488c30be491de9b.js +2 -0
- package/dist/chunk-1e96eb132f10e361.js +2 -0
- package/dist/{chunk-4ad752c87b795617.js → chunk-3bb296632dccdb02.js} +1 -1
- package/dist/chunk-3ccfbc315f74b335.js +2 -0
- package/dist/chunk-4573fe60e6dbd787.js +2 -0
- package/dist/chunk-4e41bf12b68e3aa2.js +2 -0
- package/dist/chunk-584b2ebaffb0c907.js +9 -0
- package/dist/{chunk-28c7d04b6f555350.js → chunk-611480789c8b04f4.js} +2 -2
- package/dist/chunk-788611478527c8c3.js +6 -0
- package/dist/chunk-7ab2e8abae3c8902.js +2 -0
- package/dist/{chunk-9631e167bae739a0.js → chunk-827fe74e5b55863c.js} +1 -1
- package/dist/chunk-8b1dc3428a74b1f4.js +2 -0
- package/dist/chunk-9b2a6bd400c9c6c7.js +18 -0
- package/dist/chunk-9ca526226958d45c.js +2 -0
- package/dist/chunk-a2795d68352fdd98.js +2 -0
- package/dist/chunk-ae46c8b6092236d2.js +2 -0
- package/dist/chunk-b092d6945f70ff1c.js +2 -0
- package/dist/chunk-bfc01c0e40e4551c.js +2 -0
- package/dist/chunk-e20c0e69128c42f5.js +2 -0
- package/dist/{chunk-20e12a96dfe36b97.js → chunk-e9695f3cdafee20b.js} +1 -1
- package/dist/{chunk-4e37f45d636da627.js → chunk-ed4022c20775d58f.js} +1 -1
- package/dist/chunk-f7784dffc6c59a9e.js +2 -0
- package/dist/chunk-fcaf4626e5fe5d26.js +3 -0
- package/dist/client/index.js +8 -7
- package/dist/client/useQuery.d.ts.map +1 -1
- package/dist/email/Email.d.ts +12 -5
- package/dist/email/Email.d.ts.map +1 -1
- package/dist/email/index.d.ts +0 -2
- package/dist/email/index.d.ts.map +1 -1
- package/dist/email/index.js +1 -1
- package/dist/facades/Prefetch.d.ts.map +1 -1
- package/dist/facades/index.js +1 -1
- package/dist/http/index.js +1 -1
- package/dist/kernel/Kernel.d.ts +4 -3
- package/dist/kernel/Kernel.d.ts.map +1 -1
- package/dist/kernel/context.d.ts +2 -2
- package/dist/kernel/context.d.ts.map +1 -1
- package/dist/kernel/index.js +1 -2
- package/dist/server/index.js +1 -1
- package/dist/services/ServiceContainer.d.ts +7 -0
- package/dist/services/ServiceContainer.d.ts.map +1 -0
- package/dist/services/email/EmailServiceContainer.d.ts +8 -0
- package/dist/services/email/EmailServiceContainer.d.ts.map +1 -0
- package/dist/services/email/EmailServiceProvider.d.ts +9 -0
- package/dist/services/email/EmailServiceProvider.d.ts.map +1 -0
- package/dist/services/email/drivers/EmailDriver.d.ts +5 -0
- package/dist/services/email/drivers/EmailDriver.d.ts.map +1 -0
- package/dist/services/email/drivers/ResendDriver.d.ts +8 -0
- package/dist/services/email/drivers/ResendDriver.d.ts.map +1 -0
- package/dist/{email → services/email/drivers}/types.d.ts +2 -3
- package/dist/services/email/drivers/types.d.ts.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -1
- package/package.json +2 -1
- package/dist/chunk-168ace6fc79b185b.js +0 -2
- package/dist/chunk-1c56f79378e4123d.js +0 -2
- package/dist/chunk-269dd2cd89aa1c32.js +0 -2
- package/dist/chunk-30daf610f498e198.js +0 -6
- package/dist/chunk-3abc648638ed6645.js +0 -18
- package/dist/chunk-48b2990a93ae50b3.js +0 -2
- package/dist/chunk-52dd5453e79e1cef.js +0 -2
- package/dist/chunk-5c1c113b94101135.js +0 -2
- package/dist/chunk-5fb9d31b7b4629e9.js +0 -1
- package/dist/chunk-8bf925705fdcef0c.js +0 -2
- package/dist/chunk-9c05674e98ebc485.js +0 -2
- package/dist/chunk-a5da5f8d6f9e8633.js +0 -2
- package/dist/chunk-b943cac32cc3670f.js +0 -2
- package/dist/chunk-d4eceea16ddc567d.js +0 -9
- package/dist/chunk-e64fe80074576b85.js +0 -2
- package/dist/chunk-f9d7921dc209275a.js +0 -2
- package/dist/email/EmailServiceProvider.d.ts +0 -8
- package/dist/email/EmailServiceProvider.d.ts.map +0 -1
- package/dist/email/EmailTemplate.d.ts +0 -22
- package/dist/email/EmailTemplate.d.ts.map +0 -1
- package/dist/email/providers.d.ts +0 -5
- package/dist/email/providers.d.ts.map +0 -1
- package/dist/email/types.d.ts.map +0 -1
package/dist/client/index.js
CHANGED
|
@@ -197,6 +197,13 @@ function applyParams$1(url, params) {
|
|
|
197
197
|
return value;
|
|
198
198
|
}).replace(/\/\//g, "/");
|
|
199
199
|
}
|
|
200
|
+
function omitNullishValues(input) {
|
|
201
|
+
return Object.fromEntries(
|
|
202
|
+
Object.entries(input).filter(([, value]) => {
|
|
203
|
+
return value !== null && value !== void 0;
|
|
204
|
+
})
|
|
205
|
+
);
|
|
206
|
+
}
|
|
200
207
|
const defaultConfig = {
|
|
201
208
|
fallbackData: null,
|
|
202
209
|
keepPreviousData: true,
|
|
@@ -214,13 +221,7 @@ function useQuery(url, ...args) {
|
|
|
214
221
|
const search = "search" in options ? options.search ?? {} : {};
|
|
215
222
|
const { getResource } = useContext(QueryManagerContext);
|
|
216
223
|
const normalPath = applyParams$1(url, params);
|
|
217
|
-
const searchParams = new URLSearchParams(
|
|
218
|
-
Object.fromEntries(
|
|
219
|
-
Object.entries(search).filter(
|
|
220
|
-
([_k, v2]) => v2 !== null && v2 !== void 0
|
|
221
|
-
)
|
|
222
|
-
)
|
|
223
|
-
);
|
|
224
|
+
const searchParams = new URLSearchParams(omitNullishValues(search));
|
|
224
225
|
searchParams.sort();
|
|
225
226
|
const variantKey = searchParams.toString();
|
|
226
227
|
const [resource] = useState(
|
|
@@ -1 +1 @@
|
|
|
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,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../client/useQuery.ts"],"names":[],"mappings":"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"}
|
package/dist/email/Email.d.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SendEmailParams } from "
|
|
3
|
-
|
|
4
|
-
interface EmailTemplateParams<T> extends Partial<Omit<SendEmailParams, "html">> {
|
|
1
|
+
import { ComponentType } from "react";
|
|
2
|
+
import { SendEmailParams } from "../services/email/drivers/types";
|
|
3
|
+
interface SendEmailArgs<T> extends Partial<Omit<SendEmailParams, "html">> {
|
|
5
4
|
data: T;
|
|
6
5
|
}
|
|
7
6
|
export declare class Email {
|
|
8
|
-
|
|
7
|
+
from: string;
|
|
8
|
+
to: any[];
|
|
9
|
+
subject: string;
|
|
10
|
+
cc: any[];
|
|
11
|
+
bcc: any[];
|
|
12
|
+
attachments: any[];
|
|
13
|
+
template: ComponentType<any>;
|
|
14
|
+
static send<T extends Email>(this: new () => T, args: SendEmailArgs<T["template"] extends (p: infer P) => JSX.Element ? P : never>): Promise<void>;
|
|
15
|
+
protected render<T extends Record<string, any>>(props: T): Promise<string>;
|
|
9
16
|
}
|
|
10
17
|
export {};
|
|
11
18
|
//# sourceMappingURL=Email.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../email/Email.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../email/Email.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,UAAU,aAAa,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC;CACT;AAED,qBAAa,KAAK;IAChB,IAAI,SAAM;IACV,EAAE,QAAM;IACR,OAAO,SAAgB;IACvB,EAAE,QAAM;IACR,GAAG,QAAM;IACT,WAAW,QAAM;IACjB,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;WAEhB,IAAI,CAAC,CAAC,SAAS,KAAK,EAC/B,IAAI,EAAE,UAAU,CAAC,EACjB,IAAI,EAAE,aAAa,CACjB,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK,CAC9D;cAkCa,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;CAM/D"}
|
package/dist/email/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../email/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../email/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/email/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../
|
|
2
|
+
import"../chunk-f7784dffc6c59a9e.js";import{A as T} from"../chunk-e3d242546d1a2927.js";import{D as W} from"../chunk-4e41bf12b68e3aa2.js";import{E as Y,F as V} from"../chunk-fcaf4626e5fe5d26.js";import{Writable as O} from"stream";var C=T(V(),1);var{defineProperty:D,getOwnPropertySymbols:$}=Object,M=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,A=(F,q,z)=>(q in F)?D(F,q,{enumerable:!0,configurable:!0,writable:!0,value:z}):F[q]=z,U=(F,q)=>{for(var z in q||(q={}))if(M.call(q,z))A(F,z,q[z]);if($){for(var z of $(q))if(P.call(q,z))A(F,z,q[z])}return F},X=(F,q,z)=>{return new Promise((G,J)=>{var K=(H)=>{try{Q(z.next(H))}catch(L){J(L)}},R=(H)=>{try{Q(z.throw(H))}catch(L){J(L)}},Q=(H)=>H.done?G(H.value):Promise.resolve(H.value).then(K,R);Q((z=z.apply(F,q)).next())})},f={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},w=(F,q={})=>{return C.default.html(F,U(U({},f),q))},x=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}],B=new TextDecoder("utf-8"),I=(F)=>X(void 0,null,function*(){let q="";if("pipeTo"in F){const z=new WritableStream({write(G){q+=B.decode(G)}});yield F.pipeTo(z)}else{const z=new O({write(G,J,K){q+=B.decode(G),K()}});return F.pipe(z),new Promise((G,J)=>{z.on("error",J),z.on("close",()=>{G(q)})})}return q}),E=(F,q)=>X(void 0,null,function*(){const{default:z}=yield import("react-dom/server");let G;if(Object.hasOwn(z,"renderToReadableStream"))G=yield I(yield z.renderToReadableStream(F));else yield new Promise((R,Q)=>{const H=z.renderToPipeableStream(F,{onAllReady(){return X(this,null,function*(){G=yield I(H),R()})},onError(L){Q(L)}})});if(q==null?void 0:q.plainText)return Y(G,U({selectors:x},q.htmlToTextOptions));const K=`${'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'}${G.replace(/<!DOCTYPE.*?>/,"")}`;if(q==null?void 0:q.pretty)return w(K);return K}),j=new TextDecoder("utf-8");import{jsxDEV as g} from"react/jsx-dev-runtime";class N{from="";to=[];subject="No Subject";cc=[];bcc=[];attachments=[];template;static async send(F){const q=new this,{to:z=q.to,from:G=q.from,subject:J=q.subject,cc:K=q.cc,bcc:R=q.bcc,attachments:Q=q.attachments,data:H}=F,L=await q.render(H);if(process.env.EMAIL_DEBUG){const Z=`${process.env.ROOT_DIR}/.debug/emails/${(new Date()).toISOString()}${J}.html`;await Bun.write(Z,L),Bun.spawnSync(["open",Z]);return}await W.use().driver.send({bcc:R,cc:K,from:G,subject:J,to:z,attachments:Q,html:L})}async render(F){const q=this.template;return await E(g(q,{...F},void 0,!1,void 0,this))}}export{N as Email};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prefetch.d.ts","sourceRoot":"","sources":["../../facades/Prefetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,KAAK,MAAM,GAAG;KACX,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF,KAAK,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,IAC9B,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,CAAC,GACpD,OAAO,CAAC,IAAI,CAAC,GACb,KAAK,CAAC;AAEZ,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,MAAM,IAC/B,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5E,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"Prefetch.d.ts","sourceRoot":"","sources":["../../facades/Prefetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,KAAK,MAAM,GAAG;KACX,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF,KAAK,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,IAC9B,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,CAAC,GACpD,OAAO,CAAC,IAAI,CAAC,GACb,KAAK,CAAC;AAEZ,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,MAAM,IAC/B,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5E,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAC,OAAO;IAmDtB,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,MAAM,EACnC,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC/C,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC,GACzC,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAKrE,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,MAAM,EACpC,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC/C,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC,GACzC,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;CAItE"}
|
package/dist/facades/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{f as T,h as o,i as S,l as s
|
|
2
|
+
import{f as T,h as o,i as S,l} from"../http/index.js";import{z as s} from"../chunk-f7784dffc6c59a9e.js";import{A as b} from"../chunk-e3d242546d1a2927.js";import{C as V} from"../chunk-5ea45ebea038bef4.js";class d{static async user(){const t=o.getStore(),r=t.req.cookies.get("access_token");let e=t.user;if(!e)e=(await s.getStore().authenticationServiceProvider.adapter.findSession({token:r,userAgent:t.req.headers.get("User-Agent")}))?.user,t.setUser(e);if(e)return e;return null}static async guard(t){const r=await d.user();if(!r)throw new l;try{if(!await t(r))throw new l}catch(e){throw new l}}static async guardSafe(t){const r=await d.user();if(!r)return!1;try{return await t(r)}catch(e){return!1}}}function m(t,r){return t.replace(/:([^/]+)/g,(e,a)=>{const n=a.endsWith("?"),i=n?a.slice(0,-1):a,p=r[i];if(p===void 0){if(n)return"";throw new Error(`Missing parameter: ${i}`)}return p}).replace(/\/\//g,"/")}class y extends T{constructor(t){super("Redirect error");this.name="RedirectError",this.payload={api:{status:200,data:{},directive:{kind:"Redirect",path:t}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:t}}}}}class g{static to(t,...r){const[e={}]=r;throw new y(m(t,e))}}function h(t,r){return t.replace(/{{([^}]+)}}/g,(e,a)=>{const n=r[a];if(n===void 0)throw new Error(`Missing parameter: ${a}`);return n})}class x{static scope(t){return t}static translate(t,...r){const e=s.getStore().i18nServiceContainer,a=e.detectLocale(o.getStore().req),n=e.translations.get(`${a}.server`)?.[t];if(!n)return t;return h(n,r[0])}}var v=b(V(),1);import{Buffer as j} from"buffer";class w{static async put(t){return s.getStore().fileStorageServiceContainer.service.driver.put(t)}static async metadata(t){const r=j.from(await t.arrayBuffer());try{return await v.default(r).metadata()}catch{return{}}}static async fetch(t){return s.getStore().fileStorageServiceContainer.service.driver.fetch(t)}static delete(){}}function C(t){return Object.fromEntries(Object.entries(t).filter(([,r])=>{return r!==null&&r!==void 0}))}class f{static prepare(t,...r){const e={params:{},search:{}},[a={}]=r,{search:n,params:i}={...e,...a},p=o.getStore(),u=p.req.rawRequest,U=new URL(u.url),P=new URLSearchParams(C(n));P.sort();const I=[`${m(t,i)}`,P.toString()].filter((c)=>c.length>0).join("?"),G=`${U.origin}/${I}`,$=new Request(G,{headers:u.headers}),D=new S($,i),F=(c)=>{p.prefetchedResources.set(m(t,i),{[P.toString()]:c})},R=()=>{return o.run(D,async()=>{const c=await s.getStore().apiRouterServiceContainer.getRouteData(t);return F(c),c})};return{instant:R,prefetch:()=>{p.prefetchPromiseQueue.add(R)}}}static instant(t,...r){return f.prepare(t,...r).instant()}static prefetch(t,...r){return f.prepare(t,...r).prefetch()}}export{g as Redirect,f as Query,x as I18n,w as FileStorage,d as Auth};export{d as o};
|
package/dist/http/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../chunk-e3d242546d1a2927.js";class T{requests={};static kind="controller";constructor(){}}class C extends T{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;n;middlewares=[];constructor(e,t,n){this.method=e;this.handler=t;this.methodName=n;this.handler=t,this.methodName=n,this.method=e}run(e){if(v(this.handler)){const t=new this.handler;return t[this.methodName].bind(t)()}else return this.handler()}middleware(e){return this.middlewares=e,this}}class K{constructor(...e){return new l(...e)}}class m{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 m{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 K("GET",e,t)}}class g{e;middlewares=[];handler;constructor(e,t){this.viewPath=e;if(!t)this.handler=()=>({});else if(typeof t==="function")this.handler=t;else{const[n,r]=t,
|
|
2
|
+
import{z as P} from"../chunk-f7784dffc6c59a9e.js";import"../chunk-e3d242546d1a2927.js";class T{requests={};static kind="controller";constructor(){}}class C extends T{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;n;middlewares=[];constructor(e,t,n){this.method=e;this.handler=t;this.methodName=n;this.handler=t,this.methodName=n,this.method=e}run(e){if(v(this.handler)){const t=new this.handler;return t[this.methodName].bind(t)()}else return this.handler()}middleware(e){return this.middlewares=e,this}}class K{constructor(...e){return new l(...e)}}class m{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 m{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 K("GET",e,t)}}class g{e;middlewares=[];handler;constructor(e,t){this.viewPath=e;if(!t)this.handler=()=>({});else if(typeof t==="function")this.handler=t;else{const[n,r]=t,s=new n,o=s[r].bind(s);this.handler=(u)=>{return o()}}}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,n){this.viewPath=e;if(typeof t==="function")this.handler=t,this.children=class extends y{routes=n??{}};else if(Array.isArray(t)){const[r,s]=t,o=new r,u=o[s].bind(o);this.handler=(a)=>{let d=a;return d=o.requests[s]?new o.requests[s](a.rawRequest,a.params):d,u(a)},this.children=class extends y{routes=n??{}}}else this.children=class extends y{routes=t},this.handler=()=>({})}async run(e){return{[this.viewPath]:await this.handler(e)}}middleware(e){return this.middlewares=e,this}}class y{middlewares=[];routes={};view(e,t){return new g(e,t)}layout(e,t,n){return new O(e,t,n)}}var Z="GEMI_REQUEST_BREAKER_ERROR";class i extends Error{constructor(){super(...arguments)}kind="GEMI_REQUEST_BREAKER_ERROR";payload={api:{},view:{}}}class h extends i{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 U} from"async_hooks";class R{e;t;n;constructor(e,t,n={}){this.name=e;this.value=t;this.options=n}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 f=new U;class I{e;cookies=new Set;headers=new Headers;prefetchedResources=new Map;prefetchPromiseQueue=new Set;user=null;constructor(e){this.req=e}setCookie(e,t,n={}){this.cookies.add(new R(e,t,n))}setHeaders(e,t){this.headers.set(e,t)}setUser(e){this.user=e}setRequest(e){this.req=e}destroy(){delete this.cookies,delete this.headers,delete this.prefetchedResources,delete this.prefetchPromiseQueue,delete this.user}}class p{static getStore(){return f.getStore()}static setRequest(e){f.getStore().req=e}static run(e,t){return f.run(new I(e),t)}}var D=function(e){const[t,n]=e.match(/\d+|\D+/g)??[];if(!t||!n)return 0;const r=parseInt(t);switch(n){case"B":return r;case"KB":return r*1024;case"MB":return r*1024*1024;case"GB":return r*1024*1024*1024;case"TB":return r*1024*1024*1024*1024;default:return 0}},G=function(e){switch(e){case"image":return"image";case"png":return"image/png";case"jpg":return"image/jpeg";case"jpeg":return"image/jpeg";case"ttf":return"font/ttf";case"excel":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"csv":return"text/csv";case"word":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"pdf":return"application/pdf";case"json":return"application/json";default:return e}},_=function(e){const[t,n]=e.split(":");switch(t){case"required":return(r)=>{if(r instanceof Blob)return r.size>0;return r!==null&&r!==void 0&&r?.length>0};case"password":return(r)=>{return/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(r)};case"number":return(r)=>{if(typeof r!=="number")return!1;return!isNaN(r)};case"min":return(r)=>{return r?.length>=parseInt(n)};case"max":return(r)=>{return r?.length<=parseInt(n)};case"email":return(r)=>{return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r)};case"file":return(r)=>{return r instanceof Blob};case"fileType":return(r)=>{if(r instanceof Blob){const s=G(n);return r.type.startsWith(s)}};case"fileSize":return(r)=>{if(r instanceof Blob){const s=D(n);return r.size<=s}};default:return()=>!0}};class w{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;search;schema={};params;ctx=p.getStore();constructor(e,t){if(!e){const s=p.getStore().req;this.params=s.params,this.rawRequest=s.rawRequest}else this.params=t,this.rawRequest=e;this.headers=this.rawRequest.headers;const n=this.rawRequest.headers.get("Cookie"),r=new Map;if(n){const s=n.split(";");for(let o of s){const[u,a]=o.split("=");r.set(u.trim(),a.trim())}}if(this.rawRequest.method==="GET"){const s=new URL(this.rawRequest.url),o=Object.fromEntries(s.searchParams.entries());this.search=new w(o)}this.cookies=r}refine(e){return{}}async parseBody(){const e=new w({});if(this.rawRequest.headers.get("Content-Type")==="application/json"){const t=await this.rawRequest.json();for(let[n,r]of Object.entries(t))e.set(n,r)}if(this.rawRequest.headers.get("Content-Type")==="application/x-www-form-urlencoded"){const t=await this.rawRequest.formData();for(let[n,r]of t)e.set(n,r)}if(this.rawRequest.headers.get("Content-Type")?.startsWith("multipart/form-data")){const t=await this.rawRequest.formData();for(let[n,r]of t)if(e.has(n)){const s=e.get(n);if(Array.isArray(s))s.push(r),e.set(n,s);else e.set(n,[s,r])}else e.set(n,r)}return e}validateInput(e){const t={};for(let[n,r]of Object.entries(this.schema))for(let[s,o]of Object.entries(r)){const u=_(s);let a=o,d=!1;if(typeof o==="function")a=o(e.get(n)),d=typeof a==="undefined";else d=u(e.get(n));if(d)continue;if(!t[n])t[n]=[];if(s==="required"){t[n]=[String(a)];break}else t[n].push(String(a))}for(let[n,r]of Object.entries(this.refine(e.toJSON())??{})){if(!t[n])t[n]=[];t[n]=[...t[n]??[],r]}if(Object.keys(t).length>0)throw new h(t);else return e}async input(){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 h))throw t;return{isValid:!1,errors:t.errors,input:e}}}async terminate(e){throw"not implemented"}}class c{e;constructor(e){this.routePath=e}async run(e,...t){return{}}}function N(e){const t=e.headers.get("cookie");if(!t)return new Map;const n=new Map,r=t.split(";");for(let s of r){const[o,u]=s.split("=");n.set(o.trim(),u)}return n}class q{aliases={}}class b extends i{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 E extends i{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 x extends i{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 A extends c{constructor(){super(...arguments)}async run(e){const t=p.getStore(),n=t.req.cookies.get("access_token");if(!n)throw new x;let r=t.user;if(!r){const s=await P.getStore().authenticationServiceProvider.adapter.findSession({token:n,userAgent:t.req.headers.get("User-Agent")});if(!s)throw new x;r=s?.user,t.setUser(r)}return{}}}class S extends i{constructor(){super("Rate limit exceeded");this.payload={api:{status:429,data:{error:{message:"Rate limit exceeded"}},headers:{"Content-Type":"application/json"}},view:{error:{message:"Rate limit exceeded"},status:429}}}}class V extends c{constructor(){super(...arguments)}async run(e,t=1000){const n=e.headers.get("x-forwarded-for"),r=P.getStore().rateLimiterServiceContainer.service.driver,s=r.consume.call(r,n,this.routePath);if(console.log({result:s,limit:t}),s>t)throw new S;return{}}}class ${policiesList={};constructor(){const e=this.register();for(let t of e){const n=new t;this.policiesList[t.name]=n}}register(){return[]}}class k{all(e,t){return!0}}class L{dictionary={};supportedLocales=[];defaultLocale="en-US";async init(){}detectLocale(e){return this.defaultLocale}}export{N as getCookies,y as ViewRouter,h as ValidationError,C as ResourceController,i as RequestBreakerError,V as RateLimitMiddleware,$ as PoliciesServiceProvider,k as Policies,q as MiddlewareServiceProvider,c as Middleware,E as InsufficientPermissionsError,L as I18nServiceProvider,M as HttpRequest,T as Controller,b as AuthorizationError,A as AuthenticationMiddleware,x as AuthenticationError,m as ApiRouter};export{T as a,H as b,m as c,y as d,Z as e,i as f,h as g,p as h,M as i,q as j,b as k,E as l,$ as m,L as n};
|
package/dist/kernel/Kernel.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EmailServiceProvider } from "../email/EmailServiceProvider";
|
|
2
1
|
import { AuthenticationServiceProvider } from "../auth/AuthenticationServiceProvider";
|
|
3
2
|
import { MiddlewareServiceProvider } from "../http/MiddlewareServiceProvider";
|
|
4
3
|
import { PoliciesServiceProvider } from "../http/PoliciesServiceProvider";
|
|
@@ -11,6 +10,8 @@ import { ApiRouterServiceProvider } from "../services/router/ApiRouterServicePro
|
|
|
11
10
|
import { MiddlewareServiceContainer } from "../services/middleware/MiddlewareServiceContainer";
|
|
12
11
|
import { RateLimiterServiceContainer } from "../services/rate-limiter/RateLimiterServiceContainer";
|
|
13
12
|
import { RateLimiterServiceProvider } from "../services";
|
|
13
|
+
import { EmailServiceProvider } from "../services/email/EmailServiceProvider";
|
|
14
|
+
import { EmailServiceContainer } from "../services/email/EmailServiceContainer";
|
|
14
15
|
export declare class Kernel {
|
|
15
16
|
protected emailServiceProvider: typeof EmailServiceProvider;
|
|
16
17
|
protected authenticationServiceProvider: typeof AuthenticationServiceProvider;
|
|
@@ -21,7 +22,7 @@ export declare class Kernel {
|
|
|
21
22
|
protected apiRouterServiceProvider: typeof ApiRouterServiceProvider;
|
|
22
23
|
protected rateLimiterServiceProvider: typeof RateLimiterServiceProvider;
|
|
23
24
|
services: {
|
|
24
|
-
|
|
25
|
+
emailServiceContainer: EmailServiceContainer;
|
|
25
26
|
authenticationServiceProvider: AuthenticationServiceProvider;
|
|
26
27
|
policiesServiceProvider: PoliciesServiceProvider;
|
|
27
28
|
i18nServiceContainer: I18nServiceContainer;
|
|
@@ -31,7 +32,7 @@ export declare class Kernel {
|
|
|
31
32
|
rateLimiterServiceContainer: RateLimiterServiceContainer;
|
|
32
33
|
};
|
|
33
34
|
getServices: () => {
|
|
34
|
-
|
|
35
|
+
emailServiceContainer: EmailServiceContainer;
|
|
35
36
|
authenticationServiceProvider: AuthenticationServiceProvider;
|
|
36
37
|
policiesServiceProvider: PoliciesServiceProvider;
|
|
37
38
|
i18nServiceContainer: I18nServiceContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AAAA,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;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,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;IACpD,SAAS,CAAC,0BAA0B,oCAA8B;IAClE,SAAS,CAAC,wBAAwB,kCAA4B;IAC9D,SAAS,CAAC,0BAA0B,oCAA8B;IAElE,QAAQ,EAAE;QACR,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,6BAA6B,EAAE,6BAA6B,CAAC;QAC7D,uBAAuB,EAAE,uBAAuB,CAAC;QACjD,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,2BAA2B,EAAE,2BAA2B,CAAC;QACzD,yBAAyB,EAAE,yBAAyB,CAAC;QACrD,0BAA0B,EAAE,0BAA0B,CAAC;QACvD,2BAA2B,EAAE,2BAA2B,CAAC;KAC1D,CAAC;IAEF,WAAW;+BAVc,qBAAqB;uCACb,6BAA6B;iCACnC,uBAAuB;8BAC1B,oBAAoB;qCACb,2BAA2B;mCAC7B,yBAAyB;oCACxB,0BAA0B;qCACzB,2BAA2B;MA6BxD;IAEF,MAAM,CAAC,UAAU,+CAAkC;IAEnD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;CAInB"}
|
package/dist/kernel/context.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "async_hooks";
|
|
2
|
-
import { EmailServiceProvider } from "../email/EmailServiceProvider";
|
|
3
2
|
import { AuthenticationServiceProvider } from "../auth/AuthenticationServiceProvider";
|
|
4
3
|
import { PoliciesServiceProvider } from "../http/PoliciesServiceProvider";
|
|
5
4
|
import { I18nServiceContainer } from "../http/I18nServiceContainer";
|
|
@@ -7,8 +6,9 @@ import { FileStorageServiceContainer } from "../services/file-storage/FileStorag
|
|
|
7
6
|
import { ApiRouterServiceContainer } from "../services/router/ApiRouterServiceContainer";
|
|
8
7
|
import { MiddlewareServiceContainer } from "../services/middleware/MiddlewareServiceContainer";
|
|
9
8
|
import { RateLimiterServiceContainer } from "../services/rate-limiter/RateLimiterServiceContainer";
|
|
9
|
+
import { EmailServiceContainer } from "../services/email/EmailServiceContainer";
|
|
10
10
|
export interface KernelContextValue {
|
|
11
|
-
|
|
11
|
+
emailServiceContainer: EmailServiceContainer;
|
|
12
12
|
authenticationServiceProvider: AuthenticationServiceProvider;
|
|
13
13
|
policiesServiceProvider: PoliciesServiceProvider;
|
|
14
14
|
i18nServiceContainer: I18nServiceContainer;
|
|
@@ -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,
|
|
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,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,2BAA2B,EAAE,2BAA2B,CAAC;CAC1D;AAED,eAAO,MAAM,aAAa,uCAA8C,CAAC"}
|