"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseExtensions = parseExtensions; /** * 将模块配置项转换为标准模块格式 * * Convert extension options to standard format * @param graph - 图实例 graph instance * @param category - 模块类型 extension type * @param extensions - 模块配置项 extension options * @returns 标准模块配置项 Standard extension options */ function parseExtensions(graph, category, extensions) { const counter = {}; const getKey = (type) => { if (!(type in counter)) counter[type] = 0; return `${category}-${type}-${counter[type]++}`; }; return extensions.map((extension) => { if (typeof extension === 'string') { return { type: extension, key: getKey(extension) }; } if (typeof extension === 'function') { return extension.call(graph); } if (extension.key) return extension; return Object.assign(Object.assign({}, extension), { key: getKey(extension.type) }); }); } //# sourceMappingURL=extension.js.map