import { cloneDeep } from 'lodash-es'
import { reactive, ref, watchEffect } from 'vue'
/*** 神奇函数* @param source 数据源,* @param initKey 固定需要返回的属性* @description 收集数据源中修改的属性,并返回* @version 1.0 仅支持对象* @author sufei* @return { source, result }*/
export function useMagical(source: any, initKey?: string[]) {const result = reactive<any>({})// 神奇函数启动状态const starting = ref(false)// 对数据源进行深度copylet sourceCache: any = {}watchEffect(() => {if (!starting.value) returnObject.keys(sourceCache).forEach((key) => {if (JSON.stringify(source[key]) !== JSON.stringify(sourceCache[key])) {result[key] = source