|
28 | 28 | };
|
29 | 29 |
|
30 | 30 | let format=compose("url",query,either("format",swap("binary")));
|
31 |
| - |
32 |
| - export default |
33 |
| - {get:compose(combine(compose |
34 |
| -(swap("path","resolve","./"),resolve,true,classified,remember(compose(drop(1),list),source=>source)//,list |
35 |
| -,tether(prune,([field,value],path)=>value===null |
| 31 | + let unfold=combine(compose(drop(1),"url",slip("url","parse"),resolve,"pathname"),crop(1)); |
| 32 | + let fold=whether(is("/get"),compose(drop(1),infer(scope,([field,value])=> |
| 33 | + /[()]/.test(value.name)?value.name:serialize(value,null))),swap({})); |
| 34 | + let route=tether(prune,([field,value],path)=>value===null |
36 | 35 | ?describe(compose(drop(1),combine
|
37 | 36 | (compose(swap([path,field].flat().join("/")),pass(permit,classified)),format
|
38 | 37 | ),access),field)
|
39 |
| -:value) |
40 |
| -),compose |
41 |
| -(combine(compose(drop(1),"url",slip("url","parse"),resolve,"pathname"),crop(1)) |
42 |
| -,whether(is("/get"),compose(drop(1),infer(scope,([field,value])=> |
43 |
| - /[()]/.test(value.name)?value.name:serialize(value,null))),swap({})) |
44 |
| -)),merge) |
| 38 | +:value); |
| 39 | + |
| 40 | + export default |
| 41 | + {get:compose(combine(compose |
| 42 | +(swap("path","resolve","./"),resolve,true,classified |
| 43 | +,remember(compose(drop(1),list),source=>source),route |
| 44 | +),compose(unfold,fold)),merge) |
45 | 45 | ,put:compose
|
46 | 46 | (drop(1),pass(buffer(combine
|
47 | 47 | (compose(path,slip("path","resolve","./"),resolve,published,true,permit)
|
|
0 commit comments