UNPKG

@redocly/theme

Version:

Shared UI components lib

28 lines 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRenderableFiles = useRenderableFiles; const react_1 = require("react"); const utils_1 = require("../../../core/utils"); function useRenderableFiles(files) { return (0, react_1.useMemo)(function () { const filePaths = files.map(({ path }) => path); const rootDir = (0, utils_1.findClosestCommonDirectory)(filePaths); const renderableFiles = files.map((file) => { const FileIcon = getFileTypeIcon(file.basename); const parentFolder = file.path.split('/').slice(-2, -1)[0]; const isNameDuplicate = files.some((_file) => file.basename === _file.basename && file.path !== _file.path); const inRootDir = file.path === `${(0, utils_1.removeLeadingSlash)(rootDir)}/${file.basename}`; return Object.assign(Object.assign({}, file), { FileIcon, inRootDir, parentFolder, isNameDuplicate }); }); return renderableFiles; }, [files]); } function getFileTypeIcon(basename) { var _a; const extension = ((_a = basename.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || ''; return (0, utils_1.getFileIconByExt)(extension); } //# sourceMappingURL=use-renderable-files.js.map