From 03186dbc08372aa1ca9689147386523588be6efd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Edmundo?= Date: Fri, 19 Apr 2019 01:23:58 +0200 Subject: [PATCH] @types/react-hooks-helper: new types for useForm function (#34816) * feat: react hooks helper types * fix: react hooks helper test * fix: removed module declaration * fix: semicolons * fix: click function typo * fix: codeowners info * fix: export module to umd * feat: added types for useForm function * fix: linting errors --- types/react-hooks-helper/index.d.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/types/react-hooks-helper/index.d.ts b/types/react-hooks-helper/index.d.ts index fe8a1b4693..9c4a31f628 100644 --- a/types/react-hooks-helper/index.d.ts +++ b/types/react-hooks-helper/index.d.ts @@ -4,6 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 +/// + export as namespace ReactHooksHelper; export interface NavigationProps { @@ -30,6 +32,19 @@ export interface UseStepResponse { export function useStep(params: UseStepParams): UseStepResponse; -export type UseFormResponse = [any, any]; +export interface FormTarget { + target: { + name: string, // object property name or Dot separated when hierarchical + value: any, + type?: string, + checked?: boolean, + }; +} -export function useForm(params: any): UseFormResponse; +export type InputChange = (event: React.SyntheticEvent | React.ChangeEvent) => void; + +export type ChangeForm = (value: FormTarget) => any; + +export type SetForm = ChangeForm & InputChange; + +export function useForm(defaultFormConfig: T): [T, SetForm];