Diacritic.js (11113B)
1 // Copyright 2025 Mathias Bynens. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 author: Mathias Bynens 6 description: > 7 Unicode property escapes for `Diacritic` 8 info: | 9 Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests 10 Unicode v17.0.0 11 esid: sec-static-semantics-unicodematchproperty-p 12 features: [regexp-unicode-property-escapes] 13 includes: [regExpUtils.js] 14 ---*/ 15 16 const matchSymbols = buildString({ 17 loneCodePoints: [ 18 0x00005E, 19 0x000060, 20 0x0000A8, 21 0x0000AF, 22 0x0000B4, 23 0x00037A, 24 0x000559, 25 0x0005BF, 26 0x0005C7, 27 0x00093C, 28 0x00094D, 29 0x000971, 30 0x0009BC, 31 0x0009CD, 32 0x000A3C, 33 0x000A4D, 34 0x000ABC, 35 0x000ACD, 36 0x000B3C, 37 0x000B4D, 38 0x000B55, 39 0x000BCD, 40 0x000C3C, 41 0x000C4D, 42 0x000CBC, 43 0x000CCD, 44 0x000D4D, 45 0x000DCA, 46 0x000E3A, 47 0x000E4E, 48 0x000EBA, 49 0x000F35, 50 0x000F37, 51 0x000F39, 52 0x000FC6, 53 0x001037, 54 0x00108F, 55 0x001734, 56 0x0017DD, 57 0x001A60, 58 0x001A7F, 59 0x001B34, 60 0x001B44, 61 0x001BE6, 62 0x001CED, 63 0x001CF4, 64 0x001FBD, 65 0x002E2F, 66 0x0030FC, 67 0x00A66F, 68 0x00A67F, 69 0x00A7F1, 70 0x00A806, 71 0x00A82C, 72 0x00A8C4, 73 0x00A953, 74 0x00A9B3, 75 0x00A9C0, 76 0x00A9E5, 77 0x00AAF6, 78 0x00FB1E, 79 0x00FF3E, 80 0x00FF40, 81 0x00FF70, 82 0x00FFE3, 83 0x0102E0, 84 0x010A3F, 85 0x010D4E, 86 0x010EFA, 87 0x011046, 88 0x011070, 89 0x011173, 90 0x0111C0, 91 0x01134D, 92 0x011442, 93 0x011446, 94 0x01163F, 95 0x01172B, 96 0x011943, 97 0x0119E0, 98 0x011A34, 99 0x011A47, 100 0x011A99, 101 0x011C3F, 102 0x011D42, 103 0x011D97, 104 0x011DD9, 105 0x011F5A, 106 0x01612F, 107 0x01E2AE 108 ], 109 ranges: [ 110 [0x0000B7, 0x0000B8], 111 [0x0002B0, 0x00034E], 112 [0x000350, 0x000357], 113 [0x00035D, 0x000362], 114 [0x000374, 0x000375], 115 [0x000384, 0x000385], 116 [0x000483, 0x000487], 117 [0x000591, 0x0005BD], 118 [0x0005C1, 0x0005C2], 119 [0x0005C4, 0x0005C5], 120 [0x00064B, 0x000652], 121 [0x000657, 0x000658], 122 [0x0006DF, 0x0006E0], 123 [0x0006E5, 0x0006E6], 124 [0x0006EA, 0x0006EC], 125 [0x000730, 0x00074A], 126 [0x0007A6, 0x0007B0], 127 [0x0007EB, 0x0007F5], 128 [0x000818, 0x000819], 129 [0x000898, 0x00089F], 130 [0x0008C9, 0x0008D2], 131 [0x0008E3, 0x0008FE], 132 [0x000951, 0x000954], 133 [0x000AFD, 0x000AFF], 134 [0x000D3B, 0x000D3C], 135 [0x000E47, 0x000E4C], 136 [0x000EC8, 0x000ECC], 137 [0x000F18, 0x000F19], 138 [0x000F3E, 0x000F3F], 139 [0x000F82, 0x000F84], 140 [0x000F86, 0x000F87], 141 [0x001039, 0x00103A], 142 [0x001063, 0x001064], 143 [0x001069, 0x00106D], 144 [0x001087, 0x00108D], 145 [0x00109A, 0x00109B], 146 [0x00135D, 0x00135F], 147 [0x001714, 0x001715], 148 [0x0017C9, 0x0017D3], 149 [0x001939, 0x00193B], 150 [0x001A75, 0x001A7C], 151 [0x001AB0, 0x001ABE], 152 [0x001AC1, 0x001ACB], 153 [0x001ACF, 0x001ADD], 154 [0x001AE0, 0x001AEB], 155 [0x001B6B, 0x001B73], 156 [0x001BAA, 0x001BAB], 157 [0x001BF2, 0x001BF3], 158 [0x001C36, 0x001C37], 159 [0x001C78, 0x001C7D], 160 [0x001CD0, 0x001CE8], 161 [0x001CF7, 0x001CF9], 162 [0x001D2C, 0x001D6A], 163 [0x001D9B, 0x001DBE], 164 [0x001DC4, 0x001DCF], 165 [0x001DF5, 0x001DFF], 166 [0x001FBF, 0x001FC1], 167 [0x001FCD, 0x001FCF], 168 [0x001FDD, 0x001FDF], 169 [0x001FED, 0x001FEF], 170 [0x001FFD, 0x001FFE], 171 [0x002CEF, 0x002CF1], 172 [0x00302A, 0x00302F], 173 [0x003099, 0x00309C], 174 [0x00A67C, 0x00A67D], 175 [0x00A69C, 0x00A69D], 176 [0x00A6F0, 0x00A6F1], 177 [0x00A700, 0x00A721], 178 [0x00A788, 0x00A78A], 179 [0x00A7F8, 0x00A7F9], 180 [0x00A8E0, 0x00A8F1], 181 [0x00A92B, 0x00A92E], 182 [0x00AA7B, 0x00AA7D], 183 [0x00AABF, 0x00AAC2], 184 [0x00AB5B, 0x00AB5F], 185 [0x00AB69, 0x00AB6B], 186 [0x00ABEC, 0x00ABED], 187 [0x00FE20, 0x00FE2F], 188 [0x00FF9E, 0x00FF9F], 189 [0x010780, 0x010785], 190 [0x010787, 0x0107B0], 191 [0x0107B2, 0x0107BA], 192 [0x010A38, 0x010A3A], 193 [0x010AE5, 0x010AE6], 194 [0x010D22, 0x010D27], 195 [0x010D69, 0x010D6D], 196 [0x010EFD, 0x010EFF], 197 [0x010F46, 0x010F50], 198 [0x010F82, 0x010F85], 199 [0x0110B9, 0x0110BA], 200 [0x011133, 0x011134], 201 [0x0111CA, 0x0111CC], 202 [0x011235, 0x011236], 203 [0x0112E9, 0x0112EA], 204 [0x01133B, 0x01133C], 205 [0x011366, 0x01136C], 206 [0x011370, 0x011374], 207 [0x0113CE, 0x0113D0], 208 [0x0113D2, 0x0113D3], 209 [0x0113E1, 0x0113E2], 210 [0x0114C2, 0x0114C3], 211 [0x0115BF, 0x0115C0], 212 [0x0116B6, 0x0116B7], 213 [0x011839, 0x01183A], 214 [0x01193D, 0x01193E], 215 [0x011D44, 0x011D45], 216 [0x011F41, 0x011F42], 217 [0x013447, 0x013455], 218 [0x016AF0, 0x016AF4], 219 [0x016B30, 0x016B36], 220 [0x016D6B, 0x016D6C], 221 [0x016F8F, 0x016F9F], 222 [0x016FF0, 0x016FF1], 223 [0x01AFF0, 0x01AFF3], 224 [0x01AFF5, 0x01AFFB], 225 [0x01AFFD, 0x01AFFE], 226 [0x01CF00, 0x01CF2D], 227 [0x01CF30, 0x01CF46], 228 [0x01D167, 0x01D169], 229 [0x01D16D, 0x01D172], 230 [0x01D17B, 0x01D182], 231 [0x01D185, 0x01D18B], 232 [0x01D1AA, 0x01D1AD], 233 [0x01E030, 0x01E06D], 234 [0x01E130, 0x01E136], 235 [0x01E2EC, 0x01E2EF], 236 [0x01E5EE, 0x01E5EF], 237 [0x01E8D0, 0x01E8D6], 238 [0x01E944, 0x01E946], 239 [0x01E948, 0x01E94A] 240 ] 241 }); 242 testPropertyEscapes( 243 /^\p{Diacritic}+$/u, 244 matchSymbols, 245 "\\p{Diacritic}" 246 ); 247 testPropertyEscapes( 248 /^\p{Dia}+$/u, 249 matchSymbols, 250 "\\p{Dia}" 251 ); 252 253 const nonMatchSymbols = buildString({ 254 loneCodePoints: [ 255 0x00005F, 256 0x00034F, 257 0x0005BE, 258 0x0005C0, 259 0x0005C3, 260 0x0005C6, 261 0x000E4D, 262 0x000F36, 263 0x000F38, 264 0x000F85, 265 0x001038, 266 0x00108E, 267 0x001FBE, 268 0x00A67E, 269 0x00FF3F, 270 0x010786, 271 0x0107B1, 272 0x0113D1, 273 0x011D43, 274 0x01AFF4, 275 0x01AFFC, 276 0x01E947 277 ], 278 ranges: [ 279 [0x00DC00, 0x00DFFF], 280 [0x000000, 0x00005D], 281 [0x000061, 0x0000A7], 282 [0x0000A9, 0x0000AE], 283 [0x0000B0, 0x0000B3], 284 [0x0000B5, 0x0000B6], 285 [0x0000B9, 0x0002AF], 286 [0x000358, 0x00035C], 287 [0x000363, 0x000373], 288 [0x000376, 0x000379], 289 [0x00037B, 0x000383], 290 [0x000386, 0x000482], 291 [0x000488, 0x000558], 292 [0x00055A, 0x000590], 293 [0x0005C8, 0x00064A], 294 [0x000653, 0x000656], 295 [0x000659, 0x0006DE], 296 [0x0006E1, 0x0006E4], 297 [0x0006E7, 0x0006E9], 298 [0x0006ED, 0x00072F], 299 [0x00074B, 0x0007A5], 300 [0x0007B1, 0x0007EA], 301 [0x0007F6, 0x000817], 302 [0x00081A, 0x000897], 303 [0x0008A0, 0x0008C8], 304 [0x0008D3, 0x0008E2], 305 [0x0008FF, 0x00093B], 306 [0x00093D, 0x00094C], 307 [0x00094E, 0x000950], 308 [0x000955, 0x000970], 309 [0x000972, 0x0009BB], 310 [0x0009BD, 0x0009CC], 311 [0x0009CE, 0x000A3B], 312 [0x000A3D, 0x000A4C], 313 [0x000A4E, 0x000ABB], 314 [0x000ABD, 0x000ACC], 315 [0x000ACE, 0x000AFC], 316 [0x000B00, 0x000B3B], 317 [0x000B3D, 0x000B4C], 318 [0x000B4E, 0x000B54], 319 [0x000B56, 0x000BCC], 320 [0x000BCE, 0x000C3B], 321 [0x000C3D, 0x000C4C], 322 [0x000C4E, 0x000CBB], 323 [0x000CBD, 0x000CCC], 324 [0x000CCE, 0x000D3A], 325 [0x000D3D, 0x000D4C], 326 [0x000D4E, 0x000DC9], 327 [0x000DCB, 0x000E39], 328 [0x000E3B, 0x000E46], 329 [0x000E4F, 0x000EB9], 330 [0x000EBB, 0x000EC7], 331 [0x000ECD, 0x000F17], 332 [0x000F1A, 0x000F34], 333 [0x000F3A, 0x000F3D], 334 [0x000F40, 0x000F81], 335 [0x000F88, 0x000FC5], 336 [0x000FC7, 0x001036], 337 [0x00103B, 0x001062], 338 [0x001065, 0x001068], 339 [0x00106E, 0x001086], 340 [0x001090, 0x001099], 341 [0x00109C, 0x00135C], 342 [0x001360, 0x001713], 343 [0x001716, 0x001733], 344 [0x001735, 0x0017C8], 345 [0x0017D4, 0x0017DC], 346 [0x0017DE, 0x001938], 347 [0x00193C, 0x001A5F], 348 [0x001A61, 0x001A74], 349 [0x001A7D, 0x001A7E], 350 [0x001A80, 0x001AAF], 351 [0x001ABF, 0x001AC0], 352 [0x001ACC, 0x001ACE], 353 [0x001ADE, 0x001ADF], 354 [0x001AEC, 0x001B33], 355 [0x001B35, 0x001B43], 356 [0x001B45, 0x001B6A], 357 [0x001B74, 0x001BA9], 358 [0x001BAC, 0x001BE5], 359 [0x001BE7, 0x001BF1], 360 [0x001BF4, 0x001C35], 361 [0x001C38, 0x001C77], 362 [0x001C7E, 0x001CCF], 363 [0x001CE9, 0x001CEC], 364 [0x001CEE, 0x001CF3], 365 [0x001CF5, 0x001CF6], 366 [0x001CFA, 0x001D2B], 367 [0x001D6B, 0x001D9A], 368 [0x001DBF, 0x001DC3], 369 [0x001DD0, 0x001DF4], 370 [0x001E00, 0x001FBC], 371 [0x001FC2, 0x001FCC], 372 [0x001FD0, 0x001FDC], 373 [0x001FE0, 0x001FEC], 374 [0x001FF0, 0x001FFC], 375 [0x001FFF, 0x002CEE], 376 [0x002CF2, 0x002E2E], 377 [0x002E30, 0x003029], 378 [0x003030, 0x003098], 379 [0x00309D, 0x0030FB], 380 [0x0030FD, 0x00A66E], 381 [0x00A670, 0x00A67B], 382 [0x00A680, 0x00A69B], 383 [0x00A69E, 0x00A6EF], 384 [0x00A6F2, 0x00A6FF], 385 [0x00A722, 0x00A787], 386 [0x00A78B, 0x00A7F0], 387 [0x00A7F2, 0x00A7F7], 388 [0x00A7FA, 0x00A805], 389 [0x00A807, 0x00A82B], 390 [0x00A82D, 0x00A8C3], 391 [0x00A8C5, 0x00A8DF], 392 [0x00A8F2, 0x00A92A], 393 [0x00A92F, 0x00A952], 394 [0x00A954, 0x00A9B2], 395 [0x00A9B4, 0x00A9BF], 396 [0x00A9C1, 0x00A9E4], 397 [0x00A9E6, 0x00AA7A], 398 [0x00AA7E, 0x00AABE], 399 [0x00AAC3, 0x00AAF5], 400 [0x00AAF7, 0x00AB5A], 401 [0x00AB60, 0x00AB68], 402 [0x00AB6C, 0x00ABEB], 403 [0x00ABEE, 0x00DBFF], 404 [0x00E000, 0x00FB1D], 405 [0x00FB1F, 0x00FE1F], 406 [0x00FE30, 0x00FF3D], 407 [0x00FF41, 0x00FF6F], 408 [0x00FF71, 0x00FF9D], 409 [0x00FFA0, 0x00FFE2], 410 [0x00FFE4, 0x0102DF], 411 [0x0102E1, 0x01077F], 412 [0x0107BB, 0x010A37], 413 [0x010A3B, 0x010A3E], 414 [0x010A40, 0x010AE4], 415 [0x010AE7, 0x010D21], 416 [0x010D28, 0x010D4D], 417 [0x010D4F, 0x010D68], 418 [0x010D6E, 0x010EF9], 419 [0x010EFB, 0x010EFC], 420 [0x010F00, 0x010F45], 421 [0x010F51, 0x010F81], 422 [0x010F86, 0x011045], 423 [0x011047, 0x01106F], 424 [0x011071, 0x0110B8], 425 [0x0110BB, 0x011132], 426 [0x011135, 0x011172], 427 [0x011174, 0x0111BF], 428 [0x0111C1, 0x0111C9], 429 [0x0111CD, 0x011234], 430 [0x011237, 0x0112E8], 431 [0x0112EB, 0x01133A], 432 [0x01133D, 0x01134C], 433 [0x01134E, 0x011365], 434 [0x01136D, 0x01136F], 435 [0x011375, 0x0113CD], 436 [0x0113D4, 0x0113E0], 437 [0x0113E3, 0x011441], 438 [0x011443, 0x011445], 439 [0x011447, 0x0114C1], 440 [0x0114C4, 0x0115BE], 441 [0x0115C1, 0x01163E], 442 [0x011640, 0x0116B5], 443 [0x0116B8, 0x01172A], 444 [0x01172C, 0x011838], 445 [0x01183B, 0x01193C], 446 [0x01193F, 0x011942], 447 [0x011944, 0x0119DF], 448 [0x0119E1, 0x011A33], 449 [0x011A35, 0x011A46], 450 [0x011A48, 0x011A98], 451 [0x011A9A, 0x011C3E], 452 [0x011C40, 0x011D41], 453 [0x011D46, 0x011D96], 454 [0x011D98, 0x011DD8], 455 [0x011DDA, 0x011F40], 456 [0x011F43, 0x011F59], 457 [0x011F5B, 0x013446], 458 [0x013456, 0x01612E], 459 [0x016130, 0x016AEF], 460 [0x016AF5, 0x016B2F], 461 [0x016B37, 0x016D6A], 462 [0x016D6D, 0x016F8E], 463 [0x016FA0, 0x016FEF], 464 [0x016FF2, 0x01AFEF], 465 [0x01AFFF, 0x01CEFF], 466 [0x01CF2E, 0x01CF2F], 467 [0x01CF47, 0x01D166], 468 [0x01D16A, 0x01D16C], 469 [0x01D173, 0x01D17A], 470 [0x01D183, 0x01D184], 471 [0x01D18C, 0x01D1A9], 472 [0x01D1AE, 0x01E02F], 473 [0x01E06E, 0x01E12F], 474 [0x01E137, 0x01E2AD], 475 [0x01E2AF, 0x01E2EB], 476 [0x01E2F0, 0x01E5ED], 477 [0x01E5F0, 0x01E8CF], 478 [0x01E8D7, 0x01E943], 479 [0x01E94B, 0x10FFFF] 480 ] 481 }); 482 testPropertyEscapes( 483 /^\P{Diacritic}+$/u, 484 nonMatchSymbols, 485 "\\P{Diacritic}" 486 ); 487 testPropertyEscapes( 488 /^\P{Dia}+$/u, 489 nonMatchSymbols, 490 "\\P{Dia}" 491 ); 492 493 reportCompare(0, 0);