Name: is-expression-babylon
Owner: Pug
Description: Check if a string is a valid JavaScript expression using Babylon
Created: 2016-10-12 02:26:09.0
Updated: 2017-01-23 02:09:52.0
Pushed: 2017-01-23 02:12:31.0
Homepage: null
Size: 8
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This module has stopped working since
babylon@6.13.1.
Please use Babylon's babylon.parseExpression()
instead.
Validates a string as a JavaScript expression using Babylon
An alternative version of this module using Acorn instead of Babylon is available at is-expression. While this module aims to support all ECMAScript features, even spec proposals in Stage 0, is-expression is more conservative on the features it implements. Pick your poison.
npm install is-expression-babylon
t isExpression = require('is-expression-babylon');
isExpression(src[, options])
Validates a string as a JavaScript expression.
src
contains the source.
options
can contain any Babylon options, 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.
isExpression.getExpression(src[, options])
Get the Babylon Expression AST node of a string.
src
contains the source.
options
can contain any Babylon options, or any of the following:
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.If the string is not an expression, an error is thrown.
t isExpression = require('is-expression-babylon');
pression('myVar');
true
pression('var');
false
pression('["an", "array", "\'s"].indexOf("index")');
true
pression('var', {throw: true});
yntaxError: Unexpected token (1:0)
at Parser.pp.raise (acorn/dist/acorn.js:940:13)
at ...
pression('public');
true
pression('public', {strict: true});
false
pression('abc // my comment');
false
pression('abc // my comment', {lineComment: true});
true
t expression = isExpression.getExpression('abc');
Node { type: 'Identifier', ... }
MIT