unquoted-property-validator
Unquoted JavaScript property name validator
This module checks if a given property name can be used without quotes and/or with dot notation.
It is based on Mathias Bynens brilliant javascript-properties article. So this is a node-port of his website implementation.
Installation
$ npm install unquoted-property-validator --save
Usage
var unquotedValidator = ; var results = ;console;/* { needsQuotes: false, needsBrackets: false, es3Warning: false, quotedValue: 'myCoolLiteral' }*/
In ES6/Typescript the first line should look like this instead:
;
Results
Your property input will be checked and you will get 3 flags as output:
needsQuotes
Quotes can only be omitted if the property name is a numeric literal or a valid identifier name:
var obj = nonQuoted: true 'must-be-quoted' : true ;
needsBrackets
Dot notation can only be used when the property name is a valid identifier name:
objbracketFree = true; //use the supreme dot notationobj'requires-brackets' = true; //string must be inside brackets to be used as property
es3Warning
Should you want to support ES3, you cannot use some identifiers:
obj'var' //-> invalid in ES3var obj = goto: true //-> invalid in ES3 ;
quotedValue
Your quoted string in case there are problematic characters.
API
unquotedValidator(input)
input
Type: String
Property to validate
License
MIT © Gilad Peleg