You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							29 lines
						
					
					
						
							910 B
						
					
					
				
			
		
		
	
	
							29 lines
						
					
					
						
							910 B
						
					
					
				/** | 
						|
 * @fileoverview Common utils for AST. | 
						|
 * | 
						|
 * This file contains only shared items for core and rules. | 
						|
 * If you make a utility for rules, please see `../rules/utils/ast-utils.js`. | 
						|
 * | 
						|
 * @author Toru Nagashima <https://github.com/mysticatea> | 
						|
 */ | 
						|
"use strict"; | 
						|
 | 
						|
const breakableTypePattern = /^(?:(?:Do)?While|For(?:In|Of)?|Switch)Statement$/u; | 
						|
const lineBreakPattern = /\r\n|[\r\n\u2028\u2029]/u; | 
						|
const shebangPattern = /^#!([^\r\n]+)/u; | 
						|
 | 
						|
/** | 
						|
 * Creates a version of the `lineBreakPattern` regex with the global flag. | 
						|
 * Global regexes are mutable, so this needs to be a function instead of a constant. | 
						|
 * @returns {RegExp} A global regular expression that matches line terminators | 
						|
 */ | 
						|
function createGlobalLinebreakMatcher() { | 
						|
    return new RegExp(lineBreakPattern.source, "gu"); | 
						|
} | 
						|
 | 
						|
module.exports = { | 
						|
    breakableTypePattern, | 
						|
    lineBreakPattern, | 
						|
    createGlobalLinebreakMatcher, | 
						|
    shebangPattern | 
						|
};
 | 
						|
 |