@jointly/cache-candidate 1.3.0 → 1.4.0

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/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var $=Object.create;var m=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var X=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var b=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),B=(e,t)=>{for(var n in t)m(e,n,{get:t[n],enumerable:!0})},v=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of W(t))!K.call(e,a)&&a!==n&&m(e,a,{get:()=>t[a],enumerable:!(r=L(t,a))||r.enumerable});return e};var g=(e,t,n)=>(n=e!=null?$(X(e)):{},v(t||!e||!e.__esModule?m(n,"default",{value:e,enumerable:!0}):n,e)),z=e=>v(m({},"__esModule",{value:!0}),e);var y=b((Fe,S)=>{"use strict";var A=Object.defineProperty,G=Object.getOwnPropertyDescriptor,V=Object.getOwnPropertyNames,Y=Object.prototype.hasOwnProperty,Z=(e,t)=>{for(var n in t)A(e,n,{get:t[n],enumerable:!0})},ee=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of V(t))!Y.call(e,a)&&a!==n&&A(e,a,{get:()=>t[a],enumerable:!(r=G(t,a))||r.enumerable});return e},te=e=>ee(A({},"__esModule",{value:!0}),e),k={};Z(k,{Hooks:()=>F});S.exports=te(k);var F=(e=>(e.SETUP="SETUP",e.INIT="INIT",e.EXECUTION_PRE="EXECUTION_PRE",e.EXECUTION_POST="EXECUTION_POST",e.DATACACHE_RECORD_ADD_PRE="DATACACHE_RECORD_ADD_PRE",e.DATACACHE_RECORD_ADD_POST="DATACACHE_RECORD_ADD_POST",e.DATACACHE_RECORD_DELETE_PRE="DATACACHE_RECORD_DELETE_PRE",e.DATACACHE_RECORD_DELETE_POST="DATACACHE_RECORD_DELETE_POST",e.CACHE_HIT="CACHE_HIT",e))(F||{})});var M=b((Se,I)=>{"use strict";var P=Object.defineProperty,ne=Object.getOwnPropertyDescriptor,ae=Object.getOwnPropertyNames,re=Object.prototype.hasOwnProperty,oe=(e,t)=>{for(var n in t)P(e,n,{get:t[n],enumerable:!0})},ie=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of ae(t))!re.call(e,a)&&a!==n&&P(e,a,{get:()=>t[a],enumerable:!(r=ne(t,a))||r.enumerable});return e},ce=e=>ie(P({},"__esModule",{value:!0}),e),N={};oe(N,{Hook:()=>de,hook:()=>le});I.exports=ce(N);var ue={before:()=>{},after:()=>{}},se={before:()=>{},after:()=>{}};function de(e){return function(t,n,r){let a={},o=r.value,{before:i,after:c}={...ue,...e};return r.value=function(...u){i({context:a,args:u,target:t,propertyKey:n,descriptor:r});let d=o.apply(this,u);return c({context:a,args:u,target:t,propertyKey:n,descriptor:r,result:d}),d},r}}function le(e){return function(t){let n={},{before:r,after:a}={...se,...e};return function(...o){r({context:n,args:o});let i=t(...o);return a({context:n,args:o,result:i}),i}}}});var _e={};B(_e,{CacheCandidate:()=>Re,CacheCandidateOptionsDefault:()=>T,DataCacheRecordNotFound:()=>f,RunningQueryRecordNotFound:()=>p,cacheCandidate:()=>xe});module.exports=z(_e);var w=(e=new Map)=>({get:async t=>e.get(JSON.stringify(t)),has:async t=>e.has(JSON.stringify(t)),set:async(t,n)=>e.set(JSON.stringify(t),n),delete:async t=>e.delete(JSON.stringify(t))});var T={ttl:6e5,timeFrame:3e4,requestsThreshold:3,cache:w(),keepAlive:!1,plugins:[],events:{onCacheHit:e=>e,onCacheSet:e=>e,onCacheDelete:e=>e,onBeforeFunctionExecution:e=>e,onAfterFunctionExecution:e=>e}};var f=Symbol("DataCacheRecordNotFound"),p=Symbol("RunningQueryRecordNotFound");var H=g(y());var J=require("crypto");var j=g(y()),U=g(M());async function s(e,t,n){for(let r of t){let a=r.hooks.filter(i=>i.hook===e);if(a.length>1)throw new Error(`Only one hook instance per plugin is allowed. ${r.name} has ${a.length} instances of ${e}}`);if(a.length===0)continue;let o=a[0];if(he(o))await o.action(n,r.additionalParameters);else throw new Error(`Hook ${e} for plugin ${r.name} is not actionable.`)}}function he(e){return[e.action!==void 0,typeof e.action=="function"].every(t=>t===!0)}function Q(e,t,n,r){return(0,U.hook)({before:()=>{s(e,n.plugins,r)},after:({result:a})=>{s(t,n.plugins,{...r,result:a})}})}function D({options:e}){e.plugins&&e.plugins.forEach(t=>{if(!t.hooks||!Array.isArray(t.hooks)||t.hooks.length===0)throw new Error(`Plugin ${t.name} has no hooks.`);t.hooks.forEach(n=>{if(!j.Hooks[n.hook])throw new Error(`Invalid hook ${n}`)})})}var h=g(y());function Ce(e,t){return Date.now()<e+t.timeFrame}function fe({key:e,timeframeCache:t,executionTime:n,executionEnd:r}){t.has(e)?t.get(e).push({executionTime:n,executionEnd:r}):t.set(e,[{executionEnd:r,executionTime:n}])}function me({options:e,key:t,timeframeCache:n}){if(n.has(t)){let r=n.get(t),a=r.filter(({executionEnd:o})=>Ce(o,e));r.length!==a.length&&n.set(t,a)}}function ge({key:e,runningQueryCache:t}){return t.has(e)?t.get(e):p}function O(...e){return(0,J.createHash)("sha256").update(e.join("|")).digest("hex")}function pe({birthTime:e,options:t}){return Date.now()-e>=t.ttl}async function ye({options:e,key:t,HookPayload:n}){if(await e.cache.has(t)){let{result:r,birthTime:a}=await e.cache.get(t);return pe({birthTime:a,options:e})?(await R({options:e,key:t,HookPayload:n}),f):r}return f}async function Ee({options:e,key:t,result:n}){return e.cache.set(t,{result:n,birthTime:Date.now()},e.ttl)}async function R({options:e,key:t,HookPayload:n}){Q(h.Hooks.DATACACHE_RECORD_DELETE_PRE,h.Hooks.DATACACHE_RECORD_DELETE_POST,e,n)(e.cache.delete)(t).then(()=>{e.events.onCacheDelete({key:t})})}async function q({result:e,runningQueryCache:t,key:n,executionStart:r,options:a,timeframeCache:o,timeoutCache:i,args:c,HookPayload:u}){let d=Date.now(),C=d-r;a.events.onAfterFunctionExecution({key:n,executionTime:C}),fe({key:n,timeframeCache:o,executionTime:C,executionEnd:d}),Te({options:a,key:n,timeframeCache:o,executionTime:C,args:c})>=a.requestsThreshold?(await s(h.Hooks.DATACACHE_RECORD_ADD_PRE,a.plugins,u),Ee({options:a,key:n,result:e}).then(async()=>{await s(h.Hooks.DATACACHE_RECORD_ADD_POST,a.plugins,{...u,result:e}),a.events.onCacheSet({key:n})}).finally(()=>{t.delete(n),i.set(n,setTimeout(()=>{R({options:a,key:n,HookPayload:u}),i.delete(n)},a.ttl).unref())})):t.delete(n)}function Te({options:e,key:t,timeframeCache:n,executionTime:r,args:a}){let o=0,i=n.get(t);return e.candidateFunction?o=Pe(e,r,a,i):e.millisecondThreshold?o=Ae(r,e,i):o=i.length,o}function Ae(e,t,n){let r=0;return e>t.millisecondThreshold&&(r=n.filter(a=>a.executionTime>t.millisecondThreshold).length),r}function Pe(e,t,n,r){let a=0;return e.candidateFunction({timeFrameCacheRecords:r,options:e,args:n})&&(a=e.requestsThreshold),a}function De({timeoutCache:e,key:t,options:n,HookPayload:r}){clearTimeout(e.get(t)),e.set(t,setTimeout(()=>{R({options:n,key:t,HookPayload:r}),e.delete(t)},n.ttl).unref())}function Oe(e=10){return Math.random().toString(36).substring(2,e+2)}async function x({options:e,key:t,timeoutCache:n,runningQueryCache:r,timeframeCache:a,args:o,originalMethod:i}){let c={options:{...e,plugins:void 0},key:t,timeoutCache:n,runningQueryCache:r,timeframeCache:a,fnArgs:o};await s(h.Hooks.INIT,e.plugins,c);let u=await ye({options:e,key:t,HookPayload:c});if(u!==f)return e.keepAlive&&De({timeoutCache:n,key:t,options:e,HookPayload:c}),await s(h.Hooks.CACHE_HIT,e.plugins,{...c,result:u}),e.events.onCacheHit({key:t}),Promise.resolve(u);let d=ge({key:t,runningQueryCache:r});if(d!==p)return await s(h.Hooks.CACHE_HIT,e.plugins,{...c,result:d}),d;me({options:e,key:t,timeframeCache:a}),await s(h.Hooks.EXECUTION_PRE,e.plugins,c),e.events.onBeforeFunctionExecution({key:t});let C=Date.now(),l=i(...o);return await s(h.Hooks.EXECUTION_POST,e.plugins,{...c,result:l}),l instanceof Promise?(r.set(t,l),l.then(E=>q({result:E,runningQueryCache:r,key:t,executionStart:C,options:e,timeframeCache:a,timeoutCache:n,args:o,HookPayload:c})),l):(q({result:l,runningQueryCache:r,key:t,executionStart:C,options:e,timeframeCache:a,timeoutCache:n,args:o,HookPayload:c}),l)}function _(e){let t=new Map,n=new Map,r=Oe(),a=new Map,o={...T,...e};return{timeframeCache:t,runningQueryCache:n,uniqueIdentifier:r,timeoutCache:a,options:o}}function Re(e={}){let{timeframeCache:t,runningQueryCache:n,uniqueIdentifier:r,timeoutCache:a,options:o}=_(e);return D({options:o}),s(H.Hooks.SETUP,o.plugins,{options:{...o,plugins:void 0},key:"",timeoutCache:a,runningQueryCache:n,timeframeCache:t,fnArgs:[]}),function(i,c,u){let d=u.value;u.value=async function(...C){let l=i.constructor.name+JSON.stringify(this),E=O([c,r,l,JSON.stringify(C)]);return x({options:o,key:E,timeoutCache:a,runningQueryCache:n,timeframeCache:t,args:C,originalMethod:d})}}}function xe(e,t={}){let{timeframeCache:n,runningQueryCache:r,uniqueIdentifier:a,timeoutCache:o,options:i}=_(t);return D({options:i}),s(H.Hooks.SETUP,i.plugins,{options:{...i,plugins:void 0},key:"",timeoutCache:o,runningQueryCache:r,timeframeCache:n,fnArgs:[]}),async(...c)=>x({options:i,key:O([a,JSON.stringify(c)]),timeoutCache:o,runningQueryCache:r,timeframeCache:n,args:c,originalMethod:e})}0&&(module.exports={CacheCandidate,CacheCandidateOptionsDefault,DataCacheRecordNotFound,RunningQueryRecordNotFound,cacheCandidate});
1
+ "use strict";var K=Object.create;var A=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var F=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Y=(e,t)=>{for(var n in t)A(e,n,{get:t[n],enumerable:!0})},S=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of z(t))!V.call(e,r)&&r!==n&&A(e,r,{get:()=>t[r],enumerable:!(a=B(t,r))||a.enumerable});return e};var D=(e,t,n)=>(n=e!=null?K(G(e)):{},S(t||!e||!e.__esModule?A(n,"default",{value:e,enumerable:!0}):n,e)),Z=e=>S(A({},"__esModule",{value:!0}),e);var O=F((Fe,j)=>{"use strict";var _=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,te=Object.getOwnPropertyNames,ne=Object.prototype.hasOwnProperty,ae=(e,t)=>{for(var n in t)_(e,n,{get:t[n],enumerable:!0})},re=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of te(t))!ne.call(e,r)&&r!==n&&_(e,r,{get:()=>t[r],enumerable:!(a=ee(t,r))||a.enumerable});return e},oe=e=>re(_({},"__esModule",{value:!0}),e),I={};ae(I,{Hooks:()=>M});j.exports=oe(I);var M=(e=>(e.SETUP="SETUP",e.INIT="INIT",e.EXECUTION_PRE="EXECUTION_PRE",e.EXECUTION_POST="EXECUTION_POST",e.DATACACHE_RECORD_ADD_PRE="DATACACHE_RECORD_ADD_PRE",e.DATACACHE_RECORD_ADD_POST="DATACACHE_RECORD_ADD_POST",e.DATACACHE_RECORD_DELETE_PRE="DATACACHE_RECORD_DELETE_PRE",e.DATACACHE_RECORD_DELETE_POST="DATACACHE_RECORD_DELETE_POST",e.CACHE_HIT="CACHE_HIT",e))(M||{})});var q=F((Se,Q)=>{"use strict";var H=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,ce=Object.getOwnPropertyNames,se=Object.prototype.hasOwnProperty,ue=(e,t)=>{for(var n in t)H(e,n,{get:t[n],enumerable:!0})},de=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ce(t))!se.call(e,r)&&r!==n&&H(e,r,{get:()=>t[r],enumerable:!(a=ie(t,r))||a.enumerable});return e},le=e=>de(H({},"__esModule",{value:!0}),e),U={};ue(U,{Hook:()=>fe,hook:()=>me});Q.exports=le(U);var Ce={before:()=>{},after:()=>{}},he={before:()=>{},after:()=>{}};function fe(e){return function(t,n,a){let r={},o=a.value,{before:i,after:c}={...Ce,...e};return a.value=function(...s){i({context:r,args:s,target:t,propertyKey:n,descriptor:a});let d=o.apply(this,s);return c({context:r,args:s,target:t,propertyKey:n,descriptor:a,result:d}),d},a}}function me(e){return function(t){let n={},{before:a,after:r}={...he,...e};return function(...o){a({context:n,args:o});let i=t(...o);return r({context:n,args:o,result:i}),i}}}});var _e={};Y(_e,{CacheCandidate:()=>xe,CacheCandidateOptionsDefault:()=>R,DataCacheRecordNotFound:()=>g,RunningQueryRecordNotFound:()=>P,cacheCandidate:()=>Re});module.exports=Z(_e);var N=(e=new Map)=>({get:async t=>e.get(JSON.stringify(t)),has:async t=>e.has(JSON.stringify(t)),set:async(t,n)=>e.set(JSON.stringify(t),n),delete:async t=>e.delete(JSON.stringify(t))});var R={ttl:6e5,timeFrame:3e4,requestsThreshold:3,cache:N(),keepAlive:!1,plugins:[],events:{onCacheHit:e=>e,onCacheSet:e=>e,onCacheDelete:e=>e,onBeforeFunctionExecution:e=>e,onAfterFunctionExecution:e=>e}};var g=Symbol("DataCacheRecordNotFound"),P=Symbol("RunningQueryRecordNotFound");var w=D(O());var X=require("crypto");var J=D(O()),$=D(q());async function u(e,t,n){for(let a of t){let r=a.hooks.filter(i=>i.hook===e);if(r.length>1)throw new Error(`Only one hook instance per plugin is allowed. ${a.name} has ${r.length} instances of ${e}}`);if(r.length===0)continue;let o=r[0];if(ge(o))await o.action(n,a.additionalParameters);else throw new Error(`Hook ${e} for plugin ${a.name} is not actionable.`)}}function ge(e){return[e.action!==void 0,typeof e.action=="function"].every(t=>t===!0)}function L(e,t,n,a){return(0,$.hook)({before:()=>{u(e,n.plugins,a)},after:({result:r})=>{u(t,n.plugins,{...a,result:r})}})}function b({options:e}){e.plugins&&e.plugins.forEach(t=>{if(!t.hooks||!Array.isArray(t.hooks)||t.hooks.length===0)throw new Error(`Plugin ${t.name} has no hooks.`);t.hooks.forEach(n=>{if(!J.Hooks[n.hook])throw new Error(`Invalid hook ${n}`)})})}var C=D(O());function pe(e,t){return Date.now()<e+t.timeFrame}function ye({key:e,timeframeCache:t,executionTime:n,executionEnd:a}){t.has(e)?t.get(e).push({executionTime:n,executionEnd:a}):t.set(e,[{executionEnd:a,executionTime:n}])}function Ee({options:e,key:t,timeframeCache:n}){if(n.has(t)){let a=n.get(t),r=a.filter(({executionEnd:o})=>pe(o,e));a.length!==r.length&&n.set(t,r)}}function Te({key:e,runningQueryCache:t}){return t.has(e)?t.get(e):P}function m(...e){return(0,X.createHash)("sha256").update(e.join("|")).digest("hex")}function y({birthTime:e,options:t}){return Date.now()-e>=t.ttl}async function p({options:e,key:t,HookPayload:n}){if(await e.cache.has(t)){let{result:a,birthTime:r}=await e.cache.get(t);return y({birthTime:r,options:e})?(await f({options:e,key:t,HookPayload:n}),g):a}return g}async function E({options:e,key:t,result:n,HookPayload:a}){return await u(C.Hooks.DATACACHE_RECORD_ADD_PRE,e.plugins,a),e.cache.set(t,{result:n,birthTime:Date.now()},e.ttl).then(async()=>{await u(C.Hooks.DATACACHE_RECORD_ADD_POST,e.plugins,{...a,result:n}),e.events.onCacheSet({key:t})})}async function f({options:e,key:t,HookPayload:n}){L(C.Hooks.DATACACHE_RECORD_DELETE_PRE,C.Hooks.DATACACHE_RECORD_DELETE_POST,e,n)(e.cache.delete)(t).then(()=>{e.events.onCacheDelete({key:t})})}async function W({result:e,runningQueryCache:t,key:n,executionStart:a,options:r,timeframeCache:o,timeoutCache:i,args:c,HookPayload:s}){let d=Date.now(),h=d-a;r.events.onAfterFunctionExecution({key:n,executionTime:h}),ye({key:n,timeframeCache:o,executionTime:h,executionEnd:d}),T({options:r,key:n,timeframeCache:o,executionTime:h,args:c})>=r.requestsThreshold?E({options:r,key:n,result:e,HookPayload:s}).finally(()=>{t.delete(n),i.set(n,setTimeout(()=>{f({options:r,key:n,HookPayload:s}),i.delete(n)},r.ttl).unref())}):t.delete(n)}function T({options:e,key:t,timeframeCache:n,executionTime:a,args:r}){let o=0,i=n.get(t);return e.candidateFunction?o=De(e,a,r,i):e.millisecondThreshold?o=Ae(a,e,i):o=i.length,o}function Ae(e,t,n){let a=0;return e>t.millisecondThreshold&&(a=n.filter(r=>r.executionTime>t.millisecondThreshold).length),a}function De(e,t,n,a){let r=0;return e.candidateFunction({timeFrameCacheRecords:a,options:e,args:n})&&(r=e.requestsThreshold),r}function Pe({timeoutCache:e,key:t,options:n,HookPayload:a}){clearTimeout(e.get(t)),e.set(t,setTimeout(()=>{f({options:n,key:t,HookPayload:a}),e.delete(t)},n.ttl).unref())}function Oe(e=10){return Math.random().toString(36).substring(2,e+2)}async function v({options:e,key:t,timeoutCache:n,runningQueryCache:a,timeframeCache:r,args:o,originalMethod:i}){let c={options:{...e,plugins:void 0},key:t,timeoutCache:n,runningQueryCache:a,timeframeCache:r,fnArgs:o,internals:{getDataCacheRecord:p,addDataCacheRecord:E,deleteDataCacheRecord:f,isDataCacheRecordExpired:y,getDataCacheKey:m,getExceedingAmount:T}};await u(C.Hooks.INIT,e.plugins,c);let s=await p({options:e,key:t,HookPayload:c});if(s!==g)return e.keepAlive&&Pe({timeoutCache:n,key:t,options:e,HookPayload:c}),await u(C.Hooks.CACHE_HIT,e.plugins,{...c,result:s}),e.events.onCacheHit({key:t}),Promise.resolve(s);let d=Te({key:t,runningQueryCache:a});if(d!==P)return await u(C.Hooks.CACHE_HIT,e.plugins,{...c,result:d}),d;Ee({options:e,key:t,timeframeCache:r}),await u(C.Hooks.EXECUTION_PRE,e.plugins,c),e.events.onBeforeFunctionExecution({key:t});let h=Date.now(),l=i(...o);return await u(C.Hooks.EXECUTION_POST,e.plugins,{...c,result:l}),l instanceof Promise?(a.set(t,l),l.then(x=>W({result:x,runningQueryCache:a,key:t,executionStart:h,options:e,timeframeCache:r,timeoutCache:n,args:o,HookPayload:c})),l):(W({result:l,runningQueryCache:a,key:t,executionStart:h,options:e,timeframeCache:r,timeoutCache:n,args:o,HookPayload:c}),l)}function k(e){let t=new Map,n=new Map,a=Oe(),r=new Map,o={...R,...e};return{timeframeCache:t,runningQueryCache:n,uniqueIdentifier:a,timeoutCache:r,options:o}}function xe(e={}){let{timeframeCache:t,runningQueryCache:n,uniqueIdentifier:a,timeoutCache:r,options:o}=k(e);return b({options:o}),u(w.Hooks.SETUP,o.plugins,{options:{...o,plugins:void 0},key:"",timeoutCache:r,runningQueryCache:n,timeframeCache:t,fnArgs:[],internals:{getDataCacheRecord:p,addDataCacheRecord:E,deleteDataCacheRecord:f,isDataCacheRecordExpired:y,getDataCacheKey:m,getExceedingAmount:T}}),function(i,c,s){let d=s.value;s.value=async function(...h){let l=i.constructor.name+JSON.stringify(this),x=m([c,a,l,JSON.stringify(h)]);return v({options:o,key:x,timeoutCache:r,runningQueryCache:n,timeframeCache:t,args:h,originalMethod:d})}}}function Re(e,t={}){let{timeframeCache:n,runningQueryCache:a,uniqueIdentifier:r,timeoutCache:o,options:i}=k(t);return b({options:i}),u(w.Hooks.SETUP,i.plugins,{options:{...i,plugins:void 0},key:"",timeoutCache:o,runningQueryCache:a,timeframeCache:n,fnArgs:[],internals:{getDataCacheRecord:p,addDataCacheRecord:E,deleteDataCacheRecord:f,isDataCacheRecordExpired:y,getDataCacheKey:m,getExceedingAmount:T}}),async(...c)=>v({options:i,key:m([r,JSON.stringify(c)]),timeoutCache:o,runningQueryCache:a,timeframeCache:n,args:c,originalMethod:e})}0&&(module.exports={CacheCandidate,CacheCandidateOptionsDefault,DataCacheRecordNotFound,RunningQueryRecordNotFound,cacheCandidate});
@@ -1,5 +1,33 @@
1
1
  import { CacheCandidateOptions, TimeoutCache, RunningQueryCache, TimeFrameCache } from './models';
2
+ import { PluginPayload } from '@jointly/cache-candidate-plugin-base';
2
3
  export declare function getDataCacheKey(...args: any[]): string;
4
+ export declare function isDataCacheRecordExpired({ birthTime, options }: {
5
+ birthTime: any;
6
+ options: any;
7
+ }): boolean;
8
+ export declare function getDataCacheRecord({ options, key, HookPayload }: {
9
+ options: any;
10
+ key: any;
11
+ HookPayload: any;
12
+ }): Promise<unknown | undefined>;
13
+ export declare function addDataCacheRecord({ options, key, result, HookPayload }: {
14
+ options: CacheCandidateOptions;
15
+ key: string;
16
+ result: unknown;
17
+ HookPayload: PluginPayload;
18
+ }): Promise<void>;
19
+ export declare function deleteDataCacheRecord({ options, key, HookPayload }: {
20
+ options: CacheCandidateOptions;
21
+ key: string;
22
+ HookPayload: PluginPayload;
23
+ }): Promise<void>;
24
+ export declare function getExceedingAmount({ options, key, timeframeCache, executionTime, args }: {
25
+ options: any;
26
+ key: any;
27
+ timeframeCache: any;
28
+ executionTime: any;
29
+ args: any;
30
+ }): number;
3
31
  export declare function uniqid(length?: number): string;
4
32
  export declare function letsCandidate({ options, key, timeoutCache, runningQueryCache, timeframeCache, args, originalMethod }: {
5
33
  options: CacheCandidateOptions;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jointly/cache-candidate",
3
3
  "private": false,
4
- "version": "1.3.0",
4
+ "version": "1.4.0",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  "devDependencies": {
35
35
  "@commitlint/cli": "^17.3.0",
36
36
  "@commitlint/config-conventional": "^17.3.0",
37
- "@jointly/cache-candidate-plugin-base": "^1.0.0",
37
+ "@jointly/cache-candidate-plugin-base": "^1.2.2",
38
38
  "@types/jest": "^29.2.5",
39
39
  "@types/node": "^18.11.12",
40
40
  "@types/redis": "^4.0.11",