{"version":3,"sources":["../../../packages/core/base/data-store/memory-data-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAM,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;GAKG;AACH,8BAAsB,eAAe,CAAC,KAAK,CAAE,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAExE,OAAO,CAAC,IAAI,CAAQ;IAEpB;;OAEG;;IAKH;;OAEG;IACH,SAAS,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC;IAItC;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;IAKhD;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC;CAI1C","file":"memory-data-store.d.ts","sourcesContent":["import { Observable, of } from 'rxjs';\r\nimport { DataStore } from './data-store';\r\n\r\n/**\r\n * Defines a single value data store using memory as the backing store\r\n * Semantically this is now different than managing a local variable,\r\n * however it can be used anywhere a dataStore is accepted.\r\n * It also has usefulness for testing classes that use a DataStore\r\n */\r\nexport abstract class MemoryDataStore<TData> extends DataStore<TData, TData> {\r\n\r\n    private data: TData;\r\n\r\n    /**\r\n     * Initializes a new instance of DataStore<T>\r\n     */\r\n    constructor() {\r\n        super();\r\n    }\r\n\r\n    /**\r\n     * Implementation to get the stored data\r\n     */\r\n    protected getData(): Observable<TData> {\r\n        return of(this.data);\r\n    }\r\n\r\n    /**\r\n     * Implementation to set the stored data\r\n     */\r\n    protected setData(data: TData): Observable<void> {\r\n        this.data = data;\r\n        return of(null);\r\n    }\r\n\r\n    /**\r\n     * Implementation to clear the stored data\r\n     */\r\n    protected clearData(): Observable<void> {\r\n        this.data = undefined;\r\n        return of(null);\r\n    }\r\n}\r\n"]}