Socket
Socket
Sign inDemoInstall

elysia

Package Overview
Dependencies
Maintainers
1
Versions
410
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

elysia - npm Package Compare versions

Comparing version 0.5.0-exp-230505.1651 to 0.5.0-exp-230505.1731

54

dist/compose.js

@@ -1,2 +0,2 @@

import{parse as e}from"fast-querystring";import{mapEarlyResponse as r,mapResponse as t}from"./handler";import{SCHEMA as s,DEFS as a,removeHostnameRegex as o,removeFragmentRegex as n,removePathRegex as c,removeQueryRegex as l}from"./utils";import{ParseError as i,NotFoundError as d,ValidationError as u,InternalServerError as f}from"./error";let p="AsyncFunction",h=e=>e.constructor.name===p,y=new Headers;export const isFnUse=(e,r)=>{let t=r.slice(r.indexOf("(")+1,r.indexOf(")"));if(""===t)return!1;if(123===t.charCodeAt(0))return!!(t.includes(`{ ${e}`)||t.includes(`, ${e}`));if(r.includes(`${t}.${e}`))return!0;let s=RegExp(" (\\w+) = context","g"),a=[t];for(let e of r.matchAll(s))a.push(e[1]);let o=RegExp(`{.*?} = (${a.join("|")})`,"g");for(let[t]of r.matchAll(o))if(t.includes(`{ ${e}`)||t.includes(`, ${e}`))return!0;return!1};export const composeHandler=({method:o,hooks:n,validator:c,handler:l,handleError:m,meta:b})=>{let $="try {\n",w="string"==typeof n.type,q="GET"!==o&&(c.body||w||[l,...n.transform,...n.beforeHandle,...n.afterHandle].some(e=>isFnUse("body",e.toString()))),g=c.headers||[l,...n.transform,...n.beforeHandle,...n.afterHandle].some(e=>isFnUse("headers",e.toString()));g&&($+="\n"+(y.toJSON?`c.headers = c.request.headers.toJSON()
import{parse as e}from"fast-querystring";import{mapEarlyResponse as r,mapResponse as t}from"./handler";import{SCHEMA as s,DEFS as a,removeHostnameRegex as o,removeFragmentRegex as n,removePathRegex as c,removeQueryRegex as l}from"./utils";import{ParseError as i,NotFoundError as d,ValidationError as u,InternalServerError as f}from"./error";let p="AsyncFunction",h=e=>e.constructor.name===p,y=new Headers;export const isFnUse=(e,r)=>{let t=r.slice(r.indexOf("(")+1,r.indexOf(")"));if(""===t)return!1;if(123===t.charCodeAt(0))return!!(t.includes(`{ ${e}`)||t.includes(`, ${e}`));if(r.includes(`${t}.${e}`))return!0;let s=RegExp(" (\\w+) = context","g"),a=[t];for(let e of r.matchAll(s))a.push(e[1]);let o=RegExp(`{.*?} = (${a.join("|")})`,"g");for(let[t]of r.matchAll(o))if(t.includes(`{ ${e}`)||t.includes(`, ${e}`))return!0;return!1};export const composeHandler=({method:o,hooks:n,validator:c,handler:l,handleError:m,meta:$})=>{let b="try {\n",w="string"==typeof n.type,q="GET"!==o&&(c.body||w||[l,...n.transform,...n.beforeHandle,...n.afterHandle].some(e=>isFnUse("body",e.toString()))),g=c.headers||[l,...n.transform,...n.beforeHandle,...n.afterHandle].some(e=>isFnUse("headers",e.toString()));g&&(b+="\n"+(y.toJSON?`c.headers = c.request.headers.toJSON()
`:`c.headers = {}

@@ -13,4 +13,4 @@ for (const key of c.request.headers.keys())

}
`));let k=q||l.constructor.name===p||n.parse.length||n.afterHandle.find(h)||n.beforeHandle.find(h)||n.transform.find(h);if(q){let e=c?.body?.schema;if(e&&"anyOf"in e){let r=!1,t=e.anyOf[0].type;for(let s of e.anyOf)if(s.type!==t){r=!0;break}r&&(e=void 0)}if(w||e){if(e||($+="if(body) "),$+=`try {
`,e)switch(e.type){case"object":"URLEncoded"===e.elysiaMeta?$+="c.body = parseQuery(await c.request.text())":c.body.Code().includes("custom('File")?$+=`c.body = {}
`));let k=q||l.constructor.name===p||n.parse.length||n.afterHandle.find(h)||n.beforeHandle.find(h)||n.transform.find(h);if(q){let e=c?.body?.schema;if(e&&"anyOf"in e){let r=!1,t=e.anyOf[0].type;for(let s of e.anyOf)if(s.type!==t){r=!0;break}r&&(e=void 0)}if(w||e){if(b+=`try {
`,e)switch(e.type){case"object":"URLEncoded"===e.elysiaMeta?b+="c.body = parseQuery(await c.request.text())":c.body.Code().includes("custom('File")?b+=`c.body = {}

@@ -27,3 +27,3 @@ await c.request.formData().then((form) => {

}
})`:$+="c.body = JSON.parse(await c.request.text())";break;case"string":$+="c.body = await c.request.text()"}else switch(n.type){case"application/json":$+="c.body = JSON.parse(await c.request.text());";break;case"text/plain":$+="c.body = await c.request.text();";break;case"application/x-www-form-urlencoded":$+="c.body = parseQuery(await c.request.text());";break;case"multipart/form-data":$+=`c.body = {}
})`:b+="c.body = JSON.parse(await c.request.text())";break;case"string":b+="c.body = await c.request.text()"}else switch(n.type){case"application/json":b+="c.body = JSON.parse(await c.request.text());";break;case"text/plain":b+="c.body = await c.request.text();";break;case"application/x-www-form-urlencoded":b+="c.body = parseQuery(await c.request.text());";break;case"multipart/form-data":b+=`c.body = {}

@@ -38,14 +38,14 @@ for (const key of (await c.request.formData()).keys()) {

else c.body[key] = value
}`}$+=`} catch(error) {
}`}b+=`} catch(error) {
throw new ParseError()
}`}else{if($+="\n"+(g?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')")+`
}`}else{if(b+="\n"+(g?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')")+`
if (contentType) {
const index = contentType.indexOf(';')
if (index !== -1) contentType = contentType.substring(0, index)
`,n.parse.length){$+=`let used = false
`;for(let e=0;e<n.parse.length;e++){let r=`bo${e}`;$+=`if(!c.request.bodyUsed) {
`,n.parse.length){b+=`let used = false
`;for(let e=0;e<n.parse.length;e++){let r=`bo${e}`;b+=`if(!c.request.bodyUsed) {
let ${r} = parse[${e}](c, contentType);
if(${r} instanceof Promise) ${r} = await ${r}
if(${r} !== undefined) { c.body = ${r}; used = true }
}`}$+="if (!used)"}$+=`switch (contentType) {
}`}b+="if (!used)"}b+=`switch (contentType) {
case 'application/json':

@@ -79,3 +79,3 @@ c.body = JSON.parse(await c.request.text())

}
`}}if(n?.transform)for(let e=0;e<n.transform.length;e++)$+=n.transform[e].constructor.name===p?`await transform[${e}](c);`:`transform[${e}](c);`;if(c&&(c.headers&&($+=`
`}}if(n?.transform)for(let e=0;e<n.transform.length;e++)b+=n.transform[e].constructor.name===p?`await transform[${e}](c);`:`transform[${e}](c);`;if(c&&(c.headers&&(b+=`
if (headers.Check(c.headers) === false) {

@@ -88,24 +88,24 @@ throw new ValidationError(

}
`),c.params&&($+="if(params.Check(c.params) === false) { throw new ValidationError('params', params, c.params) }"),c.query&&($+="if(query.Check(c.query) === false) { throw new ValidationError('query', query, c.query) }"),c.body&&($+="if(body.Check(c.body) === false) { throw new ValidationError('body', body, c.body) }")),n?.beforeHandle)for(let e=0;e<n.beforeHandle.length;e++){let r=`be${e}`;if($+=(n.beforeHandle[e].constructor.name===p?`let ${r} = await beforeHandle[${e}](c);
`),c.params&&(b+="if(params.Check(c.params) === false) { throw new ValidationError('params', params, c.params) }"),c.query&&(b+="if(query.Check(c.query) === false) { throw new ValidationError('query', query, c.query) }"),c.body&&(b+="if(body.Check(c.body) === false) { throw new ValidationError('body', body, c.body) }")),n?.beforeHandle)for(let e=0;e<n.beforeHandle.length;e++){let r=`be${e}`;if(b+=(n.beforeHandle[e].constructor.name===p?`let ${r} = await beforeHandle[${e}](c);
`:`let ${r} = beforeHandle[${e}](c);
`)+`if(${r} !== undefined) {
`,n?.afterHandle)for(let e=0;e<n.afterHandle.length;e++){let t=`af${e}`;$+=(n.afterHandle[e].constructor.name===p?`const ${t} = await afterHandle[${e}](c, ${r});
`,n?.afterHandle)for(let e=0;e<n.afterHandle.length;e++){let t=`af${e}`;b+=(n.afterHandle[e].constructor.name===p?`const ${t} = await afterHandle[${e}](c, ${r});
`:`const ${t} = afterHandle[${e}](c, ${r});
`)+`if(${t} !== undefined) { ${r} = ${t} }
`}c.response&&($+=`if(response[c.set.status]?.Check(${r}) === false) { throw new ValidationError('response', response[c.set.status], ${r}) }
`),$+=`return mapEarlyResponse(${r}, c.set)}
`}if(n?.afterHandle.length){$+=l.constructor.name===p?`let r = await handler(c);
`}c.response&&(b+=`if(response[c.set.status]?.Check(${r}) === false) { throw new ValidationError('response', response[c.set.status], ${r}) }
`),b+=`return mapEarlyResponse(${r}, c.set)}
`}if(n?.afterHandle.length){b+=l.constructor.name===p?`let r = await handler(c);
`:`let r = handler(c);
`;for(let e=0;e<n.afterHandle.length;e++){let r=`af${e}`;$+=n.afterHandle[e].constructor.name===p?`let ${r} = await afterHandle[${e}](c, r)
`;for(let e=0;e<n.afterHandle.length;e++){let r=`af${e}`;b+=n.afterHandle[e].constructor.name===p?`let ${r} = await afterHandle[${e}](c, r)
`:`let ${r} = afterHandle[${e}](c, r)
`,c.response?$+=`if(response[c.set.status]?.Check(${r}) === false) { throw new ValidationError('response', response[c.set.status], ${r}) }
`,c.response?b+=`if(response[c.set.status]?.Check(${r}) === false) { throw new ValidationError('response', response[c.set.status], ${r}) }
${r} = mapEarlyResponse(${r}, c.set)
if(${r}) return ${r};
`:$+=`if(${r}) return ${r};
`}c.response&&($+=`if(response[c.set.status]?.Check(r) === false) { throw new ValidationError('response', response[c.set.status], r) }
`),$+=`return mapResponse(r, c.set);
`}else c.response?$+=(l.constructor.name===p?`const r = await handler(c);
`:b+=`if(${r}) return ${r};
`}c.response&&(b+=`if(response[c.set.status]?.Check(r) === false) { throw new ValidationError('response', response[c.set.status], r) }
`),b+=`return mapResponse(r, c.set);
`}else c.response?b+=(l.constructor.name===p?`const r = await handler(c);
`:`const r = handler(c);
`)+`if(response[c.set.status]?.Check(r) === false) { throw new ValidationError('response', response[c.set.status], r) }
`+"return mapResponse(r, c.set);":$+=l.constructor.name===p?"return handler(c).then((v) => mapResponse(v, c.set))":"return mapResponse(handler(c), c.set);";$+=`
`+"return mapResponse(r, c.set);":b+=l.constructor.name===p?"return handler(c).then((v) => mapResponse(v, c.set))":"return mapResponse(handler(c), c.set);";b+=`
} catch(error) {

@@ -135,3 +135,3 @@ // Optimize this error return

${k?"":"})()"}
}`,$=`const {
}`,b=`const {
handler,

@@ -165,3 +165,3 @@ handleError,

},
${b?`
${$?`
meta,

@@ -173,6 +173,6 @@ SCHEMA,

return ${k?"async":""} function(c) {
${b?"c[SCHEMA] = meta[SCHEMA]; c[DEFS] = meta[DEFS];":""}
${$?"c[SCHEMA] = meta[SCHEMA]; c[DEFS] = meta[DEFS];":""}
${$}
}`;let x=Function("hooks",$);return x({handler:l,hooks:n,validator:c,handleError:m,utils:{mapResponse:t,mapEarlyResponse:r,parseQuery:e},error:{ParseError:i,NotFoundError:d,ValidationError:u,InternalServerError:f},meta:b,SCHEMA:b?s:void 0,DEFS:b?a:void 0})};export const composeGeneralHandler=t=>{let s=t.decorators,a="";for(let e of Object.keys(s))a+=`,${e}: app.decorators.${e}`;let i=t.staticRouter,u="";for(let[e,r]of Object.entries(i.map))u+=`case '${e}':
${b}
}`;let x=Function("hooks",b);return x({handler:l,hooks:n,validator:c,handleError:m,utils:{mapResponse:t,mapEarlyResponse:r,parseQuery:e},error:{ParseError:i,NotFoundError:d,ValidationError:u,InternalServerError:f},meta:$,SCHEMA:$?s:void 0,DEFS:$?a:void 0})};export const composeGeneralHandler=t=>{let s=t.decorators,a="";for(let e of Object.keys(s))a+=`,${e}: app.decorators.${e}`;let i=t.staticRouter,u="";for(let[e,r]of Object.entries(i.map))u+=`case '${e}':
switch(method) {

@@ -179,0 +179,0 @@ ${r}}

{
"name": "elysia",
"description": "Fast, and friendly Bun web framework",
"version": "0.5.0-exp-230505.1651",
"version": "0.5.0-exp-230505.1731",
"author": {

@@ -6,0 +6,0 @@ "name": "saltyAom",

@@ -161,4 +161,2 @@ import type { Elysia } from '.'

if (hasStrictContentType || schema) {
if (!schema) fnLiteral += 'if(body) '
fnLiteral += `try {\n`

@@ -165,0 +163,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc