react-native-onyx
Version:
State management for React Native
29 lines (28 loc) • 959 B
JavaScript
/**
* Stores settings from Onyx.init globally so they can be made accessible by other parts of the library.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.setPerformanceMetricsEnabled = setPerformanceMetricsEnabled;
exports.isPerformanceMetricsEnabled = isPerformanceMetricsEnabled;
exports.addGlobalSettingsChangeListener = addGlobalSettingsChangeListener;
const globalSettings = {
enablePerformanceMetrics: false,
};
const listeners = new Set();
function addGlobalSettingsChangeListener(listener) {
listeners.add(listener);
return () => {
listeners.delete(listener);
};
}
function notifyListeners() {
listeners.forEach((listener) => listener(globalSettings));
}
function setPerformanceMetricsEnabled(enabled) {
globalSettings.enablePerformanceMetrics = enabled;
notifyListeners();
}
function isPerformanceMetricsEnabled() {
return globalSettings.enablePerformanceMetrics;
}
;