@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
1 lines • 963 B
Source Map (JSON)
{"version":3,"sources":["../../src/types/Cache.ts"],"sourcesContent":["import { Func } from './Func';\nimport { CacheAge } from './CacheAge';\nimport { Construct } from './Constructor';\nimport { meta } from './Meta';\n\nexport interface Store<To = any, From = any> {\n execute: (fetch: From, f: Func<Promise<To>, From>) => Promise<To>;\n}\n\nexport type CacheOptions = {\n expiresIn?: CacheAge;\n store?: Construct<Store>;\n};\n\nexport const toCacheOptions = (co: Partial<CacheOptions>): CacheOptions => ({\n expiresIn: co.expiresIn ?? '5m',\n store: co.store,\n});\n\nexport const cache =\n (options: Partial<CacheOptions>): ClassDecorator =>\n (subject: unknown): void => {\n meta(subject).set('cache', toCacheOptions(options));\n };\n"],"mappings":";;;;;;;;;;;;;;;;;AAcO,IAAM,iBAAiB,CAAC,QAA6C;AAAA,EAC1E,WAAW,GAAG,aAAa;AAAA,EAC3B,OAAO,GAAG;AACZ;AAEO,IAAM,QACX,CAAC,YACD,CAAC,YAA2B;AAC1B,OAAK,OAAO,EAAE,IAAI,SAAS,eAAe,OAAO,CAAC;AACpD;","names":[]}