UNPKG

legal-markdown-js

Version:

Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version

47 lines 1.81 kB
/** * Number Formatting Utilities * * Shared utilities for converting numbers to various formats (Roman numerals, * alphabetic labels), used by both header processing and cross-reference processing. */ /** * Converts a number to Roman numeral * * Generates Roman numerals for header numbering using standard Roman numeral * conversion rules. Supports both uppercase and lowercase formats. * * @param {number} num - Number to convert (must be positive) * @param {boolean} [lowercase=false] - Whether to return lowercase roman numerals * @returns {string} Roman numeral string * @example * ```typescript * console.log(getRomanNumeral(1)); // 'I' * console.log(getRomanNumeral(4)); // 'IV' * console.log(getRomanNumeral(9)); // 'IX' * console.log(getRomanNumeral(10)); // 'X' * console.log(getRomanNumeral(49)); // 'XLIX' * console.log(getRomanNumeral(1994)); // 'MCMXCIV' * console.log(getRomanNumeral(5, true)); // 'v' * ``` */ export declare function getRomanNumeral(num: number, lowercase?: boolean): string; /** * Converts a number to alphabetic label (a, b, c, ... z, aa, ab, ...) * * Generates alphabetic labels for header numbering using a base-26 system. * Supports extended sequences beyond 'z' using double letters (aa, ab, etc.). * * @param {number} num - Number to convert (1-based) * @returns {string} Alphabetic label in lowercase * @example * ```typescript * console.log(getAlphaLabel(1)); // 'a' * console.log(getAlphaLabel(26)); // 'z' * console.log(getAlphaLabel(27)); // 'aa' * console.log(getAlphaLabel(28)); // 'ab' * console.log(getAlphaLabel(52)); // 'az' * console.log(getAlphaLabel(53)); // 'ba' * ``` */ export declare function getAlphaLabel(num: number): string; //# sourceMappingURL=number-utilities.d.ts.map