stain 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  export declare const ESC = "\u001B";
2
2
  export declare const RESET = "\u001B[0m";
3
- export declare const COLOR_DEF: {
3
+ export declare const ANSI: {
4
4
  black: number;
5
5
  iblack: number;
6
6
  red: number;
@@ -18,10 +18,10 @@ export declare const COLOR_DEF: {
18
18
  white: number;
19
19
  iwhite: number;
20
20
  };
21
- export declare const XTERM_DEF: {
21
+ export declare const XTERM: {
22
22
  [k: string]: number;
23
23
  };
24
- export declare const COLOR_ALL: {
24
+ export declare const COLORS: {
25
25
  black: number;
26
26
  iblack: number;
27
27
  red: number;
@@ -1,6 +1,6 @@
1
1
  export declare const ESC = "\u001B";
2
2
  export declare const RESET = "\u001B[0m";
3
- export declare const COLOR_DEF: {
3
+ export declare const ANSI: {
4
4
  black: number;
5
5
  iblack: number;
6
6
  red: number;
@@ -18,10 +18,10 @@ export declare const COLOR_DEF: {
18
18
  white: number;
19
19
  iwhite: number;
20
20
  };
21
- export declare const XTERM_DEF: {
21
+ export declare const XTERM: {
22
22
  [k: string]: number;
23
23
  };
24
- export declare const COLOR_ALL: {
24
+ export declare const COLORS: {
25
25
  black: number;
26
26
  iblack: number;
27
27
  red: number;
@@ -1,6 +1,6 @@
1
1
  export declare const ESC = "\u001B";
2
2
  export declare const RESET = "\u001B[0m";
3
- export declare const COLOR_DEF: {
3
+ export declare const ANSI: {
4
4
  black: number;
5
5
  iblack: number;
6
6
  red: number;
@@ -18,10 +18,10 @@ export declare const COLOR_DEF: {
18
18
  white: number;
19
19
  iwhite: number;
20
20
  };
21
- export declare const XTERM_DEF: {
21
+ export declare const XTERM: {
22
22
  [k: string]: number;
23
23
  };
24
- export declare const COLOR_ALL: {
24
+ export declare const COLORS: {
25
25
  black: number;
26
26
  iblack: number;
27
27
  red: number;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG,WAAW,CAAC;AAC5B,eAAO,MAAM,KAAK,cAAY,CAAC;AAE/B,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;CAiBrB,CAAC;AACF,eAAO,MAAM,SAAS;;CAErB,CAAC;AACF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;CAA+B,CAAC;AAGtD;;;;GAIG;AACH,KAAK,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,UAgCtB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG,WAAW,CAAC;AAC5B,eAAO,MAAM,KAAK,cAAY,CAAC;AAE/B,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;CAiBhB,CAAC;AACF,eAAO,MAAM,KAAK;;CAEjB,CAAC;AACF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;CAAsB,CAAC;AAG1C;;;;GAIG;AACH,KAAK,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,UAgCtB,CAAC"}
package/dist/index.cjs CHANGED
@@ -31,7 +31,12 @@ var exports_src = {};
31
31
  __export(exports_src, {
32
32
  stain: () => stain,
33
33
  default: () => src_default2,
34
- createStain: () => createStain
34
+ createStain: () => createStain,
35
+ XTERM: () => XTERM,
36
+ RESET: () => RESET,
37
+ ESC: () => ESC,
38
+ COLOR_SPACE: () => COLOR_SPACE,
39
+ ANSI: () => ANSI
35
40
  });
36
41
  module.exports = __toCommonJS(exports_src);
37
42
 
@@ -165,7 +170,7 @@ var ENV2 = /* @__PURE__ */ (() => {
165
170
  // src/constants.ts
166
171
  var ESC = "\x1B";
167
172
  var RESET = "\x1B[0m";
168
- var COLOR_DEF = {
173
+ var ANSI = {
169
174
  black: 30,
170
175
  iblack: 90,
171
176
  red: 31,
@@ -183,8 +188,8 @@ var COLOR_DEF = {
183
188
  white: 37,
184
189
  iwhite: 97
185
190
  };
186
- var XTERM_DEF = Object.fromEntries(Array(256).fill(0).map((_v, i) => [`x${i}`, i]));
187
- var COLOR_ALL = { ...COLOR_DEF, ...XTERM_DEF };
191
+ var XTERM = Object.fromEntries(Array(256).fill(0).map((_v, i) => [`x${i}`, i]));
192
+ var COLORS = { ...ANSI, ...XTERM };
188
193
  var COLOR_SPACE = /* @__PURE__ */ (() => {
189
194
  try {
190
195
  const reap = src_default();
@@ -272,7 +277,7 @@ function createStain(opts = {}) {
272
277
  noColor = COLOR_SPACE === 0,
273
278
  simpleEscape = false
274
279
  } = opts;
275
- const colorAll = colors ? { ...xterm ? COLOR_ALL : COLOR_DEF, ...colors } : xterm ? COLOR_ALL : COLOR_DEF;
280
+ const colorAll = colors ? { ...xterm ? COLORS : ANSI, ...colors } : xterm ? COLORS : ANSI;
276
281
  if (noColor) {
277
282
  const ncFormat = opts?.format ? (...args) => format(...args) : format;
278
283
  for (const prop of Object.keys(colorAll).concat(["bg", "bold", "dim", "normal", "reset", "underline"])) {
@@ -281,7 +286,7 @@ function createStain(opts = {}) {
281
286
  return ncFormat;
282
287
  }
283
288
  const escFn = simpleEscape ? escStainSimple : escStain;
284
- const color256 = colors ? xterm ? { ...XTERM_DEF, ...colors } : colors : xterm ? XTERM_DEF : {};
289
+ const color256 = colors ? xterm ? { ...XTERM, ...colors } : colors : xterm ? XTERM : {};
285
290
  const colorProxy = (cur = {}) => new Proxy((text) => text, {
286
291
  get: (_target, prop) => {
287
292
  const nxt = { ...cur };
@@ -340,5 +345,5 @@ function createStain(opts = {}) {
340
345
  var stain = /* @__PURE__ */ (() => createStain({ xterm: true }))();
341
346
  var src_default2 = stain;
342
347
 
343
- //# debugId=F63994EEE794F26A64756E2164756E21
348
+ //# debugId=8A224414D72D97F164756E2164756E21
344
349
  //# sourceMappingURL=index.cjs.map
@@ -4,10 +4,10 @@
4
4
  "sourcesContent": [
5
5
  "// node_modules/globables/dist/index.js\nvar GLOBAL_THIS = /* @__PURE__ */ (() => typeof globalThis === \"object\" ? globalThis : (() => {\n (function(Object2) {\n function get() {\n const e = this || self;\n e.globalThis = e, delete Object2.prototype._T_;\n }\n typeof globalThis != \"object\" && (this ? get() : (Object2.defineProperty(Object2.prototype, \"_T_\", { configurable: true, get }), _T_));\n })(Object);\n return typeof globalThis === \"object\" ? globalThis : {};\n})())();\nvar ARGV = /* @__PURE__ */ (() => {\n var _a, _b, _c, _d;\n return typeof process === \"undefined\" ? typeof scriptArgs !== \"undefined\" ? scriptArgs : [] : (_d = (GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"Deno\"]) ? (_c = (_a = GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"Deno\"]) == null ? undefined : _a.args) != null ? _c : ((_b = process[\"args\"]) == null ? undefined : _b.length) ? process[\"args\"] : process[\"argv\"] : process[\"argv\"]) != null ? _d : [];\n})();\nvar ENV = /* @__PURE__ */ (() => {\n var _a, _b, _c, _d;\n return typeof process === \"undefined\" ? typeof ((_a = GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"std\"]) == null ? undefined : _a.getenviron) === \"function\" ? (_d = (_c = (_b = GLOBAL_THIS[\"std\"]).getenviron) == null ? undefined : _c.call(_b)) != null ? _d : {} : {} : !(GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"Deno\"]) ? process[\"env\"] : (() => {\n var _a2, _b2, _c2, _d2, _e, _f;\n try {\n return (_f = (_c2 = (_b2 = (_a2 = GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"Deno\"]) == null ? undefined : _a2.env) == null ? undefined : _b2.toObject) == null ? undefined : _c2.call(_b2)) != null ? _f : ((_d2 = process[\"env\"]) == null ? undefined : _d2.toObject) ? (_e = process[\"env\"]) == null ? undefined : _e.toObject() : process[\"env\"];\n } catch (_err) {}\n return {};\n })();\n})();\n\n// src/index.ts\nvar hasArgv = (keys, argv = ARGV) => !argv?.length ? false : !![keys].flat().filter(Boolean).find((key) => new RegExp(`(^|[^\\\\S])(?:--|-)${key}(=|\\\\s|$)`, \"i\").test(argv.join(\" \")));\nvar quoteNorm = (val) => /^['\"]/.test(val) ? val?.replace(/^(['\"])(.*)(['\"])$/, (m, q1, body, q2) => q1 === q2 ? quoteNorm(body) : m) : val;\nvar isFlag = (val) => /^-+\\w/.test(val ?? \"\") && Number.isNaN(Number(val));\nvar isTerm = (val) => val?.trim() === \"--\";\nvar toArgvArray = (key, strict = false, _keys = Array.isArray(key) ? key : [key]) => strict ? _keys : _keys.map((item) => [\n item,\n item.replaceAll(...item.includes(\"_\") ? [\"_\", \"-\"] : [\"-\", \"_\"])\n]).flat();\nvar cliReap = (argv = ARGV, env = ENV, gthis = GLOBAL_THIS, strict = false) => {\n const slice = argv[0] === \"node\" ? 2 : argv[1] === \"run\" ? 3 : isFlag(argv[0]) ? 0 : 1;\n const cur = argv.map(String).slice(slice);\n const cmd = argv.map(String).slice(0, slice);\n const end = !!cur.find(isTerm);\n const getArgv = (keys, optValue = false) => {\n const keyList = toArgvArray(keys, strict);\n for (let i = 0;i < cur.length; i++) {\n const token = cur[i];\n if (isTerm(token)) {\n break;\n }\n if (!token || !isFlag(token)) {\n continue;\n }\n const hasEq = /=/.test(token);\n const part = keyList.map((key) => {\n const [k, ...parts] = token.replace(isFlag(key) ? /(?!)/ : /^\\s*?-+/, \"\").split(hasEq && optValue ? `${key}=` : new RegExp(`^${key}$`, strict ? \"\" : \"i\"));\n return !k?.length ? parts.join(key) : k === key ? key : null;\n }).find((v) => v !== null) ?? 0;\n if (part === 0) {\n continue;\n }\n if (!optValue) {\n cur.splice(i, 1);\n return true;\n }\n if (hasEq) {\n cur.splice(i, 1);\n return quoteNorm(part);\n }\n const next = cur[i + 1];\n if (next !== undefined && !isTerm(next) && !isFlag(next)) {\n cur.splice(i, 2);\n return quoteNorm(next);\n }\n }\n return null;\n };\n const getEnv = (keys) => toArgvArray(keys, strict).map((key) => (key in env) ? env[key] : (key in gthis) ? gthis[key] : null).filter(Boolean)[0] ?? null;\n const getFlag = (keys) => getArgv(keys, false) !== null ? true : null;\n const getOpt = (keys) => getArgv(keys, true);\n const getAny = (keys, defaultValue) => getOpt(keys) ?? getFlag(keys) ?? getEnv(keys) ?? (defaultValue !== undefined ? defaultValue : null);\n const getPos = () => {\n const result = [];\n for (let i = 0;i < cur.length; i++) {\n const token = cur[i];\n if (!token) {\n continue;\n }\n if (isTerm(token)) {\n return [...result, ...cur.slice(i + 1)];\n }\n if (isFlag(token)) {\n continue;\n }\n result.push(token);\n }\n return result;\n };\n return {\n any: getAny,\n cmd: () => cmd,\n cur: () => cur,\n end: () => end,\n env: getEnv,\n flag: getFlag,\n opt: getOpt,\n pos: getPos\n };\n};\nvar cliReapStrict = (argv = ARGV, procEnv = ENV, gthis = GLOBAL_THIS) => cliReap(argv, procEnv, gthis, true);\nvar src_default = cliReap;\nexport {\n quoteNorm,\n isFlag,\n hasArgv,\n src_default as default,\n cliReapStrict,\n cliReap,\n ENV,\n ARGV\n};\n\n//# debugId=D346F45C437553B064756E2164756E21\n//# sourceMappingURL=index.js.map\n",
6
6
  "// src/index.ts\nvar GLOBAL_THIS = /* @__PURE__ */ (() => typeof globalThis === \"object\" ? globalThis : (() => {\n !(function(Object2) {\n function get() {\n const e = this || self;\n e.globalThis = e, delete Object2.prototype._T_;\n }\n \"object\" != typeof globalThis && (this ? get() : (Object2.defineProperty(Object2.prototype, \"_T_\", { configurable: true, get }), _T_));\n })(Object);\n return typeof globalThis === \"object\" ? globalThis : {};\n})())();\nvar ARGV = /* @__PURE__ */ (() => {\n var _a, _b, _c, _d;\n return typeof process === \"undefined\" ? typeof scriptArgs !== \"undefined\" ? scriptArgs : [] : (_d = (GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"Deno\"]) ? (_c = (_a = GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"Deno\"]) == null ? void 0 : _a.args) != null ? _c : ((_b = process[\"args\"]) == null ? void 0 : _b.length) ? process[\"args\"] : process[\"argv\"] : process[\"argv\"]) != null ? _d : [];\n})();\nvar ARGS = ARGV;\nvar ENV = /* @__PURE__ */ (() => {\n var _a, _b, _c, _d;\n return typeof process === \"undefined\" ? typeof ((_a = GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"std\"]) == null ? void 0 : _a.getenviron) === \"function\" ? (_d = (_c = (_b = GLOBAL_THIS[\"std\"]).getenviron) == null ? void 0 : _c.call(_b)) != null ? _d : {} : {} : !(GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"Deno\"]) ? process[\"env\"] : (() => {\n var _a2, _b2, _c2, _d2, _e, _f;\n try {\n return (_f = (_c2 = (_b2 = (_a2 = GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"Deno\"]) == null ? void 0 : _a2.env) == null ? void 0 : _b2.toObject) == null ? void 0 : _c2.call(_b2)) != null ? _f : ((_d2 = process[\"env\"]) == null ? void 0 : _d2.toObject) ? (_e = process[\"env\"]) == null ? void 0 : _e.toObject() : process[\"env\"];\n } catch (_err) {\n }\n return {};\n })();\n})();\nexport {\n ARGS,\n ARGV,\n ENV,\n GLOBAL_THIS\n};\n//# sourceMappingURL=index.js.map\n",
7
- "import cliReap from 'cli-reap';\nimport {\n ENV,\n GLOBAL_THIS,\n} from 'globables';\n\nexport const ESC = '\\x1B';\nexport const RESET = '\\x1B[0m';\n\nexport const COLOR_DEF = {\n black: 30,\n iblack: 90,\n red: 31,\n ired: 91,\n green: 32,\n igreen: 92,\n yellow: 33,\n iyellow: 93,\n blue: 34,\n iblue: 94,\n purple: 35,\n ipurple: 95,\n cyan: 36,\n icyan: 96,\n white: 37,\n iwhite: 97,\n};\nexport const XTERM_DEF = Object.fromEntries(\n Array(256).fill(0).map((_v, i) => [`x${i}`, i] as [string, number]),\n);\nexport const COLOR_ALL = {...COLOR_DEF, ...XTERM_DEF};\n\n\n/**\n * color support level\n * @default 3\n * @see {@link https://nodejs.org/api/cli.html#force_color1-2-3|Node.js FORCE_COLOR docs}\n */\ntype ColorSpace = 0 | 1;\n\n\n/**\n * COLOR_SPACE - covers all reasonable and most un-reasonable cases\n * @implements nodejs.org/api/cli.html#force_color1-2-3\n * 0=no-color, 1=16, 2=256, 3=true-color\n */\nexport const COLOR_SPACE: ColorSpace = /* @__PURE__ */ (() => {\n try {\n const reap = cliReap();\n const forceColor = reap.any('FORCE_COLOR');\n // force colors\n if (forceColor === '' || (forceColor && !isNaN(Number(forceColor)) && Number(forceColor) > 0)) {\n return 1;\n }\n // no proc\n if (typeof process === 'undefined') { return 0; }\n\n // no color var\n if (reap.any('NO_COLOR') !== null\n || reap.any('NODE_DISABLE_COLORS') !== null\n || (/-mono|dumb/i).test(ENV['TERM'] ?? '')) { return 0; }\n\n // no tty\n if (!(!!process.stdout?.isTTY\n || (!!ENV['PM2_HOME'] && !!ENV['pm_id'])\n || ((GLOBAL_THIS as never)?.['Deno']\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ? (GLOBAL_THIS as any)?.['Deno']?.isatty(1)\n : !!process.stdout?.isTTY))) { return 0; }\n\n // cli\n if ((/^(false|never|no|0)$/i).test(`${reap.opt('color') ?? ''}`.trim())) {\n return 0;\n }\n return 1;\n } catch (_err) { /* ignore */ }\n // catch/error/fallthrough; plays it safe with no colors\n return 0;\n})();\n\n",
8
- "import {\n COLOR_ALL,\n COLOR_DEF,\n COLOR_SPACE,\n ESC,\n RESET,\n XTERM_DEF,\n} from './constants.ts';\n\ntype EmptyObject = Record<never, never>;\ntype StrNum = string | number;\n\n// fg=foreground\n// bg=background\n// ft=font\n// ue=underline\n// ie=inverse\n// re=reset\n// pr=previous (internal state)\ntype StyleKeys = 'fg' | 'bg' | 'ft' | 'ue' | 'ie' | 're' | 'pr';\ntype AnsiCodeTuple = [on: number, off: number, isCustom?: number];\ntype StyleState = Partial<Record<StyleKeys, AnsiCodeTuple>>;\ntype StainBase = 'black' | 'blue' | 'cyan' | 'green' | 'purple' | 'red' | 'white' | 'yellow';\nexport type StainAnsi = StainBase | `i${StainBase}`;\n\n// generate xterms: x0 to x255\ntype XtermKeysFactory<N extends number, Acc extends string[] = []> =\n Acc['length'] extends N\n ? Acc[number]\n : XtermKeysFactory<N, [...Acc, `x${Acc['length']}`]>;\nexport type StainXterm = XtermKeysFactory<256>;\n\nexport type Stain<\n C extends Record<string, number> = EmptyObject,\n X extends boolean = false,\n> =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((...args: any[])=> string) &\n {\n bg: Stain<C, X>;\n bold: Stain<C, X>;\n dim: Stain<C, X>;\n normal: Stain<C, X>;\n reset: Stain<C, X>;\n underline: Stain<C, X>;\n inverse: Stain<C, X>;\n } &\n // built-in named colors\n { [K in StainAnsi]: Stain<C, X> } &\n // xterm colors if enabled\n (X extends true ? { [K in StainXterm]: Stain<C, X> } : EmptyObject) &\n // custom colors from opts.colors\n (keyof C extends never ? EmptyObject : { [K in keyof C]: Stain<C, X> });\n\nexport type StainOpts<C extends Record<string, number> = EmptyObject> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n format?: (...args: any[])=> string;\n noColor?: boolean;\n xterm?: boolean;\n colors?: C;\n simpleEscape?: boolean;\n};\n\n\n/**\n * ansi escape-er\n * @note -> without handlin/escapin nesting it simplifies to: `\\x1b[${open}m${str}\\x1b[${close}m`\n * @param {string} str\n * @param {StrNum} open\n * @param {StrNum} close\n * @param {StrNum} fontReplace\n * @return {[type]}\n */\nconst escStain = (str: string, open: StrNum, close: StrNum, fontReplace?: StrNum) => {\n str = typeof str !== 'string' ? String(str) : str; // just in case\n const openStr = ESC + `[${open}m`;\n const closeStr = ESC + `[${close}m`;\n const closeLen = closeStr.length;\n const parts: string[] = [];\n let cursor = 0;\n let seqCount = 0; // count of close sequences for alternating styles\n let resetCount = 0;\n while (true) {\n const idxClose = str.indexOf(closeStr, cursor);\n // next global reset unless it is the reset style\n const idxReset = open === 0 ? -1 : str.indexOf(RESET, cursor);\n let idx = -1;\n let isReset = false;\n // which comes first, cur close sequence or a global reset\n if (idxClose >= 0) {\n if (idxReset >= 0 && idxReset < idxClose) {\n idx = idxReset;\n isReset = true;\n } else {\n idx = idxClose;\n }\n } else if (idxReset >= 0) {\n idx = idxReset;\n isReset = true;\n } else {\n break;\n }\n parts.push(str.substring(cursor, idx));\n\n if (isReset) {\n parts.push(RESET);\n resetCount++;\n // after every second reset restore style\n // e.g: stain.red(`text ${stain.reset('reset')} text`)\n if (resetCount % 2 === 0) { parts.push(openStr); }\n cursor = idx + RESET.length;\n continue;\n }\n\n // a closing sequence; need to determine the correct replacement\n const segment = str.substring(cursor, idx);\n const openInSeg = segment.split(openStr).length;\n const closeInSeg = segment.split(closeStr).length;\n\n let rep = openStr;\n // this roundabout logic is for font styles nesting\n // e.g: stain.bold(`bold ${stain.normal('norm')} bold`)\n if (fontReplace !== undefined && openInSeg <= closeInSeg) {\n // use seqCount to treat the first closeStr as an 'opener' and the second as the 'closer'\n seqCount++;\n const on = ESC + `[${fontReplace}m`; // outer style's open code\n const off = ESC + `[${close}m`; // inner style's open/close code\n rep = (seqCount % 2 === 1) ? on + off : off + on;\n }\n\n parts.push(rep);\n cursor = idx + closeLen;\n }\n parts.push(str.substring(cursor));\n return openStr + parts.join('') + closeStr;\n};\n\n/**\n * simple escape that doesn't handle nested ansi; 1.5-4x+ faster depending on style complexity\n * nested example: stain.red.bold('Bold ' + stain.green.normal('normal') + ' Bold')\n * @param {string} str\n * @param {StrNum} open\n * @param {StrNum} close\n * @param {StrNum} _fontReplace\n * @return {[type]}\n */\nconst escStainSimple = (str: string, open: StrNum, close: StrNum, _fontReplace?: StrNum) =>\n `${ESC}[${open}m` + (typeof str !== 'string' ? String(str) : str) + `${ESC}[${close}m`;\n\n\n/**\n * a nice node typed color api, that isn't \"slow\" at\n * @perf ~6million iter/s - NO_COLOR=~186million iter/s\n */\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts?: StainOpts<C> & { xterm?: false }\n): Stain<C, false>;\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts: StainOpts<C> & { xterm: true }\n): Stain<C, true>;\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts: StainOpts<C> = {},\n): Stain<C, boolean> {\n const {\n colors,\n xterm,\n format = (...args) => args.length > 1\n ? args.join(' ')\n : typeof args[0] !== 'string' ? JSON.stringify(args[0]) : args[0],\n noColor = COLOR_SPACE === 0,\n simpleEscape = false,\n } = opts;\n\n const colorAll: Record<string, number> = colors\n ? {...(xterm ? COLOR_ALL : COLOR_DEF), ...colors}\n : (xterm ? COLOR_ALL : COLOR_DEF);\n\n // provies the same api, but doesn't add color, and much, much, much, faster\n if (noColor) {\n // wrapped to avoid poluting the proto on passed in format\n const ncFormat = opts?.format ? (...args: unknown[]) => format(...args) : format;\n for (const prop of Object.keys(colorAll)\n .concat(['bg', 'bold', 'dim', 'normal', 'reset', 'underline'])) {\n // @ts-expect-error not typable\n ncFormat[prop] = ncFormat;\n }\n return ncFormat as Stain<C, boolean>;\n }\n const escFn = simpleEscape ? escStainSimple : escStain;\n // xterm look-up map to determin if xterm\n // @see {@link https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit}\n const color256: Record<string, number> = colors\n ? (xterm ? {...XTERM_DEF, ...colors} : colors)\n : (xterm ? XTERM_DEF : {});\n\n // our main stain\n const colorProxy = (cur: StyleState = {}) =>\n new Proxy((text: string) => text, {\n get: (_target, prop: string) => {\n const nxt = {...cur};\n const fg = nxt.fg;\n if (colorAll[prop] !== undefined) { // xterm logic\n // keeps track of previous for bg logic\n nxt.pr = [\n fg?.[0] ?? colorAll[prop],\n 39,\n fg?.[2] ?? (color256[prop] !== undefined ? 1 : 0),\n ];\n nxt.fg = [colorAll[prop], 39, color256[prop] !== undefined ? 1 : 0];\n } else if (prop === 'bg' && fg) { // bg/fg logic\n nxt.bg = [fg[0] + (fg[2] || fg[1] === 49 ? 0 : 10), 49, fg[2]] as AnsiCodeTuple;\n // @ts-expect-error to make this type easier we ignore undefined\n if (nxt.pr?.[1] === 39) { nxt.fg = fg[0] === nxt.pr[0] ? undefined : [...nxt.pr]; }\n } else { // font style logic\n const fo = prop === 'bold' ? 1 : prop === 'dim' ? 2 : prop === 'normal' ? 22 : null;\n if (fo) {\n nxt.ft = [fo, 22, 0];\n } else if (prop === 'underline') {\n nxt.ue = [4, 24, 0];\n } else if (prop === 'inverse') {\n nxt.ie = [7, 27, 0];\n } else if (prop === 'reset') {\n nxt.re = [0, 0, 0];\n }\n }\n return colorProxy(nxt);\n },\n apply: (_target, _thisArg, args: string[]) => {\n let res = format(...args);\n // a loop here will dec perf by 6x\n if (cur.re) { return escFn(res, 0, 0); }\n if (cur.fg) { res = escFn(res, (cur.fg[2] ? '38;5;' : '') + cur.fg[0], cur.fg[1]); }\n if (cur.bg) { res = escFn(res, (cur.bg[2] ? '48;5;' : '') + cur.bg[0], cur.bg[1]); }\n if (cur.ft) { res = escFn(res, cur.ft[0], cur.ft[1], cur.ft[0]); }\n if (cur.ue) { res = escFn(res, cur.ue[0], cur.ue[1]); }\n if (cur.ie) { res = escFn(res, cur.ie[0], cur.ie[1]); }\n return res;\n },\n });\n return colorProxy() as Stain<C, boolean>;\n}\n\nconst stain = /* @__PURE__ */ (() => createStain({ xterm: true }))();\n\nexport default stain;\nexport {\n stain,\n createStain,\n};\n"
7
+ "import cliReap from 'cli-reap';\nimport {\n ENV,\n GLOBAL_THIS,\n} from 'globables';\n\nexport const ESC = '\\x1B';\nexport const RESET = '\\x1B[0m';\n\nexport const ANSI = {\n black: 30,\n iblack: 90,\n red: 31,\n ired: 91,\n green: 32,\n igreen: 92,\n yellow: 33,\n iyellow: 93,\n blue: 34,\n iblue: 94,\n purple: 35,\n ipurple: 95,\n cyan: 36,\n icyan: 96,\n white: 37,\n iwhite: 97,\n};\nexport const XTERM = Object.fromEntries(\n Array(256).fill(0).map((_v, i) => [`x${i}`, i] as [string, number]),\n);\nexport const COLORS = {...ANSI, ...XTERM};\n\n\n/**\n * color support level\n * @default 3\n * @see {@link https://nodejs.org/api/cli.html#force_color1-2-3|Node.js FORCE_COLOR docs}\n */\ntype ColorSpace = 0 | 1;\n\n\n/**\n * COLOR_SPACE - covers all reasonable and most un-reasonable cases\n * @implements nodejs.org/api/cli.html#force_color1-2-3\n * 0=no-color, 1=16, 2=256, 3=true-color\n */\nexport const COLOR_SPACE: ColorSpace = /* @__PURE__ */ (() => {\n try {\n const reap = cliReap();\n const forceColor = reap.any('FORCE_COLOR');\n // force colors\n if (forceColor === '' || (forceColor && !isNaN(Number(forceColor)) && Number(forceColor) > 0)) {\n return 1;\n }\n // no proc\n if (typeof process === 'undefined') { return 0; }\n\n // no color var\n if (reap.any('NO_COLOR') !== null\n || reap.any('NODE_DISABLE_COLORS') !== null\n || (/-mono|dumb/i).test(ENV['TERM'] ?? '')) { return 0; }\n\n // no tty\n if (!(!!process.stdout?.isTTY\n || (!!ENV['PM2_HOME'] && !!ENV['pm_id'])\n || ((GLOBAL_THIS as never)?.['Deno']\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ? (GLOBAL_THIS as any)?.['Deno']?.isatty(1)\n : !!process.stdout?.isTTY))) { return 0; }\n\n // cli\n if ((/^(false|never|no|0)$/i).test(`${reap.opt('color') ?? ''}`.trim())) {\n return 0;\n }\n return 1;\n } catch (_err) { /* ignore */ }\n // catch/error/fallthrough; plays it safe with no colors\n return 0;\n})();\n\n",
8
+ "import {\n COLORS,\n ANSI,\n COLOR_SPACE,\n ESC,\n RESET,\n XTERM,\n} from './constants.ts';\n\ntype EmptyObject = Record<never, never>;\ntype StrNum = string | number;\n\n// fg=foreground\n// bg=background\n// ft=font\n// ue=underline\n// ie=inverse\n// re=reset\n// pr=previous (internal state)\ntype StyleKeys = 'fg' | 'bg' | 'ft' | 'ue' | 'ie' | 're' | 'pr';\ntype AnsiCodeTuple = [on: number, off: number, isCustom?: number];\ntype StyleState = Partial<Record<StyleKeys, AnsiCodeTuple>>;\ntype StainBase = 'black' | 'blue' | 'cyan' | 'green' | 'purple' | 'red' | 'white' | 'yellow';\nexport type StainAnsi = StainBase | `i${StainBase}`;\n\n// generate xterms: x0 to x255\ntype XtermKeysFactory<N extends number, Acc extends string[] = []> =\n Acc['length'] extends N\n ? Acc[number]\n : XtermKeysFactory<N, [...Acc, `x${Acc['length']}`]>;\nexport type StainXterm = XtermKeysFactory<256>;\n\nexport type Stain<\n C extends Record<string, number> = EmptyObject,\n X extends boolean = false,\n> =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((...args: any[])=> string) &\n {\n bg: Stain<C, X>;\n bold: Stain<C, X>;\n dim: Stain<C, X>;\n normal: Stain<C, X>;\n reset: Stain<C, X>;\n underline: Stain<C, X>;\n inverse: Stain<C, X>;\n } &\n // built-in named colors\n { [K in StainAnsi]: Stain<C, X> } &\n // xterm colors if enabled\n (X extends true ? { [K in StainXterm]: Stain<C, X> } : EmptyObject) &\n // custom colors from opts.colors\n (keyof C extends never ? EmptyObject : { [K in keyof C]: Stain<C, X> });\n\nexport type StainOpts<C extends Record<string, number> = EmptyObject> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n format?: (...args: any[])=> string;\n noColor?: boolean;\n xterm?: boolean;\n colors?: C;\n simpleEscape?: boolean;\n};\n\n\n/**\n * ansi escape-er\n * @note -> without handlin/escapin nesting it simplifies to: `\\x1b[${open}m${str}\\x1b[${close}m`\n * @param {string} str\n * @param {StrNum} open\n * @param {StrNum} close\n * @param {StrNum} fontReplace\n * @return {[type]}\n */\nconst escStain = (str: string, open: StrNum, close: StrNum, fontReplace?: StrNum) => {\n str = typeof str !== 'string' ? String(str) : str; // just in case\n const openStr = ESC + `[${open}m`;\n const closeStr = ESC + `[${close}m`;\n const closeLen = closeStr.length;\n const parts: string[] = [];\n let cursor = 0;\n let seqCount = 0; // count of close sequences for alternating styles\n let resetCount = 0;\n while (true) {\n const idxClose = str.indexOf(closeStr, cursor);\n // next global reset unless it is the reset style\n const idxReset = open === 0 ? -1 : str.indexOf(RESET, cursor);\n let idx = -1;\n let isReset = false;\n // which comes first, cur close sequence or a global reset\n if (idxClose >= 0) {\n if (idxReset >= 0 && idxReset < idxClose) {\n idx = idxReset;\n isReset = true;\n } else {\n idx = idxClose;\n }\n } else if (idxReset >= 0) {\n idx = idxReset;\n isReset = true;\n } else {\n break;\n }\n parts.push(str.substring(cursor, idx));\n\n if (isReset) {\n parts.push(RESET);\n resetCount++;\n // after every second reset restore style\n // e.g: stain.red(`text ${stain.reset('reset')} text`)\n if (resetCount % 2 === 0) { parts.push(openStr); }\n cursor = idx + RESET.length;\n continue;\n }\n\n // a closing sequence; need to determine the correct replacement\n const segment = str.substring(cursor, idx);\n const openInSeg = segment.split(openStr).length;\n const closeInSeg = segment.split(closeStr).length;\n\n let rep = openStr;\n // this roundabout logic is for font styles nesting\n // e.g: stain.bold(`bold ${stain.normal('norm')} bold`)\n if (fontReplace !== undefined && openInSeg <= closeInSeg) {\n // use seqCount to treat the first closeStr as an 'opener' and the second as the 'closer'\n seqCount++;\n const on = ESC + `[${fontReplace}m`; // outer style's open code\n const off = ESC + `[${close}m`; // inner style's open/close code\n rep = (seqCount % 2 === 1) ? on + off : off + on;\n }\n\n parts.push(rep);\n cursor = idx + closeLen;\n }\n parts.push(str.substring(cursor));\n return openStr + parts.join('') + closeStr;\n};\n\n/**\n * simple escape that doesn't handle nested ansi; 1.5-4x+ faster depending on style complexity\n * nested example: stain.red.bold('Bold ' + stain.green.normal('normal') + ' Bold')\n * @param {string} str\n * @param {StrNum} open\n * @param {StrNum} close\n * @param {StrNum} _fontReplace\n * @return {[type]}\n */\nconst escStainSimple = (str: string, open: StrNum, close: StrNum, _fontReplace?: StrNum) =>\n `${ESC}[${open}m` + (typeof str !== 'string' ? String(str) : str) + `${ESC}[${close}m`;\n\n\n/**\n * a nice node typed color api, that isn't \"slow\" at\n * @perf ~6million iter/s - NO_COLOR=~186million iter/s\n */\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts?: StainOpts<C> & { xterm?: false }\n): Stain<C, false>;\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts: StainOpts<C> & { xterm: true }\n): Stain<C, true>;\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts: StainOpts<C> = {},\n): Stain<C, boolean> {\n const {\n colors,\n xterm,\n format = (...args) => args.length > 1\n ? args.join(' ')\n : typeof args[0] !== 'string' ? JSON.stringify(args[0]) : args[0],\n noColor = COLOR_SPACE === 0,\n simpleEscape = false,\n } = opts;\n\n const colorAll: Record<string, number> = colors\n ? {...(xterm ? COLORS : ANSI), ...colors}\n : (xterm ? COLORS : ANSI);\n\n // provies the same api, but doesn't add color, and much, much, much, faster\n if (noColor) {\n // wrapped to avoid poluting the proto on passed in format\n const ncFormat = opts?.format ? (...args: unknown[]) => format(...args) : format;\n for (const prop of Object.keys(colorAll)\n .concat(['bg', 'bold', 'dim', 'normal', 'reset', 'underline'])) {\n // @ts-expect-error not typable\n ncFormat[prop] = ncFormat;\n }\n return ncFormat as Stain<C, boolean>;\n }\n const escFn = simpleEscape ? escStainSimple : escStain;\n // xterm look-up map to determin if xterm\n // @see {@link https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit}\n const color256: Record<string, number> = colors\n ? (xterm ? {...XTERM, ...colors} : colors)\n : (xterm ? XTERM : {});\n\n // our main stain\n const colorProxy = (cur: StyleState = {}) =>\n new Proxy((text: string) => text, {\n get: (_target, prop: string) => {\n const nxt = {...cur};\n const fg = nxt.fg;\n if (colorAll[prop] !== undefined) { // xterm logic\n // keeps track of previous for bg logic\n nxt.pr = [\n fg?.[0] ?? colorAll[prop],\n 39,\n fg?.[2] ?? (color256[prop] !== undefined ? 1 : 0),\n ];\n nxt.fg = [colorAll[prop], 39, color256[prop] !== undefined ? 1 : 0];\n } else if (prop === 'bg' && fg) { // bg/fg logic\n nxt.bg = [fg[0] + (fg[2] || fg[1] === 49 ? 0 : 10), 49, fg[2]] as AnsiCodeTuple;\n // @ts-expect-error to make this type easier we ignore undefined\n if (nxt.pr?.[1] === 39) { nxt.fg = fg[0] === nxt.pr[0] ? undefined : [...nxt.pr]; }\n } else { // font style logic\n const fo = prop === 'bold' ? 1 : prop === 'dim' ? 2 : prop === 'normal' ? 22 : null;\n if (fo) {\n nxt.ft = [fo, 22, 0];\n } else if (prop === 'underline') {\n nxt.ue = [4, 24, 0];\n } else if (prop === 'inverse') {\n nxt.ie = [7, 27, 0];\n } else if (prop === 'reset') {\n nxt.re = [0, 0, 0];\n }\n }\n return colorProxy(nxt);\n },\n apply: (_target, _thisArg, args: string[]) => {\n let res = format(...args);\n // a loop here will dec perf by 6x; and a switch tends to be slower\n if (cur.re) { return escFn(res, 0, 0); }\n if (cur.fg) { res = escFn(res, (cur.fg[2] ? '38;5;' : '') + cur.fg[0], cur.fg[1]); }\n if (cur.bg) { res = escFn(res, (cur.bg[2] ? '48;5;' : '') + cur.bg[0], cur.bg[1]); }\n if (cur.ft) { res = escFn(res, cur.ft[0], cur.ft[1], cur.ft[0]); }\n if (cur.ue) { res = escFn(res, cur.ue[0], cur.ue[1]); }\n if (cur.ie) { res = escFn(res, cur.ie[0], cur.ie[1]); }\n return res;\n },\n });\n return colorProxy() as Stain<C, boolean>;\n}\n\nconst stain = /* @__PURE__ */ (() => createStain({ xterm: true }))();\n\nexport default stain;\nexport {\n stain,\n createStain,\n ANSI,\n COLOR_SPACE,\n ESC,\n RESET,\n XTERM,\n};\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "F63994EEE794F26A64756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "8A224414D72D97F164756E2164756E21",
12
12
  "names": []
13
13
  }
package/dist/index.d.cts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ANSI, COLOR_SPACE, ESC, RESET, XTERM } from './constants.ts';
1
2
  type EmptyObject = Record<never, never>;
2
3
  type StainBase = 'black' | 'blue' | 'cyan' | 'green' | 'purple' | 'red' | 'white' | 'yellow';
3
4
  export type StainAnsi = StainBase | `i${StainBase}`;
@@ -37,5 +38,5 @@ declare function createStain<C extends Record<string, number> = EmptyObject>(opt
37
38
  }): Stain<C, true>;
38
39
  declare const stain: Stain<EmptyObject, true>;
39
40
  export default stain;
40
- export { stain, createStain, };
41
+ export { stain, createStain, ANSI, COLOR_SPACE, ESC, RESET, XTERM, };
41
42
  //# sourceMappingURL=index.d.ts.map
package/dist/index.d.mts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ANSI, COLOR_SPACE, ESC, RESET, XTERM } from './constants.ts';
1
2
  type EmptyObject = Record<never, never>;
2
3
  type StainBase = 'black' | 'blue' | 'cyan' | 'green' | 'purple' | 'red' | 'white' | 'yellow';
3
4
  export type StainAnsi = StainBase | `i${StainBase}`;
@@ -37,5 +38,5 @@ declare function createStain<C extends Record<string, number> = EmptyObject>(opt
37
38
  }): Stain<C, true>;
38
39
  declare const stain: Stain<EmptyObject, true>;
39
40
  export default stain;
40
- export { stain, createStain, };
41
+ export { stain, createStain, ANSI, COLOR_SPACE, ESC, RESET, XTERM, };
41
42
  //# sourceMappingURL=index.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ANSI, COLOR_SPACE, ESC, RESET, XTERM } from './constants.ts';
1
2
  type EmptyObject = Record<never, never>;
2
3
  type StainBase = 'black' | 'blue' | 'cyan' | 'green' | 'purple' | 'red' | 'white' | 'yellow';
3
4
  export type StainAnsi = StainBase | `i${StainBase}`;
@@ -37,5 +38,5 @@ declare function createStain<C extends Record<string, number> = EmptyObject>(opt
37
38
  }): Stain<C, true>;
38
39
  declare const stain: Stain<EmptyObject, true>;
39
40
  export default stain;
40
- export { stain, createStain, };
41
+ export { stain, createStain, ANSI, COLOR_SPACE, ESC, RESET, XTERM, };
41
42
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,KAAK,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAaxC,KAAK,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC7F,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAGpD,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE,IAC/D,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,GAAG,CAAC,MAAM,CAAC,GACX,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,MAAM,KAAK,CACf,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,EAC9C,CAAC,SAAS,OAAO,GAAG,KAAK,IAGzB,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAI,MAAM,CAAC,GAC3B;IACE,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACtB,GAED;KAAG,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;CAAE,GAEjC,CAAC,CAAC,SAAS,IAAI,GAAG;KAAG,CAAC,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;CAAE,GAAG,WAAW,CAAC,GAEnE,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,WAAW,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;CAAE,CAAC,CAAC;AAE1E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,IAAI;IAEtE,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAI,MAAM,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAyFF;;;GAGG;AACH,iBAAS,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,EACjE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACtC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACnB,iBAAS,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,EACjE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACnC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAmFlB,QAAA,MAAM,KAAK,0BAAyD,CAAC;AAErE,eAAe,KAAK,CAAC;AACrB,OAAO,EACL,KAAK,EACL,WAAW,GACZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -128,7 +128,7 @@ var ENV2 = /* @__PURE__ */ (() => {
128
128
  // src/constants.ts
129
129
  var ESC = "\x1B";
130
130
  var RESET = "\x1B[0m";
131
- var COLOR_DEF = {
131
+ var ANSI = {
132
132
  black: 30,
133
133
  iblack: 90,
134
134
  red: 31,
@@ -146,8 +146,8 @@ var COLOR_DEF = {
146
146
  white: 37,
147
147
  iwhite: 97
148
148
  };
149
- var XTERM_DEF = Object.fromEntries(Array(256).fill(0).map((_v, i) => [`x${i}`, i]));
150
- var COLOR_ALL = { ...COLOR_DEF, ...XTERM_DEF };
149
+ var XTERM = Object.fromEntries(Array(256).fill(0).map((_v, i) => [`x${i}`, i]));
150
+ var COLORS = { ...ANSI, ...XTERM };
151
151
  var COLOR_SPACE = /* @__PURE__ */ (() => {
152
152
  try {
153
153
  const reap = src_default();
@@ -235,7 +235,7 @@ function createStain(opts = {}) {
235
235
  noColor = COLOR_SPACE === 0,
236
236
  simpleEscape = false
237
237
  } = opts;
238
- const colorAll = colors ? { ...xterm ? COLOR_ALL : COLOR_DEF, ...colors } : xterm ? COLOR_ALL : COLOR_DEF;
238
+ const colorAll = colors ? { ...xterm ? COLORS : ANSI, ...colors } : xterm ? COLORS : ANSI;
239
239
  if (noColor) {
240
240
  const ncFormat = opts?.format ? (...args) => format(...args) : format;
241
241
  for (const prop of Object.keys(colorAll).concat(["bg", "bold", "dim", "normal", "reset", "underline"])) {
@@ -244,7 +244,7 @@ function createStain(opts = {}) {
244
244
  return ncFormat;
245
245
  }
246
246
  const escFn = simpleEscape ? escStainSimple : escStain;
247
- const color256 = colors ? xterm ? { ...XTERM_DEF, ...colors } : colors : xterm ? XTERM_DEF : {};
247
+ const color256 = colors ? xterm ? { ...XTERM, ...colors } : colors : xterm ? XTERM : {};
248
248
  const colorProxy = (cur = {}) => new Proxy((text) => text, {
249
249
  get: (_target, prop) => {
250
250
  const nxt = { ...cur };
@@ -305,8 +305,13 @@ var src_default2 = stain;
305
305
  export {
306
306
  stain,
307
307
  src_default2 as default,
308
- createStain
308
+ createStain,
309
+ XTERM,
310
+ RESET,
311
+ ESC,
312
+ COLOR_SPACE,
313
+ ANSI
309
314
  };
310
315
 
311
- //# debugId=4ADFA3652E740A5A64756E2164756E21
316
+ //# debugId=1AFEF64166D1452A64756E2164756E21
312
317
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -4,10 +4,10 @@
4
4
  "sourcesContent": [
5
5
  "// node_modules/globables/dist/index.js\nvar GLOBAL_THIS = /* @__PURE__ */ (() => typeof globalThis === \"object\" ? globalThis : (() => {\n (function(Object2) {\n function get() {\n const e = this || self;\n e.globalThis = e, delete Object2.prototype._T_;\n }\n typeof globalThis != \"object\" && (this ? get() : (Object2.defineProperty(Object2.prototype, \"_T_\", { configurable: true, get }), _T_));\n })(Object);\n return typeof globalThis === \"object\" ? globalThis : {};\n})())();\nvar ARGV = /* @__PURE__ */ (() => {\n var _a, _b, _c, _d;\n return typeof process === \"undefined\" ? typeof scriptArgs !== \"undefined\" ? scriptArgs : [] : (_d = (GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"Deno\"]) ? (_c = (_a = GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"Deno\"]) == null ? undefined : _a.args) != null ? _c : ((_b = process[\"args\"]) == null ? undefined : _b.length) ? process[\"args\"] : process[\"argv\"] : process[\"argv\"]) != null ? _d : [];\n})();\nvar ENV = /* @__PURE__ */ (() => {\n var _a, _b, _c, _d;\n return typeof process === \"undefined\" ? typeof ((_a = GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"std\"]) == null ? undefined : _a.getenviron) === \"function\" ? (_d = (_c = (_b = GLOBAL_THIS[\"std\"]).getenviron) == null ? undefined : _c.call(_b)) != null ? _d : {} : {} : !(GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"Deno\"]) ? process[\"env\"] : (() => {\n var _a2, _b2, _c2, _d2, _e, _f;\n try {\n return (_f = (_c2 = (_b2 = (_a2 = GLOBAL_THIS == null ? undefined : GLOBAL_THIS[\"Deno\"]) == null ? undefined : _a2.env) == null ? undefined : _b2.toObject) == null ? undefined : _c2.call(_b2)) != null ? _f : ((_d2 = process[\"env\"]) == null ? undefined : _d2.toObject) ? (_e = process[\"env\"]) == null ? undefined : _e.toObject() : process[\"env\"];\n } catch (_err) {}\n return {};\n })();\n})();\n\n// src/index.ts\nvar hasArgv = (keys, argv = ARGV) => !argv?.length ? false : !![keys].flat().filter(Boolean).find((key) => new RegExp(`(^|[^\\\\S])(?:--|-)${key}(=|\\\\s|$)`, \"i\").test(argv.join(\" \")));\nvar quoteNorm = (val) => /^['\"]/.test(val) ? val?.replace(/^(['\"])(.*)(['\"])$/, (m, q1, body, q2) => q1 === q2 ? quoteNorm(body) : m) : val;\nvar isFlag = (val) => /^-+\\w/.test(val ?? \"\") && Number.isNaN(Number(val));\nvar isTerm = (val) => val?.trim() === \"--\";\nvar toArgvArray = (key, strict = false, _keys = Array.isArray(key) ? key : [key]) => strict ? _keys : _keys.map((item) => [\n item,\n item.replaceAll(...item.includes(\"_\") ? [\"_\", \"-\"] : [\"-\", \"_\"])\n]).flat();\nvar cliReap = (argv = ARGV, env = ENV, gthis = GLOBAL_THIS, strict = false) => {\n const slice = argv[0] === \"node\" ? 2 : argv[1] === \"run\" ? 3 : isFlag(argv[0]) ? 0 : 1;\n const cur = argv.map(String).slice(slice);\n const cmd = argv.map(String).slice(0, slice);\n const end = !!cur.find(isTerm);\n const getArgv = (keys, optValue = false) => {\n const keyList = toArgvArray(keys, strict);\n for (let i = 0;i < cur.length; i++) {\n const token = cur[i];\n if (isTerm(token)) {\n break;\n }\n if (!token || !isFlag(token)) {\n continue;\n }\n const hasEq = /=/.test(token);\n const part = keyList.map((key) => {\n const [k, ...parts] = token.replace(isFlag(key) ? /(?!)/ : /^\\s*?-+/, \"\").split(hasEq && optValue ? `${key}=` : new RegExp(`^${key}$`, strict ? \"\" : \"i\"));\n return !k?.length ? parts.join(key) : k === key ? key : null;\n }).find((v) => v !== null) ?? 0;\n if (part === 0) {\n continue;\n }\n if (!optValue) {\n cur.splice(i, 1);\n return true;\n }\n if (hasEq) {\n cur.splice(i, 1);\n return quoteNorm(part);\n }\n const next = cur[i + 1];\n if (next !== undefined && !isTerm(next) && !isFlag(next)) {\n cur.splice(i, 2);\n return quoteNorm(next);\n }\n }\n return null;\n };\n const getEnv = (keys) => toArgvArray(keys, strict).map((key) => (key in env) ? env[key] : (key in gthis) ? gthis[key] : null).filter(Boolean)[0] ?? null;\n const getFlag = (keys) => getArgv(keys, false) !== null ? true : null;\n const getOpt = (keys) => getArgv(keys, true);\n const getAny = (keys, defaultValue) => getOpt(keys) ?? getFlag(keys) ?? getEnv(keys) ?? (defaultValue !== undefined ? defaultValue : null);\n const getPos = () => {\n const result = [];\n for (let i = 0;i < cur.length; i++) {\n const token = cur[i];\n if (!token) {\n continue;\n }\n if (isTerm(token)) {\n return [...result, ...cur.slice(i + 1)];\n }\n if (isFlag(token)) {\n continue;\n }\n result.push(token);\n }\n return result;\n };\n return {\n any: getAny,\n cmd: () => cmd,\n cur: () => cur,\n end: () => end,\n env: getEnv,\n flag: getFlag,\n opt: getOpt,\n pos: getPos\n };\n};\nvar cliReapStrict = (argv = ARGV, procEnv = ENV, gthis = GLOBAL_THIS) => cliReap(argv, procEnv, gthis, true);\nvar src_default = cliReap;\nexport {\n quoteNorm,\n isFlag,\n hasArgv,\n src_default as default,\n cliReapStrict,\n cliReap,\n ENV,\n ARGV\n};\n\n//# debugId=D346F45C437553B064756E2164756E21\n//# sourceMappingURL=index.js.map\n",
6
6
  "// src/index.ts\nvar GLOBAL_THIS = /* @__PURE__ */ (() => typeof globalThis === \"object\" ? globalThis : (() => {\n !(function(Object2) {\n function get() {\n const e = this || self;\n e.globalThis = e, delete Object2.prototype._T_;\n }\n \"object\" != typeof globalThis && (this ? get() : (Object2.defineProperty(Object2.prototype, \"_T_\", { configurable: true, get }), _T_));\n })(Object);\n return typeof globalThis === \"object\" ? globalThis : {};\n})())();\nvar ARGV = /* @__PURE__ */ (() => {\n var _a, _b, _c, _d;\n return typeof process === \"undefined\" ? typeof scriptArgs !== \"undefined\" ? scriptArgs : [] : (_d = (GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"Deno\"]) ? (_c = (_a = GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"Deno\"]) == null ? void 0 : _a.args) != null ? _c : ((_b = process[\"args\"]) == null ? void 0 : _b.length) ? process[\"args\"] : process[\"argv\"] : process[\"argv\"]) != null ? _d : [];\n})();\nvar ARGS = ARGV;\nvar ENV = /* @__PURE__ */ (() => {\n var _a, _b, _c, _d;\n return typeof process === \"undefined\" ? typeof ((_a = GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"std\"]) == null ? void 0 : _a.getenviron) === \"function\" ? (_d = (_c = (_b = GLOBAL_THIS[\"std\"]).getenviron) == null ? void 0 : _c.call(_b)) != null ? _d : {} : {} : !(GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"Deno\"]) ? process[\"env\"] : (() => {\n var _a2, _b2, _c2, _d2, _e, _f;\n try {\n return (_f = (_c2 = (_b2 = (_a2 = GLOBAL_THIS == null ? void 0 : GLOBAL_THIS[\"Deno\"]) == null ? void 0 : _a2.env) == null ? void 0 : _b2.toObject) == null ? void 0 : _c2.call(_b2)) != null ? _f : ((_d2 = process[\"env\"]) == null ? void 0 : _d2.toObject) ? (_e = process[\"env\"]) == null ? void 0 : _e.toObject() : process[\"env\"];\n } catch (_err) {\n }\n return {};\n })();\n})();\nexport {\n ARGS,\n ARGV,\n ENV,\n GLOBAL_THIS\n};\n//# sourceMappingURL=index.js.map\n",
7
- "import cliReap from 'cli-reap';\nimport {\n ENV,\n GLOBAL_THIS,\n} from 'globables';\n\nexport const ESC = '\\x1B';\nexport const RESET = '\\x1B[0m';\n\nexport const COLOR_DEF = {\n black: 30,\n iblack: 90,\n red: 31,\n ired: 91,\n green: 32,\n igreen: 92,\n yellow: 33,\n iyellow: 93,\n blue: 34,\n iblue: 94,\n purple: 35,\n ipurple: 95,\n cyan: 36,\n icyan: 96,\n white: 37,\n iwhite: 97,\n};\nexport const XTERM_DEF = Object.fromEntries(\n Array(256).fill(0).map((_v, i) => [`x${i}`, i] as [string, number]),\n);\nexport const COLOR_ALL = {...COLOR_DEF, ...XTERM_DEF};\n\n\n/**\n * color support level\n * @default 3\n * @see {@link https://nodejs.org/api/cli.html#force_color1-2-3|Node.js FORCE_COLOR docs}\n */\ntype ColorSpace = 0 | 1;\n\n\n/**\n * COLOR_SPACE - covers all reasonable and most un-reasonable cases\n * @implements nodejs.org/api/cli.html#force_color1-2-3\n * 0=no-color, 1=16, 2=256, 3=true-color\n */\nexport const COLOR_SPACE: ColorSpace = /* @__PURE__ */ (() => {\n try {\n const reap = cliReap();\n const forceColor = reap.any('FORCE_COLOR');\n // force colors\n if (forceColor === '' || (forceColor && !isNaN(Number(forceColor)) && Number(forceColor) > 0)) {\n return 1;\n }\n // no proc\n if (typeof process === 'undefined') { return 0; }\n\n // no color var\n if (reap.any('NO_COLOR') !== null\n || reap.any('NODE_DISABLE_COLORS') !== null\n || (/-mono|dumb/i).test(ENV['TERM'] ?? '')) { return 0; }\n\n // no tty\n if (!(!!process.stdout?.isTTY\n || (!!ENV['PM2_HOME'] && !!ENV['pm_id'])\n || ((GLOBAL_THIS as never)?.['Deno']\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ? (GLOBAL_THIS as any)?.['Deno']?.isatty(1)\n : !!process.stdout?.isTTY))) { return 0; }\n\n // cli\n if ((/^(false|never|no|0)$/i).test(`${reap.opt('color') ?? ''}`.trim())) {\n return 0;\n }\n return 1;\n } catch (_err) { /* ignore */ }\n // catch/error/fallthrough; plays it safe with no colors\n return 0;\n})();\n\n",
8
- "import {\n COLOR_ALL,\n COLOR_DEF,\n COLOR_SPACE,\n ESC,\n RESET,\n XTERM_DEF,\n} from './constants.ts';\n\ntype EmptyObject = Record<never, never>;\ntype StrNum = string | number;\n\n// fg=foreground\n// bg=background\n// ft=font\n// ue=underline\n// ie=inverse\n// re=reset\n// pr=previous (internal state)\ntype StyleKeys = 'fg' | 'bg' | 'ft' | 'ue' | 'ie' | 're' | 'pr';\ntype AnsiCodeTuple = [on: number, off: number, isCustom?: number];\ntype StyleState = Partial<Record<StyleKeys, AnsiCodeTuple>>;\ntype StainBase = 'black' | 'blue' | 'cyan' | 'green' | 'purple' | 'red' | 'white' | 'yellow';\nexport type StainAnsi = StainBase | `i${StainBase}`;\n\n// generate xterms: x0 to x255\ntype XtermKeysFactory<N extends number, Acc extends string[] = []> =\n Acc['length'] extends N\n ? Acc[number]\n : XtermKeysFactory<N, [...Acc, `x${Acc['length']}`]>;\nexport type StainXterm = XtermKeysFactory<256>;\n\nexport type Stain<\n C extends Record<string, number> = EmptyObject,\n X extends boolean = false,\n> =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((...args: any[])=> string) &\n {\n bg: Stain<C, X>;\n bold: Stain<C, X>;\n dim: Stain<C, X>;\n normal: Stain<C, X>;\n reset: Stain<C, X>;\n underline: Stain<C, X>;\n inverse: Stain<C, X>;\n } &\n // built-in named colors\n { [K in StainAnsi]: Stain<C, X> } &\n // xterm colors if enabled\n (X extends true ? { [K in StainXterm]: Stain<C, X> } : EmptyObject) &\n // custom colors from opts.colors\n (keyof C extends never ? EmptyObject : { [K in keyof C]: Stain<C, X> });\n\nexport type StainOpts<C extends Record<string, number> = EmptyObject> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n format?: (...args: any[])=> string;\n noColor?: boolean;\n xterm?: boolean;\n colors?: C;\n simpleEscape?: boolean;\n};\n\n\n/**\n * ansi escape-er\n * @note -> without handlin/escapin nesting it simplifies to: `\\x1b[${open}m${str}\\x1b[${close}m`\n * @param {string} str\n * @param {StrNum} open\n * @param {StrNum} close\n * @param {StrNum} fontReplace\n * @return {[type]}\n */\nconst escStain = (str: string, open: StrNum, close: StrNum, fontReplace?: StrNum) => {\n str = typeof str !== 'string' ? String(str) : str; // just in case\n const openStr = ESC + `[${open}m`;\n const closeStr = ESC + `[${close}m`;\n const closeLen = closeStr.length;\n const parts: string[] = [];\n let cursor = 0;\n let seqCount = 0; // count of close sequences for alternating styles\n let resetCount = 0;\n while (true) {\n const idxClose = str.indexOf(closeStr, cursor);\n // next global reset unless it is the reset style\n const idxReset = open === 0 ? -1 : str.indexOf(RESET, cursor);\n let idx = -1;\n let isReset = false;\n // which comes first, cur close sequence or a global reset\n if (idxClose >= 0) {\n if (idxReset >= 0 && idxReset < idxClose) {\n idx = idxReset;\n isReset = true;\n } else {\n idx = idxClose;\n }\n } else if (idxReset >= 0) {\n idx = idxReset;\n isReset = true;\n } else {\n break;\n }\n parts.push(str.substring(cursor, idx));\n\n if (isReset) {\n parts.push(RESET);\n resetCount++;\n // after every second reset restore style\n // e.g: stain.red(`text ${stain.reset('reset')} text`)\n if (resetCount % 2 === 0) { parts.push(openStr); }\n cursor = idx + RESET.length;\n continue;\n }\n\n // a closing sequence; need to determine the correct replacement\n const segment = str.substring(cursor, idx);\n const openInSeg = segment.split(openStr).length;\n const closeInSeg = segment.split(closeStr).length;\n\n let rep = openStr;\n // this roundabout logic is for font styles nesting\n // e.g: stain.bold(`bold ${stain.normal('norm')} bold`)\n if (fontReplace !== undefined && openInSeg <= closeInSeg) {\n // use seqCount to treat the first closeStr as an 'opener' and the second as the 'closer'\n seqCount++;\n const on = ESC + `[${fontReplace}m`; // outer style's open code\n const off = ESC + `[${close}m`; // inner style's open/close code\n rep = (seqCount % 2 === 1) ? on + off : off + on;\n }\n\n parts.push(rep);\n cursor = idx + closeLen;\n }\n parts.push(str.substring(cursor));\n return openStr + parts.join('') + closeStr;\n};\n\n/**\n * simple escape that doesn't handle nested ansi; 1.5-4x+ faster depending on style complexity\n * nested example: stain.red.bold('Bold ' + stain.green.normal('normal') + ' Bold')\n * @param {string} str\n * @param {StrNum} open\n * @param {StrNum} close\n * @param {StrNum} _fontReplace\n * @return {[type]}\n */\nconst escStainSimple = (str: string, open: StrNum, close: StrNum, _fontReplace?: StrNum) =>\n `${ESC}[${open}m` + (typeof str !== 'string' ? String(str) : str) + `${ESC}[${close}m`;\n\n\n/**\n * a nice node typed color api, that isn't \"slow\" at\n * @perf ~6million iter/s - NO_COLOR=~186million iter/s\n */\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts?: StainOpts<C> & { xterm?: false }\n): Stain<C, false>;\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts: StainOpts<C> & { xterm: true }\n): Stain<C, true>;\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts: StainOpts<C> = {},\n): Stain<C, boolean> {\n const {\n colors,\n xterm,\n format = (...args) => args.length > 1\n ? args.join(' ')\n : typeof args[0] !== 'string' ? JSON.stringify(args[0]) : args[0],\n noColor = COLOR_SPACE === 0,\n simpleEscape = false,\n } = opts;\n\n const colorAll: Record<string, number> = colors\n ? {...(xterm ? COLOR_ALL : COLOR_DEF), ...colors}\n : (xterm ? COLOR_ALL : COLOR_DEF);\n\n // provies the same api, but doesn't add color, and much, much, much, faster\n if (noColor) {\n // wrapped to avoid poluting the proto on passed in format\n const ncFormat = opts?.format ? (...args: unknown[]) => format(...args) : format;\n for (const prop of Object.keys(colorAll)\n .concat(['bg', 'bold', 'dim', 'normal', 'reset', 'underline'])) {\n // @ts-expect-error not typable\n ncFormat[prop] = ncFormat;\n }\n return ncFormat as Stain<C, boolean>;\n }\n const escFn = simpleEscape ? escStainSimple : escStain;\n // xterm look-up map to determin if xterm\n // @see {@link https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit}\n const color256: Record<string, number> = colors\n ? (xterm ? {...XTERM_DEF, ...colors} : colors)\n : (xterm ? XTERM_DEF : {});\n\n // our main stain\n const colorProxy = (cur: StyleState = {}) =>\n new Proxy((text: string) => text, {\n get: (_target, prop: string) => {\n const nxt = {...cur};\n const fg = nxt.fg;\n if (colorAll[prop] !== undefined) { // xterm logic\n // keeps track of previous for bg logic\n nxt.pr = [\n fg?.[0] ?? colorAll[prop],\n 39,\n fg?.[2] ?? (color256[prop] !== undefined ? 1 : 0),\n ];\n nxt.fg = [colorAll[prop], 39, color256[prop] !== undefined ? 1 : 0];\n } else if (prop === 'bg' && fg) { // bg/fg logic\n nxt.bg = [fg[0] + (fg[2] || fg[1] === 49 ? 0 : 10), 49, fg[2]] as AnsiCodeTuple;\n // @ts-expect-error to make this type easier we ignore undefined\n if (nxt.pr?.[1] === 39) { nxt.fg = fg[0] === nxt.pr[0] ? undefined : [...nxt.pr]; }\n } else { // font style logic\n const fo = prop === 'bold' ? 1 : prop === 'dim' ? 2 : prop === 'normal' ? 22 : null;\n if (fo) {\n nxt.ft = [fo, 22, 0];\n } else if (prop === 'underline') {\n nxt.ue = [4, 24, 0];\n } else if (prop === 'inverse') {\n nxt.ie = [7, 27, 0];\n } else if (prop === 'reset') {\n nxt.re = [0, 0, 0];\n }\n }\n return colorProxy(nxt);\n },\n apply: (_target, _thisArg, args: string[]) => {\n let res = format(...args);\n // a loop here will dec perf by 6x\n if (cur.re) { return escFn(res, 0, 0); }\n if (cur.fg) { res = escFn(res, (cur.fg[2] ? '38;5;' : '') + cur.fg[0], cur.fg[1]); }\n if (cur.bg) { res = escFn(res, (cur.bg[2] ? '48;5;' : '') + cur.bg[0], cur.bg[1]); }\n if (cur.ft) { res = escFn(res, cur.ft[0], cur.ft[1], cur.ft[0]); }\n if (cur.ue) { res = escFn(res, cur.ue[0], cur.ue[1]); }\n if (cur.ie) { res = escFn(res, cur.ie[0], cur.ie[1]); }\n return res;\n },\n });\n return colorProxy() as Stain<C, boolean>;\n}\n\nconst stain = /* @__PURE__ */ (() => createStain({ xterm: true }))();\n\nexport default stain;\nexport {\n stain,\n createStain,\n};\n"
7
+ "import cliReap from 'cli-reap';\nimport {\n ENV,\n GLOBAL_THIS,\n} from 'globables';\n\nexport const ESC = '\\x1B';\nexport const RESET = '\\x1B[0m';\n\nexport const ANSI = {\n black: 30,\n iblack: 90,\n red: 31,\n ired: 91,\n green: 32,\n igreen: 92,\n yellow: 33,\n iyellow: 93,\n blue: 34,\n iblue: 94,\n purple: 35,\n ipurple: 95,\n cyan: 36,\n icyan: 96,\n white: 37,\n iwhite: 97,\n};\nexport const XTERM = Object.fromEntries(\n Array(256).fill(0).map((_v, i) => [`x${i}`, i] as [string, number]),\n);\nexport const COLORS = {...ANSI, ...XTERM};\n\n\n/**\n * color support level\n * @default 3\n * @see {@link https://nodejs.org/api/cli.html#force_color1-2-3|Node.js FORCE_COLOR docs}\n */\ntype ColorSpace = 0 | 1;\n\n\n/**\n * COLOR_SPACE - covers all reasonable and most un-reasonable cases\n * @implements nodejs.org/api/cli.html#force_color1-2-3\n * 0=no-color, 1=16, 2=256, 3=true-color\n */\nexport const COLOR_SPACE: ColorSpace = /* @__PURE__ */ (() => {\n try {\n const reap = cliReap();\n const forceColor = reap.any('FORCE_COLOR');\n // force colors\n if (forceColor === '' || (forceColor && !isNaN(Number(forceColor)) && Number(forceColor) > 0)) {\n return 1;\n }\n // no proc\n if (typeof process === 'undefined') { return 0; }\n\n // no color var\n if (reap.any('NO_COLOR') !== null\n || reap.any('NODE_DISABLE_COLORS') !== null\n || (/-mono|dumb/i).test(ENV['TERM'] ?? '')) { return 0; }\n\n // no tty\n if (!(!!process.stdout?.isTTY\n || (!!ENV['PM2_HOME'] && !!ENV['pm_id'])\n || ((GLOBAL_THIS as never)?.['Deno']\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ? (GLOBAL_THIS as any)?.['Deno']?.isatty(1)\n : !!process.stdout?.isTTY))) { return 0; }\n\n // cli\n if ((/^(false|never|no|0)$/i).test(`${reap.opt('color') ?? ''}`.trim())) {\n return 0;\n }\n return 1;\n } catch (_err) { /* ignore */ }\n // catch/error/fallthrough; plays it safe with no colors\n return 0;\n})();\n\n",
8
+ "import {\n COLORS,\n ANSI,\n COLOR_SPACE,\n ESC,\n RESET,\n XTERM,\n} from './constants.ts';\n\ntype EmptyObject = Record<never, never>;\ntype StrNum = string | number;\n\n// fg=foreground\n// bg=background\n// ft=font\n// ue=underline\n// ie=inverse\n// re=reset\n// pr=previous (internal state)\ntype StyleKeys = 'fg' | 'bg' | 'ft' | 'ue' | 'ie' | 're' | 'pr';\ntype AnsiCodeTuple = [on: number, off: number, isCustom?: number];\ntype StyleState = Partial<Record<StyleKeys, AnsiCodeTuple>>;\ntype StainBase = 'black' | 'blue' | 'cyan' | 'green' | 'purple' | 'red' | 'white' | 'yellow';\nexport type StainAnsi = StainBase | `i${StainBase}`;\n\n// generate xterms: x0 to x255\ntype XtermKeysFactory<N extends number, Acc extends string[] = []> =\n Acc['length'] extends N\n ? Acc[number]\n : XtermKeysFactory<N, [...Acc, `x${Acc['length']}`]>;\nexport type StainXterm = XtermKeysFactory<256>;\n\nexport type Stain<\n C extends Record<string, number> = EmptyObject,\n X extends boolean = false,\n> =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((...args: any[])=> string) &\n {\n bg: Stain<C, X>;\n bold: Stain<C, X>;\n dim: Stain<C, X>;\n normal: Stain<C, X>;\n reset: Stain<C, X>;\n underline: Stain<C, X>;\n inverse: Stain<C, X>;\n } &\n // built-in named colors\n { [K in StainAnsi]: Stain<C, X> } &\n // xterm colors if enabled\n (X extends true ? { [K in StainXterm]: Stain<C, X> } : EmptyObject) &\n // custom colors from opts.colors\n (keyof C extends never ? EmptyObject : { [K in keyof C]: Stain<C, X> });\n\nexport type StainOpts<C extends Record<string, number> = EmptyObject> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n format?: (...args: any[])=> string;\n noColor?: boolean;\n xterm?: boolean;\n colors?: C;\n simpleEscape?: boolean;\n};\n\n\n/**\n * ansi escape-er\n * @note -> without handlin/escapin nesting it simplifies to: `\\x1b[${open}m${str}\\x1b[${close}m`\n * @param {string} str\n * @param {StrNum} open\n * @param {StrNum} close\n * @param {StrNum} fontReplace\n * @return {[type]}\n */\nconst escStain = (str: string, open: StrNum, close: StrNum, fontReplace?: StrNum) => {\n str = typeof str !== 'string' ? String(str) : str; // just in case\n const openStr = ESC + `[${open}m`;\n const closeStr = ESC + `[${close}m`;\n const closeLen = closeStr.length;\n const parts: string[] = [];\n let cursor = 0;\n let seqCount = 0; // count of close sequences for alternating styles\n let resetCount = 0;\n while (true) {\n const idxClose = str.indexOf(closeStr, cursor);\n // next global reset unless it is the reset style\n const idxReset = open === 0 ? -1 : str.indexOf(RESET, cursor);\n let idx = -1;\n let isReset = false;\n // which comes first, cur close sequence or a global reset\n if (idxClose >= 0) {\n if (idxReset >= 0 && idxReset < idxClose) {\n idx = idxReset;\n isReset = true;\n } else {\n idx = idxClose;\n }\n } else if (idxReset >= 0) {\n idx = idxReset;\n isReset = true;\n } else {\n break;\n }\n parts.push(str.substring(cursor, idx));\n\n if (isReset) {\n parts.push(RESET);\n resetCount++;\n // after every second reset restore style\n // e.g: stain.red(`text ${stain.reset('reset')} text`)\n if (resetCount % 2 === 0) { parts.push(openStr); }\n cursor = idx + RESET.length;\n continue;\n }\n\n // a closing sequence; need to determine the correct replacement\n const segment = str.substring(cursor, idx);\n const openInSeg = segment.split(openStr).length;\n const closeInSeg = segment.split(closeStr).length;\n\n let rep = openStr;\n // this roundabout logic is for font styles nesting\n // e.g: stain.bold(`bold ${stain.normal('norm')} bold`)\n if (fontReplace !== undefined && openInSeg <= closeInSeg) {\n // use seqCount to treat the first closeStr as an 'opener' and the second as the 'closer'\n seqCount++;\n const on = ESC + `[${fontReplace}m`; // outer style's open code\n const off = ESC + `[${close}m`; // inner style's open/close code\n rep = (seqCount % 2 === 1) ? on + off : off + on;\n }\n\n parts.push(rep);\n cursor = idx + closeLen;\n }\n parts.push(str.substring(cursor));\n return openStr + parts.join('') + closeStr;\n};\n\n/**\n * simple escape that doesn't handle nested ansi; 1.5-4x+ faster depending on style complexity\n * nested example: stain.red.bold('Bold ' + stain.green.normal('normal') + ' Bold')\n * @param {string} str\n * @param {StrNum} open\n * @param {StrNum} close\n * @param {StrNum} _fontReplace\n * @return {[type]}\n */\nconst escStainSimple = (str: string, open: StrNum, close: StrNum, _fontReplace?: StrNum) =>\n `${ESC}[${open}m` + (typeof str !== 'string' ? String(str) : str) + `${ESC}[${close}m`;\n\n\n/**\n * a nice node typed color api, that isn't \"slow\" at\n * @perf ~6million iter/s - NO_COLOR=~186million iter/s\n */\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts?: StainOpts<C> & { xterm?: false }\n): Stain<C, false>;\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts: StainOpts<C> & { xterm: true }\n): Stain<C, true>;\nfunction createStain<C extends Record<string, number> = EmptyObject>(\n opts: StainOpts<C> = {},\n): Stain<C, boolean> {\n const {\n colors,\n xterm,\n format = (...args) => args.length > 1\n ? args.join(' ')\n : typeof args[0] !== 'string' ? JSON.stringify(args[0]) : args[0],\n noColor = COLOR_SPACE === 0,\n simpleEscape = false,\n } = opts;\n\n const colorAll: Record<string, number> = colors\n ? {...(xterm ? COLORS : ANSI), ...colors}\n : (xterm ? COLORS : ANSI);\n\n // provies the same api, but doesn't add color, and much, much, much, faster\n if (noColor) {\n // wrapped to avoid poluting the proto on passed in format\n const ncFormat = opts?.format ? (...args: unknown[]) => format(...args) : format;\n for (const prop of Object.keys(colorAll)\n .concat(['bg', 'bold', 'dim', 'normal', 'reset', 'underline'])) {\n // @ts-expect-error not typable\n ncFormat[prop] = ncFormat;\n }\n return ncFormat as Stain<C, boolean>;\n }\n const escFn = simpleEscape ? escStainSimple : escStain;\n // xterm look-up map to determin if xterm\n // @see {@link https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit}\n const color256: Record<string, number> = colors\n ? (xterm ? {...XTERM, ...colors} : colors)\n : (xterm ? XTERM : {});\n\n // our main stain\n const colorProxy = (cur: StyleState = {}) =>\n new Proxy((text: string) => text, {\n get: (_target, prop: string) => {\n const nxt = {...cur};\n const fg = nxt.fg;\n if (colorAll[prop] !== undefined) { // xterm logic\n // keeps track of previous for bg logic\n nxt.pr = [\n fg?.[0] ?? colorAll[prop],\n 39,\n fg?.[2] ?? (color256[prop] !== undefined ? 1 : 0),\n ];\n nxt.fg = [colorAll[prop], 39, color256[prop] !== undefined ? 1 : 0];\n } else if (prop === 'bg' && fg) { // bg/fg logic\n nxt.bg = [fg[0] + (fg[2] || fg[1] === 49 ? 0 : 10), 49, fg[2]] as AnsiCodeTuple;\n // @ts-expect-error to make this type easier we ignore undefined\n if (nxt.pr?.[1] === 39) { nxt.fg = fg[0] === nxt.pr[0] ? undefined : [...nxt.pr]; }\n } else { // font style logic\n const fo = prop === 'bold' ? 1 : prop === 'dim' ? 2 : prop === 'normal' ? 22 : null;\n if (fo) {\n nxt.ft = [fo, 22, 0];\n } else if (prop === 'underline') {\n nxt.ue = [4, 24, 0];\n } else if (prop === 'inverse') {\n nxt.ie = [7, 27, 0];\n } else if (prop === 'reset') {\n nxt.re = [0, 0, 0];\n }\n }\n return colorProxy(nxt);\n },\n apply: (_target, _thisArg, args: string[]) => {\n let res = format(...args);\n // a loop here will dec perf by 6x; and a switch tends to be slower\n if (cur.re) { return escFn(res, 0, 0); }\n if (cur.fg) { res = escFn(res, (cur.fg[2] ? '38;5;' : '') + cur.fg[0], cur.fg[1]); }\n if (cur.bg) { res = escFn(res, (cur.bg[2] ? '48;5;' : '') + cur.bg[0], cur.bg[1]); }\n if (cur.ft) { res = escFn(res, cur.ft[0], cur.ft[1], cur.ft[0]); }\n if (cur.ue) { res = escFn(res, cur.ue[0], cur.ue[1]); }\n if (cur.ie) { res = escFn(res, cur.ie[0], cur.ie[1]); }\n return res;\n },\n });\n return colorProxy() as Stain<C, boolean>;\n}\n\nconst stain = /* @__PURE__ */ (() => createStain({ xterm: true }))();\n\nexport default stain;\nexport {\n stain,\n createStain,\n ANSI,\n COLOR_SPACE,\n ESC,\n RESET,\n XTERM,\n};\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "4ADFA3652E740A5A64756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "1AFEF64166D1452A64756E2164756E21",
12
12
  "names": []
13
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stain",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Fluent, flexible, and fast ANSI styling that adds color to your terminal",
5
5
  "homepage": "https://github.com/fetchTe/stain",
6
6
  "license": "MIT",