UNPKG

nhb-toolbox

Version:

A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.

26 lines (25 loc) 967 B
import { isArrayOfType } from '../guards/non-primitives.js'; import { isNumber, isString } from '../guards/primitives.js'; import { CSS_16_COLORS } from './constants.js'; export function _extractColorName(bgColor) { return bgColor.slice(2).toLowerCase(); } export function _isAnsiSequence(seq) { return (isArrayOfType(seq, isString) && seq?.length === 2 && (seq[0].startsWith('\x1b[48') || seq[0].startsWith('\x1b[38')) && (seq[1].startsWith('\x1b[49') || seq[1].startsWith('\x1b[39'))); } export function _isAnsi16ColorValue(value) { return (isArrayOfType(value, isNumber) && value?.length === 2 && value[0] >= 30 && value[0] <= 107 && (value[1] === 39 || value[1] === 49)); } export function _isCSS16Color(value) { return value?.startsWith('css-') && value?.replace('css-', '') in CSS_16_COLORS; } export function _css16ToHex(value) { return CSS_16_COLORS?.[value?.replace('css-', '')]; }