Urara-Blog/node_modules/.pnpm-store/v3/files/81/a64269a0c123982a21328dfceac411f56422bd8cc678ac59daba1fea61d6ed4dbb18f03a32ee5d4e079e3a52fc00eb13ce9fc112af799793280271a321dad1
2022-08-14 01:14:53 +08:00

20 lines
693 B
Text

/**
* Normalize an identifier (such as used in definitions).
*
* @param {string} value
* @returns {string}
*/
export function normalizeIdentifier(value) {
return (
value // Collapse Markdown whitespace.
.replace(/[\t\n\r ]+/g, ' ') // Trim.
.replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase
// counterpart is uppercased will result in a different uppercase
// character.
// Hence, to get that form, we perform both lower- and uppercase.
// Upper case makes sure keys will not interact with default prototypal
// methods: no method is uppercase.
.toLowerCase()
.toUpperCase()
)
}