configuration/schemas/readme.schema.ts
configuration/schemas/readme.schema.ts is a file in GovLab Docs. 22 lines of code and 3 definitions.
import type { DocTypeSchema, MetaConcern } from "#types/document.types";
import { README_HEADINGS, README_SECTION_ALIASES } from "#configuration/strings/readme.strings";
const README_CONCERNS: readonly { aliases: readonly string[]; concern: string }[] = [
{ aliases: README_SECTION_ALIASES.purpose, concern: README_HEADINGS.purpose },
{ aliases: README_SECTION_ALIASES.whenToUse, concern: README_HEADINGS.whenToUse },
{ aliases: README_SECTION_ALIASES.whenNotToUse, concern: README_HEADINGS.whenNotToUse },
{ aliases: README_SECTION_ALIASES.install, concern: README_HEADINGS.install },
{ aliases: README_SECTION_ALIASES.quickStart, concern: README_HEADINGS.quickStart },
{ aliases: [], concern: README_HEADINGS.api },
{ aliases: README_SECTION_ALIASES.configuration, concern: README_HEADINGS.configuration },
{ aliases: [], concern: README_HEADINGS.dependencies },
{ aliases: README_SECTION_ALIASES.disposal, concern: README_HEADINGS.disposal },
];
const README_SECTIONS: MetaConcern[] = README_CONCERNS.map((section, index) => ({
aliases: [...section.aliases],
concern: section.concern,
order: index + 1,
required: true,
}));
export const DOC_TYPE_SCHEMAS: Readonly<Record<string, DocTypeSchema>> = {
readme: { metaConcerns: README_SECTIONS, ordered: false, type: "readme" },
};