Function guardProgram

Returns a deep copy of the input node if it is a valid estree-sentry program. Throws a EstreeSentrySyntaxError if the input node is not a valid estree-sentry program.

import { guardProgram } from "estree-sentry";
// throws: EstreeSentrySyntaxError
// KeyIdentifier.type should be "Identifier" or "PrivateIdentifier"
// got "Literal"
// at $.body.0.expression.property
guardProgram(
{
type: "Program",
sourceType: "script",
body: [
{
type: "ExpressionStatement",
expression: {
type: "MemberExpression",
computed: false,
object: {
type: "Identifier",
name: "obj",
},
property: {
type: "Literal",
value: "key",
},
},
},
],
},
);

An EstreeSentrySyntaxError if the input root node is not a valid estree-sentry program.

  • Parameters

    • root: object

      The input root node.

    Returns Program<{}>

    A deep copy of the input root node that is a valid estree-sentry program.