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: JsParenthesizedExpression {
                l_paren_token: L_PAREN@0..1 "(" [] [],
                expression: JsArrayExpression {
                    l_brack_token: L_BRACK@1..2 "[" [] [],
                    elements: JsArrayElementList [
                        JsBogusExpression {
                            items: [
                                EQ@2..3 "=" [] [],
                            ],
                        },
                        missing separator,
                        JsArrayExpression {
                            l_brack_token: L_BRACK@3..4 "[" [] [],
                            elements: JsArrayElementList [
                                JsParenthesizedExpression {
                                    l_paren_token: L_PAREN@4..5 "(" [] [],
                                    expression: JsAssignmentExpression {
                                        left: JsComputedMemberAssignment {
                                            object: JsIdentifierExpression {
                                                name: JsReferenceIdentifier {
                                                    value_token: IDENT@5..6 "p" [] [],
                                                },
                                            },
                                            l_brack_token: L_BRACK@6..7 "[" [] [],
                                            member: missing (required),
                                            r_brack_token: missing (required),
                                        },
                                        operator_token: EQ@7..8 "=" [] [],
                                        right: JsBinaryExpression {
                                            left: JsArrayExpression {
                                                l_brack_token: L_BRACK@8..9 "[" [] [],
                                                elements: JsArrayElementList [
                                                    JsParenthesizedExpression {
                                                        l_paren_token: L_PAREN@9..10 "(" [] [],
                                                        expression: JsBinaryExpression {
                                                            left: JsIdentifierExpression {
                                                                name: JsReferenceIdentifier {
                                                                    value_token: IDENT@10..11 "p" [] [],
                                                                },
                                                            },
                                                            operator_token: PERCENT@11..12 "%" [] [],
                                                            right: missing (required),
                                                        },
                                                        r_paren_token: missing (required),
                                                    },
                                                ],
                                                r_brack_token: R_BRACK@12..13 "]" [] [],
                                            },
                                            operator_token: R_ANGLE@13..14 ">" [] [],
                                            right: JsParenthesizedExpression {
                                                l_paren_token: L_PAREN@14..15 "(" [] [],
                                                expression: JsArrayExpression {
                                                    l_brack_token: L_BRACK@15..16 "[" [] [],
                                                    elements: JsArrayElementList [
                                                        JsBogusExpression {
                                                            items: [
                                                                EQ@16..17 "=" [] [],
                                                            ],
                                                        },
                                                        missing separator,
                                                        JsArrayExpression {
                                                            l_brack_token: L_BRACK@17..18 "[" [] [],
                                                            elements: JsArrayElementList [
                                                                JsParenthesizedExpression {
                                                                    l_paren_token: L_PAREN@18..19 "(" [] [],
                                                                    expression: JsAssignmentExpression {
                                                                        left: JsComputedMemberAssignment {
                                                                            object: JsIdentifierExpression {
                                                                                name: JsReferenceIdentifier {
                                                                                    value_token: IDENT@19..20 "p" [] [],
                                                                                },
                                                                            },
                                                                            l_brack_token: L_BRACK@20..21 "[" [] [],
                                                                            member: missing (required),
                                                                            r_brack_token: missing (required),
                                                                        },
                                                                        operator_token: EQ@21..22 "=" [] [],
                                                                        right: JsArrayExpression {
                                                                            l_brack_token: L_BRACK@22..23 "[" [] [],
                                                                            elements: JsArrayElementList [
                                                                                JsParenthesizedExpression {
                                                                                    l_paren_token: L_PAREN@23..24 "(" [] [],
                                                                                    expression: missing (required),
                                                                                    r_paren_token: missing (required),
                                                                                },
                                                                            ],
                                                                            r_brack_token: missing (required),
                                                                        },
                                                                    },
                                                                    r_paren_token: missing (required),
                                                                },
                                                            ],
                                                            r_brack_token: missing (required),
                                                        },
                                                    ],
                                                    r_brack_token: missing (required),
                                                },
                                                r_paren_token: missing (required),
                                            },
                                        },
                                    },
                                    r_paren_token: missing (required),
                                },
                            ],
                            r_brack_token: missing (required),
                        },
                    ],
                    r_brack_token: missing (required),
                },
                r_paren_token: missing (required),
            },
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@24..25 "" [Newline("\n")] [],
}

0: JS_MODULE@0..25
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..24
    0: JS_EXPRESSION_STATEMENT@0..24
      0: JS_PARENTHESIZED_EXPRESSION@0..24
        0: L_PAREN@0..1 "(" [] []
        1: JS_ARRAY_EXPRESSION@1..24
          0: L_BRACK@1..2 "[" [] []
          1: JS_ARRAY_ELEMENT_LIST@2..24
            0: JS_BOGUS_EXPRESSION@2..3
              0: EQ@2..3 "=" [] []
            1: (empty)
            2: JS_ARRAY_EXPRESSION@3..24
              0: L_BRACK@3..4 "[" [] []
              1: JS_ARRAY_ELEMENT_LIST@4..24
                0: JS_PARENTHESIZED_EXPRESSION@4..24
                  0: L_PAREN@4..5 "(" [] []
                  1: JS_ASSIGNMENT_EXPRESSION@5..24
                    0: JS_COMPUTED_MEMBER_ASSIGNMENT@5..7
                      0: JS_IDENTIFIER_EXPRESSION@5..6
                        0: JS_REFERENCE_IDENTIFIER@5..6
                          0: IDENT@5..6 "p" [] []
                      1: L_BRACK@6..7 "[" [] []
                      2: (empty)
                      3: (empty)
                    1: EQ@7..8 "=" [] []
                    2: JS_BINARY_EXPRESSION@8..24
                      0: JS_ARRAY_EXPRESSION@8..13
                        0: L_BRACK@8..9 "[" [] []
                        1: JS_ARRAY_ELEMENT_LIST@9..12
                          0: JS_PARENTHESIZED_EXPRESSION@9..12
                            0: L_PAREN@9..10 "(" [] []
                            1: JS_BINARY_EXPRESSION@10..12
                              0: JS_IDENTIFIER_EXPRESSION@10..11
                                0: JS_REFERENCE_IDENTIFIER@10..11
                                  0: IDENT@10..11 "p" [] []
                              1: PERCENT@11..12 "%" [] []
                              2: (empty)
                            2: (empty)
                        2: R_BRACK@12..13 "]" [] []
                      1: R_ANGLE@13..14 ">" [] []
                      2: JS_PARENTHESIZED_EXPRESSION@14..24
                        0: L_PAREN@14..15 "(" [] []
                        1: JS_ARRAY_EXPRESSION@15..24
                          0: L_BRACK@15..16 "[" [] []
                          1: JS_ARRAY_ELEMENT_LIST@16..24
                            0: JS_BOGUS_EXPRESSION@16..17
                              0: EQ@16..17 "=" [] []
                            1: (empty)
                            2: JS_ARRAY_EXPRESSION@17..24
                              0: L_BRACK@17..18 "[" [] []
                              1: JS_ARRAY_ELEMENT_LIST@18..24
                                0: JS_PARENTHESIZED_EXPRESSION@18..24
                                  0: L_PAREN@18..19 "(" [] []
                                  1: JS_ASSIGNMENT_EXPRESSION@19..24
                                    0: JS_COMPUTED_MEMBER_ASSIGNMENT@19..21
                                      0: JS_IDENTIFIER_EXPRESSION@19..20
                                        0: JS_REFERENCE_IDENTIFIER@19..20
                                          0: IDENT@19..20 "p" [] []
                                      1: L_BRACK@20..21 "[" [] []
                                      2: (empty)
                                      3: (empty)
                                    1: EQ@21..22 "=" [] []
                                    2: JS_ARRAY_EXPRESSION@22..24
                                      0: L_BRACK@22..23 "[" [] []
                                      1: JS_ARRAY_ELEMENT_LIST@23..24
                                        0: JS_PARENTHESIZED_EXPRESSION@23..24
                                          0: L_PAREN@23..24 "(" [] []
                                          1: (empty)
                                          2: (empty)
                                      2: (empty)
                                  2: (empty)
                              2: (empty)
                          2: (empty)
                        2: (empty)
                  2: (empty)
              2: (empty)
          2: (empty)
        2: (empty)
      1: (empty)
  4: EOF@24..25 "" [Newline("\n")] []
--
js_invalid_assignment.js:1:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected a property, an expression, or a method but instead found '='.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │   ^
    2 │ 
  
  i Expected a property, an expression, or a method here.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │   ^
    2 │ 
  
--
js_invalid_assignment.js:1:4 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected `,` but instead found `[`
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │    ^
    2 │ 
  
  i Remove [
  
--
js_invalid_assignment.js:1:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected an expression but instead found '='.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │        ^
    2 │ 
  
  i Expected an expression here.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │        ^
    2 │ 
  
--
js_invalid_assignment.js:1:13 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected an expression but instead found ']'.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │             ^
    2 │ 
  
  i Expected an expression here.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │             ^
    2 │ 
  
--
js_invalid_assignment.js:1:17 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected a property, an expression, or a method but instead found '='.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │                 ^
    2 │ 
  
  i Expected a property, an expression, or a method here.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │                 ^
    2 │ 
  
--
js_invalid_assignment.js:1:18 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected `,` but instead found `[`
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │                  ^
    2 │ 
  
  i Remove [
  
--
js_invalid_assignment.js:1:22 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected an expression but instead found '='.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │                      ^
    2 │ 
  
  i Expected an expression here.
  
  > 1 │ ([=[(p[=[(p%]>([=[(p[=[(
      │                      ^
    2 │ 
  
--
js_invalid_assignment.js:2:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected `)` but instead the file ends
  
    1 │ ([=[(p[=[(p%]>([=[(p[=[(
  > 2 │ 
      │ 
  
  i the file ends here
  
    1 │ ([=[(p[=[(p%]>([=[(p[=[(
  > 2 │ 
      │ 
  
--
([=[(p[=[(p%]>([=[(p[=[(