biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsExpressionStatement {
            expression: JsComputedMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@0..3 "foo" [] [],
                    },
                },
                optional_chain_token: missing (optional),
                l_brack_token: L_BRACK@3..4 "[" [] [],
                member: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@4..7 "bar" [] [],
                    },
                },
                r_brack_token: R_BRACK@7..8 "]" [] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsComputedMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@8..12 "foo" [Newline("\n")] [],
                    },
                },
                optional_chain_token: missing (optional),
                l_brack_token: L_BRACK@12..13 "[" [] [],
                member: JsBinaryExpression {
                    left: JsNumberLiteralExpression {
                        value_token: JS_NUMBER_LITERAL@13..15 "5" [] [Whitespace(" ")],
                    },
                    operator_token: PLUS@15..17 "+" [] [Whitespace(" ")],
                    right: JsNumberLiteralExpression {
                        value_token: JS_NUMBER_LITERAL@17..18 "5" [] [],
                    },
                },
                r_brack_token: R_BRACK@18..19 "]" [] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsComputedMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@19..23 "foo" [Newline("\n")] [],
                    },
                },
                optional_chain_token: missing (optional),
                l_brack_token: L_BRACK@23..24 "[" [] [],
                member: JsStringLiteralExpression {
                    value_token: JS_STRING_LITERAL@24..29 "\"bar\"" [] [],
                },
                r_brack_token: R_BRACK@29..30 "]" [] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsComputedMemberExpression {
                object: JsComputedMemberExpression {
                    object: JsIdentifierExpression {
                        name: JsReferenceIdentifier {
                            value_token: IDENT@30..34 "foo" [Newline("\n")] [],
                        },
                    },
                    optional_chain_token: missing (optional),
                    l_brack_token: L_BRACK@34..35 "[" [] [],
                    member: JsIdentifierExpression {
                        name: JsReferenceIdentifier {
                            value_token: IDENT@35..38 "bar" [] [],
                        },
                    },
                    r_brack_token: R_BRACK@38..39 "]" [] [],
                },
                optional_chain_token: missing (optional),
                l_brack_token: L_BRACK@39..40 "[" [] [],
                member: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@40..43 "baz" [] [],
                    },
                },
                r_brack_token: R_BRACK@43..44 "]" [] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsComputedMemberExpression {
                object: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@44..48 "foo" [Newline("\n")] [],
                    },
                },
                optional_chain_token: QUESTIONDOT@48..50 "?." [] [],
                l_brack_token: L_BRACK@50..51 "[" [] [],
                member: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@51..54 "bar" [] [],
                    },
                },
                r_brack_token: R_BRACK@54..55 "]" [] [],
            },
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@55..56 "" [Newline("\n")] [],
}

0: JS_MODULE@0..56
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..55
    0: JS_EXPRESSION_STATEMENT@0..8
      0: JS_COMPUTED_MEMBER_EXPRESSION@0..8
        0: JS_IDENTIFIER_EXPRESSION@0..3
          0: JS_REFERENCE_IDENTIFIER@0..3
            0: IDENT@0..3 "foo" [] []
        1: (empty)
        2: L_BRACK@3..4 "[" [] []
        3: JS_IDENTIFIER_EXPRESSION@4..7
          0: JS_REFERENCE_IDENTIFIER@4..7
            0: IDENT@4..7 "bar" [] []
        4: R_BRACK@7..8 "]" [] []
      1: (empty)
    1: JS_EXPRESSION_STATEMENT@8..19
      0: JS_COMPUTED_MEMBER_EXPRESSION@8..19
        0: JS_IDENTIFIER_EXPRESSION@8..12
          0: JS_REFERENCE_IDENTIFIER@8..12
            0: IDENT@8..12 "foo" [Newline("\n")] []
        1: (empty)
        2: L_BRACK@12..13 "[" [] []
        3: JS_BINARY_EXPRESSION@13..18
          0: JS_NUMBER_LITERAL_EXPRESSION@13..15
            0: JS_NUMBER_LITERAL@13..15 "5" [] [Whitespace(" ")]
          1: PLUS@15..17 "+" [] [Whitespace(" ")]
          2: JS_NUMBER_LITERAL_EXPRESSION@17..18
            0: JS_NUMBER_LITERAL@17..18 "5" [] []
        4: R_BRACK@18..19 "]" [] []
      1: (empty)
    2: JS_EXPRESSION_STATEMENT@19..30
      0: JS_COMPUTED_MEMBER_EXPRESSION@19..30
        0: JS_IDENTIFIER_EXPRESSION@19..23
          0: JS_REFERENCE_IDENTIFIER@19..23
            0: IDENT@19..23 "foo" [Newline("\n")] []
        1: (empty)
        2: L_BRACK@23..24 "[" [] []
        3: JS_STRING_LITERAL_EXPRESSION@24..29
          0: JS_STRING_LITERAL@24..29 "\"bar\"" [] []
        4: R_BRACK@29..30 "]" [] []
      1: (empty)
    3: JS_EXPRESSION_STATEMENT@30..44
      0: JS_COMPUTED_MEMBER_EXPRESSION@30..44
        0: JS_COMPUTED_MEMBER_EXPRESSION@30..39
          0: JS_IDENTIFIER_EXPRESSION@30..34
            0: JS_REFERENCE_IDENTIFIER@30..34
              0: IDENT@30..34 "foo" [Newline("\n")] []
          1: (empty)
          2: L_BRACK@34..35 "[" [] []
          3: JS_IDENTIFIER_EXPRESSION@35..38
            0: JS_REFERENCE_IDENTIFIER@35..38
              0: IDENT@35..38 "bar" [] []
          4: R_BRACK@38..39 "]" [] []
        1: (empty)
        2: L_BRACK@39..40 "[" [] []
        3: JS_IDENTIFIER_EXPRESSION@40..43
          0: JS_REFERENCE_IDENTIFIER@40..43
            0: IDENT@40..43 "baz" [] []
        4: R_BRACK@43..44 "]" [] []
      1: (empty)
    4: JS_EXPRESSION_STATEMENT@44..55
      0: JS_COMPUTED_MEMBER_EXPRESSION@44..55
        0: JS_IDENTIFIER_EXPRESSION@44..48
          0: JS_REFERENCE_IDENTIFIER@44..48
            0: IDENT@44..48 "foo" [Newline("\n")] []
        1: QUESTIONDOT@48..50 "?." [] []
        2: L_BRACK@50..51 "[" [] []
        3: JS_IDENTIFIER_EXPRESSION@51..54
          0: JS_REFERENCE_IDENTIFIER@51..54
            0: IDENT@51..54 "bar" [] []
        4: R_BRACK@54..55 "]" [] []
      1: (empty)
  4: EOF@55..56 "" [Newline("\n")] []