import { Ref, toRaw, unref } from 'vue'; import { NodeData } from '../types/node'; export function useDataTool() { /** * @description 通过NodeData获取默认配置信息 * @param nodeData * @returns */ function getDefaultConfigurationByNodeData(nodeData: Ref | NodeData) { nodeData = toRaw(unref(nodeData)); const { nodeDefinition } = nodeData.config?.configurationDescriptor || {}; const { defaultConfiguration } = nodeDefinition || {}; return { defaultConfiguration: defaultConfiguration as T }; } /** * @description 通过NodeData获取节点绑定信息 * @param nodeData * @returns */ function getBindDataByNodeData(nodeData: Ref | NodeData) { nodeData = toRaw(unref(nodeData)); const data = nodeData.data as T; return { data }; } return { getDefaultConfigurationByNodeData, getBindDataByNodeData }; }