601 lines
27 KiB
JavaScript
601 lines
27 KiB
JavaScript
|
/******/ "use strict";
|
||
|
/******/ // The require scope
|
||
|
/******/ var __webpack_require__ = {};
|
||
|
/******/
|
||
|
/************************************************************************/
|
||
|
/******/ /* webpack/runtime/define property getters */
|
||
|
/******/ (() => {
|
||
|
/******/ // define getter functions for harmony exports
|
||
|
/******/ __webpack_require__.d = (exports, definition) => {
|
||
|
/******/ for(var key in definition) {
|
||
|
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||
|
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||
|
/******/ }
|
||
|
/******/ }
|
||
|
/******/ };
|
||
|
/******/ })();
|
||
|
/******/
|
||
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||
|
/******/ (() => {
|
||
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||
|
/******/ })();
|
||
|
/******/
|
||
|
/******/ /* webpack/runtime/make namespace object */
|
||
|
/******/ (() => {
|
||
|
/******/ // define __esModule on exports
|
||
|
/******/ __webpack_require__.r = (exports) => {
|
||
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||
|
/******/ }
|
||
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
/******/ };
|
||
|
/******/ })();
|
||
|
/******/
|
||
|
/************************************************************************/
|
||
|
var __webpack_exports__ = {};
|
||
|
// ESM COMPAT FLAG
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
|
||
|
// EXPORTS
|
||
|
__webpack_require__.d(__webpack_exports__, {
|
||
|
"default": () => (/* binding */ stringWidth)
|
||
|
});
|
||
|
|
||
|
;// ./node_modules/ansi-regex/index.js
|
||
|
function ansiRegex({onlyFirst = false} = {}) {
|
||
|
// Valid string terminator sequences are BEL, ESC\, and 0x9c
|
||
|
const ST = '(?:\\u0007|\\u001B\\u005C|\\u009C)';
|
||
|
const pattern = [
|
||
|
`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
|
||
|
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))',
|
||
|
].join('|');
|
||
|
|
||
|
return new RegExp(pattern, onlyFirst ? undefined : 'g');
|
||
|
}
|
||
|
|
||
|
;// ./node_modules/strip-ansi/index.js
|
||
|
|
||
|
|
||
|
const regex = ansiRegex();
|
||
|
|
||
|
function stripAnsi(string) {
|
||
|
if (typeof string !== 'string') {
|
||
|
throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
|
||
|
}
|
||
|
|
||
|
// Even though the regex is global, we don't need to reset the `.lastIndex`
|
||
|
// because unlike `.exec()` and `.test()`, `.replace()` does it automatically
|
||
|
// and doing it manually has a performance penalty.
|
||
|
return string.replace(regex, '');
|
||
|
}
|
||
|
|
||
|
;// ./node_modules/get-east-asian-width/lookup.js
|
||
|
// Generated code.
|
||
|
|
||
|
function isAmbiguous(x) {
|
||
|
return x === 0xA1
|
||
|
|| x === 0xA4
|
||
|
|| x === 0xA7
|
||
|
|| x === 0xA8
|
||
|
|| x === 0xAA
|
||
|
|| x === 0xAD
|
||
|
|| x === 0xAE
|
||
|
|| x >= 0xB0 && x <= 0xB4
|
||
|
|| x >= 0xB6 && x <= 0xBA
|
||
|
|| x >= 0xBC && x <= 0xBF
|
||
|
|| x === 0xC6
|
||
|
|| x === 0xD0
|
||
|
|| x === 0xD7
|
||
|
|| x === 0xD8
|
||
|
|| x >= 0xDE && x <= 0xE1
|
||
|
|| x === 0xE6
|
||
|
|| x >= 0xE8 && x <= 0xEA
|
||
|
|| x === 0xEC
|
||
|
|| x === 0xED
|
||
|
|| x === 0xF0
|
||
|
|| x === 0xF2
|
||
|
|| x === 0xF3
|
||
|
|| x >= 0xF7 && x <= 0xFA
|
||
|
|| x === 0xFC
|
||
|
|| x === 0xFE
|
||
|
|| x === 0x101
|
||
|
|| x === 0x111
|
||
|
|| x === 0x113
|
||
|
|| x === 0x11B
|
||
|
|| x === 0x126
|
||
|
|| x === 0x127
|
||
|
|| x === 0x12B
|
||
|
|| x >= 0x131 && x <= 0x133
|
||
|
|| x === 0x138
|
||
|
|| x >= 0x13F && x <= 0x142
|
||
|
|| x === 0x144
|
||
|
|| x >= 0x148 && x <= 0x14B
|
||
|
|| x === 0x14D
|
||
|
|| x === 0x152
|
||
|
|| x === 0x153
|
||
|
|| x === 0x166
|
||
|
|| x === 0x167
|
||
|
|| x === 0x16B
|
||
|
|| x === 0x1CE
|
||
|
|| x === 0x1D0
|
||
|
|| x === 0x1D2
|
||
|
|| x === 0x1D4
|
||
|
|| x === 0x1D6
|
||
|
|| x === 0x1D8
|
||
|
|| x === 0x1DA
|
||
|
|| x === 0x1DC
|
||
|
|| x === 0x251
|
||
|
|| x === 0x261
|
||
|
|| x === 0x2C4
|
||
|
|| x === 0x2C7
|
||
|
|| x >= 0x2C9 && x <= 0x2CB
|
||
|
|| x === 0x2CD
|
||
|
|| x === 0x2D0
|
||
|
|| x >= 0x2D8 && x <= 0x2DB
|
||
|
|| x === 0x2DD
|
||
|
|| x === 0x2DF
|
||
|
|| x >= 0x300 && x <= 0x36F
|
||
|
|| x >= 0x391 && x <= 0x3A1
|
||
|
|| x >= 0x3A3 && x <= 0x3A9
|
||
|
|| x >= 0x3B1 && x <= 0x3C1
|
||
|
|| x >= 0x3C3 && x <= 0x3C9
|
||
|
|| x === 0x401
|
||
|
|| x >= 0x410 && x <= 0x44F
|
||
|
|| x === 0x451
|
||
|
|| x === 0x2010
|
||
|
|| x >= 0x2013 && x <= 0x2016
|
||
|
|| x === 0x2018
|
||
|
|| x === 0x2019
|
||
|
|| x === 0x201C
|
||
|
|| x === 0x201D
|
||
|
|| x >= 0x2020 && x <= 0x2022
|
||
|
|| x >= 0x2024 && x <= 0x2027
|
||
|
|| x === 0x2030
|
||
|
|| x === 0x2032
|
||
|
|| x === 0x2033
|
||
|
|| x === 0x2035
|
||
|
|| x === 0x203B
|
||
|
|| x === 0x203E
|
||
|
|| x === 0x2074
|
||
|
|| x === 0x207F
|
||
|
|| x >= 0x2081 && x <= 0x2084
|
||
|
|| x === 0x20AC
|
||
|
|| x === 0x2103
|
||
|
|| x === 0x2105
|
||
|
|| x === 0x2109
|
||
|
|| x === 0x2113
|
||
|
|| x === 0x2116
|
||
|
|| x === 0x2121
|
||
|
|| x === 0x2122
|
||
|
|| x === 0x2126
|
||
|
|| x === 0x212B
|
||
|
|| x === 0x2153
|
||
|
|| x === 0x2154
|
||
|
|| x >= 0x215B && x <= 0x215E
|
||
|
|| x >= 0x2160 && x <= 0x216B
|
||
|
|| x >= 0x2170 && x <= 0x2179
|
||
|
|| x === 0x2189
|
||
|
|| x >= 0x2190 && x <= 0x2199
|
||
|
|| x === 0x21B8
|
||
|
|| x === 0x21B9
|
||
|
|| x === 0x21D2
|
||
|
|| x === 0x21D4
|
||
|
|| x === 0x21E7
|
||
|
|| x === 0x2200
|
||
|
|| x === 0x2202
|
||
|
|| x === 0x2203
|
||
|
|| x === 0x2207
|
||
|
|| x === 0x2208
|
||
|
|| x === 0x220B
|
||
|
|| x === 0x220F
|
||
|
|| x === 0x2211
|
||
|
|| x === 0x2215
|
||
|
|| x === 0x221A
|
||
|
|| x >= 0x221D && x <= 0x2220
|
||
|
|| x === 0x2223
|
||
|
|| x === 0x2225
|
||
|
|| x >= 0x2227 && x <= 0x222C
|
||
|
|| x === 0x222E
|
||
|
|| x >= 0x2234 && x <= 0x2237
|
||
|
|| x === 0x223C
|
||
|
|| x === 0x223D
|
||
|
|| x === 0x2248
|
||
|
|| x === 0x224C
|
||
|
|| x === 0x2252
|
||
|
|| x === 0x2260
|
||
|
|| x === 0x2261
|
||
|
|| x >= 0x2264 && x <= 0x2267
|
||
|
|| x === 0x226A
|
||
|
|| x === 0x226B
|
||
|
|| x === 0x226E
|
||
|
|| x === 0x226F
|
||
|
|| x === 0x2282
|
||
|
|| x === 0x2283
|
||
|
|| x === 0x2286
|
||
|
|| x === 0x2287
|
||
|
|| x === 0x2295
|
||
|
|| x === 0x2299
|
||
|
|| x === 0x22A5
|
||
|
|| x === 0x22BF
|
||
|
|| x === 0x2312
|
||
|
|| x >= 0x2460 && x <= 0x24E9
|
||
|
|| x >= 0x24EB && x <= 0x254B
|
||
|
|| x >= 0x2550 && x <= 0x2573
|
||
|
|| x >= 0x2580 && x <= 0x258F
|
||
|
|| x >= 0x2592 && x <= 0x2595
|
||
|
|| x === 0x25A0
|
||
|
|| x === 0x25A1
|
||
|
|| x >= 0x25A3 && x <= 0x25A9
|
||
|
|| x === 0x25B2
|
||
|
|| x === 0x25B3
|
||
|
|| x === 0x25B6
|
||
|
|| x === 0x25B7
|
||
|
|| x === 0x25BC
|
||
|
|| x === 0x25BD
|
||
|
|| x === 0x25C0
|
||
|
|| x === 0x25C1
|
||
|
|| x >= 0x25C6 && x <= 0x25C8
|
||
|
|| x === 0x25CB
|
||
|
|| x >= 0x25CE && x <= 0x25D1
|
||
|
|| x >= 0x25E2 && x <= 0x25E5
|
||
|
|| x === 0x25EF
|
||
|
|| x === 0x2605
|
||
|
|| x === 0x2606
|
||
|
|| x === 0x2609
|
||
|
|| x === 0x260E
|
||
|
|| x === 0x260F
|
||
|
|| x === 0x261C
|
||
|
|| x === 0x261E
|
||
|
|| x === 0x2640
|
||
|
|| x === 0x2642
|
||
|
|| x === 0x2660
|
||
|
|| x === 0x2661
|
||
|
|| x >= 0x2663 && x <= 0x2665
|
||
|
|| x >= 0x2667 && x <= 0x266A
|
||
|
|| x === 0x266C
|
||
|
|| x === 0x266D
|
||
|
|| x === 0x266F
|
||
|
|| x === 0x269E
|
||
|
|| x === 0x269F
|
||
|
|| x === 0x26BF
|
||
|
|| x >= 0x26C6 && x <= 0x26CD
|
||
|
|| x >= 0x26CF && x <= 0x26D3
|
||
|
|| x >= 0x26D5 && x <= 0x26E1
|
||
|
|| x === 0x26E3
|
||
|
|| x === 0x26E8
|
||
|
|| x === 0x26E9
|
||
|
|| x >= 0x26EB && x <= 0x26F1
|
||
|
|| x === 0x26F4
|
||
|
|| x >= 0x26F6 && x <= 0x26F9
|
||
|
|| x === 0x26FB
|
||
|
|| x === 0x26FC
|
||
|
|| x === 0x26FE
|
||
|
|| x === 0x26FF
|
||
|
|| x === 0x273D
|
||
|
|| x >= 0x2776 && x <= 0x277F
|
||
|
|| x >= 0x2B56 && x <= 0x2B59
|
||
|
|| x >= 0x3248 && x <= 0x324F
|
||
|
|| x >= 0xE000 && x <= 0xF8FF
|
||
|
|| x >= 0xFE00 && x <= 0xFE0F
|
||
|
|| x === 0xFFFD
|
||
|
|| x >= 0x1F100 && x <= 0x1F10A
|
||
|
|| x >= 0x1F110 && x <= 0x1F12D
|
||
|
|| x >= 0x1F130 && x <= 0x1F169
|
||
|
|| x >= 0x1F170 && x <= 0x1F18D
|
||
|
|| x === 0x1F18F
|
||
|
|| x === 0x1F190
|
||
|
|| x >= 0x1F19B && x <= 0x1F1AC
|
||
|
|| x >= 0xE0100 && x <= 0xE01EF
|
||
|
|| x >= 0xF0000 && x <= 0xFFFFD
|
||
|
|| x >= 0x100000 && x <= 0x10FFFD;
|
||
|
}
|
||
|
|
||
|
function lookup_isFullWidth(x) {
|
||
|
return x === 0x3000
|
||
|
|| x >= 0xFF01 && x <= 0xFF60
|
||
|
|| x >= 0xFFE0 && x <= 0xFFE6;
|
||
|
}
|
||
|
|
||
|
function lookup_isWide(x) {
|
||
|
return x >= 0x1100 && x <= 0x115F
|
||
|
|| x === 0x231A
|
||
|
|| x === 0x231B
|
||
|
|| x === 0x2329
|
||
|
|| x === 0x232A
|
||
|
|| x >= 0x23E9 && x <= 0x23EC
|
||
|
|| x === 0x23F0
|
||
|
|| x === 0x23F3
|
||
|
|| x === 0x25FD
|
||
|
|| x === 0x25FE
|
||
|
|| x === 0x2614
|
||
|
|| x === 0x2615
|
||
|
|| x >= 0x2630 && x <= 0x2637
|
||
|
|| x >= 0x2648 && x <= 0x2653
|
||
|
|| x === 0x267F
|
||
|
|| x >= 0x268A && x <= 0x268F
|
||
|
|| x === 0x2693
|
||
|
|| x === 0x26A1
|
||
|
|| x === 0x26AA
|
||
|
|| x === 0x26AB
|
||
|
|| x === 0x26BD
|
||
|
|| x === 0x26BE
|
||
|
|| x === 0x26C4
|
||
|
|| x === 0x26C5
|
||
|
|| x === 0x26CE
|
||
|
|| x === 0x26D4
|
||
|
|| x === 0x26EA
|
||
|
|| x === 0x26F2
|
||
|
|| x === 0x26F3
|
||
|
|| x === 0x26F5
|
||
|
|| x === 0x26FA
|
||
|
|| x === 0x26FD
|
||
|
|| x === 0x2705
|
||
|
|| x === 0x270A
|
||
|
|| x === 0x270B
|
||
|
|| x === 0x2728
|
||
|
|| x === 0x274C
|
||
|
|| x === 0x274E
|
||
|
|| x >= 0x2753 && x <= 0x2755
|
||
|
|| x === 0x2757
|
||
|
|| x >= 0x2795 && x <= 0x2797
|
||
|
|| x === 0x27B0
|
||
|
|| x === 0x27BF
|
||
|
|| x === 0x2B1B
|
||
|
|| x === 0x2B1C
|
||
|
|| x === 0x2B50
|
||
|
|| x === 0x2B55
|
||
|
|| x >= 0x2E80 && x <= 0x2E99
|
||
|
|| x >= 0x2E9B && x <= 0x2EF3
|
||
|
|| x >= 0x2F00 && x <= 0x2FD5
|
||
|
|| x >= 0x2FF0 && x <= 0x2FFF
|
||
|
|| x >= 0x3001 && x <= 0x303E
|
||
|
|| x >= 0x3041 && x <= 0x3096
|
||
|
|| x >= 0x3099 && x <= 0x30FF
|
||
|
|| x >= 0x3105 && x <= 0x312F
|
||
|
|| x >= 0x3131 && x <= 0x318E
|
||
|
|| x >= 0x3190 && x <= 0x31E5
|
||
|
|| x >= 0x31EF && x <= 0x321E
|
||
|
|| x >= 0x3220 && x <= 0x3247
|
||
|
|| x >= 0x3250 && x <= 0xA48C
|
||
|
|| x >= 0xA490 && x <= 0xA4C6
|
||
|
|| x >= 0xA960 && x <= 0xA97C
|
||
|
|| x >= 0xAC00 && x <= 0xD7A3
|
||
|
|| x >= 0xF900 && x <= 0xFAFF
|
||
|
|| x >= 0xFE10 && x <= 0xFE19
|
||
|
|| x >= 0xFE30 && x <= 0xFE52
|
||
|
|| x >= 0xFE54 && x <= 0xFE66
|
||
|
|| x >= 0xFE68 && x <= 0xFE6B
|
||
|
|| x >= 0x16FE0 && x <= 0x16FE4
|
||
|
|| x === 0x16FF0
|
||
|
|| x === 0x16FF1
|
||
|
|| x >= 0x17000 && x <= 0x187F7
|
||
|
|| x >= 0x18800 && x <= 0x18CD5
|
||
|
|| x >= 0x18CFF && x <= 0x18D08
|
||
|
|| x >= 0x1AFF0 && x <= 0x1AFF3
|
||
|
|| x >= 0x1AFF5 && x <= 0x1AFFB
|
||
|
|| x === 0x1AFFD
|
||
|
|| x === 0x1AFFE
|
||
|
|| x >= 0x1B000 && x <= 0x1B122
|
||
|
|| x === 0x1B132
|
||
|
|| x >= 0x1B150 && x <= 0x1B152
|
||
|
|| x === 0x1B155
|
||
|
|| x >= 0x1B164 && x <= 0x1B167
|
||
|
|| x >= 0x1B170 && x <= 0x1B2FB
|
||
|
|| x >= 0x1D300 && x <= 0x1D356
|
||
|
|| x >= 0x1D360 && x <= 0x1D376
|
||
|
|| x === 0x1F004
|
||
|
|| x === 0x1F0CF
|
||
|
|| x === 0x1F18E
|
||
|
|| x >= 0x1F191 && x <= 0x1F19A
|
||
|
|| x >= 0x1F200 && x <= 0x1F202
|
||
|
|| x >= 0x1F210 && x <= 0x1F23B
|
||
|
|| x >= 0x1F240 && x <= 0x1F248
|
||
|
|| x === 0x1F250
|
||
|
|| x === 0x1F251
|
||
|
|| x >= 0x1F260 && x <= 0x1F265
|
||
|
|| x >= 0x1F300 && x <= 0x1F320
|
||
|
|| x >= 0x1F32D && x <= 0x1F335
|
||
|
|| x >= 0x1F337 && x <= 0x1F37C
|
||
|
|| x >= 0x1F37E && x <= 0x1F393
|
||
|
|| x >= 0x1F3A0 && x <= 0x1F3CA
|
||
|
|| x >= 0x1F3CF && x <= 0x1F3D3
|
||
|
|| x >= 0x1F3E0 && x <= 0x1F3F0
|
||
|
|| x === 0x1F3F4
|
||
|
|| x >= 0x1F3F8 && x <= 0x1F43E
|
||
|
|| x === 0x1F440
|
||
|
|| x >= 0x1F442 && x <= 0x1F4FC
|
||
|
|| x >= 0x1F4FF && x <= 0x1F53D
|
||
|
|| x >= 0x1F54B && x <= 0x1F54E
|
||
|
|| x >= 0x1F550 && x <= 0x1F567
|
||
|
|| x === 0x1F57A
|
||
|
|| x === 0x1F595
|
||
|
|| x === 0x1F596
|
||
|
|| x === 0x1F5A4
|
||
|
|| x >= 0x1F5FB && x <= 0x1F64F
|
||
|
|| x >= 0x1F680 && x <= 0x1F6C5
|
||
|
|| x === 0x1F6CC
|
||
|
|| x >= 0x1F6D0 && x <= 0x1F6D2
|
||
|
|| x >= 0x1F6D5 && x <= 0x1F6D7
|
||
|
|| x >= 0x1F6DC && x <= 0x1F6DF
|
||
|
|| x === 0x1F6EB
|
||
|
|| x === 0x1F6EC
|
||
|
|| x >= 0x1F6F4 && x <= 0x1F6FC
|
||
|
|| x >= 0x1F7E0 && x <= 0x1F7EB
|
||
|
|| x === 0x1F7F0
|
||
|
|| x >= 0x1F90C && x <= 0x1F93A
|
||
|
|| x >= 0x1F93C && x <= 0x1F945
|
||
|
|| x >= 0x1F947 && x <= 0x1F9FF
|
||
|
|| x >= 0x1FA70 && x <= 0x1FA7C
|
||
|
|| x >= 0x1FA80 && x <= 0x1FA89
|
||
|
|| x >= 0x1FA8F && x <= 0x1FAC6
|
||
|
|| x >= 0x1FACE && x <= 0x1FADC
|
||
|
|| x >= 0x1FADF && x <= 0x1FAE9
|
||
|
|| x >= 0x1FAF0 && x <= 0x1FAF8
|
||
|
|| x >= 0x20000 && x <= 0x2FFFD
|
||
|
|| x >= 0x30000 && x <= 0x3FFFD;
|
||
|
}
|
||
|
|
||
|
function lookup_getCategory(x) {
|
||
|
if (isAmbiguous(x)) return 'ambiguous';
|
||
|
|
||
|
if (lookup_isFullWidth(x)) return 'fullwidth';
|
||
|
|
||
|
if (
|
||
|
x === 0x20A9
|
||
|
|| x >= 0xFF61 && x <= 0xFFBE
|
||
|
|| x >= 0xFFC2 && x <= 0xFFC7
|
||
|
|| x >= 0xFFCA && x <= 0xFFCF
|
||
|
|| x >= 0xFFD2 && x <= 0xFFD7
|
||
|
|| x >= 0xFFDA && x <= 0xFFDC
|
||
|
|| x >= 0xFFE8 && x <= 0xFFEE
|
||
|
) {
|
||
|
return 'halfwidth';
|
||
|
}
|
||
|
|
||
|
if (
|
||
|
x >= 0x20 && x <= 0x7E
|
||
|
|| x === 0xA2
|
||
|
|| x === 0xA3
|
||
|
|| x === 0xA5
|
||
|
|| x === 0xA6
|
||
|
|| x === 0xAC
|
||
|
|| x === 0xAF
|
||
|
|| x >= 0x27E6 && x <= 0x27ED
|
||
|
|| x === 0x2985
|
||
|
|| x === 0x2986
|
||
|
) {
|
||
|
return 'narrow';
|
||
|
}
|
||
|
|
||
|
if (lookup_isWide(x)) return 'wide';
|
||
|
|
||
|
return 'neutral';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
;// ./node_modules/get-east-asian-width/index.js
|
||
|
|
||
|
|
||
|
function validate(codePoint) {
|
||
|
if (!Number.isSafeInteger(codePoint)) {
|
||
|
throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function eastAsianWidthType(codePoint) {
|
||
|
validate(codePoint);
|
||
|
|
||
|
return getCategory(codePoint);
|
||
|
}
|
||
|
|
||
|
function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {
|
||
|
validate(codePoint);
|
||
|
|
||
|
if (
|
||
|
lookup_isFullWidth(codePoint)
|
||
|
|| lookup_isWide(codePoint)
|
||
|
|| (ambiguousAsWide && isAmbiguous(codePoint))
|
||
|
) {
|
||
|
return 2;
|
||
|
}
|
||
|
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
// For Prettier. This doesn't count "ambiguous" characters or check for valid input.
|
||
|
// https://github.com/sindresorhus/get-east-asian-width/pull/6
|
||
|
const _isNarrowWidth = codePoint => !(isFullWidth(codePoint) || isWide(codePoint));
|
||
|
|
||
|
;// ./node_modules/emoji-regex/index.mjs
|
||
|
/* harmony default export */ const emoji_regex = (() => {
|
||
|
// https://mths.be/emoji
|
||
|
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?
|
||
|
});
|
||
|
|
||
|
;// ./node_modules/string-width/index.js
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
const segmenter = new Intl.Segmenter();
|
||
|
|
||
|
const defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
|
||
|
|
||
|
function stringWidth(string, options = {}) {
|
||
|
if (typeof string !== 'string' || string.length === 0) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
const {
|
||
|
ambiguousIsNarrow = true,
|
||
|
countAnsiEscapeCodes = false,
|
||
|
} = options;
|
||
|
|
||
|
if (!countAnsiEscapeCodes) {
|
||
|
string = stripAnsi(string);
|
||
|
}
|
||
|
|
||
|
if (string.length === 0) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
let width = 0;
|
||
|
const eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};
|
||
|
|
||
|
for (const {segment: character} of segmenter.segment(string)) {
|
||
|
const codePoint = character.codePointAt(0);
|
||
|
|
||
|
// Ignore control characters
|
||
|
if (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
// Ignore zero-width characters
|
||
|
if (
|
||
|
(codePoint >= 0x200B && codePoint <= 0x200F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark
|
||
|
|| codePoint === 0xFEFF // Zero-width no-break space
|
||
|
) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
// Ignore combining characters
|
||
|
if (
|
||
|
(codePoint >= 0x300 && codePoint <= 0x36F) // Combining diacritical marks
|
||
|
|| (codePoint >= 0x1AB0 && codePoint <= 0x1AFF) // Combining diacritical marks extended
|
||
|
|| (codePoint >= 0x1DC0 && codePoint <= 0x1DFF) // Combining diacritical marks supplement
|
||
|
|| (codePoint >= 0x20D0 && codePoint <= 0x20FF) // Combining diacritical marks for symbols
|
||
|
|| (codePoint >= 0xFE20 && codePoint <= 0xFE2F) // Combining half marks
|
||
|
) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
// Ignore surrogate pairs
|
||
|
if (codePoint >= 0xD800 && codePoint <= 0xDFFF) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
// Ignore variation selectors
|
||
|
if (codePoint >= 0xFE00 && codePoint <= 0xFE0F) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
// This covers some of the above cases, but we still keep them for performance reasons.
|
||
|
if (defaultIgnorableCodePointRegex.test(character)) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
// TODO: Use `/\p{RGI_Emoji}/v` when targeting Node.js 20.
|
||
|
if (emoji_regex().test(character)) {
|
||
|
width += 2;
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
width += eastAsianWidth(codePoint, eastAsianWidthOptions);
|
||
|
}
|
||
|
|
||
|
return width;
|
||
|
}
|
||
|
|
||
|
module.exports = __webpack_exports__;
|