diff --git a/dist/index.mjs b/dist/index.mjs index d15dc68..2fc1c30 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -71052,411 +71052,183 @@ function stripAnsi(string) { return string.replace(regex, ''); } +;// CONCATENATED MODULE: ./node_modules/get-east-asian-width/lookup-data.js +// Generated by scripts/build.js + +// prettier-ignore +const ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109]; + +// prettier-ignore +const fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510]; + +// prettier-ignore +const lookup_data_halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518]; + +// prettier-ignore +const lookup_data_narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630]; + +// prettier-ignore +const wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141]; + + + +;// CONCATENATED MODULE: ./node_modules/get-east-asian-width/utilities.js +/** +Binary search on a sorted flat array of [start, end] pairs. + +@param {number[]} ranges - Flat array of inclusive [start, end] range pairs, e.g. [0, 5, 10, 20]. +@param {number} codePoint - The value to search for. +@returns {boolean} Whether the value falls within any of the ranges. +*/ +const utilities_isInRange = (ranges, codePoint) => { + let low = 0; + let high = Math.floor(ranges.length / 2) - 1; + while (low <= high) { + const mid = Math.floor((low + high) / 2); + const i = mid * 2; + if (codePoint < ranges[i]) { + high = mid - 1; + } else if (codePoint > ranges[i + 1]) { + low = mid + 1; + } else { + return true; + } + } + + return false; +}; + ;// CONCATENATED MODULE: ./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; + + +const minimumAmbiguousCodePoint = ambiguousRanges[0]; +const maximumAmbiguousCodePoint = ambiguousRanges.at(-1); +const minimumFullWidthCodePoint = fullwidthRanges[0]; +const maximumFullWidthCodePoint = fullwidthRanges.at(-1); +const minimumHalfWidthCodePoint = lookup_data_halfwidthRanges[0]; +const maximumHalfWidthCodePoint = lookup_data_halfwidthRanges.at(-1); +const minimumNarrowCodePoint = lookup_data_narrowRanges[0]; +const maximumNarrowCodePoint = lookup_data_narrowRanges.at(-1); +const minimumWideCodePoint = wideRanges[0]; +const maximumWideCodePoint = wideRanges.at(-1); + +const commonCjkCodePoint = 0x4E_00; +const [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges); + +// Use a hot-path range so common `isWide` calls can skip binary search. +// The range containing U+4E00 covers common CJK ideographs; +// fallback to the largest range for resilience to Unicode table changes. +function findWideFastPathRange(ranges) { + let fastPathStart = ranges[0]; + let fastPathEnd = ranges[1]; + + for (let index = 0; index < ranges.length; index += 2) { + const start = ranges[index]; + const end = ranges[index + 1]; + + if ( + commonCjkCodePoint >= start + && commonCjkCodePoint <= end + ) { + return [start, end]; + } + + if ((end - start) > (fastPathEnd - fastPathStart)) { + fastPathStart = start; + fastPathEnd = end; + } + } + + return [fastPathStart, fastPathEnd]; } -function isFullWidth(x) { - return x === 0x3000 - || x >= 0xFF01 && x <= 0xFF60 - || x >= 0xFFE0 && x <= 0xFFE6; -} +const isAmbiguous = codePoint => { + if ( + codePoint < minimumAmbiguousCodePoint + || codePoint > maximumAmbiguousCodePoint + ) { + return false; + } -function 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 <= 0x16FF6 - || x >= 0x17000 && x <= 0x18CD5 - || x >= 0x18CFF && x <= 0x18D1E - || x >= 0x18D80 && x <= 0x18DF2 - || 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 <= 0x1F6D8 - || 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 <= 0x1FA8A - || x >= 0x1FA8E && x <= 0x1FAC6 - || x === 0x1FAC8 - || x >= 0x1FACD && x <= 0x1FADC - || x >= 0x1FADF && x <= 0x1FAEA - || x >= 0x1FAEF && x <= 0x1FAF8 - || x >= 0x20000 && x <= 0x2FFFD - || x >= 0x30000 && x <= 0x3FFFD; -} + return utilities_isInRange(ambiguousRanges, codePoint); +}; -function lookup_getCategory(x) { - if (isAmbiguous(x)) return 'ambiguous'; +const isFullWidth = codePoint => { + if ( + codePoint < minimumFullWidthCodePoint + || codePoint > maximumFullWidthCodePoint + ) { + return false; + } - if (isFullWidth(x)) return 'fullwidth'; + return utilities_isInRange(fullwidthRanges, codePoint); +}; + +const isHalfWidth = codePoint => { + if ( + codePoint < minimumHalfWidthCodePoint + || codePoint > maximumHalfWidthCodePoint + ) { + return false; + } + + return isInRange(halfwidthRanges, codePoint); +}; + +const isNarrow = codePoint => { + if ( + codePoint < minimumNarrowCodePoint + || codePoint > maximumNarrowCodePoint + ) { + return false; + } + + return isInRange(narrowRanges, codePoint); +}; + +const isWide = codePoint => { + if ( + codePoint >= wideFastPathStart + && codePoint <= wideFastPathEnd + ) { + return true; + } 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 + codePoint < minimumWideCodePoint + || codePoint > maximumWideCodePoint ) { + return false; + } + + return utilities_isInRange(wideRanges, codePoint); +}; + +function lookup_getCategory(codePoint) { + if (isAmbiguous(codePoint)) { + return 'ambiguous'; + } + + if (isFullWidth(codePoint)) { + return 'fullwidth'; + } + + if (isHalfWidth(codePoint)) { 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 - ) { + if (isNarrow(codePoint)) { return 'narrow'; } - if (isWide(x)) return 'wide'; + if (isWide(codePoint)) { + return 'wide'; + } return 'neutral'; } - - ;// CONCATENATED MODULE: ./node_modules/get-east-asian-width/index.js