@xrenders/xflow
Version:
一款功能强大、易用灵活的流程编辑器框架,帮助你轻松构建复杂的工作流和流程产品
31 lines (30 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useStoreApi = exports.useStore = void 0;
var _react = require("react");
var _context = _interopRequireDefault(require("../models/context"));
var _traditional = require("zustand/traditional");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var useStore = exports.useStore = function useStore(selector, equalityFn) {
var store = (0, _react.useContext)(_context.default);
if (store === null) {
throw new Error('[XFlow]: Seems like you have not used zustand provider as an ancestor.');
}
return (0, _traditional.useStoreWithEqualityFn)(store, selector, equalityFn);
};
var useStoreApi = exports.useStoreApi = function useStoreApi() {
var store = (0, _react.useContext)(_context.default);
if (store === null) {
throw new Error('[XFlow]: Seems like you have not used zustand provider as an ancestor.');
}
return (0, _react.useMemo)(function () {
return {
getState: store.getState,
setState: store.setState,
subscribe: store.subscribe,
temporal: store.temporal
};
}, [store]);
};