{"version":3,"sources":["../../../../src/lib/A-ServerEntityList/A-EntityListCacheState.context.ts"],"names":[],"mappings":";;;AAGO,MAAM,qCAAqC,UAAA,CAAyC;AAAA,EAKvF,IAAI,KAAA,EAAqB;AACrB,IAAA,IAAA,CAAK,UAAA,GAAa,KAAK,GAAA,EAAI;AAC3B,IAAA,IAAA,CAAK,IAAA,GAAO,KAAA;AAAA,EAChB;AAAA,EAEA,UAAA,GAAmB;AACf,IAAA,IAAA,CAAK,UAAA,GAAa,MAAA;AAClB,IAAA,IAAA,CAAK,IAAA,GAAO,MAAA;AAAA,EAChB;AAAA,EAEA,OAAA,GAAmB;AACf,IAAA,IAAI,KAAK,UAAA,KAAe,MAAA,IAAa,IAAA,CAAK,IAAA,KAAS,QAAW,OAAO,KAAA;AACrE,IAAA,OAAQ,IAAA,CAAK,GAAA,EAAI,GAAI,IAAA,CAAK,aAAc,IAAA,CAAK,IAAA;AAAA,EACjD;AAAA,EAEA,MAAA,GAAuC;AACnC,IAAA,OAAO,EAAE,IAAA,EAAM,IAAA,CAAK,IAAA,EAAK;AAAA,EAC7B;AACJ","file":"A-EntityListCacheState.context.mjs","sourcesContent":["import { A_Fragment, A_TYPES__Fragment_Serialized } from \"@adaas/a-concept\";\n\n\nexport class A_ServerEntityListCacheState extends A_Fragment<A_TYPES__Fragment_Serialized> {\n\n    protected _timestamp?: number;\n    protected _ttl?: number;\n\n    set(ttlMs: number): void {\n        this._timestamp = Date.now();\n        this._ttl = ttlMs;\n    }\n\n    invalidate(): void {\n        this._timestamp = undefined;\n        this._ttl = undefined;\n    }\n\n    isValid(): boolean {\n        if (this._timestamp === undefined || this._ttl === undefined) return false;\n        return (Date.now() - this._timestamp) < this._ttl;\n    }\n\n    toJSON(): A_TYPES__Fragment_Serialized {\n        return { name: this.name };\n    }\n}\n"]}