UNPKG

honkit

Version:

HonKit is building beautiful books using Markdown.

42 lines (41 loc) 1.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const immutable_1 = __importDefault(require("immutable")); const path_1 = __importDefault(require("path")); const location_1 = __importDefault(require("../utils/location")); const pluginResources_1 = __importDefault(require("../constants/pluginResources")); /** List all resources from a list of plugins @return {Map<String:List<{url, path}>} */ function listResources(plugins, resources) { return plugins.reduce((result, plugin) => { const npmId = plugin.getNpmID(); const pluginResources = resources.get(plugin.getName()); pluginResources_1.default.forEach((resourceType) => { let assets = pluginResources.get(resourceType); if (!assets) return; let list = result.get(resourceType) || immutable_1.default.List(); assets = assets.map((assetFile) => { if (location_1.default.isExternal(assetFile)) { return { url: assetFile }; } else { return { path: location_1.default.normalize(path_1.default.join(npmId, assetFile)) }; } }); list = list.concat(assets); result = result.set(resourceType, list); }); return result; }, immutable_1.default.Map()); } exports.default = listResources;