@mapl/web 0.1.4 → 0.1.5

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/constants.js CHANGED
@@ -1 +1 @@
1
- import{MAPL,HEADERS,CTX,PATH,REQ,URL,PATH_START,PATH_END,TMP}from"@mapl/framework/constants.js";export*from"@mapl/framework/constants.js";export let WEB=MAPL+`w`;export let CTX_FN=WEB+`c`;export let CTX_INIT=`let `+HEADERS+`=[],`+CTX+`=`+CTX_FN+`(`+REQ+`,`+HEADERS+`);`;export let PARSE_PATH=`let `+URL+`=`+REQ+`.url,`+PATH_START+`=`+URL+`.indexOf("/",12)+1,`+PATH_END+`=`+URL+`.indexOf("?",`+PATH_START+`),`+PATH+`=`+PATH_END+`===-1?`+URL+`.slice(`+PATH_START+`):`+URL+`.substring(`+PATH_START+`,`+PATH_END+`);`;export let CHTML=WEB+`h`;export let CJSON=WEB+`j`;export let OHTML=WEB+`oh`;export let OJSON=WEB+`oj`;export let R404=WEB+`n`;export let R400=WEB+`b`;export let GLOBALS=`var `+TMP+`=["text/html","application/json"].map(c=>["Content-Type",c]),[`+CHTML+`,`+CJSON+`]=`+TMP+`,[`+OHTML+`,`+OJSON+`]=`+TMP+`.map(c=>({headers:[c]})),[`+R404+`,`+R400+`]=[404,400].map(s=>new Response(null,{status:s}))`;
1
+ import{MAPL,HEADERS,CTX,PATH,REQ,URL,PATH_START,PATH_END,TMP}from"@mapl/framework/constants.js";export*from"@mapl/framework/constants.js";export let WEB=MAPL+`w`;export let CTX_FN=WEB+`c`;export let CTX_INIT=`let `+HEADERS+`=[],`+CTX+`=`+CTX_FN+`(`+REQ+`,`+HEADERS+`);`;export let PARSE_PATH=`let `+URL+`=`+REQ+`.url,`+PATH_START+`=`+URL+`.indexOf("/",12)+1,`+PATH_END+`=`+URL+`.indexOf("?",`+PATH_START+`),`+PATH+`=`+PATH_END+`===-1?`+URL+`.slice(`+PATH_START+`):`+URL+`.slice(`+PATH_START+`,`+PATH_END+`);`;export let CHTML=WEB+`h`;export let CJSON=WEB+`j`;export let OHTML=WEB+`oh`;export let OJSON=WEB+`oj`;export let R404=WEB+`n`;export let R400=WEB+`b`;export let GLOBALS=`var `+TMP+`=["text/html","application/json"].map(c=>["Content-Type",c]),[`+CHTML+`,`+CJSON+`]=`+TMP+`,[`+OHTML+`,`+OJSON+`]=`+TMP+`.map(c=>({headers:[c]})),[`+R404+`,`+R400+`]=[404,400].map(s=>new Response(null,{status:s}))`;
package/core/compile.js CHANGED
@@ -1 +1 @@
1
- import{compileGroup,createArgSet,isFuncAsync}from"@mapl/framework";import compile from"@mapl/router/method/compiler.js";import{countParams}from"@mapl/router/path/index.js";import{isErr}from"safe-throw";import createContext from"./context.js";let paramArgs=createArgSet(new Array(16).fill(0).map((_1,i)=>`q`+i));let compileReturn=(dat,fnAsync,scopeAsync,contextCreated,result)=>{let typ=dat.type;if(typ===`raw`)return`return `+result;if(fnAsync)result=`await `+result;let str=typ==null?`return new Response(`+result+(contextCreated?`,c)`:`)`):contextCreated?`mh.push(`+(typ===`json`?`mwj`:`mwh`)+`);return new Response(`+(typ===`json`?`JSON.stringify(`+result+`)`:result)+`,c)`:`return new Response(`+(typ===`json`?`JSON.stringify(`+result+`),mwoj`:result+`,mwoh`)+`)`;return scopeAsync?str+`})()`:fnAsync?`return (async()=>{`+str+`})()`:str};export default router=>{let baseRouter={};let dependencies=[];compileGroup(router,[baseRouter,dependencies,`let mh=[],c=mwc(r,mh);`,(fn,dat,path,state,scope)=>{let call=`f`+state[1].push(fn)+`(`;let paramCount=countParams(path);if(paramCount>0)call+=paramArgs[paramCount];if(fn.length>paramCount){call+=paramCount===0?`c`:`,c`;if(!scope[1])return state[2]+compileReturn(dat,isFuncAsync(fn),scope[0],true,call+`)`)}return compileReturn(dat,isFuncAsync(fn),scope[0],scope[1],call+`)`)},(fn,dat,state,scope)=>{let call=`f`+state[1].push(fn)+`(t`;if(fn.length>1){call+=`,c`;if(!scope[1])return state[2]+compileReturn(dat,isFuncAsync(fn),scope[0],true,call+`)`)}return compileReturn(dat,isFuncAsync(fn),scope[0],scope[1],call+`)`)}],[false,false,null,`return mwb`],``,``);return Function(`me`,`mwc`,...dependencies.map((_,i)=>`f`+(i+1)),`"use strict";var t=["text/html","application/json"].map(c=>["Content-Type",c]),[mwh,mwj]=t,[mwoh,mwoj]=t.map(c=>({headers:[c]})),[mwn,mwb]=[404,400].map(s=>new Response(null,{status:s}));return(r)=>{`+compile(baseRouter,`r.method`,`let u=r.url,s=u.indexOf("/",12)+1,e=u.indexOf("?",s),p=e===-1?u.slice(s):u.substring(s,e);`,1)+`return mwn}`)(isErr,createContext,...dependencies)};
1
+ import{compileGroup,createArgSet,isFuncAsync}from"@mapl/framework";import compile from"@mapl/router/method/compiler.js";import{countParams}from"@mapl/router/path/index.js";import{isErr}from"safe-throw";import createContext from"./context.js";let paramArgs=createArgSet(new Array(16).fill(0).map((_1,i)=>`q`+i));let compileReturn=(dat,fnAsync,scopeAsync,contextCreated,result)=>{let typ=dat.type;if(typ===`raw`)return`return `+result;if(fnAsync)result=`await `+result;let str=typ==null?`return new Response(`+result+(contextCreated?`,c)`:`)`):contextCreated?`mh.push(`+(typ===`json`?`mwj`:`mwh`)+`);return new Response(`+(typ===`json`?`JSON.stringify(`+result+`)`:result)+`,c)`:`return new Response(`+(typ===`json`?`JSON.stringify(`+result+`),mwoj`:result+`,mwoh`)+`)`;return scopeAsync?str+`})()`:fnAsync?`return (async()=>{`+str+`})()`:str};export default router=>{let baseRouter={};let dependencies=[];compileGroup(router,[baseRouter,dependencies,`let mh=[],c=mwc(r,mh);`,(fn,dat,path,state,scope)=>{let call=`f`+state[1].push(fn)+`(`;let paramCount=countParams(path);if(paramCount>0)call+=paramArgs[paramCount];if(fn.length>paramCount){call+=paramCount===0?`c`:`,c`;if(!scope[1])return state[2]+compileReturn(dat,isFuncAsync(fn),scope[0],true,call+`)`)}return compileReturn(dat,isFuncAsync(fn),scope[0],scope[1],call+`)`)},(fn,dat,state,scope)=>{let call=`f`+state[1].push(fn)+`(t`;if(fn.length>1){call+=`,c`;if(!scope[1])return state[2]+compileReturn(dat,isFuncAsync(fn),scope[0],true,call+`)`)}return compileReturn(dat,isFuncAsync(fn),scope[0],scope[1],call+`)`)}],[false,false,null,`return mwb`],``,``);return Function(`me`,`mwc`,...dependencies.map((_,i)=>`f`+(i+1)),`"use strict";var t=["text/html","application/json"].map(c=>["Content-Type",c]),[mwh,mwj]=t,[mwoh,mwoj]=t.map(c=>({headers:[c]})),[mwn,mwb]=[404,400].map(s=>new Response(null,{status:s}));return(r)=>{`+compile(baseRouter,`r.method`,`let u=r.url,s=u.indexOf("/",12)+1,e=u.indexOf("?",s),p=e===-1?u.slice(s):u.slice(s,e);`,1)+`return mwn}`)(isErr,createContext,...dependencies)};
package/core/context.d.ts CHANGED
@@ -5,5 +5,5 @@ export interface Context {
5
5
  status?: number;
6
6
  statusText?: string;
7
7
  }
8
- declare const _default: (req: Request, headers: Header[]) => Context;
8
+ declare const _default: (r: Request, h: Header[]) => Context;
9
9
  export default _default;
package/core/context.js CHANGED
@@ -1 +1 @@
1
- import{proto}from"./utils.js";let ctxProto=proto({req:void 0,headers:void 0,status:200});export default (req,headers)=>{let obj=Object.create(ctxProto);obj.headers=headers;obj.req=req;return obj};
1
+ export default (r,h)=>({status:200,req:r,headers:h});
package/core/handler.js CHANGED
@@ -1 +1 @@
1
- import{ALL}from"@mapl/router/method/index.js";import{proto}from"./utils.js";export let json={type:`json`};export let html={type:`html`};export let raw={type:`raw`};export let error=(r,f,...dat)=>{r[2]=[f,proto(...dat)];return r};export let route=(method,path,handler,...dat)=>[method,path,handler,proto(...dat)];export let any=(...a)=>route(ALL,...a);export let get=(...a)=>route(`GET`,...a);export let post=(...a)=>route(`POST`,...a);export let put=(...a)=>route(`PUT`,...a);export let del=(...a)=>route(`DELETE`,...a);export let patch=(...a)=>route(`PATCH`,...a);export let options=(...a)=>route(`OPTIONS`,...a);export let trace=(...a)=>route(`TRACE`,...a);
1
+ import{proto}from"./utils.js";export let json={type:`json`};export let html={type:`html`};export let raw={type:`raw`};export let error=(r,f,...dat)=>{r[2]=[f,proto(...dat)];return r};export let route=(method,path,handler,...dat)=>[method,path,handler,proto(...dat)];export let any=(...a)=>route(``,...a);export let get=(...a)=>route(`GET`,...a);export let post=(...a)=>route(`POST`,...a);export let put=(...a)=>route(`PUT`,...a);export let del=(...a)=>route(`DELETE`,...a);export let patch=(...a)=>route(`PATCH`,...a);export let options=(...a)=>route(`OPTIONS`,...a);export let trace=(...a)=>route(`TRACE`,...a);
package/package.json CHANGED
@@ -1,27 +1,28 @@
1
1
  {
2
2
  "name": "@mapl/web",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "A compiled web framework for all runtimes",
5
5
  "keywords": [],
6
+ "repository": "github:mapljs/web",
6
7
  "license": "MIT",
7
8
  "type": "module",
8
9
  "main": "./index.js",
9
10
  "types": "./index.d.ts",
10
11
  "dependencies": {
11
12
  "@mapl/framework": "^0.1.3",
12
- "@mapl/router": "^0.5.0",
13
+ "@mapl/router": "^0.5.1",
13
14
  "safe-throw": "^0.5.2"
14
15
  },
15
16
  "exports": {
16
17
  "./constants": "./constants.js",
18
+ "./core/compile": "./core/compile.js",
17
19
  ".": "./index.js",
20
+ "./utils/body": "./utils/body.js",
21
+ "./core/middleware": "./core/middleware.js",
18
22
  "./core": "./core/index.js",
19
- "./core/compile": "./core/compile.js",
20
23
  "./core/context": "./core/context.js",
21
- "./core/utils": "./core/utils.js",
22
- "./core/middleware": "./core/middleware.js",
23
- "./core/handler": "./core/handler.js",
24
24
  "./utils/cors": "./utils/cors.js",
25
- "./utils/body": "./utils/body.js"
25
+ "./core/utils": "./core/utils.js",
26
+ "./core/handler": "./core/handler.js"
26
27
  }
27
28
  }
package/utils/body.d.ts CHANGED
@@ -1,13 +1,17 @@
1
1
  import { type MiddlewareTypes } from "../core/middleware.js";
2
+ interface TBody<T> {
3
+ body: T;
4
+ }
2
5
  /**
3
6
  * Parse body to text
4
7
  */
5
- export declare const text: MiddlewareTypes<never, Record<"body", string>>;
8
+ export declare const text: MiddlewareTypes<never, TBody<string>>;
6
9
  /**
7
10
  * Parse body to a blob
8
11
  */
9
- export declare const blob: MiddlewareTypes<never, Record<"body", Blob>>;
12
+ export declare const blob: MiddlewareTypes<never, TBody<Blob>>;
10
13
  /**
11
14
  * Parse body to a byte array
12
15
  */
13
- export declare const bytes: MiddlewareTypes<never, Record<"body", Uint8Array>>;
16
+ export declare const bytes: MiddlewareTypes<never, TBody<Uint8Array>>;
17
+ export {};