Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
validate-variable
Advanced tools
Validate any string as a JavaScript variable name, taking into consideration both the ECMAScript 6 specification and Unicode 8.0.0, as well as reserved words and invalid escape sequences in older engines.
Validate any string as a JavaScript variable name, taking into consideration both the ECMAScript 6 specification and Unicode 8.0.0, as well as reserved words and invalid escape sequences in older engines.
Adapted from JavaScript identifier validator by Mathias Bynens and repackaged as an npm module.
Using npm
npm install validate-variable
Using yarn
yarn add validate-variable
Import as an ES6 module
import validateVariable, { isValidVariable } from 'validate-variable'
Import as a CommonJS module
const { validateVariable, isValidVariable } = require('validate-variable')
console.log(isValidVariable('ಠ_ಠ'))
Returning:
true
Includes any errors and/or warnings with the return value.
console.log(validateVariable('await'))
Returning:
{
valid: false,
errors: {
reserved: true
}
}
console.log(validateVariable('undefined'))
Returning:
{
valid: true,
warnings: {
immutable: true
}
}
The format of the variable name is invalid according to ES6 + Unicode 8.0.0
The variable matches any reserved keywords like return
or await
The variable is an ES3 reserved word. You may want to avoid using it if support for older JavaScript engines is a concern.
Invalid identifier as per ES5. You may want to avoid using it if support for older JavaScript engines is a concern.
The variable contains zero-width characters that are allowed in IdentifierPart as per ES5, but not in ES3. You may want to avoid using it if support for older JavaScript engines is a concern.
Invalid identifier according to Unicode v5.1.0. You may want to avoid using it if support for JavaScript engines with outdated Unicode data tables is a concern.
The NaN
, Infinity
, and undefined
properties of the global object are immutable or read-only. Setting them won’t have an effect. Avoid using them as variable names.
Activate strict mode by setting the second argument to true
when calling either method.
This makes any warnings return an invalid result.
console.log(isValidVariable('NaN', true))
Returning:
false
Licensed under the GPL 2.0 license.
FAQs
Validate any string as a JavaScript variable name, taking into consideration both the ECMAScript 6 specification and Unicode 8.0.0, as well as reserved words and invalid escape sequences in older engines.
We found that validate-variable demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.