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:
69
node_modules/trim-lines/index.js
generated
vendored
Normal file
69
node_modules/trim-lines/index.js
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
const tab = 9 /* `\t` */
|
||||
const space = 32 /* ` ` */
|
||||
|
||||
/**
|
||||
* Remove initial and final spaces and tabs at the line breaks in `value`.
|
||||
* Does not trim initial and final spaces and tabs of the value itself.
|
||||
*
|
||||
* @param {string} value
|
||||
* Value to trim.
|
||||
* @returns {string}
|
||||
* Trimmed value.
|
||||
*/
|
||||
export function trimLines(value) {
|
||||
const source = String(value)
|
||||
const search = /\r?\n|\r/g
|
||||
let match = search.exec(source)
|
||||
let last = 0
|
||||
/** @type {Array<string>} */
|
||||
const lines = []
|
||||
|
||||
while (match) {
|
||||
lines.push(
|
||||
trimLine(source.slice(last, match.index), last > 0, true),
|
||||
match[0]
|
||||
)
|
||||
|
||||
last = match.index + match[0].length
|
||||
match = search.exec(source)
|
||||
}
|
||||
|
||||
lines.push(trimLine(source.slice(last), last > 0, false))
|
||||
|
||||
return lines.join('')
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} value
|
||||
* Line to trim.
|
||||
* @param {boolean} start
|
||||
* Whether to trim the start of the line.
|
||||
* @param {boolean} end
|
||||
* Whether to trim the end of the line.
|
||||
* @returns {string}
|
||||
* Trimmed line.
|
||||
*/
|
||||
function trimLine(value, start, end) {
|
||||
let startIndex = 0
|
||||
let endIndex = value.length
|
||||
|
||||
if (start) {
|
||||
let code = value.codePointAt(startIndex)
|
||||
|
||||
while (code === tab || code === space) {
|
||||
startIndex++
|
||||
code = value.codePointAt(startIndex)
|
||||
}
|
||||
}
|
||||
|
||||
if (end) {
|
||||
let code = value.codePointAt(endIndex - 1)
|
||||
|
||||
while (code === tab || code === space) {
|
||||
endIndex--
|
||||
code = value.codePointAt(endIndex - 1)
|
||||
}
|
||||
}
|
||||
|
||||
return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''
|
||||
}
|
Reference in New Issue
Block a user