Files
dealplustech/dealplustech-astro/node_modules/regex/src/flag-n.js
Kunthawat Greethong 3ed9f3f3ff 🎨 Fix CSS: Import global.css + plain CSS styles
CSS was not being imported! Fixed:

 Added 'import ../styles/global.css' to BaseLayout.astro
 Rewrote CSS with plain CSS (not @apply which wasn't working)
 Cookie banner has inline styles as backup
 Font size: 16px base
 Solid colors: green-600 (#16a34a), gray-900 (#111827)
 Footer has policy links

Build: 12 pages 
2026-03-10 08:21:30 +07:00

47 lines
1.2 KiB
JavaScript

import {getEndContextForIncompleteExpression, RegexContext} from './utils.js';
import {noncapturingDelim} from './utils-internals.js';
const token = new RegExp(String.raw`
${noncapturingDelim}
| \(\?<
| (?<backrefNum>\\[1-9]\d*)
| \\?.
`.replace(/\s+/g, ''), 'gsu');
/**
Apply transformations for flag n (named capture only).
Preprocessors are applied to the outer regex and interpolated patterns, but not interpolated
regexes or strings.
@type {import('./utils.js').Preprocessor}
*/
function flagNPreprocessor(value, runningContext) {
value = String(value);
let expression = '';
let transformed = '';
for (const {0: m, groups: {backrefNum}} of value.matchAll(token)) {
expression += m;
runningContext = getEndContextForIncompleteExpression(expression, runningContext);
const {regexContext} = runningContext;
if (regexContext === RegexContext.DEFAULT) {
if (m === '(') {
transformed += '(?:';
} else if (backrefNum) {
throw new Error(`Invalid decimal escape "${m}" with implicit flag n; replace with named backreference`);
} else {
transformed += m;
}
} else {
transformed += m;
}
}
return {
transformed,
runningContext,
};
}
export {
flagNPreprocessor,
};