Jack Jackson 892a62f4e5 Add first PR check (#1)
To be followed by tests and `npm run build`, obviously!

Reviewed-on: #1
Co-authored-by: Jack Jackson <scubbojj@gmail.com>
Co-committed-by: Jack Jackson <scubbojj@gmail.com>
2025-03-03 23:00:04 +00:00

30 lines
910 B
JavaScript

/**
* @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
};