61 lines
2.0 KiB
JavaScript
61 lines
2.0 KiB
JavaScript
|
/**
|
||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
|
*
|
||
|
* This source code is licensed under the MIT license found in the
|
||
|
* LICENSE file in the root directory of this source tree.
|
||
|
*
|
||
|
* @flow strict
|
||
|
* @format
|
||
|
*/
|
||
|
|
||
|
export type FeatureFlags = {|
|
||
|
/**
|
||
|
* Function used to enable / disabled Layout Animations in React Native.
|
||
|
* Default value = true.
|
||
|
*/
|
||
|
isLayoutAnimationEnabled: () => boolean,
|
||
|
/**
|
||
|
* Function used to enable / disable W3C pointer event emitting in React Native.
|
||
|
* If enabled you must also flip the equivalent native flags on each platform:
|
||
|
* iOS -> RCTSetDispatchW3CPointerEvents
|
||
|
* Android -> ReactFeatureFlags.dispatchPointerEvents
|
||
|
*/
|
||
|
shouldEmitW3CPointerEvents: () => boolean,
|
||
|
/**
|
||
|
* Function used to enable / disable Pressibility from using W3C Pointer Events
|
||
|
* for its hover callbacks
|
||
|
*/
|
||
|
shouldPressibilityUseW3CPointerEventsForHover: () => boolean,
|
||
|
/**
|
||
|
* Enables an experimental flush-queue debouncing in Animated.js.
|
||
|
*/
|
||
|
animatedShouldDebounceQueueFlush: () => boolean,
|
||
|
/**
|
||
|
* Enables an experimental mega-operation for Animated.js that replaces
|
||
|
* many calls to native with a single call into native, to reduce JSI/JNI
|
||
|
* traffic.
|
||
|
*/
|
||
|
animatedShouldUseSingleOp: () => boolean,
|
||
|
/**
|
||
|
* Enables GlobalPerformanceLogger replacement with a WebPerformance API based
|
||
|
* implementation
|
||
|
*/
|
||
|
isGlobalWebPerformanceLoggerEnabled: () => boolean,
|
||
|
/**
|
||
|
* Enables access to the host tree in Fabric using DOM-compatible APIs.
|
||
|
*/
|
||
|
enableAccessToHostTreeInFabric: () => boolean,
|
||
|
|};
|
||
|
|
||
|
const ReactNativeFeatureFlags: FeatureFlags = {
|
||
|
isLayoutAnimationEnabled: () => true,
|
||
|
shouldEmitW3CPointerEvents: () => false,
|
||
|
shouldPressibilityUseW3CPointerEventsForHover: () => false,
|
||
|
animatedShouldDebounceQueueFlush: () => false,
|
||
|
animatedShouldUseSingleOp: () => false,
|
||
|
isGlobalWebPerformanceLoggerEnabled: () => false,
|
||
|
enableAccessToHostTreeInFabric: () => false,
|
||
|
};
|
||
|
|
||
|
module.exports = ReactNativeFeatureFlags;
|