UNPKG

ngrx-store-persist

Version:

ngrx-store-persist depends on @ngrx/store and angular 2+

33 lines 4.67 kB
import * as localForage from 'localforage'; import { middlewareStorage } from "./middleware-storage"; import { config } from "./options"; import { storageSync } from "./storage-sync"; export const getAllDataFromLocalForage = (options) => { config.keys = options.keys; config.storage = middlewareStorage; localForage.config({ driver: options.driver || localForage.LOCALSTORAGE, name: 'NGRX Storage', version: 1.0, size: 4980736, storeName: 'keyvaluepairs', description: 'NGRX storage persist' }); return localForage.keys() .then(keys => { return Promise.all(keys.map((key) => localForage.getItem(key).then(data => [key, data]))); }) .then(dataWithKeys => { const dataStorage = dataWithKeys.reduce((previousValue, [key, data]) => { previousValue[key] = data; return previousValue; }, {}); middlewareStorage.dataStorage = dataStorage; return dataStorage; }); }; export function storageSyncMetaReducer(reducer) { return storageSync(reducer); } export default localForage; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLE1BQU0sRUFBZ0IsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsT0FBc0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixNQUFNLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDO0lBQ25DLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDakIsTUFBTSxFQUFRLE9BQU8sQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLFlBQVk7UUFDeEQsSUFBSSxFQUFVLGNBQWM7UUFDNUIsT0FBTyxFQUFPLEdBQUc7UUFDakIsSUFBSSxFQUFVLE9BQU87UUFDckIsU0FBUyxFQUFLLGVBQWU7UUFDN0IsV0FBVyxFQUFHLHNCQUFzQjtLQUNyQyxDQUFDLENBQUM7SUFFSCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUU7U0FDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ1gsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNoQixJQUFJLENBQUMsR0FBRyxDQUNOLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQzVELENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUNuQixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBa0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQzFFLGFBQWEsQ0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDbEMsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsaUJBQWlCLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUM1QyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsT0FBWTtJQUVkLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFFRCxlQUFlLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGxvY2FsRm9yYWdlIGZyb20gJ2xvY2FsZm9yYWdlJztcclxuaW1wb3J0IHttaWRkbGV3YXJlU3RvcmFnZX0gZnJvbSBcIi4vbWlkZGxld2FyZS1zdG9yYWdlXCI7XHJcbmltcG9ydCB7Y29uZmlnLCBTdG9yYWdlQ29uZmlnfSBmcm9tIFwiLi9vcHRpb25zXCI7XHJcbmltcG9ydCB7c3RvcmFnZVN5bmN9IGZyb20gXCIuL3N0b3JhZ2Utc3luY1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEFsbERhdGFGcm9tTG9jYWxGb3JhZ2UgPSAob3B0aW9uczogU3RvcmFnZUNvbmZpZykgPT4ge1xyXG4gIGNvbmZpZy5rZXlzID0gb3B0aW9ucy5rZXlzO1xyXG4gIGNvbmZpZy5zdG9yYWdlID0gbWlkZGxld2FyZVN0b3JhZ2U7XHJcbiAgbG9jYWxGb3JhZ2UuY29uZmlnKHtcclxuICAgIGRyaXZlciAgICAgIDogb3B0aW9ucy5kcml2ZXIgfHwgbG9jYWxGb3JhZ2UuTE9DQUxTVE9SQUdFLFxyXG4gICAgbmFtZSAgICAgICAgOiAnTkdSWCBTdG9yYWdlJyxcclxuICAgIHZlcnNpb24gICAgIDogMS4wLFxyXG4gICAgc2l6ZSAgICAgICAgOiA0OTgwNzM2LFxyXG4gICAgc3RvcmVOYW1lICAgOiAna2V5dmFsdWVwYWlycycsXHJcbiAgICBkZXNjcmlwdGlvbiA6ICdOR1JYIHN0b3JhZ2UgcGVyc2lzdCdcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGxvY2FsRm9yYWdlLmtleXMoKVxyXG4gICAgLnRoZW4oa2V5cyA9PiB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChcclxuICAgICAgICBrZXlzLm1hcChcclxuICAgICAgICAgIChrZXkpID0+IGxvY2FsRm9yYWdlLmdldEl0ZW0oa2V5KS50aGVuKGRhdGEgPT4gW2tleSwgZGF0YV0pXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICAgIC50aGVuKGRhdGFXaXRoS2V5cyA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGFTdG9yYWdlID0gZGF0YVdpdGhLZXlzLnJlZHVjZSgocHJldmlvdXNWYWx1ZTogYW55LCBba2V5LCBkYXRhXSkgPT4ge1xyXG4gICAgICAgIHByZXZpb3VzVmFsdWVbPHN0cmluZz5rZXldID0gZGF0YTtcclxuICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZTtcclxuICAgICAgfSwge30pO1xyXG4gICAgICBtaWRkbGV3YXJlU3RvcmFnZS5kYXRhU3RvcmFnZSA9IGRhdGFTdG9yYWdlO1xyXG4gICAgICByZXR1cm4gZGF0YVN0b3JhZ2U7XHJcbiAgICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzdG9yYWdlU3luY01ldGFSZWR1Y2VyKFxyXG4gICAgcmVkdWNlcjogYW55XHJcbik6IGFueSB7XHJcbiAgcmV0dXJuIHN0b3JhZ2VTeW5jKHJlZHVjZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBsb2NhbEZvcmFnZTtcclxuIl19