react-native/Libraries/ReactNative/ReactNativeFeatureFlags.js
Kevin Gozali 66da0d27da move the ReactNativeFeatureFlags outside of sync dir
Reviewed By: bvaughn

Differential Revision: D5627037

fbshipit-source-id: 0544b822ba03090a74695911b6951e91262478a0
2017-08-15 10:48:43 -07:00

47 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
*/
'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;