elysia 0.5.21 → 0.5.22

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.
@@ -446,10 +446,8 @@ const composeHandler = ({ method, hooks, validator, handler, handleError, meta,
446
446
  fnLiteral += `${name} = mapEarlyResponse(${name}, c.set)\n`;
447
447
  fnLiteral += `if(${name}) return ${name};\n}`;
448
448
  }
449
- else {
450
- fnLiteral += `${name} = mapEarlyResponse(${name}, c.set)\n`;
449
+ else
451
450
  fnLiteral += `if(${name}) return ${name};\n`;
452
- }
453
451
  }
454
452
  }
455
453
  if (validator.response)
@@ -50,7 +50,7 @@ export interface LifeCycle<Instance extends ElysiaInstance = ElysiaInstance> {
50
50
  error: ErrorHandler;
51
51
  stop: VoidLifeCycle<Instance>;
52
52
  }
53
- export type AfterRequestHandler<Route extends TypedRoute, Instance extends ElysiaInstance> = (context: Context<Route, Instance['store']> & Instance['request'], response: Route['response']) => void | MaybePromise<Route['response']> | Response;
53
+ export type AfterRequestHandler<Route extends TypedRoute, Instance extends ElysiaInstance> = (context: Context<Route, Instance['store']> & Instance['request'], response: Route['response']) => void | MaybePromise<Response>;
54
54
  export interface LifeCycleStore<Instance extends ElysiaInstance> {
55
55
  type?: ContentType;
56
56
  start: VoidLifeCycle<Instance>[];
package/dist/compose.js CHANGED
@@ -1,4 +1,4 @@
1
- import{parse as e}from"fast-querystring";import{mapEarlyResponse as r,mapResponse as t,mapCompactResponse as s}from"./handler";import{SCHEMA as n,DEFS as a}from"./utils";import{NotFoundError as o,ValidationError as c,InternalServerError as l}from"./error";let i="AsyncFunction",f=e=>e.constructor.name===i,u=new Headers,d=RegExp(" (\\w+) = context","g");export const hasReturn=e=>{let r=e.indexOf(")");return 61===e.charCodeAt(r+2)&&123!==e.charCodeAt(r+5)||e.includes("return")};let p=e=>({composeValidation:(r,t=`c.${r}`)=>e?`throw new ValidationError(
1
+ import{parse as e}from"fast-querystring";import{mapEarlyResponse as r,mapResponse as t,mapCompactResponse as s}from"./handler";import{SCHEMA as n,DEFS as o}from"./utils";import{NotFoundError as a,ValidationError as c,InternalServerError as l}from"./error";let i="AsyncFunction",f=e=>e.constructor.name===i,u=new Headers,d=RegExp(" (\\w+) = context","g");export const hasReturn=e=>{let r=e.indexOf(")");return 61===e.charCodeAt(r+2)&&123!==e.charCodeAt(r+5)||e.includes("return")};let p=e=>({composeValidation:(r,t=`c.${r}`)=>e?`throw new ValidationError(
2
2
  '${r}',
3
3
  ${r},
4
4
  ${t}
@@ -14,7 +14,7 @@ ${r}
14
14
  'response',
15
15
  response[c.set.status],
16
16
  ${r}
17
- ).toResponse(c.set.headers)`});export const isFnUse=(e,r)=>{r=(r=r.trimStart()).replaceAll(/^async /g,"");let t=40===r.charCodeAt(0)||r.startsWith("function")?r.slice(r.indexOf("(")+1,r.indexOf(")")):r.slice(0,r.indexOf("=")-1);if(""===t)return!1;if(123===t.charCodeAt(0))return!!t.includes(e);if(r.match(RegExp(`${t}(.${e}|\\["${e}"\\])`)))return!0;let s=[t];for(let e of r.matchAll(d))s.push(e[1]);let n=RegExp(`{.*?} = (${s.join("|")})`,"g");for(let[t]of r.matchAll(n))if(t.includes(`{ ${e}`)||t.includes(`, ${e}`))return!0;return!1};export const findElysiaMeta=(e,r,t=[],s="")=>{if("object"===r.type){let n=r.properties;for(let r in n){let a=n[r],o=s?s+"."+r:r;if("object"===a.type){findElysiaMeta(e,a,t,o);continue}if(a.anyOf){for(let r of a.anyOf)findElysiaMeta(e,r,t,o);continue}a.elysiaMeta===e&&t.push(o)}return 0===t.length?null:t}return r?.elysiaMeta===e?(s&&t.push(s),"root"):null};let y=e=>{if(!e)return;let r=e?.schema;if(r&&"anyOf"in r){let e=!1,t=r.anyOf[0].type;for(let s of r.anyOf)if(s.type!==t){e=!0;break}if(!e)return t}};export const composeHandler=({method:d,hooks:m,validator:h,handler:$,handleError:b,meta:q,onRequest:E,config:g})=>{let w=g.forceErrorEncapsulation||m.error.length>0||"undefined"==typeof Bun,{composeValidation:x,composeResponseValidation:k}=p(w),H=w?"try {\n":"",R=h||"GET"!==d?[$,...m.transform,...m.beforeHandle,...m.afterHandle].map(e=>e.toString()):[],v="GET"!==d&&"none"!==m.type&&(h.body||m.type||R.some(e=>isFnUse("body",e))),O=h.headers||R.some(e=>isFnUse("headers",e));O&&(H+=u.toJSON?`c.headers = c.request.headers.toJSON()
17
+ ).toResponse(c.set.headers)`});export const isFnUse=(e,r)=>{r=(r=r.trimStart()).replaceAll(/^async /g,"");let t=40===r.charCodeAt(0)||r.startsWith("function")?r.slice(r.indexOf("(")+1,r.indexOf(")")):r.slice(0,r.indexOf("=")-1);if(""===t)return!1;if(123===t.charCodeAt(0))return!!t.includes(e);if(r.match(RegExp(`${t}(.${e}|\\["${e}"\\])`)))return!0;let s=[t];for(let e of r.matchAll(d))s.push(e[1]);let n=RegExp(`{.*?} = (${s.join("|")})`,"g");for(let[t]of r.matchAll(n))if(t.includes(`{ ${e}`)||t.includes(`, ${e}`))return!0;return!1};export const findElysiaMeta=(e,r,t=[],s="")=>{if("object"===r.type){let n=r.properties;for(let r in n){let o=n[r],a=s?s+"."+r:r;if("object"===o.type){findElysiaMeta(e,o,t,a);continue}if(o.anyOf){for(let r of o.anyOf)findElysiaMeta(e,r,t,a);continue}o.elysiaMeta===e&&t.push(a)}return 0===t.length?null:t}return r?.elysiaMeta===e?(s&&t.push(s),"root"):null};let y=e=>{if(!e)return;let r=e?.schema;if(r&&"anyOf"in r){let e=!1,t=r.anyOf[0].type;for(let s of r.anyOf)if(s.type!==t){e=!0;break}if(!e)return t}};export const composeHandler=({method:d,hooks:m,validator:h,handler:$,handleError:b,meta:q,onRequest:E,config:g})=>{let w=g.forceErrorEncapsulation||m.error.length>0||"undefined"==typeof Bun,{composeValidation:x,composeResponseValidation:k}=p(w),H=w?"try {\n":"",R=h||"GET"!==d?[$,...m.transform,...m.beforeHandle,...m.afterHandle].map(e=>e.toString()):[],v="GET"!==d&&"none"!==m.type&&(h.body||m.type||R.some(e=>isFnUse("body",e))),O=h.headers||R.some(e=>isFnUse("headers",e));O&&(H+=u.toJSON?`c.headers = c.request.headers.toJSON()
18
18
  `:`c.headers = {}
19
19
  for (const [key, value] of c.request.headers.entries())
20
20
  c.headers[key] = value
@@ -118,8 +118,7 @@ ${r}
118
118
  }
119
119
  ${r} = mapEarlyResponse(${r}, c.set)
120
120
  if(${r}) return ${r};
121
- }`:H+=`${r} = mapEarlyResponse(${r}, c.set)
122
- if(${r}) return ${r};
121
+ }`:H+=`if(${r}) return ${r};
123
122
  `):H+=m.afterHandle[e].constructor.name===i?`await afterHandle[${e}](c, r)
124
123
  `:`afterHandle[${e}](c, r)
125
124
  `}h.response&&(H+=`if(response[c.set.status]?.Check(r) === false) {
@@ -199,7 +198,7 @@ if(${r}) return ${r};
199
198
  return ${F?"async":""} function(c) {
200
199
  ${q?"c[SCHEMA] = meta[SCHEMA]; c[DEFS] = meta[DEFS];":""}
201
200
  ${H}
202
- }`;let N=Function("hooks",H);return N({handler:$,hooks:m,validator:h,handleError:b,utils:{mapResponse:t,mapCompactResponse:s,mapEarlyResponse:r,parseQuery:e},error:{NotFoundError:o,ValidationError:c,InternalServerError:l},meta:q,SCHEMA:q?n:void 0,DEFS:q?a:void 0})};export const composeGeneralHandler=e=>{let t="";for(let r of Object.keys(e.decorators))t+=`,${r}: app.decorators.${r}`;let{router:s,staticRouter:n}=e,a=`
201
+ }`;let N=Function("hooks",H);return N({handler:$,hooks:m,validator:h,handleError:b,utils:{mapResponse:t,mapCompactResponse:s,mapEarlyResponse:r,parseQuery:e},error:{NotFoundError:a,ValidationError:c,InternalServerError:l},meta:q,SCHEMA:q?n:void 0,DEFS:q?o:void 0})};export const composeGeneralHandler=e=>{let t="";for(let r of Object.keys(e.decorators))t+=`,${r}: app.decorators.${r}`;let{router:s,staticRouter:n}=e,o=`
203
202
  const route = find(request.method, path) ${s.root.ALL?'?? find("ALL", path)':""}
204
203
  if (route === null)
205
204
  return ${e.event.error.length?`handleError(
@@ -215,7 +214,7 @@ if(${r}) return ${r};
215
214
  return route.store(ctx)`,c="";for(let[e,{code:r,all:t}]of Object.entries(n.map))c+=`case '${e}':
216
215
  switch(request.method) {
217
216
  ${r}
218
- ${t??`default: ${a}`}}
217
+ ${t??`default: ${o}`}}
219
218
 
220
219
  `;let l=`const {
221
220
  app,
@@ -283,9 +282,9 @@ ${t??`default: ${a}`}}
283
282
  ${c}
284
283
 
285
284
  default:
286
- ${a}
285
+ ${o}
287
286
  }
288
- }`,e.handleError=composeErrorHandler(e),Function("data",l)({app:e,mapEarlyResponse:r,NotFoundError:o})};export const composeErrorHandler=e=>{let r=`const {
287
+ }`,e.handleError=composeErrorHandler(e),Function("data",l)({app:e,mapEarlyResponse:r,NotFoundError:a})};export const composeErrorHandler=e=>{let r=`const {
289
288
  app: { event: { error: onError } },
290
289
  mapResponse
291
290
  } = inject
package/dist/types.d.ts CHANGED
@@ -50,7 +50,7 @@ export interface LifeCycle<Instance extends ElysiaInstance = ElysiaInstance> {
50
50
  error: ErrorHandler;
51
51
  stop: VoidLifeCycle<Instance>;
52
52
  }
53
- export type AfterRequestHandler<Route extends TypedRoute, Instance extends ElysiaInstance> = (context: Context<Route, Instance['store']> & Instance['request'], response: Route['response']) => void | MaybePromise<Route['response']> | Response;
53
+ export type AfterRequestHandler<Route extends TypedRoute, Instance extends ElysiaInstance> = (context: Context<Route, Instance['store']> & Instance['request'], response: Route['response']) => void | MaybePromise<Response>;
54
54
  export interface LifeCycleStore<Instance extends ElysiaInstance> {
55
55
  type?: ContentType;
56
56
  start: VoidLifeCycle<Instance>[];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "elysia",
3
3
  "description": "Fast, and friendly Bun web framework",
4
- "version": "0.5.21",
4
+ "version": "0.5.22",
5
5
  "author": {
6
6
  "name": "saltyAom",
7
7
  "url": "https://github.com/SaltyAom",