react-native-onyx
Version:
State management for React Native
30 lines (29 loc) • 1.09 kB
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.addGlobalSettingsChangeListener = exports.isPerformanceMetricsEnabled = exports.setPerformanceMetricsEnabled = void 0;
const globalSettings = {
enablePerformanceMetrics: false,
};
const listeners = new Set();
function addGlobalSettingsChangeListener(listener) {
listeners.add(listener);
return () => {
listeners.delete(listener);
};
}
exports.addGlobalSettingsChangeListener = addGlobalSettingsChangeListener;
function notifyListeners() {
listeners.forEach((listener) => listener(globalSettings));
}
function setPerformanceMetricsEnabled(enabled) {
globalSettings.enablePerformanceMetrics = enabled;
notifyListeners();
}
exports.setPerformanceMetricsEnabled = setPerformanceMetricsEnabled;
function isPerformanceMetricsEnabled() {
return globalSettings.enablePerformanceMetrics;
}
exports.isPerformanceMetricsEnabled = isPerformanceMetricsEnabled;
;