UNPKG

create-iking-admin

Version:

金合技术中台脚手架

40 lines (38 loc) 1.18 kB
/* * @Author : wfl * @LastEditors : wfl * @description : * @updateInfo : * @Date : 2024-02-29 14:41:18 * @LastEditTime : 2024-03-15 12:02:58 */ export function resolveRoutePath(basePath?: string, routePath?: string) { const path = basePath ? (`${basePath}${routePath}`) : routePath ?? '' return path } function isObject(value: any) { return typeof value === 'object' && !Array.isArray(value) } // 比较两个对象,并提取出不同的部分 export function getTwoObjectDiff(originalObj: Record<string, any>, diffObj: Record<string, any>) { if (!isObject(originalObj) || !isObject(diffObj)) { return diffObj } const diff: Record<string, any> = {} for (const key in diffObj) { const originalValue = originalObj[key] const diffValue = diffObj[key] if (JSON.stringify(originalValue) !== JSON.stringify(diffValue)) { if (isObject(originalValue) && isObject(diffValue)) { const nestedDiff = getTwoObjectDiff(originalValue, diffValue) if (Object.keys(nestedDiff).length > 0) { diff[key] = nestedDiff } } else { diff[key] = diffValue } } } return diff }