@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
31 lines (30 loc) • 948 B
JavaScript
function isSourceLoaded(code, needsHighlight) {
if (!code.source) {
return false;
}
if (typeof code.source === 'string' && needsHighlight) {
// TODO: handle 'stream' case
return false;
}
// if it's a hast node or hastJson, we assume it's loaded
return true;
}
export function hasAllVariants(variants, code, needsHighlight) {
return variants.every(function (variant) {
var codeVariant = code == null ? void 0 : code[variant];
if (!codeVariant || typeof codeVariant === 'string' || !isSourceLoaded(codeVariant, needsHighlight)) {
return false;
}
var extraFiles = codeVariant.extraFiles;
if (!extraFiles) {
return true;
}
return Object.keys(extraFiles).every(function (file) {
var extraFile = extraFiles[file];
if (!extraFile || typeof extraFile === 'string' || !isSourceLoaded(extraFile, needsHighlight)) {
return false;
}
return true;
});
});
}