Refactor routing in App component to enhance navigation and improve error handling by integrating dynamic routes and updating the NotFound route.
This commit is contained in:
47
node_modules/astro/dist/vite-plugin-html/transform/utils.js
generated
vendored
Normal file
47
node_modules/astro/dist/vite-plugin-html/transform/utils.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
const splitAttrsTokenizer = /([${}@\w:\-]*)\s*=\s*?(['"]?)(.*?)\2\s+/g;
|
||||
function replaceAttribute(s, node, key, newValue) {
|
||||
splitAttrsTokenizer.lastIndex = 0;
|
||||
const text = s.original.slice(node.position?.start.offset ?? 0, node.position?.end.offset ?? 0).toString();
|
||||
const offset = text.indexOf(key);
|
||||
if (offset === -1) return;
|
||||
const start = node.position.start.offset + offset;
|
||||
const tokens = text.slice(offset).split(splitAttrsTokenizer);
|
||||
const token = tokens[0].replace(/([^>])>[\s\S]*$/gm, "$1");
|
||||
if (token.trim() === key) {
|
||||
const end = start + key.length;
|
||||
return s.overwrite(start, end, newValue, { contentOnly: true });
|
||||
} else {
|
||||
const length = token.length;
|
||||
const end = start + length;
|
||||
return s.overwrite(start, end, newValue, { contentOnly: true });
|
||||
}
|
||||
}
|
||||
const NEEDS_ESCAPE_RE = /[`\\]|\$\{/g;
|
||||
function needsEscape(value) {
|
||||
NEEDS_ESCAPE_RE.lastIndex = 0;
|
||||
return typeof value === "string" && NEEDS_ESCAPE_RE.test(value);
|
||||
}
|
||||
function escapeTemplateLiteralCharacters(value) {
|
||||
NEEDS_ESCAPE_RE.lastIndex = 0;
|
||||
let char;
|
||||
let startIndex = 0;
|
||||
let segment = "";
|
||||
let text = "";
|
||||
while ([char] = NEEDS_ESCAPE_RE.exec(value) ?? []) {
|
||||
if (!char) {
|
||||
text += value.slice(startIndex);
|
||||
break;
|
||||
}
|
||||
const endIndex = NEEDS_ESCAPE_RE.lastIndex - char.length;
|
||||
const prefix = segment === "\\" ? "" : "\\";
|
||||
segment = prefix + char;
|
||||
text += value.slice(startIndex, endIndex) + segment;
|
||||
startIndex = NEEDS_ESCAPE_RE.lastIndex;
|
||||
}
|
||||
return text;
|
||||
}
|
||||
export {
|
||||
escapeTemplateLiteralCharacters,
|
||||
needsEscape,
|
||||
replaceAttribute
|
||||
};
|
Reference in New Issue
Block a user