UNPKG

recoil-toolkit

Version:
33 lines 1.21 kB
//todo traverse and json stringify Errors export function getSnapshotState(snapshot) { var _a; const nodes = []; for (const node of snapshot.getNodes_UNSTABLE({ isInitialized: true })) { const nodeInfo = snapshot.getInfo_UNSTABLE(node); const loadable = snapshot.getLoadable(node); const subNodes = []; for (const comp of nodeInfo.subscribers.nodes) { subNodes.push(comp.key); } nodes.sort((a, b) => a.key.localeCompare(b.key)); nodes.push({ key: node.key, type: nodeInfo.type, // isSet: nodeInfo.isSet, // isActive: nodeInfo.isActive, isModified: nodeInfo.isModified, subNodes, state: loadable.state, value: loadable.state === 'hasValue' ? loadable.contents : loadable.state === 'loading' ? '... loading ...' : JSON.stringify(((_a = loadable.contents) === null || _a === void 0 ? void 0 : _a.message) || loadable.contents), }); } return { id: snapshot.getID().toString(), nodes, }; } //# sourceMappingURL=getSnapshotState.js.map