react-native/Libraries/ReactNative/ReactNativeFeatureFlags.js
Valentin Shergin 8606e04c5d Enabled pretier (@format) for all files in ReactNative folder
Reviewed By: mmmulani

Differential Revision: D5894100

fbshipit-source-id: fae0d02547c0f049fc77f87f209b2ae4f2a298fd
2017-09-24 23:01:25 -07:00

48 lines
1.2 KiB
JavaScript

/**
* Copyright 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactNativeFeatureFlags
* @flow
* @format
*/
'use strict';
// =============================================================================
// IMPORTANT:
// When syncing React Renderer, make sure the feature flags are still compatible
// =============================================================================
var useFiber;
var ReactNativeFeatureFlags = {
get useFiber(): boolean {
if (useFiber == null) {
useFiber = true;
if (__DEV__) {
require('Systrace').installReactHook(useFiber);
}
}
return useFiber;
},
set useFiber(enabled: boolean): void {
if (useFiber != null) {
throw new Error(
'Cannot set useFiber feature flag after it has been accessed. ' +
'Please override it before requiring React.',
);
}
useFiber = enabled;
if (__DEV__) {
require('Systrace').installReactHook(useFiber);
}
},
};
module.exports = ReactNativeFeatureFlags;