UNPKG

@tacky/store

Version:

State management framework based on react

55 lines (37 loc) 1.47 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.init = init; exports.isRunning = void 0; var _use = require("../core/use"); var _store = require("../core/store"); var _effect = _interopRequireDefault(require("../middlewares/effect")); var _logger = _interopRequireDefault(require("../middlewares/logger")); var _config = require("../const/config"); var _compose = require("../utils/compose"); var _error = require("../utils/error"); var _lang = require("../utils/lang"); var isRunning = false; /** * Includes init built-in middleware, create store, load domain tree and so on. */ exports.isRunning = isRunning; function init() { (0, _error.invariant)((0, _lang.isSupportProxy)() && (0, _lang.isSupportSymbol)(), 'Proxy or Symbol is not supported, please add polyfill.'); (0, _error.invariant)(!isRunning, 'Cannot init store multiple times.'); exports.isRunning = isRunning = true; if (_config.ctx.middleware.effect) { (0, _use.use)(_effect["default"]); } if (_config.ctx.middleware.logger) { (0, _use.use)(_logger["default"]); } var enhancers = [(0, _use.applyMiddleware)()]; var composeEnhancers = _compose.compose; if (process.env.NODE_ENV !== 'production') {// Tacky dev tools extension support. } var enhancer = composeEnhancers.apply(void 0, enhancers); (0, _store.createStore)(enhancer); }