(characterClassItem)
| 57315 | var ignoreCase = false; |
| 57316 | var unicode = false; |
| 57317 | function processCharacterClass(characterClassItem) { |
| 57318 | var set = regenerate(); |
| 57319 | var body = characterClassItem.body.forEach(function (item) { |
| 57320 | switch (item.type) { |
| 57321 | case 'value': |
| 57322 | set.add(item.codePoint); |
| 57323 | if (ignoreCase && unicode) { |
| 57324 | var folded = caseFold(item.codePoint); |
| 57325 | if (folded) { |
| 57326 | set.add(folded); |
| 57327 | } |
| 57328 | } |
| 57329 | break; |
| 57330 | case 'characterClassRange': |
| 57331 | var min = item.min.codePoint; |
| 57332 | var max = item.max.codePoint; |
| 57333 | set.addRange(min, max); |
| 57334 | if (ignoreCase && unicode) { |
| 57335 | set.iuAddRange(min, max); |
| 57336 | } |
| 57337 | break; |
| 57338 | case 'characterClassEscape': |
| 57339 | set.add(getCharacterClassEscapeSet(item.value)); |
| 57340 | break; |
| 57341 | // The `default` clause is only here as a safeguard; it should never be |
| 57342 | // reached. Code coverage tools should ignore it. |
| 57343 | /* istanbul ignore next */ |
| 57344 | default: |
| 57345 | throw Error('Unknown term type: ' + item.type); |
| 57346 | } |
| 57347 | }); |
| 57348 | if (characterClassItem.negative) { |
| 57349 | set = (unicode ? UNICODE_SET : BMP_SET).clone().remove(set); |
| 57350 | } |
| 57351 | update(characterClassItem, set.toString()); |
| 57352 | return characterClassItem; |
| 57353 | } |
| 57354 | |
| 57355 | function processTerm(item) { |
| 57356 | switch (item.type) { |
no test coverage detected