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: JsLogicalExpression {
                left: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@0..4 "foo" [] [Whitespace(" ")],
                    },
                },
                operator_token: QUESTION2@4..7 "??" [] [Whitespace(" ")],
                right: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@7..10 "bar" [] [],
                    },
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsLogicalExpression {
                left: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@10..13 "a" [Newline("\n")] [Whitespace(" ")],
                    },
                },
                operator_token: PIPE2@13..16 "||" [] [Whitespace(" ")],
                right: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@16..17 "b" [] [],
                    },
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsLogicalExpression {
                left: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@17..20 "a" [Newline("\n")] [Whitespace(" ")],
                    },
                },
                operator_token: AMP2@20..23 "&&" [] [Whitespace(" ")],
                right: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@23..24 "b" [] [],
                    },
                },
            },
            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..10
      0: JS_LOGICAL_EXPRESSION@0..10
        0: JS_IDENTIFIER_EXPRESSION@0..4
          0: JS_REFERENCE_IDENTIFIER@0..4
            0: IDENT@0..4 "foo" [] [Whitespace(" ")]
        1: QUESTION2@4..7 "??" [] [Whitespace(" ")]
        2: JS_IDENTIFIER_EXPRESSION@7..10
          0: JS_REFERENCE_IDENTIFIER@7..10
            0: IDENT@7..10 "bar" [] []
      1: (empty)
    1: JS_EXPRESSION_STATEMENT@10..17
      0: JS_LOGICAL_EXPRESSION@10..17
        0: JS_IDENTIFIER_EXPRESSION@10..13
          0: JS_REFERENCE_IDENTIFIER@10..13
            0: IDENT@10..13 "a" [Newline("\n")] [Whitespace(" ")]
        1: PIPE2@13..16 "||" [] [Whitespace(" ")]
        2: JS_IDENTIFIER_EXPRESSION@16..17
          0: JS_REFERENCE_IDENTIFIER@16..17
            0: IDENT@16..17 "b" [] []
      1: (empty)
    2: JS_EXPRESSION_STATEMENT@17..24
      0: JS_LOGICAL_EXPRESSION@17..24
        0: JS_IDENTIFIER_EXPRESSION@17..20
          0: JS_REFERENCE_IDENTIFIER@17..20
            0: IDENT@17..20 "a" [Newline("\n")] [Whitespace(" ")]
        1: AMP2@20..23 "&&" [] [Whitespace(" ")]
        2: JS_IDENTIFIER_EXPRESSION@23..24
          0: JS_REFERENCE_IDENTIFIER@23..24
            0: IDENT@23..24 "b" [] []
      1: (empty)
  4: EOF@24..25 "" [Newline("\n")] []