@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
71 lines (70 loc) • 2.58 kB
TypeScript
import IFolder from "../storage/IFolder";
export declare const ValidationDocMarkdownTop = "---\nauthor: mammerla\nms.author: mikeam\ntitle: \"{0}\"\ndescription: \"{1}\"\nai-usage: ai-assisted\nms.service: minecraft-bedrock-edition\nms.date: 02/11/2025 \n---\n";
/**
* Generates detailed markdown documentation for MCTools validation rules.
* This provides a more user-friendly format than the general form documentation,
* with emphasis on explaining what each rule checks and how to fix issues.
*/
export default class ValidationRulesMarkdownGenerator {
/**
* Generate validation rule documentation from form JSON files.
*
* @param formJsonInputFolder Folder containing mctoolsval form JSON files
* @param outputFolder Folder to write markdown documentation to
*/
generateValidationDocs(formJsonInputFolder: IFolder, outputFolder: IFolder): Promise<void>;
/**
* Load all form JSON files from a folder into a dictionary.
*/
private loadFormJsonFromFolder;
/**
* Export individual validation rule category documentation pages.
*/
private exportValidationRuleDocs;
/**
* Export the validation rules index/overview page.
*/
private exportValidationRulesIndex;
/**
* Save a single validation rule category documentation page.
*/
private saveValidationRuleDoc;
/**
* Append detailed documentation for a single validation rule.
* @param field The field/rule to document
* @param content The content array to append to
* @param rulesetName The uppercase ruleset name (e.g., "SHARING", "JSONF")
*/
private appendValidationRuleDetail;
/**
* Filter forms to only include validation rule forms.
*/
private getValidationForms;
/**
* Get severity information from messageType.
*/
private getSeverityInfo;
/**
* Check if a field has auto-fix capabilities.
* Handles both object-style matchedValues { [key: string]: string } and
* array-style matchedValues from JSON forms [{ updaterId, updaterIndex, action }].
*/
private hasAutoFix;
/**
* Get auto-fix action descriptions from a field.
* Handles both object-style and array-style matchedValues.
*/
private getAutoFixActions;
/**
* Create a markdown anchor from rule ID and title.
*/
private getAnchor;
/**
* Sanitize description text for markdown.
*/
private sanitizeDescription;
/**
* Truncate a description to a maximum length.
*/
private truncateDescription;
}