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 to 0.21.2-dev.0

51

library/common/data/LinkedList.js
exports.createDoublyLinkedList=()=>{let t,n,r
const p=()=>{t=e(null)
const x=()=>{t=e(null)
n=e(null)

@@ -7,4 +7,4 @@ t.next=n

r=0}
p()
const v=(e,t)=>{const{next:n}=t
x()
const p=(e,t)=>{const{next:n}=t
t.next=n.prev=e

@@ -14,3 +14,3 @@ e.prev=t

r++}
const x=(e,t)=>{const{prev:n}=t
const v=(e,t)=>{const{prev:n}=t
t.prev=n.next=e

@@ -25,18 +25,21 @@ e.prev=n

r--}
return{clear:p,getHead:()=>t,getTail:()=>n,getLength:()=>r,insertAfter:v,insertBefore:x,remove:o,removeBetween:(e,t)=>{const{prev:n}=e
const{next:p}=t
n.next=p
p.prev=n
return{clear:x,getHead:()=>t,getTail:()=>n,getLength:()=>r,getNode:e=>{let n=t.next
e=Math.min(e,r-1)
for(;0!==e;){n=n.next
e--}return n},insertAfter:p,insertBefore:v,remove:o,removeBetween:(e,t)=>{const{prev:n}=e
const{next:x}=t
n.next=x
x.prev=n
e.prev=t.next=null
let v=e
for(;v;){r--
v=v.next}},forEach:e=>{let r=t.next
let p=0
for(;r!==n;){e(r,p)
let p=e
for(;p;){r--
p=p.next}},forEach:e=>{let r=t.next
let x=0
for(;r!==n;){e(r,x)
r=r.next
p++}},forEachReverse:e=>{let p=n.prev
let v=r-1
for(;p!==t;){e(p,v)
p=p.prev
v--}},reverse:()=>{let e=t.next
x++}},forEachReverse:e=>{let x=n.prev
let p=r-1
for(;x!==t;){e(x,p)
x=x.prev
p--}},reverse:()=>{let e=t.next
for(;e!==n;){const{prev:t,next:n}=e

@@ -46,6 +49,6 @@ e.prev=n

e=n}const{next:r}=t
const{prev:p}=n
t.next=p
const{prev:x}=n
t.next=x
n.prev=r
p.prev=t
x.prev=t
r.next=n},setFirst:e=>{if(e===t.next)return

@@ -57,10 +60,10 @@ const{prev:n,next:r}=e

e.next=t.next
t.next=e},setLast:e=>{if(e===n.prev)return
e.next.prev=t.next=e},setLast:e=>{if(e===n.prev)return
const{prev:t,next:r}=e
t.next=r
r.prev=t
e.next=n
e.prev=n.prev
e.next=n
n.prev=e},push:e=>x(e,n),pop:()=>o(n.prev),unshift:e=>v(e,t),shift:()=>o(t.next)}}
e.prev.next=n.prev=e},push:e=>v(e,n),pop:()=>o(n.prev),unshift:e=>p(e,t),shift:()=>o(t.next)}}
const e=(e,t=null,n=null)=>({value:e,prev:t,next:n})
exports.createNode=e

@@ -676,3 +676,6 @@ root=window,factory=function(){return function(t){var e={}

n--}
return{clear:r,getHead:()=>t,getTail:()=>e,getLength:()=>n,insertAfter:o,insertBefore:s,remove:a,removeBetween:(t,e)=>{const{prev:r}=t
return{clear:r,getHead:()=>t,getTail:()=>e,getLength:()=>n,getNode:e=>{let r=t.next
e=Math.min(e,n-1)
for(;0!==e;){r=r.next
e--}return r},insertAfter:o,insertBefore:s,remove:a,removeBetween:(t,e)=>{const{prev:r}=t
const{next:o}=e

@@ -707,9 +710,9 @@ r.next=o

e.next=t.next
t.next=e},setLast:t=>{if(t===e.prev)return
e.next.prev=t.next=e},setLast:t=>{if(t===e.prev)return
const{prev:n,next:r}=t
n.next=r
r.prev=n
t.next=e
t.prev=e.prev
t.next=e
e.prev=t},push:t=>s(t,e),pop:()=>a(e.prev),unshift:e=>o(e,t),shift:()=>a(t.next)}}
t.prev.next=e.prev=t},push:t=>s(t,e),pop:()=>a(e.prev),unshift:e=>o(e,t),shift:()=>a(t.next)}}
const Nt=(t,e=null,n=null)=>({value:t,prev:e,next:n})

@@ -716,0 +719,0 @@ const Ft=(t,e,n,r)=>Object.assign({},Nt(e),{key:t,size:n,expireAt:r})

var e=require("../../../common/data/CacheMap")
var t=require("../../../common/module/MIME")
var r=require("../../file/function")
var a=require("../../module/EntityTag")
var n=require("./Send")
const s=()=>(0,e.createCacheMap)({valueSizeSumMax:33554432})
exports.createDefaultCacheMap=s
exports.createResponderBufferCache=({getBufferData:e,sizeSingleMax:t=524288,expireTime:r=6e4,isEnableGzip:a=!1,serveCacheMap:i=s()})=>{const o=a?n.responderSendBufferCompress:n.responderSendBuffer
return async(a,n)=>{let s=i.get(n)
s||(s=await e(a,n)).length<=t&&i.set(n,s,s.length,Date.now()+r)
return o(a,s)}}
exports.createResponderServeStatic=({sizeSingleMax:e=524288,expireTime:c=6e4,isEnableGzip:d=!1,isEnableRange:p=!0,serveCacheMap:g=s()})=>{const u=async(e,t,r,a)=>{let s=g.get(t)
if(!s)return!1
var a=require("../../file/File")
var n=require("../../module/EntityTag")
var s=require("./Send")
const i=()=>(0,e.createCacheMap)({valueSizeSumMax:33554432})
exports.createDefaultCacheMap=i
exports.createResponderBufferCache=({getBufferData:e,sizeSingleMax:t=524288,expireTime:r=6e4,isEnableGzip:a=!1,serveCacheMap:n=i()})=>{const o=a?s.responderSendBufferCompress:s.responderSendBuffer
return async(a,s)=>{let i=n.get(s)
i||(i=await e(a,s)).length<=t&&n.set(s,i,i.length,Date.now()+r)
return o(a,i)}}
exports.createResponderServeStatic=({sizeSingleMax:e=524288,expireTime:d=6e4,isEnableGzip:p=!1,isEnableRange:g=!0,serveCacheMap:u=i()})=>{const f=async(e,t,r,a)=>{let n=u.get(t)
if(!n)return!1
r&&e.response.setHeader("content-encoding",r)
if(a){a[1]===1/0&&(a[1]=s.length-1)
await(0,n.responderSendBufferRange)(e,s,a)}else await(0,n.responderSendBuffer)(e,s)
if(a){a[1]===1/0&&(a[1]=n.length-1)
await(0,s.responderSendBufferRange)(e,n,a)}else await(0,s.responderSendBuffer)(e,n)
return!0}
const f=async(t,s,i,o,d)=>{const p=await(0,r.statAsync)(s).catch(e=>{})
if(!p||!p.isFile())return!1
const u=p.size
const f=(0,a.getWeakEntityTagByStat)(p)
o&&t.response.setHeader("content-encoding",o)
if(d){d[1]===1/0&&(d[1]=u-1)
await(0,n.responderSendStreamRange)(t,{streamRange:(0,r.createReadStream)(s,{start:d[0],end:d[1]}),length:u,type:i,entityTag:f},d)}else if(u>e)await(0,n.responderSendStream)(t,{stream:(0,r.createReadStream)(s),length:u,type:i,entityTag:f})
else{const e={buffer:await(0,r.readFileAsync)(s),length:u,type:i,entityTag:f}
g.set(s,e,u,Date.now()+c)
await(0,n.responderSendBuffer)(t,e)}return!0}
return async(e,r)=>{const a=d&&i.test(e.request.headers["accept-encoding"])
const n=p&&o(e.request.headers.range)
p&&!a&&e.response.setHeader("accept-ranges","bytes")
if(a&&await u(e,r+".gz","gzip"))return
if(await u(e,r,void 0,n))return
const l=async(t,i,o,c,p)=>{const g=await(0,a.getPathStat)(i)
if(!g.isFile()||!g.size)return!1
const f=g.size
const l=(0,n.getWeakEntityTagByStat)(g)
c&&t.response.setHeader("content-encoding",c)
if(p){p[1]===1/0&&(p[1]=f-1)
await(0,s.responderSendStreamRange)(t,{streamRange:(0,r.createReadStream)(i,{start:p[0],end:p[1]}),length:f,type:o,entityTag:l},p)}else if(f>e)await(0,s.responderSendStream)(t,{stream:(0,r.createReadStream)(i),length:f,type:o,entityTag:l})
else{const e={buffer:await(0,r.readFileAsync)(i),length:f,type:o,entityTag:l}
u.set(i,e,f,Date.now()+d)
await(0,s.responderSendBuffer)(t,e)}return!0}
return async(e,r)=>{const a=p&&o.test(e.request.headers["accept-encoding"])
const n=g&&c(e.request.headers.range)
g&&!a&&e.response.setHeader("accept-ranges","bytes")
if(a&&await f(e,r+".gz","gzip"))return
if(await f(e,r,void 0,n))return
const s=(0,t.getMIMETypeFromFileName)(r)
if(!(a&&await f(e,r+".gz",s,"gzip")||await f(e,r,s,void 0,n)))throw new Error(`miss file: ${r}`)}}
const i=/gzip/i
const o=e=>{const t=c.exec(e)
if(!(a&&await l(e,r+".gz",s,"gzip")||await l(e,r,s,void 0,n)))throw new Error(`miss file: ${r}`)}}
const o=/gzip/i
const c=e=>{const t=d.exec(e)
if(!t)return

@@ -42,2 +43,2 @@ const[,r,a]=t

return n<s?[n,s]:void 0}
const c=/bytes=(\d+)-(\d+)?$/i
const d=/bytes=(\d+)-(\d+)?$/i

@@ -37,2 +37,11 @@ const createDoublyLinkedList = () => {

getLength: () => length,
getNode: index => {
let node = head.next;
index = Math.min(index, length - 1);
for (;0 !== index; ) {
node = node.next;
index--;
}
return node;
},
insertAfter,

@@ -93,3 +102,3 @@ insertBefore,

node.next = head.next;
head.next = node;
node.next.prev = head.next = node;
},

@@ -101,5 +110,5 @@ setLast: node => {

next.prev = prev;
node.next = tail;
node.prev = tail.prev;
node.next = tail;
tail.prev = node;
node.prev.next = tail.prev = node;
},

@@ -106,0 +115,0 @@ push: node => insertBefore(node, tail),

import { createCacheMap } from "../../../common/data/CacheMap";
import { getMIMETypeFromFileName } from "../../../common/module/MIME";
import { statAsync, readFileAsync, createReadStream } from "../../file/function";
import { readFileAsync, createReadStream } from "../../file/function";
import { getPathStat } from "../../file/File";
import { getWeakEntityTagByStat } from "../../module/EntityTag";

@@ -29,4 +30,4 @@ import { responderSendBuffer, responderSendBufferRange, responderSendBufferCompress, responderSendStream, responderSendStreamRange } from "./Send";

const serve = async (store, filePath, type, encoding, range) => {
const stat = await statAsync(filePath).catch(error => {});
if (!stat || !stat.isFile()) return !1;
const stat = await getPathStat(filePath);
if (!stat.isFile() || !stat.size) return !1;
const length = stat.size;

@@ -33,0 +34,0 @@ const entityTag = getWeakEntityTagByStat(stat);

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

{"name":"dr-js","version":"0.21.1","description":"A collection of strange functions","author":"dr-js","license":"MIT","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.2-dev.0","description":"A collection of strange functions","author":"dr-js","license":"MIT","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