From d216b108b9a1cffa0522a0a725f0aa86afe27ceb Mon Sep 17 00:00:00 2001 From: Kacper Wiszczuk Date: Wed, 17 Jul 2019 12:10:22 +0200 Subject: [PATCH] fix: correct Flow and TS typings for a11y queries (#205) --- src/helpers/a11yAPI.js | 16 ++++++++++------ typings/index.d.ts | 16 +++++++++------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/helpers/a11yAPI.js b/src/helpers/a11yAPI.js index e5e239b6..5e40571a 100644 --- a/src/helpers/a11yAPI.js +++ b/src/helpers/a11yAPI.js @@ -2,29 +2,33 @@ import makeQuery from './makeQuery'; type QueryFn = (string | RegExp) => ReactTestInstance | null; +type QueryAllFn = (string | RegExp) => Array | []; type GetFn = (string | RegExp) => ReactTestInstance; -type GetAllFn = (string | RegExp) => Array | []; +type GetAllFn = (string | RegExp) => Array; type ArrayQueryFn = (string | Array) => ReactTestInstance | null; +type ArrayQueryAllFn = ( + string | Array +) => Array | []; type ArrayGetFn = (string | Array) => ReactTestInstance; -type ArrayGetAllFn = (string | Array) => Array | []; +type ArrayGetAllFn = (string | Array) => Array; type A11yAPI = { getByA11yLabel: GetFn, getAllByA11yLabel: GetAllFn, queryByA11yLabel: QueryFn, - queryAllByA11yLabel: GetAllFn, + queryAllByA11yLabel: QueryAllFn, getByA11yHint: GetFn, getAllByA11yHint: GetAllFn, queryByA11yHint: QueryFn, - queryAllByA11yHint: GetAllFn, + queryAllByA11yHint: QueryAllFn, getByA11yRole: GetFn, getAllByA11yRole: GetAllFn, queryByA11yRole: QueryFn, - queryAllByA11yRole: GetAllFn, + queryAllByA11yRole: QueryAllFn, getByA11yStates: ArrayGetFn, getAllByA11yStates: ArrayGetAllFn, queryByA11yStates: ArrayQueryFn, - queryAllByA11yStates: ArrayGetAllFn, + queryAllByA11yStates: ArrayQueryAllFn, }; export function matchStringValue(prop?: string, matcher: string | RegExp) { diff --git a/typings/index.d.ts b/typings/index.d.ts index 1ccc4451..66374d7d 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -50,31 +50,33 @@ export interface QueryByAPI { } type QueryFn = (text: string | RegExp) => ReactTestInstance | null; +type QueryAllFn = (text: string | RegExp) => Array | []; type GetFn = (text: string | RegExp) => ReactTestInstance; -type GetAllFn = (text: string | RegExp) => Array | []; +type GetAllFn = (text: string | RegExp) => Array; type ArrayQueryFn = (text: string | Array) => ReactTestInstance | null; -type ArrayGetFn = (text: string | Array) => ReactTestInstance; -type ArrayGetAllFn = ( +type ArrayQueryAllFn = ( text: string | Array ) => Array | []; +type ArrayGetFn = (text: string | Array) => ReactTestInstance; +type ArrayGetAllFn = (text: string | Array) => Array; export interface A11yAPI { getByA11yLabel: GetFn; getAllByA11yLabel: GetAllFn; queryByA11yLabel: QueryFn; - queryAllByA11yLabel: GetAllFn; + queryAllByA11yLabel: QueryAllFn; getByA11yHint: GetFn; getAllByA11yHint: GetAllFn; queryByA11yHint: QueryFn; - queryAllByA11yHint: GetAllFn; + queryAllByA11yHint: QueryAllFn; getByA11yRole: GetFn; getAllByA11yRole: GetAllFn; queryByA11yRole: QueryFn; - queryAllByA11yRole: GetAllFn; + queryAllByA11yRole: QueryAllFn; getByA11yStates: ArrayGetFn; getAllByA11yStates: ArrayGetAllFn; queryByA11yStates: ArrayQueryFn; - queryAllByA11yStates: ArrayGetAllFn; + queryAllByA11yStates: ArrayQueryAllFn; } export interface Thenable {