UNPKG

react-native-onyx

Version:

State management for React Native

41 lines (40 loc) 1.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initDevTools = initDevTools; exports.getDevToolsInstance = getDevToolsInstance; const RealDevTools_1 = __importDefault(require("./DevTools/RealDevTools")); const NoOpDevTools_1 = __importDefault(require("./DevTools/NoOpDevTools")); // Start with a no-op instance let devToolsInstance = new NoOpDevTools_1.default(); /** * Initializes DevTools with the given enabled flag */ function initDevTools(enabled) { devToolsInstance = enabled ? new RealDevTools_1.default() : new NoOpDevTools_1.default(); } /** * Gets the current DevTools instance (for testing purposes only) * @private */ function getDevToolsInstance() { return devToolsInstance; } /** * Export a default object that delegates to the current devToolsInstance * This allows the instance to be swapped out while keeping the same import signature */ const DevTools = { registerAction(type, payload, stateChanges = {}) { devToolsInstance.registerAction(type, payload, stateChanges); }, initState(initialState = {}) { devToolsInstance.initState(initialState); }, clearState(keysToPreserve = []) { devToolsInstance.clearState(keysToPreserve); }, }; exports.default = DevTools;