File: //home/cafsindia/snap.cafsinfotech.in/node_modules/@sentry/utils/cjs/cache.js.map
{"version":3,"file":"cache.js","sources":["../../src/cache.ts"],"sourcesContent":["/**\n * Creates a cache that evicts keys in fifo order\n * @param size {Number}\n */\nexport function makeFifoCache<Key extends string, Value>(\n size: number,\n): {\n get: (key: Key) => Value | undefined;\n add: (key: Key, value: Value) => void;\n delete: (key: Key) => boolean;\n clear: () => void;\n size: () => number;\n} {\n // Maintain a fifo queue of keys, we cannot rely on Object.keys as the browser may not support it.\n let evictionOrder: Key[] = [];\n let cache: Record<string, Value> = {};\n\n return {\n add(key: Key, value: Value) {\n while (evictionOrder.length >= size) {\n // shift is O(n) but this is small size and only happens if we are\n // exceeding the cache size so it should be fine.\n const evictCandidate = evictionOrder.shift();\n\n if (evictCandidate !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete cache[evictCandidate];\n }\n }\n\n // in case we have a collision, delete the old key.\n if (cache[key]) {\n this.delete(key);\n }\n\n evictionOrder.push(key);\n cache[key] = value;\n },\n clear() {\n cache = {};\n evictionOrder = [];\n },\n get(key: Key): Value | undefined {\n return cache[key];\n },\n size() {\n return evictionOrder.length;\n },\n // Delete cache key and return true if it existed, false otherwise.\n delete(key: Key): boolean {\n if (!cache[key]) {\n return false;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete cache[key];\n\n for (let i = 0; i < evictionOrder.length; i++) {\n if (evictionOrder[i] === key) {\n evictionOrder.splice(i, 1);\n break;\n }\n }\n\n return true;\n },\n };\n}\n"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA,SAAA,aAAA;AACA,EAAA,IAAA;AACA;;AAMA,CAAA;AACA;AACA,EAAA,IAAA,aAAA,GAAA,EAAA,CAAA;AACA,EAAA,IAAA,KAAA,GAAA,EAAA,CAAA;AACA;AACA,EAAA,OAAA;AACA,IAAA,GAAA,CAAA,GAAA,EAAA,KAAA,EAAA;AACA,MAAA,OAAA,aAAA,CAAA,MAAA,IAAA,IAAA,EAAA;AACA;AACA;AACA,QAAA,MAAA,cAAA,GAAA,aAAA,CAAA,KAAA,EAAA,CAAA;AACA;AACA,QAAA,IAAA,cAAA,KAAA,SAAA,EAAA;AACA;AACA,UAAA,OAAA,KAAA,CAAA,cAAA,CAAA,CAAA;AACA,SAAA;AACA,OAAA;AACA;AACA;AACA,MAAA,IAAA,KAAA,CAAA,GAAA,CAAA,EAAA;AACA,QAAA,IAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA;AACA,OAAA;AACA;AACA,MAAA,aAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,GAAA,CAAA,GAAA,KAAA,CAAA;AACA,KAAA;AACA,IAAA,KAAA,GAAA;AACA,MAAA,KAAA,GAAA,EAAA,CAAA;AACA,MAAA,aAAA,GAAA,EAAA,CAAA;AACA,KAAA;AACA,IAAA,GAAA,CAAA,GAAA,EAAA;AACA,MAAA,OAAA,KAAA,CAAA,GAAA,CAAA,CAAA;AACA,KAAA;AACA,IAAA,IAAA,GAAA;AACA,MAAA,OAAA,aAAA,CAAA,MAAA,CAAA;AACA,KAAA;AACA;AACA,IAAA,MAAA,CAAA,GAAA,EAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,GAAA,CAAA,EAAA;AACA,QAAA,OAAA,KAAA,CAAA;AACA,OAAA;AACA;AACA;AACA,MAAA,OAAA,KAAA,CAAA,GAAA,CAAA,CAAA;AACA;AACA,MAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,aAAA,CAAA,MAAA,EAAA,CAAA,EAAA,EAAA;AACA,QAAA,IAAA,aAAA,CAAA,CAAA,CAAA,KAAA,GAAA,EAAA;AACA,UAAA,aAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACA,UAAA,MAAA;AACA,SAAA;AACA,OAAA;AACA;AACA,MAAA,OAAA,IAAA,CAAA;AACA,KAAA;AACA,GAAA,CAAA;AACA;;;;"}