• When key is a PrivateIdentifier, computed must be false and kind can not be "constructor".

Hierarchy (View Summary)

Constructors

Properties

afterInstanceConstruct: any
computed: boolean
decorators: Decorator[]

The loc field represents the source location information of the node. If the node contains no information about the source location, the field is null or undefined; otherwise it is an object consisting of a start position (the position of the first character of the parsed source region) and an end position (the position of the first character after the parsed source region): and offset index (the position of the first character)

range?: [number, number]

start and end position offset

static: boolean
type: string

The type field is a string representing the AST variant type. Each subtype of Node is documented below with the specific string of its type field. You can use this field to determine which interface a node implements.

Methods

  • get all dependencies form an expression node

    the return from this method, is represent an answer for what identifiers this expression depends-on.

    ex:

    x + y;
    
    • for + operator : the answer should be lhs and rhs,
    • for x identifier: the answer should be node x,
    • for y identifier: the answer should be node y.

    so, the return from + will be [ node 'x', node 'y']

    and:

    • x.y.z * a ==> [ member node x.y.z, identifier 'a']

    Parameters

    • Optionalcomputed: true

    Returns ExpressionNode[]

  • get all the events form this expression

    the return from this method, is represent an answer for what is this expression depends-on as identifier name

    ex:

    x + y;
    
    • for + operator : the answer should be lhs and rhs,
    • for x identifier: the answer should be x
    • for y identifier: the answer should be y the final output will be

    so, the return from + will be { x: undefined, y: undefined }

    and:

    • x.y.z * a ==> { x: { y: { z: undefined }, a: undefined } }
    • x.y.z > x.y.h.g ==> { x: { y: { z: undefined, h: { g: undefined} } } }
    • x[Symbol.toStringTag] + 'Class' + classType + array[3] ==> { x: { 'Symbol.toStringTag': undefined }, classType: undefined, array: { 3: undefined } }
    • 'name' ==> {}
    • 
      

    user[firstName + son of ${fatherName}] ``` ==> { user: { 'firstName:fatherName': undefined }, firstName: undefined, fatherName: undefined }

    Returns ExpressionEventMap