refactor: enforce import type everywhere

This commit is contained in:
Satyajit Sahoo
2020-06-17 12:05:40 +02:00
parent b14fd9453d
commit 1aadc79fb8
107 changed files with 166 additions and 153 deletions

View File

@@ -9,6 +9,7 @@ import {
} from '@react-navigation/routers';
import EnsureSingleNavigator from './EnsureSingleNavigator';
import NavigationBuilderContext from './NavigationBuilderContext';
import NavigationStateContext from './NavigationStateContext';
import { ScheduleUpdateContext } from './useScheduleUpdate';
import useFocusedListeners from './useFocusedListeners';
import useStateGetters from './useStateGetters';
@@ -17,8 +18,7 @@ import useEventEmitter from './useEventEmitter';
import useSyncState from './useSyncState';
import isSerializable from './isSerializable';
import { NavigationContainerRef, NavigationContainerProps } from './types';
import NavigationStateContext from './NavigationStateContext';
import type { NavigationContainerRef, NavigationContainerProps } from './types';
type State = NavigationState | PartialState<NavigationState> | undefined;

View File

@@ -1,10 +1,10 @@
import * as React from 'react';
import {
import type {
NavigationAction,
NavigationState,
ParamListBase,
} from '@react-navigation/routers';
import { NavigationHelpers } from './types';
import type { NavigationHelpers } from './types';
export type ChildActionListener = (
action: NavigationAction,

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import { ParamListBase } from '@react-navigation/routers';
import { NavigationProp } from './types';
import type { ParamListBase } from '@react-navigation/routers';
import type { NavigationProp } from './types';
/**
* Context which holds the navigation prop for a screen.

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import { ParamListBase } from '@react-navigation/routers';
import { NavigationHelpers } from './types';
import type { ParamListBase } from '@react-navigation/routers';
import type { NavigationHelpers } from './types';
/**
* Context which holds the navigation helpers of the parent navigator.

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import { Route } from '@react-navigation/routers';
import type { Route } from '@react-navigation/routers';
/**
* Context which holds the route prop for a screen.

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import { NavigationState, PartialState } from '@react-navigation/routers';
import type { NavigationState, PartialState } from '@react-navigation/routers';
const MISSING_CONTEXT_ERROR =
"Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.";

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import {
import type {
Route,
ParamListBase,
NavigationState,
@@ -11,7 +11,7 @@ import EnsureSingleNavigator from './EnsureSingleNavigator';
import useOptionsGetters from './useOptionsGetters';
import NavigationBuilderContext from './NavigationBuilderContext';
import useFocusEffect from './useFocusEffect';
import { NavigationProp, RouteConfig, EventMapBase } from './types';
import type { NavigationProp, RouteConfig, EventMapBase } from './types';
type Props<
State extends NavigationState,

View File

@@ -1,5 +1,5 @@
import { ParamListBase, NavigationState } from '@react-navigation/routers';
import { RouteConfig, EventMapBase } from './types';
import type { ParamListBase, NavigationState } from '@react-navigation/routers';
import type { RouteConfig, EventMapBase } from './types';
/**
* Empty component used for specifying route configuration.

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import { act, render } from 'react-native-testing-library';
import {
import type {
DefaultRouterOptions,
NavigationState,
Router,
@@ -10,7 +10,7 @@ import NavigationStateContext from '../NavigationStateContext';
import MockRouter, { MockActions } from './__fixtures__/MockRouter';
import useNavigationBuilder from '../useNavigationBuilder';
import Screen from '../Screen';
import { NavigationContainerRef } from '../types';
import type { NavigationContainerRef } from '../types';
it('throws when getState is accessed without a container', () => {
expect.assertions(1);

View File

@@ -1,12 +1,12 @@
import * as React from 'react';
import { render, act } from 'react-native-testing-library';
import { NavigationState } from '@react-navigation/routers';
import type { NavigationState } from '@react-navigation/routers';
import Screen from '../Screen';
import BaseNavigationContainer from '../BaseNavigationContainer';
import useNavigationBuilder from '../useNavigationBuilder';
import useNavigation from '../useNavigation';
import MockRouter, { MockRouterKey } from './__fixtures__/MockRouter';
import { NavigationContainerRef } from '../types';
import type { NavigationContainerRef } from '../types';
beforeEach(() => (MockRouterKey.current = 0));

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import { render, act } from 'react-native-testing-library';
import {
import type {
DefaultRouterOptions,
NavigationState,
Router,

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import { render, act } from 'react-native-testing-library';
import { Router, NavigationState } from '@react-navigation/routers';
import type { Router, NavigationState } from '@react-navigation/routers';
import useNavigationBuilder from '../useNavigationBuilder';
import BaseNavigationContainer from '../BaseNavigationContainer';
import Screen from '../Screen';

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import { render, act } from 'react-native-testing-library';
import { NavigationState } from '@react-navigation/routers';
import type { NavigationState } from '@react-navigation/routers';
import useNavigationBuilder from '../useNavigationBuilder';
import useNavigationState from '../useNavigationState';
import BaseNavigationContainer from '../BaseNavigationContainer';

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import { render } from 'react-native-testing-library';
import {
import type {
Router,
DefaultRouterOptions,
NavigationState,

View File

@@ -5,7 +5,7 @@ import useRoute from '../useRoute';
import BaseNavigationContainer from '../BaseNavigationContainer';
import Screen from '../Screen';
import MockRouter from './__fixtures__/MockRouter';
import { RouteProp } from '../types';
import type { RouteProp } from '../types';
it('gets route prop from context', () => {
expect.assertions(1);

View File

@@ -1,7 +1,7 @@
import * as React from 'react';
import { ParamListBase, NavigationState } from '@react-navigation/routers';
import type * as React from 'react';
import type { ParamListBase, NavigationState } from '@react-navigation/routers';
import Screen from './Screen';
import { TypedNavigator, EventMapBase } from './types';
import type { TypedNavigator, EventMapBase } from './types';
/**
* Higher order component to create a `Navigator` and `Screen` pair.

View File

@@ -1,4 +1,4 @@
import { PartialState, NavigationState } from '@react-navigation/routers';
import type { PartialState, NavigationState } from '@react-navigation/routers';
type NavigateParams = {
screen?: string;

View File

@@ -1,4 +1,4 @@
import {
import type {
Route,
PartialState,
NavigationState,

View File

@@ -1,10 +1,10 @@
import queryString from 'query-string';
import {
import type {
NavigationState,
PartialState,
Route,
} from '@react-navigation/routers';
import { PathConfig } from './types';
import type { PathConfig } from './types';
type State = NavigationState | Omit<PartialState<NavigationState>, 'stale'>;

View File

@@ -1,11 +1,11 @@
import escape from 'escape-string-regexp';
import queryString from 'query-string';
import {
import type {
NavigationState,
PartialState,
InitialState,
} from '@react-navigation/routers';
import { PathConfig } from './types';
import type { PathConfig } from './types';
type ParseConfig = Record<string, (value: string) => any>;

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import {
import type * as React from 'react';
import type {
DefaultRouterOptions,
NavigationState,
NavigationAction,

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import { ChildActionListener } from './NavigationBuilderContext';
import type { ChildActionListener } from './NavigationBuilderContext';
/**
* Hook which lets child navigators add action listeners.

View File

@@ -1,7 +1,7 @@
import * as React from 'react';
import { NavigationState, ParamListBase } from '@react-navigation/routers';
import type { NavigationState, ParamListBase } from '@react-navigation/routers';
import CurrentRenderContext from './CurrentRenderContext';
import { Descriptor, NavigationHelpers } from './types';
import type { Descriptor, NavigationHelpers } from './types';
type Options = {
state: NavigationState;

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import {
import type {
NavigationAction,
NavigationState,
ParamListBase,
@@ -11,9 +11,9 @@ import NavigationBuilderContext, {
FocusedNavigationListener,
NavigatorStateGetter,
} from './NavigationBuilderContext';
import { NavigationEventEmitter } from './useEventEmitter';
import type { NavigationEventEmitter } from './useEventEmitter';
import useNavigationCache from './useNavigationCache';
import {
import type {
Descriptor,
NavigationHelpers,
RouteConfig,

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import { EventEmitter, EventConsumer, EventArg } from './types';
import type { EventEmitter, EventConsumer, EventArg } from './types';
export type NavigationEventEmitter = EventEmitter<Record<string, any>> & {
create: (target: string) => EventConsumer<Record<string, any>>;

View File

@@ -1,7 +1,7 @@
import * as React from 'react';
import { NavigationState } from '@react-navigation/routers';
import type { NavigationState } from '@react-navigation/routers';
import NavigationContext from './NavigationContext';
import { NavigationEventEmitter } from './useEventEmitter';
import type { NavigationEventEmitter } from './useEventEmitter';
type Options = {
state: NavigationState;

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import { FocusedNavigationListener } from './NavigationBuilderContext';
import type { FocusedNavigationListener } from './NavigationBuilderContext';
/**
* Hook which lets child navigators add listeners to be called for focused navigators.

View File

@@ -1,10 +1,10 @@
import * as React from 'react';
import { ParamListBase } from '@react-navigation/routers';
import type { ParamListBase } from '@react-navigation/routers';
import NavigationBuilderContext, {
FocusedNavigationCallback,
FocusedNavigationListener,
} from './NavigationBuilderContext';
import { NavigationHelpers } from './types';
import type { NavigationHelpers } from './types';
type Options = {
navigation: NavigationHelpers<ParamListBase>;

View File

@@ -1,7 +1,7 @@
import * as React from 'react';
import { ParamListBase } from '@react-navigation/routers';
import type { ParamListBase } from '@react-navigation/routers';
import NavigationContext from './NavigationContext';
import { NavigationProp } from './types';
import type { NavigationProp } from './types';
/**
* Hook to access the navigation prop of the parent screen anywhere.

View File

@@ -6,9 +6,9 @@ import {
NavigationState,
Router,
} from '@react-navigation/routers';
import { NavigationEventEmitter } from './useEventEmitter';
import type { NavigationEventEmitter } from './useEventEmitter';
import { NavigationHelpers, NavigationProp } from './types';
import type { NavigationHelpers, NavigationProp } from './types';
type Options<State extends NavigationState> = {
state: State;

View File

@@ -7,7 +7,7 @@ import {
Router,
} from '@react-navigation/routers';
import NavigationContext from './NavigationContext';
import { NavigationEventEmitter } from './useEventEmitter';
import type { NavigationEventEmitter } from './useEventEmitter';
import { NavigationHelpers, NavigationProp, PrivateValueStore } from './types';
// This is to make TypeScript compiler happy

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import { NavigationState } from '@react-navigation/routers';
import type { NavigationState } from '@react-navigation/routers';
import useNavigation from './useNavigation';
type Selector<T> = (state: NavigationState) => T;

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import {
import type {
NavigationAction,
NavigationState,
PartialState,

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import { NavigationState } from '@react-navigation/routers';
import type { NavigationState } from '@react-navigation/routers';
import NavigationBuilderContext from './NavigationBuilderContext';
import NavigationRouteContext from './NavigationRouteContext';
import isArrayEqual from './isArrayEqual';

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import {
import type {
NavigationAction,
NavigationState,
Router,

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import NavigationStateContext from './NavigationStateContext';
import { NavigationState } from '@react-navigation/routers';
import type { NavigationState } from '@react-navigation/routers';
export default function useOptionsGetters({
key,

View File

@@ -1,7 +1,7 @@
import * as React from 'react';
import { ParamListBase } from '@react-navigation/routers';
import type { ParamListBase } from '@react-navigation/routers';
import NavigationRouteContext from './NavigationRouteContext';
import { RouteProp } from './types';
import type { RouteProp } from './types';
/**
* Hook to access the route prop of the parent screen anywhere.

View File

@@ -1,5 +1,5 @@
import * as React from 'react';
import { NavigatorStateGetter } from './NavigationBuilderContext';
import type { NavigatorStateGetter } from './NavigationBuilderContext';
/**
* Hook which lets child navigators add getters to be called for obtaining rehydrated state.