@mapl/web 0.6.0 → 0.6.3

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.
@@ -0,0 +1,27 @@
1
+ import { type ExportedDependency, type Value } from "runtime-compiler";
2
+ import { type HandlerScope } from "../../compilers/scope.ts";
3
+ import type { Router } from "../../router.ts";
4
+ /**
5
+ * Describe compiler compiled result
6
+ */
7
+ export type CompiledResult = Bun.Serve.Routes<any, string>;
8
+ /**
9
+ * Load all global state for a router
10
+ *
11
+ * @example
12
+ * setHandlerArgs(constants.GENERIC_ARGS);
13
+ * _load(router);
14
+ */
15
+ export declare const _load: (router: Router) => void;
16
+ export declare const loadToString: () => Value<CompiledResult>;
17
+ /**
18
+ * Hydrate router data
19
+ */
20
+ export declare const _hydrate: (router: Router, scope: HandlerScope) => void;
21
+ /**
22
+ * @example
23
+ * export default {
24
+ * fetch: getDependency(build(app))
25
+ * };
26
+ */
27
+ export declare const build: (router: Router) => ExportedDependency<CompiledResult>;
@@ -0,0 +1 @@
1
+ import{exportScope,markExported}from"runtime-compiler";import{isHydrating}from"runtime-compiler/config";import{TMP_SCOPE,initScope,setHandlerArgs}from"../../compilers/globals.js";import{wrapScope}from"../../compilers/scope.js";import{initRouter,insertItem,toRoutes}from"./router.js";let PARAM_MAP;let loadToMethodRouter=(router,scope,prefix,content)=>{for(let i=0,layers=router[0];i<layers.length;i++){let self=layers[i];content+=self[0](self,scope)}for(let i=0,routes=router[1];i<routes.length;i++){let route=routes[i];let routeScope=scope.slice();let path=route[1];let routeContent;if(path.includes(`*`)){let paramCount;if(path.endsWith(`**`)){routeContent=`let{`;paramCount=0;let len=path.length-3,newPath=``,startIdx=0;for(let i=path.indexOf(`*`);i>-1&&i<len;i=path.indexOf(`*`,i+2)){let id=`q`+ paramCount++;routeContent+=id+`,`;newPath+=path.slice(startIdx,i)+`:`+id;startIdx=i+1}startIdx<len&&(newPath+=path.slice(startIdx,len));path=newPath+`/*`;routeContent+=`"*":q`+ paramCount++}else{routeContent=`let{q0`;paramCount=1;let firstStar=path.indexOf(`*`);let newPath=path.slice(0,firstStar)+`:q0`,startIdx=firstStar+1;for(let i=path.indexOf(`*`,firstStar+2);i>-1;i=path.indexOf(`*`,i+2)){let id=`q`+ paramCount++;routeContent+=id+`,`;newPath+=path.slice(startIdx,i)+`:`+id;startIdx=i+1}path=startIdx<path.length?newPath+path.slice(startIdx):newPath}routeContent+=`}=mr.params,mu=mr.url,e=mu.indexOf('?',11);`+content;for(let j=2,params=PARAM_MAP[paramCount];j<route.length;j++){let self=route[j];routeContent+=self[0](self,routeScope,params,paramCount)}}else{routeContent=`let mu=mr.url,e=mu.indexOf('?',11);`+content;for(let j=2;j<route.length;j++){let self=route[j];routeContent+=self[0](self,routeScope,``,0)}}insertItem(route[0],prefix+path,wrapScope(routeScope,routeContent))}for(let i=2;i<router.length;i++){let childRouter=router[i];loadToMethodRouter(childRouter[1],scope.slice(),childRouter[0]===`/`?prefix:prefix+childRouter[0],content)}};export let _load=router=>{initScope();initRouter();PARAM_MAP=[``,`q0`];for(let i=1;i<=8;i++)PARAM_MAP.push(`${PARAM_MAP[i]},q${i}`);loadToMethodRouter(router,[0],``,``)};export let loadToString=toRoutes;export let _hydrate=(router,scope)=>{for(let i=0,layers=router[0];i<layers.length;i++){let self=layers[i];self[0](self,scope)}for(let i=0,routes=router[1];i<routes.length;i++){let route=routes[i];let routeScope=scope.slice();let path=route[1];if(path.includes(`*`)){let paramCount=1;{let i=path.lastIndexOf(`*`);if(i>1){i=path.lastIndexOf(`*`,i-2);while(i>1){paramCount++;i=path.lastIndexOf(`*`,i-2)}i>-1&&paramCount++}}for(let j=2,params=PARAM_MAP[paramCount];j<route.length;j++){let self=route[j];self[0](self,routeScope,params,paramCount)}}else for(let j=2;j<route.length;j++){let self=route[j];self[0](self,routeScope,``,0)}}for(let i=2;i<router.length;i++)_hydrate(router[i][1],scope.slice())};export let build=isHydrating?router=>(_hydrate(router,[0]),markExported()):router=>(setHandlerArgs(`(mr,mi)`),_load(router),exportScope(TMP_SCOPE,loadToString()));
@@ -0,0 +1,9 @@
1
+ export declare const initRouter: () => void;
2
+ /**
3
+ * Path and content must be processed before inserting
4
+ * @param method
5
+ * @param path
6
+ * @param content
7
+ */
8
+ export declare const insertItem: (method: string, path: string, content: string) => void;
9
+ export declare const toRoutes: () => string;
@@ -0,0 +1 @@
1
+ let METHOD_ROUTER;let DEOPT_PATHS;export let initRouter=()=>{METHOD_ROUTER={};DEOPT_PATHS=[]};export let insertItem=(method,path,content)=>{let methods=METHOD_ROUTER[path];if(methods!=null)methods[``]??DEOPT_PATHS.push(path);else methods=METHOD_ROUTER[path]={};method!==`GET`&&method!==`POST`&&method!==`PUT`&&method!==`DELETE`&&method!==`PATCH`&&method!==`OPTIONS`&&DEOPT_PATHS.push(path);methods[method]=content};export let toRoutes=()=>{let str=`{`;for(let i=0;i<DEOPT_PATHS.length;i++){let back=`return mnf},`;let path=DEOPT_PATHS[i];str+=`"`+path+`":(mr,mi)=>{`;let methods=METHOD_ROUTER[path];delete METHOD_ROUTER[path];let first=true;for(let method in methods)if(method===``)back=methods[``]+`},`;else{if(first){first=false;str+=`if(`}else str+=`else if(`;str+=`mr.method==="`+method+`"){`+methods[method]+`}`}str+=back}for(const path in METHOD_ROUTER){str+=`"`+path;let methods=METHOD_ROUTER[path];if(methods[``]==null){str+=`":{`;for(const method in methods)str+=method+`:(mr,mi)=>{`+methods[method]+`},`;str+=`},`}else str+=`":(mr,mi)=>{`+methods[``]+`},`}return str+`}`};
package/bun/index.d.ts CHANGED
@@ -2,3 +2,4 @@ import type { BunRequest, Server } from "bun";
2
2
  import type { Identifier } from "runtime-compiler";
3
3
  export declare const request: Identifier<BunRequest>;
4
4
  export declare const server: Identifier<Server<any>>;
5
+ export { build } from "./compiler/index.ts";
package/bun/index.js CHANGED
@@ -1 +1 @@
1
- export let request=`mr`;export let server=`mi`;
1
+ export let request=`mr`;export let server=`mi`;export{build}from"./compiler/index.js";
@@ -10,7 +10,6 @@ export declare const loadToString: () => Value<CompiledResult>;
10
10
  * const createFetch = getDependency(build(app));
11
11
  *
12
12
  * export default {
13
- * // Must be set as 'fetch' property of an object
14
13
  * fetch(...args) {
15
14
  * // Set up stuff...
16
15
  * return (this.fetch = createFetch())(...args);
@@ -1 +1 @@
1
- import{evaluate,exportExpr,markExported}from"runtime-compiler";import{isHydrating,onlyBuild}from"runtime-compiler/config";import{_hydrate,_load,loadToString as genericLoadToString}from"../generic/compiler.js";import{SCOPE,setHandlerArgs}from"../compilers/globals.js";export let loadToString=()=>`()=>{`+SCOPE[0]+`return `+genericLoadToString()+`}`;export let build=isHydrating?router=>(_hydrate(router,[0]),markExported()):onlyBuild?router=>(setHandlerArgs(`(mr,mi,mec)`),_load(router),exportExpr(loadToString())):router=>{setHandlerArgs(`(mr,mi,mec)`);_load(router);let id=exportExpr(loadToString());evaluate();return id};
1
+ import{exportExpr,markExported}from"runtime-compiler";import{isHydrating}from"runtime-compiler/config";import{_hydrate,_load,loadToString as genericLoadToString}from"../generic/compiler.js";import{TMP_SCOPE,setHandlerArgs}from"../compilers/globals.js";export let loadToString=()=>`()=>{`+TMP_SCOPE[0]+`return `+genericLoadToString()+`}`;export let build=isHydrating?router=>(_hydrate(router,[0]),markExported()):router=>(setHandlerArgs(`(mr,mi,mec)`),_load(router),exportExpr(loadToString()));
@@ -1,4 +1,3 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
1
  import type { Request as WorkerRequest, ExecutionContext } from "@cloudflare/workers-types";
3
2
  import type { Identifier } from "runtime-compiler";
4
3
  export declare const request: Identifier<WorkerRequest>;
package/compilers/call.js CHANGED
@@ -1 +1 @@
1
- import{declareLocal,injectExternal}from"runtime-compiler";import{isHydrating}from"runtime-compiler/config";import{AsyncFunction}from"runtime-compiler/utils";import{SCOPE}from"./globals.js";export let buildCall=isHydrating?(scope,fn,_,argsCount)=>{fn instanceof AsyncFunction&&(scope[0]|=1);fn.length>argsCount&&(scope[0]|=2);return injectExternal(fn)}:(scope,fn,args,argsCount)=>{let str=declareLocal(SCOPE,injectExternal(fn))+`(`+args;if(fn instanceof AsyncFunction){scope[0]|=1;str=`await `+str}if(fn.length>argsCount){scope[0]|=2;str+=`,mc`}return str+`)`};export let buildRouteCall=isHydrating?(self,scope,_,paramsCount)=>{let args=self[2];return args.length>0?paramsCount>0?buildCall(scope,self[1],``,args.length+paramsCount):buildCall(scope,self[1],``,args.length):paramsCount>0?buildCall(scope,self[1],``,paramsCount):buildCall(scope,self[1],``,0)}:(self,scope,params,paramsCount)=>{let args=self[2];return args.length>0?paramsCount>0?buildCall(scope,self[1],args.join()+`,`+params,args.length+paramsCount):buildCall(scope,self[1],args.join(),args.length):paramsCount>0?buildCall(scope,self[1],params,paramsCount):buildCall(scope,self[1],``,0)};
1
+ import{declareLocal,injectExternal}from"runtime-compiler";import{isHydrating}from"runtime-compiler/config";import{AsyncFunction}from"runtime-compiler/utils";import{TMP_SCOPE}from"./globals.js";export let buildCall=isHydrating?(scope,fn,_,argsCount)=>{injectExternal(fn);fn instanceof AsyncFunction&&(scope[0]|=1);fn.length>argsCount&&(scope[0]|=2);return``}:(scope,fn,args,argsCount)=>{let str=declareLocal(TMP_SCOPE,injectExternal(fn))+`(`+args;if(fn instanceof AsyncFunction){scope[0]|=1;str=`await `+str}if(fn.length>argsCount){scope[0]|=2;str+=`,mc`}return str+`)`};export let buildRouteCall=isHydrating?(self,scope,_,paramsCount)=>buildCall(scope,self[1],``,self[2].length+paramsCount):(self,scope,params,paramsCount)=>{let args=self[2];return args.length>0?paramsCount>0?buildCall(scope,self[1],args.join()+`,`+params,args.length+paramsCount):buildCall(scope,self[1],args.join(),args.length):paramsCount>0?buildCall(scope,self[1],params,paramsCount):buildCall(scope,self[1],``,0)};
@@ -13,9 +13,9 @@ export declare const setHandlerArgs: (str: string) => void;
13
13
  /**
14
14
  * Store local variables
15
15
  */
16
- export declare let SCOPE: Scope;
16
+ export declare let TMP_SCOPE: Scope;
17
17
  /**
18
18
  * Check whether value is an error
19
19
  */
20
20
  export declare let IS_ERR: Identifier<typeof isErr>;
21
- export declare const clearScope: () => void;
21
+ export declare const initScope: () => void;
@@ -1 +1 @@
1
- import{declareLocal,injectExternal}from"runtime-compiler";import{isErr}from"@safe-std/error";export let HANDLER_ARGS;export let setHandlerArgs=str=>{HANDLER_ARGS=str};export let SCOPE;export let IS_ERR;export let clearScope=()=>{SCOPE=[`let mhh=['content-type','text/html'],mho={headers:mhh},mnf=new Response(null,{status:404});`,0];IS_ERR=declareLocal(SCOPE,injectExternal(isErr))};clearScope();
1
+ import{declareLocal,injectExternal}from"runtime-compiler";import{isErr}from"@safe-std/error";export let HANDLER_ARGS;export let setHandlerArgs=str=>{HANDLER_ARGS=str};export let TMP_SCOPE;export let IS_ERR;export let initScope=()=>{TMP_SCOPE=[`let mhh=['content-type','text/html'],mho={headers:mhh},mnf=new Response(null,{status:404});`,0];IS_ERR=declareLocal(TMP_SCOPE,injectExternal(isErr))};
@@ -1 +1 @@
1
- import{declareLocal}from"runtime-compiler";import{HANDLER_ARGS,SCOPE}from"./globals.js";export let wrapScope=(scope,content)=>{let flags=scope[0];(flags&2)===2&&(content=`let mh=[],mc={status:200,headers:mh};`+content);return(flags&1)===1?`return `+declareLocal(SCOPE,`async`+HANDLER_ARGS+`=>{`+content+`}`)+HANDLER_ARGS:content};
1
+ import{declareLocal}from"runtime-compiler";import{HANDLER_ARGS,TMP_SCOPE}from"./globals.js";export let wrapScope=(scope,content)=>{let flags=scope[0];(flags&2)===2&&(content=`let mh=[],mc={status:200,headers:mh};`+content);return(flags&1)===1?`return `+declareLocal(TMP_SCOPE,`async`+HANDLER_ARGS+`=>{`+content+`}`)+HANDLER_ARGS:content};
package/deno/compiler.js CHANGED
@@ -1 +1 @@
1
- import{evaluate,exportExpr,markExported}from"runtime-compiler";import{isHydrating,onlyBuild}from"runtime-compiler/config";import{_hydrate,_load,loadToString}from"../generic/compiler.js";import{setHandlerArgs}from"../compilers/globals.js";export let build=isHydrating?router=>(_hydrate(router,[0]),markExported()):onlyBuild?router=>(setHandlerArgs(`(mr,mi)`),_load(router),exportExpr(loadToString())):router=>{setHandlerArgs(`(mr,mi)`);_load(router);let id=exportExpr(loadToString());evaluate();return id};
1
+ import{exportExpr,markExported}from"runtime-compiler";import{isHydrating}from"runtime-compiler/config";import{_hydrate,_load,loadToString}from"../generic/compiler.js";import{setHandlerArgs}from"../compilers/globals.js";export let build=isHydrating?router=>(_hydrate(router,[0]),markExported()):router=>(setHandlerArgs(`(mr,mi)`),_load(router),exportExpr(loadToString()));
@@ -21,7 +21,6 @@ export declare const _hydrate: (router: Router, scope: HandlerScope) => void;
21
21
  /**
22
22
  * @example
23
23
  * export default {
24
- * // Must be set as a property of an object
25
24
  * fetch: getDependency(build(app))
26
25
  * };
27
26
  */
@@ -1 +1 @@
1
- import{createRouter as createMethodRouter,insertItem as insertItemToMethodRouter}from"@mapl/router/method";import compileMethodRouter from"@mapl/router/method/compiler";import{countParams}from"@mapl/router/utils";import{evaluate,exportScope,markExported}from"runtime-compiler";import{isHydrating,onlyBuild}from"runtime-compiler/config";import{SCOPE,setHandlerArgs}from"../compilers/globals.js";import{wrapScope}from"../compilers/scope.js";let METHOD_ROUTER;let PARAM_MAP;let loadToMethodRouter=(router,scope,prefix,content)=>{for(let i=0,layers=router[0];i<layers.length;i++){let self=layers[i];content+=self[0](self,scope)}for(let i=0,routes=router[1];i<routes.length;i++){let route=routes[i];let routeScope=scope.slice();let routeContent=content;for(let j=2,paramCount=countParams(route[1]),params=PARAM_MAP[paramCount];j<route.length;j++){let self=route[j];routeContent+=self[0](self,routeScope,params,paramCount)}insertItemToMethodRouter(METHOD_ROUTER,route[0],prefix+route[1],wrapScope(routeScope,routeContent))}for(let i=2;i<router.length;i++){let childRouter=router[i];loadToMethodRouter(childRouter[1],scope.slice(),childRouter[0]===`/`?prefix:prefix+childRouter[0],content)}};export let _load=router=>{METHOD_ROUTER=createMethodRouter();PARAM_MAP=[``,`q0`];for(let i=1;i<=8;i++)PARAM_MAP.push(`${PARAM_MAP[i]},q${i}`);loadToMethodRouter(router,[0],``,``)};export let loadToString=()=>`(mr)=>{${compileMethodRouter(METHOD_ROUTER,`mr.method`,`let mu=mr.url,s=mu.indexOf('/',10)+1,e=mu.indexOf('?',s),p=e===-1?mu.slice(s):mu.slice(s,e);`,0)}return mnf}`;export let _hydrate=(router,scope)=>{for(let i=0,layers=router[0];i<layers.length;i++){let self=layers[i];self[0](self,scope)}for(let i=0,routes=router[1];i<routes.length;i++)for(let j=2,route=routes[i],routeScope=scope.slice(),paramCount=countParams(route[1]);j<route.length;j++){let self=route[j];self[0](self,routeScope,``,paramCount)}for(let i=2;i<router.length;i++)_hydrate(router[i][1],scope.slice())};export let build=isHydrating?router=>(_hydrate(router,[0]),markExported()):onlyBuild?router=>(setHandlerArgs(`(mr)`),_load(router),exportScope(SCOPE,loadToString())):router=>{setHandlerArgs(`(mr)`);_load(router);let id=exportScope(SCOPE,loadToString());evaluate();return id};
1
+ import{createRouter as createMethodRouter,insertItem as insertItemToMethodRouter}from"@mapl/router/method";import compileMethodRouter from"@mapl/router/method/compiler";import{countParams}from"@mapl/router/utils";import{exportScope,markExported}from"runtime-compiler";import{isHydrating}from"runtime-compiler/config";import{TMP_SCOPE,initScope,setHandlerArgs}from"../compilers/globals.js";import{wrapScope}from"../compilers/scope.js";let METHOD_ROUTER;let PARAM_MAP;let loadToMethodRouter=(router,scope,prefix,content)=>{for(let i=0,layers=router[0];i<layers.length;i++){let self=layers[i];content+=self[0](self,scope)}for(let i=0,routes=router[1];i<routes.length;i++){let route=routes[i];let routeScope=scope.slice();let routeContent=content;for(let j=2,paramCount=countParams(route[1]),params=PARAM_MAP[paramCount];j<route.length;j++){let self=route[j];routeContent+=self[0](self,routeScope,params,paramCount)}insertItemToMethodRouter(METHOD_ROUTER,route[0],prefix+route[1],wrapScope(routeScope,routeContent))}for(let i=2;i<router.length;i++){let childRouter=router[i];loadToMethodRouter(childRouter[1],scope.slice(),childRouter[0]===`/`?prefix:prefix+childRouter[0],content)}};export let _load=router=>{initScope();METHOD_ROUTER=createMethodRouter();PARAM_MAP=[``,`q0`];for(let i=1;i<=8;i++)PARAM_MAP.push(`${PARAM_MAP[i]},q${i}`);loadToMethodRouter(router,[0],``,``)};export let loadToString=()=>`(mr)=>{${compileMethodRouter(METHOD_ROUTER,`mr.method`,`let mu=mr.url,s=mu.indexOf('/',10)+1,e=mu.indexOf('?',s),p=e===-1?mu.slice(s):mu.slice(s,e);`,0)}return mnf}`;export let _hydrate=(router,scope)=>{for(let i=0,layers=router[0];i<layers.length;i++){let self=layers[i];self[0](self,scope)}for(let i=0,routes=router[1];i<routes.length;i++)for(let j=2,route=routes[i],routeScope=scope.slice(),paramCount=countParams(route[1]);j<route.length;j++){let self=route[j];self[0](self,routeScope,``,paramCount)}for(let i=2;i<router.length;i++)_hydrate(router[i][1],scope.slice())};export let build=isHydrating?router=>(_hydrate(router,[0]),markExported()):router=>(setHandlerArgs(`(mr)`),_load(router),exportScope(TMP_SCOPE,loadToString()));
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@mapl/web","version":"0.6.0","description":"A compiled web framework for all runtimes","keywords":["fast","lightweight","cross-runtime","framework","web","backend"],"repository":{"type":"git","url":"git+https://github.com/mapljs/web.git"},"license":"MIT","type":"module","main":"./index.js","types":"./index.d.ts","dependencies":{"@mapl/router":"^0.8.2","@safe-std/error":"^2.0.4","runtime-compiler":"^3.0.9"},"exports":{"./utils":"./utils.js","./layer":"./layer.js","./constants":"./constants.js","./cloudflare":"./cloudflare/index.js","./cloudflare/compiler":"./cloudflare/compiler.js","./deno":"./deno/index.js","./bun":"./bun/index.js","./response":"./response.js",".":"./index.js","./generic":"./generic/index.js","./compilers/call":"./compilers/call.js","./router":"./router.js","./generic/compiler":"./generic/compiler.js","./compilers/globals":"./compilers/globals.js","./deno/compiler":"./deno/compiler.js","./compilers/scope":"./compilers/scope.js"}}
1
+ {"name":"@mapl/web","version":"0.6.3","description":"A compiled web framework for all runtimes","keywords":["fast","lightweight","cross-runtime","framework","web","backend"],"repository":{"type":"git","url":"git+https://github.com/mapljs/web.git"},"license":"MIT","type":"module","main":"./index.js","types":"./index.d.ts","dependencies":{"@mapl/router":"^0.8.4","@safe-std/error":"^2.0.4","runtime-compiler":"^3.1.1"},"exports":{"./utils":"./utils.js","./constants":"./constants.js","./router":"./router.js","./cloudflare/compiler":"./cloudflare/compiler.js",".":"./index.js","./response":"./response.js","./cloudflare":"./cloudflare/index.js","./layer":"./layer.js","./bun/compiler/router":"./bun/compiler/router.js","./generic/compiler":"./generic/compiler.js","./compilers/call":"./compilers/call.js","./compilers/globals":"./compilers/globals.js","./deno/compiler":"./deno/compiler.js","./compilers/scope":"./compilers/scope.js","./deno":"./deno/index.js","./bun":"./bun/index.js","./bun/compiler":"./bun/compiler/index.js","./generic":"./generic/index.js"}}
package/router.d.ts CHANGED
@@ -30,4 +30,3 @@ export declare const put: HandleMethod;
30
30
  export declare const del: HandleMethod;
31
31
  export declare const patch: HandleMethod;
32
32
  export declare const options: HandleMethod;
33
- export declare const trace: HandleMethod;
package/router.js CHANGED
@@ -1 +1 @@
1
- import{argsToArray}from"./utils.js";export let init=argsToArray;export let handle=argsToArray;export let mount=argsToArray;let GET=[`GET`];export let get=(...args)=>GET.concat(args);let POST=[`POST`];export let post=(...args)=>POST.concat(args);let PUT=[`PUT`];export let put=(...args)=>PUT.concat(args);let DELETE=[`DELETE`];export let del=(...args)=>DELETE.concat(args);let PATCH=[`PATCH`];export let patch=(...args)=>PATCH.concat(args);let OPTIONS=[`OPTIONS`];export let options=(...args)=>OPTIONS.concat(args);let TRACE=[`TRACE`];export let trace=(...args)=>TRACE.concat(args);
1
+ import{argsToArray}from"./utils.js";export let init=argsToArray;export let handle=argsToArray;export let mount=argsToArray;let GET=[`GET`];export let get=(...args)=>GET.concat(args);let POST=[`POST`];export let post=(...args)=>POST.concat(args);let PUT=[`PUT`];export let put=(...args)=>PUT.concat(args);let DELETE=[`DELETE`];export let del=(...args)=>DELETE.concat(args);let PATCH=[`PATCH`];export let patch=(...args)=>PATCH.concat(args);let OPTIONS=[`OPTIONS`];export let options=(...args)=>OPTIONS.concat(args);