diff --git a/types/redux-persist-transform-encrypt/async.d.ts b/types/redux-persist-transform-encrypt/async.d.ts index 189b0af333..ea0dc56544 100644 --- a/types/redux-persist-transform-encrypt/async.d.ts +++ b/types/redux-persist-transform-encrypt/async.d.ts @@ -1,3 +1,7 @@ -import createAsyncEncryptor from "."; +import { Transform } from "redux-persist"; -export default createAsyncEncryptor; +export interface AsyncEncryptorConfig { + secretKey: string; +} + +export default function createAsyncEncryptor(config: AsyncEncryptorConfig): Transform; diff --git a/types/redux-persist-transform-encrypt/index.d.ts b/types/redux-persist-transform-encrypt/index.d.ts index a3d5dc1750..354ee043b0 100644 --- a/types/redux-persist-transform-encrypt/index.d.ts +++ b/types/redux-persist-transform-encrypt/index.d.ts @@ -1,12 +1,14 @@ -// Type definitions for redux-persist-transform-encrypt 1.0 +// Type definitions for redux-persist-transform-encrypt 2.0 // Project: https://github.com/maxdeviant/redux-persist-transform-encrypt // Definitions by: Karol Janyst +// Gaurav Lahoti // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import { Transform } from "redux-persist"; export interface EncryptorConfig { secretKey: string; + onError?: (err: Error) => void; } export default function createEncryptor(config: EncryptorConfig): Transform; diff --git a/types/redux-persist-transform-encrypt/redux-persist-transform-encrypt-tests.ts b/types/redux-persist-transform-encrypt/redux-persist-transform-encrypt-tests.ts index 1a3d61631d..8dcb27bd20 100644 --- a/types/redux-persist-transform-encrypt/redux-persist-transform-encrypt-tests.ts +++ b/types/redux-persist-transform-encrypt/redux-persist-transform-encrypt-tests.ts @@ -1,14 +1,22 @@ import { createStore, Reducer, Store } from "redux"; import { createPersistor, Transform } from "redux-persist"; import createEncryptor, { EncryptorConfig } from "redux-persist-transform-encrypt"; -import createAsyncEncryptor from "redux-persist-transform-encrypt/async"; +import createAsyncEncryptor, { AsyncEncryptorConfig } from "redux-persist-transform-encrypt/async"; const reducer: Reducer = (state: any, action: any) => ({ state, action }); -const config: EncryptorConfig = { secretKey : "foo" }; +const config: EncryptorConfig = { + secretKey: "foo", + onError: (err: Error) => { err.message; } +}; const encryptor: Transform = createEncryptor(config); -const asyncEncryptor: Transform = createAsyncEncryptor(config); + +const configNoError: EncryptorConfig = { secretKey: "foo" }; +const encryptorNoError: Transform = createEncryptor(configNoError); + +const asyncConfig: AsyncEncryptorConfig = { secretKey: "foo" }; +const asyncEncryptor: Transform = createAsyncEncryptor(asyncConfig); const store: Store = createStore(reducer); -createPersistor(store, { transforms : [encryptor, asyncEncryptor] }); +createPersistor(store, { transforms : [encryptor, encryptorNoError, asyncEncryptor] });