UNPKG

@jointly/cache-candidate-plugin-dependency-keys

Version:
2 lines (1 loc) 2.96 kB
"use strict";var c=Object.create;var a=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var p=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),R=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})},l=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of P(e))!O.call(t,n)&&n!==r&&a(t,n,{get:()=>e[n],enumerable:!(o=T(e,n))||o.enumerable});return t};var m=(t,e,r)=>(r=t!=null?c(g(t)):{},l(e||!t||!t.__esModule?a(r,"default",{value:t,enumerable:!0}):r,t)),H=t=>l(a({},"__esModule",{value:!0}),t);var u=p((L,A)=>{"use strict";var s=Object.defineProperty,k=Object.getOwnPropertyDescriptor,y=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,w=(t,e)=>{for(var r in e)s(t,r,{get:e[r],enumerable:!0})},S=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of y(e))!v.call(t,n)&&n!==r&&s(t,n,{get:()=>e[n],enumerable:!(o=k(e,n))||o.enumerable});return t},b=t=>S(s({},"__esModule",{value:!0}),t),C={};w(C,{Hooks:()=>D});A.exports=b(C);var D=(t=>(t.SETUP="SETUP",t.INIT="INIT",t.EXECUTION_PRE="EXECUTION_PRE",t.EXECUTION_POST="EXECUTION_POST",t.DATACACHE_RECORD_ADD_PRE="DATACACHE_RECORD_ADD_PRE",t.DATACACHE_RECORD_ADD_POST="DATACACHE_RECORD_ADD_POST",t.DATACACHE_RECORD_DELETE_PRE="DATACACHE_RECORD_DELETE_PRE",t.DATACACHE_RECORD_DELETE_POST="DATACACHE_RECORD_DELETE_POST",t.CACHE_HIT="CACHE_HIT",t))(D||{})});var N={};R(N,{PluginDependencyKeys:()=>I,cacheCandidateDependencyManager:()=>i});module.exports=H(N);var h=()=>{let t=new Map;return{register:(e,r)=>{var o;for(let n of r)if(!t.has(n))t.set(n,[e]);else{let f=!1;for(let _ of t.get(n)??[])_.key===e.key&&(f=!0);f||(o=t.get(n))==null||o.push(e)}},invalidate:async e=>{var r;if(typeof e=="number"&&(e=e.toString()),!!t.has(e))for(let o of t.get(e)??[])await((r=o.internals)==null?void 0:r.deleteDataCacheRecord({options:o.options,key:o.key,HookPayload:o,result:null,staleMap:new Map,forceDeleteFn:!0}))},deleteKey:e=>{for(let[r,o]of t.entries())o.some(n=>n.key===e)&&(o.length===1?t.delete(r):t.set(r,o.filter(n=>n.key!==e)))},instances:t}},i=h();var E=m(u());var I={name:"dependencyKeys",hooks:[{hook:E.Hooks.INIT,action:async(t,e)=>{t.options.fetchingMode==="stale-while-revalidate"&&console.warn("We currently do not support stale-while-revalidate in cache-candidate-plugin-dependency-keys")}},{hook:E.Hooks.DATACACHE_RECORD_DELETE_POST,action:async({key:t})=>{i.deleteKey(t)}},{hook:E.Hooks.DATACACHE_RECORD_ADD_POST,action:async(t,e)=>{if(!e.dependencyKeys)return;let r=e.dependencyKeys;r=await M(r,t.result,t.fnArgs),i.register(t,r)}}]};async function M(t,e,r){return typeof t=="function"&&(t=t(e,r),t instanceof Promise&&(t=await t)),Array.isArray(t)&&(t=t.map(o=>typeof o=="number"?o.toString():o)),typeof t=="number"&&(t=[t.toString()]),typeof t=="string"&&(t=[t]),t}0&&(module.exports={PluginDependencyKeys,cacheCandidateDependencyManager});