From 6897ae2bf121db59d4b40f814a87336c5e939ea9 Mon Sep 17 00:00:00 2001 From: Alexey Pelykh Date: Sat, 4 May 2019 10:55:12 +0300 Subject: [PATCH] [IMP] redux-storage: support v4.1.2 (#35197) --- types/redux-storage-engine-jsurl/index.d.ts | 1 + types/redux-storage-engine-localstorage/index.d.ts | 1 + types/redux-storage/index.d.ts | 14 +++++++++++--- types/redux-storage/package.json | 2 +- types/redux-storage/redux-storage-tests.ts | 4 ++-- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/types/redux-storage-engine-jsurl/index.d.ts b/types/redux-storage-engine-jsurl/index.d.ts index f3b4254e07..42a9297a10 100644 --- a/types/redux-storage-engine-jsurl/index.d.ts +++ b/types/redux-storage-engine-jsurl/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/axe312ger/redux-storage-engine-jsurl // Definitions by: Christian Rackerseder // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 import { StorageEngine } from 'redux-storage'; diff --git a/types/redux-storage-engine-localstorage/index.d.ts b/types/redux-storage-engine-localstorage/index.d.ts index 51f6d266df..555c662b5b 100644 --- a/types/redux-storage-engine-localstorage/index.d.ts +++ b/types/redux-storage-engine-localstorage/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/react-stack/redux-storage-engine-localstorage // Definitions by: Christian Rackerseder // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 import { StorageEngine } from "redux-storage"; diff --git a/types/redux-storage/index.d.ts b/types/redux-storage/index.d.ts index 28a9dfaa2f..e574407c26 100644 --- a/types/redux-storage/index.d.ts +++ b/types/redux-storage/index.d.ts @@ -1,7 +1,9 @@ -// Type definitions for redux-storage 4.0.1 -// Project: https://github.com/michaelcontento/redux-storage +// Type definitions for redux-storage 4.1.2 +// Project: https://github.com/react-stack/redux-storage // Definitions by: Alexey Svetliakov +// Alexey Pelykh // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 /// @@ -40,13 +42,19 @@ declare module "redux-storage" { */ export function reducer(reducer: Reducer, merger?: StateMerger): Reducer; + /** + * Callback that checks action type + * @param type + */ + export type ActionTypeCheckCallback = (type: string) => boolean + /** * Create storage middleware * @param engine * @param actionBlacklist * @param actionWhitelist */ - export function createMiddleware(engine: StorageEngine, actionBlacklist?: string[], actionWhitelist?: string[]): Middleware; + export function createMiddleware(engine: StorageEngine, actionBlacklist?: string[], actionWhitelist?: string[] | ActionTypeCheckCallback): Middleware; /** * Loader interface diff --git a/types/redux-storage/package.json b/types/redux-storage/package.json index 6d68bf2f9b..998f8e9b38 100644 --- a/types/redux-storage/package.json +++ b/types/redux-storage/package.json @@ -1,6 +1,6 @@ { "private": true, "dependencies": { - "redux": "^3.6.0" + "redux": "^3.6.0 || ^4.0.0" } } diff --git a/types/redux-storage/redux-storage-tests.ts b/types/redux-storage/redux-storage-tests.ts index b8d9ccdbb0..4e84468a64 100644 --- a/types/redux-storage/redux-storage-tests.ts +++ b/types/redux-storage/redux-storage-tests.ts @@ -23,7 +23,7 @@ const initialStateLoader = createLoader(storageEngine); const storageMiddleware = createMiddleware(storageEngine, [], []); -const store = applyMiddleware(storageMiddleware)(createStore)(enhancedReducer); +const store = applyMiddleware(storageMiddleware)(createStore)(enhancedReducer); initialStateLoader(store).then(() => { // render app @@ -33,7 +33,7 @@ initialStateLoader(store).then(() => { // Test for React Native Async Storage engine const storageEngineReactNative = createReactNativeAsyncStorageEngine("test"); const storageMiddlewareReactNative = createMiddleware(storageEngine); -const storeReactNative = applyMiddleware(storageMiddlewareReactNative)(createStore)(enhancedReducer); +const storeReactNative = applyMiddleware(storageMiddlewareReactNative)(createStore)(enhancedReducer); initialStateLoader(storeReactNative).then(() => { // render app })