Files
med-notes/.pnpm-store/v10/files/98/b58525f91964cf90642dc91b7591aaf4f9194631e1c8bf6ed2d9b23c523b15118f2f7720b7b3eaf060981f5faf08ebf1d0b1ab5783f8f88929c0cc91975ec8
2025-05-09 05:30:08 +02:00

31 lines
897 B
Plaintext

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