From 3aaa00afc9beb2a529cc729710dfe932d79862be Mon Sep 17 00:00:00 2001 From: Andrew Luca Date: Thu, 16 Apr 2020 02:16:14 +0300 Subject: [PATCH] feat(redux-api-middleware): add `createAction` types (#43918) --- types/redux-api-middleware/index.d.ts | 6 +++++- .../redux-api-middleware-tests.ts | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/types/redux-api-middleware/index.d.ts b/types/redux-api-middleware/index.d.ts index 5bf397bf69..08155796b1 100644 --- a/types/redux-api-middleware/index.d.ts +++ b/types/redux-api-middleware/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for redux-api-middleware 3.0 +// Type definitions for redux-api-middleware 3.2 // Project: https://github.com/agraboso/redux-api-middleware // Definitions by: Andrew Luca // Craig S @@ -147,6 +147,10 @@ export type RSAAResultAction = export type RSAAActions = RSAARequestAction | RSAAResultAction; +export function createAction( + clientCall: RSAACall +): RSAAAction; + /** * Redux behaviour changed by middleware, so overloads here */ diff --git a/types/redux-api-middleware/redux-api-middleware-tests.ts b/types/redux-api-middleware/redux-api-middleware-tests.ts index 35cc2776ad..8386bb43bc 100644 --- a/types/redux-api-middleware/redux-api-middleware-tests.ts +++ b/types/redux-api-middleware/redux-api-middleware-tests.ts @@ -18,6 +18,7 @@ import { RSAAFailureTypeDescriptor, RSAARequestAction, RSAAResultAction, + createAction, } from 'redux-api-middleware'; { @@ -322,3 +323,14 @@ import { error: true, }; } + +{ + createAction(); // $ExpectError + createAction({}); // $ExpectError + // $ExpectType RSAAAction + createAction({ + endpoint: '/test/endpoint', + method: 'GET', + types: ['REQ_TYPE', 'SUCCESS_TYPE', 'FAILURE_TYPE'], + }); +}