biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsVariableStatement {
            declaration: JsVariableDeclaration {
                await_token: missing (optional),
                kind: LET_KW@0..4 "let" [] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsIdentifierBinding {
                            name_token: IDENT@4..6 "a" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@6..8 "=" [] [Whitespace(" ")],
                            expression: JsObjectExpression {
                                l_curly_token: L_CURLY@8..9 "{" [] [],
                                members: JsObjectMemberList [
                                    JsPropertyObjectMember {
                                        name: JsLiteralMemberName {
                                            value: JS_STRING_LITERAL@9..14 "\"foo\"" [] [],
                                        },
                                        colon_token: COLON@14..16 ":" [] [Whitespace(" ")],
                                        value: JsIdentifierExpression {
                                            name: JsReferenceIdentifier {
                                                value_token: IDENT@16..19 "foo" [] [],
                                            },
                                        },
                                    },
                                    COMMA@19..21 "," [] [Whitespace(" ")],
                                    JsPropertyObjectMember {
                                        name: JsComputedMemberName {
                                            l_brack_token: L_BRACK@21..22 "[" [] [],
                                            expression: JsBinaryExpression {
                                                left: JsNumberLiteralExpression {
                                                    value_token: JS_NUMBER_LITERAL@22..24 "6" [] [Whitespace(" ")],
                                                },
                                                operator_token: PLUS@24..26 "+" [] [Whitespace(" ")],
                                                right: JsNumberLiteralExpression {
                                                    value_token: JS_NUMBER_LITERAL@26..27 "6" [] [],
                                                },
                                            },
                                            r_brack_token: R_BRACK@27..28 "]" [] [],
                                        },
                                        colon_token: COLON@28..30 ":" [] [Whitespace(" ")],
                                        value: JsIdentifierExpression {
                                            name: JsReferenceIdentifier {
                                                value_token: IDENT@30..33 "foo" [] [],
                                            },
                                        },
                                    },
                                    COMMA@33..35 "," [] [Whitespace(" ")],
                                    JsPropertyObjectMember {
                                        name: JsLiteralMemberName {
                                            value: IDENT@35..38 "bar" [] [],
                                        },
                                        colon_token: COLON@38..40 ":" [] [Whitespace(" ")],
                                        value: JsIdentifierExpression {
                                            name: JsReferenceIdentifier {
                                                value_token: IDENT@40..43 "foo" [] [],
                                            },
                                        },
                                    },
                                    COMMA@43..45 "," [] [Whitespace(" ")],
                                    JsPropertyObjectMember {
                                        name: JsLiteralMemberName {
                                            value: JS_NUMBER_LITERAL@45..46 "7" [] [],
                                        },
                                        colon_token: COLON@46..48 ":" [] [Whitespace(" ")],
                                        value: JsIdentifierExpression {
                                            name: JsReferenceIdentifier {
                                                value_token: IDENT@48..51 "foo" [] [],
                                            },
                                        },
                                    },
                                ],
                                r_curly_token: R_CURLY@51..52 "}" [] [],
                            },
                        },
                    },
                ],
            },
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@52..53 "" [Newline("\n")] [],
}

0: JS_MODULE@0..53
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..52
    0: JS_VARIABLE_STATEMENT@0..52
      0: JS_VARIABLE_DECLARATION@0..52
        0: (empty)
        1: LET_KW@0..4 "let" [] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@4..52
          0: JS_VARIABLE_DECLARATOR@4..52
            0: JS_IDENTIFIER_BINDING@4..6
              0: IDENT@4..6 "a" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@6..52
              0: EQ@6..8 "=" [] [Whitespace(" ")]
              1: JS_OBJECT_EXPRESSION@8..52
                0: L_CURLY@8..9 "{" [] []
                1: JS_OBJECT_MEMBER_LIST@9..51
                  0: JS_PROPERTY_OBJECT_MEMBER@9..19
                    0: JS_LITERAL_MEMBER_NAME@9..14
                      0: JS_STRING_LITERAL@9..14 "\"foo\"" [] []
                    1: COLON@14..16 ":" [] [Whitespace(" ")]
                    2: JS_IDENTIFIER_EXPRESSION@16..19
                      0: JS_REFERENCE_IDENTIFIER@16..19
                        0: IDENT@16..19 "foo" [] []
                  1: COMMA@19..21 "," [] [Whitespace(" ")]
                  2: JS_PROPERTY_OBJECT_MEMBER@21..33
                    0: JS_COMPUTED_MEMBER_NAME@21..28
                      0: L_BRACK@21..22 "[" [] []
                      1: JS_BINARY_EXPRESSION@22..27
                        0: JS_NUMBER_LITERAL_EXPRESSION@22..24
                          0: JS_NUMBER_LITERAL@22..24 "6" [] [Whitespace(" ")]
                        1: PLUS@24..26 "+" [] [Whitespace(" ")]
                        2: JS_NUMBER_LITERAL_EXPRESSION@26..27
                          0: JS_NUMBER_LITERAL@26..27 "6" [] []
                      2: R_BRACK@27..28 "]" [] []
                    1: COLON@28..30 ":" [] [Whitespace(" ")]
                    2: JS_IDENTIFIER_EXPRESSION@30..33
                      0: JS_REFERENCE_IDENTIFIER@30..33
                        0: IDENT@30..33 "foo" [] []
                  3: COMMA@33..35 "," [] [Whitespace(" ")]
                  4: JS_PROPERTY_OBJECT_MEMBER@35..43
                    0: JS_LITERAL_MEMBER_NAME@35..38
                      0: IDENT@35..38 "bar" [] []
                    1: COLON@38..40 ":" [] [Whitespace(" ")]
                    2: JS_IDENTIFIER_EXPRESSION@40..43
                      0: JS_REFERENCE_IDENTIFIER@40..43
                        0: IDENT@40..43 "foo" [] []
                  5: COMMA@43..45 "," [] [Whitespace(" ")]
                  6: JS_PROPERTY_OBJECT_MEMBER@45..51
                    0: JS_LITERAL_MEMBER_NAME@45..46
                      0: JS_NUMBER_LITERAL@45..46 "7" [] []
                    1: COLON@46..48 ":" [] [Whitespace(" ")]
                    2: JS_IDENTIFIER_EXPRESSION@48..51
                      0: JS_REFERENCE_IDENTIFIER@48..51
                        0: IDENT@48..51 "foo" [] []
                2: R_CURLY@51..52 "}" [] []
      1: (empty)
  4: EOF@52..53 "" [Newline("\n")] []