@discordeno/utils 19.0.0-next.fbd26f4 → 19.0.0-next.fc13bdf

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.
package/dist/casing.js CHANGED
@@ -1,2 +1,51 @@
1
- export const camelize=e=>{if(Array.isArray(e))return e.map(e=>camelize(e));if("object"==typeof e&&null!==e){let t={};return Object.keys(e).forEach(r=>{t["string"==typeof r?snakeToCamelCase(r):r]=camelize(e[r])}),t}return e};export function snakeToCamelCase(e){if(!e.includes("_"))return e;let t="";for(let r=0,n=e.length;r<n;++r){if("_"===e[r]){t+=e[++r].toUpperCase();continue}t+=e[r]}return t}export function camelToSnakeCase(e){let t="";for(let r=0,n=e.length;r<n;++r){if(e[r]>="A"&&e[r]<="Z"){t+=`_${e[r].toLowerCase()}`;continue}t+=e[r]}return t}
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jYXNpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYW1lbGl6ZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgY2FtZWxpemUgPSA8VD4ob2JqZWN0OiBUKTogQ2FtZWxpemU8VD4gPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpKSB7XG4gICAgcmV0dXJuIG9iamVjdC5tYXAoKGVsZW1lbnQpID0+IGNhbWVsaXplKGVsZW1lbnQpKSBhcyBDYW1lbGl6ZTxUPlxuICB9XG5cbiAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG9iaiA9IHt9IGFzIENhbWVsaXplPFQ+XG4gICAgOyhPYmplY3Qua2V5cyhvYmplY3QpIGFzIEFycmF5PGtleW9mIFQ+KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIDsob2JqW3R5cGVvZiBrZXkgPT09ICdzdHJpbmcnID8gc25ha2VUb0NhbWVsQ2FzZShrZXkpIDoga2V5XSBhcyBDYW1lbGl6ZTwoVCAmIG9iamVjdClba2V5b2YgVF0+KSA9IGNhbWVsaXplKG9iamVjdFtrZXldKVxuICAgIH0pXG4gICAgcmV0dXJuIG9ialxuICB9XG4gIHJldHVybiBvYmplY3QgYXMgQ2FtZWxpemU8VD5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNuYWtlVG9DYW1lbENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIXN0ci5pbmNsdWRlcygnXycpKSByZXR1cm4gc3RyXG5cbiAgbGV0IHJlc3VsdCA9ICcnXG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzdHIubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoc3RyW2ldID09PSAnXycpIHtcbiAgICAgIHJlc3VsdCArPSBzdHJbKytpXS50b1VwcGVyQ2FzZSgpXG5cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgcmVzdWx0ICs9IHN0cltpXVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FtZWxUb1NuYWtlQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gc3RyLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBpZiAoc3RyW2ldID49IFwiQVwiICYmIHN0cltpXSA8PSBcIlpcIikge1xuICAgICAgICAgIHJlc3VsdCArPSBgXyR7c3RyW2ldLnRvTG93ZXJDYXNlKCl9YDtcblxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICByZXN1bHQgKz0gc3RyW2ldO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdLCJuYW1lcyI6WyJjYW1lbGl6ZSIsIm9iamVjdCIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImVsZW1lbnQiLCJvYmoiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInNuYWtlVG9DYW1lbENhc2UiLCJzdHIiLCJpbmNsdWRlcyIsInJlc3VsdCIsImkiLCJsZW4iLCJsZW5ndGgiLCJ0b1VwcGVyQ2FzZSIsImNhbWVsVG9TbmFrZUNhc2UiLCJ0b0xvd2VyQ2FzZSJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxNQUFNQSxTQUFXLEFBQUlDLEdBQTJCLENBQ3JELEdBQUlDLE1BQU1DLE9BQU8sQ0FBQ0YsR0FDaEIsT0FBT0EsRUFBT0csR0FBRyxDQUFDLEFBQUNDLEdBQVlMLFNBQVNLLEdBQ3pDLENBRUQsR0FBSSxBQUFrQixVQUFsQixPQUFPSixHQUF1QkEsQUFBVyxJQUFJLEdBQWZBLEVBQWlCLENBQ2pELElBQU1LLEVBQU0sQ0FBQyxFQUtiLE9BSkMsQUFBQ0MsT0FBT0MsSUFBSSxDQUFDUCxHQUEyQlEsT0FBTyxDQUFDLEFBQUNDLEdBQVEsQ0FFdERKLENBQUcsQ0FBQyxBQUFlLFVBQWYsT0FBT0ksRUFBbUJDLGlCQUFpQkQsR0FBT0EsQ0FBRyxDQUFDLENBQXVDVixTQUFTQyxDQUFNLENBQUNTLEVBQUksQ0FDekgsR0FDT0osQ0FDVCxDQUFDLEFBQ0QsT0FBT0wsQ0FDVCxDQUFDLEFBRUQsUUFBTyxTQUFTVSxpQkFBaUJDLENBQVcsQ0FBVSxDQUNwRCxHQUFJLENBQUNBLEVBQUlDLFFBQVEsQ0FBQyxLQUFNLE9BQU9ELENBQUcsQ0FFbEMsSUFBSUUsRUFBUyxHQUNiLElBQUssSUFBSUMsRUFBSSxFQUFHQyxFQUFNSixFQUFJSyxNQUFNLENBQUVGLEVBQUlDLEVBQUssRUFBRUQsRUFBRyxDQUM5QyxHQUFJSCxBQUFXLE1BQVhBLENBQUcsQ0FBQ0csRUFBRSxDQUFVLENBQ2xCRCxHQUFVRixDQUFHLENBQUMsRUFBRUcsRUFBRSxDQUFDRyxXQUFXLEdBRTlCLFFBQVEsQUFDVixDQUFDLEFBRURKLEdBQVVGLENBQUcsQ0FBQ0csRUFBRSxBQUNsQixDQUVBLE9BQU9ELENBQ1QsQ0FBQyxBQUVELE9BQU8sU0FBU0ssaUJBQWlCUCxDQUFXLENBQVUsQ0FDcEQsSUFBSUUsRUFBUyxHQUNiLElBQUssSUFBSUMsRUFBSSxFQUFHQyxFQUFNSixFQUFJSyxNQUFNLENBQUVGLEVBQUlDLEVBQUssRUFBRUQsRUFBRyxDQUM1QyxHQUFJSCxDQUFHLENBQUNHLEVBQUUsRUFBSSxLQUFPSCxDQUFHLENBQUNHLEVBQUUsRUFBSSxJQUFLLENBQ2hDRCxHQUFVLENBQUMsQ0FBQyxFQUFFRixDQUFHLENBQUNHLEVBQUUsQ0FBQ0ssV0FBVyxHQUFHLENBQUMsQ0FFcEMsUUFBUyxBQUNiLENBQUMsQUFFRE4sR0FBVUYsQ0FBRyxDQUFDRyxFQUFFLEFBQ3BCLENBRUEsT0FBT0QsQ0FDVCxDQUFDIn0=
1
+ export function camelize(object) {
2
+ if (Array.isArray(object)) {
3
+ return object.map((element)=>camelize(element));
4
+ }
5
+ if (typeof object === 'object' && object !== null) {
6
+ const obj = {};
7
+ Object.keys(object).forEach((key)=>{
8
+ obj[typeof key === 'string' ? snakeToCamelCase(key) : key] = camelize(object[key]);
9
+ });
10
+ return obj;
11
+ }
12
+ return object;
13
+ }
14
+ export function snakelize(object) {
15
+ if (Array.isArray(object)) {
16
+ return object.map((element)=>snakelize(element));
17
+ }
18
+ if (typeof object === 'object' && object !== null) {
19
+ const obj = {};
20
+ Object.keys(object).forEach((key)=>{
21
+ obj[typeof key === 'string' ? camelToSnakeCase(key) : key] = snakelize(object[key]);
22
+ });
23
+ return obj;
24
+ }
25
+ return object;
26
+ }
27
+ export function snakeToCamelCase(str) {
28
+ if (!str.includes('_')) return str;
29
+ let result = '';
30
+ for(let i = 0, len = str.length; i < len; ++i){
31
+ if (str[i] === '_') {
32
+ result += str[++i].toUpperCase();
33
+ continue;
34
+ }
35
+ result += str[i];
36
+ }
37
+ return result;
38
+ }
39
+ export function camelToSnakeCase(str) {
40
+ let result = '';
41
+ for(let i = 0, len = str.length; i < len; ++i){
42
+ if (str[i] >= 'A' && str[i] <= 'Z') {
43
+ result += `_${str[i].toLowerCase()}`;
44
+ continue;
45
+ }
46
+ result += str[i];
47
+ }
48
+ return result;
49
+ }
50
+
51
+ //# sourceMappingURL=casing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/casing.ts"],"sourcesContent":["import type { Camelize, Snakelize } from '@discordeno/types'\n\nexport function camelize <T>(object: T): Camelize<T> {\n if (Array.isArray(object)) {\n return object.map((element) => camelize(element)) as Camelize<T>\n }\n\n if (typeof object === 'object' && object !== null) {\n const obj = {} as Camelize<T>\n ;(Object.keys(object) as Array<keyof T>).forEach((key) => {\n // @ts-expect-error js hack\n ;(obj[typeof key === 'string' ? snakeToCamelCase(key) : key] as Camelize<(T & object)[keyof T]>) = camelize(object[key])\n })\n return obj\n }\n return object as Camelize<T>\n}\n\nexport function snakelize <T>(object: T): Snakelize<T> {\n if (Array.isArray(object)) {\n return object.map((element) => snakelize(element)) as Snakelize<T>\n }\n\n if (typeof object === 'object' && object !== null) {\n const obj = {} as Snakelize<T>\n ;(Object.keys(object) as Array<keyof T>).forEach((key) => {\n // @ts-expect-error js hack\n\n ;(obj[typeof key === 'string' ? camelToSnakeCase(key) : key] as Snakelize<(T & object)[keyof T]>) = snakelize(object[key])\n })\n return obj\n }\n return object as Snakelize<T>\n}\n\nexport function snakeToCamelCase(str: string): string {\n if (!str.includes('_')) return str\n\n let result = ''\n for (let i = 0, len = str.length; i < len; ++i) {\n if (str[i] === '_') {\n result += str[++i].toUpperCase()\n\n continue\n }\n\n result += str[i]\n }\n\n return result\n}\n\nexport function camelToSnakeCase(str: string): string {\n let result = ''\n for (let i = 0, len = str.length; i < len; ++i) {\n if (str[i] >= 'A' && str[i] <= 'Z') {\n result += `_${str[i].toLowerCase()}`\n\n continue\n }\n\n result += str[i]\n }\n\n return result\n}\n"],"names":["camelize","object","Array","isArray","map","element","obj","Object","keys","forEach","key","snakeToCamelCase","snakelize","camelToSnakeCase","str","includes","result","i","len","length","toUpperCase","toLowerCase"],"mappings":"AAEA,OAAO,SAASA,SAAaC,MAAS,EAAe;IACnD,IAAIC,MAAMC,OAAO,CAACF,SAAS;QACzB,OAAOA,OAAOG,GAAG,CAAC,CAACC,UAAYL,SAASK;IAC1C,CAAC;IAED,IAAI,OAAOJ,WAAW,YAAYA,WAAW,IAAI,EAAE;QACjD,MAAMK,MAAM,CAAC;QACXC,OAAOC,IAAI,CAACP,QAA2BQ,OAAO,CAAC,CAACC,MAAQ;YAEtDJ,GAAG,CAAC,OAAOI,QAAQ,WAAWC,iBAAiBD,OAAOA,GAAG,CAAC,GAAuCV,SAASC,MAAM,CAACS,IAAI;QACzH;QACA,OAAOJ;IACT,CAAC;IACD,OAAOL;AACT,CAAC;AAED,OAAO,SAASW,UAAcX,MAAS,EAAgB;IACrD,IAAIC,MAAMC,OAAO,CAACF,SAAS;QACzB,OAAOA,OAAOG,GAAG,CAAC,CAACC,UAAYO,UAAUP;IAC3C,CAAC;IAED,IAAI,OAAOJ,WAAW,YAAYA,WAAW,IAAI,EAAE;QACjD,MAAMK,MAAM,CAAC;QACXC,OAAOC,IAAI,CAACP,QAA2BQ,OAAO,CAAC,CAACC,MAAQ;YAGtDJ,GAAG,CAAC,OAAOI,QAAQ,WAAWG,iBAAiBH,OAAOA,GAAG,CAAC,GAAwCE,UAAUX,MAAM,CAACS,IAAI;QAC3H;QACA,OAAOJ;IACT,CAAC;IACD,OAAOL;AACT,CAAC;AAED,OAAO,SAASU,iBAAiBG,GAAW,EAAU;IACpD,IAAI,CAACA,IAAIC,QAAQ,CAAC,MAAM,OAAOD;IAE/B,IAAIE,SAAS;IACb,IAAK,IAAIC,IAAI,GAAGC,MAAMJ,IAAIK,MAAM,EAAEF,IAAIC,KAAK,EAAED,EAAG;QAC9C,IAAIH,GAAG,CAACG,EAAE,KAAK,KAAK;YAClBD,UAAUF,GAAG,CAAC,EAAEG,EAAE,CAACG,WAAW;YAE9B,QAAQ;QACV,CAAC;QAEDJ,UAAUF,GAAG,CAACG,EAAE;IAClB;IAEA,OAAOD;AACT,CAAC;AAED,OAAO,SAASH,iBAAiBC,GAAW,EAAU;IACpD,IAAIE,SAAS;IACb,IAAK,IAAIC,IAAI,GAAGC,MAAMJ,IAAIK,MAAM,EAAEF,IAAIC,KAAK,EAAED,EAAG;QAC9C,IAAIH,GAAG,CAACG,EAAE,IAAI,OAAOH,GAAG,CAACG,EAAE,IAAI,KAAK;YAClCD,UAAU,CAAC,CAAC,EAAEF,GAAG,CAACG,EAAE,CAACI,WAAW,GAAG,CAAC;YAEpC,QAAQ;QACV,CAAC;QAEDL,UAAUF,GAAG,CAACG,EAAE;IAClB;IAEA,OAAOD;AACT,CAAC"}
package/dist/colors.d.ts CHANGED
@@ -1,5 +1,10 @@
1
+ export interface Code {
2
+ open: string;
3
+ close: string;
4
+ regexp: RegExp;
5
+ }
1
6
  /** RGB 8-bits per channel. Each in range `0->255` or `0x00->0xff` */
2
- interface Rgb {
7
+ export interface Rgb {
3
8
  r: number;
4
9
  g: number;
5
10
  b: number;
@@ -267,5 +272,4 @@ export declare function bgRgb24(str: string, color: number | Rgb): string;
267
272
  * @param string to remove ANSI escape codes from
268
273
  */
269
274
  export declare function stripColor(string: string): string;
270
- export {};
271
275
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"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"}
package/dist/colors.js CHANGED
@@ -1,2 +1,471 @@
1
- let r=!0;export function setColorEnabled(t){r=t}export function getColorEnabled(){return r}function t(r,t){return{open:`\x1b[${r.join(";")}m`,close:`\x1b[${t}m`,regexp:RegExp(`\\x1b\\[${t}m`,"g")}}function n(t,n){return r?`${n.open}${t.replace(n.regexp,n.open)}${n.close}`:t}export function reset(r){return n(r,t([0],0))}export function bold(r){return n(r,t([1],22))}export function dim(r){return n(r,t([2],22))}export function italic(r){return n(r,t([3],23))}export function underline(r){return n(r,t([4],24))}export function inverse(r){return n(r,t([7],27))}export function hidden(r){return n(r,t([8],28))}export function strikethrough(r){return n(r,t([9],29))}export function black(r){return n(r,t([30],39))}export function red(r){return n(r,t([31],39))}export function green(r){return n(r,t([32],39))}export function yellow(r){return n(r,t([33],39))}export function blue(r){return n(r,t([34],39))}export function magenta(r){return n(r,t([35],39))}export function cyan(r){return n(r,t([36],39))}export function white(r){return n(r,t([37],39))}export function gray(r){return brightBlack(r)}export function brightBlack(r){return n(r,t([90],39))}export function brightRed(r){return n(r,t([91],39))}export function brightGreen(r){return n(r,t([92],39))}export function brightYellow(r){return n(r,t([93],39))}export function brightBlue(r){return n(r,t([94],39))}export function brightMagenta(r){return n(r,t([95],39))}export function brightCyan(r){return n(r,t([96],39))}export function brightWhite(r){return n(r,t([97],39))}export function bgBlack(r){return n(r,t([40],49))}export function bgRed(r){return n(r,t([41],49))}export function bgGreen(r){return n(r,t([42],49))}export function bgYellow(r){return n(r,t([43],49))}export function bgBlue(r){return n(r,t([44],49))}export function bgMagenta(r){return n(r,t([45],49))}export function bgCyan(r){return n(r,t([46],49))}export function bgWhite(r){return n(r,t([47],49))}export function bgBrightBlack(r){return n(r,t([100],49))}export function bgBrightRed(r){return n(r,t([101],49))}export function bgBrightGreen(r){return n(r,t([102],49))}export function bgBrightYellow(r){return n(r,t([103],49))}export function bgBrightBlue(r){return n(r,t([104],49))}export function bgBrightMagenta(r){return n(r,t([105],49))}export function bgBrightCyan(r){return n(r,t([106],49))}export function bgBrightWhite(r){return n(r,t([107],49))}function e(r,t=255,n=0){return Math.trunc(Math.max(Math.min(r,t),n))}export function rgb8(r,o){return n(r,t([38,5,e(o)],39))}export function bgRgb8(r,o){return n(r,t([48,5,e(o)],49))}export function rgb24(r,o){return"number"==typeof o?n(r,t([38,2,o>>16&255,o>>8&255,255&o],39)):n(r,t([38,2,e(o.r),e(o.g),e(o.b)],39))}export function bgRgb24(r,o){return"number"==typeof o?n(r,t([48,2,o>>16&255,o>>8&255,255&o],49)):n(r,t([48,2,e(o.r),e(o.g),e(o.b)],49))}let o=RegExp("[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))","g");export function stripColor(r){return r.replace(o,"")}
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2xvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlICovXG5cbi8vIENvcHlyaWdodCAyMDE4LTIwMjIgdGhlIERlbm8gYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gTUlUIGxpY2Vuc2UuXG4vLyBBIG1vZHVsZSB0byBwcmludCBBTlNJIHRlcm1pbmFsIGNvbG9ycy4gSW5zcGlyZWQgYnkgY2hhbGssIGtsZXVyLCBhbmQgY29sb3JzXG4vLyBvbiBucG0uXG4vLyBodHRwczovL2Rlbm8ubGFuZC9zdGRAMC4xNTMuMC9mbXQvY29sb3JzLnRzP3NvdXJjZVxuXG5jb25zdCBub0NvbG9yID0gZmFsc2U7XG5cbmludGVyZmFjZSBDb2RlIHtcbiAgb3Blbjogc3RyaW5nO1xuICBjbG9zZTogc3RyaW5nO1xuICByZWdleHA6IFJlZ0V4cDtcbn1cblxuLyoqIFJHQiA4LWJpdHMgcGVyIGNoYW5uZWwuIEVhY2ggaW4gcmFuZ2UgYDAtPjI1NWAgb3IgYDB4MDAtPjB4ZmZgICovXG5pbnRlcmZhY2UgUmdiIHtcbiAgcjogbnVtYmVyO1xuICBnOiBudW1iZXI7XG4gIGI6IG51bWJlcjtcbn1cblxubGV0IGVuYWJsZWQgPSAhbm9Db2xvcjtcblxuLyoqXG4gKiBTZXQgY2hhbmdpbmcgdGV4dCBjb2xvciB0byBlbmFibGVkIG9yIGRpc2FibGVkXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldENvbG9yRW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICBpZiAobm9Db2xvcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVuYWJsZWQgPSB2YWx1ZTtcbn1cblxuLyoqIEdldCB3aGV0aGVyIHRleHQgY29sb3IgY2hhbmdlIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JFbmFibGVkKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZW5hYmxlZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgY29sb3IgY29kZVxuICogQHBhcmFtIG9wZW5cbiAqIEBwYXJhbSBjbG9zZVxuICovXG5mdW5jdGlvbiBjb2RlKG9wZW46IG51bWJlcltdLCBjbG9zZTogbnVtYmVyKTogQ29kZSB7XG4gIHJldHVybiB7XG4gICAgb3BlbjogYFxceDFiWyR7b3Blbi5qb2luKFwiO1wiKX1tYCxcbiAgICBjbG9zZTogYFxceDFiWyR7Y2xvc2V9bWAsXG4gICAgcmVnZXhwOiBuZXcgUmVnRXhwKGBcXFxceDFiXFxcXFske2Nsb3NlfW1gLCBcImdcIiksXG4gIH07XG59XG5cbi8qKlxuICogQXBwbGllcyBjb2xvciBhbmQgYmFja2dyb3VuZCBiYXNlZCBvbiBjb2xvciBjb2RlIGFuZCBpdHMgYXNzb2NpYXRlZCB0ZXh0XG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gYXBwbHkgY29sb3Igc2V0dGluZ3MgdG9cbiAqIEBwYXJhbSBjb2RlIGNvbG9yIGNvZGUgdG8gYXBwbHlcbiAqL1xuZnVuY3Rpb24gcnVuKHN0cjogc3RyaW5nLCBjb2RlOiBDb2RlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuYWJsZWRcbiAgICA/IGAke2NvZGUub3Blbn0ke3N0ci5yZXBsYWNlKGNvZGUucmVnZXhwLCBjb2RlLm9wZW4pfSR7Y29kZS5jbG9zZX1gXG4gICAgOiBzdHI7XG59XG5cbi8qKlxuICogUmVzZXQgdGhlIHRleHQgbW9kaWZpZWRcbiAqIEBwYXJhbSBzdHIgdGV4dCB0byByZXNldFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMF0sIDApKTtcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSB0ZXh0IGJvbGQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBib2xkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBib2xkKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzFdLCAyMikpO1xufVxuXG4vKipcbiAqIFRoZSB0ZXh0IGVtaXRzIG9ubHkgYSBzbWFsbCBhbW91bnQgb2YgbGlnaHQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gZGltXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaW0oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMl0sIDIyKSk7XG59XG5cbi8qKlxuICogTWFrZSB0aGUgdGV4dCBpdGFsaWMuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdGFsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGl0YWxpYyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszXSwgMjMpKTtcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSB0ZXh0IHVuZGVybGluZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byB1bmRlcmxpbmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVuZGVybGluZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0XSwgMjQpKTtcbn1cblxuLyoqXG4gKiBJbnZlcnQgYmFja2dyb3VuZCBjb2xvciBhbmQgdGV4dCBjb2xvci5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBpbnZlcnQgaXRzIGNvbG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnZlcnNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzddLCAyNykpO1xufVxuXG4vKipcbiAqIE1ha2UgdGhlIHRleHQgaGlkZGVuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIGhpZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGRlbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs4XSwgMjgpKTtcbn1cblxuLyoqXG4gKiBQdXQgaG9yaXpvbnRhbCBsaW5lIHRocm91Z2ggdGhlIGNlbnRlciBvZiB0aGUgdGV4dC5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBzdHJpa2UgdGhyb3VnaFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaWtldGhyb3VnaChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5XSwgMjkpKTtcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBibGFjay5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJsYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibGFjayhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszMF0sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gcmVkLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMzFdLCAzOSkpO1xufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGdyZWVuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgZ3JlZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyZWVuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzMyXSwgMzkpKTtcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byB5ZWxsb3cuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSB5ZWxsb3dcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHllbGxvdyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszM10sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYmx1ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJsdWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMzRdLCAzOSkpO1xufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIG1hZ2VudGEuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBtYWdlbnRhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWdlbnRhKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzM1XSwgMzkpKTtcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBjeWFuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgY3lhblxuICovXG5leHBvcnQgZnVuY3Rpb24gY3lhbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszNl0sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gd2hpdGUuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSB3aGl0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gd2hpdGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMzddLCAzOSkpO1xufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGdyYXkuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBncmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmF5KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGJyaWdodEJsYWNrKHN0cik7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IGJsYWNrLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LWJsYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmlnaHRCbGFjayhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5MF0sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IHJlZC5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJyaWdodC1yZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyaWdodFJlZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5MV0sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IGdyZWVuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LWdyZWVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmlnaHRHcmVlbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5Ml0sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IHllbGxvdy5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJyaWdodC15ZWxsb3dcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyaWdodFllbGxvdyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5M10sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IGJsdWUuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBicmlnaHQtYmx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0Qmx1ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5NF0sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IG1hZ2VudGEuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBicmlnaHQtbWFnZW50YVxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0TWFnZW50YShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5NV0sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IGN5YW4uXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBicmlnaHQtY3lhblxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0Q3lhbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5Nl0sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IHdoaXRlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LXdoaXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmlnaHRXaGl0ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5N10sIDM5KSk7XG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYmxhY2suXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBibGFja1xuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCbGFjayhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0MF0sIDQ5KSk7XG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gcmVkLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ1JlZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0MV0sIDQ5KSk7XG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gZ3JlZW4uXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBncmVlblxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdHcmVlbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0Ml0sIDQ5KSk7XG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8geWVsbG93LlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgeWVsbG93XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ1llbGxvdyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0M10sIDQ5KSk7XG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYmx1ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQmx1ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0NF0sIDQ5KSk7XG59XG5cbi8qKlxuICogIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIG1hZ2VudGEuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBtYWdlbnRhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ01hZ2VudGEoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDVdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGN5YW4uXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBjeWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0N5YW4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDZdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIHdoaXRlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgd2hpdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnV2hpdGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDddLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCBibGFjay5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJyaWdodC1ibGFja1xuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRCbGFjayhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDBdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCByZWQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBicmlnaHQtcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0JyaWdodFJlZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDFdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCBncmVlbi5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJyaWdodC1ncmVlblxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRHcmVlbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDJdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCB5ZWxsb3cuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBicmlnaHQteWVsbG93XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0JyaWdodFllbGxvdyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDNdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCBibHVlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LWJsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQnJpZ2h0Qmx1ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDRdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCBtYWdlbnRhLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LW1hZ2VudGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQnJpZ2h0TWFnZW50YShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDVdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCBjeWFuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LWN5YW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQnJpZ2h0Q3lhbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDZdLCA0OSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCB3aGl0ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJyaWdodC13aGl0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRXaGl0ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDddLCA0OSkpO1xufVxuXG4vKiBTcGVjaWFsIENvbG9yIFNlcXVlbmNlcyAqL1xuXG4vKipcbiAqIENsYW0gYW5kIHRydW5jYXRlIGNvbG9yIGNvZGVzXG4gKiBAcGFyYW0gblxuICogQHBhcmFtIG1heCBudW1iZXIgdG8gdHJ1bmNhdGUgdG9cbiAqIEBwYXJhbSBtaW4gbnVtYmVyIHRvIHRydW5jYXRlIGZyb21cbiAqL1xuZnVuY3Rpb24gY2xhbXBBbmRUcnVuY2F0ZShuOiBudW1iZXIsIG1heCA9IDI1NSwgbWluID0gMCk6IG51bWJlciB7XG4gIHJldHVybiBNYXRoLnRydW5jKE1hdGgubWF4KE1hdGgubWluKG4sIG1heCksIG1pbikpO1xufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHVzaW5nIHBhbGV0dGVkIDhiaXQgY29sb3JzLlxuICogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQU5TSV9lc2NhcGVfY29kZSM4LWJpdFxuICogQHBhcmFtIHN0ciB0ZXh0IGNvbG9yIHRvIGFwcGx5IHBhbGV0dGVkIDhiaXQgY29sb3JzIHRvXG4gKiBAcGFyYW0gY29sb3IgY29kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmdiOChzdHI6IHN0cmluZywgY29sb3I6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszOCwgNSwgY2xhbXBBbmRUcnVuY2F0ZShjb2xvcildLCAzOSkpO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHVzaW5nIHBhbGV0dGVkIDhiaXQgY29sb3JzLlxuICogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQU5TSV9lc2NhcGVfY29kZSM4LWJpdFxuICogQHBhcmFtIHN0ciB0ZXh0IGNvbG9yIHRvIGFwcGx5IHBhbGV0dGVkIDhiaXQgYmFja2dyb3VuZCBjb2xvcnMgdG9cbiAqIEBwYXJhbSBjb2xvciBjb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ1JnYjgoc3RyOiBzdHJpbmcsIGNvbG9yOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDgsIDUsIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IpXSwgNDkpKTtcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB1c2luZyAyNGJpdCByZ2IuXG4gKiBgY29sb3JgIGNhbiBiZSBhIG51bWJlciBpbiByYW5nZSBgMHgwMDAwMDBgIHRvIGAweGZmZmZmZmAgb3JcbiAqIGFuIGBSZ2JgLlxuICpcbiAqIFRvIHByb2R1Y2UgdGhlIGNvbG9yIG1hZ2VudGE6XG4gKlxuICogYGBgdHNcbiAqICAgICAgaW1wb3J0IHsgcmdiMjQgfSBmcm9tIFwiLi9jb2xvcnMudHNcIjtcbiAqICAgICAgcmdiMjQoXCJmb29cIiwgMHhmZjAwZmYpO1xuICogICAgICByZ2IyNChcImZvb1wiLCB7cjogMjU1LCBnOiAwLCBiOiAyNTV9KTtcbiAqIGBgYFxuICogQHBhcmFtIHN0ciB0ZXh0IGNvbG9yIHRvIGFwcGx5IDI0Yml0IHJnYiB0b1xuICogQHBhcmFtIGNvbG9yIGNvZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJnYjI0KHN0cjogc3RyaW5nLCBjb2xvcjogbnVtYmVyIHwgUmdiKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBjb2xvciA9PT0gXCJudW1iZXJcIikge1xuICAgIHJldHVybiBydW4oXG4gICAgICBzdHIsXG4gICAgICBjb2RlKFxuICAgICAgICBbMzgsIDIsIChjb2xvciA+PiAxNikgJiAweGZmLCAoY29sb3IgPj4gOCkgJiAweGZmLCBjb2xvciAmIDB4ZmZdLFxuICAgICAgICAzOSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcnVuKFxuICAgIHN0cixcbiAgICBjb2RlKFxuICAgICAgW1xuICAgICAgICAzOCxcbiAgICAgICAgMixcbiAgICAgICAgY2xhbXBBbmRUcnVuY2F0ZShjb2xvci5yKSxcbiAgICAgICAgY2xhbXBBbmRUcnVuY2F0ZShjb2xvci5nKSxcbiAgICAgICAgY2xhbXBBbmRUcnVuY2F0ZShjb2xvci5iKSxcbiAgICAgIF0sXG4gICAgICAzOSxcbiAgICApLFxuICApO1xufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHVzaW5nIDI0Yml0IHJnYi5cbiAqIGBjb2xvcmAgY2FuIGJlIGEgbnVtYmVyIGluIHJhbmdlIGAweDAwMDAwMGAgdG8gYDB4ZmZmZmZmYCBvclxuICogYW4gYFJnYmAuXG4gKlxuICogVG8gcHJvZHVjZSB0aGUgY29sb3IgbWFnZW50YTpcbiAqXG4gKiBgYGB0c1xuICogICAgICBpbXBvcnQgeyBiZ1JnYjI0IH0gZnJvbSBcIi4vY29sb3JzLnRzXCI7XG4gKiAgICAgIGJnUmdiMjQoXCJmb29cIiwgMHhmZjAwZmYpO1xuICogICAgICBiZ1JnYjI0KFwiZm9vXCIsIHtyOiAyNTUsIGc6IDAsIGI6IDI1NX0pO1xuICogYGBgXG4gKiBAcGFyYW0gc3RyIHRleHQgY29sb3IgdG8gYXBwbHkgMjRiaXQgcmdiIHRvXG4gKiBAcGFyYW0gY29sb3IgY29kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdSZ2IyNChzdHI6IHN0cmluZywgY29sb3I6IG51bWJlciB8IFJnYik6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgY29sb3IgPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gcnVuKFxuICAgICAgc3RyLFxuICAgICAgY29kZShcbiAgICAgICAgWzQ4LCAyLCAoY29sb3IgPj4gMTYpICYgMHhmZiwgKGNvbG9yID4+IDgpICYgMHhmZiwgY29sb3IgJiAweGZmXSxcbiAgICAgICAgNDksXG4gICAgICApLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJ1bihcbiAgICBzdHIsXG4gICAgY29kZShcbiAgICAgIFtcbiAgICAgICAgNDgsXG4gICAgICAgIDIsXG4gICAgICAgIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IuciksXG4gICAgICAgIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IuZyksXG4gICAgICAgIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IuYiksXG4gICAgICBdLFxuICAgICAgNDksXG4gICAgKSxcbiAgKTtcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2NoYWxrL2Fuc2ktcmVnZXgvYmxvYi8wMmZhODkzZDYxOWQzZGE4NTQxMWFjYzhmZDRlMmVlYTBlOTVhOWQ5L2luZGV4LmpzXG5jb25zdCBBTlNJX1BBVFRFUk4gPSBuZXcgUmVnRXhwKFxuICBbXG4gICAgXCJbXFxcXHUwMDFCXFxcXHUwMDlCXVtbXFxcXF0oKSM7P10qKD86KD86KD86KD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKykqfFthLXpBLVpcXFxcZF0rKD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKikqKT9cXFxcdTAwMDcpXCIsXG4gICAgXCIoPzooPzpcXFxcZHsxLDR9KD86O1xcXFxkezAsNH0pKik/W1xcXFxkQS1QUi1UWmNmLW5xLXV5PT48fl0pKVwiLFxuICBdLmpvaW4oXCJ8XCIpLFxuICBcImdcIixcbik7XG5cbi8qKlxuICogUmVtb3ZlIEFOU0kgZXNjYXBlIGNvZGVzIGZyb20gdGhlIHN0cmluZy5cbiAqIEBwYXJhbSBzdHJpbmcgdG8gcmVtb3ZlIEFOU0kgZXNjYXBlIGNvZGVzIGZyb21cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwQ29sb3Ioc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoQU5TSV9QQVRURVJOLCBcIlwiKTtcbn0iXSwibmFtZXMiOlsiZW5hYmxlZCIsInNldENvbG9yRW5hYmxlZCIsInZhbHVlIiwiZ2V0Q29sb3JFbmFibGVkIiwiY29kZSIsIm9wZW4iLCJjbG9zZSIsImpvaW4iLCJyZWdleHAiLCJSZWdFeHAiLCJydW4iLCJzdHIiLCJyZXBsYWNlIiwicmVzZXQiLCJib2xkIiwiZGltIiwiaXRhbGljIiwidW5kZXJsaW5lIiwiaW52ZXJzZSIsImhpZGRlbiIsInN0cmlrZXRocm91Z2giLCJibGFjayIsInJlZCIsImdyZWVuIiwieWVsbG93IiwiYmx1ZSIsIm1hZ2VudGEiLCJjeWFuIiwid2hpdGUiLCJncmF5IiwiYnJpZ2h0QmxhY2siLCJicmlnaHRSZWQiLCJicmlnaHRHcmVlbiIsImJyaWdodFllbGxvdyIsImJyaWdodEJsdWUiLCJicmlnaHRNYWdlbnRhIiwiYnJpZ2h0Q3lhbiIsImJyaWdodFdoaXRlIiwiYmdCbGFjayIsImJnUmVkIiwiYmdHcmVlbiIsImJnWWVsbG93IiwiYmdCbHVlIiwiYmdNYWdlbnRhIiwiYmdDeWFuIiwiYmdXaGl0ZSIsImJnQnJpZ2h0QmxhY2siLCJiZ0JyaWdodFJlZCIsImJnQnJpZ2h0R3JlZW4iLCJiZ0JyaWdodFllbGxvdyIsImJnQnJpZ2h0Qmx1ZSIsImJnQnJpZ2h0TWFnZW50YSIsImJnQnJpZ2h0Q3lhbiIsImJnQnJpZ2h0V2hpdGUiLCJjbGFtcEFuZFRydW5jYXRlIiwibiIsIm1heCIsIm1pbiIsIk1hdGgiLCJ0cnVuYyIsInJnYjgiLCJjb2xvciIsImJnUmdiOCIsInJnYjI0IiwiciIsImciLCJiIiwiYmdSZ2IyNCIsIkFOU0lfUEFUVEVSTiIsInN0cmlwQ29sb3IiLCJzdHJpbmciXSwibWFwcGluZ3MiOiJBQXNCQSxJQUFJQSxFQUFVLENBQUEsQ0FNZCxRQUFPLFNBQVNDLGdCQUFnQkMsQ0FBYyxDQUFFLENBSzlDRixFQUFVRSxDQUNaLENBQUMsQUFHRCxPQUFPLFNBQVNDLGlCQUEyQixDQUN6QyxPQUFPSCxDQUNULENBQUMsQUFPRCxTQUFTSSxFQUFLQyxDQUFjLENBQUVDLENBQWEsQ0FBUSxDQUNqRCxNQUFPLENBQ0xELEtBQU0sQ0FBQyxLQUFLLEVBQUVBLEVBQUtFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMvQkQsTUFBTyxDQUFDLEtBQUssRUFBRUEsRUFBTSxDQUFDLENBQUMsQ0FDdkJFLE9BQVEsQUFBSUMsT0FBTyxDQUFDLFFBQVEsRUFBRUgsRUFBTSxDQUFDLENBQUMsQ0FBRSxJQUMxQyxDQUNGLENBT0EsU0FBU0ksRUFBSUMsQ0FBVyxDQUFFUCxDQUFVLENBQVUsQ0FDNUMsT0FBT0osRUFDSCxDQUFDLEVBQUVJLEVBQUtDLElBQUksQ0FBQyxFQUFFTSxFQUFJQyxPQUFPLENBQUNSLEVBQUtJLE1BQU0sQ0FBRUosRUFBS0MsSUFBSSxFQUFFLEVBQUVELEVBQUtFLEtBQUssQ0FBQyxDQUFDLENBQ2pFSyxDQUFHLEFBQ1QsQ0FNQSxPQUFPLFNBQVNFLE1BQU1GLENBQVcsQ0FBVSxDQUN6QyxPQUFPRCxFQUFJQyxFQUFLUCxFQUFLLENBQUMsRUFBRSxDQUFFLEdBQzVCLENBQUMsQUFN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
1
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */ // Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
2
+ // A module to print ANSI terminal colors. Inspired by chalk, kleur, and colors
3
+ // on npm.
4
+ // https://deno.land/std@0.153.0/fmt/colors.ts?source
5
+ const noColor = false;
6
+ let enabled = !noColor;
7
+ /**
8
+ * Set changing text color to enabled or disabled
9
+ * @param value
10
+ */ export function setColorEnabled(value) {
11
+ if (noColor) {
12
+ return;
13
+ }
14
+ enabled = value;
15
+ }
16
+ /** Get whether text color change is enabled or disabled. */ export function getColorEnabled() {
17
+ return enabled;
18
+ }
19
+ /**
20
+ * Builds color code
21
+ * @param open
22
+ * @param close
23
+ */ function code(open, close) {
24
+ return {
25
+ open: `\x1b[${open.join(';')}m`,
26
+ close: `\x1b[${close}m`,
27
+ regexp: new RegExp(`\\x1b\\[${close}m`, 'g')
28
+ };
29
+ }
30
+ /**
31
+ * Applies color and background based on color code and its associated text
32
+ * @param str text to apply color settings to
33
+ * @param code color code to apply
34
+ */ function run(str, code) {
35
+ return enabled ? `${code.open}${str.replace(code.regexp, code.open)}${code.close}` : str;
36
+ }
37
+ /**
38
+ * Reset the text modified
39
+ * @param str text to reset
40
+ */ export function reset(str) {
41
+ return run(str, code([
42
+ 0
43
+ ], 0));
44
+ }
45
+ /**
46
+ * Make the text bold.
47
+ * @param str text to make bold
48
+ */ export function bold(str) {
49
+ return run(str, code([
50
+ 1
51
+ ], 22));
52
+ }
53
+ /**
54
+ * The text emits only a small amount of light.
55
+ * @param str text to dim
56
+ */ export function dim(str) {
57
+ return run(str, code([
58
+ 2
59
+ ], 22));
60
+ }
61
+ /**
62
+ * Make the text italic.
63
+ * @param str text to make italic
64
+ */ export function italic(str) {
65
+ return run(str, code([
66
+ 3
67
+ ], 23));
68
+ }
69
+ /**
70
+ * Make the text underline.
71
+ * @param str text to underline
72
+ */ export function underline(str) {
73
+ return run(str, code([
74
+ 4
75
+ ], 24));
76
+ }
77
+ /**
78
+ * Invert background color and text color.
79
+ * @param str text to invert its color
80
+ */ export function inverse(str) {
81
+ return run(str, code([
82
+ 7
83
+ ], 27));
84
+ }
85
+ /**
86
+ * Make the text hidden.
87
+ * @param str text to hide
88
+ */ export function hidden(str) {
89
+ return run(str, code([
90
+ 8
91
+ ], 28));
92
+ }
93
+ /**
94
+ * Put horizontal line through the center of the text.
95
+ * @param str text to strike through
96
+ */ export function strikethrough(str) {
97
+ return run(str, code([
98
+ 9
99
+ ], 29));
100
+ }
101
+ /**
102
+ * Set text color to black.
103
+ * @param str text to make black
104
+ */ export function black(str) {
105
+ return run(str, code([
106
+ 30
107
+ ], 39));
108
+ }
109
+ /**
110
+ * Set text color to red.
111
+ * @param str text to make red
112
+ */ export function red(str) {
113
+ return run(str, code([
114
+ 31
115
+ ], 39));
116
+ }
117
+ /**
118
+ * Set text color to green.
119
+ * @param str text to make green
120
+ */ export function green(str) {
121
+ return run(str, code([
122
+ 32
123
+ ], 39));
124
+ }
125
+ /**
126
+ * Set text color to yellow.
127
+ * @param str text to make yellow
128
+ */ export function yellow(str) {
129
+ return run(str, code([
130
+ 33
131
+ ], 39));
132
+ }
133
+ /**
134
+ * Set text color to blue.
135
+ * @param str text to make blue
136
+ */ export function blue(str) {
137
+ return run(str, code([
138
+ 34
139
+ ], 39));
140
+ }
141
+ /**
142
+ * Set text color to magenta.
143
+ * @param str text to make magenta
144
+ */ export function magenta(str) {
145
+ return run(str, code([
146
+ 35
147
+ ], 39));
148
+ }
149
+ /**
150
+ * Set text color to cyan.
151
+ * @param str text to make cyan
152
+ */ export function cyan(str) {
153
+ return run(str, code([
154
+ 36
155
+ ], 39));
156
+ }
157
+ /**
158
+ * Set text color to white.
159
+ * @param str text to make white
160
+ */ export function white(str) {
161
+ return run(str, code([
162
+ 37
163
+ ], 39));
164
+ }
165
+ /**
166
+ * Set text color to gray.
167
+ * @param str text to make gray
168
+ */ export function gray(str) {
169
+ return brightBlack(str);
170
+ }
171
+ /**
172
+ * Set text color to bright black.
173
+ * @param str text to make bright-black
174
+ */ export function brightBlack(str) {
175
+ return run(str, code([
176
+ 90
177
+ ], 39));
178
+ }
179
+ /**
180
+ * Set text color to bright red.
181
+ * @param str text to make bright-red
182
+ */ export function brightRed(str) {
183
+ return run(str, code([
184
+ 91
185
+ ], 39));
186
+ }
187
+ /**
188
+ * Set text color to bright green.
189
+ * @param str text to make bright-green
190
+ */ export function brightGreen(str) {
191
+ return run(str, code([
192
+ 92
193
+ ], 39));
194
+ }
195
+ /**
196
+ * Set text color to bright yellow.
197
+ * @param str text to make bright-yellow
198
+ */ export function brightYellow(str) {
199
+ return run(str, code([
200
+ 93
201
+ ], 39));
202
+ }
203
+ /**
204
+ * Set text color to bright blue.
205
+ * @param str text to make bright-blue
206
+ */ export function brightBlue(str) {
207
+ return run(str, code([
208
+ 94
209
+ ], 39));
210
+ }
211
+ /**
212
+ * Set text color to bright magenta.
213
+ * @param str text to make bright-magenta
214
+ */ export function brightMagenta(str) {
215
+ return run(str, code([
216
+ 95
217
+ ], 39));
218
+ }
219
+ /**
220
+ * Set text color to bright cyan.
221
+ * @param str text to make bright-cyan
222
+ */ export function brightCyan(str) {
223
+ return run(str, code([
224
+ 96
225
+ ], 39));
226
+ }
227
+ /**
228
+ * Set text color to bright white.
229
+ * @param str text to make bright-white
230
+ */ export function brightWhite(str) {
231
+ return run(str, code([
232
+ 97
233
+ ], 39));
234
+ }
235
+ /**
236
+ * Set background color to black.
237
+ * @param str text to make its background black
238
+ */ export function bgBlack(str) {
239
+ return run(str, code([
240
+ 40
241
+ ], 49));
242
+ }
243
+ /**
244
+ * Set background color to red.
245
+ * @param str text to make its background red
246
+ */ export function bgRed(str) {
247
+ return run(str, code([
248
+ 41
249
+ ], 49));
250
+ }
251
+ /**
252
+ * Set background color to green.
253
+ * @param str text to make its background green
254
+ */ export function bgGreen(str) {
255
+ return run(str, code([
256
+ 42
257
+ ], 49));
258
+ }
259
+ /**
260
+ * Set background color to yellow.
261
+ * @param str text to make its background yellow
262
+ */ export function bgYellow(str) {
263
+ return run(str, code([
264
+ 43
265
+ ], 49));
266
+ }
267
+ /**
268
+ * Set background color to blue.
269
+ * @param str text to make its background blue
270
+ */ export function bgBlue(str) {
271
+ return run(str, code([
272
+ 44
273
+ ], 49));
274
+ }
275
+ /**
276
+ * Set background color to magenta.
277
+ * @param str text to make its background magenta
278
+ */ export function bgMagenta(str) {
279
+ return run(str, code([
280
+ 45
281
+ ], 49));
282
+ }
283
+ /**
284
+ * Set background color to cyan.
285
+ * @param str text to make its background cyan
286
+ */ export function bgCyan(str) {
287
+ return run(str, code([
288
+ 46
289
+ ], 49));
290
+ }
291
+ /**
292
+ * Set background color to white.
293
+ * @param str text to make its background white
294
+ */ export function bgWhite(str) {
295
+ return run(str, code([
296
+ 47
297
+ ], 49));
298
+ }
299
+ /**
300
+ * Set background color to bright black.
301
+ * @param str text to make its background bright-black
302
+ */ export function bgBrightBlack(str) {
303
+ return run(str, code([
304
+ 100
305
+ ], 49));
306
+ }
307
+ /**
308
+ * Set background color to bright red.
309
+ * @param str text to make its background bright-red
310
+ */ export function bgBrightRed(str) {
311
+ return run(str, code([
312
+ 101
313
+ ], 49));
314
+ }
315
+ /**
316
+ * Set background color to bright green.
317
+ * @param str text to make its background bright-green
318
+ */ export function bgBrightGreen(str) {
319
+ return run(str, code([
320
+ 102
321
+ ], 49));
322
+ }
323
+ /**
324
+ * Set background color to bright yellow.
325
+ * @param str text to make its background bright-yellow
326
+ */ export function bgBrightYellow(str) {
327
+ return run(str, code([
328
+ 103
329
+ ], 49));
330
+ }
331
+ /**
332
+ * Set background color to bright blue.
333
+ * @param str text to make its background bright-blue
334
+ */ export function bgBrightBlue(str) {
335
+ return run(str, code([
336
+ 104
337
+ ], 49));
338
+ }
339
+ /**
340
+ * Set background color to bright magenta.
341
+ * @param str text to make its background bright-magenta
342
+ */ export function bgBrightMagenta(str) {
343
+ return run(str, code([
344
+ 105
345
+ ], 49));
346
+ }
347
+ /**
348
+ * Set background color to bright cyan.
349
+ * @param str text to make its background bright-cyan
350
+ */ export function bgBrightCyan(str) {
351
+ return run(str, code([
352
+ 106
353
+ ], 49));
354
+ }
355
+ /**
356
+ * Set background color to bright white.
357
+ * @param str text to make its background bright-white
358
+ */ export function bgBrightWhite(str) {
359
+ return run(str, code([
360
+ 107
361
+ ], 49));
362
+ }
363
+ /* Special Color Sequences */ /**
364
+ * Clam and truncate color codes
365
+ * @param n
366
+ * @param max number to truncate to
367
+ * @param min number to truncate from
368
+ */ function clampAndTruncate(n, max = 255, min = 0) {
369
+ return Math.trunc(Math.max(Math.min(n, max), min));
370
+ }
371
+ /**
372
+ * Set text color using paletted 8bit colors.
373
+ * https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit
374
+ * @param str text color to apply paletted 8bit colors to
375
+ * @param color code
376
+ */ export function rgb8(str, color) {
377
+ return run(str, code([
378
+ 38,
379
+ 5,
380
+ clampAndTruncate(color)
381
+ ], 39));
382
+ }
383
+ /**
384
+ * Set background color using paletted 8bit colors.
385
+ * https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit
386
+ * @param str text color to apply paletted 8bit background colors to
387
+ * @param color code
388
+ */ export function bgRgb8(str, color) {
389
+ return run(str, code([
390
+ 48,
391
+ 5,
392
+ clampAndTruncate(color)
393
+ ], 49));
394
+ }
395
+ /**
396
+ * Set text color using 24bit rgb.
397
+ * `color` can be a number in range `0x000000` to `0xffffff` or
398
+ * an `Rgb`.
399
+ *
400
+ * To produce the color magenta:
401
+ *
402
+ * ```ts
403
+ * import { rgb24 } from "./colors.ts";
404
+ * rgb24("foo", 0xff00ff);
405
+ * rgb24("foo", {r: 255, g: 0, b: 255});
406
+ * ```
407
+ * @param str text color to apply 24bit rgb to
408
+ * @param color code
409
+ */ export function rgb24(str, color) {
410
+ if (typeof color === 'number') {
411
+ return run(str, code([
412
+ 38,
413
+ 2,
414
+ color >> 16 & 0xff,
415
+ color >> 8 & 0xff,
416
+ color & 0xff
417
+ ], 39));
418
+ }
419
+ return run(str, code([
420
+ 38,
421
+ 2,
422
+ clampAndTruncate(color.r),
423
+ clampAndTruncate(color.g),
424
+ clampAndTruncate(color.b)
425
+ ], 39));
426
+ }
427
+ /**
428
+ * Set background color using 24bit rgb.
429
+ * `color` can be a number in range `0x000000` to `0xffffff` or
430
+ * an `Rgb`.
431
+ *
432
+ * To produce the color magenta:
433
+ *
434
+ * ```ts
435
+ * import { bgRgb24 } from "./colors.ts";
436
+ * bgRgb24("foo", 0xff00ff);
437
+ * bgRgb24("foo", {r: 255, g: 0, b: 255});
438
+ * ```
439
+ * @param str text color to apply 24bit rgb to
440
+ * @param color code
441
+ */ export function bgRgb24(str, color) {
442
+ if (typeof color === 'number') {
443
+ return run(str, code([
444
+ 48,
445
+ 2,
446
+ color >> 16 & 0xff,
447
+ color >> 8 & 0xff,
448
+ color & 0xff
449
+ ], 49));
450
+ }
451
+ return run(str, code([
452
+ 48,
453
+ 2,
454
+ clampAndTruncate(color.r),
455
+ clampAndTruncate(color.g),
456
+ clampAndTruncate(color.b)
457
+ ], 49));
458
+ }
459
+ // https://github.com/chalk/ansi-regex/blob/02fa893d619d3da85411acc8fd4e2eea0e95a9d9/index.js
460
+ const ANSI_PATTERN = new RegExp([
461
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
462
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))'
463
+ ].join('|'), 'g');
464
+ /**
465
+ * Remove ANSI escape codes from the string.
466
+ * @param string to remove ANSI escape codes from
467
+ */ export function stripColor(string) {
468
+ return string.replace(ANSI_PATTERN, '');
469
+ }
470
+
471
+ //# sourceMappingURL=colors.js.map