{"version":3,"file":"generate-children-regexp.cjs","sources":["../../../src/utils/page-path-utils/generate-children-regexp.ts"],"sourcesContent":["import { escapeStringForMongoRegex } from '../escape-string-for-regex';\nimport { isTopPage } from './is-top-page';\n\n/**\n * Generate RegExp instance for one level lower path\n */\nexport const generateChildrenRegExp = (path: string): RegExp => {\n  // https://regex101.com/r/laJGzj/1\n  // ex. /any_level1\n  if (isTopPage(path)) return new RegExp(/^\\/[^/]+$/);\n\n  // https://regex101.com/r/mrDJrx/1\n  // ex. /parent/any_child OR /any_level1\n  // NOTE: use escapeStringForMongoRegex (not RegExp.escape) because this pattern is sent to\n  // MongoDB ($regex). RegExp.escape would emit \\uXXXX for non-ASCII whitespace (e.g. U+3000),\n  // which PCRE2 rejects (error 51091).\n  return new RegExp(`^${escapeStringForMongoRegex(path)}(\\\\/[^/]+)\\\\/?$`);\n};\n"],"names":["generateChildrenRegExp","path","isTopPage","escapeStringForMongoRegex"],"mappings":"iKAMaA,EAA0BC,GAGjCC,YAAUD,CAAI,EAAU,IAAI,OAAO,WAAW,EAO3C,IAAI,OAAO,IAAIE,EAA0B,0BAAAF,CAAI,CAAC,iBAAiB"}