useDataTool.ts
921 Bytes
import { Ref, toRaw, unref } from 'vue';
import { NodeData } from '../types/node';
export function useDataTool() {
/**
* @description 通过NodeData获取默认配置信息
* @param nodeData
* @returns
*/
function getDefaultConfigurationByNodeData<T = any>(nodeData: Ref<NodeData> | 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<T = any>(nodeData: Ref<NodeData> | NodeData) {
nodeData = toRaw(unref(nodeData));
const data = nodeData.data as T;
return { data };
}
return { getDefaultConfigurationByNodeData, getBindDataByNodeData };
}