JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2138246
  • Score
    100M100P100Q195723F
  • License MIT

Check if a string is a valid JavaScript expression

Package Exports

  • is-expression

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (is-expression) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

is-expression

Validates a string as a JavaScript expression

Build Status Dependency Status Rolling Versions npm version

Installation

npm install is-expression

Usage

isExpression(src[, options])

Validates a string as a JavaScript expression.

src contains the source.

options can contain any Acorn options (since we use Acorn under-the-hood), or any of the following:

  • throw: Throw an error if the string is not an expression. The error can be an Acorn error, with location information in err.loc and err.pos. Defaults to false.
  • strict: Use strict mode when trying to parse the string. Defaults to false. Even if this option is false, if you have provided options.sourceType === 'module' which imples strict mode under ES2015, strict mode will be used.
  • lineComment: When true, allows line comments in the expression. Defaults to false for safety.

See the examples below for usage.

Examples

var isExpression = require('is-expression')

isExpression('myVar')
//=> true
isExpression('var')
//=> false
isExpression('["an", "array", "\'s"].indexOf("index")')
//=> true

isExpression('var', {throw: true})
// SyntaxError: Unexpected token (1:0)
//     at Parser.pp.raise (acorn/dist/acorn.js:940:13)
//     at ...

isExpression('public')
//=> true
isExpression('public', {strict: true})
//=> false

isExpression('abc // my comment')
//=> false
isExpression('abc // my comment', {lineComment: true})
//=> true

License

MIT