MCPcopy Create free account
hub / github.com/RubyLouvre/anu / processTerm

Function processTerm

test/babel.js:57355–57396  ·  view source on GitHub ↗
(item)

Source from the content-addressed store, hash-verified

57353 }
57354
57355 function processTerm(item) {
57356 switch (item.type) {
57357 case 'dot':
57358 update(item, (unicode ? DOT_SET_UNICODE : DOT_SET).toString());
57359 break;
57360 case 'characterClass':
57361 item = processCharacterClass(item);
57362 break;
57363 case 'characterClassEscape':
57364 update(item, getCharacterClassEscapeSet(item.value).toString());
57365 break;
57366 case 'alternative':
57367 case 'disjunction':
57368 case 'group':
57369 case 'quantifier':
57370 item.body = item.body.map(processTerm);
57371 break;
57372 case 'value':
57373 var codePoint = item.codePoint;
57374 var set = regenerate(codePoint);
57375 if (ignoreCase && unicode) {
57376 var folded = caseFold(codePoint);
57377 if (folded) {
57378 set.add(folded);
57379 }
57380 }
57381 update(item, set.toString());
57382 break;
57383 case 'anchor':
57384 case 'empty':
57385 case 'group':
57386 case 'reference':
57387 // Nothing to do here.
57388 break;
57389 // The `default` clause is only here as a safeguard; it should never be
57390 // reached. Code coverage tools should ignore it.
57391 /* istanbul ignore next */
57392 default:
57393 throw Error('Unknown term type: ' + item.type);
57394 }
57395 return item;
57396 };
57397
57398 module.exports = function (pattern, flags) {
57399 var tree = parse(pattern, flags);

Callers 1

babel.jsFile · 0.85

Calls 5

processCharacterClassFunction · 0.85
regenerateFunction · 0.85
caseFoldFunction · 0.85
updateFunction · 0.70

Tested by

no test coverage detected