traicebox 0.1.5 → 0.1.6
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/README.md +16 -6
- package/dist/index.js +546 -3368
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -31,19 +31,6 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
31
31
|
return to;
|
|
32
32
|
};
|
|
33
33
|
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
34
|
-
var __returnValue = (v) => v;
|
|
35
|
-
function __exportSetter(name, newValue) {
|
|
36
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
37
|
-
}
|
|
38
|
-
var __export = (target, all) => {
|
|
39
|
-
for (var name in all)
|
|
40
|
-
__defProp(target, name, {
|
|
41
|
-
get: all[name],
|
|
42
|
-
enumerable: true,
|
|
43
|
-
configurable: true,
|
|
44
|
-
set: __exportSetter.bind(all, name)
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
34
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
48
35
|
|
|
49
36
|
// node_modules/emoji-regex/index.js
|
|
@@ -390,8 +377,8 @@ var require_directives = __commonJS((exports) => {
|
|
|
390
377
|
if (prefix) {
|
|
391
378
|
try {
|
|
392
379
|
return prefix + decodeURIComponent(suffix);
|
|
393
|
-
} catch (
|
|
394
|
-
onError(String(
|
|
380
|
+
} catch (error) {
|
|
381
|
+
onError(String(error));
|
|
395
382
|
return null;
|
|
396
383
|
}
|
|
397
384
|
}
|
|
@@ -482,9 +469,9 @@ var require_anchors = __commonJS((exports) => {
|
|
|
482
469
|
if (typeof ref === "object" && ref.anchor && (identity.isScalar(ref.node) || identity.isCollection(ref.node))) {
|
|
483
470
|
ref.node.anchor = ref.anchor;
|
|
484
471
|
} else {
|
|
485
|
-
const
|
|
486
|
-
|
|
487
|
-
throw
|
|
472
|
+
const error = new Error("Failed to resolve repeated object (this should not happen)");
|
|
473
|
+
error.source = source;
|
|
474
|
+
throw error;
|
|
488
475
|
}
|
|
489
476
|
}
|
|
490
477
|
},
|
|
@@ -1647,12 +1634,12 @@ var require_log = __commonJS((exports) => {
|
|
|
1647
1634
|
if (logLevel === "debug")
|
|
1648
1635
|
console.log(...messages);
|
|
1649
1636
|
}
|
|
1650
|
-
function warn(logLevel,
|
|
1637
|
+
function warn(logLevel, warning) {
|
|
1651
1638
|
if (logLevel === "debug" || logLevel === "warn") {
|
|
1652
1639
|
if (typeof node_process.emitWarning === "function")
|
|
1653
|
-
node_process.emitWarning(
|
|
1640
|
+
node_process.emitWarning(warning);
|
|
1654
1641
|
else
|
|
1655
|
-
console.warn(
|
|
1642
|
+
console.warn(warning);
|
|
1656
1643
|
}
|
|
1657
1644
|
}
|
|
1658
1645
|
exports.debug = debug;
|
|
@@ -2276,14 +2263,14 @@ var require_bool = __commonJS((exports) => {
|
|
|
2276
2263
|
|
|
2277
2264
|
// node_modules/yaml/dist/stringify/stringifyNumber.js
|
|
2278
2265
|
var require_stringifyNumber = __commonJS((exports) => {
|
|
2279
|
-
function stringifyNumber({ format:
|
|
2266
|
+
function stringifyNumber({ format: format3, minFractionDigits, tag, value }) {
|
|
2280
2267
|
if (typeof value === "bigint")
|
|
2281
2268
|
return String(value);
|
|
2282
2269
|
const num = typeof value === "number" ? value : Number(value);
|
|
2283
2270
|
if (!isFinite(num))
|
|
2284
2271
|
return isNaN(num) ? ".nan" : num < 0 ? "-.inf" : ".inf";
|
|
2285
2272
|
let n = Object.is(value, -0) ? "-0" : JSON.stringify(value);
|
|
2286
|
-
if (!
|
|
2273
|
+
if (!format3 && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") && /^\d/.test(n)) {
|
|
2287
2274
|
let i = n.indexOf(".");
|
|
2288
2275
|
if (i < 0) {
|
|
2289
2276
|
i = n.length;
|
|
@@ -3490,12 +3477,12 @@ var require_errors = __commonJS((exports) => {
|
|
|
3490
3477
|
super("YAMLWarning", pos, code, message);
|
|
3491
3478
|
}
|
|
3492
3479
|
}
|
|
3493
|
-
var prettifyError = (src, lc) => (
|
|
3494
|
-
if (
|
|
3480
|
+
var prettifyError = (src, lc) => (error) => {
|
|
3481
|
+
if (error.pos[0] === -1)
|
|
3495
3482
|
return;
|
|
3496
|
-
|
|
3497
|
-
const { line, col } =
|
|
3498
|
-
|
|
3483
|
+
error.linePos = error.pos.map((pos) => lc.linePos(pos));
|
|
3484
|
+
const { line, col } = error.linePos[0];
|
|
3485
|
+
error.message += ` at line ${line}, column ${col}`;
|
|
3499
3486
|
let ci = col - 1;
|
|
3500
3487
|
let lineStr = src.substring(lc.lineStarts[line - 1], lc.lineStarts[line]).replace(/[\n\r]+$/, "");
|
|
3501
3488
|
if (ci >= 60 && lineStr.length > 80) {
|
|
@@ -3514,12 +3501,12 @@ var require_errors = __commonJS((exports) => {
|
|
|
3514
3501
|
}
|
|
3515
3502
|
if (/[^ ]/.test(lineStr)) {
|
|
3516
3503
|
let count = 1;
|
|
3517
|
-
const end =
|
|
3504
|
+
const end = error.linePos[1];
|
|
3518
3505
|
if (end?.line === line && end.col > col) {
|
|
3519
3506
|
count = Math.max(1, Math.min(end.col - col, 80 - ci));
|
|
3520
3507
|
}
|
|
3521
3508
|
const pointer = " ".repeat(ci) + "^".repeat(count);
|
|
3522
|
-
|
|
3509
|
+
error.message += `:
|
|
3523
3510
|
|
|
3524
3511
|
${lineStr}
|
|
3525
3512
|
${pointer}
|
|
@@ -4309,7 +4296,7 @@ var require_resolve_block_scalar = __commonJS((exports) => {
|
|
|
4309
4296
|
const mode = source[0];
|
|
4310
4297
|
let indent = 0;
|
|
4311
4298
|
let chomp = "";
|
|
4312
|
-
let
|
|
4299
|
+
let error = -1;
|
|
4313
4300
|
for (let i = 1;i < source.length; ++i) {
|
|
4314
4301
|
const ch = source[i];
|
|
4315
4302
|
if (!chomp && (ch === "-" || ch === "+"))
|
|
@@ -4318,12 +4305,12 @@ var require_resolve_block_scalar = __commonJS((exports) => {
|
|
|
4318
4305
|
const n = Number(ch);
|
|
4319
4306
|
if (!indent && n)
|
|
4320
4307
|
indent = n;
|
|
4321
|
-
else if (
|
|
4322
|
-
|
|
4308
|
+
else if (error === -1)
|
|
4309
|
+
error = offset + i;
|
|
4323
4310
|
}
|
|
4324
4311
|
}
|
|
4325
|
-
if (
|
|
4326
|
-
onError(
|
|
4312
|
+
if (error !== -1)
|
|
4313
|
+
onError(error, "UNEXPECTED_TOKEN", `Block scalar header includes extra characters: ${source}`);
|
|
4327
4314
|
let hasSpace = false;
|
|
4328
4315
|
let comment = "";
|
|
4329
4316
|
let length = source.length;
|
|
@@ -4609,8 +4596,8 @@ var require_compose_scalar = __commonJS((exports) => {
|
|
|
4609
4596
|
try {
|
|
4610
4597
|
const res = tag.resolve(value, (msg) => onError(tagToken ?? token, "TAG_RESOLVE_FAILED", msg), ctx.options);
|
|
4611
4598
|
scalar = identity.isScalar(res) ? res : new Scalar.Scalar(res);
|
|
4612
|
-
} catch (
|
|
4613
|
-
const msg =
|
|
4599
|
+
} catch (error) {
|
|
4600
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
4614
4601
|
onError(tagToken ?? token, "TAG_RESOLVE_FAILED", msg);
|
|
4615
4602
|
scalar = new Scalar.Scalar(value);
|
|
4616
4603
|
}
|
|
@@ -4727,8 +4714,8 @@ var require_compose_node = __commonJS((exports) => {
|
|
|
4727
4714
|
node = composeCollection.composeCollection(CN, ctx, token, props, onError);
|
|
4728
4715
|
if (anchor)
|
|
4729
4716
|
node.anchor = anchor.source.substring(1);
|
|
4730
|
-
} catch (
|
|
4731
|
-
const message =
|
|
4717
|
+
} catch (error) {
|
|
4718
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
4732
4719
|
onError(token, "RESOURCE_EXHAUSTION", message);
|
|
4733
4720
|
}
|
|
4734
4721
|
break;
|
|
@@ -4888,9 +4875,9 @@ var require_composer = __commonJS((exports) => {
|
|
|
4888
4875
|
this.prelude = [];
|
|
4889
4876
|
this.errors = [];
|
|
4890
4877
|
this.warnings = [];
|
|
4891
|
-
this.onError = (source, code, message,
|
|
4878
|
+
this.onError = (source, code, message, warning) => {
|
|
4892
4879
|
const pos = getErrorPos(source);
|
|
4893
|
-
if (
|
|
4880
|
+
if (warning)
|
|
4894
4881
|
this.warnings.push(new errors.YAMLWarning(pos, code, message));
|
|
4895
4882
|
else
|
|
4896
4883
|
this.errors.push(new errors.YAMLParseError(pos, code, message));
|
|
@@ -4949,10 +4936,10 @@ ${cb}` : comment;
|
|
|
4949
4936
|
console.dir(token, { depth: null });
|
|
4950
4937
|
switch (token.type) {
|
|
4951
4938
|
case "directive":
|
|
4952
|
-
this.directives.add(token.source, (offset, message,
|
|
4939
|
+
this.directives.add(token.source, (offset, message, warning) => {
|
|
4953
4940
|
const pos = getErrorPos(token);
|
|
4954
4941
|
pos[0] += offset;
|
|
4955
|
-
this.onError(pos, "BAD_DIRECTIVE", message,
|
|
4942
|
+
this.onError(pos, "BAD_DIRECTIVE", message, warning);
|
|
4956
4943
|
});
|
|
4957
4944
|
this.prelude.push(token.source);
|
|
4958
4945
|
this.atDirectives = true;
|
|
@@ -4977,11 +4964,11 @@ ${cb}` : comment;
|
|
|
4977
4964
|
break;
|
|
4978
4965
|
case "error": {
|
|
4979
4966
|
const msg = token.source ? `${token.message}: ${JSON.stringify(token.source)}` : token.message;
|
|
4980
|
-
const
|
|
4967
|
+
const error = new errors.YAMLParseError(getErrorPos(token), "UNEXPECTED_TOKEN", msg);
|
|
4981
4968
|
if (this.atDirectives || !this.doc)
|
|
4982
|
-
this.errors.push(
|
|
4969
|
+
this.errors.push(error);
|
|
4983
4970
|
else
|
|
4984
|
-
this.doc.errors.push(
|
|
4971
|
+
this.doc.errors.push(error);
|
|
4985
4972
|
break;
|
|
4986
4973
|
}
|
|
4987
4974
|
case "doc-end": {
|
|
@@ -6254,8 +6241,8 @@ var require_parser = __commonJS((exports) => {
|
|
|
6254
6241
|
peek(n) {
|
|
6255
6242
|
return this.stack[this.stack.length - n];
|
|
6256
6243
|
}
|
|
6257
|
-
*pop(
|
|
6258
|
-
const token =
|
|
6244
|
+
*pop(error) {
|
|
6245
|
+
const token = error ?? this.stack.pop();
|
|
6259
6246
|
if (!token) {
|
|
6260
6247
|
const message = "Tried to pop an empty stack";
|
|
6261
6248
|
yield { type: "error", offset: this.offset, source: "", message };
|
|
@@ -6952,7 +6939,7 @@ var require_public_api = __commonJS((exports) => {
|
|
|
6952
6939
|
const doc = parseDocument(src, options);
|
|
6953
6940
|
if (!doc)
|
|
6954
6941
|
return null;
|
|
6955
|
-
doc.warnings.forEach((
|
|
6942
|
+
doc.warnings.forEach((warning) => log.warn(doc.options.logLevel, warning));
|
|
6956
6943
|
if (doc.errors.length > 0) {
|
|
6957
6944
|
if (doc.options.logLevel !== "silent")
|
|
6958
6945
|
throw doc.errors[0];
|
|
@@ -7411,7 +7398,7 @@ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
|
|
|
7411
7398
|
return 1;
|
|
7412
7399
|
}
|
|
7413
7400
|
|
|
7414
|
-
// node_modules/
|
|
7401
|
+
// node_modules/string-width/index.js
|
|
7415
7402
|
var import_emoji_regex = __toESM(require_emoji_regex(), 1);
|
|
7416
7403
|
var segmenter = new Intl.Segmenter;
|
|
7417
7404
|
var defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
|
|
@@ -7460,55 +7447,6 @@ function stringWidth(string, options = {}) {
|
|
|
7460
7447
|
return width;
|
|
7461
7448
|
}
|
|
7462
7449
|
|
|
7463
|
-
// node_modules/wrap-ansi/node_modules/string-width/index.js
|
|
7464
|
-
var import_emoji_regex2 = __toESM(require_emoji_regex(), 1);
|
|
7465
|
-
var segmenter2 = new Intl.Segmenter;
|
|
7466
|
-
var defaultIgnorableCodePointRegex2 = /^\p{Default_Ignorable_Code_Point}$/u;
|
|
7467
|
-
function stringWidth2(string, options = {}) {
|
|
7468
|
-
if (typeof string !== "string" || string.length === 0) {
|
|
7469
|
-
return 0;
|
|
7470
|
-
}
|
|
7471
|
-
const {
|
|
7472
|
-
ambiguousIsNarrow = true,
|
|
7473
|
-
countAnsiEscapeCodes = false
|
|
7474
|
-
} = options;
|
|
7475
|
-
if (!countAnsiEscapeCodes) {
|
|
7476
|
-
string = stripAnsi(string);
|
|
7477
|
-
}
|
|
7478
|
-
if (string.length === 0) {
|
|
7479
|
-
return 0;
|
|
7480
|
-
}
|
|
7481
|
-
let width = 0;
|
|
7482
|
-
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
|
|
7483
|
-
for (const { segment: character } of segmenter2.segment(string)) {
|
|
7484
|
-
const codePoint = character.codePointAt(0);
|
|
7485
|
-
if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
|
|
7486
|
-
continue;
|
|
7487
|
-
}
|
|
7488
|
-
if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
|
|
7489
|
-
continue;
|
|
7490
|
-
}
|
|
7491
|
-
if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
|
|
7492
|
-
continue;
|
|
7493
|
-
}
|
|
7494
|
-
if (codePoint >= 55296 && codePoint <= 57343) {
|
|
7495
|
-
continue;
|
|
7496
|
-
}
|
|
7497
|
-
if (codePoint >= 65024 && codePoint <= 65039) {
|
|
7498
|
-
continue;
|
|
7499
|
-
}
|
|
7500
|
-
if (defaultIgnorableCodePointRegex2.test(character)) {
|
|
7501
|
-
continue;
|
|
7502
|
-
}
|
|
7503
|
-
if (import_emoji_regex2.default().test(character)) {
|
|
7504
|
-
width += 2;
|
|
7505
|
-
continue;
|
|
7506
|
-
}
|
|
7507
|
-
width += eastAsianWidth(codePoint, eastAsianWidthOptions);
|
|
7508
|
-
}
|
|
7509
|
-
return width;
|
|
7510
|
-
}
|
|
7511
|
-
|
|
7512
7450
|
// node_modules/ansi-styles/index.js
|
|
7513
7451
|
var ANSI_BACKGROUND_OFFSET = 10;
|
|
7514
7452
|
var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
|
|
@@ -7699,14 +7637,14 @@ var ANSI_SGR_TERMINATOR = "m";
|
|
|
7699
7637
|
var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
|
|
7700
7638
|
var wrapAnsiCode = (code) => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
|
|
7701
7639
|
var wrapAnsiHyperlink = (url) => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;
|
|
7702
|
-
var wordLengths = (string) => string.split(" ").map((character) =>
|
|
7640
|
+
var wordLengths = (string) => string.split(" ").map((character) => stringWidth(character));
|
|
7703
7641
|
var wrapWord = (rows, word, columns) => {
|
|
7704
7642
|
const characters = [...word];
|
|
7705
7643
|
let isInsideEscape = false;
|
|
7706
7644
|
let isInsideLinkEscape = false;
|
|
7707
|
-
let visible =
|
|
7645
|
+
let visible = stringWidth(stripAnsi(rows.at(-1)));
|
|
7708
7646
|
for (const [index, character] of characters.entries()) {
|
|
7709
|
-
const characterLength =
|
|
7647
|
+
const characterLength = stringWidth(character);
|
|
7710
7648
|
if (visible + characterLength <= columns) {
|
|
7711
7649
|
rows[rows.length - 1] += character;
|
|
7712
7650
|
} else {
|
|
@@ -7743,7 +7681,7 @@ var stringVisibleTrimSpacesRight = (string) => {
|
|
|
7743
7681
|
const words = string.split(" ");
|
|
7744
7682
|
let last = words.length;
|
|
7745
7683
|
while (last > 0) {
|
|
7746
|
-
if (
|
|
7684
|
+
if (stringWidth(words[last - 1]) > 0) {
|
|
7747
7685
|
break;
|
|
7748
7686
|
}
|
|
7749
7687
|
last--;
|
|
@@ -7766,7 +7704,7 @@ var exec = (string, columns, options = {}) => {
|
|
|
7766
7704
|
if (options.trim !== false) {
|
|
7767
7705
|
rows[rows.length - 1] = rows.at(-1).trimStart();
|
|
7768
7706
|
}
|
|
7769
|
-
let rowLength =
|
|
7707
|
+
let rowLength = stringWidth(rows.at(-1));
|
|
7770
7708
|
if (index !== 0) {
|
|
7771
7709
|
if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
|
|
7772
7710
|
rows.push("");
|
|
@@ -8885,55 +8823,6 @@ function getProcessArgvBin() {
|
|
|
8885
8823
|
return process.argv[getProcessArgvBinIndex()];
|
|
8886
8824
|
}
|
|
8887
8825
|
|
|
8888
|
-
// node_modules/yargs/node_modules/string-width/index.js
|
|
8889
|
-
var import_emoji_regex3 = __toESM(require_emoji_regex(), 1);
|
|
8890
|
-
var segmenter3 = new Intl.Segmenter;
|
|
8891
|
-
var defaultIgnorableCodePointRegex3 = /^\p{Default_Ignorable_Code_Point}$/u;
|
|
8892
|
-
function stringWidth3(string, options = {}) {
|
|
8893
|
-
if (typeof string !== "string" || string.length === 0) {
|
|
8894
|
-
return 0;
|
|
8895
|
-
}
|
|
8896
|
-
const {
|
|
8897
|
-
ambiguousIsNarrow = true,
|
|
8898
|
-
countAnsiEscapeCodes = false
|
|
8899
|
-
} = options;
|
|
8900
|
-
if (!countAnsiEscapeCodes) {
|
|
8901
|
-
string = stripAnsi(string);
|
|
8902
|
-
}
|
|
8903
|
-
if (string.length === 0) {
|
|
8904
|
-
return 0;
|
|
8905
|
-
}
|
|
8906
|
-
let width = 0;
|
|
8907
|
-
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
|
|
8908
|
-
for (const { segment: character } of segmenter3.segment(string)) {
|
|
8909
|
-
const codePoint = character.codePointAt(0);
|
|
8910
|
-
if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
|
|
8911
|
-
continue;
|
|
8912
|
-
}
|
|
8913
|
-
if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
|
|
8914
|
-
continue;
|
|
8915
|
-
}
|
|
8916
|
-
if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
|
|
8917
|
-
continue;
|
|
8918
|
-
}
|
|
8919
|
-
if (codePoint >= 55296 && codePoint <= 57343) {
|
|
8920
|
-
continue;
|
|
8921
|
-
}
|
|
8922
|
-
if (codePoint >= 65024 && codePoint <= 65039) {
|
|
8923
|
-
continue;
|
|
8924
|
-
}
|
|
8925
|
-
if (defaultIgnorableCodePointRegex3.test(character)) {
|
|
8926
|
-
continue;
|
|
8927
|
-
}
|
|
8928
|
-
if (import_emoji_regex3.default().test(character)) {
|
|
8929
|
-
width += 2;
|
|
8930
|
-
continue;
|
|
8931
|
-
}
|
|
8932
|
-
width += eastAsianWidth(codePoint, eastAsianWidthOptions);
|
|
8933
|
-
}
|
|
8934
|
-
return width;
|
|
8935
|
-
}
|
|
8936
|
-
|
|
8937
8826
|
// node_modules/y18n/build/lib/platform-shims/node.js
|
|
8938
8827
|
import { readFileSync as readFileSync2, statSync as statSync2, writeFile } from "fs";
|
|
8939
8828
|
import { format as format2 } from "util";
|
|
@@ -9166,7 +9055,7 @@ var esm_default = {
|
|
|
9166
9055
|
const callerFile = import_get_caller_file.default(3);
|
|
9167
9056
|
return callerFile.match(/^file:\/\//) ? fileURLToPath(callerFile) : callerFile;
|
|
9168
9057
|
},
|
|
9169
|
-
stringWidth
|
|
9058
|
+
stringWidth,
|
|
9170
9059
|
y18n: y18n_default({
|
|
9171
9060
|
directory: resolve4(__dirname2, "../../../locales"),
|
|
9172
9061
|
updateFiles: false
|
|
@@ -12500,3216 +12389,497 @@ import { spawn as spawn2 } from "node:child_process";
|
|
|
12500
12389
|
import { chmodSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
12501
12390
|
import { join as join3 } from "node:path";
|
|
12502
12391
|
|
|
12503
|
-
// node_modules/
|
|
12504
|
-
|
|
12505
|
-
|
|
12506
|
-
|
|
12507
|
-
|
|
12508
|
-
var
|
|
12509
|
-
var
|
|
12510
|
-
var
|
|
12511
|
-
|
|
12512
|
-
|
|
12513
|
-
|
|
12514
|
-
|
|
12515
|
-
|
|
12516
|
-
|
|
12517
|
-
|
|
12518
|
-
|
|
12519
|
-
|
|
12520
|
-
|
|
12521
|
-
|
|
12522
|
-
strikethrough: [9, 29]
|
|
12523
|
-
},
|
|
12524
|
-
color: {
|
|
12525
|
-
black: [30, 39],
|
|
12526
|
-
red: [31, 39],
|
|
12527
|
-
green: [32, 39],
|
|
12528
|
-
yellow: [33, 39],
|
|
12529
|
-
blue: [34, 39],
|
|
12530
|
-
magenta: [35, 39],
|
|
12531
|
-
cyan: [36, 39],
|
|
12532
|
-
white: [37, 39],
|
|
12533
|
-
blackBright: [90, 39],
|
|
12534
|
-
gray: [90, 39],
|
|
12535
|
-
grey: [90, 39],
|
|
12536
|
-
redBright: [91, 39],
|
|
12537
|
-
greenBright: [92, 39],
|
|
12538
|
-
yellowBright: [93, 39],
|
|
12539
|
-
blueBright: [94, 39],
|
|
12540
|
-
magentaBright: [95, 39],
|
|
12541
|
-
cyanBright: [96, 39],
|
|
12542
|
-
whiteBright: [97, 39]
|
|
12543
|
-
},
|
|
12544
|
-
bgColor: {
|
|
12545
|
-
bgBlack: [40, 49],
|
|
12546
|
-
bgRed: [41, 49],
|
|
12547
|
-
bgGreen: [42, 49],
|
|
12548
|
-
bgYellow: [43, 49],
|
|
12549
|
-
bgBlue: [44, 49],
|
|
12550
|
-
bgMagenta: [45, 49],
|
|
12551
|
-
bgCyan: [46, 49],
|
|
12552
|
-
bgWhite: [47, 49],
|
|
12553
|
-
bgBlackBright: [100, 49],
|
|
12554
|
-
bgGray: [100, 49],
|
|
12555
|
-
bgGrey: [100, 49],
|
|
12556
|
-
bgRedBright: [101, 49],
|
|
12557
|
-
bgGreenBright: [102, 49],
|
|
12558
|
-
bgYellowBright: [103, 49],
|
|
12559
|
-
bgBlueBright: [104, 49],
|
|
12560
|
-
bgMagentaBright: [105, 49],
|
|
12561
|
-
bgCyanBright: [106, 49],
|
|
12562
|
-
bgWhiteBright: [107, 49]
|
|
12563
|
-
}
|
|
12392
|
+
// node_modules/picospinner/dist/constants.js
|
|
12393
|
+
var DEFAULT_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
12394
|
+
var DEFAULT_TICK_MS = 50;
|
|
12395
|
+
var HIDE_CURSOR = "\x1B[?25l";
|
|
12396
|
+
var SHOW_CURSOR = "\x1B[?25h";
|
|
12397
|
+
var CLEAR_LINE = "\r\x1B[K";
|
|
12398
|
+
var UP_LINE = "\x1B[1A";
|
|
12399
|
+
var DEFAULT_SYMBOLS = {
|
|
12400
|
+
succeed: "✔",
|
|
12401
|
+
fail: "✖",
|
|
12402
|
+
warn: "!",
|
|
12403
|
+
info: "ℹ"
|
|
12404
|
+
};
|
|
12405
|
+
var DEFAULT_COLORS = {
|
|
12406
|
+
succeed: "green",
|
|
12407
|
+
fail: "red",
|
|
12408
|
+
warn: "yellow",
|
|
12409
|
+
info: "blue",
|
|
12410
|
+
spinner: "cyan"
|
|
12564
12411
|
};
|
|
12565
|
-
var modifierNames2 = Object.keys(styles2.modifier);
|
|
12566
|
-
var foregroundColorNames2 = Object.keys(styles2.color);
|
|
12567
|
-
var backgroundColorNames2 = Object.keys(styles2.bgColor);
|
|
12568
|
-
var colorNames2 = [...foregroundColorNames2, ...backgroundColorNames2];
|
|
12569
|
-
function assembleStyles2() {
|
|
12570
|
-
const codes = new Map;
|
|
12571
|
-
for (const [groupName, group] of Object.entries(styles2)) {
|
|
12572
|
-
for (const [styleName, style] of Object.entries(group)) {
|
|
12573
|
-
styles2[styleName] = {
|
|
12574
|
-
open: `\x1B[${style[0]}m`,
|
|
12575
|
-
close: `\x1B[${style[1]}m`
|
|
12576
|
-
};
|
|
12577
|
-
group[styleName] = styles2[styleName];
|
|
12578
|
-
codes.set(style[0], style[1]);
|
|
12579
|
-
}
|
|
12580
|
-
Object.defineProperty(styles2, groupName, {
|
|
12581
|
-
value: group,
|
|
12582
|
-
enumerable: false
|
|
12583
|
-
});
|
|
12584
|
-
}
|
|
12585
|
-
Object.defineProperty(styles2, "codes", {
|
|
12586
|
-
value: codes,
|
|
12587
|
-
enumerable: false
|
|
12588
|
-
});
|
|
12589
|
-
styles2.color.close = "\x1B[39m";
|
|
12590
|
-
styles2.bgColor.close = "\x1B[49m";
|
|
12591
|
-
styles2.color.ansi = wrapAnsi162();
|
|
12592
|
-
styles2.color.ansi256 = wrapAnsi2562();
|
|
12593
|
-
styles2.color.ansi16m = wrapAnsi16m2();
|
|
12594
|
-
styles2.bgColor.ansi = wrapAnsi162(ANSI_BACKGROUND_OFFSET2);
|
|
12595
|
-
styles2.bgColor.ansi256 = wrapAnsi2562(ANSI_BACKGROUND_OFFSET2);
|
|
12596
|
-
styles2.bgColor.ansi16m = wrapAnsi16m2(ANSI_BACKGROUND_OFFSET2);
|
|
12597
|
-
Object.defineProperties(styles2, {
|
|
12598
|
-
rgbToAnsi256: {
|
|
12599
|
-
value(red, green, blue) {
|
|
12600
|
-
if (red === green && green === blue) {
|
|
12601
|
-
if (red < 8) {
|
|
12602
|
-
return 16;
|
|
12603
|
-
}
|
|
12604
|
-
if (red > 248) {
|
|
12605
|
-
return 231;
|
|
12606
|
-
}
|
|
12607
|
-
return Math.round((red - 8) / 247 * 24) + 232;
|
|
12608
|
-
}
|
|
12609
|
-
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
12610
|
-
},
|
|
12611
|
-
enumerable: false
|
|
12612
|
-
},
|
|
12613
|
-
hexToRgb: {
|
|
12614
|
-
value(hex) {
|
|
12615
|
-
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
12616
|
-
if (!matches) {
|
|
12617
|
-
return [0, 0, 0];
|
|
12618
|
-
}
|
|
12619
|
-
let [colorString] = matches;
|
|
12620
|
-
if (colorString.length === 3) {
|
|
12621
|
-
colorString = [...colorString].map((character) => character + character).join("");
|
|
12622
|
-
}
|
|
12623
|
-
const integer = Number.parseInt(colorString, 16);
|
|
12624
|
-
return [
|
|
12625
|
-
integer >> 16 & 255,
|
|
12626
|
-
integer >> 8 & 255,
|
|
12627
|
-
integer & 255
|
|
12628
|
-
];
|
|
12629
|
-
},
|
|
12630
|
-
enumerable: false
|
|
12631
|
-
},
|
|
12632
|
-
hexToAnsi256: {
|
|
12633
|
-
value: (hex) => styles2.rgbToAnsi256(...styles2.hexToRgb(hex)),
|
|
12634
|
-
enumerable: false
|
|
12635
|
-
},
|
|
12636
|
-
ansi256ToAnsi: {
|
|
12637
|
-
value(code) {
|
|
12638
|
-
if (code < 8) {
|
|
12639
|
-
return 30 + code;
|
|
12640
|
-
}
|
|
12641
|
-
if (code < 16) {
|
|
12642
|
-
return 90 + (code - 8);
|
|
12643
|
-
}
|
|
12644
|
-
let red;
|
|
12645
|
-
let green;
|
|
12646
|
-
let blue;
|
|
12647
|
-
if (code >= 232) {
|
|
12648
|
-
red = ((code - 232) * 10 + 8) / 255;
|
|
12649
|
-
green = red;
|
|
12650
|
-
blue = red;
|
|
12651
|
-
} else {
|
|
12652
|
-
code -= 16;
|
|
12653
|
-
const remainder = code % 36;
|
|
12654
|
-
red = Math.floor(code / 36) / 5;
|
|
12655
|
-
green = Math.floor(remainder / 6) / 5;
|
|
12656
|
-
blue = remainder % 6 / 5;
|
|
12657
|
-
}
|
|
12658
|
-
const value = Math.max(red, green, blue) * 2;
|
|
12659
|
-
if (value === 0) {
|
|
12660
|
-
return 30;
|
|
12661
|
-
}
|
|
12662
|
-
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
12663
|
-
if (value === 2) {
|
|
12664
|
-
result += 60;
|
|
12665
|
-
}
|
|
12666
|
-
return result;
|
|
12667
|
-
},
|
|
12668
|
-
enumerable: false
|
|
12669
|
-
},
|
|
12670
|
-
rgbToAnsi: {
|
|
12671
|
-
value: (red, green, blue) => styles2.ansi256ToAnsi(styles2.rgbToAnsi256(red, green, blue)),
|
|
12672
|
-
enumerable: false
|
|
12673
|
-
},
|
|
12674
|
-
hexToAnsi: {
|
|
12675
|
-
value: (hex) => styles2.ansi256ToAnsi(styles2.hexToAnsi256(hex)),
|
|
12676
|
-
enumerable: false
|
|
12677
|
-
}
|
|
12678
|
-
});
|
|
12679
|
-
return styles2;
|
|
12680
|
-
}
|
|
12681
|
-
var ansiStyles2 = assembleStyles2();
|
|
12682
|
-
var ansi_styles_default2 = ansiStyles2;
|
|
12683
12412
|
|
|
12684
|
-
// node_modules/
|
|
12685
|
-
|
|
12686
|
-
|
|
12687
|
-
|
|
12688
|
-
|
|
12689
|
-
|
|
12690
|
-
|
|
12691
|
-
|
|
12692
|
-
|
|
12413
|
+
// node_modules/picospinner/dist/string-chars.js
|
|
12414
|
+
var nonSpacing = [
|
|
12415
|
+
[768, 879],
|
|
12416
|
+
[1155, 1158],
|
|
12417
|
+
[1160, 1161],
|
|
12418
|
+
[1425, 1469],
|
|
12419
|
+
[1471, 1471],
|
|
12420
|
+
[1473, 1474],
|
|
12421
|
+
[1476, 1477],
|
|
12422
|
+
[1479, 1479],
|
|
12423
|
+
[1536, 1539],
|
|
12424
|
+
[1552, 1557],
|
|
12425
|
+
[1611, 1630],
|
|
12426
|
+
[1648, 1648],
|
|
12427
|
+
[1750, 1764],
|
|
12428
|
+
[1767, 1768],
|
|
12429
|
+
[1770, 1773],
|
|
12430
|
+
[1807, 1807],
|
|
12431
|
+
[1809, 1809],
|
|
12432
|
+
[1840, 1866],
|
|
12433
|
+
[1958, 1968],
|
|
12434
|
+
[2027, 2035],
|
|
12435
|
+
[2305, 2306],
|
|
12436
|
+
[2364, 2364],
|
|
12437
|
+
[2369, 2376],
|
|
12438
|
+
[2381, 2381],
|
|
12439
|
+
[2385, 2388],
|
|
12440
|
+
[2402, 2403],
|
|
12441
|
+
[2433, 2433],
|
|
12442
|
+
[2492, 2492],
|
|
12443
|
+
[2497, 2500],
|
|
12444
|
+
[2509, 2509],
|
|
12445
|
+
[2530, 2531],
|
|
12446
|
+
[2561, 2562],
|
|
12447
|
+
[2620, 2620],
|
|
12448
|
+
[2625, 2626],
|
|
12449
|
+
[2631, 2632],
|
|
12450
|
+
[2635, 2637],
|
|
12451
|
+
[2672, 2673],
|
|
12452
|
+
[2689, 2690],
|
|
12453
|
+
[2748, 2748],
|
|
12454
|
+
[2753, 2757],
|
|
12455
|
+
[2759, 2760],
|
|
12456
|
+
[2765, 2765],
|
|
12457
|
+
[2786, 2787],
|
|
12458
|
+
[2817, 2817],
|
|
12459
|
+
[2876, 2876],
|
|
12460
|
+
[2879, 2879],
|
|
12461
|
+
[2881, 2883],
|
|
12462
|
+
[2893, 2893],
|
|
12463
|
+
[2902, 2902],
|
|
12464
|
+
[2946, 2946],
|
|
12465
|
+
[3008, 3008],
|
|
12466
|
+
[3021, 3021],
|
|
12467
|
+
[3134, 3136],
|
|
12468
|
+
[3142, 3144],
|
|
12469
|
+
[3146, 3149],
|
|
12470
|
+
[3157, 3158],
|
|
12471
|
+
[3260, 3260],
|
|
12472
|
+
[3263, 3263],
|
|
12473
|
+
[3270, 3270],
|
|
12474
|
+
[3276, 3277],
|
|
12475
|
+
[3298, 3299],
|
|
12476
|
+
[3393, 3395],
|
|
12477
|
+
[3405, 3405],
|
|
12478
|
+
[3530, 3530],
|
|
12479
|
+
[3538, 3540],
|
|
12480
|
+
[3542, 3542],
|
|
12481
|
+
[3633, 3633],
|
|
12482
|
+
[3636, 3642],
|
|
12483
|
+
[3655, 3662],
|
|
12484
|
+
[3761, 3761],
|
|
12485
|
+
[3764, 3769],
|
|
12486
|
+
[3771, 3772],
|
|
12487
|
+
[3784, 3789],
|
|
12488
|
+
[3864, 3865],
|
|
12489
|
+
[3893, 3893],
|
|
12490
|
+
[3895, 3895],
|
|
12491
|
+
[3897, 3897],
|
|
12492
|
+
[3953, 3966],
|
|
12493
|
+
[3968, 3972],
|
|
12494
|
+
[3974, 3975],
|
|
12495
|
+
[3984, 3991],
|
|
12496
|
+
[3993, 4028],
|
|
12497
|
+
[4038, 4038],
|
|
12498
|
+
[4141, 4144],
|
|
12499
|
+
[4146, 4146],
|
|
12500
|
+
[4150, 4151],
|
|
12501
|
+
[4153, 4153],
|
|
12502
|
+
[4184, 4185],
|
|
12503
|
+
[4448, 4607],
|
|
12504
|
+
[4959, 4959],
|
|
12505
|
+
[5906, 5908],
|
|
12506
|
+
[5938, 5940],
|
|
12507
|
+
[5970, 5971],
|
|
12508
|
+
[6002, 6003],
|
|
12509
|
+
[6068, 6069],
|
|
12510
|
+
[6071, 6077],
|
|
12511
|
+
[6086, 6086],
|
|
12512
|
+
[6089, 6099],
|
|
12513
|
+
[6109, 6109],
|
|
12514
|
+
[6155, 6157],
|
|
12515
|
+
[6313, 6313],
|
|
12516
|
+
[6432, 6434],
|
|
12517
|
+
[6439, 6440],
|
|
12518
|
+
[6450, 6450],
|
|
12519
|
+
[6457, 6459],
|
|
12520
|
+
[6679, 6680],
|
|
12521
|
+
[6912, 6915],
|
|
12522
|
+
[6964, 6964],
|
|
12523
|
+
[6966, 6970],
|
|
12524
|
+
[6972, 6972],
|
|
12525
|
+
[6978, 6978],
|
|
12526
|
+
[7019, 7027],
|
|
12527
|
+
[7616, 7626],
|
|
12528
|
+
[7678, 7679],
|
|
12529
|
+
[8203, 8207],
|
|
12530
|
+
[8234, 8238],
|
|
12531
|
+
[8288, 8291],
|
|
12532
|
+
[8298, 8303],
|
|
12533
|
+
[8400, 8431],
|
|
12534
|
+
[12330, 12335],
|
|
12535
|
+
[12441, 12442],
|
|
12536
|
+
[43014, 43014],
|
|
12537
|
+
[43019, 43019],
|
|
12538
|
+
[43045, 43046],
|
|
12539
|
+
[64286, 64286],
|
|
12540
|
+
[65024, 65039],
|
|
12541
|
+
[65056, 65059],
|
|
12542
|
+
[65279, 65279],
|
|
12543
|
+
[65529, 65531],
|
|
12544
|
+
[68097, 68099],
|
|
12545
|
+
[68101, 68102],
|
|
12546
|
+
[68108, 68111],
|
|
12547
|
+
[68152, 68154],
|
|
12548
|
+
[68159, 68159],
|
|
12549
|
+
[119143, 119145],
|
|
12550
|
+
[119155, 119170],
|
|
12551
|
+
[119173, 119179],
|
|
12552
|
+
[119210, 119213],
|
|
12553
|
+
[119362, 119364],
|
|
12554
|
+
[917505, 917505],
|
|
12555
|
+
[917536, 917631],
|
|
12556
|
+
[917760, 917999]
|
|
12557
|
+
];
|
|
12558
|
+
|
|
12559
|
+
// node_modules/picospinner/dist/string-width.js
|
|
12560
|
+
var EMOJI_REGEX = /(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F)(?:\u200d(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F))*/uy;
|
|
12561
|
+
var ANSI_REGEX = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y;
|
|
12562
|
+
var MODIFIER_REGEX = /\p{M}+/uy;
|
|
12563
|
+
var EMOJI_LENGTH = 2;
|
|
12564
|
+
function binarySearch(ucs, intervals) {
|
|
12565
|
+
let min = 0;
|
|
12566
|
+
let mid;
|
|
12567
|
+
let max = intervals.length - 1;
|
|
12568
|
+
if (ucs < intervals[0][0] || ucs > intervals[max][1])
|
|
12569
|
+
return false;
|
|
12570
|
+
while (max >= min) {
|
|
12571
|
+
mid = Math.floor((min + max) / 2);
|
|
12572
|
+
if (ucs > intervals[mid][1])
|
|
12573
|
+
min = mid + 1;
|
|
12574
|
+
else if (ucs < intervals[mid][0])
|
|
12575
|
+
max = mid - 1;
|
|
12576
|
+
else
|
|
12577
|
+
return true;
|
|
12578
|
+
}
|
|
12579
|
+
return false;
|
|
12693
12580
|
}
|
|
12694
|
-
|
|
12695
|
-
|
|
12696
|
-
|
|
12697
|
-
|
|
12698
|
-
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
12699
|
-
flagForceColor = 1;
|
|
12581
|
+
function getCharWidth(ucs) {
|
|
12582
|
+
if (ucs === 0 || ucs < 32 || ucs >= 127 && ucs < 160 || binarySearch(ucs, nonSpacing))
|
|
12583
|
+
return 0;
|
|
12584
|
+
return ucs >= 4352 && (ucs <= 4447 || ucs == 9001 || ucs == 9002 || ucs >= 11904 && ucs <= 42191 && ucs != 12351 || ucs >= 44032 && ucs <= 55203 || ucs >= 63744 && ucs <= 64255 || ucs >= 65040 && ucs <= 65049 || ucs >= 65072 && ucs <= 65135 || ucs >= 65280 && ucs <= 65376 || ucs >= 65504 && ucs <= 65510 || ucs >= 131072 && ucs <= 196605 || ucs >= 196608 && ucs <= 262141) ? 2 : 1;
|
|
12700
12585
|
}
|
|
12701
|
-
function
|
|
12702
|
-
|
|
12703
|
-
|
|
12704
|
-
|
|
12586
|
+
function getStringWidth(str) {
|
|
12587
|
+
let width = 0;
|
|
12588
|
+
let charCode = 0;
|
|
12589
|
+
for (let i = 0;i < str.length; i++) {
|
|
12590
|
+
charCode = str[i].charCodeAt(0);
|
|
12591
|
+
if (charCode >= 32 && charCode < 127) {
|
|
12592
|
+
width++;
|
|
12593
|
+
continue;
|
|
12705
12594
|
}
|
|
12706
|
-
|
|
12707
|
-
|
|
12595
|
+
ANSI_REGEX.lastIndex = i;
|
|
12596
|
+
if (ANSI_REGEX.test(str)) {
|
|
12597
|
+
i = ANSI_REGEX.lastIndex - 1;
|
|
12598
|
+
continue;
|
|
12599
|
+
}
|
|
12600
|
+
EMOJI_REGEX.lastIndex = i;
|
|
12601
|
+
if (EMOJI_REGEX.test(str)) {
|
|
12602
|
+
i = EMOJI_REGEX.lastIndex - 1;
|
|
12603
|
+
width += EMOJI_LENGTH;
|
|
12604
|
+
continue;
|
|
12605
|
+
}
|
|
12606
|
+
MODIFIER_REGEX.lastIndex = i;
|
|
12607
|
+
if (MODIFIER_REGEX.test(str)) {
|
|
12608
|
+
i = MODIFIER_REGEX.lastIndex - 1;
|
|
12609
|
+
continue;
|
|
12708
12610
|
}
|
|
12709
|
-
|
|
12611
|
+
width += getCharWidth(charCode);
|
|
12710
12612
|
}
|
|
12613
|
+
return width;
|
|
12711
12614
|
}
|
|
12712
|
-
|
|
12713
|
-
|
|
12714
|
-
|
|
12615
|
+
|
|
12616
|
+
// node_modules/picospinner/dist/string-lines.js
|
|
12617
|
+
function countLines(str, maxWidth) {
|
|
12618
|
+
const lines = str.split(`
|
|
12619
|
+
`);
|
|
12620
|
+
let lineCount = lines.length;
|
|
12621
|
+
if (maxWidth === Infinity)
|
|
12622
|
+
return lineCount;
|
|
12623
|
+
for (const line of str.split(`
|
|
12624
|
+
`)) {
|
|
12625
|
+
lineCount += Math.max(Math.ceil(getStringWidth(line) / maxWidth) - 1, 0);
|
|
12626
|
+
}
|
|
12627
|
+
return lineCount;
|
|
12628
|
+
}
|
|
12629
|
+
|
|
12630
|
+
// node_modules/picospinner/dist/renderer.js
|
|
12631
|
+
class TextComponent {
|
|
12632
|
+
text;
|
|
12633
|
+
onChange;
|
|
12634
|
+
onFinish;
|
|
12635
|
+
finished = false;
|
|
12636
|
+
newLineEnding = true;
|
|
12637
|
+
constructor(text) {
|
|
12638
|
+
this.text = text;
|
|
12639
|
+
}
|
|
12640
|
+
setText(text) {
|
|
12641
|
+
this.text = text;
|
|
12642
|
+
if (typeof this.onChange === "function")
|
|
12643
|
+
this.onChange();
|
|
12644
|
+
}
|
|
12645
|
+
finish() {
|
|
12646
|
+
if (!this.finished && typeof this.onFinish === "function")
|
|
12647
|
+
this.onFinish();
|
|
12648
|
+
this.finished = true;
|
|
12649
|
+
}
|
|
12650
|
+
output() {
|
|
12651
|
+
return this.text;
|
|
12652
|
+
}
|
|
12653
|
+
disableNewLineEnding() {
|
|
12654
|
+
this.newLineEnding = false;
|
|
12655
|
+
}
|
|
12656
|
+
}
|
|
12657
|
+
|
|
12658
|
+
class Renderer {
|
|
12659
|
+
hideCursor;
|
|
12660
|
+
components = [];
|
|
12661
|
+
lastLinesAmt = 0;
|
|
12662
|
+
terminalWidth = Infinity;
|
|
12663
|
+
finishedComponents = 0;
|
|
12664
|
+
outputBuffer = "";
|
|
12665
|
+
constructor(hideCursor = true) {
|
|
12666
|
+
this.hideCursor = hideCursor;
|
|
12667
|
+
}
|
|
12668
|
+
addComponent(component) {
|
|
12669
|
+
this.components.push(component);
|
|
12670
|
+
component.onChange = this.render.bind(this);
|
|
12671
|
+
component.onFinish = this.onComponentFinish.bind(this);
|
|
12672
|
+
if (process.stdout.getWindowSize)
|
|
12673
|
+
this.terminalWidth = process.stdout.getWindowSize()[0];
|
|
12674
|
+
this.render();
|
|
12715
12675
|
}
|
|
12716
|
-
|
|
12717
|
-
|
|
12718
|
-
|
|
12719
|
-
|
|
12720
|
-
|
|
12721
|
-
};
|
|
12722
|
-
}
|
|
12723
|
-
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
12724
|
-
const noFlagForceColor = envForceColor();
|
|
12725
|
-
if (noFlagForceColor !== undefined) {
|
|
12726
|
-
flagForceColor = noFlagForceColor;
|
|
12727
|
-
}
|
|
12728
|
-
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
12729
|
-
if (forceColor === 0) {
|
|
12730
|
-
return 0;
|
|
12731
|
-
}
|
|
12732
|
-
if (sniffFlags) {
|
|
12733
|
-
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
12734
|
-
return 3;
|
|
12735
|
-
}
|
|
12736
|
-
if (hasFlag("color=256")) {
|
|
12737
|
-
return 2;
|
|
12738
|
-
}
|
|
12739
|
-
}
|
|
12740
|
-
if ("TF_BUILD" in env2 && "AGENT_NAME" in env2) {
|
|
12741
|
-
return 1;
|
|
12742
|
-
}
|
|
12743
|
-
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
12744
|
-
return 0;
|
|
12745
|
-
}
|
|
12746
|
-
const min = forceColor || 0;
|
|
12747
|
-
if (env2.TERM === "dumb") {
|
|
12748
|
-
return min;
|
|
12749
|
-
}
|
|
12750
|
-
if (process2.platform === "win32") {
|
|
12751
|
-
const osRelease = os.release().split(".");
|
|
12752
|
-
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
12753
|
-
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
12754
|
-
}
|
|
12755
|
-
return 1;
|
|
12756
|
-
}
|
|
12757
|
-
if ("CI" in env2) {
|
|
12758
|
-
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env2))) {
|
|
12759
|
-
return 3;
|
|
12760
|
-
}
|
|
12761
|
-
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env2)) || env2.CI_NAME === "codeship") {
|
|
12762
|
-
return 1;
|
|
12763
|
-
}
|
|
12764
|
-
return min;
|
|
12765
|
-
}
|
|
12766
|
-
if ("TEAMCITY_VERSION" in env2) {
|
|
12767
|
-
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env2.TEAMCITY_VERSION) ? 1 : 0;
|
|
12768
|
-
}
|
|
12769
|
-
if (env2.COLORTERM === "truecolor") {
|
|
12770
|
-
return 3;
|
|
12771
|
-
}
|
|
12772
|
-
if (env2.TERM === "xterm-kitty") {
|
|
12773
|
-
return 3;
|
|
12774
|
-
}
|
|
12775
|
-
if (env2.TERM === "xterm-ghostty") {
|
|
12776
|
-
return 3;
|
|
12777
|
-
}
|
|
12778
|
-
if (env2.TERM === "wezterm") {
|
|
12779
|
-
return 3;
|
|
12780
|
-
}
|
|
12781
|
-
if ("TERM_PROGRAM" in env2) {
|
|
12782
|
-
const version = Number.parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
12783
|
-
switch (env2.TERM_PROGRAM) {
|
|
12784
|
-
case "iTerm.app": {
|
|
12785
|
-
return version >= 3 ? 3 : 2;
|
|
12786
|
-
}
|
|
12787
|
-
case "Apple_Terminal": {
|
|
12788
|
-
return 2;
|
|
12789
|
-
}
|
|
12790
|
-
}
|
|
12791
|
-
}
|
|
12792
|
-
if (/-256(color)?$/i.test(env2.TERM)) {
|
|
12793
|
-
return 2;
|
|
12794
|
-
}
|
|
12795
|
-
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env2.TERM)) {
|
|
12796
|
-
return 1;
|
|
12797
|
-
}
|
|
12798
|
-
if ("COLORTERM" in env2) {
|
|
12799
|
-
return 1;
|
|
12800
|
-
}
|
|
12801
|
-
return min;
|
|
12802
|
-
}
|
|
12803
|
-
function createSupportsColor(stream, options = {}) {
|
|
12804
|
-
const level = _supportsColor(stream, {
|
|
12805
|
-
streamIsTTY: stream && stream.isTTY,
|
|
12806
|
-
...options
|
|
12807
|
-
});
|
|
12808
|
-
return translateLevel(level);
|
|
12809
|
-
}
|
|
12810
|
-
var supportsColor = {
|
|
12811
|
-
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
12812
|
-
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
12813
|
-
};
|
|
12814
|
-
var supports_color_default = supportsColor;
|
|
12815
|
-
|
|
12816
|
-
// node_modules/chalk/source/utilities.js
|
|
12817
|
-
function stringReplaceAll(string, substring, replacer) {
|
|
12818
|
-
let index = string.indexOf(substring);
|
|
12819
|
-
if (index === -1) {
|
|
12820
|
-
return string;
|
|
12821
|
-
}
|
|
12822
|
-
const substringLength = substring.length;
|
|
12823
|
-
let endIndex = 0;
|
|
12824
|
-
let returnValue = "";
|
|
12825
|
-
do {
|
|
12826
|
-
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
12827
|
-
endIndex = index + substringLength;
|
|
12828
|
-
index = string.indexOf(substring, endIndex);
|
|
12829
|
-
} while (index !== -1);
|
|
12830
|
-
returnValue += string.slice(endIndex);
|
|
12831
|
-
return returnValue;
|
|
12832
|
-
}
|
|
12833
|
-
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
12834
|
-
let endIndex = 0;
|
|
12835
|
-
let returnValue = "";
|
|
12836
|
-
do {
|
|
12837
|
-
const gotCR = string[index - 1] === "\r";
|
|
12838
|
-
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
|
|
12839
|
-
` : `
|
|
12840
|
-
`) + postfix;
|
|
12841
|
-
endIndex = index + 1;
|
|
12842
|
-
index = string.indexOf(`
|
|
12843
|
-
`, endIndex);
|
|
12844
|
-
} while (index !== -1);
|
|
12845
|
-
returnValue += string.slice(endIndex);
|
|
12846
|
-
return returnValue;
|
|
12847
|
-
}
|
|
12848
|
-
|
|
12849
|
-
// node_modules/chalk/source/index.js
|
|
12850
|
-
var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
|
|
12851
|
-
var GENERATOR = Symbol("GENERATOR");
|
|
12852
|
-
var STYLER = Symbol("STYLER");
|
|
12853
|
-
var IS_EMPTY = Symbol("IS_EMPTY");
|
|
12854
|
-
var levelMapping = [
|
|
12855
|
-
"ansi",
|
|
12856
|
-
"ansi",
|
|
12857
|
-
"ansi256",
|
|
12858
|
-
"ansi16m"
|
|
12859
|
-
];
|
|
12860
|
-
var styles3 = Object.create(null);
|
|
12861
|
-
var applyOptions = (object, options = {}) => {
|
|
12862
|
-
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
12863
|
-
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
12864
|
-
}
|
|
12865
|
-
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
12866
|
-
object.level = options.level === undefined ? colorLevel : options.level;
|
|
12867
|
-
};
|
|
12868
|
-
var chalkFactory = (options) => {
|
|
12869
|
-
const chalk = (...strings) => strings.join(" ");
|
|
12870
|
-
applyOptions(chalk, options);
|
|
12871
|
-
Object.setPrototypeOf(chalk, createChalk.prototype);
|
|
12872
|
-
return chalk;
|
|
12873
|
-
};
|
|
12874
|
-
function createChalk(options) {
|
|
12875
|
-
return chalkFactory(options);
|
|
12876
|
-
}
|
|
12877
|
-
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
12878
|
-
for (const [styleName, style] of Object.entries(ansi_styles_default2)) {
|
|
12879
|
-
styles3[styleName] = {
|
|
12880
|
-
get() {
|
|
12881
|
-
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
12882
|
-
Object.defineProperty(this, styleName, { value: builder });
|
|
12883
|
-
return builder;
|
|
12884
|
-
}
|
|
12885
|
-
};
|
|
12886
|
-
}
|
|
12887
|
-
styles3.visible = {
|
|
12888
|
-
get() {
|
|
12889
|
-
const builder = createBuilder(this, this[STYLER], true);
|
|
12890
|
-
Object.defineProperty(this, "visible", { value: builder });
|
|
12891
|
-
return builder;
|
|
12892
|
-
}
|
|
12893
|
-
};
|
|
12894
|
-
var getModelAnsi = (model, level, type, ...arguments_) => {
|
|
12895
|
-
if (model === "rgb") {
|
|
12896
|
-
if (level === "ansi16m") {
|
|
12897
|
-
return ansi_styles_default2[type].ansi16m(...arguments_);
|
|
12898
|
-
}
|
|
12899
|
-
if (level === "ansi256") {
|
|
12900
|
-
return ansi_styles_default2[type].ansi256(ansi_styles_default2.rgbToAnsi256(...arguments_));
|
|
12901
|
-
}
|
|
12902
|
-
return ansi_styles_default2[type].ansi(ansi_styles_default2.rgbToAnsi(...arguments_));
|
|
12903
|
-
}
|
|
12904
|
-
if (model === "hex") {
|
|
12905
|
-
return getModelAnsi("rgb", level, type, ...ansi_styles_default2.hexToRgb(...arguments_));
|
|
12906
|
-
}
|
|
12907
|
-
return ansi_styles_default2[type][model](...arguments_);
|
|
12908
|
-
};
|
|
12909
|
-
var usedModels = ["rgb", "hex", "ansi256"];
|
|
12910
|
-
for (const model of usedModels) {
|
|
12911
|
-
styles3[model] = {
|
|
12912
|
-
get() {
|
|
12913
|
-
const { level } = this;
|
|
12914
|
-
return function(...arguments_) {
|
|
12915
|
-
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default2.color.close, this[STYLER]);
|
|
12916
|
-
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
12917
|
-
};
|
|
12918
|
-
}
|
|
12919
|
-
};
|
|
12920
|
-
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
12921
|
-
styles3[bgModel] = {
|
|
12922
|
-
get() {
|
|
12923
|
-
const { level } = this;
|
|
12924
|
-
return function(...arguments_) {
|
|
12925
|
-
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default2.bgColor.close, this[STYLER]);
|
|
12926
|
-
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
12927
|
-
};
|
|
12928
|
-
}
|
|
12929
|
-
};
|
|
12930
|
-
}
|
|
12931
|
-
var proto = Object.defineProperties(() => {}, {
|
|
12932
|
-
...styles3,
|
|
12933
|
-
level: {
|
|
12934
|
-
enumerable: true,
|
|
12935
|
-
get() {
|
|
12936
|
-
return this[GENERATOR].level;
|
|
12937
|
-
},
|
|
12938
|
-
set(level) {
|
|
12939
|
-
this[GENERATOR].level = level;
|
|
12676
|
+
onComponentFinish() {
|
|
12677
|
+
this.finishedComponents++;
|
|
12678
|
+
if (this.finishedComponents === this.components.length) {
|
|
12679
|
+
this._reset();
|
|
12680
|
+
process.stdout.write(SHOW_CURSOR);
|
|
12940
12681
|
}
|
|
12941
12682
|
}
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
closeAll = close;
|
|
12949
|
-
} else {
|
|
12950
|
-
openAll = parent.openAll + open;
|
|
12951
|
-
closeAll = close + parent.closeAll;
|
|
12952
|
-
}
|
|
12953
|
-
return {
|
|
12954
|
-
open,
|
|
12955
|
-
close,
|
|
12956
|
-
openAll,
|
|
12957
|
-
closeAll,
|
|
12958
|
-
parent
|
|
12959
|
-
};
|
|
12960
|
-
};
|
|
12961
|
-
var createBuilder = (self, _styler, _isEmpty) => {
|
|
12962
|
-
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
12963
|
-
Object.setPrototypeOf(builder, proto);
|
|
12964
|
-
builder[GENERATOR] = self;
|
|
12965
|
-
builder[STYLER] = _styler;
|
|
12966
|
-
builder[IS_EMPTY] = _isEmpty;
|
|
12967
|
-
return builder;
|
|
12968
|
-
};
|
|
12969
|
-
var applyStyle = (self, string) => {
|
|
12970
|
-
if (self.level <= 0 || !string) {
|
|
12971
|
-
return self[IS_EMPTY] ? "" : string;
|
|
12972
|
-
}
|
|
12973
|
-
let styler = self[STYLER];
|
|
12974
|
-
if (styler === undefined) {
|
|
12975
|
-
return string;
|
|
12976
|
-
}
|
|
12977
|
-
const { openAll, closeAll } = styler;
|
|
12978
|
-
if (string.includes("\x1B")) {
|
|
12979
|
-
while (styler !== undefined) {
|
|
12980
|
-
string = stringReplaceAll(string, styler.close, styler.open);
|
|
12981
|
-
styler = styler.parent;
|
|
12982
|
-
}
|
|
12983
|
-
}
|
|
12984
|
-
const lfIndex = string.indexOf(`
|
|
12985
|
-
`);
|
|
12986
|
-
if (lfIndex !== -1) {
|
|
12987
|
-
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
12988
|
-
}
|
|
12989
|
-
return openAll + string + closeAll;
|
|
12990
|
-
};
|
|
12991
|
-
Object.defineProperties(createChalk.prototype, styles3);
|
|
12992
|
-
var chalk = createChalk();
|
|
12993
|
-
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
12994
|
-
var source_default = chalk;
|
|
12995
|
-
|
|
12996
|
-
// node_modules/cli-cursor/index.js
|
|
12997
|
-
import process5 from "node:process";
|
|
12998
|
-
|
|
12999
|
-
// node_modules/restore-cursor/index.js
|
|
13000
|
-
import process4 from "node:process";
|
|
13001
|
-
|
|
13002
|
-
// node_modules/mimic-function/index.js
|
|
13003
|
-
var copyProperty = (to, from, property, ignoreNonConfigurable) => {
|
|
13004
|
-
if (property === "length" || property === "prototype") {
|
|
13005
|
-
return;
|
|
13006
|
-
}
|
|
13007
|
-
if (property === "arguments" || property === "caller") {
|
|
13008
|
-
return;
|
|
13009
|
-
}
|
|
13010
|
-
const toDescriptor = Object.getOwnPropertyDescriptor(to, property);
|
|
13011
|
-
const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);
|
|
13012
|
-
if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
|
|
13013
|
-
return;
|
|
13014
|
-
}
|
|
13015
|
-
Object.defineProperty(to, property, fromDescriptor);
|
|
13016
|
-
};
|
|
13017
|
-
var canCopyProperty = function(toDescriptor, fromDescriptor) {
|
|
13018
|
-
return toDescriptor === undefined || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
|
|
13019
|
-
};
|
|
13020
|
-
var changePrototype = (to, from) => {
|
|
13021
|
-
const fromPrototype = Object.getPrototypeOf(from);
|
|
13022
|
-
if (fromPrototype === Object.getPrototypeOf(to)) {
|
|
13023
|
-
return;
|
|
13024
|
-
}
|
|
13025
|
-
Object.setPrototypeOf(to, fromPrototype);
|
|
13026
|
-
};
|
|
13027
|
-
var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/
|
|
13028
|
-
${fromBody}`;
|
|
13029
|
-
var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
|
|
13030
|
-
var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
|
|
13031
|
-
var changeToString = (to, from, name) => {
|
|
13032
|
-
const withName = name === "" ? "" : `with ${name.trim()}() `;
|
|
13033
|
-
const newToString = wrappedToString.bind(null, withName, from.toString());
|
|
13034
|
-
Object.defineProperty(newToString, "name", toStringName);
|
|
13035
|
-
const { writable, enumerable, configurable } = toStringDescriptor;
|
|
13036
|
-
Object.defineProperty(to, "toString", { value: newToString, writable, enumerable, configurable });
|
|
13037
|
-
};
|
|
13038
|
-
function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
|
|
13039
|
-
const { name } = to;
|
|
13040
|
-
for (const property of Reflect.ownKeys(from)) {
|
|
13041
|
-
copyProperty(to, from, property, ignoreNonConfigurable);
|
|
13042
|
-
}
|
|
13043
|
-
changePrototype(to, from);
|
|
13044
|
-
changeToString(to, from, name);
|
|
13045
|
-
return to;
|
|
13046
|
-
}
|
|
13047
|
-
|
|
13048
|
-
// node_modules/onetime/index.js
|
|
13049
|
-
var calledFunctions = new WeakMap;
|
|
13050
|
-
var onetime = (function_, options = {}) => {
|
|
13051
|
-
if (typeof function_ !== "function") {
|
|
13052
|
-
throw new TypeError("Expected a function");
|
|
13053
|
-
}
|
|
13054
|
-
let returnValue;
|
|
13055
|
-
let callCount = 0;
|
|
13056
|
-
const functionName = function_.displayName || function_.name || "<anonymous>";
|
|
13057
|
-
const onetime2 = function(...arguments_) {
|
|
13058
|
-
calledFunctions.set(onetime2, ++callCount);
|
|
13059
|
-
if (callCount === 1) {
|
|
13060
|
-
returnValue = function_.apply(this, arguments_);
|
|
13061
|
-
function_ = undefined;
|
|
13062
|
-
} else if (options.throw === true) {
|
|
13063
|
-
throw new Error(`Function \`${functionName}\` can only be called once`);
|
|
13064
|
-
}
|
|
13065
|
-
return returnValue;
|
|
13066
|
-
};
|
|
13067
|
-
mimicFunction(onetime2, function_);
|
|
13068
|
-
calledFunctions.set(onetime2, callCount);
|
|
13069
|
-
return onetime2;
|
|
13070
|
-
};
|
|
13071
|
-
onetime.callCount = (function_) => {
|
|
13072
|
-
if (!calledFunctions.has(function_)) {
|
|
13073
|
-
throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);
|
|
13074
|
-
}
|
|
13075
|
-
return calledFunctions.get(function_);
|
|
13076
|
-
};
|
|
13077
|
-
var onetime_default = onetime;
|
|
13078
|
-
|
|
13079
|
-
// node_modules/signal-exit/dist/mjs/signals.js
|
|
13080
|
-
var signals = [];
|
|
13081
|
-
signals.push("SIGHUP", "SIGINT", "SIGTERM");
|
|
13082
|
-
if (process.platform !== "win32") {
|
|
13083
|
-
signals.push("SIGALRM", "SIGABRT", "SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
|
|
13084
|
-
}
|
|
13085
|
-
if (process.platform === "linux") {
|
|
13086
|
-
signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
|
|
13087
|
-
}
|
|
13088
|
-
|
|
13089
|
-
// node_modules/signal-exit/dist/mjs/index.js
|
|
13090
|
-
var processOk = (process3) => !!process3 && typeof process3 === "object" && typeof process3.removeListener === "function" && typeof process3.emit === "function" && typeof process3.reallyExit === "function" && typeof process3.listeners === "function" && typeof process3.kill === "function" && typeof process3.pid === "number" && typeof process3.on === "function";
|
|
13091
|
-
var kExitEmitter = Symbol.for("signal-exit emitter");
|
|
13092
|
-
var global = globalThis;
|
|
13093
|
-
var ObjectDefineProperty = Object.defineProperty.bind(Object);
|
|
13094
|
-
|
|
13095
|
-
class Emitter {
|
|
13096
|
-
emitted = {
|
|
13097
|
-
afterExit: false,
|
|
13098
|
-
exit: false
|
|
13099
|
-
};
|
|
13100
|
-
listeners = {
|
|
13101
|
-
afterExit: [],
|
|
13102
|
-
exit: []
|
|
13103
|
-
};
|
|
13104
|
-
count = 0;
|
|
13105
|
-
id = Math.random();
|
|
13106
|
-
constructor() {
|
|
13107
|
-
if (global[kExitEmitter]) {
|
|
13108
|
-
return global[kExitEmitter];
|
|
13109
|
-
}
|
|
13110
|
-
ObjectDefineProperty(global, kExitEmitter, {
|
|
13111
|
-
value: this,
|
|
13112
|
-
writable: false,
|
|
13113
|
-
enumerable: false,
|
|
13114
|
-
configurable: false
|
|
13115
|
-
});
|
|
13116
|
-
}
|
|
13117
|
-
on(ev, fn) {
|
|
13118
|
-
this.listeners[ev].push(fn);
|
|
12683
|
+
removeComponent(component) {
|
|
12684
|
+
this.components = this.components.filter((c) => c !== component);
|
|
12685
|
+
component.onChange = undefined;
|
|
12686
|
+
if (component.finished)
|
|
12687
|
+
this.finishedComponents--;
|
|
12688
|
+
this.render();
|
|
13119
12689
|
}
|
|
13120
|
-
|
|
13121
|
-
|
|
13122
|
-
|
|
13123
|
-
if (
|
|
12690
|
+
render() {
|
|
12691
|
+
this.outputBuffer = "";
|
|
12692
|
+
this.clear();
|
|
12693
|
+
if (this.components.length === 0) {
|
|
12694
|
+
process.stdout.write(this.outputBuffer);
|
|
12695
|
+
if (this.hideCursor)
|
|
12696
|
+
process.stdout.write(SHOW_CURSOR);
|
|
12697
|
+
this.lastLinesAmt = 0;
|
|
13124
12698
|
return;
|
|
13125
12699
|
}
|
|
13126
|
-
if (
|
|
13127
|
-
|
|
13128
|
-
|
|
13129
|
-
|
|
13130
|
-
|
|
13131
|
-
|
|
13132
|
-
|
|
13133
|
-
|
|
13134
|
-
|
|
13135
|
-
|
|
13136
|
-
|
|
13137
|
-
|
|
13138
|
-
|
|
13139
|
-
|
|
13140
|
-
|
|
13141
|
-
|
|
13142
|
-
|
|
13143
|
-
|
|
13144
|
-
return ret;
|
|
12700
|
+
if (this.hideCursor)
|
|
12701
|
+
this.outputBuffer += HIDE_CURSOR;
|
|
12702
|
+
let output = "";
|
|
12703
|
+
let finished = true;
|
|
12704
|
+
for (let i = 0;i < this.components.length; i++) {
|
|
12705
|
+
const component = this.components[i];
|
|
12706
|
+
output += component.output() + (i !== this.components.length - 1 || component.newLineEnding ? `
|
|
12707
|
+
` : "");
|
|
12708
|
+
if (!component.finished)
|
|
12709
|
+
finished = false;
|
|
12710
|
+
}
|
|
12711
|
+
this.lastLinesAmt = countLines(output, this.terminalWidth);
|
|
12712
|
+
this.outputBuffer += output;
|
|
12713
|
+
if (finished) {
|
|
12714
|
+
this._reset();
|
|
12715
|
+
this.outputBuffer += SHOW_CURSOR;
|
|
12716
|
+
}
|
|
12717
|
+
process.stdout.write(this.outputBuffer);
|
|
13145
12718
|
}
|
|
13146
|
-
|
|
13147
|
-
|
|
13148
|
-
|
|
13149
|
-
}
|
|
13150
|
-
|
|
13151
|
-
|
|
13152
|
-
|
|
13153
|
-
|
|
13154
|
-
|
|
13155
|
-
|
|
13156
|
-
|
|
13157
|
-
|
|
13158
|
-
|
|
13159
|
-
|
|
13160
|
-
|
|
13161
|
-
|
|
13162
|
-
|
|
13163
|
-
|
|
13164
|
-
class
|
|
13165
|
-
|
|
13166
|
-
|
|
13167
|
-
|
|
13168
|
-
|
|
13169
|
-
|
|
13170
|
-
|
|
13171
|
-
|
|
13172
|
-
|
|
13173
|
-
|
|
13174
|
-
|
|
13175
|
-
|
|
13176
|
-
|
|
13177
|
-
|
|
13178
|
-
|
|
13179
|
-
|
|
13180
|
-
|
|
13181
|
-
super();
|
|
13182
|
-
this.#process = process3;
|
|
13183
|
-
this.#sigListeners = {};
|
|
13184
|
-
for (const sig of signals) {
|
|
13185
|
-
this.#sigListeners[sig] = () => {
|
|
13186
|
-
const listeners = this.#process.listeners(sig);
|
|
13187
|
-
let { count } = this.#emitter;
|
|
13188
|
-
const p = process3;
|
|
13189
|
-
if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
|
|
13190
|
-
count += p.__signal_exit_emitter__.count;
|
|
13191
|
-
}
|
|
13192
|
-
if (listeners.length === count) {
|
|
13193
|
-
this.unload();
|
|
13194
|
-
const ret = this.#emitter.emit("exit", null, sig);
|
|
13195
|
-
const s = sig === "SIGHUP" ? this.#hupSig : sig;
|
|
13196
|
-
if (!ret)
|
|
13197
|
-
process3.kill(process3.pid, s);
|
|
13198
|
-
}
|
|
12719
|
+
clear() {
|
|
12720
|
+
for (let i = 0;i < this.lastLinesAmt - 1; i++) {
|
|
12721
|
+
this.outputBuffer += CLEAR_LINE + UP_LINE;
|
|
12722
|
+
}
|
|
12723
|
+
this.outputBuffer += CLEAR_LINE;
|
|
12724
|
+
}
|
|
12725
|
+
_reset() {
|
|
12726
|
+
this.components = [];
|
|
12727
|
+
this.lastLinesAmt = 0;
|
|
12728
|
+
this.terminalWidth = Infinity;
|
|
12729
|
+
this.finishedComponents = 0;
|
|
12730
|
+
}
|
|
12731
|
+
}
|
|
12732
|
+
|
|
12733
|
+
// node_modules/picospinner/dist/index.js
|
|
12734
|
+
import * as util from "node:util";
|
|
12735
|
+
var renderer = new Renderer;
|
|
12736
|
+
|
|
12737
|
+
class Spinner {
|
|
12738
|
+
running = false;
|
|
12739
|
+
text = "";
|
|
12740
|
+
currentSymbol;
|
|
12741
|
+
symbolFormatter;
|
|
12742
|
+
interval;
|
|
12743
|
+
frameIndex = 0;
|
|
12744
|
+
symbols;
|
|
12745
|
+
frames;
|
|
12746
|
+
component = new TextComponent("");
|
|
12747
|
+
colors;
|
|
12748
|
+
constructor(display = "", { disableNewLineEnding, colors, frames = DEFAULT_FRAMES, symbols = {} } = {}) {
|
|
12749
|
+
this.symbols = { ...DEFAULT_SYMBOLS, ...symbols };
|
|
12750
|
+
if (typeof colors === "object") {
|
|
12751
|
+
this.colors = {
|
|
12752
|
+
...DEFAULT_COLORS,
|
|
12753
|
+
...colors
|
|
13199
12754
|
};
|
|
13200
|
-
}
|
|
13201
|
-
|
|
13202
|
-
|
|
13203
|
-
|
|
13204
|
-
|
|
13205
|
-
if (
|
|
13206
|
-
|
|
13207
|
-
|
|
13208
|
-
|
|
13209
|
-
|
|
13210
|
-
|
|
13211
|
-
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
|
|
13215
|
-
|
|
13216
|
-
|
|
13217
|
-
|
|
13218
|
-
|
|
13219
|
-
|
|
13220
|
-
|
|
13221
|
-
|
|
13222
|
-
|
|
13223
|
-
|
|
13224
|
-
|
|
13225
|
-
this
|
|
13226
|
-
|
|
13227
|
-
|
|
13228
|
-
|
|
13229
|
-
|
|
13230
|
-
|
|
13231
|
-
|
|
13232
|
-
|
|
13233
|
-
|
|
13234
|
-
|
|
13235
|
-
}
|
|
13236
|
-
|
|
13237
|
-
return this.#processReallyExit(code);
|
|
13238
|
-
};
|
|
13239
|
-
}
|
|
13240
|
-
unload() {
|
|
13241
|
-
if (!this.#loaded) {
|
|
13242
|
-
return;
|
|
13243
|
-
}
|
|
13244
|
-
this.#loaded = false;
|
|
13245
|
-
signals.forEach((sig) => {
|
|
13246
|
-
const listener = this.#sigListeners[sig];
|
|
13247
|
-
if (!listener) {
|
|
13248
|
-
throw new Error("Listener not defined for signal: " + sig);
|
|
13249
|
-
}
|
|
13250
|
-
try {
|
|
13251
|
-
this.#process.removeListener(sig, listener);
|
|
13252
|
-
} catch (_) {}
|
|
13253
|
-
});
|
|
13254
|
-
this.#process.emit = this.#originalProcessEmit;
|
|
13255
|
-
this.#process.reallyExit = this.#originalProcessReallyExit;
|
|
13256
|
-
this.#emitter.count -= 1;
|
|
13257
|
-
}
|
|
13258
|
-
#processReallyExit(code) {
|
|
13259
|
-
if (!processOk(this.#process)) {
|
|
13260
|
-
return 0;
|
|
13261
|
-
}
|
|
13262
|
-
this.#process.exitCode = code || 0;
|
|
13263
|
-
this.#emitter.emit("exit", this.#process.exitCode, null);
|
|
13264
|
-
return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
|
|
13265
|
-
}
|
|
13266
|
-
#processEmit(ev, ...args) {
|
|
13267
|
-
const og = this.#originalProcessEmit;
|
|
13268
|
-
if (ev === "exit" && processOk(this.#process)) {
|
|
13269
|
-
if (typeof args[0] === "number") {
|
|
13270
|
-
this.#process.exitCode = args[0];
|
|
13271
|
-
}
|
|
13272
|
-
const ret = og.call(this.#process, ev, ...args);
|
|
13273
|
-
this.#emitter.emit("exit", this.#process.exitCode, null);
|
|
13274
|
-
return ret;
|
|
12755
|
+
} else if (colors !== false) {
|
|
12756
|
+
this.colors = DEFAULT_COLORS;
|
|
12757
|
+
}
|
|
12758
|
+
if (disableNewLineEnding === true)
|
|
12759
|
+
this.component.disableNewLineEnding();
|
|
12760
|
+
if (typeof display === "string")
|
|
12761
|
+
display = { text: display };
|
|
12762
|
+
delete display.symbol;
|
|
12763
|
+
this.setDisplay(display, false);
|
|
12764
|
+
this.frames = frames;
|
|
12765
|
+
this.currentSymbol = frames[0];
|
|
12766
|
+
}
|
|
12767
|
+
start(tickMs = DEFAULT_TICK_MS) {
|
|
12768
|
+
if (this.running)
|
|
12769
|
+
throw new Error("Spinner is already running.");
|
|
12770
|
+
if (this.component.finished)
|
|
12771
|
+
this.component.finished = false;
|
|
12772
|
+
this.interval = setInterval(this.tick.bind(this), tickMs);
|
|
12773
|
+
this.running = true;
|
|
12774
|
+
this.currentSymbol = this.frames[0];
|
|
12775
|
+
this.tick();
|
|
12776
|
+
renderer.addComponent(this.component);
|
|
12777
|
+
this.addListeners();
|
|
12778
|
+
}
|
|
12779
|
+
tick() {
|
|
12780
|
+
this.currentSymbol = this.format(this.frames[this.frameIndex++], "spinner");
|
|
12781
|
+
if (this.frameIndex === this.frames.length)
|
|
12782
|
+
this.frameIndex = 0;
|
|
12783
|
+
this.refresh();
|
|
12784
|
+
}
|
|
12785
|
+
onProcessExit = (signal) => {
|
|
12786
|
+
this.stop();
|
|
12787
|
+
let signalCode;
|
|
12788
|
+
if (signal === "SIGTERM") {
|
|
12789
|
+
signalCode = 15 + 128;
|
|
12790
|
+
} else if (signal === "SIGINT") {
|
|
12791
|
+
signalCode = 2 + 128;
|
|
13275
12792
|
} else {
|
|
13276
|
-
|
|
12793
|
+
signalCode = Number(signal);
|
|
13277
12794
|
}
|
|
13278
|
-
|
|
13279
|
-
}
|
|
13280
|
-
var process3 = globalThis.process;
|
|
13281
|
-
var {
|
|
13282
|
-
onExit,
|
|
13283
|
-
load,
|
|
13284
|
-
unload
|
|
13285
|
-
} = signalExitWrap(processOk(process3) ? new SignalExit(process3) : new SignalExitFallback);
|
|
13286
|
-
|
|
13287
|
-
// node_modules/restore-cursor/index.js
|
|
13288
|
-
var terminal = process4.stderr.isTTY ? process4.stderr : process4.stdout.isTTY ? process4.stdout : undefined;
|
|
13289
|
-
var restoreCursor = terminal ? onetime_default(() => {
|
|
13290
|
-
onExit(() => {
|
|
13291
|
-
terminal.write("\x1B[?25h");
|
|
13292
|
-
}, { alwaysLast: true });
|
|
13293
|
-
}) : () => {};
|
|
13294
|
-
var restore_cursor_default = restoreCursor;
|
|
13295
|
-
|
|
13296
|
-
// node_modules/cli-cursor/index.js
|
|
13297
|
-
var isHidden = false;
|
|
13298
|
-
var cliCursor = {};
|
|
13299
|
-
cliCursor.show = (writableStream = process5.stderr) => {
|
|
13300
|
-
if (!writableStream.isTTY) {
|
|
13301
|
-
return;
|
|
13302
|
-
}
|
|
13303
|
-
isHidden = false;
|
|
13304
|
-
writableStream.write("\x1B[?25h");
|
|
13305
|
-
};
|
|
13306
|
-
cliCursor.hide = (writableStream = process5.stderr) => {
|
|
13307
|
-
if (!writableStream.isTTY) {
|
|
13308
|
-
return;
|
|
13309
|
-
}
|
|
13310
|
-
restore_cursor_default();
|
|
13311
|
-
isHidden = true;
|
|
13312
|
-
writableStream.write("\x1B[?25l");
|
|
13313
|
-
};
|
|
13314
|
-
cliCursor.toggle = (force, writableStream) => {
|
|
13315
|
-
if (force !== undefined) {
|
|
13316
|
-
isHidden = force;
|
|
13317
|
-
}
|
|
13318
|
-
if (isHidden) {
|
|
13319
|
-
cliCursor.show(writableStream);
|
|
13320
|
-
} else {
|
|
13321
|
-
cliCursor.hide(writableStream);
|
|
13322
|
-
}
|
|
13323
|
-
};
|
|
13324
|
-
var cli_cursor_default = cliCursor;
|
|
13325
|
-
// node_modules/cli-spinners/spinners.json
|
|
13326
|
-
var spinners_default = {
|
|
13327
|
-
dots: {
|
|
13328
|
-
interval: 80,
|
|
13329
|
-
frames: [
|
|
13330
|
-
"⠋",
|
|
13331
|
-
"⠙",
|
|
13332
|
-
"⠹",
|
|
13333
|
-
"⠸",
|
|
13334
|
-
"⠼",
|
|
13335
|
-
"⠴",
|
|
13336
|
-
"⠦",
|
|
13337
|
-
"⠧",
|
|
13338
|
-
"⠇",
|
|
13339
|
-
"⠏"
|
|
13340
|
-
]
|
|
13341
|
-
},
|
|
13342
|
-
dots2: {
|
|
13343
|
-
interval: 80,
|
|
13344
|
-
frames: [
|
|
13345
|
-
"⣾",
|
|
13346
|
-
"⣽",
|
|
13347
|
-
"⣻",
|
|
13348
|
-
"⢿",
|
|
13349
|
-
"⡿",
|
|
13350
|
-
"⣟",
|
|
13351
|
-
"⣯",
|
|
13352
|
-
"⣷"
|
|
13353
|
-
]
|
|
13354
|
-
},
|
|
13355
|
-
dots3: {
|
|
13356
|
-
interval: 80,
|
|
13357
|
-
frames: [
|
|
13358
|
-
"⠋",
|
|
13359
|
-
"⠙",
|
|
13360
|
-
"⠚",
|
|
13361
|
-
"⠞",
|
|
13362
|
-
"⠖",
|
|
13363
|
-
"⠦",
|
|
13364
|
-
"⠴",
|
|
13365
|
-
"⠲",
|
|
13366
|
-
"⠳",
|
|
13367
|
-
"⠓"
|
|
13368
|
-
]
|
|
13369
|
-
},
|
|
13370
|
-
dots4: {
|
|
13371
|
-
interval: 80,
|
|
13372
|
-
frames: [
|
|
13373
|
-
"⠄",
|
|
13374
|
-
"⠆",
|
|
13375
|
-
"⠇",
|
|
13376
|
-
"⠋",
|
|
13377
|
-
"⠙",
|
|
13378
|
-
"⠸",
|
|
13379
|
-
"⠰",
|
|
13380
|
-
"⠠",
|
|
13381
|
-
"⠰",
|
|
13382
|
-
"⠸",
|
|
13383
|
-
"⠙",
|
|
13384
|
-
"⠋",
|
|
13385
|
-
"⠇",
|
|
13386
|
-
"⠆"
|
|
13387
|
-
]
|
|
13388
|
-
},
|
|
13389
|
-
dots5: {
|
|
13390
|
-
interval: 80,
|
|
13391
|
-
frames: [
|
|
13392
|
-
"⠋",
|
|
13393
|
-
"⠙",
|
|
13394
|
-
"⠚",
|
|
13395
|
-
"⠒",
|
|
13396
|
-
"⠂",
|
|
13397
|
-
"⠂",
|
|
13398
|
-
"⠒",
|
|
13399
|
-
"⠲",
|
|
13400
|
-
"⠴",
|
|
13401
|
-
"⠦",
|
|
13402
|
-
"⠖",
|
|
13403
|
-
"⠒",
|
|
13404
|
-
"⠐",
|
|
13405
|
-
"⠐",
|
|
13406
|
-
"⠒",
|
|
13407
|
-
"⠓",
|
|
13408
|
-
"⠋"
|
|
13409
|
-
]
|
|
13410
|
-
},
|
|
13411
|
-
dots6: {
|
|
13412
|
-
interval: 80,
|
|
13413
|
-
frames: [
|
|
13414
|
-
"⠁",
|
|
13415
|
-
"⠉",
|
|
13416
|
-
"⠙",
|
|
13417
|
-
"⠚",
|
|
13418
|
-
"⠒",
|
|
13419
|
-
"⠂",
|
|
13420
|
-
"⠂",
|
|
13421
|
-
"⠒",
|
|
13422
|
-
"⠲",
|
|
13423
|
-
"⠴",
|
|
13424
|
-
"⠤",
|
|
13425
|
-
"⠄",
|
|
13426
|
-
"⠄",
|
|
13427
|
-
"⠤",
|
|
13428
|
-
"⠴",
|
|
13429
|
-
"⠲",
|
|
13430
|
-
"⠒",
|
|
13431
|
-
"⠂",
|
|
13432
|
-
"⠂",
|
|
13433
|
-
"⠒",
|
|
13434
|
-
"⠚",
|
|
13435
|
-
"⠙",
|
|
13436
|
-
"⠉",
|
|
13437
|
-
"⠁"
|
|
13438
|
-
]
|
|
13439
|
-
},
|
|
13440
|
-
dots7: {
|
|
13441
|
-
interval: 80,
|
|
13442
|
-
frames: [
|
|
13443
|
-
"⠈",
|
|
13444
|
-
"⠉",
|
|
13445
|
-
"⠋",
|
|
13446
|
-
"⠓",
|
|
13447
|
-
"⠒",
|
|
13448
|
-
"⠐",
|
|
13449
|
-
"⠐",
|
|
13450
|
-
"⠒",
|
|
13451
|
-
"⠖",
|
|
13452
|
-
"⠦",
|
|
13453
|
-
"⠤",
|
|
13454
|
-
"⠠",
|
|
13455
|
-
"⠠",
|
|
13456
|
-
"⠤",
|
|
13457
|
-
"⠦",
|
|
13458
|
-
"⠖",
|
|
13459
|
-
"⠒",
|
|
13460
|
-
"⠐",
|
|
13461
|
-
"⠐",
|
|
13462
|
-
"⠒",
|
|
13463
|
-
"⠓",
|
|
13464
|
-
"⠋",
|
|
13465
|
-
"⠉",
|
|
13466
|
-
"⠈"
|
|
13467
|
-
]
|
|
13468
|
-
},
|
|
13469
|
-
dots8: {
|
|
13470
|
-
interval: 80,
|
|
13471
|
-
frames: [
|
|
13472
|
-
"⠁",
|
|
13473
|
-
"⠁",
|
|
13474
|
-
"⠉",
|
|
13475
|
-
"⠙",
|
|
13476
|
-
"⠚",
|
|
13477
|
-
"⠒",
|
|
13478
|
-
"⠂",
|
|
13479
|
-
"⠂",
|
|
13480
|
-
"⠒",
|
|
13481
|
-
"⠲",
|
|
13482
|
-
"⠴",
|
|
13483
|
-
"⠤",
|
|
13484
|
-
"⠄",
|
|
13485
|
-
"⠄",
|
|
13486
|
-
"⠤",
|
|
13487
|
-
"⠠",
|
|
13488
|
-
"⠠",
|
|
13489
|
-
"⠤",
|
|
13490
|
-
"⠦",
|
|
13491
|
-
"⠖",
|
|
13492
|
-
"⠒",
|
|
13493
|
-
"⠐",
|
|
13494
|
-
"⠐",
|
|
13495
|
-
"⠒",
|
|
13496
|
-
"⠓",
|
|
13497
|
-
"⠋",
|
|
13498
|
-
"⠉",
|
|
13499
|
-
"⠈",
|
|
13500
|
-
"⠈"
|
|
13501
|
-
]
|
|
13502
|
-
},
|
|
13503
|
-
dots9: {
|
|
13504
|
-
interval: 80,
|
|
13505
|
-
frames: [
|
|
13506
|
-
"⢹",
|
|
13507
|
-
"⢺",
|
|
13508
|
-
"⢼",
|
|
13509
|
-
"⣸",
|
|
13510
|
-
"⣇",
|
|
13511
|
-
"⡧",
|
|
13512
|
-
"⡗",
|
|
13513
|
-
"⡏"
|
|
13514
|
-
]
|
|
13515
|
-
},
|
|
13516
|
-
dots10: {
|
|
13517
|
-
interval: 80,
|
|
13518
|
-
frames: [
|
|
13519
|
-
"⢄",
|
|
13520
|
-
"⢂",
|
|
13521
|
-
"⢁",
|
|
13522
|
-
"⡁",
|
|
13523
|
-
"⡈",
|
|
13524
|
-
"⡐",
|
|
13525
|
-
"⡠"
|
|
13526
|
-
]
|
|
13527
|
-
},
|
|
13528
|
-
dots11: {
|
|
13529
|
-
interval: 100,
|
|
13530
|
-
frames: [
|
|
13531
|
-
"⠁",
|
|
13532
|
-
"⠂",
|
|
13533
|
-
"⠄",
|
|
13534
|
-
"⡀",
|
|
13535
|
-
"⢀",
|
|
13536
|
-
"⠠",
|
|
13537
|
-
"⠐",
|
|
13538
|
-
"⠈"
|
|
13539
|
-
]
|
|
13540
|
-
},
|
|
13541
|
-
dots12: {
|
|
13542
|
-
interval: 80,
|
|
13543
|
-
frames: [
|
|
13544
|
-
"⢀⠀",
|
|
13545
|
-
"⡀⠀",
|
|
13546
|
-
"⠄⠀",
|
|
13547
|
-
"⢂⠀",
|
|
13548
|
-
"⡂⠀",
|
|
13549
|
-
"⠅⠀",
|
|
13550
|
-
"⢃⠀",
|
|
13551
|
-
"⡃⠀",
|
|
13552
|
-
"⠍⠀",
|
|
13553
|
-
"⢋⠀",
|
|
13554
|
-
"⡋⠀",
|
|
13555
|
-
"⠍⠁",
|
|
13556
|
-
"⢋⠁",
|
|
13557
|
-
"⡋⠁",
|
|
13558
|
-
"⠍⠉",
|
|
13559
|
-
"⠋⠉",
|
|
13560
|
-
"⠋⠉",
|
|
13561
|
-
"⠉⠙",
|
|
13562
|
-
"⠉⠙",
|
|
13563
|
-
"⠉⠩",
|
|
13564
|
-
"⠈⢙",
|
|
13565
|
-
"⠈⡙",
|
|
13566
|
-
"⢈⠩",
|
|
13567
|
-
"⡀⢙",
|
|
13568
|
-
"⠄⡙",
|
|
13569
|
-
"⢂⠩",
|
|
13570
|
-
"⡂⢘",
|
|
13571
|
-
"⠅⡘",
|
|
13572
|
-
"⢃⠨",
|
|
13573
|
-
"⡃⢐",
|
|
13574
|
-
"⠍⡐",
|
|
13575
|
-
"⢋⠠",
|
|
13576
|
-
"⡋⢀",
|
|
13577
|
-
"⠍⡁",
|
|
13578
|
-
"⢋⠁",
|
|
13579
|
-
"⡋⠁",
|
|
13580
|
-
"⠍⠉",
|
|
13581
|
-
"⠋⠉",
|
|
13582
|
-
"⠋⠉",
|
|
13583
|
-
"⠉⠙",
|
|
13584
|
-
"⠉⠙",
|
|
13585
|
-
"⠉⠩",
|
|
13586
|
-
"⠈⢙",
|
|
13587
|
-
"⠈⡙",
|
|
13588
|
-
"⠈⠩",
|
|
13589
|
-
"⠀⢙",
|
|
13590
|
-
"⠀⡙",
|
|
13591
|
-
"⠀⠩",
|
|
13592
|
-
"⠀⢘",
|
|
13593
|
-
"⠀⡘",
|
|
13594
|
-
"⠀⠨",
|
|
13595
|
-
"⠀⢐",
|
|
13596
|
-
"⠀⡐",
|
|
13597
|
-
"⠀⠠",
|
|
13598
|
-
"⠀⢀",
|
|
13599
|
-
"⠀⡀"
|
|
13600
|
-
]
|
|
13601
|
-
},
|
|
13602
|
-
dots13: {
|
|
13603
|
-
interval: 80,
|
|
13604
|
-
frames: [
|
|
13605
|
-
"⣼",
|
|
13606
|
-
"⣹",
|
|
13607
|
-
"⢻",
|
|
13608
|
-
"⠿",
|
|
13609
|
-
"⡟",
|
|
13610
|
-
"⣏",
|
|
13611
|
-
"⣧",
|
|
13612
|
-
"⣶"
|
|
13613
|
-
]
|
|
13614
|
-
},
|
|
13615
|
-
dots14: {
|
|
13616
|
-
interval: 80,
|
|
13617
|
-
frames: [
|
|
13618
|
-
"⠉⠉",
|
|
13619
|
-
"⠈⠙",
|
|
13620
|
-
"⠀⠹",
|
|
13621
|
-
"⠀⢸",
|
|
13622
|
-
"⠀⣰",
|
|
13623
|
-
"⢀⣠",
|
|
13624
|
-
"⣀⣀",
|
|
13625
|
-
"⣄⡀",
|
|
13626
|
-
"⣆⠀",
|
|
13627
|
-
"⡇⠀",
|
|
13628
|
-
"⠏⠀",
|
|
13629
|
-
"⠋⠁"
|
|
13630
|
-
]
|
|
13631
|
-
},
|
|
13632
|
-
dots8Bit: {
|
|
13633
|
-
interval: 80,
|
|
13634
|
-
frames: [
|
|
13635
|
-
"⠀",
|
|
13636
|
-
"⠁",
|
|
13637
|
-
"⠂",
|
|
13638
|
-
"⠃",
|
|
13639
|
-
"⠄",
|
|
13640
|
-
"⠅",
|
|
13641
|
-
"⠆",
|
|
13642
|
-
"⠇",
|
|
13643
|
-
"⡀",
|
|
13644
|
-
"⡁",
|
|
13645
|
-
"⡂",
|
|
13646
|
-
"⡃",
|
|
13647
|
-
"⡄",
|
|
13648
|
-
"⡅",
|
|
13649
|
-
"⡆",
|
|
13650
|
-
"⡇",
|
|
13651
|
-
"⠈",
|
|
13652
|
-
"⠉",
|
|
13653
|
-
"⠊",
|
|
13654
|
-
"⠋",
|
|
13655
|
-
"⠌",
|
|
13656
|
-
"⠍",
|
|
13657
|
-
"⠎",
|
|
13658
|
-
"⠏",
|
|
13659
|
-
"⡈",
|
|
13660
|
-
"⡉",
|
|
13661
|
-
"⡊",
|
|
13662
|
-
"⡋",
|
|
13663
|
-
"⡌",
|
|
13664
|
-
"⡍",
|
|
13665
|
-
"⡎",
|
|
13666
|
-
"⡏",
|
|
13667
|
-
"⠐",
|
|
13668
|
-
"⠑",
|
|
13669
|
-
"⠒",
|
|
13670
|
-
"⠓",
|
|
13671
|
-
"⠔",
|
|
13672
|
-
"⠕",
|
|
13673
|
-
"⠖",
|
|
13674
|
-
"⠗",
|
|
13675
|
-
"⡐",
|
|
13676
|
-
"⡑",
|
|
13677
|
-
"⡒",
|
|
13678
|
-
"⡓",
|
|
13679
|
-
"⡔",
|
|
13680
|
-
"⡕",
|
|
13681
|
-
"⡖",
|
|
13682
|
-
"⡗",
|
|
13683
|
-
"⠘",
|
|
13684
|
-
"⠙",
|
|
13685
|
-
"⠚",
|
|
13686
|
-
"⠛",
|
|
13687
|
-
"⠜",
|
|
13688
|
-
"⠝",
|
|
13689
|
-
"⠞",
|
|
13690
|
-
"⠟",
|
|
13691
|
-
"⡘",
|
|
13692
|
-
"⡙",
|
|
13693
|
-
"⡚",
|
|
13694
|
-
"⡛",
|
|
13695
|
-
"⡜",
|
|
13696
|
-
"⡝",
|
|
13697
|
-
"⡞",
|
|
13698
|
-
"⡟",
|
|
13699
|
-
"⠠",
|
|
13700
|
-
"⠡",
|
|
13701
|
-
"⠢",
|
|
13702
|
-
"⠣",
|
|
13703
|
-
"⠤",
|
|
13704
|
-
"⠥",
|
|
13705
|
-
"⠦",
|
|
13706
|
-
"⠧",
|
|
13707
|
-
"⡠",
|
|
13708
|
-
"⡡",
|
|
13709
|
-
"⡢",
|
|
13710
|
-
"⡣",
|
|
13711
|
-
"⡤",
|
|
13712
|
-
"⡥",
|
|
13713
|
-
"⡦",
|
|
13714
|
-
"⡧",
|
|
13715
|
-
"⠨",
|
|
13716
|
-
"⠩",
|
|
13717
|
-
"⠪",
|
|
13718
|
-
"⠫",
|
|
13719
|
-
"⠬",
|
|
13720
|
-
"⠭",
|
|
13721
|
-
"⠮",
|
|
13722
|
-
"⠯",
|
|
13723
|
-
"⡨",
|
|
13724
|
-
"⡩",
|
|
13725
|
-
"⡪",
|
|
13726
|
-
"⡫",
|
|
13727
|
-
"⡬",
|
|
13728
|
-
"⡭",
|
|
13729
|
-
"⡮",
|
|
13730
|
-
"⡯",
|
|
13731
|
-
"⠰",
|
|
13732
|
-
"⠱",
|
|
13733
|
-
"⠲",
|
|
13734
|
-
"⠳",
|
|
13735
|
-
"⠴",
|
|
13736
|
-
"⠵",
|
|
13737
|
-
"⠶",
|
|
13738
|
-
"⠷",
|
|
13739
|
-
"⡰",
|
|
13740
|
-
"⡱",
|
|
13741
|
-
"⡲",
|
|
13742
|
-
"⡳",
|
|
13743
|
-
"⡴",
|
|
13744
|
-
"⡵",
|
|
13745
|
-
"⡶",
|
|
13746
|
-
"⡷",
|
|
13747
|
-
"⠸",
|
|
13748
|
-
"⠹",
|
|
13749
|
-
"⠺",
|
|
13750
|
-
"⠻",
|
|
13751
|
-
"⠼",
|
|
13752
|
-
"⠽",
|
|
13753
|
-
"⠾",
|
|
13754
|
-
"⠿",
|
|
13755
|
-
"⡸",
|
|
13756
|
-
"⡹",
|
|
13757
|
-
"⡺",
|
|
13758
|
-
"⡻",
|
|
13759
|
-
"⡼",
|
|
13760
|
-
"⡽",
|
|
13761
|
-
"⡾",
|
|
13762
|
-
"⡿",
|
|
13763
|
-
"⢀",
|
|
13764
|
-
"⢁",
|
|
13765
|
-
"⢂",
|
|
13766
|
-
"⢃",
|
|
13767
|
-
"⢄",
|
|
13768
|
-
"⢅",
|
|
13769
|
-
"⢆",
|
|
13770
|
-
"⢇",
|
|
13771
|
-
"⣀",
|
|
13772
|
-
"⣁",
|
|
13773
|
-
"⣂",
|
|
13774
|
-
"⣃",
|
|
13775
|
-
"⣄",
|
|
13776
|
-
"⣅",
|
|
13777
|
-
"⣆",
|
|
13778
|
-
"⣇",
|
|
13779
|
-
"⢈",
|
|
13780
|
-
"⢉",
|
|
13781
|
-
"⢊",
|
|
13782
|
-
"⢋",
|
|
13783
|
-
"⢌",
|
|
13784
|
-
"⢍",
|
|
13785
|
-
"⢎",
|
|
13786
|
-
"⢏",
|
|
13787
|
-
"⣈",
|
|
13788
|
-
"⣉",
|
|
13789
|
-
"⣊",
|
|
13790
|
-
"⣋",
|
|
13791
|
-
"⣌",
|
|
13792
|
-
"⣍",
|
|
13793
|
-
"⣎",
|
|
13794
|
-
"⣏",
|
|
13795
|
-
"⢐",
|
|
13796
|
-
"⢑",
|
|
13797
|
-
"⢒",
|
|
13798
|
-
"⢓",
|
|
13799
|
-
"⢔",
|
|
13800
|
-
"⢕",
|
|
13801
|
-
"⢖",
|
|
13802
|
-
"⢗",
|
|
13803
|
-
"⣐",
|
|
13804
|
-
"⣑",
|
|
13805
|
-
"⣒",
|
|
13806
|
-
"⣓",
|
|
13807
|
-
"⣔",
|
|
13808
|
-
"⣕",
|
|
13809
|
-
"⣖",
|
|
13810
|
-
"⣗",
|
|
13811
|
-
"⢘",
|
|
13812
|
-
"⢙",
|
|
13813
|
-
"⢚",
|
|
13814
|
-
"⢛",
|
|
13815
|
-
"⢜",
|
|
13816
|
-
"⢝",
|
|
13817
|
-
"⢞",
|
|
13818
|
-
"⢟",
|
|
13819
|
-
"⣘",
|
|
13820
|
-
"⣙",
|
|
13821
|
-
"⣚",
|
|
13822
|
-
"⣛",
|
|
13823
|
-
"⣜",
|
|
13824
|
-
"⣝",
|
|
13825
|
-
"⣞",
|
|
13826
|
-
"⣟",
|
|
13827
|
-
"⢠",
|
|
13828
|
-
"⢡",
|
|
13829
|
-
"⢢",
|
|
13830
|
-
"⢣",
|
|
13831
|
-
"⢤",
|
|
13832
|
-
"⢥",
|
|
13833
|
-
"⢦",
|
|
13834
|
-
"⢧",
|
|
13835
|
-
"⣠",
|
|
13836
|
-
"⣡",
|
|
13837
|
-
"⣢",
|
|
13838
|
-
"⣣",
|
|
13839
|
-
"⣤",
|
|
13840
|
-
"⣥",
|
|
13841
|
-
"⣦",
|
|
13842
|
-
"⣧",
|
|
13843
|
-
"⢨",
|
|
13844
|
-
"⢩",
|
|
13845
|
-
"⢪",
|
|
13846
|
-
"⢫",
|
|
13847
|
-
"⢬",
|
|
13848
|
-
"⢭",
|
|
13849
|
-
"⢮",
|
|
13850
|
-
"⢯",
|
|
13851
|
-
"⣨",
|
|
13852
|
-
"⣩",
|
|
13853
|
-
"⣪",
|
|
13854
|
-
"⣫",
|
|
13855
|
-
"⣬",
|
|
13856
|
-
"⣭",
|
|
13857
|
-
"⣮",
|
|
13858
|
-
"⣯",
|
|
13859
|
-
"⢰",
|
|
13860
|
-
"⢱",
|
|
13861
|
-
"⢲",
|
|
13862
|
-
"⢳",
|
|
13863
|
-
"⢴",
|
|
13864
|
-
"⢵",
|
|
13865
|
-
"⢶",
|
|
13866
|
-
"⢷",
|
|
13867
|
-
"⣰",
|
|
13868
|
-
"⣱",
|
|
13869
|
-
"⣲",
|
|
13870
|
-
"⣳",
|
|
13871
|
-
"⣴",
|
|
13872
|
-
"⣵",
|
|
13873
|
-
"⣶",
|
|
13874
|
-
"⣷",
|
|
13875
|
-
"⢸",
|
|
13876
|
-
"⢹",
|
|
13877
|
-
"⢺",
|
|
13878
|
-
"⢻",
|
|
13879
|
-
"⢼",
|
|
13880
|
-
"⢽",
|
|
13881
|
-
"⢾",
|
|
13882
|
-
"⢿",
|
|
13883
|
-
"⣸",
|
|
13884
|
-
"⣹",
|
|
13885
|
-
"⣺",
|
|
13886
|
-
"⣻",
|
|
13887
|
-
"⣼",
|
|
13888
|
-
"⣽",
|
|
13889
|
-
"⣾",
|
|
13890
|
-
"⣿"
|
|
13891
|
-
]
|
|
13892
|
-
},
|
|
13893
|
-
dotsCircle: {
|
|
13894
|
-
interval: 80,
|
|
13895
|
-
frames: [
|
|
13896
|
-
"⢎ ",
|
|
13897
|
-
"⠎⠁",
|
|
13898
|
-
"⠊⠑",
|
|
13899
|
-
"⠈⠱",
|
|
13900
|
-
" ⡱",
|
|
13901
|
-
"⢀⡰",
|
|
13902
|
-
"⢄⡠",
|
|
13903
|
-
"⢆⡀"
|
|
13904
|
-
]
|
|
13905
|
-
},
|
|
13906
|
-
sand: {
|
|
13907
|
-
interval: 80,
|
|
13908
|
-
frames: [
|
|
13909
|
-
"⠁",
|
|
13910
|
-
"⠂",
|
|
13911
|
-
"⠄",
|
|
13912
|
-
"⡀",
|
|
13913
|
-
"⡈",
|
|
13914
|
-
"⡐",
|
|
13915
|
-
"⡠",
|
|
13916
|
-
"⣀",
|
|
13917
|
-
"⣁",
|
|
13918
|
-
"⣂",
|
|
13919
|
-
"⣄",
|
|
13920
|
-
"⣌",
|
|
13921
|
-
"⣔",
|
|
13922
|
-
"⣤",
|
|
13923
|
-
"⣥",
|
|
13924
|
-
"⣦",
|
|
13925
|
-
"⣮",
|
|
13926
|
-
"⣶",
|
|
13927
|
-
"⣷",
|
|
13928
|
-
"⣿",
|
|
13929
|
-
"⡿",
|
|
13930
|
-
"⠿",
|
|
13931
|
-
"⢟",
|
|
13932
|
-
"⠟",
|
|
13933
|
-
"⡛",
|
|
13934
|
-
"⠛",
|
|
13935
|
-
"⠫",
|
|
13936
|
-
"⢋",
|
|
13937
|
-
"⠋",
|
|
13938
|
-
"⠍",
|
|
13939
|
-
"⡉",
|
|
13940
|
-
"⠉",
|
|
13941
|
-
"⠑",
|
|
13942
|
-
"⠡",
|
|
13943
|
-
"⢁"
|
|
13944
|
-
]
|
|
13945
|
-
},
|
|
13946
|
-
line: {
|
|
13947
|
-
interval: 130,
|
|
13948
|
-
frames: [
|
|
13949
|
-
"-",
|
|
13950
|
-
"\\",
|
|
13951
|
-
"|",
|
|
13952
|
-
"/"
|
|
13953
|
-
]
|
|
13954
|
-
},
|
|
13955
|
-
line2: {
|
|
13956
|
-
interval: 100,
|
|
13957
|
-
frames: [
|
|
13958
|
-
"⠂",
|
|
13959
|
-
"-",
|
|
13960
|
-
"–",
|
|
13961
|
-
"—",
|
|
13962
|
-
"–",
|
|
13963
|
-
"-"
|
|
13964
|
-
]
|
|
13965
|
-
},
|
|
13966
|
-
rollingLine: {
|
|
13967
|
-
interval: 80,
|
|
13968
|
-
frames: [
|
|
13969
|
-
"/ ",
|
|
13970
|
-
" - ",
|
|
13971
|
-
" \\ ",
|
|
13972
|
-
" |",
|
|
13973
|
-
" |",
|
|
13974
|
-
" \\ ",
|
|
13975
|
-
" - ",
|
|
13976
|
-
"/ "
|
|
13977
|
-
]
|
|
13978
|
-
},
|
|
13979
|
-
pipe: {
|
|
13980
|
-
interval: 100,
|
|
13981
|
-
frames: [
|
|
13982
|
-
"┤",
|
|
13983
|
-
"┘",
|
|
13984
|
-
"┴",
|
|
13985
|
-
"└",
|
|
13986
|
-
"├",
|
|
13987
|
-
"┌",
|
|
13988
|
-
"┬",
|
|
13989
|
-
"┐"
|
|
13990
|
-
]
|
|
13991
|
-
},
|
|
13992
|
-
simpleDots: {
|
|
13993
|
-
interval: 400,
|
|
13994
|
-
frames: [
|
|
13995
|
-
". ",
|
|
13996
|
-
".. ",
|
|
13997
|
-
"...",
|
|
13998
|
-
" "
|
|
13999
|
-
]
|
|
14000
|
-
},
|
|
14001
|
-
simpleDotsScrolling: {
|
|
14002
|
-
interval: 200,
|
|
14003
|
-
frames: [
|
|
14004
|
-
". ",
|
|
14005
|
-
".. ",
|
|
14006
|
-
"...",
|
|
14007
|
-
" ..",
|
|
14008
|
-
" .",
|
|
14009
|
-
" "
|
|
14010
|
-
]
|
|
14011
|
-
},
|
|
14012
|
-
star: {
|
|
14013
|
-
interval: 70,
|
|
14014
|
-
frames: [
|
|
14015
|
-
"✶",
|
|
14016
|
-
"✸",
|
|
14017
|
-
"✹",
|
|
14018
|
-
"✺",
|
|
14019
|
-
"✹",
|
|
14020
|
-
"✷"
|
|
14021
|
-
]
|
|
14022
|
-
},
|
|
14023
|
-
star2: {
|
|
14024
|
-
interval: 80,
|
|
14025
|
-
frames: [
|
|
14026
|
-
"+",
|
|
14027
|
-
"x",
|
|
14028
|
-
"*"
|
|
14029
|
-
]
|
|
14030
|
-
},
|
|
14031
|
-
flip: {
|
|
14032
|
-
interval: 70,
|
|
14033
|
-
frames: [
|
|
14034
|
-
"_",
|
|
14035
|
-
"_",
|
|
14036
|
-
"_",
|
|
14037
|
-
"-",
|
|
14038
|
-
"`",
|
|
14039
|
-
"`",
|
|
14040
|
-
"'",
|
|
14041
|
-
"´",
|
|
14042
|
-
"-",
|
|
14043
|
-
"_",
|
|
14044
|
-
"_",
|
|
14045
|
-
"_"
|
|
14046
|
-
]
|
|
14047
|
-
},
|
|
14048
|
-
hamburger: {
|
|
14049
|
-
interval: 100,
|
|
14050
|
-
frames: [
|
|
14051
|
-
"☱",
|
|
14052
|
-
"☲",
|
|
14053
|
-
"☴"
|
|
14054
|
-
]
|
|
14055
|
-
},
|
|
14056
|
-
growVertical: {
|
|
14057
|
-
interval: 120,
|
|
14058
|
-
frames: [
|
|
14059
|
-
"▁",
|
|
14060
|
-
"▃",
|
|
14061
|
-
"▄",
|
|
14062
|
-
"▅",
|
|
14063
|
-
"▆",
|
|
14064
|
-
"▇",
|
|
14065
|
-
"▆",
|
|
14066
|
-
"▅",
|
|
14067
|
-
"▄",
|
|
14068
|
-
"▃"
|
|
14069
|
-
]
|
|
14070
|
-
},
|
|
14071
|
-
growHorizontal: {
|
|
14072
|
-
interval: 120,
|
|
14073
|
-
frames: [
|
|
14074
|
-
"▏",
|
|
14075
|
-
"▎",
|
|
14076
|
-
"▍",
|
|
14077
|
-
"▌",
|
|
14078
|
-
"▋",
|
|
14079
|
-
"▊",
|
|
14080
|
-
"▉",
|
|
14081
|
-
"▊",
|
|
14082
|
-
"▋",
|
|
14083
|
-
"▌",
|
|
14084
|
-
"▍",
|
|
14085
|
-
"▎"
|
|
14086
|
-
]
|
|
14087
|
-
},
|
|
14088
|
-
balloon: {
|
|
14089
|
-
interval: 140,
|
|
14090
|
-
frames: [
|
|
14091
|
-
" ",
|
|
14092
|
-
".",
|
|
14093
|
-
"o",
|
|
14094
|
-
"O",
|
|
14095
|
-
"@",
|
|
14096
|
-
"*",
|
|
14097
|
-
" "
|
|
14098
|
-
]
|
|
14099
|
-
},
|
|
14100
|
-
balloon2: {
|
|
14101
|
-
interval: 120,
|
|
14102
|
-
frames: [
|
|
14103
|
-
".",
|
|
14104
|
-
"o",
|
|
14105
|
-
"O",
|
|
14106
|
-
"°",
|
|
14107
|
-
"O",
|
|
14108
|
-
"o",
|
|
14109
|
-
"."
|
|
14110
|
-
]
|
|
14111
|
-
},
|
|
14112
|
-
noise: {
|
|
14113
|
-
interval: 100,
|
|
14114
|
-
frames: [
|
|
14115
|
-
"▓",
|
|
14116
|
-
"▒",
|
|
14117
|
-
"░"
|
|
14118
|
-
]
|
|
14119
|
-
},
|
|
14120
|
-
bounce: {
|
|
14121
|
-
interval: 120,
|
|
14122
|
-
frames: [
|
|
14123
|
-
"⠁",
|
|
14124
|
-
"⠂",
|
|
14125
|
-
"⠄",
|
|
14126
|
-
"⠂"
|
|
14127
|
-
]
|
|
14128
|
-
},
|
|
14129
|
-
boxBounce: {
|
|
14130
|
-
interval: 120,
|
|
14131
|
-
frames: [
|
|
14132
|
-
"▖",
|
|
14133
|
-
"▘",
|
|
14134
|
-
"▝",
|
|
14135
|
-
"▗"
|
|
14136
|
-
]
|
|
14137
|
-
},
|
|
14138
|
-
boxBounce2: {
|
|
14139
|
-
interval: 100,
|
|
14140
|
-
frames: [
|
|
14141
|
-
"▌",
|
|
14142
|
-
"▀",
|
|
14143
|
-
"▐",
|
|
14144
|
-
"▄"
|
|
14145
|
-
]
|
|
14146
|
-
},
|
|
14147
|
-
triangle: {
|
|
14148
|
-
interval: 50,
|
|
14149
|
-
frames: [
|
|
14150
|
-
"◢",
|
|
14151
|
-
"◣",
|
|
14152
|
-
"◤",
|
|
14153
|
-
"◥"
|
|
14154
|
-
]
|
|
14155
|
-
},
|
|
14156
|
-
binary: {
|
|
14157
|
-
interval: 80,
|
|
14158
|
-
frames: [
|
|
14159
|
-
"010010",
|
|
14160
|
-
"001100",
|
|
14161
|
-
"100101",
|
|
14162
|
-
"111010",
|
|
14163
|
-
"111101",
|
|
14164
|
-
"010111",
|
|
14165
|
-
"101011",
|
|
14166
|
-
"111000",
|
|
14167
|
-
"110011",
|
|
14168
|
-
"110101"
|
|
14169
|
-
]
|
|
14170
|
-
},
|
|
14171
|
-
arc: {
|
|
14172
|
-
interval: 100,
|
|
14173
|
-
frames: [
|
|
14174
|
-
"◜",
|
|
14175
|
-
"◠",
|
|
14176
|
-
"◝",
|
|
14177
|
-
"◞",
|
|
14178
|
-
"◡",
|
|
14179
|
-
"◟"
|
|
14180
|
-
]
|
|
14181
|
-
},
|
|
14182
|
-
circle: {
|
|
14183
|
-
interval: 120,
|
|
14184
|
-
frames: [
|
|
14185
|
-
"◡",
|
|
14186
|
-
"⊙",
|
|
14187
|
-
"◠"
|
|
14188
|
-
]
|
|
14189
|
-
},
|
|
14190
|
-
squareCorners: {
|
|
14191
|
-
interval: 180,
|
|
14192
|
-
frames: [
|
|
14193
|
-
"◰",
|
|
14194
|
-
"◳",
|
|
14195
|
-
"◲",
|
|
14196
|
-
"◱"
|
|
14197
|
-
]
|
|
14198
|
-
},
|
|
14199
|
-
circleQuarters: {
|
|
14200
|
-
interval: 120,
|
|
14201
|
-
frames: [
|
|
14202
|
-
"◴",
|
|
14203
|
-
"◷",
|
|
14204
|
-
"◶",
|
|
14205
|
-
"◵"
|
|
14206
|
-
]
|
|
14207
|
-
},
|
|
14208
|
-
circleHalves: {
|
|
14209
|
-
interval: 50,
|
|
14210
|
-
frames: [
|
|
14211
|
-
"◐",
|
|
14212
|
-
"◓",
|
|
14213
|
-
"◑",
|
|
14214
|
-
"◒"
|
|
14215
|
-
]
|
|
14216
|
-
},
|
|
14217
|
-
squish: {
|
|
14218
|
-
interval: 100,
|
|
14219
|
-
frames: [
|
|
14220
|
-
"╫",
|
|
14221
|
-
"╪"
|
|
14222
|
-
]
|
|
14223
|
-
},
|
|
14224
|
-
toggle: {
|
|
14225
|
-
interval: 250,
|
|
14226
|
-
frames: [
|
|
14227
|
-
"⊶",
|
|
14228
|
-
"⊷"
|
|
14229
|
-
]
|
|
14230
|
-
},
|
|
14231
|
-
toggle2: {
|
|
14232
|
-
interval: 80,
|
|
14233
|
-
frames: [
|
|
14234
|
-
"▫",
|
|
14235
|
-
"▪"
|
|
14236
|
-
]
|
|
14237
|
-
},
|
|
14238
|
-
toggle3: {
|
|
14239
|
-
interval: 120,
|
|
14240
|
-
frames: [
|
|
14241
|
-
"□",
|
|
14242
|
-
"■"
|
|
14243
|
-
]
|
|
14244
|
-
},
|
|
14245
|
-
toggle4: {
|
|
14246
|
-
interval: 100,
|
|
14247
|
-
frames: [
|
|
14248
|
-
"■",
|
|
14249
|
-
"□",
|
|
14250
|
-
"▪",
|
|
14251
|
-
"▫"
|
|
14252
|
-
]
|
|
14253
|
-
},
|
|
14254
|
-
toggle5: {
|
|
14255
|
-
interval: 100,
|
|
14256
|
-
frames: [
|
|
14257
|
-
"▮",
|
|
14258
|
-
"▯"
|
|
14259
|
-
]
|
|
14260
|
-
},
|
|
14261
|
-
toggle6: {
|
|
14262
|
-
interval: 300,
|
|
14263
|
-
frames: [
|
|
14264
|
-
"ဝ",
|
|
14265
|
-
"၀"
|
|
14266
|
-
]
|
|
14267
|
-
},
|
|
14268
|
-
toggle7: {
|
|
14269
|
-
interval: 80,
|
|
14270
|
-
frames: [
|
|
14271
|
-
"⦾",
|
|
14272
|
-
"⦿"
|
|
14273
|
-
]
|
|
14274
|
-
},
|
|
14275
|
-
toggle8: {
|
|
14276
|
-
interval: 100,
|
|
14277
|
-
frames: [
|
|
14278
|
-
"◍",
|
|
14279
|
-
"◌"
|
|
14280
|
-
]
|
|
14281
|
-
},
|
|
14282
|
-
toggle9: {
|
|
14283
|
-
interval: 100,
|
|
14284
|
-
frames: [
|
|
14285
|
-
"◉",
|
|
14286
|
-
"◎"
|
|
14287
|
-
]
|
|
14288
|
-
},
|
|
14289
|
-
toggle10: {
|
|
14290
|
-
interval: 100,
|
|
14291
|
-
frames: [
|
|
14292
|
-
"㊂",
|
|
14293
|
-
"㊀",
|
|
14294
|
-
"㊁"
|
|
14295
|
-
]
|
|
14296
|
-
},
|
|
14297
|
-
toggle11: {
|
|
14298
|
-
interval: 50,
|
|
14299
|
-
frames: [
|
|
14300
|
-
"⧇",
|
|
14301
|
-
"⧆"
|
|
14302
|
-
]
|
|
14303
|
-
},
|
|
14304
|
-
toggle12: {
|
|
14305
|
-
interval: 120,
|
|
14306
|
-
frames: [
|
|
14307
|
-
"☗",
|
|
14308
|
-
"☖"
|
|
14309
|
-
]
|
|
14310
|
-
},
|
|
14311
|
-
toggle13: {
|
|
14312
|
-
interval: 80,
|
|
14313
|
-
frames: [
|
|
14314
|
-
"=",
|
|
14315
|
-
"*",
|
|
14316
|
-
"-"
|
|
14317
|
-
]
|
|
14318
|
-
},
|
|
14319
|
-
arrow: {
|
|
14320
|
-
interval: 100,
|
|
14321
|
-
frames: [
|
|
14322
|
-
"←",
|
|
14323
|
-
"↖",
|
|
14324
|
-
"↑",
|
|
14325
|
-
"↗",
|
|
14326
|
-
"→",
|
|
14327
|
-
"↘",
|
|
14328
|
-
"↓",
|
|
14329
|
-
"↙"
|
|
14330
|
-
]
|
|
14331
|
-
},
|
|
14332
|
-
arrow2: {
|
|
14333
|
-
interval: 80,
|
|
14334
|
-
frames: [
|
|
14335
|
-
"⬆️ ",
|
|
14336
|
-
"↗️ ",
|
|
14337
|
-
"➡️ ",
|
|
14338
|
-
"↘️ ",
|
|
14339
|
-
"⬇️ ",
|
|
14340
|
-
"↙️ ",
|
|
14341
|
-
"⬅️ ",
|
|
14342
|
-
"↖️ "
|
|
14343
|
-
]
|
|
14344
|
-
},
|
|
14345
|
-
arrow3: {
|
|
14346
|
-
interval: 120,
|
|
14347
|
-
frames: [
|
|
14348
|
-
"▹▹▹▹▹",
|
|
14349
|
-
"▸▹▹▹▹",
|
|
14350
|
-
"▹▸▹▹▹",
|
|
14351
|
-
"▹▹▸▹▹",
|
|
14352
|
-
"▹▹▹▸▹",
|
|
14353
|
-
"▹▹▹▹▸"
|
|
14354
|
-
]
|
|
14355
|
-
},
|
|
14356
|
-
bouncingBar: {
|
|
14357
|
-
interval: 80,
|
|
14358
|
-
frames: [
|
|
14359
|
-
"[ ]",
|
|
14360
|
-
"[= ]",
|
|
14361
|
-
"[== ]",
|
|
14362
|
-
"[=== ]",
|
|
14363
|
-
"[====]",
|
|
14364
|
-
"[ ===]",
|
|
14365
|
-
"[ ==]",
|
|
14366
|
-
"[ =]",
|
|
14367
|
-
"[ ]",
|
|
14368
|
-
"[ =]",
|
|
14369
|
-
"[ ==]",
|
|
14370
|
-
"[ ===]",
|
|
14371
|
-
"[====]",
|
|
14372
|
-
"[=== ]",
|
|
14373
|
-
"[== ]",
|
|
14374
|
-
"[= ]"
|
|
14375
|
-
]
|
|
14376
|
-
},
|
|
14377
|
-
bouncingBall: {
|
|
14378
|
-
interval: 80,
|
|
14379
|
-
frames: [
|
|
14380
|
-
"( ● )",
|
|
14381
|
-
"( ● )",
|
|
14382
|
-
"( ● )",
|
|
14383
|
-
"( ● )",
|
|
14384
|
-
"( ●)",
|
|
14385
|
-
"( ● )",
|
|
14386
|
-
"( ● )",
|
|
14387
|
-
"( ● )",
|
|
14388
|
-
"( ● )",
|
|
14389
|
-
"(● )"
|
|
14390
|
-
]
|
|
14391
|
-
},
|
|
14392
|
-
smiley: {
|
|
14393
|
-
interval: 200,
|
|
14394
|
-
frames: [
|
|
14395
|
-
"😄 ",
|
|
14396
|
-
"😝 "
|
|
14397
|
-
]
|
|
14398
|
-
},
|
|
14399
|
-
monkey: {
|
|
14400
|
-
interval: 300,
|
|
14401
|
-
frames: [
|
|
14402
|
-
"🙈 ",
|
|
14403
|
-
"🙈 ",
|
|
14404
|
-
"🙉 ",
|
|
14405
|
-
"🙊 "
|
|
14406
|
-
]
|
|
14407
|
-
},
|
|
14408
|
-
hearts: {
|
|
14409
|
-
interval: 100,
|
|
14410
|
-
frames: [
|
|
14411
|
-
"💛 ",
|
|
14412
|
-
"💙 ",
|
|
14413
|
-
"💜 ",
|
|
14414
|
-
"💚 ",
|
|
14415
|
-
"💗 "
|
|
14416
|
-
]
|
|
14417
|
-
},
|
|
14418
|
-
clock: {
|
|
14419
|
-
interval: 100,
|
|
14420
|
-
frames: [
|
|
14421
|
-
"🕛 ",
|
|
14422
|
-
"🕐 ",
|
|
14423
|
-
"🕑 ",
|
|
14424
|
-
"🕒 ",
|
|
14425
|
-
"🕓 ",
|
|
14426
|
-
"🕔 ",
|
|
14427
|
-
"🕕 ",
|
|
14428
|
-
"🕖 ",
|
|
14429
|
-
"🕗 ",
|
|
14430
|
-
"🕘 ",
|
|
14431
|
-
"🕙 ",
|
|
14432
|
-
"🕚 "
|
|
14433
|
-
]
|
|
14434
|
-
},
|
|
14435
|
-
earth: {
|
|
14436
|
-
interval: 180,
|
|
14437
|
-
frames: [
|
|
14438
|
-
"🌍 ",
|
|
14439
|
-
"🌎 ",
|
|
14440
|
-
"🌏 "
|
|
14441
|
-
]
|
|
14442
|
-
},
|
|
14443
|
-
material: {
|
|
14444
|
-
interval: 17,
|
|
14445
|
-
frames: [
|
|
14446
|
-
"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14447
|
-
"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14448
|
-
"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14449
|
-
"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14450
|
-
"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14451
|
-
"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14452
|
-
"███████▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14453
|
-
"████████▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14454
|
-
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
|
14455
|
-
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
|
14456
|
-
"██████████▁▁▁▁▁▁▁▁▁▁",
|
|
14457
|
-
"███████████▁▁▁▁▁▁▁▁▁",
|
|
14458
|
-
"█████████████▁▁▁▁▁▁▁",
|
|
14459
|
-
"██████████████▁▁▁▁▁▁",
|
|
14460
|
-
"██████████████▁▁▁▁▁▁",
|
|
14461
|
-
"▁██████████████▁▁▁▁▁",
|
|
14462
|
-
"▁██████████████▁▁▁▁▁",
|
|
14463
|
-
"▁██████████████▁▁▁▁▁",
|
|
14464
|
-
"▁▁██████████████▁▁▁▁",
|
|
14465
|
-
"▁▁▁██████████████▁▁▁",
|
|
14466
|
-
"▁▁▁▁█████████████▁▁▁",
|
|
14467
|
-
"▁▁▁▁██████████████▁▁",
|
|
14468
|
-
"▁▁▁▁██████████████▁▁",
|
|
14469
|
-
"▁▁▁▁▁██████████████▁",
|
|
14470
|
-
"▁▁▁▁▁██████████████▁",
|
|
14471
|
-
"▁▁▁▁▁██████████████▁",
|
|
14472
|
-
"▁▁▁▁▁▁██████████████",
|
|
14473
|
-
"▁▁▁▁▁▁██████████████",
|
|
14474
|
-
"▁▁▁▁▁▁▁█████████████",
|
|
14475
|
-
"▁▁▁▁▁▁▁█████████████",
|
|
14476
|
-
"▁▁▁▁▁▁▁▁████████████",
|
|
14477
|
-
"▁▁▁▁▁▁▁▁████████████",
|
|
14478
|
-
"▁▁▁▁▁▁▁▁▁███████████",
|
|
14479
|
-
"▁▁▁▁▁▁▁▁▁███████████",
|
|
14480
|
-
"▁▁▁▁▁▁▁▁▁▁██████████",
|
|
14481
|
-
"▁▁▁▁▁▁▁▁▁▁██████████",
|
|
14482
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁████████",
|
|
14483
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
|
|
14484
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████",
|
|
14485
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
|
|
14486
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
|
|
14487
|
-
"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
|
|
14488
|
-
"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
|
14489
|
-
"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
|
14490
|
-
"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
|
14491
|
-
"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
|
|
14492
|
-
"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
|
14493
|
-
"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
|
14494
|
-
"██████▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
|
14495
|
-
"████████▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14496
|
-
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
|
14497
|
-
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
|
14498
|
-
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
|
14499
|
-
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
|
14500
|
-
"███████████▁▁▁▁▁▁▁▁▁",
|
|
14501
|
-
"████████████▁▁▁▁▁▁▁▁",
|
|
14502
|
-
"████████████▁▁▁▁▁▁▁▁",
|
|
14503
|
-
"██████████████▁▁▁▁▁▁",
|
|
14504
|
-
"██████████████▁▁▁▁▁▁",
|
|
14505
|
-
"▁██████████████▁▁▁▁▁",
|
|
14506
|
-
"▁██████████████▁▁▁▁▁",
|
|
14507
|
-
"▁▁▁█████████████▁▁▁▁",
|
|
14508
|
-
"▁▁▁▁▁████████████▁▁▁",
|
|
14509
|
-
"▁▁▁▁▁████████████▁▁▁",
|
|
14510
|
-
"▁▁▁▁▁▁███████████▁▁▁",
|
|
14511
|
-
"▁▁▁▁▁▁▁▁█████████▁▁▁",
|
|
14512
|
-
"▁▁▁▁▁▁▁▁█████████▁▁▁",
|
|
14513
|
-
"▁▁▁▁▁▁▁▁▁█████████▁▁",
|
|
14514
|
-
"▁▁▁▁▁▁▁▁▁█████████▁▁",
|
|
14515
|
-
"▁▁▁▁▁▁▁▁▁▁█████████▁",
|
|
14516
|
-
"▁▁▁▁▁▁▁▁▁▁▁████████▁",
|
|
14517
|
-
"▁▁▁▁▁▁▁▁▁▁▁████████▁",
|
|
14518
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
|
|
14519
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
|
|
14520
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
|
|
14521
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
|
|
14522
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
|
|
14523
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
|
|
14524
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
|
|
14525
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
|
|
14526
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
|
14527
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
|
14528
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
|
|
14529
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
|
|
14530
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
|
|
14531
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
|
14532
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
|
14533
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
|
14534
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14535
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14536
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
|
14537
|
-
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"
|
|
14538
|
-
]
|
|
14539
|
-
},
|
|
14540
|
-
moon: {
|
|
14541
|
-
interval: 80,
|
|
14542
|
-
frames: [
|
|
14543
|
-
"🌑 ",
|
|
14544
|
-
"🌒 ",
|
|
14545
|
-
"🌓 ",
|
|
14546
|
-
"🌔 ",
|
|
14547
|
-
"🌕 ",
|
|
14548
|
-
"🌖 ",
|
|
14549
|
-
"🌗 ",
|
|
14550
|
-
"🌘 "
|
|
14551
|
-
]
|
|
14552
|
-
},
|
|
14553
|
-
runner: {
|
|
14554
|
-
interval: 140,
|
|
14555
|
-
frames: [
|
|
14556
|
-
"🚶 ",
|
|
14557
|
-
"🏃 "
|
|
14558
|
-
]
|
|
14559
|
-
},
|
|
14560
|
-
pong: {
|
|
14561
|
-
interval: 80,
|
|
14562
|
-
frames: [
|
|
14563
|
-
"▐⠂ ▌",
|
|
14564
|
-
"▐⠈ ▌",
|
|
14565
|
-
"▐ ⠂ ▌",
|
|
14566
|
-
"▐ ⠠ ▌",
|
|
14567
|
-
"▐ ⡀ ▌",
|
|
14568
|
-
"▐ ⠠ ▌",
|
|
14569
|
-
"▐ ⠂ ▌",
|
|
14570
|
-
"▐ ⠈ ▌",
|
|
14571
|
-
"▐ ⠂ ▌",
|
|
14572
|
-
"▐ ⠠ ▌",
|
|
14573
|
-
"▐ ⡀ ▌",
|
|
14574
|
-
"▐ ⠠ ▌",
|
|
14575
|
-
"▐ ⠂ ▌",
|
|
14576
|
-
"▐ ⠈ ▌",
|
|
14577
|
-
"▐ ⠂▌",
|
|
14578
|
-
"▐ ⠠▌",
|
|
14579
|
-
"▐ ⡀▌",
|
|
14580
|
-
"▐ ⠠ ▌",
|
|
14581
|
-
"▐ ⠂ ▌",
|
|
14582
|
-
"▐ ⠈ ▌",
|
|
14583
|
-
"▐ ⠂ ▌",
|
|
14584
|
-
"▐ ⠠ ▌",
|
|
14585
|
-
"▐ ⡀ ▌",
|
|
14586
|
-
"▐ ⠠ ▌",
|
|
14587
|
-
"▐ ⠂ ▌",
|
|
14588
|
-
"▐ ⠈ ▌",
|
|
14589
|
-
"▐ ⠂ ▌",
|
|
14590
|
-
"▐ ⠠ ▌",
|
|
14591
|
-
"▐ ⡀ ▌",
|
|
14592
|
-
"▐⠠ ▌"
|
|
14593
|
-
]
|
|
14594
|
-
},
|
|
14595
|
-
shark: {
|
|
14596
|
-
interval: 120,
|
|
14597
|
-
frames: [
|
|
14598
|
-
"▐|\\____________▌",
|
|
14599
|
-
"▐_|\\___________▌",
|
|
14600
|
-
"▐__|\\__________▌",
|
|
14601
|
-
"▐___|\\_________▌",
|
|
14602
|
-
"▐____|\\________▌",
|
|
14603
|
-
"▐_____|\\_______▌",
|
|
14604
|
-
"▐______|\\______▌",
|
|
14605
|
-
"▐_______|\\_____▌",
|
|
14606
|
-
"▐________|\\____▌",
|
|
14607
|
-
"▐_________|\\___▌",
|
|
14608
|
-
"▐__________|\\__▌",
|
|
14609
|
-
"▐___________|\\_▌",
|
|
14610
|
-
"▐____________|\\▌",
|
|
14611
|
-
"▐____________/|▌",
|
|
14612
|
-
"▐___________/|_▌",
|
|
14613
|
-
"▐__________/|__▌",
|
|
14614
|
-
"▐_________/|___▌",
|
|
14615
|
-
"▐________/|____▌",
|
|
14616
|
-
"▐_______/|_____▌",
|
|
14617
|
-
"▐______/|______▌",
|
|
14618
|
-
"▐_____/|_______▌",
|
|
14619
|
-
"▐____/|________▌",
|
|
14620
|
-
"▐___/|_________▌",
|
|
14621
|
-
"▐__/|__________▌",
|
|
14622
|
-
"▐_/|___________▌",
|
|
14623
|
-
"▐/|____________▌"
|
|
14624
|
-
]
|
|
14625
|
-
},
|
|
14626
|
-
dqpb: {
|
|
14627
|
-
interval: 100,
|
|
14628
|
-
frames: [
|
|
14629
|
-
"d",
|
|
14630
|
-
"q",
|
|
14631
|
-
"p",
|
|
14632
|
-
"b"
|
|
14633
|
-
]
|
|
14634
|
-
},
|
|
14635
|
-
weather: {
|
|
14636
|
-
interval: 100,
|
|
14637
|
-
frames: [
|
|
14638
|
-
"☀️ ",
|
|
14639
|
-
"☀️ ",
|
|
14640
|
-
"☀️ ",
|
|
14641
|
-
"🌤 ",
|
|
14642
|
-
"⛅️ ",
|
|
14643
|
-
"🌥 ",
|
|
14644
|
-
"☁️ ",
|
|
14645
|
-
"🌧 ",
|
|
14646
|
-
"🌨 ",
|
|
14647
|
-
"🌧 ",
|
|
14648
|
-
"🌨 ",
|
|
14649
|
-
"🌧 ",
|
|
14650
|
-
"🌨 ",
|
|
14651
|
-
"⛈ ",
|
|
14652
|
-
"🌨 ",
|
|
14653
|
-
"🌧 ",
|
|
14654
|
-
"🌨 ",
|
|
14655
|
-
"☁️ ",
|
|
14656
|
-
"🌥 ",
|
|
14657
|
-
"⛅️ ",
|
|
14658
|
-
"🌤 ",
|
|
14659
|
-
"☀️ ",
|
|
14660
|
-
"☀️ "
|
|
14661
|
-
]
|
|
14662
|
-
},
|
|
14663
|
-
christmas: {
|
|
14664
|
-
interval: 400,
|
|
14665
|
-
frames: [
|
|
14666
|
-
"🌲",
|
|
14667
|
-
"🎄"
|
|
14668
|
-
]
|
|
14669
|
-
},
|
|
14670
|
-
grenade: {
|
|
14671
|
-
interval: 80,
|
|
14672
|
-
frames: [
|
|
14673
|
-
"، ",
|
|
14674
|
-
"′ ",
|
|
14675
|
-
" ´ ",
|
|
14676
|
-
" ‾ ",
|
|
14677
|
-
" ⸌",
|
|
14678
|
-
" ⸊",
|
|
14679
|
-
" |",
|
|
14680
|
-
" ⁎",
|
|
14681
|
-
" ⁕",
|
|
14682
|
-
" ෴ ",
|
|
14683
|
-
" ⁓",
|
|
14684
|
-
" ",
|
|
14685
|
-
" ",
|
|
14686
|
-
" "
|
|
14687
|
-
]
|
|
14688
|
-
},
|
|
14689
|
-
point: {
|
|
14690
|
-
interval: 125,
|
|
14691
|
-
frames: [
|
|
14692
|
-
"∙∙∙",
|
|
14693
|
-
"●∙∙",
|
|
14694
|
-
"∙●∙",
|
|
14695
|
-
"∙∙●",
|
|
14696
|
-
"∙∙∙"
|
|
14697
|
-
]
|
|
14698
|
-
},
|
|
14699
|
-
layer: {
|
|
14700
|
-
interval: 150,
|
|
14701
|
-
frames: [
|
|
14702
|
-
"-",
|
|
14703
|
-
"=",
|
|
14704
|
-
"≡"
|
|
14705
|
-
]
|
|
14706
|
-
},
|
|
14707
|
-
betaWave: {
|
|
14708
|
-
interval: 80,
|
|
14709
|
-
frames: [
|
|
14710
|
-
"ρββββββ",
|
|
14711
|
-
"βρβββββ",
|
|
14712
|
-
"ββρββββ",
|
|
14713
|
-
"βββρβββ",
|
|
14714
|
-
"ββββρββ",
|
|
14715
|
-
"βββββρβ",
|
|
14716
|
-
"ββββββρ"
|
|
14717
|
-
]
|
|
14718
|
-
},
|
|
14719
|
-
fingerDance: {
|
|
14720
|
-
interval: 160,
|
|
14721
|
-
frames: [
|
|
14722
|
-
"🤘 ",
|
|
14723
|
-
"🤟 ",
|
|
14724
|
-
"🖖 ",
|
|
14725
|
-
"✋ ",
|
|
14726
|
-
"🤚 ",
|
|
14727
|
-
"👆 "
|
|
14728
|
-
]
|
|
14729
|
-
},
|
|
14730
|
-
fistBump: {
|
|
14731
|
-
interval: 80,
|
|
14732
|
-
frames: [
|
|
14733
|
-
"🤜 🤛 ",
|
|
14734
|
-
"🤜 🤛 ",
|
|
14735
|
-
"🤜 🤛 ",
|
|
14736
|
-
" 🤜 🤛 ",
|
|
14737
|
-
" 🤜🤛 ",
|
|
14738
|
-
" 🤜✨🤛 ",
|
|
14739
|
-
"🤜 ✨ 🤛 "
|
|
14740
|
-
]
|
|
14741
|
-
},
|
|
14742
|
-
soccerHeader: {
|
|
14743
|
-
interval: 80,
|
|
14744
|
-
frames: [
|
|
14745
|
-
" 🧑⚽️ 🧑 ",
|
|
14746
|
-
"🧑 ⚽️ 🧑 ",
|
|
14747
|
-
"🧑 ⚽️ 🧑 ",
|
|
14748
|
-
"🧑 ⚽️ 🧑 ",
|
|
14749
|
-
"🧑 ⚽️ 🧑 ",
|
|
14750
|
-
"🧑 ⚽️ 🧑 ",
|
|
14751
|
-
"🧑 ⚽️🧑 ",
|
|
14752
|
-
"🧑 ⚽️ 🧑 ",
|
|
14753
|
-
"🧑 ⚽️ 🧑 ",
|
|
14754
|
-
"🧑 ⚽️ 🧑 ",
|
|
14755
|
-
"🧑 ⚽️ 🧑 ",
|
|
14756
|
-
"🧑 ⚽️ 🧑 "
|
|
14757
|
-
]
|
|
14758
|
-
},
|
|
14759
|
-
mindblown: {
|
|
14760
|
-
interval: 160,
|
|
14761
|
-
frames: [
|
|
14762
|
-
"😐 ",
|
|
14763
|
-
"😐 ",
|
|
14764
|
-
"😮 ",
|
|
14765
|
-
"😮 ",
|
|
14766
|
-
"😦 ",
|
|
14767
|
-
"😦 ",
|
|
14768
|
-
"😧 ",
|
|
14769
|
-
"😧 ",
|
|
14770
|
-
"🤯 ",
|
|
14771
|
-
"💥 ",
|
|
14772
|
-
"✨ ",
|
|
14773
|
-
" ",
|
|
14774
|
-
" ",
|
|
14775
|
-
" "
|
|
14776
|
-
]
|
|
14777
|
-
},
|
|
14778
|
-
speaker: {
|
|
14779
|
-
interval: 160,
|
|
14780
|
-
frames: [
|
|
14781
|
-
"🔈 ",
|
|
14782
|
-
"🔉 ",
|
|
14783
|
-
"🔊 ",
|
|
14784
|
-
"🔉 "
|
|
14785
|
-
]
|
|
14786
|
-
},
|
|
14787
|
-
orangePulse: {
|
|
14788
|
-
interval: 100,
|
|
14789
|
-
frames: [
|
|
14790
|
-
"🔸 ",
|
|
14791
|
-
"🔶 ",
|
|
14792
|
-
"🟠 ",
|
|
14793
|
-
"🟠 ",
|
|
14794
|
-
"🔶 "
|
|
14795
|
-
]
|
|
14796
|
-
},
|
|
14797
|
-
bluePulse: {
|
|
14798
|
-
interval: 100,
|
|
14799
|
-
frames: [
|
|
14800
|
-
"🔹 ",
|
|
14801
|
-
"🔷 ",
|
|
14802
|
-
"🔵 ",
|
|
14803
|
-
"🔵 ",
|
|
14804
|
-
"🔷 "
|
|
14805
|
-
]
|
|
14806
|
-
},
|
|
14807
|
-
orangeBluePulse: {
|
|
14808
|
-
interval: 100,
|
|
14809
|
-
frames: [
|
|
14810
|
-
"🔸 ",
|
|
14811
|
-
"🔶 ",
|
|
14812
|
-
"🟠 ",
|
|
14813
|
-
"🟠 ",
|
|
14814
|
-
"🔶 ",
|
|
14815
|
-
"🔹 ",
|
|
14816
|
-
"🔷 ",
|
|
14817
|
-
"🔵 ",
|
|
14818
|
-
"🔵 ",
|
|
14819
|
-
"🔷 "
|
|
14820
|
-
]
|
|
14821
|
-
},
|
|
14822
|
-
timeTravel: {
|
|
14823
|
-
interval: 100,
|
|
14824
|
-
frames: [
|
|
14825
|
-
"🕛 ",
|
|
14826
|
-
"🕚 ",
|
|
14827
|
-
"🕙 ",
|
|
14828
|
-
"🕘 ",
|
|
14829
|
-
"🕗 ",
|
|
14830
|
-
"🕖 ",
|
|
14831
|
-
"🕕 ",
|
|
14832
|
-
"🕔 ",
|
|
14833
|
-
"🕓 ",
|
|
14834
|
-
"🕒 ",
|
|
14835
|
-
"🕑 ",
|
|
14836
|
-
"🕐 "
|
|
14837
|
-
]
|
|
14838
|
-
},
|
|
14839
|
-
aesthetic: {
|
|
14840
|
-
interval: 80,
|
|
14841
|
-
frames: [
|
|
14842
|
-
"▰▱▱▱▱▱▱",
|
|
14843
|
-
"▰▰▱▱▱▱▱",
|
|
14844
|
-
"▰▰▰▱▱▱▱",
|
|
14845
|
-
"▰▰▰▰▱▱▱",
|
|
14846
|
-
"▰▰▰▰▰▱▱",
|
|
14847
|
-
"▰▰▰▰▰▰▱",
|
|
14848
|
-
"▰▰▰▰▰▰▰",
|
|
14849
|
-
"▰▱▱▱▱▱▱"
|
|
14850
|
-
]
|
|
14851
|
-
},
|
|
14852
|
-
dwarfFortress: {
|
|
14853
|
-
interval: 80,
|
|
14854
|
-
frames: [
|
|
14855
|
-
" ██████£££ ",
|
|
14856
|
-
"☺██████£££ ",
|
|
14857
|
-
"☺██████£££ ",
|
|
14858
|
-
"☺▓█████£££ ",
|
|
14859
|
-
"☺▓█████£££ ",
|
|
14860
|
-
"☺▒█████£££ ",
|
|
14861
|
-
"☺▒█████£££ ",
|
|
14862
|
-
"☺░█████£££ ",
|
|
14863
|
-
"☺░█████£££ ",
|
|
14864
|
-
"☺ █████£££ ",
|
|
14865
|
-
" ☺█████£££ ",
|
|
14866
|
-
" ☺█████£££ ",
|
|
14867
|
-
" ☺▓████£££ ",
|
|
14868
|
-
" ☺▓████£££ ",
|
|
14869
|
-
" ☺▒████£££ ",
|
|
14870
|
-
" ☺▒████£££ ",
|
|
14871
|
-
" ☺░████£££ ",
|
|
14872
|
-
" ☺░████£££ ",
|
|
14873
|
-
" ☺ ████£££ ",
|
|
14874
|
-
" ☺████£££ ",
|
|
14875
|
-
" ☺████£££ ",
|
|
14876
|
-
" ☺▓███£££ ",
|
|
14877
|
-
" ☺▓███£££ ",
|
|
14878
|
-
" ☺▒███£££ ",
|
|
14879
|
-
" ☺▒███£££ ",
|
|
14880
|
-
" ☺░███£££ ",
|
|
14881
|
-
" ☺░███£££ ",
|
|
14882
|
-
" ☺ ███£££ ",
|
|
14883
|
-
" ☺███£££ ",
|
|
14884
|
-
" ☺███£££ ",
|
|
14885
|
-
" ☺▓██£££ ",
|
|
14886
|
-
" ☺▓██£££ ",
|
|
14887
|
-
" ☺▒██£££ ",
|
|
14888
|
-
" ☺▒██£££ ",
|
|
14889
|
-
" ☺░██£££ ",
|
|
14890
|
-
" ☺░██£££ ",
|
|
14891
|
-
" ☺ ██£££ ",
|
|
14892
|
-
" ☺██£££ ",
|
|
14893
|
-
" ☺██£££ ",
|
|
14894
|
-
" ☺▓█£££ ",
|
|
14895
|
-
" ☺▓█£££ ",
|
|
14896
|
-
" ☺▒█£££ ",
|
|
14897
|
-
" ☺▒█£££ ",
|
|
14898
|
-
" ☺░█£££ ",
|
|
14899
|
-
" ☺░█£££ ",
|
|
14900
|
-
" ☺ █£££ ",
|
|
14901
|
-
" ☺█£££ ",
|
|
14902
|
-
" ☺█£££ ",
|
|
14903
|
-
" ☺▓£££ ",
|
|
14904
|
-
" ☺▓£££ ",
|
|
14905
|
-
" ☺▒£££ ",
|
|
14906
|
-
" ☺▒£££ ",
|
|
14907
|
-
" ☺░£££ ",
|
|
14908
|
-
" ☺░£££ ",
|
|
14909
|
-
" ☺ £££ ",
|
|
14910
|
-
" ☺£££ ",
|
|
14911
|
-
" ☺£££ ",
|
|
14912
|
-
" ☺▓££ ",
|
|
14913
|
-
" ☺▓££ ",
|
|
14914
|
-
" ☺▒££ ",
|
|
14915
|
-
" ☺▒££ ",
|
|
14916
|
-
" ☺░££ ",
|
|
14917
|
-
" ☺░££ ",
|
|
14918
|
-
" ☺ ££ ",
|
|
14919
|
-
" ☺££ ",
|
|
14920
|
-
" ☺££ ",
|
|
14921
|
-
" ☺▓£ ",
|
|
14922
|
-
" ☺▓£ ",
|
|
14923
|
-
" ☺▒£ ",
|
|
14924
|
-
" ☺▒£ ",
|
|
14925
|
-
" ☺░£ ",
|
|
14926
|
-
" ☺░£ ",
|
|
14927
|
-
" ☺ £ ",
|
|
14928
|
-
" ☺£ ",
|
|
14929
|
-
" ☺£ ",
|
|
14930
|
-
" ☺▓ ",
|
|
14931
|
-
" ☺▓ ",
|
|
14932
|
-
" ☺▒ ",
|
|
14933
|
-
" ☺▒ ",
|
|
14934
|
-
" ☺░ ",
|
|
14935
|
-
" ☺░ ",
|
|
14936
|
-
" ☺ ",
|
|
14937
|
-
" ☺ &",
|
|
14938
|
-
" ☺ ☼&",
|
|
14939
|
-
" ☺ ☼ &",
|
|
14940
|
-
" ☺☼ &",
|
|
14941
|
-
" ☺☼ & ",
|
|
14942
|
-
" ‼ & ",
|
|
14943
|
-
" ☺ & ",
|
|
14944
|
-
" ‼ & ",
|
|
14945
|
-
" ☺ & ",
|
|
14946
|
-
" ‼ & ",
|
|
14947
|
-
" ☺ & ",
|
|
14948
|
-
"‼ & ",
|
|
14949
|
-
" & ",
|
|
14950
|
-
" & ",
|
|
14951
|
-
" & ░ ",
|
|
14952
|
-
" & ▒ ",
|
|
14953
|
-
" & ▓ ",
|
|
14954
|
-
" & £ ",
|
|
14955
|
-
" & ░£ ",
|
|
14956
|
-
" & ▒£ ",
|
|
14957
|
-
" & ▓£ ",
|
|
14958
|
-
" & ££ ",
|
|
14959
|
-
" & ░££ ",
|
|
14960
|
-
" & ▒££ ",
|
|
14961
|
-
"& ▓££ ",
|
|
14962
|
-
"& £££ ",
|
|
14963
|
-
" ░£££ ",
|
|
14964
|
-
" ▒£££ ",
|
|
14965
|
-
" ▓£££ ",
|
|
14966
|
-
" █£££ ",
|
|
14967
|
-
" ░█£££ ",
|
|
14968
|
-
" ▒█£££ ",
|
|
14969
|
-
" ▓█£££ ",
|
|
14970
|
-
" ██£££ ",
|
|
14971
|
-
" ░██£££ ",
|
|
14972
|
-
" ▒██£££ ",
|
|
14973
|
-
" ▓██£££ ",
|
|
14974
|
-
" ███£££ ",
|
|
14975
|
-
" ░███£££ ",
|
|
14976
|
-
" ▒███£££ ",
|
|
14977
|
-
" ▓███£££ ",
|
|
14978
|
-
" ████£££ ",
|
|
14979
|
-
" ░████£££ ",
|
|
14980
|
-
" ▒████£££ ",
|
|
14981
|
-
" ▓████£££ ",
|
|
14982
|
-
" █████£££ ",
|
|
14983
|
-
" ░█████£££ ",
|
|
14984
|
-
" ▒█████£££ ",
|
|
14985
|
-
" ▓█████£££ ",
|
|
14986
|
-
" ██████£££ ",
|
|
14987
|
-
" ██████£££ "
|
|
14988
|
-
]
|
|
14989
|
-
},
|
|
14990
|
-
fish: {
|
|
14991
|
-
interval: 80,
|
|
14992
|
-
frames: [
|
|
14993
|
-
"~~~~~~~~~~~~~~~~~~~~",
|
|
14994
|
-
"> ~~~~~~~~~~~~~~~~~~",
|
|
14995
|
-
"º> ~~~~~~~~~~~~~~~~~",
|
|
14996
|
-
"(º> ~~~~~~~~~~~~~~~~",
|
|
14997
|
-
"((º> ~~~~~~~~~~~~~~~",
|
|
14998
|
-
"<((º> ~~~~~~~~~~~~~~",
|
|
14999
|
-
"><((º> ~~~~~~~~~~~~~",
|
|
15000
|
-
" ><((º> ~~~~~~~~~~~~",
|
|
15001
|
-
"~ ><((º> ~~~~~~~~~~~",
|
|
15002
|
-
"~~ <>((º> ~~~~~~~~~~",
|
|
15003
|
-
"~~~ ><((º> ~~~~~~~~~",
|
|
15004
|
-
"~~~~ <>((º> ~~~~~~~~",
|
|
15005
|
-
"~~~~~ ><((º> ~~~~~~~",
|
|
15006
|
-
"~~~~~~ <>((º> ~~~~~~",
|
|
15007
|
-
"~~~~~~~ ><((º> ~~~~~",
|
|
15008
|
-
"~~~~~~~~ <>((º> ~~~~",
|
|
15009
|
-
"~~~~~~~~~ ><((º> ~~~",
|
|
15010
|
-
"~~~~~~~~~~ <>((º> ~~",
|
|
15011
|
-
"~~~~~~~~~~~ ><((º> ~",
|
|
15012
|
-
"~~~~~~~~~~~~ <>((º> ",
|
|
15013
|
-
"~~~~~~~~~~~~~ ><((º>",
|
|
15014
|
-
"~~~~~~~~~~~~~~ <>((º",
|
|
15015
|
-
"~~~~~~~~~~~~~~~ ><((",
|
|
15016
|
-
"~~~~~~~~~~~~~~~~ <>(",
|
|
15017
|
-
"~~~~~~~~~~~~~~~~~ ><",
|
|
15018
|
-
"~~~~~~~~~~~~~~~~~~ <",
|
|
15019
|
-
"~~~~~~~~~~~~~~~~~~~~"
|
|
15020
|
-
]
|
|
15021
|
-
}
|
|
15022
|
-
};
|
|
15023
|
-
|
|
15024
|
-
// node_modules/cli-spinners/index.js
|
|
15025
|
-
var cli_spinners_default = spinners_default;
|
|
15026
|
-
var spinnersList = Object.keys(spinners_default);
|
|
15027
|
-
|
|
15028
|
-
// node_modules/log-symbols/symbols.js
|
|
15029
|
-
var exports_symbols = {};
|
|
15030
|
-
__export(exports_symbols, {
|
|
15031
|
-
warning: () => warning,
|
|
15032
|
-
success: () => success,
|
|
15033
|
-
info: () => info,
|
|
15034
|
-
error: () => error
|
|
15035
|
-
});
|
|
15036
|
-
|
|
15037
|
-
// node_modules/yoctocolors/base.js
|
|
15038
|
-
import tty2 from "node:tty";
|
|
15039
|
-
var hasColors = tty2?.WriteStream?.prototype?.hasColors?.() ?? false;
|
|
15040
|
-
var format3 = (open, close) => {
|
|
15041
|
-
if (!hasColors) {
|
|
15042
|
-
return (input) => input;
|
|
15043
|
-
}
|
|
15044
|
-
const openCode = `\x1B[${open}m`;
|
|
15045
|
-
const closeCode = `\x1B[${close}m`;
|
|
15046
|
-
return (input) => {
|
|
15047
|
-
const string = input + "";
|
|
15048
|
-
let index = string.indexOf(closeCode);
|
|
15049
|
-
if (index === -1) {
|
|
15050
|
-
return openCode + string + closeCode;
|
|
15051
|
-
}
|
|
15052
|
-
let result = openCode;
|
|
15053
|
-
let lastIndex = 0;
|
|
15054
|
-
const reopenOnNestedClose = close === 22;
|
|
15055
|
-
const replaceCode = (reopenOnNestedClose ? closeCode : "") + openCode;
|
|
15056
|
-
while (index !== -1) {
|
|
15057
|
-
result += string.slice(lastIndex, index) + replaceCode;
|
|
15058
|
-
lastIndex = index + closeCode.length;
|
|
15059
|
-
index = string.indexOf(closeCode, lastIndex);
|
|
15060
|
-
}
|
|
15061
|
-
result += string.slice(lastIndex) + closeCode;
|
|
15062
|
-
return result;
|
|
12795
|
+
process.exit(signalCode);
|
|
15063
12796
|
};
|
|
15064
|
-
|
|
15065
|
-
|
|
15066
|
-
|
|
15067
|
-
|
|
15068
|
-
|
|
15069
|
-
|
|
15070
|
-
|
|
15071
|
-
|
|
15072
|
-
|
|
15073
|
-
|
|
15074
|
-
|
|
15075
|
-
|
|
15076
|
-
|
|
15077
|
-
|
|
15078
|
-
|
|
15079
|
-
|
|
15080
|
-
|
|
15081
|
-
|
|
15082
|
-
|
|
15083
|
-
|
|
15084
|
-
|
|
15085
|
-
|
|
15086
|
-
|
|
15087
|
-
|
|
15088
|
-
|
|
15089
|
-
|
|
15090
|
-
|
|
15091
|
-
|
|
15092
|
-
|
|
15093
|
-
|
|
15094
|
-
|
|
15095
|
-
|
|
15096
|
-
|
|
15097
|
-
|
|
15098
|
-
|
|
15099
|
-
|
|
15100
|
-
|
|
15101
|
-
|
|
15102
|
-
|
|
15103
|
-
|
|
15104
|
-
|
|
15105
|
-
|
|
15106
|
-
|
|
15107
|
-
|
|
15108
|
-
|
|
15109
|
-
function isUnicodeSupported() {
|
|
15110
|
-
const { env: env3 } = process6;
|
|
15111
|
-
const { TERM, TERM_PROGRAM } = env3;
|
|
15112
|
-
if (process6.platform !== "win32") {
|
|
15113
|
-
return TERM !== "linux";
|
|
15114
|
-
}
|
|
15115
|
-
return Boolean(env3.WT_SESSION) || Boolean(env3.TERMINUS_SUBLIME) || env3.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env3.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
15116
|
-
}
|
|
15117
|
-
|
|
15118
|
-
// node_modules/log-symbols/symbols.js
|
|
15119
|
-
var _isUnicodeSupported = isUnicodeSupported();
|
|
15120
|
-
var info = blue(_isUnicodeSupported ? "ℹ" : "i");
|
|
15121
|
-
var success = green(_isUnicodeSupported ? "✔" : "√");
|
|
15122
|
-
var warning = yellow(_isUnicodeSupported ? "⚠" : "‼");
|
|
15123
|
-
var error = red(_isUnicodeSupported ? "✖" : "×");
|
|
15124
|
-
// node_modules/string-width/index.js
|
|
15125
|
-
var segmenter4 = new Intl.Segmenter;
|
|
15126
|
-
var zeroWidthClusterRegex = /^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Format}|\p{Mark}|\p{Surrogate})+$/v;
|
|
15127
|
-
var leadingNonPrintingRegex = /^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v;
|
|
15128
|
-
var rgiEmojiRegex = /^\p{RGI_Emoji}$/v;
|
|
15129
|
-
var unqualifiedKeycapRegex = /^[\d#*]\u20E3$/;
|
|
15130
|
-
var extendedPictographicRegex = /\p{Extended_Pictographic}/gu;
|
|
15131
|
-
function isDoubleWidthNonRgiEmojiSequence(segment) {
|
|
15132
|
-
if (segment.length > 50) {
|
|
15133
|
-
return false;
|
|
15134
|
-
}
|
|
15135
|
-
if (unqualifiedKeycapRegex.test(segment)) {
|
|
15136
|
-
return true;
|
|
15137
|
-
}
|
|
15138
|
-
if (segment.includes("")) {
|
|
15139
|
-
const pictographics = segment.match(extendedPictographicRegex);
|
|
15140
|
-
return pictographics !== null && pictographics.length >= 2;
|
|
15141
|
-
}
|
|
15142
|
-
return false;
|
|
15143
|
-
}
|
|
15144
|
-
function baseVisible(segment) {
|
|
15145
|
-
return segment.replace(leadingNonPrintingRegex, "");
|
|
15146
|
-
}
|
|
15147
|
-
function isZeroWidthCluster(segment) {
|
|
15148
|
-
return zeroWidthClusterRegex.test(segment);
|
|
15149
|
-
}
|
|
15150
|
-
function trailingHalfwidthWidth(segment, eastAsianWidthOptions) {
|
|
15151
|
-
let extra = 0;
|
|
15152
|
-
if (segment.length > 1) {
|
|
15153
|
-
for (const char of segment.slice(1)) {
|
|
15154
|
-
if (char >= "" && char <= "") {
|
|
15155
|
-
extra += eastAsianWidth(char.codePointAt(0), eastAsianWidthOptions);
|
|
15156
|
-
}
|
|
15157
|
-
}
|
|
15158
|
-
}
|
|
15159
|
-
return extra;
|
|
15160
|
-
}
|
|
15161
|
-
function stringWidth4(input, options = {}) {
|
|
15162
|
-
if (typeof input !== "string" || input.length === 0) {
|
|
15163
|
-
return 0;
|
|
15164
|
-
}
|
|
15165
|
-
const {
|
|
15166
|
-
ambiguousIsNarrow = true,
|
|
15167
|
-
countAnsiEscapeCodes = false
|
|
15168
|
-
} = options;
|
|
15169
|
-
let string = input;
|
|
15170
|
-
if (!countAnsiEscapeCodes && (string.includes("\x1B") || string.includes(""))) {
|
|
15171
|
-
string = stripAnsi(string);
|
|
15172
|
-
}
|
|
15173
|
-
if (string.length === 0) {
|
|
15174
|
-
return 0;
|
|
15175
|
-
}
|
|
15176
|
-
if (/^[\u0020-\u007E]*$/.test(string)) {
|
|
15177
|
-
return string.length;
|
|
15178
|
-
}
|
|
15179
|
-
let width = 0;
|
|
15180
|
-
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
|
|
15181
|
-
for (const { segment } of segmenter4.segment(string)) {
|
|
15182
|
-
if (isZeroWidthCluster(segment)) {
|
|
15183
|
-
continue;
|
|
15184
|
-
}
|
|
15185
|
-
if (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {
|
|
15186
|
-
width += 2;
|
|
15187
|
-
continue;
|
|
15188
|
-
}
|
|
15189
|
-
const codePoint = baseVisible(segment).codePointAt(0);
|
|
15190
|
-
width += eastAsianWidth(codePoint, eastAsianWidthOptions);
|
|
15191
|
-
width += trailingHalfwidthWidth(segment, eastAsianWidthOptions);
|
|
15192
|
-
}
|
|
15193
|
-
return width;
|
|
15194
|
-
}
|
|
15195
|
-
|
|
15196
|
-
// node_modules/is-interactive/index.js
|
|
15197
|
-
function isInteractive({ stream = process.stdout } = {}) {
|
|
15198
|
-
return Boolean(stream && stream.isTTY && process.env.TERM !== "dumb" && !("CI" in process.env));
|
|
15199
|
-
}
|
|
15200
|
-
|
|
15201
|
-
// node_modules/stdin-discarder/index.js
|
|
15202
|
-
import process7 from "node:process";
|
|
15203
|
-
var ASCII_ETX_CODE = 3;
|
|
15204
|
-
|
|
15205
|
-
class StdinDiscarder {
|
|
15206
|
-
#activeCount = 0;
|
|
15207
|
-
#stdin;
|
|
15208
|
-
#stdinWasPaused = false;
|
|
15209
|
-
#stdinWasRaw = false;
|
|
15210
|
-
#handleInputBound = (chunk) => {
|
|
15211
|
-
if (!chunk?.length) {
|
|
15212
|
-
return;
|
|
15213
|
-
}
|
|
15214
|
-
const code = typeof chunk === "string" ? chunk.codePointAt(0) : chunk[0];
|
|
15215
|
-
if (code === ASCII_ETX_CODE) {
|
|
15216
|
-
process7.kill(process7.pid, "SIGINT");
|
|
15217
|
-
}
|
|
15218
|
-
};
|
|
15219
|
-
start() {
|
|
15220
|
-
this.#activeCount++;
|
|
15221
|
-
if (this.#activeCount === 1) {
|
|
15222
|
-
this.#realStart();
|
|
15223
|
-
}
|
|
15224
|
-
}
|
|
15225
|
-
stop() {
|
|
15226
|
-
if (this.#activeCount === 0) {
|
|
15227
|
-
return;
|
|
15228
|
-
}
|
|
15229
|
-
if (--this.#activeCount === 0) {
|
|
15230
|
-
this.#realStop();
|
|
15231
|
-
}
|
|
15232
|
-
}
|
|
15233
|
-
#realStart() {
|
|
15234
|
-
const { stdin } = process7;
|
|
15235
|
-
if (process7.platform === "win32" || !stdin?.isTTY || typeof stdin.setRawMode !== "function") {
|
|
15236
|
-
this.#stdin = undefined;
|
|
15237
|
-
return;
|
|
15238
|
-
}
|
|
15239
|
-
this.#stdin = stdin;
|
|
15240
|
-
this.#stdinWasPaused = stdin.isPaused();
|
|
15241
|
-
this.#stdinWasRaw = Boolean(stdin.isRaw);
|
|
15242
|
-
stdin.setRawMode(true);
|
|
15243
|
-
stdin.prependListener("data", this.#handleInputBound);
|
|
15244
|
-
if (this.#stdinWasPaused) {
|
|
15245
|
-
stdin.resume();
|
|
15246
|
-
}
|
|
15247
|
-
}
|
|
15248
|
-
#realStop() {
|
|
15249
|
-
if (!this.#stdin) {
|
|
15250
|
-
return;
|
|
15251
|
-
}
|
|
15252
|
-
const stdin = this.#stdin;
|
|
15253
|
-
stdin.off("data", this.#handleInputBound);
|
|
15254
|
-
if (stdin.isTTY) {
|
|
15255
|
-
stdin.setRawMode?.(this.#stdinWasRaw);
|
|
15256
|
-
}
|
|
15257
|
-
if (this.#stdinWasPaused) {
|
|
15258
|
-
stdin.pause();
|
|
15259
|
-
}
|
|
15260
|
-
this.#stdin = undefined;
|
|
15261
|
-
this.#stdinWasPaused = false;
|
|
15262
|
-
this.#stdinWasRaw = false;
|
|
15263
|
-
}
|
|
15264
|
-
}
|
|
15265
|
-
var stdinDiscarder = new StdinDiscarder;
|
|
15266
|
-
var stdin_discarder_default = Object.freeze(stdinDiscarder);
|
|
15267
|
-
|
|
15268
|
-
// node_modules/ora/index.js
|
|
15269
|
-
var RENDER_DEFERRAL_TIMEOUT = 200;
|
|
15270
|
-
var SYNCHRONIZED_OUTPUT_ENABLE = "\x1B[?2026h";
|
|
15271
|
-
var SYNCHRONIZED_OUTPUT_DISABLE = "\x1B[?2026l";
|
|
15272
|
-
var activeHooksPerStream = new Map;
|
|
15273
|
-
|
|
15274
|
-
class Ora {
|
|
15275
|
-
#linesToClear = 0;
|
|
15276
|
-
#frameIndex = -1;
|
|
15277
|
-
#lastFrameTime = 0;
|
|
15278
|
-
#options;
|
|
15279
|
-
#spinner;
|
|
15280
|
-
#stream;
|
|
15281
|
-
#id;
|
|
15282
|
-
#hookedStreams = new Map;
|
|
15283
|
-
#isInternalWrite = false;
|
|
15284
|
-
#drainHandler;
|
|
15285
|
-
#deferRenderTimer;
|
|
15286
|
-
#isDiscardingStdin = false;
|
|
15287
|
-
color;
|
|
15288
|
-
#internalWrite(fn) {
|
|
15289
|
-
this.#isInternalWrite = true;
|
|
15290
|
-
try {
|
|
15291
|
-
return fn();
|
|
15292
|
-
} finally {
|
|
15293
|
-
this.#isInternalWrite = false;
|
|
15294
|
-
}
|
|
15295
|
-
}
|
|
15296
|
-
#tryRender() {
|
|
15297
|
-
if (this.isSpinning) {
|
|
15298
|
-
this.render();
|
|
15299
|
-
}
|
|
15300
|
-
}
|
|
15301
|
-
#stringifyChunk(chunk, encoding) {
|
|
15302
|
-
if (chunk === undefined || chunk === null) {
|
|
15303
|
-
return "";
|
|
15304
|
-
}
|
|
15305
|
-
if (typeof chunk === "string") {
|
|
15306
|
-
return chunk;
|
|
15307
|
-
}
|
|
15308
|
-
if (Buffer.isBuffer(chunk) || ArrayBuffer.isView(chunk)) {
|
|
15309
|
-
const normalizedEncoding = typeof encoding === "string" && encoding && encoding !== "buffer" ? encoding : "utf8";
|
|
15310
|
-
return Buffer.from(chunk).toString(normalizedEncoding);
|
|
15311
|
-
}
|
|
15312
|
-
return String(chunk);
|
|
15313
|
-
}
|
|
15314
|
-
#chunkTerminatesLine(chunkString) {
|
|
15315
|
-
if (!chunkString) {
|
|
15316
|
-
return false;
|
|
15317
|
-
}
|
|
15318
|
-
const lastCharacter = chunkString.at(-1);
|
|
15319
|
-
return lastCharacter === `
|
|
15320
|
-
` || lastCharacter === "\r";
|
|
15321
|
-
}
|
|
15322
|
-
#scheduleRenderDeferral() {
|
|
15323
|
-
if (this.#deferRenderTimer) {
|
|
15324
|
-
return;
|
|
15325
|
-
}
|
|
15326
|
-
this.#deferRenderTimer = setTimeout(() => {
|
|
15327
|
-
this.#deferRenderTimer = undefined;
|
|
15328
|
-
if (this.isSpinning) {
|
|
15329
|
-
this.#tryRender();
|
|
15330
|
-
}
|
|
15331
|
-
}, RENDER_DEFERRAL_TIMEOUT);
|
|
15332
|
-
if (typeof this.#deferRenderTimer?.unref === "function") {
|
|
15333
|
-
this.#deferRenderTimer.unref();
|
|
15334
|
-
}
|
|
15335
|
-
}
|
|
15336
|
-
#clearRenderDeferral() {
|
|
15337
|
-
if (this.#deferRenderTimer) {
|
|
15338
|
-
clearTimeout(this.#deferRenderTimer);
|
|
15339
|
-
this.#deferRenderTimer = undefined;
|
|
15340
|
-
}
|
|
15341
|
-
}
|
|
15342
|
-
#buildOutputLine(symbol, text, prefixText, suffixText) {
|
|
15343
|
-
const fullPrefixText = this.#getFullPrefixText(prefixText, " ");
|
|
15344
|
-
const separatorText = symbol ? " " : "";
|
|
15345
|
-
const fullText = typeof text === "string" ? separatorText + text : "";
|
|
15346
|
-
const fullSuffixText = this.#getFullSuffixText(suffixText, " ");
|
|
15347
|
-
return fullPrefixText + symbol + fullText + fullSuffixText;
|
|
15348
|
-
}
|
|
15349
|
-
constructor(options) {
|
|
15350
|
-
if (typeof options === "string") {
|
|
15351
|
-
options = {
|
|
15352
|
-
text: options
|
|
15353
|
-
};
|
|
15354
|
-
}
|
|
15355
|
-
this.#options = {
|
|
15356
|
-
color: "cyan",
|
|
15357
|
-
stream: process8.stderr,
|
|
15358
|
-
discardStdin: true,
|
|
15359
|
-
hideCursor: true,
|
|
15360
|
-
...options
|
|
15361
|
-
};
|
|
15362
|
-
this.color = this.#options.color;
|
|
15363
|
-
this.#stream = this.#options.stream;
|
|
15364
|
-
if (typeof this.#options.isEnabled !== "boolean") {
|
|
15365
|
-
this.#options.isEnabled = isInteractive({ stream: this.#stream });
|
|
15366
|
-
}
|
|
15367
|
-
if (typeof this.#options.isSilent !== "boolean") {
|
|
15368
|
-
this.#options.isSilent = false;
|
|
15369
|
-
}
|
|
15370
|
-
const userInterval = this.#options.interval;
|
|
15371
|
-
this.spinner = this.#options.spinner;
|
|
15372
|
-
this.#options.interval = userInterval;
|
|
15373
|
-
this.text = this.#options.text;
|
|
15374
|
-
this.prefixText = this.#options.prefixText;
|
|
15375
|
-
this.suffixText = this.#options.suffixText;
|
|
15376
|
-
this.indent = this.#options.indent;
|
|
15377
|
-
if (process8.env.NODE_ENV === "test") {
|
|
15378
|
-
this._stream = this.#stream;
|
|
15379
|
-
this._isEnabled = this.#options.isEnabled;
|
|
15380
|
-
Object.defineProperty(this, "_linesToClear", {
|
|
15381
|
-
get() {
|
|
15382
|
-
return this.#linesToClear;
|
|
15383
|
-
},
|
|
15384
|
-
set(newValue) {
|
|
15385
|
-
this.#linesToClear = newValue;
|
|
15386
|
-
}
|
|
15387
|
-
});
|
|
15388
|
-
Object.defineProperty(this, "_frameIndex", {
|
|
15389
|
-
get() {
|
|
15390
|
-
return this.#frameIndex;
|
|
15391
|
-
}
|
|
15392
|
-
});
|
|
15393
|
-
Object.defineProperty(this, "_lineCount", {
|
|
15394
|
-
get() {
|
|
15395
|
-
const columns = this.#stream.columns ?? 80;
|
|
15396
|
-
const prefixText = typeof this.#options.prefixText === "function" ? "" : this.#options.prefixText;
|
|
15397
|
-
const suffixText = typeof this.#options.suffixText === "function" ? "" : this.#options.suffixText;
|
|
15398
|
-
const fullPrefixText = typeof prefixText === "string" && prefixText !== "" ? prefixText + " " : "";
|
|
15399
|
-
const fullSuffixText = typeof suffixText === "string" && suffixText !== "" ? " " + suffixText : "";
|
|
15400
|
-
const spinnerChar = "-";
|
|
15401
|
-
const fullText = " ".repeat(this.#options.indent) + fullPrefixText + spinnerChar + (typeof this.#options.text === "string" ? " " + this.#options.text : "") + fullSuffixText;
|
|
15402
|
-
return this.#computeLineCountFrom(fullText, columns);
|
|
15403
|
-
}
|
|
15404
|
-
});
|
|
15405
|
-
}
|
|
15406
|
-
}
|
|
15407
|
-
get indent() {
|
|
15408
|
-
return this.#options.indent;
|
|
15409
|
-
}
|
|
15410
|
-
set indent(indent = 0) {
|
|
15411
|
-
if (!(indent >= 0 && Number.isInteger(indent))) {
|
|
15412
|
-
throw new Error("The `indent` option must be an integer from 0 and up");
|
|
15413
|
-
}
|
|
15414
|
-
this.#options.indent = indent;
|
|
15415
|
-
}
|
|
15416
|
-
get interval() {
|
|
15417
|
-
return this.#options.interval ?? this.#spinner.interval ?? 100;
|
|
15418
|
-
}
|
|
15419
|
-
get spinner() {
|
|
15420
|
-
return this.#spinner;
|
|
15421
|
-
}
|
|
15422
|
-
set spinner(spinner) {
|
|
15423
|
-
this.#frameIndex = -1;
|
|
15424
|
-
this.#options.interval = undefined;
|
|
15425
|
-
if (typeof spinner === "object") {
|
|
15426
|
-
if (!Array.isArray(spinner.frames) || spinner.frames.length === 0 || spinner.frames.some((frame) => typeof frame !== "string")) {
|
|
15427
|
-
throw new Error("The given spinner must have a non-empty `frames` array of strings");
|
|
15428
|
-
}
|
|
15429
|
-
if (spinner.interval !== undefined && !(Number.isInteger(spinner.interval) && spinner.interval > 0)) {
|
|
15430
|
-
throw new Error("`spinner.interval` must be a positive integer if provided");
|
|
15431
|
-
}
|
|
15432
|
-
this.#spinner = spinner;
|
|
15433
|
-
} else if (!isUnicodeSupported()) {
|
|
15434
|
-
this.#spinner = cli_spinners_default.line;
|
|
15435
|
-
} else if (spinner === undefined) {
|
|
15436
|
-
this.#spinner = cli_spinners_default.dots;
|
|
15437
|
-
} else if (spinner !== "default" && cli_spinners_default[spinner]) {
|
|
15438
|
-
this.#spinner = cli_spinners_default[spinner];
|
|
15439
|
-
} else {
|
|
15440
|
-
throw new Error(`There is no built-in spinner named '${spinner}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`);
|
|
15441
|
-
}
|
|
15442
|
-
}
|
|
15443
|
-
get text() {
|
|
15444
|
-
return this.#options.text;
|
|
15445
|
-
}
|
|
15446
|
-
set text(value = "") {
|
|
15447
|
-
this.#options.text = value;
|
|
15448
|
-
}
|
|
15449
|
-
get prefixText() {
|
|
15450
|
-
return this.#options.prefixText;
|
|
15451
|
-
}
|
|
15452
|
-
set prefixText(value = "") {
|
|
15453
|
-
this.#options.prefixText = value;
|
|
15454
|
-
}
|
|
15455
|
-
get suffixText() {
|
|
15456
|
-
return this.#options.suffixText;
|
|
15457
|
-
}
|
|
15458
|
-
set suffixText(value = "") {
|
|
15459
|
-
this.#options.suffixText = value;
|
|
15460
|
-
}
|
|
15461
|
-
get isSpinning() {
|
|
15462
|
-
return this.#id !== undefined;
|
|
15463
|
-
}
|
|
15464
|
-
#formatAffix(value, separator, placeBefore = false) {
|
|
15465
|
-
const resolved = typeof value === "function" ? value() : value;
|
|
15466
|
-
if (typeof resolved === "string" && resolved !== "") {
|
|
15467
|
-
return placeBefore ? separator + resolved : resolved + separator;
|
|
15468
|
-
}
|
|
15469
|
-
return "";
|
|
15470
|
-
}
|
|
15471
|
-
#getFullPrefixText(prefixText = this.#options.prefixText, postfix = " ") {
|
|
15472
|
-
return this.#formatAffix(prefixText, postfix, false);
|
|
15473
|
-
}
|
|
15474
|
-
#getFullSuffixText(suffixText = this.#options.suffixText, prefix = " ") {
|
|
15475
|
-
return this.#formatAffix(suffixText, prefix, true);
|
|
15476
|
-
}
|
|
15477
|
-
#computeLineCountFrom(text, columns) {
|
|
15478
|
-
let count = 0;
|
|
15479
|
-
for (const line of stripVTControlCharacters(text).split(`
|
|
15480
|
-
`)) {
|
|
15481
|
-
count += Math.max(1, Math.ceil(stringWidth4(line) / columns));
|
|
15482
|
-
}
|
|
15483
|
-
return count;
|
|
15484
|
-
}
|
|
15485
|
-
get isEnabled() {
|
|
15486
|
-
return this.#options.isEnabled && !this.#options.isSilent;
|
|
15487
|
-
}
|
|
15488
|
-
set isEnabled(value) {
|
|
15489
|
-
if (typeof value !== "boolean") {
|
|
15490
|
-
throw new TypeError("The `isEnabled` option must be a boolean");
|
|
15491
|
-
}
|
|
15492
|
-
this.#options.isEnabled = value;
|
|
15493
|
-
}
|
|
15494
|
-
get isSilent() {
|
|
15495
|
-
return this.#options.isSilent;
|
|
15496
|
-
}
|
|
15497
|
-
set isSilent(value) {
|
|
15498
|
-
if (typeof value !== "boolean") {
|
|
15499
|
-
throw new TypeError("The `isSilent` option must be a boolean");
|
|
15500
|
-
}
|
|
15501
|
-
this.#options.isSilent = value;
|
|
15502
|
-
}
|
|
15503
|
-
frame() {
|
|
15504
|
-
const now = Date.now();
|
|
15505
|
-
if (this.#frameIndex === -1 || now - this.#lastFrameTime >= this.interval) {
|
|
15506
|
-
this.#frameIndex = (this.#frameIndex + 1) % this.#spinner.frames.length;
|
|
15507
|
-
this.#lastFrameTime = now;
|
|
15508
|
-
}
|
|
15509
|
-
const { frames } = this.#spinner;
|
|
15510
|
-
let frame = frames[this.#frameIndex];
|
|
15511
|
-
if (this.color) {
|
|
15512
|
-
frame = source_default[this.color](frame);
|
|
15513
|
-
}
|
|
15514
|
-
const fullPrefixText = this.#getFullPrefixText(this.#options.prefixText, " ");
|
|
15515
|
-
const fullText = typeof this.text === "string" ? " " + this.text : "";
|
|
15516
|
-
const fullSuffixText = this.#getFullSuffixText(this.#options.suffixText, " ");
|
|
15517
|
-
return fullPrefixText + frame + fullText + fullSuffixText;
|
|
15518
|
-
}
|
|
15519
|
-
clear() {
|
|
15520
|
-
if (!this.isEnabled || !this.#stream.isTTY) {
|
|
15521
|
-
return this;
|
|
15522
|
-
}
|
|
15523
|
-
this.#internalWrite(() => {
|
|
15524
|
-
this.#stream.cursorTo(0);
|
|
15525
|
-
for (let index = 0;index < this.#linesToClear; index++) {
|
|
15526
|
-
if (index > 0) {
|
|
15527
|
-
this.#stream.moveCursor(0, -1);
|
|
15528
|
-
}
|
|
15529
|
-
this.#stream.clearLine(1);
|
|
15530
|
-
}
|
|
15531
|
-
if (this.#options.indent) {
|
|
15532
|
-
this.#stream.cursorTo(this.#options.indent);
|
|
15533
|
-
}
|
|
15534
|
-
});
|
|
15535
|
-
this.#linesToClear = 0;
|
|
15536
|
-
return this;
|
|
15537
|
-
}
|
|
15538
|
-
#hookStream(stream) {
|
|
15539
|
-
if (!stream || this.#hookedStreams.has(stream) || !stream.isTTY || typeof stream.write !== "function") {
|
|
15540
|
-
return;
|
|
15541
|
-
}
|
|
15542
|
-
if (activeHooksPerStream.has(stream)) {
|
|
15543
|
-
console.warn("[ora] Multiple concurrent spinners detected. This may cause visual corruption. Use one spinner at a time.");
|
|
15544
|
-
}
|
|
15545
|
-
const originalWrite = stream.write;
|
|
15546
|
-
this.#hookedStreams.set(stream, originalWrite);
|
|
15547
|
-
activeHooksPerStream.set(stream, this);
|
|
15548
|
-
stream.write = (chunk, encoding, callback) => this.#hookedWrite(stream, originalWrite, chunk, encoding, callback);
|
|
15549
|
-
}
|
|
15550
|
-
#installHook() {
|
|
15551
|
-
if (!this.isEnabled || this.#hookedStreams.size > 0) {
|
|
15552
|
-
return;
|
|
15553
|
-
}
|
|
15554
|
-
const streamsToHook = new Set([this.#stream, process8.stdout, process8.stderr]);
|
|
15555
|
-
for (const stream of streamsToHook) {
|
|
15556
|
-
this.#hookStream(stream);
|
|
15557
|
-
}
|
|
15558
|
-
}
|
|
15559
|
-
#uninstallHook() {
|
|
15560
|
-
for (const [stream, originalWrite] of this.#hookedStreams) {
|
|
15561
|
-
stream.write = originalWrite;
|
|
15562
|
-
if (activeHooksPerStream.get(stream) === this) {
|
|
15563
|
-
activeHooksPerStream.delete(stream);
|
|
15564
|
-
}
|
|
15565
|
-
}
|
|
15566
|
-
this.#hookedStreams.clear();
|
|
12797
|
+
addListeners() {
|
|
12798
|
+
process.once("SIGTERM", this.onProcessExit);
|
|
12799
|
+
process.once("SIGINT", this.onProcessExit);
|
|
12800
|
+
process.once("exit", this.onProcessExit);
|
|
12801
|
+
}
|
|
12802
|
+
clearListeners() {
|
|
12803
|
+
process.off("SIGTERM", this.onProcessExit);
|
|
12804
|
+
process.off("SIGINT", this.onProcessExit);
|
|
12805
|
+
process.off("exit", this.onProcessExit);
|
|
12806
|
+
}
|
|
12807
|
+
refresh() {
|
|
12808
|
+
let symbol = this.currentSymbol;
|
|
12809
|
+
if (this.symbolFormatter)
|
|
12810
|
+
symbol = this.symbolFormatter(symbol);
|
|
12811
|
+
const output = (symbol ? symbol + " " : "") + this.text;
|
|
12812
|
+
this.component.setText(output);
|
|
12813
|
+
}
|
|
12814
|
+
setDisplay(displayOpts = {}, render = true) {
|
|
12815
|
+
if (typeof displayOpts.symbol === "string") {
|
|
12816
|
+
if (typeof displayOpts.symbolType === "string") {
|
|
12817
|
+
this.currentSymbol = this.format(displayOpts.symbol, displayOpts.symbolType);
|
|
12818
|
+
} else
|
|
12819
|
+
this.currentSymbol = displayOpts.symbol;
|
|
12820
|
+
}
|
|
12821
|
+
if (typeof displayOpts.text === "string")
|
|
12822
|
+
this.setText(displayOpts.text, false);
|
|
12823
|
+
if (displayOpts.symbolFormatter)
|
|
12824
|
+
this.symbolFormatter = displayOpts.symbolFormatter;
|
|
12825
|
+
if (render)
|
|
12826
|
+
this.refresh();
|
|
12827
|
+
if (typeof displayOpts.symbol === "string")
|
|
12828
|
+
this.end();
|
|
12829
|
+
}
|
|
12830
|
+
setText(text, render = true) {
|
|
12831
|
+
this.text = this.format(text, "text");
|
|
12832
|
+
if (this.running) {
|
|
12833
|
+
if (render)
|
|
12834
|
+
this.refresh();
|
|
12835
|
+
}
|
|
12836
|
+
}
|
|
12837
|
+
succeed(display) {
|
|
12838
|
+
if (typeof display === "string")
|
|
12839
|
+
this.setDisplay({ text: display, symbol: this.symbols.succeed, symbolType: "succeed" });
|
|
12840
|
+
else
|
|
12841
|
+
this.setDisplay({ ...display, symbol: this.symbols.succeed, symbolType: "succeed" });
|
|
15567
12842
|
}
|
|
15568
|
-
|
|
15569
|
-
if (typeof
|
|
15570
|
-
|
|
15571
|
-
|
|
15572
|
-
|
|
15573
|
-
if (this.#isInternalWrite) {
|
|
15574
|
-
return originalWrite.call(stream, chunk, encoding, callback);
|
|
15575
|
-
}
|
|
15576
|
-
this.clear();
|
|
15577
|
-
const chunkString = this.#stringifyChunk(chunk, encoding);
|
|
15578
|
-
const chunkTerminatesLine = this.#chunkTerminatesLine(chunkString);
|
|
15579
|
-
const writeResult = originalWrite.call(stream, chunk, encoding, callback);
|
|
15580
|
-
if (chunkTerminatesLine) {
|
|
15581
|
-
this.#clearRenderDeferral();
|
|
15582
|
-
} else if (chunkString.length > 0) {
|
|
15583
|
-
this.#scheduleRenderDeferral();
|
|
15584
|
-
}
|
|
15585
|
-
if (this.isSpinning && !this.#deferRenderTimer) {
|
|
15586
|
-
this.render();
|
|
15587
|
-
}
|
|
15588
|
-
return writeResult;
|
|
12843
|
+
fail(display) {
|
|
12844
|
+
if (typeof display === "string")
|
|
12845
|
+
this.setDisplay({ text: display, symbol: this.symbols.fail, symbolType: "fail" });
|
|
12846
|
+
else
|
|
12847
|
+
this.setDisplay({ ...display, symbol: this.symbols.fail, symbolType: "fail" });
|
|
15589
12848
|
}
|
|
15590
|
-
|
|
15591
|
-
if (
|
|
15592
|
-
|
|
15593
|
-
|
|
15594
|
-
|
|
15595
|
-
let shouldDisableSynchronizedOutput = false;
|
|
15596
|
-
try {
|
|
15597
|
-
if (useSynchronizedOutput) {
|
|
15598
|
-
this.#internalWrite(() => this.#stream.write(SYNCHRONIZED_OUTPUT_ENABLE));
|
|
15599
|
-
shouldDisableSynchronizedOutput = true;
|
|
15600
|
-
}
|
|
15601
|
-
this.clear();
|
|
15602
|
-
let frameContent = this.frame();
|
|
15603
|
-
const columns = this.#stream.columns ?? 80;
|
|
15604
|
-
const actualLineCount = this.#computeLineCountFrom(frameContent, columns);
|
|
15605
|
-
const consoleHeight = this.#stream.rows;
|
|
15606
|
-
if (consoleHeight && consoleHeight > 1 && actualLineCount > consoleHeight) {
|
|
15607
|
-
const lines = frameContent.split(`
|
|
15608
|
-
`);
|
|
15609
|
-
const maxLines = consoleHeight - 1;
|
|
15610
|
-
frameContent = [...lines.slice(0, maxLines), "... (content truncated to fit terminal)"].join(`
|
|
15611
|
-
`);
|
|
15612
|
-
}
|
|
15613
|
-
const canContinue = this.#internalWrite(() => this.#stream.write(frameContent));
|
|
15614
|
-
if (canContinue === false && this.#stream.isTTY) {
|
|
15615
|
-
this.#drainHandler = () => {
|
|
15616
|
-
this.#drainHandler = undefined;
|
|
15617
|
-
this.#tryRender();
|
|
15618
|
-
};
|
|
15619
|
-
this.#stream.once("drain", this.#drainHandler);
|
|
15620
|
-
}
|
|
15621
|
-
this.#linesToClear = this.#computeLineCountFrom(frameContent, columns);
|
|
15622
|
-
} finally {
|
|
15623
|
-
if (shouldDisableSynchronizedOutput) {
|
|
15624
|
-
this.#internalWrite(() => this.#stream.write(SYNCHRONIZED_OUTPUT_DISABLE));
|
|
15625
|
-
}
|
|
15626
|
-
}
|
|
15627
|
-
return this;
|
|
12849
|
+
warn(display) {
|
|
12850
|
+
if (typeof display === "string")
|
|
12851
|
+
this.setDisplay({ text: display, symbol: this.symbols.warn, symbolType: "warn" });
|
|
12852
|
+
else
|
|
12853
|
+
this.setDisplay({ ...display, symbol: this.symbols.warn, symbolType: "warn" });
|
|
15628
12854
|
}
|
|
15629
|
-
|
|
15630
|
-
if (
|
|
15631
|
-
this.text
|
|
15632
|
-
|
|
15633
|
-
|
|
15634
|
-
return this;
|
|
15635
|
-
}
|
|
15636
|
-
if (!this.isEnabled) {
|
|
15637
|
-
const symbol = this.text ? "-" : "";
|
|
15638
|
-
const line = " ".repeat(this.#options.indent) + this.#buildOutputLine(symbol, this.text, this.#options.prefixText, this.#options.suffixText);
|
|
15639
|
-
if (line.trim() !== "") {
|
|
15640
|
-
this.#internalWrite(() => this.#stream.write(line + `
|
|
15641
|
-
`));
|
|
15642
|
-
}
|
|
15643
|
-
return this;
|
|
15644
|
-
}
|
|
15645
|
-
if (this.isSpinning) {
|
|
15646
|
-
return this;
|
|
15647
|
-
}
|
|
15648
|
-
if (this.#options.hideCursor) {
|
|
15649
|
-
cli_cursor_default.hide(this.#stream);
|
|
15650
|
-
}
|
|
15651
|
-
if (this.#options.discardStdin && process8.stdin.isTTY) {
|
|
15652
|
-
stdin_discarder_default.start();
|
|
15653
|
-
this.#isDiscardingStdin = true;
|
|
15654
|
-
}
|
|
15655
|
-
this.#installHook();
|
|
15656
|
-
this.render();
|
|
15657
|
-
this.#id = setInterval(this.render.bind(this), this.interval);
|
|
15658
|
-
return this;
|
|
12855
|
+
info(display) {
|
|
12856
|
+
if (typeof display === "string")
|
|
12857
|
+
this.setDisplay({ text: display, symbol: this.symbols.info, symbolType: "info" });
|
|
12858
|
+
else
|
|
12859
|
+
this.setDisplay({ ...display, symbol: this.symbols.info, symbolType: "info" });
|
|
15659
12860
|
}
|
|
15660
12861
|
stop() {
|
|
15661
|
-
|
|
15662
|
-
this.#id = undefined;
|
|
15663
|
-
this.#frameIndex = -1;
|
|
15664
|
-
this.#lastFrameTime = 0;
|
|
15665
|
-
this.#clearRenderDeferral();
|
|
15666
|
-
this.#uninstallHook();
|
|
15667
|
-
if (this.#drainHandler) {
|
|
15668
|
-
this.#stream.removeListener("drain", this.#drainHandler);
|
|
15669
|
-
this.#drainHandler = undefined;
|
|
15670
|
-
}
|
|
15671
|
-
if (this.isEnabled) {
|
|
15672
|
-
this.clear();
|
|
15673
|
-
if (this.#options.hideCursor) {
|
|
15674
|
-
cli_cursor_default.show(this.#stream);
|
|
15675
|
-
}
|
|
15676
|
-
}
|
|
15677
|
-
if (this.#isDiscardingStdin) {
|
|
15678
|
-
this.#isDiscardingStdin = false;
|
|
15679
|
-
stdin_discarder_default.stop();
|
|
15680
|
-
}
|
|
15681
|
-
return this;
|
|
12862
|
+
this.end(false);
|
|
15682
12863
|
}
|
|
15683
|
-
|
|
15684
|
-
|
|
15685
|
-
|
|
15686
|
-
|
|
15687
|
-
|
|
15688
|
-
|
|
15689
|
-
|
|
15690
|
-
|
|
15691
|
-
}
|
|
15692
|
-
info(text) {
|
|
15693
|
-
return this.stopAndPersist({ symbol: exports_symbols.info, text });
|
|
12864
|
+
end(keepComponent = true) {
|
|
12865
|
+
clearInterval(this.interval);
|
|
12866
|
+
this.clearListeners();
|
|
12867
|
+
if (keepComponent)
|
|
12868
|
+
this.component.finish();
|
|
12869
|
+
else
|
|
12870
|
+
renderer.removeComponent(this.component);
|
|
12871
|
+
this.running = false;
|
|
15694
12872
|
}
|
|
15695
|
-
|
|
15696
|
-
if (this.
|
|
15697
|
-
return
|
|
12873
|
+
format(component, componentName) {
|
|
12874
|
+
if (this.colors === undefined)
|
|
12875
|
+
return component;
|
|
12876
|
+
const color = this.colors[componentName];
|
|
12877
|
+
if (color && util.styleText !== undefined) {
|
|
12878
|
+
return util.styleText(color, component);
|
|
15698
12879
|
}
|
|
15699
|
-
|
|
15700
|
-
const text = options.text ?? this.text;
|
|
15701
|
-
const prefixText = options.prefixText ?? this.#options.prefixText;
|
|
15702
|
-
const suffixText = options.suffixText ?? this.#options.suffixText;
|
|
15703
|
-
const textToWrite = this.#buildOutputLine(symbol, text, prefixText, suffixText) + `
|
|
15704
|
-
`;
|
|
15705
|
-
this.stop();
|
|
15706
|
-
this.#internalWrite(() => this.#stream.write(textToWrite));
|
|
15707
|
-
return this;
|
|
12880
|
+
return component;
|
|
15708
12881
|
}
|
|
15709
12882
|
}
|
|
15710
|
-
function ora(options) {
|
|
15711
|
-
return new Ora(options);
|
|
15712
|
-
}
|
|
15713
12883
|
|
|
15714
12884
|
// cli/lib/constants.ts
|
|
15715
12885
|
var DEFAULT_API_KEY_ENV = "OPENAI_COMPATIBLE_API_KEY";
|
|
@@ -15779,12 +12949,12 @@ async function executeCommand(command2) {
|
|
|
15779
12949
|
stdout,
|
|
15780
12950
|
stderr
|
|
15781
12951
|
};
|
|
15782
|
-
} catch (
|
|
12952
|
+
} catch (error) {
|
|
15783
12953
|
return {
|
|
15784
12954
|
exitCode: 1,
|
|
15785
12955
|
stdout: "",
|
|
15786
|
-
stderr:
|
|
15787
|
-
errorCode: typeof
|
|
12956
|
+
stderr: error instanceof Error ? error.message : String(error),
|
|
12957
|
+
errorCode: typeof error === "object" && error !== null && "code" in error && typeof error.code === "string" ? error.code : undefined
|
|
15788
12958
|
};
|
|
15789
12959
|
}
|
|
15790
12960
|
}
|
|
@@ -15855,14 +13025,14 @@ var STACK_ENV_DEFAULTS = {
|
|
|
15855
13025
|
LITELLM_MASTER_KEY: "admin",
|
|
15856
13026
|
LITELLM_CLIENT_KEY: "sk-litellm-local-client"
|
|
15857
13027
|
};
|
|
15858
|
-
function resolveStackEnv(
|
|
13028
|
+
function resolveStackEnv(env2) {
|
|
15859
13029
|
return Object.fromEntries(Object.entries(STACK_ENV_DEFAULTS).map(([key, value]) => [
|
|
15860
13030
|
key,
|
|
15861
|
-
|
|
13031
|
+
env2[key] ?? value
|
|
15862
13032
|
]));
|
|
15863
13033
|
}
|
|
15864
|
-
function serializeStackEnv(
|
|
15865
|
-
return Object.entries(
|
|
13034
|
+
function serializeStackEnv(env2) {
|
|
13035
|
+
return Object.entries(env2).map(([key, value]) => `${key}=${serializeEnvValue(value)}`).join(`
|
|
15866
13036
|
`).concat(`
|
|
15867
13037
|
`);
|
|
15868
13038
|
}
|
|
@@ -15873,25 +13043,25 @@ function serializeEnvValue(value) {
|
|
|
15873
13043
|
// cli/lib/runtime.ts
|
|
15874
13044
|
var runtimeContext = null;
|
|
15875
13045
|
function initializeRuntime() {
|
|
15876
|
-
const
|
|
13046
|
+
const env2 = { ...process.env };
|
|
15877
13047
|
const resolvedHome = resolveTraiceboxHome({
|
|
15878
13048
|
cwd: process.cwd(),
|
|
15879
13049
|
env: process.env,
|
|
15880
13050
|
platform: process.platform,
|
|
15881
13051
|
homeDir: homedir(),
|
|
15882
|
-
appData:
|
|
15883
|
-
xdgConfigHome:
|
|
13052
|
+
appData: env2.APPDATA,
|
|
13053
|
+
xdgConfigHome: env2.XDG_CONFIG_HOME
|
|
15884
13054
|
});
|
|
15885
13055
|
const configPath = join2(resolvedHome.home, "traicebox.yaml");
|
|
15886
13056
|
if (existsSync2(configPath)) {
|
|
15887
13057
|
try {
|
|
15888
13058
|
const configObj = import_yaml2.default.parse(readFileSync4(configPath, "utf-8"));
|
|
15889
13059
|
if (configObj && typeof configObj === "object") {
|
|
15890
|
-
if (!
|
|
15891
|
-
|
|
13060
|
+
if (!env2.TRAICEBOX_HOST && typeof configObj.host === "string") {
|
|
13061
|
+
env2.TRAICEBOX_HOST = configObj.host;
|
|
15892
13062
|
}
|
|
15893
|
-
if (!
|
|
15894
|
-
|
|
13063
|
+
if (!env2.TRAICEBOX_PORT && (typeof configObj.port === "string" || typeof configObj.port === "number")) {
|
|
13064
|
+
env2.TRAICEBOX_PORT = String(configObj.port);
|
|
15895
13065
|
}
|
|
15896
13066
|
}
|
|
15897
13067
|
} catch {
|
|
@@ -15901,7 +13071,7 @@ function initializeRuntime() {
|
|
|
15901
13071
|
runtimeContext = {
|
|
15902
13072
|
home: resolvedHome.home,
|
|
15903
13073
|
dev: resolvedHome.dev,
|
|
15904
|
-
stackEnv: resolveStackEnv(
|
|
13074
|
+
stackEnv: resolveStackEnv(env2)
|
|
15905
13075
|
};
|
|
15906
13076
|
return runtimeContext;
|
|
15907
13077
|
}
|
|
@@ -16050,7 +13220,7 @@ function cleanupOpenAICompatibleApiKeySecretMaterialSync() {
|
|
|
16050
13220
|
}
|
|
16051
13221
|
async function runDockerCompose(args, logs) {
|
|
16052
13222
|
const runtime = getRuntime();
|
|
16053
|
-
const
|
|
13223
|
+
const env2 = {
|
|
16054
13224
|
...process.env,
|
|
16055
13225
|
...runtime.stackEnv,
|
|
16056
13226
|
[SECRET_FILE_ENV]: prepareOpenAICompatibleApiKeySecretFile()
|
|
@@ -16058,7 +13228,7 @@ async function runDockerCompose(args, logs) {
|
|
|
16058
13228
|
try {
|
|
16059
13229
|
const proc = spawn2("docker", ["compose", ...args], {
|
|
16060
13230
|
cwd: runtime.home,
|
|
16061
|
-
env:
|
|
13231
|
+
env: env2,
|
|
16062
13232
|
stdio: [
|
|
16063
13233
|
logs ? "inherit" : "ignore",
|
|
16064
13234
|
logs ? "inherit" : "pipe",
|
|
@@ -16100,18 +13270,15 @@ async function runStep(text, logs, action) {
|
|
|
16100
13270
|
await action();
|
|
16101
13271
|
return;
|
|
16102
13272
|
}
|
|
16103
|
-
const spinner =
|
|
16104
|
-
|
|
16105
|
-
spinner: "dots",
|
|
16106
|
-
discardStdin: false
|
|
16107
|
-
}).start();
|
|
13273
|
+
const spinner = new Spinner(text);
|
|
13274
|
+
spinner.start();
|
|
16108
13275
|
activeSpinner = spinner;
|
|
16109
13276
|
try {
|
|
16110
13277
|
await action();
|
|
16111
13278
|
spinner.succeed(text);
|
|
16112
|
-
} catch (
|
|
13279
|
+
} catch (error) {
|
|
16113
13280
|
spinner.fail(text);
|
|
16114
|
-
throw
|
|
13281
|
+
throw error;
|
|
16115
13282
|
} finally {
|
|
16116
13283
|
activeSpinner = null;
|
|
16117
13284
|
}
|
|
@@ -16132,8 +13299,8 @@ function installDockerLifecycleSignalHandlers() {
|
|
|
16132
13299
|
}
|
|
16133
13300
|
async function runStackCommand(command2, logs) {
|
|
16134
13301
|
ensureActiveHomeExists();
|
|
16135
|
-
await ensureDockerReady().catch((
|
|
16136
|
-
fail(
|
|
13302
|
+
await ensureDockerReady().catch((error) => {
|
|
13303
|
+
fail(error instanceof Error ? error.message : String(error));
|
|
16137
13304
|
});
|
|
16138
13305
|
if (command2 === "start" || command2 === "restart") {
|
|
16139
13306
|
try {
|
|
@@ -16284,6 +13451,9 @@ async function clearImportedModels(configPath, dependencies = {}) {
|
|
|
16284
13451
|
log(`Removed ${removedCount} model${removedCount === 1 ? "" : "s"} from ${configPath}`);
|
|
16285
13452
|
}
|
|
16286
13453
|
|
|
13454
|
+
// cli/handlers/setup.ts
|
|
13455
|
+
import { rmSync as rmSync2 } from "node:fs";
|
|
13456
|
+
|
|
16287
13457
|
// cli/lib/template.ts
|
|
16288
13458
|
import { chmodSync as chmodSync2, existsSync as existsSync3, mkdirSync } from "node:fs";
|
|
16289
13459
|
import { readFile as readFile2, writeFile as writeFile3 } from "node:fs/promises";
|
|
@@ -16394,15 +13564,18 @@ async function writeDevelopmentDotenv(home, stackEnv) {
|
|
|
16394
13564
|
}
|
|
16395
13565
|
|
|
16396
13566
|
// cli/handlers/setup.ts
|
|
16397
|
-
async function runSetup() {
|
|
16398
|
-
await ensureDockerReady().catch((
|
|
16399
|
-
fail(
|
|
13567
|
+
async function runSetup(force = false) {
|
|
13568
|
+
await ensureDockerReady().catch((error) => {
|
|
13569
|
+
fail(error instanceof Error ? error.message : String(error));
|
|
16400
13570
|
});
|
|
16401
13571
|
const runtime = getRuntime();
|
|
13572
|
+
if (force) {
|
|
13573
|
+
rmSync2(runtime.home, { recursive: true, force: true });
|
|
13574
|
+
}
|
|
16402
13575
|
try {
|
|
16403
13576
|
await materializeTemplate(runtime.home, "fail-if-exists");
|
|
16404
|
-
} catch (
|
|
16405
|
-
fail(
|
|
13577
|
+
} catch (error) {
|
|
13578
|
+
fail(error instanceof Error ? error.message : String(error));
|
|
16406
13579
|
}
|
|
16407
13580
|
if (runtime.dev) {
|
|
16408
13581
|
await writeDevelopmentDotenv(runtime.home, runtime.stackEnv);
|
|
@@ -16419,8 +13592,13 @@ if (runtime.dev && requestedCommand !== "setup") {
|
|
|
16419
13592
|
}
|
|
16420
13593
|
installDockerLifecycleSignalHandlers();
|
|
16421
13594
|
var defaultConfigPath = getDefaultLiteLLMConfigPath();
|
|
16422
|
-
await yargs_default(hideBin(process.argv)).scriptName("traicebox").command("setup", "Create the Traicebox home directory", () =>
|
|
16423
|
-
|
|
13595
|
+
await yargs_default(hideBin(process.argv)).scriptName("traicebox").command("setup", "Create the Traicebox home directory", (cmd) => cmd.option("force", {
|
|
13596
|
+
alias: "f",
|
|
13597
|
+
type: "boolean",
|
|
13598
|
+
default: false,
|
|
13599
|
+
describe: "Delete the existing home directory and recreate it"
|
|
13600
|
+
}), async (argv) => {
|
|
13601
|
+
await runSetup(argv.force);
|
|
16424
13602
|
}).command("start", "Start the stack and wait until it is ready", (cmd) => cmd.option("logs", {
|
|
16425
13603
|
alias: "l",
|
|
16426
13604
|
type: "boolean",
|