@redux-multipurpose/core
Version:
## Installation Redux Multipurpose core is available as a package on NPM:
21 lines • 3.54 kB
JavaScript
import { persistReducer } from 'redux-persist';
import { encryptTransform } from 'redux-persist-transform-encrypt';
export const createStoredReducer = (key, storage, reducer, stateReconciler) => {
return persistReducer({ key, storage, stateReconciler }, reducer);
};
export const createSecureStoredReducer = (key, encryptKey, storage, reducer, stateReconciler) => {
const encryptor = encryptTransform({
secretKey: encryptKey,
onError: (error) => {
console.log("An error occured during secure data save: ", error);
}
});
const secureStoragePersistConfig = {
key,
storage,
transforms: [encryptor],
stateReconciler
};
return persistReducer(secureStoragePersistConfig, reducer);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlZHV4LW11bHRpcHVycG9zZS9jb3JlL3NyYy9saWIvdXRpbHMvcGVyc2lzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUtsRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUErQixHQUFXLEVBQUUsT0FBWSxFQUFFLE9BQWdCLEVBQUUsZUFBNEMsRUFBRSxFQUFFO0lBQzNKLE9BQU8sY0FBYyxDQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM1RSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUErQixHQUFXLEVBQUUsVUFBa0IsRUFBRSxPQUFZLEVBQUUsT0FBZ0IsRUFBRSxlQUE0QyxFQUFFLEVBQUU7SUFDckwsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUM7UUFDL0IsU0FBUyxFQUFFLFVBQVU7UUFDckIsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLENBQUM7S0FDSixDQUFDLENBQUM7SUFFSCxNQUFNLDBCQUEwQixHQUFzQjtRQUNsRCxHQUFHO1FBQ0gsT0FBTztRQUNQLFVBQVUsRUFBRSxDQUFFLFNBQVMsQ0FBRTtRQUN6QixlQUFlO0tBQ2xCLENBQUM7SUFDRixPQUFPLGNBQWMsQ0FBTywwQkFBMEIsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIFJlZHVjZXIgfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgeyBQZXJzaXN0Q29uZmlnLCBwZXJzaXN0UmVkdWNlciB9IGZyb20gJ3JlZHV4LXBlcnNpc3QnO1xuaW1wb3J0IHsgZW5jcnlwdFRyYW5zZm9ybSB9IGZyb20gJ3JlZHV4LXBlcnNpc3QtdHJhbnNmb3JtLWVuY3J5cHQnXG5cbnR5cGUgU3RhdGVSZWNvbmNpbGVyPFM+ID1cbiAgICAoaW5ib3VuZFN0YXRlOiBhbnksIHN0YXRlOiBTLCByZWR1Y2VkU3RhdGU6IFMsIGNvbmZpZzogUGVyc2lzdENvbmZpZzxTPikgPT4gUztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVN0b3JlZFJlZHVjZXIgPSA8UywgQSBleHRlbmRzIEFjdGlvbiA9IEFjdGlvbj4oa2V5OiBzdHJpbmcsIHN0b3JhZ2U6IGFueSwgcmVkdWNlcjogUmVkdWNlciwgc3RhdGVSZWNvbmNpbGVyPzogZmFsc2UgfCBTdGF0ZVJlY29uY2lsZXI8Uz4pID0+IHtcbiAgICByZXR1cm4gcGVyc2lzdFJlZHVjZXI8UywgQT4oeyBrZXksIHN0b3JhZ2UsIHN0YXRlUmVjb25jaWxlciB9LCByZWR1Y2VyKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTZWN1cmVTdG9yZWRSZWR1Y2VyID0gPFMsIEEgZXh0ZW5kcyBBY3Rpb24gPSBBY3Rpb24+KGtleTogc3RyaW5nLCBlbmNyeXB0S2V5OiBzdHJpbmcsIHN0b3JhZ2U6IGFueSwgcmVkdWNlcjogUmVkdWNlciwgc3RhdGVSZWNvbmNpbGVyPzogZmFsc2UgfCBTdGF0ZVJlY29uY2lsZXI8Uz4pID0+IHtcbiAgICBjb25zdCBlbmNyeXB0b3IgPSBlbmNyeXB0VHJhbnNmb3JtKHtcbiAgICAgICAgc2VjcmV0S2V5OiBlbmNyeXB0S2V5LFxuICAgICAgICBvbkVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQW4gZXJyb3Igb2NjdXJlZCBkdXJpbmcgc2VjdXJlIGRhdGEgc2F2ZTogXCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VjdXJlU3RvcmFnZVBlcnNpc3RDb25maWc6IFBlcnNpc3RDb25maWc8Uz4gID0ge1xuICAgICAgICBrZXksXG4gICAgICAgIHN0b3JhZ2UsXG4gICAgICAgIHRyYW5zZm9ybXM6IFsgZW5jcnlwdG9yIF0sXG4gICAgICAgIHN0YXRlUmVjb25jaWxlclxuICAgIH07XG4gICAgcmV0dXJuIHBlcnNpc3RSZWR1Y2VyPFMsIEE+KHNlY3VyZVN0b3JhZ2VQZXJzaXN0Q29uZmlnLCByZWR1Y2VyKTtcbn07Il19