knowledgebase_law/node_modules/mdast-util-to-markdown/lib/util/compile-pattern.js

25 lines
577 B
JavaScript
Raw Normal View History

2025-04-11 23:47:09 +08:00
/**
* @import {CompilePattern} from '../types.js'
*/
/**
* @type {CompilePattern}
*/
export function compilePattern(pattern) {
if (!pattern._compiled) {
const before =
(pattern.atBreak ? '[\\r\\n][\\t ]*' : '') +
(pattern.before ? '(?:' + pattern.before + ')' : '')
pattern._compiled = new RegExp(
(before ? '(' + before + ')' : '') +
(/[|\\{}()[\]^$+*?.-]/.test(pattern.character) ? '\\' : '') +
pattern.character +
(pattern.after ? '(?:' + pattern.after + ')' : ''),
'g'
)
}
return pattern._compiled
}