rolldown 0.10.2 → 0.10.3
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/bin/cli.js +1 -1
- package/dist/cjs/cli.cjs +772 -0
- package/dist/cjs/index.cjs +26 -0
- package/dist/cjs/parallel-plugin-worker.cjs +32 -0
- package/dist/{parallel-plugin.cjs → cjs/parallel-plugin.cjs} +2 -3
- package/dist/esm/cli.mjs +773 -0
- package/dist/esm/index.mjs +24 -0
- package/dist/esm/parallel-plugin-worker.mjs +33 -0
- package/dist/esm/parallel-plugin.mjs +9 -0
- package/dist/shared/chunk-WMSF1LUG.cjs +37 -0
- package/dist/shared/consola_36c0034f-ED9jtJgC.mjs +942 -0
- package/dist/shared/consola_36c0034f-RVbq7gBJ.cjs +945 -0
- package/dist/shared/prompt-Q6AgPcFh.cjs +859 -0
- package/dist/shared/prompt-uoOfg_gh.mjs +860 -0
- package/dist/shared/rolldown-7z0huS4W.mjs +49 -0
- package/dist/shared/rolldown-binding.wasi.cjs +26 -13
- package/dist/shared/rolldown-pt4wPK1i.cjs +48 -0
- package/dist/shared/utils_index-0Q22WhZL.cjs +5331 -0
- package/dist/shared/utils_index-Wfcc8MjH.mjs +5361 -0
- package/dist/shared/wasi-worker-browser.mjs +6 -7
- package/dist/shared/wasi-worker.mjs +5 -2
- package/package.json +52 -37
- package/dist/chunks/prompt.cjs +0 -443
- package/dist/chunks/prompt.cjs.map +0 -1
- package/dist/chunks/prompt.mjs +0 -436
- package/dist/chunks/prompt.mjs.map +0 -1
- package/dist/cli.cjs +0 -1961
- package/dist/cli.cjs.map +0 -1
- package/dist/cli.d.cts +0 -2
- package/dist/cli.d.mts +0 -2
- package/dist/cli.d.ts +0 -2
- package/dist/cli.mjs +0 -1939
- package/dist/cli.mjs.map +0 -1
- package/dist/index.cjs +0 -26
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -66
- package/dist/index.d.mts +0 -66
- package/dist/index.d.ts +0 -66
- package/dist/index.mjs +0 -21
- package/dist/index.mjs.map +0 -1
- package/dist/parallel-plugin-worker.cjs +0 -34
- package/dist/parallel-plugin-worker.cjs.map +0 -1
- package/dist/parallel-plugin-worker.d.cts +0 -2
- package/dist/parallel-plugin-worker.d.mts +0 -2
- package/dist/parallel-plugin-worker.d.ts +0 -2
- package/dist/parallel-plugin-worker.mjs +0 -32
- package/dist/parallel-plugin-worker.mjs.map +0 -1
- package/dist/parallel-plugin.cjs.map +0 -1
- package/dist/parallel-plugin.d.cts +0 -12
- package/dist/parallel-plugin.d.mts +0 -12
- package/dist/parallel-plugin.d.ts +0 -12
- package/dist/parallel-plugin.mjs +0 -6
- package/dist/parallel-plugin.mjs.map +0 -1
- package/dist/shared/rolldown.1ea1dc1e.d.cts +0 -1160
- package/dist/shared/rolldown.1ea1dc1e.d.mts +0 -1160
- package/dist/shared/rolldown.1ea1dc1e.d.ts +0 -1160
- package/dist/shared/rolldown.4d4592d7.cjs +0 -348
- package/dist/shared/rolldown.4d4592d7.cjs.map +0 -1
- package/dist/shared/rolldown.65028ebe.cjs +0 -547
- package/dist/shared/rolldown.65028ebe.cjs.map +0 -1
- package/dist/shared/rolldown.7d1ce9fc.mjs +0 -546
- package/dist/shared/rolldown.7d1ce9fc.mjs.map +0 -1
- package/dist/shared/rolldown.b914368a.mjs +0 -340
- package/dist/shared/rolldown.b914368a.mjs.map +0 -1
package/dist/chunks/prompt.cjs
DELETED
|
@@ -1,443 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const process$1 = require('node:process');
|
|
4
|
-
const f = require('node:readline');
|
|
5
|
-
const tty$1 = require('node:tty');
|
|
6
|
-
const cli = require('../cli.cjs');
|
|
7
|
-
const require$$0 = require('tty');
|
|
8
|
-
require('node:util');
|
|
9
|
-
require('node:path');
|
|
10
|
-
require('url');
|
|
11
|
-
require('node:perf_hooks');
|
|
12
|
-
require('node:url');
|
|
13
|
-
require('../shared/rolldown.4d4592d7.cjs');
|
|
14
|
-
require('../shared/rolldown.65028ebe.cjs');
|
|
15
|
-
require('fs');
|
|
16
|
-
require('path');
|
|
17
|
-
require('node:worker_threads');
|
|
18
|
-
require('node:os');
|
|
19
|
-
|
|
20
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
21
|
-
|
|
22
|
-
const f__default = /*#__PURE__*/_interopDefaultCompat(f);
|
|
23
|
-
const require$$0__default = /*#__PURE__*/_interopDefaultCompat(require$$0);
|
|
24
|
-
|
|
25
|
-
const ESC = '\x1B';
|
|
26
|
-
const CSI = `${ESC}[`;
|
|
27
|
-
const beep = '\u0007';
|
|
28
|
-
|
|
29
|
-
const cursor = {
|
|
30
|
-
to(x, y) {
|
|
31
|
-
if (!y) return `${CSI}${x + 1}G`;
|
|
32
|
-
return `${CSI}${y + 1};${x + 1}H`;
|
|
33
|
-
},
|
|
34
|
-
move(x, y) {
|
|
35
|
-
let ret = '';
|
|
36
|
-
|
|
37
|
-
if (x < 0) ret += `${CSI}${-x}D`;
|
|
38
|
-
else if (x > 0) ret += `${CSI}${x}C`;
|
|
39
|
-
|
|
40
|
-
if (y < 0) ret += `${CSI}${-y}A`;
|
|
41
|
-
else if (y > 0) ret += `${CSI}${y}B`;
|
|
42
|
-
|
|
43
|
-
return ret;
|
|
44
|
-
},
|
|
45
|
-
up: (count = 1) => `${CSI}${count}A`,
|
|
46
|
-
down: (count = 1) => `${CSI}${count}B`,
|
|
47
|
-
forward: (count = 1) => `${CSI}${count}C`,
|
|
48
|
-
backward: (count = 1) => `${CSI}${count}D`,
|
|
49
|
-
nextLine: (count = 1) => `${CSI}E`.repeat(count),
|
|
50
|
-
prevLine: (count = 1) => `${CSI}F`.repeat(count),
|
|
51
|
-
left: `${CSI}G`,
|
|
52
|
-
hide: `${CSI}?25l`,
|
|
53
|
-
show: `${CSI}?25h`,
|
|
54
|
-
save: `${ESC}7`,
|
|
55
|
-
restore: `${ESC}8`
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
const scroll = {
|
|
59
|
-
up: (count = 1) => `${CSI}S`.repeat(count),
|
|
60
|
-
down: (count = 1) => `${CSI}T`.repeat(count)
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const erase = {
|
|
64
|
-
screen: `${CSI}2J`,
|
|
65
|
-
up: (count = 1) => `${CSI}1J`.repeat(count),
|
|
66
|
-
down: (count = 1) => `${CSI}J`.repeat(count),
|
|
67
|
-
line: `${CSI}2K`,
|
|
68
|
-
lineEnd: `${CSI}K`,
|
|
69
|
-
lineStart: `${CSI}1K`,
|
|
70
|
-
lines(count) {
|
|
71
|
-
let clear = '';
|
|
72
|
-
for (let i = 0; i < count; i++)
|
|
73
|
-
clear += this.line + (i < count - 1 ? cursor.up() : '');
|
|
74
|
-
if (count)
|
|
75
|
-
clear += cursor.left;
|
|
76
|
-
return clear;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
var src = { cursor, scroll, erase, beep };
|
|
81
|
-
|
|
82
|
-
var picocolors = {exports: {}};
|
|
83
|
-
|
|
84
|
-
let tty = require$$0__default;
|
|
85
|
-
|
|
86
|
-
let isColorSupported =
|
|
87
|
-
!("NO_COLOR" in process.env || process.argv.includes("--no-color")) &&
|
|
88
|
-
("FORCE_COLOR" in process.env ||
|
|
89
|
-
process.argv.includes("--color") ||
|
|
90
|
-
process.platform === "win32" ||
|
|
91
|
-
(tty.isatty(1) && process.env.TERM !== "dumb") ||
|
|
92
|
-
"CI" in process.env);
|
|
93
|
-
|
|
94
|
-
let formatter =
|
|
95
|
-
(open, close, replace = open) =>
|
|
96
|
-
input => {
|
|
97
|
-
let string = "" + input;
|
|
98
|
-
let index = string.indexOf(close, open.length);
|
|
99
|
-
return ~index
|
|
100
|
-
? open + replaceClose(string, close, replace, index) + close
|
|
101
|
-
: open + string + close
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
let replaceClose = (string, close, replace, index) => {
|
|
105
|
-
let start = string.substring(0, index) + replace;
|
|
106
|
-
let end = string.substring(index + close.length);
|
|
107
|
-
let nextIndex = end.indexOf(close);
|
|
108
|
-
return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
let createColors = (enabled = isColorSupported) => ({
|
|
112
|
-
isColorSupported: enabled,
|
|
113
|
-
reset: enabled ? s => `\x1b[0m${s}\x1b[0m` : String,
|
|
114
|
-
bold: enabled ? formatter("\x1b[1m", "\x1b[22m", "\x1b[22m\x1b[1m") : String,
|
|
115
|
-
dim: enabled ? formatter("\x1b[2m", "\x1b[22m", "\x1b[22m\x1b[2m") : String,
|
|
116
|
-
italic: enabled ? formatter("\x1b[3m", "\x1b[23m") : String,
|
|
117
|
-
underline: enabled ? formatter("\x1b[4m", "\x1b[24m") : String,
|
|
118
|
-
inverse: enabled ? formatter("\x1b[7m", "\x1b[27m") : String,
|
|
119
|
-
hidden: enabled ? formatter("\x1b[8m", "\x1b[28m") : String,
|
|
120
|
-
strikethrough: enabled ? formatter("\x1b[9m", "\x1b[29m") : String,
|
|
121
|
-
black: enabled ? formatter("\x1b[30m", "\x1b[39m") : String,
|
|
122
|
-
red: enabled ? formatter("\x1b[31m", "\x1b[39m") : String,
|
|
123
|
-
green: enabled ? formatter("\x1b[32m", "\x1b[39m") : String,
|
|
124
|
-
yellow: enabled ? formatter("\x1b[33m", "\x1b[39m") : String,
|
|
125
|
-
blue: enabled ? formatter("\x1b[34m", "\x1b[39m") : String,
|
|
126
|
-
magenta: enabled ? formatter("\x1b[35m", "\x1b[39m") : String,
|
|
127
|
-
cyan: enabled ? formatter("\x1b[36m", "\x1b[39m") : String,
|
|
128
|
-
white: enabled ? formatter("\x1b[37m", "\x1b[39m") : String,
|
|
129
|
-
gray: enabled ? formatter("\x1b[90m", "\x1b[39m") : String,
|
|
130
|
-
bgBlack: enabled ? formatter("\x1b[40m", "\x1b[49m") : String,
|
|
131
|
-
bgRed: enabled ? formatter("\x1b[41m", "\x1b[49m") : String,
|
|
132
|
-
bgGreen: enabled ? formatter("\x1b[42m", "\x1b[49m") : String,
|
|
133
|
-
bgYellow: enabled ? formatter("\x1b[43m", "\x1b[49m") : String,
|
|
134
|
-
bgBlue: enabled ? formatter("\x1b[44m", "\x1b[49m") : String,
|
|
135
|
-
bgMagenta: enabled ? formatter("\x1b[45m", "\x1b[49m") : String,
|
|
136
|
-
bgCyan: enabled ? formatter("\x1b[46m", "\x1b[49m") : String,
|
|
137
|
-
bgWhite: enabled ? formatter("\x1b[47m", "\x1b[49m") : String,
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
picocolors.exports = createColors();
|
|
141
|
-
picocolors.exports.createColors = createColors;
|
|
142
|
-
|
|
143
|
-
var picocolorsExports = picocolors.exports;
|
|
144
|
-
const l = /*@__PURE__*/cli.getDefaultExportFromCjs(picocolorsExports);
|
|
145
|
-
|
|
146
|
-
function z({onlyFirst:t=!1}={}){const u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,t?void 0:"g")}function $(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(z(),"")}var m={},G={get exports(){return m},set exports(t){m=t;}};(function(t){var u={};t.exports=u,u.eastAsianWidth=function(e){var s=e.charCodeAt(0),C=e.length==2?e.charCodeAt(1):0,D=s;return 55296<=s&&s<=56319&&56320<=C&&C<=57343&&(s&=1023,C&=1023,D=s<<10|C,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?"F":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?"H":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?"W":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?"Na":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?"A":"N"},u.characterLength=function(e){var s=this.eastAsianWidth(e);return s=="F"||s=="W"||s=="A"?2:1};function F(e){return e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}u.length=function(e){for(var s=F(e),C=0,D=0;D<s.length;D++)C=C+this.characterLength(s[D]);return C},u.slice=function(e,s,C){textLen=u.length(e),s=s||0,C=C||1,s<0&&(s=textLen+s),C<0&&(C=textLen+C);for(var D="",i=0,o=F(e),E=0;E<o.length;E++){var a=o[E],n=u.length(a);if(i>=s-(n==2?1:0))if(i+n<=C)D+=a;else break;i+=n;}return D};})(G);const K=m;var Y=function(){return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};function c(t,u={}){if(typeof t!="string"||t.length===0||(u={ambiguousIsNarrow:!0,...u},t=$(t),t.length===0))return 0;t=t.replace(Y()," ");const F=u.ambiguousIsNarrow?1:2;let e=0;for(const s of t){const C=s.codePointAt(0);if(C<=31||C>=127&&C<=159||C>=768&&C<=879)continue;switch(K.eastAsianWidth(s)){case"F":case"W":e+=2;break;case"A":e+=F;break;default:e+=1;}}return e}const v=10,L=(t=0)=>u=>`\x1B[${u+t}m`,M=(t=0)=>u=>`\x1B[${38+t};5;${u}m`,T=(t=0)=>(u,F,e)=>`\x1B[${38+t};2;${u};${F};${e}m`,r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(r.modifier);const Z=Object.keys(r.color),H=Object.keys(r.bgColor);[...Z,...H];function U(){const t=new Map;for(const[u,F]of Object.entries(r)){for(const[e,s]of Object.entries(F))r[e]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},F[e]=r[e],t.set(s[0],s[1]);Object.defineProperty(r,u,{value:F,enumerable:!1});}return Object.defineProperty(r,"codes",{value:t,enumerable:!1}),r.color.close="\x1B[39m",r.bgColor.close="\x1B[49m",r.color.ansi=L(),r.color.ansi256=M(),r.color.ansi16m=T(),r.bgColor.ansi=L(v),r.bgColor.ansi256=M(v),r.bgColor.ansi16m=T(v),Object.defineProperties(r,{rgbToAnsi256:{value:(u,F,e)=>u===F&&F===e?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(e/255*5),enumerable:!1},hexToRgb:{value:u=>{const F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return [0,0,0];let[e]=F;e.length===3&&(e=[...e].map(C=>C+C).join(""));const s=Number.parseInt(e,16);return [s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:u=>r.rgbToAnsi256(...r.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value:u=>{if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,e,s;if(u>=232)F=((u-232)*10+8)/255,e=F,s=F;else {u-=16;const i=u%36;F=Math.floor(u/36)/5,e=Math.floor(i/6)/5,s=i%6/5;}const C=Math.max(F,e,s)*2;if(C===0)return 30;let D=30+(Math.round(s)<<2|Math.round(e)<<1|Math.round(F));return C===2&&(D+=60),D},enumerable:!1},rgbToAnsi:{value:(u,F,e)=>r.ansi256ToAnsi(r.rgbToAnsi256(u,F,e)),enumerable:!1},hexToAnsi:{value:u=>r.ansi256ToAnsi(r.hexToAnsi256(u)),enumerable:!1}}),r}const q=U(),p=new Set(["\x1B","\x9B"]),J=39,b="\x07",W="[",Q="]",I="m",w=`${Q}8;;`,N=t=>`${p.values().next().value}${W}${t}${I}`,j=t=>`${p.values().next().value}${w}${t}${b}`,X=t=>t.split(" ").map(u=>c(u)),_=(t,u,F)=>{const e=[...u];let s=!1,C=!1,D=c($(t[t.length-1]));for(const[i,o]of e.entries()){const E=c(o);if(D+E<=F?t[t.length-1]+=o:(t.push(o),D=0),p.has(o)&&(s=!0,C=e.slice(i+1).join("").startsWith(w)),s){C?o===b&&(s=!1,C=!1):o===I&&(s=!1);continue}D+=E,D===F&&i<e.length-1&&(t.push(""),D=0);}!D&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop());},DD=t=>{const u=t.split(" ");let F=u.length;for(;F>0&&!(c(u[F-1])>0);)F--;return F===u.length?t:u.slice(0,F).join(" ")+u.slice(F).join("")},uD=(t,u,F={})=>{if(F.trim!==!1&&t.trim()==="")return "";let e="",s,C;const D=X(t);let i=[""];for(const[E,a]of t.split(" ").entries()){F.trim!==!1&&(i[i.length-1]=i[i.length-1].trimStart());let n=c(i[i.length-1]);if(E!==0&&(n>=u&&(F.wordWrap===!1||F.trim===!1)&&(i.push(""),n=0),(n>0||F.trim===!1)&&(i[i.length-1]+=" ",n++)),F.hard&&D[E]>u){const B=u-n,A=1+Math.floor((D[E]-B-1)/u);Math.floor((D[E]-1)/u)<A&&i.push(""),_(i,a,u);continue}if(n+D[E]>u&&n>0&&D[E]>0){if(F.wordWrap===!1&&n<u){_(i,a,u);continue}i.push("");}if(n+D[E]>u&&F.wordWrap===!1){_(i,a,u);continue}i[i.length-1]+=a;}F.trim!==!1&&(i=i.map(E=>DD(E)));const o=[...i.join(`
|
|
147
|
-
`)];for(const[E,a]of o.entries()){if(e+=a,p.has(a)){const{groups:B}=new RegExp(`(?:\\${W}(?<code>\\d+)m|\\${w}(?<uri>.*)${b})`).exec(o.slice(E).join(""))||{groups:{}};if(B.code!==void 0){const A=Number.parseFloat(B.code);s=A===J?void 0:A;}else B.uri!==void 0&&(C=B.uri.length===0?void 0:B.uri);}const n=q.codes.get(Number(s));o[E+1]===`
|
|
148
|
-
`?(C&&(e+=j("")),s&&n&&(e+=N(n))):a===`
|
|
149
|
-
`&&(s&&n&&(e+=N(s)),C&&(e+=j(C)));}return e};function P(t,u,F){return String(t).normalize().replace(/\r\n/g,`
|
|
150
|
-
`).split(`
|
|
151
|
-
`).map(e=>uD(e,u,F)).join(`
|
|
152
|
-
`)}function FD(t,u){if(t===u)return;const F=t.split(`
|
|
153
|
-
`),e=u.split(`
|
|
154
|
-
`),s=[];for(let C=0;C<Math.max(F.length,e.length);C++)F[C]!==e[C]&&s.push(C);return s}const R=Symbol("clack:cancel");function g(t,u){t.isTTY&&t.setRawMode(u);}const V=new Map([["k","up"],["j","down"],["h","left"],["l","right"]]),tD=new Set(["up","down","left","right","space","enter"]);class h{constructor({render:u,input:F=process$1.stdin,output:e=process$1.stdout,...s},C=!0){this._track=!1,this._cursor=0,this.state="initial",this.error="",this.subscribers=new Map,this._prevFrame="",this.opts=s,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=u.bind(this),this._track=C,this.input=F,this.output=e;}prompt(){const u=new tty$1.WriteStream(0);return u._write=(F,e,s)=>{this._track&&(this.value=this.rl.line.replace(/\t/g,""),this._cursor=this.rl.cursor,this.emit("value",this.value)),s();},this.input.pipe(u),this.rl=f__default.createInterface({input:this.input,output:u,tabSize:2,prompt:"",escapeCodeTimeout:50}),f__default.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),g(this.input,!0),this.output.on("resize",this.render),this.render(),new Promise((F,e)=>{this.once("submit",()=>{this.output.write(src.cursor.show),this.output.off("resize",this.render),g(this.input,!1),F(this.value);}),this.once("cancel",()=>{this.output.write(src.cursor.show),this.output.off("resize",this.render),g(this.input,!1),F(R);});})}on(u,F){const e=this.subscribers.get(u)??[];e.push({cb:F}),this.subscribers.set(u,e);}once(u,F){const e=this.subscribers.get(u)??[];e.push({cb:F,once:!0}),this.subscribers.set(u,e);}emit(u,...F){const e=this.subscribers.get(u)??[],s=[];for(const C of e)C.cb(...F),C.once&&s.push(()=>e.splice(e.indexOf(C),1));for(const C of s)C();}unsubscribe(){this.subscribers.clear();}onKeypress(u,F){if(this.state==="error"&&(this.state="active"),F?.name&&!this._track&&V.has(F.name)&&this.emit("cursor",V.get(F.name)),F?.name&&tD.has(F.name)&&this.emit("cursor",F.name),u&&(u.toLowerCase()==="y"||u.toLowerCase()==="n")&&this.emit("confirm",u.toLowerCase()==="y"),u&&this.emit("key",u.toLowerCase()),F?.name==="return"){if(this.opts.validate){const e=this.opts.validate(this.value);e&&(this.error=e,this.state="error",this.rl.write(this.value));}this.state!=="error"&&(this.state="submit");}u===""&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close();}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
155
|
-
`),g(this.input,!1),this.rl.close(),this.emit(`${this.state}`,this.value),this.unsubscribe();}restoreCursor(){const u=P(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
156
|
-
`).length-1;this.output.write(src.cursor.move(-999,u*-1));}render(){const u=P(this._render(this)??"",process.stdout.columns,{hard:!0});if(u!==this._prevFrame){if(this.state==="initial")this.output.write(src.cursor.hide);else {const F=FD(this._prevFrame,u);if(this.restoreCursor(),F&&F?.length===1){const e=F[0];this.output.write(src.cursor.move(0,e)),this.output.write(src.erase.lines(1));const s=u.split(`
|
|
157
|
-
`);this.output.write(s[e]),this._prevFrame=u,this.output.write(src.cursor.move(0,s.length-e-1));return}else if(F&&F?.length>1){const e=F[0];this.output.write(src.cursor.move(0,e)),this.output.write(src.erase.down());const C=u.split(`
|
|
158
|
-
`).slice(e);this.output.write(C.join(`
|
|
159
|
-
`)),this._prevFrame=u;return}this.output.write(src.erase.down());}this.output.write(u),this.state==="initial"&&(this.state="active"),this._prevFrame=u;}}}class sD extends h{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(u){super(u,!1),this.value=!!u.initialValue,this.on("value",()=>{this.value=this._value;}),this.on("confirm",F=>{this.output.write(src.cursor.move(0,-1)),this.value=F,this.state="submit",this.close();}),this.on("cursor",()=>{this.value=!this.value;});}}class iD extends h{constructor(u){super(u,!1),this.cursor=0,this.options=u.options,this.value=[...u.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:F})=>F===u.cursorAt),0),this.on("key",F=>{F==="a"&&this.toggleAll();}),this.on("cursor",F=>{switch(F){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}});}get _value(){return this.options[this.cursor].value}toggleAll(){const u=this.value.length===this.options.length;this.value=u?[]:this.options.map(F=>F.value);}toggleValue(){const u=this.value.includes(this._value);this.value=u?this.value.filter(F=>F!==this._value):[...this.value,this._value];}}class ED extends h{constructor(u){super(u,!1),this.cursor=0,this.options=u.options,this.cursor=this.options.findIndex(({value:F})=>F===u.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",F=>{switch(F){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue();});}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value;}}class oD extends h{constructor(u){super(u),this.valueWithCursor="",this.on("finalize",()=>{this.value||(this.value=u.defaultValue),this.valueWithCursor=this.value;}),this.on("value",()=>{if(this.cursor>=this.value.length)this.valueWithCursor=`${this.value}${l.inverse(l.hidden("_"))}`;else {const F=this.value.slice(0,this.cursor),e=this.value.slice(this.cursor);this.valueWithCursor=`${F}${l.inverse(e[0])}${e.slice(1)}`;}});}get cursor(){return this._cursor}}
|
|
160
|
-
|
|
161
|
-
const unicode = cli.isUnicodeSupported();
|
|
162
|
-
const s = (c, fallback) => unicode ? c : fallback;
|
|
163
|
-
const S_STEP_ACTIVE = s("\u276F", ">");
|
|
164
|
-
const S_STEP_CANCEL = s("\u25A0", "x");
|
|
165
|
-
const S_STEP_ERROR = s("\u25B2", "x");
|
|
166
|
-
const S_STEP_SUBMIT = s("\u2714", "\u221A");
|
|
167
|
-
const S_BAR = "";
|
|
168
|
-
const S_BAR_END = "";
|
|
169
|
-
const S_RADIO_ACTIVE = s("\u25CF", ">");
|
|
170
|
-
const S_RADIO_INACTIVE = s("\u25CB", " ");
|
|
171
|
-
const S_CHECKBOX_ACTIVE = s("\u25FB", "[\u2022]");
|
|
172
|
-
const S_CHECKBOX_SELECTED = s("\u25FC", "[+]");
|
|
173
|
-
const S_CHECKBOX_INACTIVE = s("\u25FB", "[ ]");
|
|
174
|
-
const symbol = (state) => {
|
|
175
|
-
switch (state) {
|
|
176
|
-
case "initial":
|
|
177
|
-
case "active": {
|
|
178
|
-
return cli.colors.cyan(S_STEP_ACTIVE);
|
|
179
|
-
}
|
|
180
|
-
case "cancel": {
|
|
181
|
-
return cli.colors.red(S_STEP_CANCEL);
|
|
182
|
-
}
|
|
183
|
-
case "error": {
|
|
184
|
-
return cli.colors.yellow(S_STEP_ERROR);
|
|
185
|
-
}
|
|
186
|
-
case "submit": {
|
|
187
|
-
return cli.colors.green(S_STEP_SUBMIT);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
const text = (opts) => {
|
|
192
|
-
return new oD({
|
|
193
|
-
validate: opts.validate,
|
|
194
|
-
placeholder: opts.placeholder,
|
|
195
|
-
defaultValue: opts.defaultValue,
|
|
196
|
-
initialValue: opts.initialValue,
|
|
197
|
-
render() {
|
|
198
|
-
const title = `${cli.colors.gray(S_BAR)}
|
|
199
|
-
${symbol(this.state)} ${opts.message}
|
|
200
|
-
`;
|
|
201
|
-
const placeholder = opts.placeholder ? cli.colors.inverse(opts.placeholder[0]) + cli.colors.dim(opts.placeholder.slice(1)) : cli.colors.inverse(cli.colors.hidden("_"));
|
|
202
|
-
const value = this.value ? this.valueWithCursor : placeholder;
|
|
203
|
-
switch (this.state) {
|
|
204
|
-
case "error": {
|
|
205
|
-
return `${title.trim()}
|
|
206
|
-
${cli.colors.yellow(
|
|
207
|
-
S_BAR
|
|
208
|
-
)} ${value}
|
|
209
|
-
${cli.colors.yellow(S_BAR_END)} ${cli.colors.yellow(
|
|
210
|
-
this.error
|
|
211
|
-
)}
|
|
212
|
-
`;
|
|
213
|
-
}
|
|
214
|
-
case "submit": {
|
|
215
|
-
return `${title}${cli.colors.gray(S_BAR)} ${cli.colors.dim(
|
|
216
|
-
this.value || opts.placeholder
|
|
217
|
-
)}`;
|
|
218
|
-
}
|
|
219
|
-
case "cancel": {
|
|
220
|
-
return `${title}${cli.colors.gray(S_BAR)} ${cli.colors.strikethrough(
|
|
221
|
-
cli.colors.dim(this.value ?? "")
|
|
222
|
-
)}${this.value?.trim() ? "\n" + cli.colors.gray(S_BAR) : ""}`;
|
|
223
|
-
}
|
|
224
|
-
default: {
|
|
225
|
-
return `${title}${cli.colors.cyan(S_BAR)} ${value}
|
|
226
|
-
${cli.colors.cyan(
|
|
227
|
-
S_BAR_END
|
|
228
|
-
)}
|
|
229
|
-
`;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}).prompt();
|
|
234
|
-
};
|
|
235
|
-
const confirm = (opts) => {
|
|
236
|
-
const active = opts.active ?? "Yes";
|
|
237
|
-
const inactive = opts.inactive ?? "No";
|
|
238
|
-
return new sD({
|
|
239
|
-
active,
|
|
240
|
-
inactive,
|
|
241
|
-
initialValue: opts.initialValue ?? true,
|
|
242
|
-
render() {
|
|
243
|
-
const title = `${cli.colors.gray(S_BAR)}
|
|
244
|
-
${symbol(this.state)} ${opts.message}
|
|
245
|
-
`;
|
|
246
|
-
const value = this.value ? active : inactive;
|
|
247
|
-
switch (this.state) {
|
|
248
|
-
case "submit": {
|
|
249
|
-
return `${title}${cli.colors.gray(S_BAR)} ${cli.colors.dim(value)}`;
|
|
250
|
-
}
|
|
251
|
-
case "cancel": {
|
|
252
|
-
return `${title}${cli.colors.gray(S_BAR)} ${cli.colors.strikethrough(
|
|
253
|
-
cli.colors.dim(value)
|
|
254
|
-
)}
|
|
255
|
-
${cli.colors.gray(S_BAR)}`;
|
|
256
|
-
}
|
|
257
|
-
default: {
|
|
258
|
-
return `${title}${cli.colors.cyan(S_BAR)} ${this.value ? `${cli.colors.green(S_RADIO_ACTIVE)} ${active}` : `${cli.colors.dim(S_RADIO_INACTIVE)} ${cli.colors.dim(active)}`} ${cli.colors.dim("/")} ${this.value ? `${cli.colors.dim(S_RADIO_INACTIVE)} ${cli.colors.dim(inactive)}` : `${cli.colors.green(S_RADIO_ACTIVE)} ${inactive}`}
|
|
259
|
-
${cli.colors.cyan(S_BAR_END)}
|
|
260
|
-
`;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}).prompt();
|
|
265
|
-
};
|
|
266
|
-
const select = (opts) => {
|
|
267
|
-
const opt = (option, state) => {
|
|
268
|
-
const label = option.label ?? String(option.value);
|
|
269
|
-
switch (state) {
|
|
270
|
-
case "active": {
|
|
271
|
-
return `${cli.colors.green(S_RADIO_ACTIVE)} ${label} ${option.hint ? cli.colors.dim(`(${option.hint})`) : ""}`;
|
|
272
|
-
}
|
|
273
|
-
case "selected": {
|
|
274
|
-
return `${cli.colors.dim(label)}`;
|
|
275
|
-
}
|
|
276
|
-
case "cancelled": {
|
|
277
|
-
return `${cli.colors.strikethrough(cli.colors.dim(label))}`;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
return `${cli.colors.dim(S_RADIO_INACTIVE)} ${cli.colors.dim(label)}`;
|
|
281
|
-
};
|
|
282
|
-
return new ED({
|
|
283
|
-
options: opts.options,
|
|
284
|
-
initialValue: opts.initialValue,
|
|
285
|
-
render() {
|
|
286
|
-
const title = `${cli.colors.gray(S_BAR)}
|
|
287
|
-
${symbol(this.state)} ${opts.message}
|
|
288
|
-
`;
|
|
289
|
-
switch (this.state) {
|
|
290
|
-
case "submit": {
|
|
291
|
-
return `${title}${cli.colors.gray(S_BAR)} ${opt(
|
|
292
|
-
this.options[this.cursor],
|
|
293
|
-
"selected"
|
|
294
|
-
)}`;
|
|
295
|
-
}
|
|
296
|
-
case "cancel": {
|
|
297
|
-
return `${title}${cli.colors.gray(S_BAR)} ${opt(
|
|
298
|
-
this.options[this.cursor],
|
|
299
|
-
"cancelled"
|
|
300
|
-
)}
|
|
301
|
-
${cli.colors.gray(S_BAR)}`;
|
|
302
|
-
}
|
|
303
|
-
default: {
|
|
304
|
-
return `${title}${cli.colors.cyan(S_BAR)} ${this.options.map(
|
|
305
|
-
(option, i) => opt(option, i === this.cursor ? "active" : "inactive")
|
|
306
|
-
).join(`
|
|
307
|
-
${cli.colors.cyan(S_BAR)} `)}
|
|
308
|
-
${cli.colors.cyan(S_BAR_END)}
|
|
309
|
-
`;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
}).prompt();
|
|
314
|
-
};
|
|
315
|
-
const multiselect = (opts) => {
|
|
316
|
-
const opt = (option, state) => {
|
|
317
|
-
const label = option.label ?? String(option.value);
|
|
318
|
-
switch (state) {
|
|
319
|
-
case "active": {
|
|
320
|
-
return `${cli.colors.cyan(S_CHECKBOX_ACTIVE)} ${label} ${option.hint ? cli.colors.dim(`(${option.hint})`) : ""}`;
|
|
321
|
-
}
|
|
322
|
-
case "selected": {
|
|
323
|
-
return `${cli.colors.green(S_CHECKBOX_SELECTED)} ${cli.colors.dim(label)}`;
|
|
324
|
-
}
|
|
325
|
-
case "cancelled": {
|
|
326
|
-
return `${cli.colors.strikethrough(cli.colors.dim(label))}`;
|
|
327
|
-
}
|
|
328
|
-
case "active-selected": {
|
|
329
|
-
return `${cli.colors.green(S_CHECKBOX_SELECTED)} ${label} ${option.hint ? cli.colors.dim(`(${option.hint})`) : ""}`;
|
|
330
|
-
}
|
|
331
|
-
case "submitted": {
|
|
332
|
-
return `${cli.colors.dim(label)}`;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
return `${cli.colors.dim(S_CHECKBOX_INACTIVE)} ${cli.colors.dim(label)}`;
|
|
336
|
-
};
|
|
337
|
-
return new iD({
|
|
338
|
-
options: opts.options,
|
|
339
|
-
initialValues: opts.initialValues,
|
|
340
|
-
required: opts.required ?? true,
|
|
341
|
-
cursorAt: opts.cursorAt,
|
|
342
|
-
validate(selected) {
|
|
343
|
-
if (this.required && selected.length === 0) {
|
|
344
|
-
return `Please select at least one option.
|
|
345
|
-
${cli.colors.reset(
|
|
346
|
-
cli.colors.dim(
|
|
347
|
-
`Press ${cli.colors.gray(
|
|
348
|
-
cli.colors.bgWhite(cli.colors.inverse(" space "))
|
|
349
|
-
)} to select, ${cli.colors.gray(
|
|
350
|
-
cli.colors.bgWhite(cli.colors.inverse(" enter "))
|
|
351
|
-
)} to submit`
|
|
352
|
-
)
|
|
353
|
-
)}`;
|
|
354
|
-
}
|
|
355
|
-
},
|
|
356
|
-
render() {
|
|
357
|
-
const title = `${cli.colors.gray(S_BAR)}
|
|
358
|
-
${symbol(this.state)} ${opts.message}
|
|
359
|
-
`;
|
|
360
|
-
switch (this.state) {
|
|
361
|
-
case "submit": {
|
|
362
|
-
return `${title}${cli.colors.gray(S_BAR)} ${this.options.filter(({ value }) => this.value.includes(value)).map((option) => opt(option, "submitted")).join(cli.colors.dim(", ")) || cli.colors.dim("none")}`;
|
|
363
|
-
}
|
|
364
|
-
case "cancel": {
|
|
365
|
-
const label = this.options.filter(({ value }) => this.value.includes(value)).map((option) => opt(option, "cancelled")).join(cli.colors.dim(", "));
|
|
366
|
-
return `${title}${cli.colors.gray(S_BAR)} ${label.trim() ? `${label}
|
|
367
|
-
${cli.colors.gray(S_BAR)}` : ""}`;
|
|
368
|
-
}
|
|
369
|
-
case "error": {
|
|
370
|
-
const footer = this.error.split("\n").map(
|
|
371
|
-
(ln, i) => i === 0 ? `${cli.colors.yellow(S_BAR_END)} ${cli.colors.yellow(ln)}` : ` ${ln}`
|
|
372
|
-
).join("\n");
|
|
373
|
-
return title + cli.colors.yellow(S_BAR) + " " + this.options.map((option, i) => {
|
|
374
|
-
const selected = this.value.includes(option.value);
|
|
375
|
-
const active = i === this.cursor;
|
|
376
|
-
if (active && selected) {
|
|
377
|
-
return opt(option, "active-selected");
|
|
378
|
-
}
|
|
379
|
-
if (selected) {
|
|
380
|
-
return opt(option, "selected");
|
|
381
|
-
}
|
|
382
|
-
return opt(option, active ? "active" : "inactive");
|
|
383
|
-
}).join(`
|
|
384
|
-
${cli.colors.yellow(S_BAR)} `) + "\n" + footer + "\n";
|
|
385
|
-
}
|
|
386
|
-
default: {
|
|
387
|
-
return `${title}${cli.colors.cyan(S_BAR)} ${this.options.map((option, i) => {
|
|
388
|
-
const selected = this.value.includes(option.value);
|
|
389
|
-
const active = i === this.cursor;
|
|
390
|
-
if (active && selected) {
|
|
391
|
-
return opt(option, "active-selected");
|
|
392
|
-
}
|
|
393
|
-
if (selected) {
|
|
394
|
-
return opt(option, "selected");
|
|
395
|
-
}
|
|
396
|
-
return opt(option, active ? "active" : "inactive");
|
|
397
|
-
}).join(`
|
|
398
|
-
${cli.colors.cyan(S_BAR)} `)}
|
|
399
|
-
${cli.colors.cyan(S_BAR_END)}
|
|
400
|
-
`;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
}).prompt();
|
|
405
|
-
};
|
|
406
|
-
|
|
407
|
-
async function prompt(message, opts = {}) {
|
|
408
|
-
if (!opts.type || opts.type === "text") {
|
|
409
|
-
return await text({
|
|
410
|
-
message,
|
|
411
|
-
defaultValue: opts.default,
|
|
412
|
-
placeholder: opts.placeholder,
|
|
413
|
-
initialValue: opts.initial
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
|
-
if (opts.type === "confirm") {
|
|
417
|
-
return await confirm({
|
|
418
|
-
message,
|
|
419
|
-
initialValue: opts.initial
|
|
420
|
-
});
|
|
421
|
-
}
|
|
422
|
-
if (opts.type === "select") {
|
|
423
|
-
return await select({
|
|
424
|
-
message,
|
|
425
|
-
options: opts.options.map(
|
|
426
|
-
(o) => typeof o === "string" ? { value: o, label: o } : o
|
|
427
|
-
)
|
|
428
|
-
});
|
|
429
|
-
}
|
|
430
|
-
if (opts.type === "multiselect") {
|
|
431
|
-
return await multiselect({
|
|
432
|
-
message,
|
|
433
|
-
options: opts.options.map(
|
|
434
|
-
(o) => typeof o === "string" ? { value: o, label: o } : o
|
|
435
|
-
),
|
|
436
|
-
required: opts.required
|
|
437
|
-
});
|
|
438
|
-
}
|
|
439
|
-
throw new Error(`Unknown prompt type: ${opts.type}`);
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
exports.prompt = prompt;
|
|
443
|
-
//# sourceMappingURL=prompt.cjs.map
|