mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
46ffe84453
Summary: Changelog: [General][Changed] Make the RootTag an opaque type Reviewed By: yungsters Differential Revision: D27992320 fbshipit-source-id: 2901f0e59f573106295b986fe04db227134235da
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
/**
|
|
* 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.
|
|
*
|
|
* @flow
|
|
* @format
|
|
*/
|
|
|
|
import UIManagerInjection from './UIManagerInjection';
|
|
import type {Spec} from './NativeUIManager';
|
|
import type {RootTag} from 'react-native/Libraries/Types/RootTagTypes';
|
|
|
|
interface UIManagerJSInterface extends Spec {
|
|
+getViewManagerConfig: (viewManagerName: string) => Object;
|
|
+hasViewManagerConfig: (viewManagerName: string) => boolean;
|
|
+createView: (
|
|
reactTag: ?number,
|
|
viewName: string,
|
|
rootTag: RootTag,
|
|
props: Object,
|
|
) => void;
|
|
+updateView: (reactTag: number, viewName: string, props: Object) => void;
|
|
+manageChildren: (
|
|
containerTag: ?number,
|
|
moveFromIndices: Array<number>,
|
|
moveToIndices: Array<number>,
|
|
addChildReactTags: Array<number>,
|
|
addAtIndices: Array<number>,
|
|
removeAtIndices: Array<number>,
|
|
) => void;
|
|
}
|
|
|
|
const UIManager: UIManagerJSInterface =
|
|
global.RN$Bridgeless === true
|
|
? require('./DummyUIManager') // No UIManager in bridgeless mode
|
|
: UIManagerInjection.unstable_UIManager == null
|
|
? require('./PaperUIManager')
|
|
: UIManagerInjection.unstable_UIManager;
|
|
|
|
module.exports = UIManager;
|