Skip to content

validateIconSet()

此函数属于 Iconify Utils 包

函数 validateIconSet() 用于验证图标集,并返回清理后的 IconifyJSON 对象。

如果提供的数据中存在错误:

  • 如果错误是严重的,函数将抛出异常。
  • 如果错误可以修复,函数将抛出异常,除非提供了 fix 选项。

此函数会检查所有内容,包括元数据。

用法

函数具有以下参数:

  • dataobject。要验证的数据。
  • optionsobject。可选的配置对象。

函数返回:

  • 成功时返回 IconifyJSON 对象(与第一个参数传入的对象相同)。

如果函数遇到无法修复的错误,将抛出异常。

选项

选项对象具有以下属性:

  • fixboolean。如果设置为 true,函数将尽可能尝试修复错误,而不是抛出异常。默认值为 false
  • prefixstring。图标集 prefix 属性的默认值。如果设置,函数将用你提供的值覆盖图标集中的 prefix
  • providerstring。图标集 provider 属性的默认值。如果设置,函数将用你提供的值覆盖图标集中的 provider

示例

usage.ts
tsimport { promises as fs } from 'fs';
import { validateIconSet } from '@iconify/utils';

(async () => {
   // Load data from file
   const data = JSON.parse(
       await fs.readFile(
           './node_modules/@iconify-json/mdi-light/icons.json',
           'utf8'
       )
   );

   // Validate data
   const iconSet = validateIconSet(data);

   // Count icons (simple calculation)
   const count =
       Object.keys(iconSet.icons).length +
       (iconSet.aliases ? Object.keys(iconSet.aliases).length : 0);
   console.log(`Found ${count} icons`);
})();

快速验证

此函数体积较大,因此不建议将其打包用于浏览器环境。

如果你想在浏览器中验证图标集(例如在图标组件中从 API 加载数据时),请改用 quicklyValidateIconSet()。它更小、更快,因为它不检查元数据,也不尝试修复错误。