npm CLI robot 005170c95d
deps: upgrade npm to 9.5.0
PR-URL: https://github.com/nodejs/node/pull/46673
Reviewed-By: Luke Karrys <luke@lukekarrys.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Ruy Adorno <ruyadorno@google.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2023-02-18 22:09:39 +00:00

62 lines
1.4 KiB
JavaScript

exports.email = email
exports.pw = pw
exports.username = username
var requirements = exports.requirements = {
username: {
length: 'Name length must be less than or equal to 214 characters long',
lowerCase: 'Name must be lowercase',
urlSafe: 'Name may not contain non-url-safe chars',
dot: 'Name may not start with "."',
illegal: 'Name may not contain illegal character',
},
password: {},
email: {
length: 'Email length must be less then or equal to 254 characters long',
valid: 'Email must be an email address',
},
}
var illegalCharacterRe = new RegExp('([' + [
"'",
].join() + '])')
function username (un) {
if (un !== un.toLowerCase()) {
return new Error(requirements.username.lowerCase)
}
if (un !== encodeURIComponent(un)) {
return new Error(requirements.username.urlSafe)
}
if (un.charAt(0) === '.') {
return new Error(requirements.username.dot)
}
if (un.length > 214) {
return new Error(requirements.username.length)
}
var illegal = un.match(illegalCharacterRe)
if (illegal) {
return new Error(requirements.username.illegal + ' "' + illegal[0] + '"')
}
return null
}
function email (em) {
if (em.length > 254) {
return new Error(requirements.email.length)
}
if (!em.match(/^[^@]+@.+\..+$/)) {
return new Error(requirements.email.valid)
}
return null
}
function pw () {
return null
}