import { isModalBuiltinKey } from '../constants/modalBuiltinKeys'; import { copyOwnProperty } from '../utils'; /** * 将 custom 属性合并到 modal 实例,跳过与内置属性冲突的键。 * @param target - modal 实例 * @param custom - options.custom 对象 * @returns 无返回值 */ function mergeModalCustom( target: Record, custom: Record | undefined | null, ): void { if (!target || !custom) return; Object.getOwnPropertyNames(custom).forEach((key) => { if (isModalBuiltinKey(key)) { if (process.env.NODE_ENV !== 'production') { // eslint-disable-next-line no-console console.warn( `[useCommonRef] custom.${key} 与 modal 内置属性冲突,已忽略`, ); } return; } copyOwnProperty(target, key, custom); }); } export default mergeModalCustom;