New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dr-js

Package Overview
Dependencies
Maintainers
1
Versions
243
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dr-js - npm Package Compare versions

Comparing version 0.21.1-dev.2 to 0.21.1-dev.3

9

bin/function.js

@@ -5,3 +5,2 @@ Object.defineProperty(exports,"getDrBrowserScriptHTML",{enumerable:!0,get:function(){return _resource.DR_BROWSER_SCRIPT_TAG}})

Object.defineProperty(exports,"packageVersion",{enumerable:!0,get:function(){return _package.version}})
var _fs=require("fs")
var _os=require("os")

@@ -59,10 +58,10 @@ var _function=require("../library/env/function")

exports.describeServer=describeServer
const commonStartServer=async({protocol:e,hostname:r,port:t,routeConfigList:o,isAddFavicon:s,title:n,extraInfoList:a,log:i})=>{const{server:c,option:l,start:p,stop:u}=(0,_Server.createServer)({protocol:e,hostname:r,port:t})
const d=(0,_Common.createResponderLogEnd)({log:i})
const commonStartServer=async({protocol:e,hostname:r,port:t,routeConfigList:o,isAddFavicon:s,title:n,extraInfoList:a,log:i})=>{const{server:c,option:l,start:p,stop:d}=(0,_Server.createServer)({protocol:e,hostname:r,port:t})
const u=(0,_Common.createResponderLogEnd)({log:i})
s&&(o=[...o,[["/favicon","/favicon.ico"],"GET",(0,_Send.createResponderFavicon)()]])
c.on("request",(0,_Server.createRequestListener)({responderList:[(0,_Common.createResponderLog)({log:i}),(0,_Router.createResponderRouter)({routeMap:(0,_Router.createRouteMap)(o),baseUrl:l.baseUrl})],responderEnd:e=>{(0,_Common.responderEnd)(e)
d(e)}}))
u(e)}}))
await p()
i(describeServer(l,n,a))
return{server:c,option:l,start:p,stop:u}}
return{server:c,option:l,start:p,stop:d}}
exports.commonStartServer=commonStartServer

@@ -23,3 +23,3 @@ var e=require("../../library/common/time")

e[t]=s%t
s===t?(0,a.responderSendJSON)(r,{object:{}}):r.response.destroy()}})()],["/","GET",(0,u.createResponderRouteList)({getRouteMap:()=>(0,u.createRouteMap)(S),extraBodyList:[(0,s.DR_BROWSER_SCRIPT_TAG)()]})]]
s===t?(0,a.responderSendJSON)(r,{object:{}}):r.response.destroy()}})()],["/","GET",(0,u.createResponderRouteListHTML)({getRouteMap:()=>(0,u.createRouteMap)(S),extraBodyList:[(0,s.DR_BROWSER_SCRIPT_TAG)()]})]]
await(0,c.commonStartServer)({protocol:d,hostname:m,port:p,routeConfigList:S,isAddFavicon:!0,title:"TestConnection",log:f})}

@@ -121,11 +121,11 @@ var e=require("../../library/common/error")

const F=async(e,t)=>{const[o,n]=await k(e)
const{type:s,targetId:i,payload:u}=JSON.parse(o)
if(s===c)t(u.id)
else if(s===l){I(`Current ${u.length} user: ${u.join(", ")}`)
a("#button-send").disabled=u.length<=1
a("#button-send",`Send to ${u.length-1} User [Ctrl+Enter]`)
P.groupInfo=u}else if(s===d){const{id:e,text:t,fileName:o,fileSize:r,fileId:n}=u
const{type:s,payload:i}=JSON.parse(o)
if(s===c)t(i.id)
else if(s===l){I(`Current ${i.length} user: ${i.join(", ")}`)
a("#button-send").disabled=i.length<=1
a("#button-send",`Send to ${i.length-1} User [Ctrl+Enter]`)
P.groupInfo=i}else if(s===d){const{id:e,text:t,fileName:o,fileSize:r,fileId:n}=i
t&&x({id:e,text:t})
o&&T({id:e,fileName:o,fileSize:r,fileId:n})}else if(s===p){const{id:e,intent:t}=u
if("request"===t){const{fileId:t}=u
o&&T({id:e,fileName:o,fileSize:r,fileId:n})}else if(s===p){const{id:e,intent:t}=i
if("request"===t){const{fileId:t}=i
const o=P.fileWeakMap.get(a(`#${t}`))

@@ -135,3 +135,3 @@ const r=o&&o.name

P.websocket.send(S(JSON.stringify({type:p,targetId:e,payload:{intent:"response",ok:Boolean(o),fileName:r,fileType:n}}),o))
I(o?`Send file: ${r} to ${e}`:`Miss file request from ${e}`)}else if("response"===t){const{ok:t,fileName:o,fileType:a}=u
I(o?`Send file: ${r} to ${e}`:`Miss file request from ${e}`)}else if("response"===t){const{ok:t,fileName:o,fileType:a}=i
t&&E(o,new r([n],{type:a}))

@@ -138,0 +138,0 @@ I(t?`Get file: ${o} from ${e}`:`Miss file response from ${e}`)}}}

var r=require("../compare")
const e=/^(\d+)\.(\d+)\.(\d+)(.*)$/
const t=r=>{let[,t,a,o,s=""]=e.exec(r)||[]
const t=r=>{let[,t,a,n,o=""]=e.exec(r)||[]
t=parseInt(t)
a=parseInt(a)
o=parseInt(o)
if(isNaN(t)||isNaN(a)||isNaN(o))throw new Error(`invalid version: ${r}`)
return{major:t,minor:a,patch:o,label:s}}
n=parseInt(n)
if(isNaN(t)||isNaN(a)||isNaN(n))throw new Error(`invalid version: ${r}`)
return{major:t,minor:a,patch:n,label:o}}
exports.parseSemVer=t
exports.compareSemVer=(r,e)=>{const o=t(r)
const s=t(e)
return o.major-s.major||o.minor-s.minor||o.patch-s.patch||a(o.label,s.label)}
const a=(e,t)=>e===t?0:t.startsWith(e)?1:e.startsWith(t)?-1:(0,r.compareStringWithNumber)(e,t)
exports.compareSemVer=(r,e)=>{const n=t(r)
const o=t(e)
return n.major-o.major||n.minor-o.minor||n.patch-o.patch||a(n.label,o.label)}
const a=(e,t)=>e===t?0:o(e,t)?1:o(t,e)?-1:(0,r.compareStringWithNumber)(e,t)
const n=/\d\d/
const o=(r,e)=>e.startsWith(r)&&!n.test(e.slice(r.length-1,r.length+1))

@@ -125,4 +125,4 @@ root=window,factory=function(){return function(t){var e={}

n.r(f)
n.d(f,"createTreeDepthFirstSearch",()=>Wt)
n.d(f,"createTreeDepthFirstSearchAsync",()=>Jt)
n.d(f,"createTreeDepthFirstSearch",()=>Jt)
n.d(f,"createTreeDepthFirstSearchAsync",()=>Wt)
n.d(f,"createTreeBreadthFirstSearch",()=>Xt)

@@ -198,4 +198,4 @@ n.d(f,"createTreeBreadthFirstSearchAsync",()=>Zt)

n.d(w,"isIntersect",()=>Ge)
n.d(w,"isContain",()=>We)
n.d(w,"isContainPoint",()=>Je)
n.d(w,"isContain",()=>Je)
n.d(w,"isContainPoint",()=>We)
var x={}

@@ -266,4 +266,4 @@ n.r(x)

n.r(O)
n.d(O,"isString",()=>Wn)
n.d(O,"isBoolean",()=>Jn)
n.d(O,"isString",()=>Jn)
n.d(O,"isBoolean",()=>Wn)
n.d(O,"isNumber",()=>Xn)

@@ -322,4 +322,4 @@ n.d(O,"isInteger",()=>Zn)

n.d(k,"createStateStoreEnhanced",()=>Gr)
n.d(k,"toReduxStore",()=>Wr)
n.d(k,"reducerFromMap",()=>Jr)
n.d(k,"toReduxStore",()=>Jr)
n.d(k,"reducerFromMap",()=>Wr)
n.d(k,"createEntryEnhancer",()=>Xr)

@@ -395,4 +395,4 @@ n.d(k,"createStoreStateSyncReducer",()=>Zr)

n.d(R,"withTimeoutAsync",()=>Go)
n.d(R,"withTimeoutPromise",()=>Wo)
n.d(R,"createInsideOutPromise",()=>Jo)
n.d(R,"withTimeoutPromise",()=>Jo)
n.d(R,"createInsideOutPromise",()=>Wo)
var P={}

@@ -456,15 +456,15 @@ n.r(P)

n.r(V)
n.d(V,"verifyOption",()=>Ks)
n.d(V,"verifyCheckCode",()=>Qs)
n.d(V,"verifyParsedCheckCode",()=>Vs)
n.d(V,"generateLookupData",()=>Hs)
n.d(V,"generateCheckCode",()=>Ys)
n.d(V,"packCheckCode",()=>Gs)
n.d(V,"parseCheckCode",()=>Ws)
n.d(V,"packDataArrayBuffer",()=>Js)
n.d(V,"parseDataArrayBuffer",()=>Xs)
n.d(V,"verifyOption",()=>Vs)
n.d(V,"verifyCheckCode",()=>Hs)
n.d(V,"verifyParsedCheckCode",()=>Ys)
n.d(V,"generateLookupData",()=>Gs)
n.d(V,"generateCheckCode",()=>Js)
n.d(V,"packCheckCode",()=>Ws)
n.d(V,"parseCheckCode",()=>Xs)
n.d(V,"packDataArrayBuffer",()=>Zs)
n.d(V,"parseDataArrayBuffer",()=>ta)
var H={}
n.r(H)
n.d(H,"createUpdater",()=>Zs)
n.d(H,"createUpdateLoop",()=>ta)
n.d(H,"createUpdater",()=>ea)
n.d(H,"createUpdateLoop",()=>na)
var Y={}

@@ -488,21 +488,21 @@ n.r(Y)

n.r(G)
n.d(G,"objectMergeDeep",()=>ea)
n.d(G,"objectSortKey",()=>na)
n.d(G,"objectMergeDeep",()=>ra)
n.d(G,"objectSortKey",()=>oa)
var J={}
n.r(J)
n.d(J,"Object",()=>G)
var W={}
n.r(W)
n.d(W,"Object",()=>G)
var J={}
n.r(J)
n.d(J,"indentLine",()=>oa)
n.d(J,"indentList",()=>sa)
n.d(J,"autoEllipsis",()=>aa)
n.d(J,"splitCamelCase",()=>da)
n.d(J,"joinCamelCase",()=>ha)
n.d(J,"splitSnakeCase",()=>ua)
n.d(J,"joinSnakeCase",()=>pa)
n.d(J,"splitKebabCase",()=>la)
n.d(J,"joinKebabCase",()=>fa)
n.d(J,"escapeHTML",()=>wa)
n.d(J,"unescapeHTML",()=>Aa)
n.d(J,"removeInvalidCharXML",()=>Sa)
n.d(W,"indentLine",()=>aa)
n.d(W,"indentList",()=>ca)
n.d(W,"autoEllipsis",()=>ia)
n.d(W,"splitCamelCase",()=>la)
n.d(W,"joinCamelCase",()=>fa)
n.d(W,"splitSnakeCase",()=>ha)
n.d(W,"joinSnakeCase",()=>ya)
n.d(W,"splitKebabCase",()=>pa)
n.d(W,"joinKebabCase",()=>ga)
n.d(W,"escapeHTML",()=>ba)
n.d(W,"unescapeHTML",()=>Sa)
n.d(W,"removeInvalidCharXML",()=>La)
var X={}

@@ -515,3 +515,3 @@ n.r(X)

n.d(X,"Module",()=>Y)
n.d(X,"Mutable",()=>W)
n.d(X,"Mutable",()=>J)
n.d(X,"Check",()=>O)

@@ -522,3 +522,3 @@ n.d(X,"Compare",()=>F)

n.d(X,"Function",()=>R)
n.d(X,"String",()=>J)
n.d(X,"String",()=>W)
n.d(X,"Time",()=>C)

@@ -528,10 +528,10 @@ n.d(X,"Verify",()=>T)

n.r(Z)
n.d(Z,"Blob",()=>Oa)
n.d(Z,"parseBlobAsText",()=>ka)
n.d(Z,"parseBlobAsDataURL",()=>ja)
n.d(Z,"parseBlobAsArrayBuffer",()=>Da)
n.d(Z,"Blob",()=>Ta)
n.d(Z,"parseBlobAsText",()=>Da)
n.d(Z,"parseBlobAsDataURL",()=>Ca)
n.d(Z,"parseBlobAsArrayBuffer",()=>Ra)
var tt={}
n.r(tt)
n.d(tt,"packBlobPacket",()=>Ra)
n.d(tt,"parseBlobPacket",()=>Pa)
n.d(tt,"packBlobPacket",()=>$a)
n.d(tt,"parseBlobPacket",()=>_a)
var et={}

@@ -543,9 +543,9 @@ n.r(et)

n.r(nt)
n.d(nt,"createKeyCommandHub",()=>$a)
n.d(nt,"createKeyCommandHub",()=>Ba)
var rt={}
n.r(rt)
n.d(rt,"POINTER_EVENT_TYPE",()=>_a)
n.d(rt,"applyPointerEventListener",()=>Ba)
n.d(rt,"ENHANCED_POINTER_EVENT_TYPE",()=>Na)
n.d(rt,"applyEnhancedPointerEventListener",()=>Fa)
n.d(rt,"POINTER_EVENT_TYPE",()=>Na)
n.d(rt,"applyPointerEventListener",()=>Fa)
n.d(rt,"ENHANCED_POINTER_EVENT_TYPE",()=>Ia)
n.d(rt,"applyEnhancedPointerEventListener",()=>za)
var ot={}

@@ -557,6 +557,6 @@ n.r(ot)

n.r(st)
n.d(st,"createHistoryStateStore",()=>Ia)
n.d(st,"createHistoryStateStore",()=>Ua)
var at={}
n.r(at)
n.d(at,"createSyncStateStorage",()=>za)
n.d(at,"createSyncStateStorage",()=>qa)
var ct={}

@@ -568,21 +568,21 @@ n.r(ct)

n.r(it)
n.d(it,"throttleByAnimationFrame",()=>Ua)
n.d(it,"applyDragFileListListener",()=>Ka)
n.d(it,"getPathElementList",()=>Qa)
n.d(it,"getElementAtViewport",()=>Va)
n.d(it,"throttleByAnimationFrame",()=>Ka)
n.d(it,"applyDragFileListListener",()=>Va)
n.d(it,"getPathElementList",()=>Ha)
n.d(it,"getElementAtViewport",()=>Ya)
var dt={}
n.r(dt)
n.d(dt,"fetchLikeRequest",()=>Ja)
n.d(dt,"fetchLikeRequest",()=>Za)
var ut={}
n.r(ut)
n.d(ut,"loadText",()=>uc)
n.d(ut,"loadImage",()=>lc)
n.d(ut,"loadScript",()=>hc)
n.d(ut,"createDownload",()=>pc)
n.d(ut,"createDownloadWithBlob",()=>fc)
n.d(ut,"createDownloadWithString",()=>yc)
n.d(ut,"createDownloadWithObject",()=>gc)
n.d(ut,"saveArrayBufferCache",()=>mc)
n.d(ut,"loadArrayBufferCache",()=>vc)
n.d(ut,"deleteArrayBufferCache",()=>wc)
n.d(ut,"loadText",()=>hc)
n.d(ut,"loadImage",()=>pc)
n.d(ut,"loadScript",()=>fc)
n.d(ut,"createDownload",()=>yc)
n.d(ut,"createDownloadWithBlob",()=>gc)
n.d(ut,"createDownloadWithString",()=>mc)
n.d(ut,"createDownloadWithObject",()=>vc)
n.d(ut,"saveArrayBufferCache",()=>wc)
n.d(ut,"loadArrayBufferCache",()=>xc)
n.d(ut,"deleteArrayBufferCache",()=>bc)
var lt={}

@@ -804,3 +804,3 @@ n.r(lt)

return e}
const Wt=t=>{const e=(e,n)=>{const r=t(n)
const Jt=t=>{const e=(e,n)=>{const r=t(n)
Array.isArray(r)&&e.unshift(...r)}

@@ -812,3 +812,3 @@ return(t,n)=>{let r

e(o,r)}}}
const Jt=t=>{const e=async(e,n)=>{const r=await t(n)
const Wt=t=>{const e=async(e,n)=>{const r=await t(n)
Array.isArray(r)&&e.unshift(...r)}

@@ -851,3 +851,3 @@ return async(t,n)=>{let r

const ne=(t,e,n)=>{const r=[]
Wt(e)(t,([t,e,o])=>{r.length=e
Jt(e)(t,([t,e,o])=>{r.length=e
0!==e&&(r[e-1]=o?"├─ ":"└─ ")

@@ -936,4 +936,4 @@ n(r.join(""),t)

const Ge=(t,e)=>!(t.max.x<e.min.x||t.min.x>e.max.x||t.max.y<e.min.y||t.min.y>e.max.y)
const We=(t,e)=>t.min.x<=e.min.x&&t.max.x>=e.max.x&&t.min.y<=e.min.y&&t.max.y>=e.max.y
const Je=({min:t,max:e},{x:n,y:r})=>n>=t.x&&n<=e.x&&r>=t.y&&r<=e.y
const Je=(t,e)=>t.min.x<=e.min.x&&t.max.x>=e.max.x&&t.min.y<=e.min.y&&t.max.y>=e.max.y
const We=({min:t,max:e},{x:n,y:r})=>n>=t.x&&n<=e.x&&r>=t.y&&r<=e.y
const Xe=t=>Math.round(1e4*t)/1e4

@@ -1040,4 +1040,4 @@ const Ze=(t,e)=>Math.sign(t)*Math.max(0,Math.abs(t)+e)

delete e[n]}return e||t}
const Wn=t=>"string"==typeof t
const Jn=t=>"boolean"==typeof t
const Jn=t=>"string"==typeof t
const Wn=t=>"boolean"==typeof t
const Xn=t=>"number"==typeof t

@@ -1100,4 +1100,4 @@ const Zn=Number.isInteger

const Mr=(t,e)=>(n,r)=>e(n)||Ar(t,r,`get: ${pr(n)}`)
const Sr=Mr("String",Wn)
const Or=Mr("Boolean",Jn)
const Sr=Mr("String",Jn)
const Or=Mr("Boolean",Wn)
const Lr=Mr("Number",Xn)

@@ -1150,3 +1150,3 @@ const Tr=Mr("Integer",Zn)

return{subscribe:r,unsubscribe:o,getState:u,dispatch:l}}
const Wr=t=>{const{subscribe:e,unsubscribe:n}=t
const Jr=t=>{const{subscribe:e,unsubscribe:n}=t
$r(e,"store.subscribe required")

@@ -1156,3 +1156,3 @@ $r(n,"store.unsubscribe required")

return()=>n(t)}})}
const Jr=t=>{const e=Object.keys(t)
const Wr=t=>{const e=Object.keys(t)
const n=e.length

@@ -1279,8 +1279,8 @@ return(r,o)=>{const s={}

s>0&&await _o(s)}}}
const Go=(t,e)=>Wo(t(),e)
const Wo=(t,e)=>{let n=null
const Go=(t,e)=>Jo(t(),e)
const Jo=(t,e)=>{let n=null
return Promise.race([t,new Promise((t,r)=>{n=setTimeout(()=>r(new Error(`timeout after: ${e}`)),e)})]).then(t=>{clearTimeout(n)
return t},t=>{clearTimeout(n)
throw t})}
const Jo=()=>{let t,e
const Wo=()=>{let t,e
return{promise:new Promise((n,r)=>{t=n

@@ -1297,3 +1297,3 @@ e=r}),resolve:n=>{const r=t

e=Xo()
n=Promise.resolve("QUEUE_HEAD")},getLength:()=>e.A(),pushTask:r=>{const{promise:o,resolve:s}=Jo()
n=Promise.resolve("QUEUE_HEAD")},getLength:()=>e.A(),pushTask:r=>{const{promise:o,resolve:s}=Wo()
const a=n.then(r)

@@ -1383,3 +1383,3 @@ a.catch(t).then(()=>{e.C()

return{stringify:t=>JSON.stringify(t).replace(r,"[").replace(o,(t,e)=>"]".repeat(e.length/2)).replace(n,","),parse:n=>JSON.parse(n.replace(s,`"},{"${t}":"`).replace(c,(e,n,r,o)=>`"${"}]".repeat(n.length)}${r+e.length!==o.length?`},{"${t}":"`:""}`).replace(a,(n,r)=>`${0!==r?`","${e}":`:""}[{"${t}":"`))}}
const ws=({NAME_KEY:t="key",NAME_SUB_LIST:e="subList"})=>{const n=Wt(([n,r,o])=>n[e]&&n[e].length&&n[e].map((e,r)=>[e,r,n[t]]))
const ws=({NAME_KEY:t="key",NAME_SUB_LIST:e="subList"})=>{const n=Jt(([n,r,o])=>n[e]&&n[e].length&&n[e].map((e,r)=>[e,r,n[t]]))
return Object.assign({},vs({NAME_KEY:t,NAME_SUB_LIST:e}),{createBuilder:n=>{const r=new Map

@@ -1505,11 +1505,13 @@ const o=n=>{const a={[t]:n}

return n.major-r.major||n.minor-r.minor||n.patch-r.patch||zs(n.label,r.label)}
const zs=(t,e)=>t===e?0:e.startsWith(t)?1:t.startsWith(e)?-1:fs(t,e)
const Us="1".charCodeAt(0)
const qs=(t,e,n,r=0)=>{const o=(r=Math.floor(r)).toString(2)
const zs=(t,e)=>t===e?0:qs(t,e)?1:qs(e,t)?-1:fs(t,e)
const Us=/\d\d/
const qs=(t,e)=>e.startsWith(t)&&!Us.test(e.slice(t.length-1,t.length+1))
const Ks="1".charCodeAt(0)
const Qs=(t,e,n,r=0)=>{const o=(r=Math.floor(r)).toString(2)
const s=Math.pow(16,e)
let a=r%t
let c=n.getUint8(a)
for(let e=0,r=o.length;e<r;e++){o.charCodeAt(e)===Us?a=(a+n.getUint8((a+1)%t))%t:c*=16
for(let e=0,r=o.length;e<r;e++){o.charCodeAt(e)===Ks?a=(a+n.getUint8((a+1)%t))%t:c*=16
c=(c+n.getUint8(a))%s}return(c%Math.pow(2,4*e)).toString(16).padStart(e,"0")}
const Ks=({tag:t=$o().toString(36),size:e=65536,tokenSize:n=8,timeGap:r=30})=>{if(!/^\w*$/.test(t))throw new Error(`invalid tag: ${t}`)
const Vs=({tag:t=$o().toString(36),size:e=65536,tokenSize:n=8,timeGap:r=30})=>{if(!/^\w*$/.test(t))throw new Error(`invalid tag: ${t}`)
if(!Number.isInteger(e)||e<=1024||e%32)throw new Error(`invalid size: ${e}`)

@@ -1519,21 +1521,21 @@ if(!Number.isInteger(n)||n>13||n<2)throw new Error(`invalid tokenSize: ${n}`)

return{tag:t,size:e,tokenSize:n,timeGap:r}}
const Qs=(t,e,n=$o())=>{if("string"!=typeof e||e.length<t.tokenSize)throw new Error(`invalid checkCode: ${e}`)
Vs(t,Ws(e),n)}
const Vs=({tag:t,size:e,tokenSize:n,timeGap:r,dataView:o},[s,a,c],i=$o())=>{if(s!==t)throw new Error(`tag mismatch: ${s}, expect: ${t}`)
const Hs=(t,e,n=$o())=>{if("string"!=typeof e||e.length<t.tokenSize)throw new Error(`invalid checkCode: ${e}`)
Ys(t,Xs(e),n)}
const Ys=({tag:t,size:e,tokenSize:n,timeGap:r,dataView:o},[s,a,c],i=$o())=>{if(s!==t)throw new Error(`tag mismatch: ${s}, expect: ${t}`)
if(Math.abs(i-a)>r)throw new Error(`timestamp mismatch: ${a}, expect: ${i}±${r}`)
const d=qs(e,n,o,a/r)
const d=Qs(e,n,o,a/r)
if(d!==c)throw new Error(`code mismatch: ${c}, expect: ${d}`)}
const Hs=t=>{t=Ks(t)
const Gs=t=>{t=Vs(t)
return Object.assign({},t,{dataView:new DataView(Object(To.a)(t.size))})}
const Ys=({tag:t,size:e,tokenSize:n,timeGap:r,dataView:o},s=$o())=>{const a=qs(e,n,o,s/r)
return Gs(t,s,a)}
const Gs=(t,e,n)=>se([t,e.toString(36),n].join("-"))
const Ws=t=>{const e=se(t).split("-")
const Js=({tag:t,size:e,tokenSize:n,timeGap:r,dataView:o},s=$o())=>{const a=Qs(e,n,o,s/r)
return Ws(t,s,a)}
const Ws=(t,e,n)=>se([t,e.toString(36),n].join("-"))
const Xs=t=>{const e=se(t).split("-")
e[1]=Number.parseInt(e[1],36)
return e}
const Js=({tag:t,size:e,tokenSize:n,timeGap:r,dataView:o})=>Tt(JSON.stringify([t,e,n,r]),o.buffer)
const Xs=t=>{const[e,n]=kt(t)
const Zs=({tag:t,size:e,tokenSize:n,timeGap:r,dataView:o})=>Tt(JSON.stringify([t,e,n,r]),o.buffer)
const ta=t=>{const[e,n]=kt(t)
const[r,o,s,a]=JSON.parse(e)
return{tag:r,size:o,tokenSize:s,timeGap:a,dataView:new DataView(n)}}
const Zs=()=>{let t
const ea=()=>{let t
let e

@@ -1555,48 +1557,48 @@ let n

n.forEach(s)}}}
const ta=({delay:t,queueTask:e=Bo,cancelTask:n=No}={})=>{const{clear:r,pushFunc:o,setFunc:s,deleteFunc:a,update:c}=Zs()
const na=({delay:t,queueTask:e=Bo,cancelTask:n=No}={})=>{const{clear:r,pushFunc:o,setFunc:s,deleteFunc:a,update:c}=ea()
const{start:i,stop:d}=Fo({func:c,queueTask:e,cancelTask:n,delay:t})
return{start:i,stop:d,clear:r,pushFunc:o,setFunc:s,deleteFunc:a}}
const ea=(t,e)=>{Object.entries(e).forEach(([e,n])=>{const r=t[e]
r!==n&&(t[e]=er(r)&&er(n)?ea(r,n):n)})
const ra=(t,e)=>{Object.entries(e).forEach(([e,n])=>{const r=t[e]
r!==n&&(t[e]=er(r)&&er(n)?ra(r,n):n)})
return t}
const na=(t,e=ps)=>{Object.keys(t).sort(e).forEach(e=>{const n=t[e]
const oa=(t,e=ps)=>{Object.keys(t).sort(e).forEach(e=>{const n=t[e]
delete t[e]
t[e]=n})
return t}
const ra=/\n/g
const oa=(t,e=" ",n=e)=>`${n}${t.replace(ra,`\n${e}`)}`
const sa=(t,e=[],n=" - ",r=" ".repeat(n.length))=>[t,...e.map(t=>oa(t,r,n))].join("\n")
const aa=(t="",e=64,n=32,r=16)=>t.length>e?`${t.slice(0,n)}...${r>0?t.slice(-r):""} (+${t.length-n-r})`:t
const ca=/[^A-Z]/
const ia=/([^A-Z]|[A-Z]{2,})([A-Z])/g
const da=t=>ca.test(t)?t.replace(ia,"$1 $2").split(" "):[t]
const ua=t=>t.split("_")
const la=t=>t.split("-")
const ha=(t,e=1)=>t.reduce((t,n,r)=>t+(r<e?n:ya(n)),"")
const pa=t=>t.join("_").toUpperCase()
const fa=t=>t.join("-").toLowerCase()
const ya=t=>t.charAt(0).toUpperCase()+t.slice(1)
const ga={'"':"&#34;","&":"&#38;","'":"&#39;","<":"&#60;",">":"&#62;"}
const ma=/["&'<>]/g
const va=t=>ga[t]||t
const wa=t=>t&&t.replace(ma,va)
const xa={"&#34;":'"',"&quot;":'"',"&#38;":"&","&amp;":"&","&#39;":"'","&apos;":"'","&#60;":"<","&lt;":"<","&#62;":">","&gt;":">"}
const ba=/&(?:#34|quot|#38|amp|#39|apos|#60|lt|#62|gt);/g
const Ea=t=>xa[t]||t
const Aa=t=>t&&t.replace(ba,Ea)
const Ma=/[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm
const Sa=t=>t.replace(Ma,"")
const{Blob:Oa,FileReader:La}=window
const Ta=t=>e=>new Promise((n,r)=>{const o=new La
const sa=/\n/g
const aa=(t,e=" ",n=e)=>`${n}${t.replace(sa,`\n${e}`)}`
const ca=(t,e=[],n=" - ",r=" ".repeat(n.length))=>[t,...e.map(t=>aa(t,r,n))].join("\n")
const ia=(t="",e=64,n=32,r=16)=>t.length>e?`${t.slice(0,n)}...${r>0?t.slice(-r):""} (+${t.length-n-r})`:t
const da=/[^A-Z]/
const ua=/([^A-Z]|[A-Z]{2,})([A-Z])/g
const la=t=>da.test(t)?t.replace(ua,"$1 $2").split(" "):[t]
const ha=t=>t.split("_")
const pa=t=>t.split("-")
const fa=(t,e=1)=>t.reduce((t,n,r)=>t+(r<e?n:ma(n)),"")
const ya=t=>t.join("_").toUpperCase()
const ga=t=>t.join("-").toLowerCase()
const ma=t=>t.charAt(0).toUpperCase()+t.slice(1)
const va={'"':"&#34;","&":"&#38;","'":"&#39;","<":"&#60;",">":"&#62;"}
const wa=/["&'<>]/g
const xa=t=>va[t]||t
const ba=t=>t&&t.replace(wa,xa)
const Ea={"&#34;":'"',"&quot;":'"',"&#38;":"&","&amp;":"&","&#39;":"'","&apos;":"'","&#60;":"<","&lt;":"<","&#62;":">","&gt;":">"}
const Aa=/&(?:#34|quot|#38|amp|#39|apos|#60|lt|#62|gt);/g
const Ma=t=>Ea[t]||t
const Sa=t=>t&&t.replace(Aa,Ma)
const Oa=/[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm
const La=t=>t.replace(Oa,"")
const{Blob:Ta,FileReader:ka}=window
const ja=t=>e=>new Promise((n,r)=>{const o=new ka
o.addEventListener("error",r)
o.addEventListener("load",()=>n(o.result))
o[t](e)})
const ka=Ta("readAsText")
const ja=Ta("readAsDataURL")
const Da=Ta("readAsArrayBuffer")
const Ca=new Oa
const Ra=(t,e=Ca)=>new Oa([...Ot(Et(t)),e])
const Pa=async t=>{const e=new DataView(await Da(t.slice(0,Mt))).getUint32(0,!1)
return[bt(await Da(t.slice(Mt,Mt+e))),t.slice(Mt+e)]}
const $a=({eventSource:t=window.document,isSkipPreventDefault:e=!1})=>{const n=new Map
const Da=ja("readAsText")
const Ca=ja("readAsDataURL")
const Ra=ja("readAsArrayBuffer")
const Pa=new Ta
const $a=(t,e=Pa)=>new Ta([...Ot(Et(t)),e])
const _a=async t=>{const e=new DataView(await Ra(t.slice(0,Mt))).getUint32(0,!1)
return[bt(await Ra(t.slice(Mt,Mt+e))),t.slice(Mt+e)]}
const Ba=({eventSource:t=window.document,isSkipPreventDefault:e=!1})=>{const n=new Map
const r=t=>n.forEach(n=>{const{target:r,checkMap:o,callback:s}=n

@@ -1610,4 +1612,4 @@ if((!r||r.contains(t.target))&&rr(t,o)){!e&&t.preventDefault()

return t},deleteKeyCommand:({id:t})=>n.delete(t)}}
const _a={START:"START",MOVE:"MOVE",END:"END",CANCEL:"CANCEL"}
const Ba=({element:t,onEvent:e,isGlobal:n=!1,isCancel:r=!0,isCancelOnOutOfBound:o=!0,isUseTouchEvent:s=!0})=>{!window.getComputedStyle(t).touchAction&&console.warn("[applyPointerEventListener] should set CSS 'touch-action' to 'none' to prevent browser defaults")
const Na={START:"START",MOVE:"MOVE",END:"END",CANCEL:"CANCEL"}
const Fa=({element:t,onEvent:e,isGlobal:n=!1,isCancel:r=!0,isCancelOnOutOfBound:o=!0,isUseTouchEvent:s=!0})=>{!window.getComputedStyle(t).touchAction&&console.warn("[applyPointerEventListener] should set CSS 'touch-action' to 'none' to prevent browser defaults")
const a=n?window.document:t

@@ -1648,10 +1650,10 @@ o=r&&o

s&&r&&a.addEventListener("touchcancel",w)
e(_a.START,t,f)}}
e(Na.START,t,f)}}
const m=n=>{if(y(n))return
const{point:r}=f(n)
if(o&&!ye(t.getBoundingClientRect(),r))return w(n)
e(_a.MOVE,n,f)}
const v=t=>{if(!y(t)){e(_a.END,t,f)
e(Na.MOVE,n,f)}
const v=t=>{if(!y(t)){e(Na.END,t,f)
h()}}
const w=t=>{if(!y(t)){e(_a.CANCEL,t,f)
const w=t=>{if(!y(t)){e(Na.CANCEL,t,f)
h()}}

@@ -1664,4 +1666,4 @@ t.addEventListener("pointerdown",g)

h()}}
const Na={TAP:"TAP",HOLD:"HOLD",DRAG_MOVE:"DRAG_MOVE",DRAG_END:"DRAG_END",DRAG_CANCEL:"DRAG_CANCEL"}
const Fa=t=>{let{onEnhancedEvent:e,onEvent:n,holdDurationThreshold:r=500,dragDistanceThreshold:o=5}=t,s=function(t,e){if(null==t)return{}
const Ia={TAP:"TAP",HOLD:"HOLD",DRAG_MOVE:"DRAG_MOVE",DRAG_END:"DRAG_END",DRAG_CANCEL:"DRAG_CANCEL"}
const za=t=>{let{onEnhancedEvent:e,onEvent:n,holdDurationThreshold:r=500,dragDistanceThreshold:o=5}=t,s=function(t,e){if(null==t)return{}
var n={}

@@ -1673,11 +1675,11 @@ var r=Object.keys(t)

let a=!1
return Ba(Object.assign({onEvent:(t,s,c)=>{const i=c(s)
switch(t){case _a.START:a=!1
return Fa(Object.assign({onEvent:(t,s,c)=>{const i=c(s)
switch(t){case Na.START:a=!1
break
case _a.MOVE:(a|=i.distance>=o)&&e(Na.DRAG_MOVE,i)
case Na.MOVE:(a|=i.distance>=o)&&e(Ia.DRAG_MOVE,i)
break
case _a.END:a?e(Na.DRAG_END,i):i.duration>=r?e(Na.HOLD,i):e(Na.TAP,i)
case Na.END:a?e(Ia.DRAG_END,i):i.duration>=r?e(Ia.HOLD,i):e(Ia.TAP,i)
break
case _a.CANCEL:a&&e(Na.DRAG_CANCEL,i)}n&&n(t,s,c)}},s))}
const Ia=(t=window.location.href)=>{const e=(e,n)=>{if("string"!=typeof e)throw new Error(`non-string href: ${e}`)
case Na.CANCEL:a&&e(Ia.DRAG_CANCEL,i)}n&&n(t,s,c)}},s))}
const Ua=(t=window.location.href)=>{const e=(e,n)=>{if("string"!=typeof e)throw new Error(`non-string href: ${e}`)
if(e===t)return t

@@ -1698,3 +1700,3 @@ const r=t

window.removeEventListener("hashchange",r)}}}}
const za=({keyPrefix:t="STATE",setItem:e=((e,n)=>window.localStorage.setItem(`${t}|${e}`,JSON.stringify(n))),getItem:n=(e=>JSON.parse(window.localStorage.getItem(`${t}|${e}`))),removeItem:r=(e=>window.localStorage.removeItem(`${t}|${e}`))})=>{let o={}
const qa=({keyPrefix:t="STATE",setItem:e=((e,n)=>window.localStorage.setItem(`${t}|${e}`,JSON.stringify(n))),getItem:n=(e=>JSON.parse(window.localStorage.getItem(`${t}|${e}`))),removeItem:r=(e=>window.localStorage.removeItem(`${t}|${e}`))})=>{let o={}
let s=[]

@@ -1715,3 +1717,3 @@ const a=t=>{o={}

return{reset:a,init:t=>a(Object.assign({},t,i())),save:c,load:i}}
const Ua=t=>{let e=null
const Ka=t=>{let e=null
const n=()=>{const n=e

@@ -1722,14 +1724,14 @@ e=null

e=t}}
const qa=t=>{t.stopPropagation()
const Qa=t=>{t.stopPropagation()
t.preventDefault()}
const Ka=(t=window.document,e)=>{const n=t=>{qa(t)
const Va=(t=window.document,e)=>{const n=t=>{Qa(t)
const{files:n}=t.dataTransfer
n&&n.length&&e(n)}
t.addEventListener("dragenter",qa)
t.addEventListener("dragover",qa)
t.addEventListener("dragenter",Qa)
t.addEventListener("dragover",Qa)
t.addEventListener("drop",n)
return()=>{t.removeEventListener("dragenter",qa)
t.removeEventListener("dragover",qa)
return()=>{t.removeEventListener("dragenter",Qa)
t.removeEventListener("dragover",Qa)
t.removeEventListener("drop",n)}}
const Qa=(t,e)=>{if(!t.contains(e))return[]
const Ha=(t,e)=>{if(!t.contains(e))return[]
let n=e

@@ -1739,3 +1741,3 @@ const r=[]

n=n.parentElement}return r}
const Va=(t,e)=>{const n=e&&e.map(t=>{const{visibility:e}=t.style
const Ya=(t,e)=>{const n=e&&e.map(t=>{const{visibility:e}=t.style
t.style.visibility="hidden"

@@ -1746,6 +1748,6 @@ return e})

return r}
const{XMLHttpRequest:Ha,Blob:Ya,TextDecoder:Ga}=ft.c
const Wa=/[\r\n]+/
const Ja=(t,{method:e="GET",headers:n,body:r,timeout:o=0,credentials:s,onUploadProgress:a,onDownloadProgress:c}={})=>new Promise((i,d)=>{const u=(n,r)=>Object.assign(new Error(n),{status:r,url:t,method:e})
const l=new Ha
const{XMLHttpRequest:Ga,Blob:Ja,TextDecoder:Wa}=ft.c
const Xa=/[\r\n]+/
const Za=(t,{method:e="GET",headers:n,body:r,timeout:o=0,credentials:s,onUploadProgress:a,onDownloadProgress:c}={})=>new Promise((i,d)=>{const u=(n,r)=>Object.assign(new Error(n),{status:r,url:t,method:e})
const l=new Ga
l.onerror=()=>d(u("NETWORK_ERROR",-1))

@@ -1756,6 +1758,6 @@ l.ontimeout=()=>d(u("NETWORK_TIMEOUT",-1))

if(0===e){l.abort()
return d(u("HEADER_STATUS_ERROR",-1))}const n=l.getAllResponseHeaders().split(Wa).reduce((t,e)=>{const[n,...r]=e.split(":")
return d(u("HEADER_STATUS_ERROR",-1))}const n=l.getAllResponseHeaders().split(Xa).reduce((t,e)=>{const[n,...r]=e.split(":")
r.length&&(t[n.trim().toLowerCase()]=r.join(":").trim())
return t},{})
i(Object.assign({status:e,ok:e>=200&&e<300,headers:n},Xa(l,u)))}
i(Object.assign({status:e,ok:e>=200&&e<300,headers:n},tc(l,u)))}
a&&l.upload&&(l.upload.onprogress=a)

@@ -1769,3 +1771,3 @@ c&&(l.onprogress=c)

l.send(r||null)})
const Xa=(t,e)=>{let n
const tc=(t,e)=>{let n
let r

@@ -1781,31 +1783,31 @@ setTimeout(()=>{if(!n){r=!0

n(t.response)}}})}
const s=()=>o().then(tc)
return{arrayBuffer:o,blob:()=>o().then(Za),text:s,json:()=>s().then(ec)}}
const Za=t=>new Ya([t])
const tc=t=>(new Ga).decode(t)
const ec=t=>JSON.parse(t)
const{fetch:nc,navigator:rc,caches:oc,URL:sc,Blob:ac,Request:cc,Response:ic}=window
const dc=(t,e={})=>Object.assign(document.createElement(t),e)
const uc=async t=>(await nc(t)).text()
const lc=t=>new Promise((e,n)=>dc("img",{src:t,onerror:n,onload:t=>e(t.currentTarget)}))
const hc=t=>new Promise((e,n)=>document.body.appendChild(dc("script",{src:t,async:!1,type:Ms.js,onerror:n,onload:t=>e(t.currentTarget)})))
const pc=(t,e)=>{const n=dc("a",{download:t,href:e})
const s=()=>o().then(nc)
return{arrayBuffer:o,blob:()=>o().then(ec),text:s,json:()=>s().then(rc)}}
const ec=t=>new Ja([t])
const nc=t=>(new Wa).decode(t)
const rc=t=>JSON.parse(t)
const{fetch:oc,navigator:sc,caches:ac,URL:cc,Blob:ic,Request:dc,Response:uc}=window
const lc=(t,e={})=>Object.assign(document.createElement(t),e)
const hc=async t=>(await oc(t)).text()
const pc=t=>new Promise((e,n)=>lc("img",{src:t,onerror:n,onload:t=>e(t.currentTarget)}))
const fc=t=>new Promise((e,n)=>document.body.appendChild(lc("script",{src:t,async:!1,type:Ms.js,onerror:n,onload:t=>e(t.currentTarget)})))
const yc=(t,e)=>{const n=lc("a",{download:t,href:e})
document.body.appendChild(n)
n.click()
document.body.removeChild(n)}
const fc=(t,e)=>{if(rc.msSaveOrOpenBlob)return rc.msSaveOrOpenBlob(e,t)
const n=sc.createObjectURL(e)
pc(t,n)
setTimeout(()=>sc.revokeObjectURL(n),5e3)}
const yc=(t,e,n=Ms.txt)=>fc(t,new ac([e],{type:n}))
const gc=(t,e,n=Ms.json)=>yc(t,JSON.stringify(e),n)
const mc=async(t,e,n)=>{const r=await oc.open(t)
await r.put(new cc(e),new ic(n))
const gc=(t,e)=>{if(sc.msSaveOrOpenBlob)return sc.msSaveOrOpenBlob(e,t)
const n=cc.createObjectURL(e)
yc(t,n)
setTimeout(()=>cc.revokeObjectURL(n),5e3)}
const mc=(t,e,n=Ms.txt)=>gc(t,new ic([e],{type:n}))
const vc=(t,e,n=Ms.json)=>mc(t,JSON.stringify(e),n)
const wc=async(t,e,n)=>{const r=await ac.open(t)
await r.put(new dc(e),new uc(n))
return{bucketName:t,key:e}}
const vc=async(t,e)=>{const n=await oc.open(t)
const r=await n.match(new cc(e))
const xc=async(t,e)=>{const n=await ac.open(t)
const r=await n.match(new dc(e))
return r&&r.arrayBuffer()}
const wc=async(t,e)=>{if(!e)return oc.delete(t)
const n=await oc.open(t)
return n&&n.delete(new cc(e))}
const bc=async(t,e)=>{if(!e)return ac.delete(t)
const n=await ac.open(t)
return n&&n.delete(new dc(e))}
n.d(e,"Env",()=>r)

@@ -1812,0 +1814,0 @@ n.d(e,"Common",()=>X)

@@ -6,27 +6,27 @@ var e=require("../../../common/check")

var a=require("../commonHTML")
var u=require("./Send")
const n={GET:"/GET",POST:"/POST",PUT:"/PUT",PATCH:"/PATCH",DELETE:"/DELETE",HEAD:"/HEAD",OPTIONS:"/OPTIONS",CONNECT:"/CONNECT",TRACE:"/TRACE"}
exports.METHOD_MAP=n
const s=(e,r="/",o="GET",a)=>{if(Array.isArray(r))return r.reduce((r,t)=>s(e,t,o,a),e)
if(Array.isArray(o))return o.reduce((t,o)=>s(e,r,o,a),e)
const{routeNode:u,paramNameList:c}=(0,t.parseRouteToMap)(e,r)
const d=n[o]
var s=require("./Send")
const u={GET:"/GET",POST:"/POST",PUT:"/PUT",PATCH:"/PATCH",DELETE:"/DELETE",HEAD:"/HEAD",OPTIONS:"/OPTIONS",CONNECT:"/CONNECT",TRACE:"/TRACE"}
exports.METHOD_MAP=u
const n=(e,r="/",o="GET",a)=>{if(Array.isArray(r))return r.reduce((r,t)=>n(e,t,o,a),e)
if(Array.isArray(o))return o.reduce((t,o)=>n(e,r,o,a),e)
const{routeNode:s,paramNameList:c}=(0,t.parseRouteToMap)(e,r)
const d=u[o]
if(!d)throw new Error(`invalid method [${o}] for: ${r}`)
if(u[d])throw new Error(`duplicate method [${o}] for: ${r}`)
if(s[d])throw new Error(`duplicate method [${o}] for: ${r}`)
if("function"!=typeof a)throw new Error(`invalid responder for: ${r}`)
u[d]={route:r,paramNameList:c,routeResponder:a}
s[d]={route:r,paramNameList:c,routeResponder:a}
return e}
exports.appendRouteMap=s
exports.createRouteMap=e=>e.reduce((e,[r,t,o])=>s(e,r,t,o),{})
exports.createResponderRouter=({routeMap:e,baseUrl:r="",getMethodUrl:o=c(new URL(r))})=>r=>{const{method:a,url:u}=o(r)
const s=n[a]
if(void 0===s)return
const c=(0,t.findRouteFromMap)(e,u.pathname)
exports.appendRouteMap=n
exports.createRouteMap=e=>e.reduce((e,[r,t,o])=>n(e,r,t,o),{})
exports.createResponderRouter=({routeMap:e,baseUrl:r="",getMethodUrl:o=c(new URL(r))})=>r=>{const{method:a,url:s}=o(r)
const n=u[a]
if(void 0===n)return
const c=(0,t.findRouteFromMap)(e,s.pathname)
if(void 0===c)return
const{routeNode:d,paramValueList:i}=c
if(void 0===d[s])return
const{route:p,paramNameList:m,routeResponder:T}=d[s]
const E=m.reduce((e,r,t)=>{e[r]=i[t]
if(void 0===d[n])return
const{route:p,paramNameList:m,routeResponder:T}=d[n]
const R=m.reduce((e,r,t)=>{e[r]=i[t]
return e},{})
return T(r,r.setState({method:a,url:u,route:p,paramMap:E}))}
return T(r,r.setState({method:a,url:s,route:p,paramMap:R}))}
const c=e=>({request:{method:r,url:t}})=>({method:r,url:new URL(t.replace(d,"/"),e)})

@@ -37,3 +37,3 @@ const d=/\/\//g

const i=e=>{const r=[]
const t=new Set(Object.values(n))
const t=new Set(Object.values(u))
p(["ROOT",e],([e,{route:o}])=>{t.has(e)&&r.push({method:e,route:o})})

@@ -43,5 +43,5 @@ return r}

const p=(0,r.createTreeDepthFirstSearch)(([r,t])=>(0,e.isBasicObject)(t)&&Object.entries(t))
exports.createResponderRouteList=({getRouteMap:e,extraBodyList:r})=>{let t
return async a=>{void 0===t&&(t=await(0,u.prepareBufferData)(Buffer.from(m(e(),r)),o.BASIC_EXTENSION_MAP.html))
return(0,u.responderSendBufferCompress)(a,t)}}
exports.createResponderRouteList=exports.createResponderRouteListHTML=({getRouteMap:e,extraBodyList:r})=>{let t
return async a=>{void 0===t&&(t=await(0,s.prepareBufferData)(Buffer.from(m(e(),r)),o.BASIC_EXTENSION_MAP.html))
return(0,s.responderSendBufferCompress)(a,t)}}
const m=(e,r=[])=>(0,a.COMMON_LAYOUT)([(0,a.COMMON_STYLE)(),"<style>body { align-items: start; }</style>"],["<h2>Route List</h2>","<table>",...i(e).map(({method:e,route:r})=>`<tr><td><b>${e}</b></td><td>${"/GET"===e?`<a href="${r}">${r}</a>`:r}</td></tr>`),"</table>",...r])

@@ -21,3 +21,5 @@ import { compareStringWithNumber } from "../compare";

};
const compareSemVerLabel = (a, b) => a === b ? 0 : b.startsWith(a) ? 1 : a.startsWith(b) ? -1 : compareStringWithNumber(a, b);
const compareSemVerLabel = (a, b) => a === b ? 0 : isShorterWithoutNumber(a, b) ? 1 : isShorterWithoutNumber(b, a) ? -1 : compareStringWithNumber(a, b);
const REGEXP_DOUBLE_NUMBER = /\d\d/;
const isShorterWithoutNumber = (shorter, longer) => longer.startsWith(shorter) && !REGEXP_DOUBLE_NUMBER.test(longer.slice(shorter.length - 1, shorter.length + 1));
export { parseSemVer, compareSemVer };

@@ -73,3 +73,3 @@ import { isBasicObject } from "../../../common/check";

const routeMapDepthFirstSearch = createTreeDepthFirstSearch(([key, routeNode]) => isBasicObject(routeNode) && Object.entries(routeNode));
const createResponderRouteList = ({getRouteMap, extraBodyList}) => {
const createResponderRouteListHTML = ({getRouteMap, extraBodyList}) => {
let bufferData;

@@ -82,2 +82,2 @@ return async store => {

const getRouteListHTML = (routeMap, extraBodyList = []) => COMMON_LAYOUT([ COMMON_STYLE(), "<style>body { align-items: start; }</style>" ], [ "<h2>Route List</h2>", "<table>", ...describeRouteMap(routeMap).map(({method, route}) => `<tr><td><b>${method}</b></td><td>${"/GET" === method ? `<a href="${route}">${route}</a>` : route}</td></tr>`), "</table>", ...extraBodyList ]);
export { METHOD_MAP, createRouteMap, createResponderRouter, appendRouteMap, getRouteParamAny, getRouteParam, describeRouteMap, createResponderRouteList };
export { METHOD_MAP, createRouteMap, createResponderRouter, appendRouteMap, getRouteParamAny, getRouteParam, describeRouteMap, createResponderRouteListHTML, createResponderRouteListHTML as createResponderRouteList };

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

{"name":"dr-js","version":"0.21.1-dev.2","description":"A collection of strange functions","author":"dr-js","license":"MIT","keywords":["Dr","Dr-js","JavaScript"],"repository":"github:dr-js/dr-js","bin":"bin/index.js","browser":"library/Dr.browser.js","engines":{"node":">=10.15","npm":">=6"},"sideEffects":false}
{"name":"dr-js","version":"0.21.1-dev.3","description":"A collection of strange functions","author":"dr-js","license":"MIT","keywords":["Dr","Dr-js","JavaScript"],"repository":"github:dr-js/dr-js","bin":"bin/index.js","browser":"library/Dr.browser.js","engines":{"node":">=10.15","npm":">=6"},"sideEffects":false}
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