should-quote

A utility function to detect if a string should be wrapped in quotes to work as an object key

Usage no npm install needed!

<script type="module">
  import shouldQuote from 'https://cdn.skypack.dev/should-quote';
</script>

README

should-quote

This is a tiny library to detect if a string should be wrapped in quotes to work as an object key.

How to Install

yarn add should-quote

or...

npm install should-quote

How to Use

First you need to import the function as seen below:

import shouldQuote from 'should-quote';

Then you can use it on string literals...

console.log(shouldQuote('foo')); // false

console.log(shouldQuote('foo bar')); // true

...or variables with string value.

const key = 'prop.name';

console.log(shouldQuote(key) ? `obj['${key}']` : `obj.${key}`); // obj['prop.name']

The logged output would have been dot notation if camel case were used.

const key = 'propName';

console.log(shouldQuote(key) ? `obj['${key}']` : `obj.${key}`); // obj.propName

It allows unquoted keys if it complies with the lexical grammar.

const key = '\\u0078'; // yeah, \u0078 does not have to be quoted

console.log(shouldQuote(key) ? `obj['${key}']` : `obj.${key}`); // obj.\u0078