UNPKG

@govbr-ds/webcomponents

Version:

Biblioteca de Web Components baseado no GovBR-DS

55 lines (54 loc) 2.05 kB
/*! * Construído por SERPRO * © https://serpro.gov.br/ - MIT License. */ import { MarkdownTable } from "./docs-utils"; export const allPropsToMarkdown = (cmps) => { const content = []; const table = new MarkdownTable(); // Cria uma nova tabela Markdown // Adiciona o cabeçalho da tabela table.addHeader(['Propriedade', 'Atributo', 'Componente', 'Tipo', 'Valor padrão', 'Descrição']); // Itera sobre os metadados das propriedades for (const cmp of cmps.components) { for (const prop of cmp.props) { table.addRow([ `\`${getPropertyField(prop)}\``, `\`${getAttributeField(prop)}\``, cmp.tag, `\`${getTypeField(prop)}\``, `\`${getDefaultValueField(prop)}\``, getDocsField(prop), ]); } } // Adiciona a tabela convertida ao conteúdo content.push(...table.toMarkdown()); content.push(``); return content; // Retorna o conteúdo gerado }; // Formata o campo da propriedade const getPropertyField = (prop) => { return `\`${prop.name}\`${prop.required ? ' *(obrigatório)*' : ''}`; }; // Formata o campo do atributo const getAttributeField = (prop) => { return prop.attr && prop.attr.length > 0 ? `\`${prop.attr}\`` : '---'; }; // Formata o campo do tipo const getTypeField = (prop) => { return prop.type.includes('`') ? `\`\` ${prop.type} \`\`` : `\`${prop.type}\``; }; // Formata o campo do valor padrão const getDefaultValueField = (prop) => { if (prop.default === undefined || prop.default.trim() === '') return '---'; // Se existir, formata o valor return prop.default.includes('`') ? `\`\`${prop.default}\`\`` : `\`${prop.default}\``; }; // Formata o campo da documentação const getDocsField = (prop) => { return `${prop.deprecation !== undefined ? `<span class="deprecated">**[Descontinuado/Obsoleto]**</span> ${prop.deprecation}<br/><br/>` : ''}${prop.docs}`; }; //# sourceMappingURL=markdown-props-all.js.map