From 89349080150d5a3369a2f63151add48b6b550b42 Mon Sep 17 00:00:00 2001 From: Rogelio Morrell Date: Tue, 22 Mar 2016 14:47:40 -0500 Subject: [PATCH] added redux-promise types --- redux-promise/redux-promise-tests.ts | 30 ++++++++++++++++++++++++++++ redux-promise/redux-promise.d.ts | 18 +++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 redux-promise/redux-promise-tests.ts create mode 100644 redux-promise/redux-promise.d.ts diff --git a/redux-promise/redux-promise-tests.ts b/redux-promise/redux-promise-tests.ts new file mode 100644 index 000000000..a5aef668b --- /dev/null +++ b/redux-promise/redux-promise-tests.ts @@ -0,0 +1,30 @@ +/// +/// +/// +/// + +import {Promise} from 'es6-promise'; +import {createAction} from 'redux-actions'; +import { createStore, applyMiddleware } from 'redux'; +import promise from 'redux-promise'; +import PromiseInterface = ReduxPromise.PromiseInterface; + +declare var userReducer: any; + +const appStore = createStore(userReducer, applyMiddleware( + promise +)); + + +appStore.dispatch( + listUsers() +); + +function listUsers(): PromiseInterface { + return createAction('LIST_USERS', + () => { + return Promise.resolve([{ email: 'me@definitely.typed' }]); + }); +} + + diff --git a/redux-promise/redux-promise.d.ts b/redux-promise/redux-promise.d.ts new file mode 100644 index 000000000..58b6d712a --- /dev/null +++ b/redux-promise/redux-promise.d.ts @@ -0,0 +1,18 @@ +// Type definitions for redux-promise v0.5.3 +// Project: https://github.com/acdlite/redux-promise +// Definitions by: Rogelio Morrell Caballero +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace ReduxPromise { + export interface Promise extends Redux.Middleware {} + export interface PromiseInterface { + (dispatch: Redux.Dispatch, getState?: () => T): any; + } +} + +declare module "redux-promise" { + var promise: ReduxPromise.Promise; + export default promise; +} \ No newline at end of file