mastercache
Version:
Multi-tier cache module for Node.js. Redis, Upstash, CloudfareKV, File, in-memory and others drivers
1 lines • 2.45 kB
Source Map (JSON)
{"version":3,"sources":["../../../../src/cache/stack/cache-stack-writer.ts","../../../../src/events/cache/cache-written.ts"],"sourcesContent":["import type { CacheStack } from './cache-stack';\nimport { CacheBusMessageType } from '../../types/main';\nimport { CacheWritten } from '../../events/cache/cache-written';\nimport type { CacheEntryOptions } from '../cache-entry/cache-entry-options';\n\nexport class CacheStackWriter {\n constructor(protected cacheStack: CacheStack) {}\n\n /**\n * Write a value in the cache stack\n * - Set value in local cache\n * - Set value in remote cache\n * - Publish a message to the bus\n * - Emit a CacheWritten event\n */\n async set(key: string, value: any, options: CacheEntryOptions) {\n const item = this.cacheStack.serialize({\n value,\n logicalExpiration: options.logicalTtlFromNow(),\n earlyExpiration: options.earlyExpireTtlFromNow(),\n });\n\n this.cacheStack.l1?.set(key, item, options);\n await this.cacheStack.l2?.set(key, item, options);\n await this.cacheStack.publish({ type: CacheBusMessageType.Set, keys: [key] });\n\n this.cacheStack.emit(new CacheWritten(key, value, this.cacheStack.name));\n return true;\n }\n}\n","import type { CacheEvent } from '../../types/main';\n\n/**\n * Event emitted when a cache entry is written\n * using `set`,`getOrSet`\n */\nexport class CacheWritten implements CacheEvent {\n name = 'cache:written' as const;\n\n constructor(\n readonly key: string,\n readonly value: any,\n readonly store: string,\n ) {}\n\n toJSON() {\n return {\n key: this.key,\n store: this.store,\n value: this.value,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACMO,IAAM,eAAN,MAAyC;AAAA,EAG9C,YACW,KACA,OACA,OACT;AAHS;AACA;AACA;AAAA,EACR;AAAA,EANH,OAAO;AAAA,EAQP,SAAS;AACP,WAAO;AAAA,MACL,KAAK,KAAK;AAAA,MACV,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AACF;;;ADjBO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,YAAsB,YAAwB;AAAxB;AAAA,EAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS/C,MAAM,IAAI,KAAa,OAAY,SAA4B;AAC7D,UAAM,OAAO,KAAK,WAAW,UAAU;AAAA,MACrC;AAAA,MACA,mBAAmB,QAAQ,kBAAkB;AAAA,MAC7C,iBAAiB,QAAQ,sBAAsB;AAAA,IACjD,CAAC;AAED,SAAK,WAAW,IAAI,IAAI,KAAK,MAAM,OAAO;AAC1C,UAAM,KAAK,WAAW,IAAI,IAAI,KAAK,MAAM,OAAO;AAChD,UAAM,KAAK,WAAW,QAAQ,EAAE,uBAA+B,MAAM,CAAC,GAAG,EAAE,CAAC;AAE5E,SAAK,WAAW,KAAK,IAAI,aAAa,KAAK,OAAO,KAAK,WAAW,IAAI,CAAC;AACvE,WAAO;AAAA,EACT;AACF;","names":[]}