Math.js (6885B)
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 `Math` 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 0x00002B, 19 0x00005E, 20 0x00007C, 21 0x00007E, 22 0x0000AC, 23 0x0000B1, 24 0x0000D7, 25 0x0000F7, 26 0x0003D5, 27 0x002016, 28 0x002040, 29 0x002044, 30 0x002052, 31 0x0020E1, 32 0x002102, 33 0x002107, 34 0x002115, 35 0x002124, 36 0x00214B, 37 0x0021DD, 38 0x00237C, 39 0x0023B7, 40 0x0023D0, 41 0x0025E2, 42 0x0025E4, 43 0x002640, 44 0x002642, 45 0x00FB29, 46 0x00FE68, 47 0x00FF0B, 48 0x00FF3C, 49 0x00FF3E, 50 0x00FF5C, 51 0x00FF5E, 52 0x00FFE2, 53 0x01CEF0, 54 0x01D4A2, 55 0x01D4BB, 56 0x01D546, 57 0x01EE24, 58 0x01EE27, 59 0x01EE39, 60 0x01EE3B, 61 0x01EE42, 62 0x01EE47, 63 0x01EE49, 64 0x01EE4B, 65 0x01EE54, 66 0x01EE57, 67 0x01EE59, 68 0x01EE5B, 69 0x01EE5D, 70 0x01EE5F, 71 0x01EE64, 72 0x01EE7E 73 ], 74 ranges: [ 75 [0x00003C, 0x00003E], 76 [0x0003D0, 0x0003D2], 77 [0x0003F0, 0x0003F1], 78 [0x0003F4, 0x0003F6], 79 [0x000606, 0x000608], 80 [0x002032, 0x002034], 81 [0x002061, 0x002064], 82 [0x00207A, 0x00207E], 83 [0x00208A, 0x00208E], 84 [0x0020D0, 0x0020DC], 85 [0x0020E5, 0x0020E6], 86 [0x0020EB, 0x0020EF], 87 [0x00210A, 0x002113], 88 [0x002118, 0x00211D], 89 [0x002128, 0x002129], 90 [0x00212C, 0x00212D], 91 [0x00212F, 0x002131], 92 [0x002133, 0x002138], 93 [0x00213C, 0x002149], 94 [0x002190, 0x0021A7], 95 [0x0021A9, 0x0021AE], 96 [0x0021B0, 0x0021B1], 97 [0x0021B6, 0x0021B7], 98 [0x0021BC, 0x0021DB], 99 [0x0021E4, 0x0021E5], 100 [0x0021F4, 0x0022FF], 101 [0x002308, 0x00230B], 102 [0x002320, 0x002321], 103 [0x00239B, 0x0023B5], 104 [0x0023DC, 0x0023E2], 105 [0x0025A0, 0x0025A1], 106 [0x0025AE, 0x0025B7], 107 [0x0025BC, 0x0025C1], 108 [0x0025C6, 0x0025C7], 109 [0x0025CA, 0x0025CB], 110 [0x0025CF, 0x0025D3], 111 [0x0025E7, 0x0025EC], 112 [0x0025F8, 0x0025FF], 113 [0x002605, 0x002606], 114 [0x002660, 0x002663], 115 [0x00266D, 0x00266F], 116 [0x0027C0, 0x0027FF], 117 [0x002900, 0x002AFF], 118 [0x002B30, 0x002B44], 119 [0x002B47, 0x002B4C], 120 [0x00FE61, 0x00FE66], 121 [0x00FF1C, 0x00FF1E], 122 [0x00FFE9, 0x00FFEC], 123 [0x010D8E, 0x010D8F], 124 [0x01D400, 0x01D454], 125 [0x01D456, 0x01D49C], 126 [0x01D49E, 0x01D49F], 127 [0x01D4A5, 0x01D4A6], 128 [0x01D4A9, 0x01D4AC], 129 [0x01D4AE, 0x01D4B9], 130 [0x01D4BD, 0x01D4C3], 131 [0x01D4C5, 0x01D505], 132 [0x01D507, 0x01D50A], 133 [0x01D50D, 0x01D514], 134 [0x01D516, 0x01D51C], 135 [0x01D51E, 0x01D539], 136 [0x01D53B, 0x01D53E], 137 [0x01D540, 0x01D544], 138 [0x01D54A, 0x01D550], 139 [0x01D552, 0x01D6A5], 140 [0x01D6A8, 0x01D7CB], 141 [0x01D7CE, 0x01D7FF], 142 [0x01EE00, 0x01EE03], 143 [0x01EE05, 0x01EE1F], 144 [0x01EE21, 0x01EE22], 145 [0x01EE29, 0x01EE32], 146 [0x01EE34, 0x01EE37], 147 [0x01EE4D, 0x01EE4F], 148 [0x01EE51, 0x01EE52], 149 [0x01EE61, 0x01EE62], 150 [0x01EE67, 0x01EE6A], 151 [0x01EE6C, 0x01EE72], 152 [0x01EE74, 0x01EE77], 153 [0x01EE79, 0x01EE7C], 154 [0x01EE80, 0x01EE89], 155 [0x01EE8B, 0x01EE9B], 156 [0x01EEA1, 0x01EEA3], 157 [0x01EEA5, 0x01EEA9], 158 [0x01EEAB, 0x01EEBB], 159 [0x01EEF0, 0x01EEF1], 160 [0x01F8D0, 0x01F8D8] 161 ] 162 }); 163 testPropertyEscapes( 164 /^\p{Math}+$/u, 165 matchSymbols, 166 "\\p{Math}" 167 ); 168 169 const nonMatchSymbols = buildString({ 170 loneCodePoints: [ 171 0x00007D, 172 0x002114, 173 0x00212E, 174 0x002132, 175 0x00214A, 176 0x0021A8, 177 0x0021AF, 178 0x0021DC, 179 0x0023B6, 180 0x0025E3, 181 0x002641, 182 0x00FE67, 183 0x00FF3D, 184 0x00FF5D, 185 0x01D455, 186 0x01D49D, 187 0x01D4AD, 188 0x01D4BA, 189 0x01D4BC, 190 0x01D4C4, 191 0x01D506, 192 0x01D515, 193 0x01D51D, 194 0x01D53A, 195 0x01D53F, 196 0x01D545, 197 0x01D551, 198 0x01EE04, 199 0x01EE20, 200 0x01EE23, 201 0x01EE28, 202 0x01EE33, 203 0x01EE38, 204 0x01EE3A, 205 0x01EE48, 206 0x01EE4A, 207 0x01EE4C, 208 0x01EE50, 209 0x01EE53, 210 0x01EE58, 211 0x01EE5A, 212 0x01EE5C, 213 0x01EE5E, 214 0x01EE60, 215 0x01EE63, 216 0x01EE6B, 217 0x01EE73, 218 0x01EE78, 219 0x01EE7D, 220 0x01EE7F, 221 0x01EE8A, 222 0x01EEA4, 223 0x01EEAA 224 ], 225 ranges: [ 226 [0x00DC00, 0x00DFFF], 227 [0x000000, 0x00002A], 228 [0x00002C, 0x00003B], 229 [0x00003F, 0x00005D], 230 [0x00005F, 0x00007B], 231 [0x00007F, 0x0000AB], 232 [0x0000AD, 0x0000B0], 233 [0x0000B2, 0x0000D6], 234 [0x0000D8, 0x0000F6], 235 [0x0000F8, 0x0003CF], 236 [0x0003D3, 0x0003D4], 237 [0x0003D6, 0x0003EF], 238 [0x0003F2, 0x0003F3], 239 [0x0003F7, 0x000605], 240 [0x000609, 0x002015], 241 [0x002017, 0x002031], 242 [0x002035, 0x00203F], 243 [0x002041, 0x002043], 244 [0x002045, 0x002051], 245 [0x002053, 0x002060], 246 [0x002065, 0x002079], 247 [0x00207F, 0x002089], 248 [0x00208F, 0x0020CF], 249 [0x0020DD, 0x0020E0], 250 [0x0020E2, 0x0020E4], 251 [0x0020E7, 0x0020EA], 252 [0x0020F0, 0x002101], 253 [0x002103, 0x002106], 254 [0x002108, 0x002109], 255 [0x002116, 0x002117], 256 [0x00211E, 0x002123], 257 [0x002125, 0x002127], 258 [0x00212A, 0x00212B], 259 [0x002139, 0x00213B], 260 [0x00214C, 0x00218F], 261 [0x0021B2, 0x0021B5], 262 [0x0021B8, 0x0021BB], 263 [0x0021DE, 0x0021E3], 264 [0x0021E6, 0x0021F3], 265 [0x002300, 0x002307], 266 [0x00230C, 0x00231F], 267 [0x002322, 0x00237B], 268 [0x00237D, 0x00239A], 269 [0x0023B8, 0x0023CF], 270 [0x0023D1, 0x0023DB], 271 [0x0023E3, 0x00259F], 272 [0x0025A2, 0x0025AD], 273 [0x0025B8, 0x0025BB], 274 [0x0025C2, 0x0025C5], 275 [0x0025C8, 0x0025C9], 276 [0x0025CC, 0x0025CE], 277 [0x0025D4, 0x0025E1], 278 [0x0025E5, 0x0025E6], 279 [0x0025ED, 0x0025F7], 280 [0x002600, 0x002604], 281 [0x002607, 0x00263F], 282 [0x002643, 0x00265F], 283 [0x002664, 0x00266C], 284 [0x002670, 0x0027BF], 285 [0x002800, 0x0028FF], 286 [0x002B00, 0x002B2F], 287 [0x002B45, 0x002B46], 288 [0x002B4D, 0x00DBFF], 289 [0x00E000, 0x00FB28], 290 [0x00FB2A, 0x00FE60], 291 [0x00FE69, 0x00FF0A], 292 [0x00FF0C, 0x00FF1B], 293 [0x00FF1F, 0x00FF3B], 294 [0x00FF3F, 0x00FF5B], 295 [0x00FF5F, 0x00FFE1], 296 [0x00FFE3, 0x00FFE8], 297 [0x00FFED, 0x010D8D], 298 [0x010D90, 0x01CEEF], 299 [0x01CEF1, 0x01D3FF], 300 [0x01D4A0, 0x01D4A1], 301 [0x01D4A3, 0x01D4A4], 302 [0x01D4A7, 0x01D4A8], 303 [0x01D50B, 0x01D50C], 304 [0x01D547, 0x01D549], 305 [0x01D6A6, 0x01D6A7], 306 [0x01D7CC, 0x01D7CD], 307 [0x01D800, 0x01EDFF], 308 [0x01EE25, 0x01EE26], 309 [0x01EE3C, 0x01EE41], 310 [0x01EE43, 0x01EE46], 311 [0x01EE55, 0x01EE56], 312 [0x01EE65, 0x01EE66], 313 [0x01EE9C, 0x01EEA0], 314 [0x01EEBC, 0x01EEEF], 315 [0x01EEF2, 0x01F8CF], 316 [0x01F8D9, 0x10FFFF] 317 ] 318 }); 319 testPropertyEscapes( 320 /^\P{Math}+$/u, 321 nonMatchSymbols, 322 "\\P{Math}" 323 ); 324 325 reportCompare(0, 0);