Comparing version 1.11.6-alpha.7 to 1.11.6-alpha.8
@@ -1,2 +0,2 @@ | ||
/*! idmp v1.11.6-alpha.7 | (c) github/haozi | MIT */ | ||
/*! idmp v1.11.6-alpha.8 | (c) github/haozi | MIT */ | ||
const p = () => { | ||
@@ -3,0 +3,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
/*! idmp v1.11.6-alpha.7 | (c) github/haozi | MIT */ | ||
/*! idmp v1.11.6-alpha.8 | (c) github/haozi | MIT */ | ||
(function(n,i){typeof exports=="object"&&typeof module!="undefined"?i(exports):typeof define=="function"&&define.amd?define(["exports"],i):(n=typeof globalThis!="undefined"?globalThis:n||self,i(n.idmp={}))})(this,function(n){"use strict";const g=()=>{},l=t=>t<0?0:t>6048e5?6048e5:t;n.g={};const a=t=>{const{maxRetry:f=30,maxAge:u=3e3,onBeforeRetry:c=g}=t||{},m=l(u);return{maxRetry:f,maxAge:m,onBeforeRetry:c,f:u===1/0}},r=t=>{t&&delete n.g[t]},_=()=>{n.g={}},h=(t,f,u)=>{if(!t)return f();const{maxRetry:c,maxAge:m,onBeforeRetry:p,f:R}=a(u);n.g[t]=n.g[t]||{0:0,1:0,4:[]};const e=n.g[t],T=()=>{e[1]=0,e[2]=void 0,e[3]=void 0},M=()=>{const o=e[4].length;for(let s=0;s<o;++s)e[4][s][0](e[2]);e[4]=[],R||setTimeout(()=>{r(t)},m)},y=()=>{const o=e[4].length-c;for(let s=0;s<o;++s)e[4][s][1](e[3]);r(t)},A=()=>new Promise((o,s)=>{if(!e[5]&&(e[5]=f),e[2]){o(e[2]);return}e[1]===0?(e[1]=1,e[4].push([o,s]),e[5]().then(d=>{e[2]=d,M(),e[1]=4}).catch(d=>{e[1]=3,e[3]=d,++e[0],e[0]>c?y():(p(d,{globalKey:t,retryCount:e[0]}),T(),setTimeout(A,(e[0]-1)*50))})):e[1]===1&&e[4].push([o,s])});return A()};h.flush=r,h.flushAll=_,n.default=h,n.getOptions=a,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); |
@@ -1,2 +0,2 @@ | ||
/*! idmp v1.11.6-alpha.7 | (c) github/haozi | MIT */ | ||
/*! idmp v1.11.6-alpha.8 | (c) github/haozi | MIT */ | ||
const DEFAULT_MAX_AGE = 3e3; | ||
@@ -3,0 +3,0 @@ const _7days = 6048e5; |
@@ -1,2 +0,2 @@ | ||
/*! idmp v1.11.6-alpha.7 | (c) github/haozi | MIT */ | ||
/*! idmp v1.11.6-alpha.8 | (c) github/haozi | MIT */ | ||
const DEFAULT_MAX_AGE = 3e3; | ||
@@ -210,3 +210,5 @@ const _7days = 6048e5; | ||
const line = arr[idx + offset + 1] || ""; | ||
return line; | ||
if (line.includes("idmp")) | ||
return line; | ||
return ""; | ||
} catch (e) { | ||
@@ -236,5 +238,8 @@ } | ||
${[ | ||
`1.${line1}`, | ||
`1.${line1} ${cache[ | ||
6 | ||
/* _sourceStack */ | ||
]}`, | ||
"------------", | ||
`2.${line2}` | ||
`2.${line2} ${err.stack}` | ||
].join("\n")}` | ||
@@ -241,0 +246,0 @@ ); |
@@ -1,5 +0,4 @@ | ||
export * from './plugins/node-fs/dist' | ||
import { default as Hello} from './plugins/node-fs/dist' | ||
import { default as d } from './plugins/node-fs/dist' | ||
export { Hello as default} | ||
export { d as default } |
{ | ||
"name": "idmp", | ||
"version": "1.11.6-alpha.7", | ||
"version": "1.11.6-alpha.8", | ||
"keywords": [ | ||
@@ -5,0 +5,0 @@ "deduplicate network requests", |
@@ -1,3 +0,7 @@ | ||
declare const _default: () => number; | ||
export default _default; | ||
export declare const a = "hello"; | ||
import { type Idmp, type IdmpOptions, type IdmpPromise } from 'idmp'; | ||
declare const fsIdmpWrap: (_idmp: Idmp) => { | ||
<T>(globalKey: string, promiseFunc: IdmpPromise<T>, options?: IdmpOptions): Promise<any>; | ||
flush(globalKey: string): void; | ||
flushAll(): void; | ||
}; | ||
export default fsIdmpWrap; |
/*! idmp v1.0.0 | (c) github/haozi | MIT */ | ||
const index = () => { | ||
return 10; | ||
import { getOptions } from "idmp"; | ||
import os from "node:os"; | ||
import path from "node:path"; | ||
import fs from "fs-extra"; | ||
const udf = void 0; | ||
const encode = encodeURIComponent; | ||
const cacheDir = path.resolve(os.tmpdir(), "idmp/node"); | ||
const getCachePath = (globalKey) => path.resolve(cacheDir, encode(globalKey)); | ||
const setData = async (key, data, maxAge) => { | ||
const cachePath = getCachePath(key); | ||
fs.ensureFileSync(cachePath); | ||
fs.outputJSONSync(cachePath, { | ||
t: Date.now(), | ||
a: maxAge, | ||
d: data | ||
}); | ||
}; | ||
const a = "hello"; | ||
const getData = async (key) => { | ||
const cachePath = getCachePath(key); | ||
const localData = fs.readJsonSync(cachePath, { throws: false }) ?? udf; | ||
if (localData === udf) | ||
return udf; | ||
const { t, a: maxAge, d: data } = localData; | ||
if (Date.now() - t > maxAge) { | ||
fs.removeSync(cachePath); | ||
return udf; | ||
} | ||
return data; | ||
}; | ||
const fsIdmpWrap = (_idmp) => { | ||
const newIdmp = (globalKey, promiseFunc, options) => { | ||
const finalOptions = getOptions(options); | ||
return _idmp( | ||
globalKey, | ||
async () => { | ||
const localData = await getData(globalKey); | ||
if (localData) { | ||
console.log("from localData"); | ||
return localData; | ||
} | ||
const memoryData = await promiseFunc(); | ||
if (memoryData) { | ||
setData(globalKey, memoryData, finalOptions.maxAge); | ||
} | ||
return memoryData; | ||
}, | ||
options | ||
); | ||
}; | ||
newIdmp.flush = (globalKey) => { | ||
_idmp.flush(globalKey); | ||
fs.removeSync(getCachePath(globalKey)); | ||
}; | ||
newIdmp.flushAll = () => { | ||
_idmp.flushAll(); | ||
fs.removeSync(cacheDir); | ||
}; | ||
return newIdmp; | ||
}; | ||
export { | ||
a, | ||
index as default | ||
fsIdmpWrap as default | ||
}; | ||
//# sourceMappingURL=index.js.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
117338
22
2380
1