UNPKG

@taml/ast

Version:

Abstract Syntax Tree types and utilities for TAML (Terminal ANSI Markup Language)

100 lines 3.58 kB
/** * Core type definitions for TAML (Terminal ANSI Markup Language) AST */ /** * Standard color names */ export const STANDARD_COLORS = [ "black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", ]; /** * Bright color names */ export const BRIGHT_COLORS = [ "brightBlack", "brightRed", "brightGreen", "brightYellow", "brightBlue", "brightMagenta", "brightCyan", "brightWhite", ]; /** * Background color names */ export const BACKGROUND_COLORS = [ "bgBlack", "bgRed", "bgGreen", "bgYellow", "bgBlue", "bgMagenta", "bgCyan", "bgWhite", "bgBrightBlack", "bgBrightRed", "bgBrightGreen", "bgBrightYellow", "bgBrightBlue", "bgBrightMagenta", "bgBrightCyan", "bgBrightWhite", ]; /** * Text style names */ export const TEXT_STYLES = [ "bold", "dim", "italic", "underline", "strikethrough", ]; /** * All valid TAML tags as a set for fast lookup */ export const VALID_TAGS = new Set([ ...STANDARD_COLORS, ...BRIGHT_COLORS, ...BACKGROUND_COLORS, ...TEXT_STYLES, ]); /** * Check if a string is a valid TAML tag */ export function isValidTag(tag) { return VALID_TAGS.has(tag); } /** * Type guard for standard colors */ export function isStandardColor(tag) { return STANDARD_COLORS.includes(tag); } /** * Type guard for bright colors */ export function isBrightColor(tag) { return BRIGHT_COLORS.includes(tag); } /** * Type guard for background colors */ export function isBackgroundColor(tag) { return BACKGROUND_COLORS.includes(tag); } /** * Type guard for text styles */ export function isTextStyle(tag) { return TEXT_STYLES.includes(tag); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQW1FSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixPQUFPO0lBQ1AsS0FBSztJQUNMLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLFNBQVM7SUFDVCxNQUFNO0lBQ04sT0FBTztDQUNDLENBQUM7QUFFWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixhQUFhO0lBQ2IsV0FBVztJQUNYLGFBQWE7SUFDYixjQUFjO0lBQ2QsWUFBWTtJQUNaLGVBQWU7SUFDZixZQUFZO0lBQ1osYUFBYTtDQUNMLENBQUM7QUFFWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLFNBQVM7SUFDVCxPQUFPO0lBQ1AsU0FBUztJQUNULFVBQVU7SUFDVixRQUFRO0lBQ1IsV0FBVztJQUNYLFFBQVE7SUFDUixTQUFTO0lBQ1QsZUFBZTtJQUNmLGFBQWE7SUFDYixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsY0FBYztJQUNkLGVBQWU7Q0FDUCxDQUFDO0FBRVg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsTUFBTTtJQUNOLEtBQUs7SUFDTCxRQUFRO0lBQ1IsV0FBVztJQUNYLGVBQWU7Q0FDUCxDQUFDO0FBRVg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQVU7SUFDekMsR0FBRyxlQUFlO0lBQ2xCLEdBQUcsYUFBYTtJQUNoQixHQUFHLGlCQUFpQjtJQUNwQixHQUFHLFdBQVc7Q0FDZixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBVztJQUNwQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBYyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsR0FBWTtJQUVaLE9BQVEsZUFBcUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsR0FBWTtJQUVaLE9BQVEsYUFBbUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFZO0lBRVosT0FBUSxpQkFBdUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFZO0lBQ3RDLE9BQVEsV0FBaUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUQsQ0FBQyJ9