added redux-promise types

This commit is contained in:
Rogelio Morrell
2016-03-22 14:47:40 -05:00
parent 6766ed1d0f
commit 8934908015
2 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
/// <reference path="redux-promise.d.ts" />
/// <reference path="../redux/redux.d.ts" />
/// <reference path="../redux-actions/redux-actions.d.ts" />
/// <reference path="../es6-promise/es6-promise.d.ts" />
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' }]);
});
}

18
redux-promise/redux-promise.d.ts vendored Normal file
View File

@@ -0,0 +1,18 @@
// Type definitions for redux-promise v0.5.3
// Project: https://github.com/acdlite/redux-promise
// Definitions by: Rogelio Morrell Caballero <https://github.com/molekilla>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="../redux/redux.d.ts" />
declare namespace ReduxPromise {
export interface Promise extends Redux.Middleware {}
export interface PromiseInterface {
<T>(dispatch: Redux.Dispatch, getState?: () => T): any;
}
}
declare module "redux-promise" {
var promise: ReduxPromise.Promise;
export default promise;
}