From 73ba955e344c8ccedd43235495ef8b72b5a2b6fd Mon Sep 17 00:00:00 2001 From: Ricardo Cino Date: Wed, 22 Jun 2022 00:32:18 +0200 Subject: chore: Transform AppStore.js into Typescript (#329) * turn actions into typescript * correct tsconfig * added TypedStore --- src/actions/lib/actions.ts | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/actions/lib/actions.ts') diff --git a/src/actions/lib/actions.ts b/src/actions/lib/actions.ts index 412a0d895..378cef574 100644 --- a/src/actions/lib/actions.ts +++ b/src/actions/lib/actions.ts @@ -1,4 +1,27 @@ -export const createActionsFromDefinitions = (actionDefinitions, validate) => { +import PropTypes from 'prop-types'; + +export interface ActionDefinitions { + [key: string]: { + [key: string]: PropTypes.InferType; + }; +} + +export interface Actions { + [key: string]: { + [key: string]: { + (...args: any[]): void; + listeners: Array; + notify: (params: any) => void; + listen: (listener: (params: any) => void) => void; + off: (listener: (params: any) => void) => void; + }; + }; +} + +export const createActionsFromDefinitions = ( + actionDefinitions: ActionDefinitions, + validate: any, +) => { const actions = {}; // eslint-disable-next-line unicorn/no-array-for-each Object.keys(actionDefinitions).forEach(actionName => { -- cgit v1.2.3-70-g09d2