From 7f6795416cc40139fa42dd73e1d60275634e1078 Mon Sep 17 00:00:00 2001 From: Tommy Nguyen <4123478+tido64@users.noreply.github.com> Date: Mon, 29 Nov 2021 22:36:09 +0100 Subject: [PATCH 1/3] chore: migrate example app to TypeScript When upgrading Flow (from upgrading react-native), a bunch of errors come from the test app. Taking this opportunity to migrate to TypeScript to avoid future issues. Next up would be to convert the rest of the Flow files. --- example/App.js | 167 ----------- example/App.tsx | 151 ++++++++++ example/examples/{Basic.js => Basic.tsx} | 35 ++- .../{GetSetClear.js => GetSetClear.tsx} | 11 +- example/examples/MergeItem.js | 268 ------------------ example/examples/MergeItem.tsx | 223 +++++++++++++++ example/{index.js => index.ts} | 3 - package.json | 9 +- scripts/android_e2e.sh | 2 +- scripts/ios_e2e.sh | 4 +- tsconfig.json | 34 +++ yarn.lock | 36 +++ 12 files changed, 481 insertions(+), 462 deletions(-) delete mode 100644 example/App.js create mode 100644 example/App.tsx rename example/examples/{Basic.js => Basic.tsx} (87%) rename example/examples/{GetSetClear.js => GetSetClear.tsx} (92%) delete mode 100644 example/examples/MergeItem.js create mode 100644 example/examples/MergeItem.tsx rename example/{index.js => index.ts} (95%) create mode 100644 tsconfig.json diff --git a/example/App.js b/example/App.js deleted file mode 100644 index b2fe194f..00000000 --- a/example/App.js +++ /dev/null @@ -1,167 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - * @flow - */ - -import React, {Component} from 'react'; -import { - StyleSheet, - SafeAreaView, - Text, - TouchableOpacity, - View, - Keyboard, - Button, -} from 'react-native'; - -import GetSetClear from './examples/GetSetClear'; -import MergeItem from './examples/MergeItem'; -import BasicExample from './examples/Basic'; - -const TESTS = { - GetSetClear: { - title: 'Simple Get/Set value', - testId: 'get-set-clear', - description: 'Store and retrieve persisted data', - render() { - return ; - }, - }, - MergeItem: { - title: 'Merge item', - testId: 'merge-item', - description: 'Merge object with already stored data', - render() { - return ; - }, - }, - Basic: { - title: 'Basic', - testId: 'basic', - description: 'Basic functionality test', - render() { - return ; - }, - }, -}; - -type Props = {}; -type State = {restarting: boolean, currentTest: Object}; - -export default class App extends Component { - state = { - restarting: false, - currentTest: TESTS.GetSetClear, - }; - - _simulateRestart = () => { - this.setState({restarting: true}, () => this.setState({restarting: false})); - }; - - _changeTest = (testName) => { - this.setState({currentTest: TESTS[testName]}); - }; - - render() { - const {restarting, currentTest} = this.state; - return ( - - Keyboard.dismiss()} - testID="closeKeyboard" - /> - - - Simulate Restart - - - -