Skip to content

mergeCustomisations()

此函数属于 Iconify Utils 包

函数 mergeCustomisations() 用于合并默认自定义配置(以 FullIconCustomisations 对象形式呈现)与部分自定义配置。它还会验证类型,因此可用于清理用户输入。

用法

该函数包含以下参数:

函数返回合并后的自定义配置,其类型与第一个参数传入的类型相同(这使得该函数可用于扩展类型)。

示例

example.ts
tsimport type { IconifyIconCustomisations } from '@iconify/utils';
import { defaultIconCustomisations, mergeCustomisations } from '@iconify/utils';

const customisations: IconifyIconCustomisations = {
   hFlip: true,
};
const fullCustomisations = mergeCustomisations(
   defaultIconCustomisations,
   customisations
);

console.log(fullCustomisations);

合并

为什么不直接像这样合并对象呢?

bad-example.ts
tsimport type { IconifyIconCustomisations } from '@iconify/utils';
import { defaultIconCustomisations } from '@iconify/utils';

const customisations: IconifyIconCustomisations = {
   hFlip: true,
};
const fullCustomisations = {
   ...defaultIconCustomisations,
   ...customisations,
};

console.log(fullCustomisations);

这种方法仅适用于默认自定义配置,但如果两个对象都包含变换,则无法正常工作。

例如,当你合并来自图标的自定义配置(可能包含变换)与用户的自定义配置时,应使用 mergeCustomisations() 函数。它也可用于在解析图标别名时合并自定义配置。