import type { Recordable } from '@easyflow/types';

import { listIcons } from '@easyflow/icons';

/**
 * 本地可用图标的缓存对象。
 */
export const ICONS_MAP: Recordable<string[]> = {};

/**
 * 获取本地已注册的图标集数据。
 * @param prefix 图标集名称
 * @returns 图标集中包含的所有图标名称
 */
export function getLocalIconsData(prefix: string): string[] {
  if (Reflect.has(ICONS_MAP, prefix) && ICONS_MAP[prefix]) {
    return ICONS_MAP[prefix];
  }
  ICONS_MAP[prefix] = listIcons('', prefix);
  return ICONS_MAP[prefix];
}
