/** * Copyright (c) 2022 - present TinyVue Authors. * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. * * Use of this source code is governed by an MIT-style license. * * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. * */ /** * 将对象的每个属性值进行循环处理。 * * @param {Object} obj 要处理的对象 * @param {Function} handle 进行循环处理的函数,参数为对象属性名及属性值 */ export declare const each: (obj: any, handle: any) => void; declare let extend: any; /** * 获得指定的命名空间的值对象。 * * * @param {Object} data 查找数据源 * @param {String} names 查找属性命名空间字符串 * @param {Boolean} [isExceptRoot] 是否排除 names 的第一个节点,默认 false * @returns {Object} */ export declare const getObj: (data: any, names: any, isExceptRoot: any) => any; /** * 设置指定的命名空间的值对象。 * * @param {Object} data 设置数据源 * @param {String} names 查找属性命名空间字符串 * @param {Object} value 设置的值 * @param {boolean} [isMerge] 是否覆盖还是合并,默认覆盖 * @returns {Object} */ export declare const setObj: (data: any, names: any, value: any, isMerge: any) => any; /** * 根据指定的字段属性名,复制对应的数据。 * * @param {Object} data 源数据,合并数据源 * @param {Array} [fields] 指定的值得命名空间字符串的数值 * @param {Boolean} [isMerge] 是否覆盖还是合并,默认false覆盖 * @param {Boolean} [isExclude] 是否排除指定的fields复制,默认false * @returns {Array} */ export declare const copyField: (data: any, fields: any, isMerge: any, isExclude: any) => any; /** * 复制数组数据,数据如包含对象,则深度复制,并返回一个新数组,如果不是数组则直接返回原对象。 * * @param {Array} arr 要复制的数组 * @returns {Array} */ export declare const copyArray: (arr: any) => any; declare let isEachEqual: any; /** * 比较两个对象是否相等。 * * isEqual({ a: { b: 1 } }, { a: { b: 1, c: 2 } }, false, [ 'a.b' ]) // false * isEqual({ a: { b: 1 } }, { a: { b: 1, c: 2 } }, true, [ 'a.b' ]) // true * * @param {Object} sourceData 源对象 * @param {Object} targetData 目标对象 * @param {Boolean} [deep] 是否深度比较,默认深度比较, 只有指定false才不进行深度比较 * @param {Array} [fields] 指定需要比较的字段的数组 * @returns {Boolean} */ export declare const isEqual: (sourceData: any, targetData: any, deep: any, fields: any) => any; export { isEachEqual, extend }; /** * 将json对象序列化为字符串。 * * @param {Object} obj * @returns {String} */ export declare const toJsonStr: (obj: any) => string | undefined; /** * 将一个或多个源对象简单合并到目标对象中,合并时排除非 OwnProperty 及 undefined 属性。 * * @param {Object} target 目标对象 * @param {Object} [source] 源对象 * @returns {Object} */ export declare const merge: (target: any) => any;