$ cnpm install esvalid
npm install esvalid
esvalid.isValid(node) :: Spidermonkey AST Node → BooleanReturns true if and only if the given AST node represents a valid ECMAScript program.
esvalid.isValidExpression(node) :: Spidermonkey AST Node → BooleanReturns true if and only if the given AST node represents a valid ECMAScript expression.
esvalid.errors(node) :: Spidermonkey AST Node → [InvalidAstError]Returns an array of InvalidAstError objects representing the errors in the
given AST. An effort is made to continue collecting errors in the face of
malformed ASTs. If an empty array is returned, it is implied that the given AST
node is error free.
new esvalid.InvalidAstError(node, message) :: Node -> String -> InvalidAstErrorConstructs a new InvalidAstError instance. node must be non-null.
var esvalid = require("esvalid");
var esprima = require("esprima");
var program = esprima.parse(fs.readFileSync(require.resolve("esprima")));
esvalid.isValid(program); // true
esvalid.isValid({type: "Program", body: []}); // true
esvalid.isValid({type: "Program", body: null}); // false
esvalid.isValidExpression({type: "Program", body: []}); // false
esvalid.isValidExpression({type: "Literal", value: 0}); // true
esvalid.errors({type: "Program", body: []}); // []
var error = esvalid.errors({type: "Program", body: null})[0];
error instanceof esvalid.InvalidAstError; // true
error.node; // {type: "Program", body: null}
error.message; // "Program `body` member must be non-null"
This is a list of all esvalid validity tests other than null tests and type checks.
name member must be a valid IdentifierNamename member must not be a ReservedWordalternate must not be the consequent of an IfStatement with a non-null alternateproperty member must have a valid IdentifierName name membervalue member must have zero parametersvalue member must have exactly one parameterexpressions member length must be >= 2cases member must contain no more than one SwitchCase with a null test memberhandler member or a non-null finalizer memberdelete with unqualified identifier not allowed in strict modedeclarations member must be non-emptyCopyright 2013 - present © cnpmjs.org | Home |