UNPKG

ayanami

Version:
21 lines (20 loc) 977 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useAyanamiInstance = void 0; var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var get_1 = tslib_1.__importDefault(require("lodash/get")); var core_1 = require("../core"); var use_subscribe_ayanami_state_1 = require("./use-subscribe-ayanami-state"); function useAyanamiInstance(ayanami, config) { var ikari = React.useMemo(function () { return core_1.combineWithIkari(ayanami); }, [ayanami]); var state = use_subscribe_ayanami_state_1.useSubscribeAyanamiState(ayanami, config ? config.selector : undefined); React.useEffect(function () { return function () { var isDestroyWhenUnmount = get_1.default(config, 'destroyWhenUnmount', false); if (isDestroyWhenUnmount) { ayanami.destroy(); } }; }, [ayanami, config]); return [state, ikari.triggerActions]; } exports.useAyanamiInstance = useAyanamiInstance;