@bemedev/app-react
Version:
Use app-ts inside react
26 lines (22 loc) • 1.05 kB
JavaScript
;
var appTs = require('@bemedev/app-ts');
var useSelector = require('./useSelector.cjs');
var utils_compare = require('./utils/compare.cjs');
require('dequal');
var utils_identity = require('./utils/identity.cjs');
var utils_reFunction = require('./utils/reFunction.cjs');
const interpret = (machine, config) => {
const service = appTs.interpret(machine, config);
const start = utils_reFunction.reFunction(service, 'start');
const stop = utils_reFunction.reFunction(service, 'stop');
const send = utils_reFunction.reFunction(service, 'send');
const addOptions = utils_reFunction.reFunction(service, 'addOptions');
const selector = (utils_identity.identity);
const useState = (key, compare = utils_compare.defaultCompare) => {
const out = useSelector.useSelector(service, state => (!key ? state : appTs.getByKey(state, key)), compare);
return out;
};
return { start, stop, send, selector, useState, addOptions };
};
exports.interpret = interpret;
//# sourceMappingURL=interpret.cjs.map