UNPKG

@zedux/atoms

Version:

A Molecular State Engine for React

27 lines (26 loc) 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.wipe = exports.setInternals = exports.getInternals = exports.getEcosystem = exports.internalStore = void 0; const core_1 = require("@zedux/core"); const EvaluationStack_1 = require("../classes/EvaluationStack"); exports.internalStore = (0, core_1.createStore)(null, {}); const getEcosystem = (id) => exports.internalStore.getState()[id]; exports.getEcosystem = getEcosystem; const getInternals = () => ({ stack: EvaluationStack_1.stack, store: exports.internalStore }); exports.getInternals = getInternals; /** * Used in child windows. Makes different instances of Zedux reuse the parent * window's internal store and evaluation stack. */ const setInternals = (internals) => { exports.internalStore = internals.store; (0, EvaluationStack_1.setStack)(internals.stack); }; exports.setInternals = setInternals; const wipe = () => { const ecosystems = Object.values(exports.internalStore.getState().ecosystems); ecosystems.forEach(es => { es.destroy(true); }); }; exports.wipe = wipe;