UNPKG

@xstate/inspect

Version:
63 lines (56 loc) 1.93 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _tslib = require('./_virtual/_tslib.js'); var safeStringify = require('fast-safe-stringify'); var xstate = require('xstate'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var safeStringify__default = /*#__PURE__*/_interopDefaultLegacy(safeStringify); function getLazy(value) { return typeof value === 'function' ? value() : value; } function stringify(value, replacer) { try { return JSON.stringify(value, replacer); } catch (e) { return safeStringify__default["default"](value, replacer); } } function isReceiverEvent(event) { if (!event) { return false; } try { if (typeof event === 'object' && 'type' in event && event.type.startsWith('service.')) { return true; } } catch (e) { return false; } return false; } function parseState(stateJSON) { var state = xstate.State.create(JSON.parse(stateJSON)); delete state.history; return state; } function parseReceiverEvent(event) { switch (event.type) { case 'service.event': return _tslib.__assign(_tslib.__assign({}, event), { event: JSON.parse(event.event) }); case 'service.register': return _tslib.__assign(_tslib.__assign({}, event), { machine: xstate.createMachine(JSON.parse(event.machine)), state: parseState(event.state) }); case 'service.state': return _tslib.__assign(_tslib.__assign({}, event), { state: parseState(event.state) }); default: return event; } } exports.getLazy = getLazy; exports.isReceiverEvent = isReceiverEvent; exports.parseReceiverEvent = parseReceiverEvent; exports.parseState = parseState; exports.stringify = stringify;