@redocly/theme
Version:
Shared UI components lib
33 lines • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCatalogEntityDetails = useCatalogEntityDetails;
const urls_1 = require("../../utils/urls");
function useCatalogEntityDetails({ catalogConfig, entitiesCatalogConfig, revision, version, }) {
const getCatalogSpecificConfigByEntityTypeIncluded = (entity) => {
var _a;
if (!entitiesCatalogConfig) {
return;
}
return Object.values((_a = entitiesCatalogConfig.catalogs) !== null && _a !== void 0 ? _a : {}).find((catalog) => {
var _a;
return (_a = catalog === null || catalog === void 0 ? void 0 : catalog.includes) === null || _a === void 0 ? void 0 : _a.some((include) => include.type === entity.type);
});
};
const getEntityDetailsLink = (entity) => {
const catalogSpecificConfig = getCatalogSpecificConfigByEntityTypeIncluded(entity);
const basePath = !catalogSpecificConfig || !entitiesCatalogConfig
? (0, urls_1.withPathPrefix)(`/catalogs/${catalogConfig.slug}/entities/${entity.key}`)
: (0, urls_1.withPathPrefix)(`/catalogs/${catalogSpecificConfig.slug}/entities/${entity.key}`);
const params = new URLSearchParams();
if (revision) {
params.set('revision', revision);
}
if (version !== undefined) {
params.set('version', version !== null && version !== void 0 ? version : '');
}
params.set('search', '');
return `${basePath}?${params.toString()}`;
};
return { getEntityDetailsLink };
}
//# sourceMappingURL=use-catalog-entity-details.js.map