UNPKG

nhb-toolbox

Version:

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

33 lines (32 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._extractColorName = _extractColorName; exports._isAnsiSequence = _isAnsiSequence; exports._isAnsi16ColorValue = _isAnsi16ColorValue; exports._isCSS16Color = _isCSS16Color; exports._css16ToHex = _css16ToHex; const non_primitives_1 = require("../guards/non-primitives"); const primitives_1 = require("../guards/primitives"); const constants_1 = require("./constants"); function _extractColorName(bgColor) { return bgColor.slice(2).toLowerCase(); } function _isAnsiSequence(seq) { return ((0, non_primitives_1.isArrayOfType)(seq, primitives_1.isString) && seq?.length === 2 && (seq[0].startsWith('\x1b[48') || seq[0].startsWith('\x1b[38')) && (seq[1].startsWith('\x1b[49') || seq[1].startsWith('\x1b[39'))); } function _isAnsi16ColorValue(value) { return ((0, non_primitives_1.isArrayOfType)(value, primitives_1.isNumber) && value?.length === 2 && value[0] >= 30 && value[0] <= 107 && (value[1] === 39 || value[1] === 49)); } function _isCSS16Color(value) { return value?.startsWith('css-') && value?.replace('css-', '') in constants_1.CSS_16_COLORS; } function _css16ToHex(value) { return constants_1.CSS_16_COLORS?.[value?.replace('css-', '')]; }