From fbc5a4f5e65e024c10ad43d84f2b2353c9e92461 Mon Sep 17 00:00:00 2001 From: nd-02110114 Date: Sun, 4 Nov 2018 23:03:32 -0800 Subject: [PATCH] Turn Flow strict mode on for KeyBoard (#22114) Summary: Related to #22100 Turn Flow strict mode on for KeyBoard - [x] npm run prettier - [ ] npm run flow-check-ios - [ ] npm run flow-check-android This error was happend #22101 #22048 [GENERAL] [ENHANCEMENT] [Components/Keyboard/Keyboard.js] - Flow strict mode Pull Request resolved: https://github.com/facebook/react-native/pull/22114 Differential Revision: D12920947 Pulled By: TheSavior fbshipit-source-id: 8d72019efd4d30032ce4784764e5deb9c60e7b01 --- Libraries/Components/Keyboard/Keyboard.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Libraries/Components/Keyboard/Keyboard.js b/Libraries/Components/Keyboard/Keyboard.js index a2389fe9198c5a..c95ed6586e98bf 100644 --- a/Libraries/Components/Keyboard/Keyboard.js +++ b/Libraries/Components/Keyboard/Keyboard.js @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. * * @format - * @flow + * @flow strict-local */ 'use strict'; @@ -121,7 +121,10 @@ let Keyboard = { * @param {string} eventName The `nativeEvent` is the string that identifies the event you're listening for. * @param {function} callback function to be called when the event fires. */ - removeListener(eventName: KeyboardEventName, callback: Function) { + removeListener( + eventName: KeyboardEventName, + callback: KeyboardEventListener, + ) { invariant(false, 'Dummy method used for documentation'); }, @@ -155,12 +158,12 @@ Keyboard = KeyboardEventEmitter; Keyboard.dismiss = dismissKeyboard; Keyboard.scheduleLayoutAnimation = function(event: KeyboardEvent) { const {duration, easing} = event; - if (duration) { + if (duration != null && duration !== 0) { LayoutAnimation.configureNext({ duration: duration, update: { duration: duration, - type: (easing && LayoutAnimation.Types[easing]) || 'keyboard', + type: (easing != null && LayoutAnimation.Types[easing]) || 'keyboard', }, }); }