mirror of
https://github.com/zhigang1992/react-navigation.git
synced 2026-04-29 04:45:19 +08:00
refactor: enforce import type everywhere
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.";
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as React from 'react';
|
||||
import { render, act } from 'react-native-testing-library';
|
||||
import {
|
||||
import type {
|
||||
DefaultRouterOptions,
|
||||
NavigationState,
|
||||
Router,
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as React from 'react';
|
||||
import { render } from 'react-native-testing-library';
|
||||
import {
|
||||
import type {
|
||||
Router,
|
||||
DefaultRouterOptions,
|
||||
NavigationState,
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { PartialState, NavigationState } from '@react-navigation/routers';
|
||||
import type { PartialState, NavigationState } from '@react-navigation/routers';
|
||||
|
||||
type NavigateParams = {
|
||||
screen?: string;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import {
|
||||
import type {
|
||||
Route,
|
||||
PartialState,
|
||||
NavigationState,
|
||||
|
||||
@@ -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'>;
|
||||
|
||||
|
||||
@@ -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>;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as React from 'react';
|
||||
import {
|
||||
import type * as React from 'react';
|
||||
import type {
|
||||
DefaultRouterOptions,
|
||||
NavigationState,
|
||||
NavigationAction,
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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>>;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as React from 'react';
|
||||
import {
|
||||
import type {
|
||||
NavigationAction,
|
||||
NavigationState,
|
||||
PartialState,
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as React from 'react';
|
||||
import {
|
||||
import type {
|
||||
NavigationAction,
|
||||
NavigationState,
|
||||
Router,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user