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: JsImportCallExpression {
                import_token: IMPORT_KW@0..6 "import" [] [],
                arguments: JsCallArguments {
                    l_paren_token: L_PAREN@6..7 "(" [] [],
                    args: JsCallArgumentList [
                        JsStringLiteralExpression {
                            value_token: JS_STRING_LITERAL@7..12 "\"foo\"" [] [],
                        },
                    ],
                    r_paren_token: R_PAREN@12..13 ")" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsImportCallExpression {
                import_token: IMPORT_KW@13..20 "import" [Newline("\n")] [],
                arguments: JsCallArguments {
                    l_paren_token: L_PAREN@20..21 "(" [] [],
                    args: JsCallArgumentList [
                        JsStringLiteralExpression {
                            value_token: JS_STRING_LITERAL@21..26 "\"foo\"" [] [],
                        },
                        COMMA@26..28 "," [] [Whitespace(" ")],
                        JsObjectExpression {
                            l_curly_token: L_CURLY@28..30 "{" [] [Whitespace(" ")],
                            members: JsObjectMemberList [
                                JsPropertyObjectMember {
                                    name: JsLiteralMemberName {
                                        value: IDENT@30..36 "assert" [] [],
                                    },
                                    colon_token: COLON@36..38 ":" [] [Whitespace(" ")],
                                    value: JsObjectExpression {
                                        l_curly_token: L_CURLY@38..40 "{" [] [Whitespace(" ")],
                                        members: JsObjectMemberList [
                                            JsPropertyObjectMember {
                                                name: JsLiteralMemberName {
                                                    value: IDENT@40..44 "type" [] [],
                                                },
                                                colon_token: COLON@44..46 ":" [] [Whitespace(" ")],
                                                value: JsStringLiteralExpression {
                                                    value_token: JS_STRING_LITERAL@46..53 "'json'" [] [Whitespace(" ")],
                                                },
                                            },
                                        ],
                                        r_curly_token: R_CURLY@53..55 "}" [] [Whitespace(" ")],
                                    },
                                },
                            ],
                            r_curly_token: R_CURLY@55..56 "}" [] [],
                        },
                    ],
                    r_paren_token: R_PAREN@56..57 ")" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@57..58 "" [Newline("\n")] [],
}

0: JS_MODULE@0..58
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..57
    0: JS_EXPRESSION_STATEMENT@0..13
      0: JS_IMPORT_CALL_EXPRESSION@0..13
        0: IMPORT_KW@0..6 "import" [] []
        1: JS_CALL_ARGUMENTS@6..13
          0: L_PAREN@6..7 "(" [] []
          1: JS_CALL_ARGUMENT_LIST@7..12
            0: JS_STRING_LITERAL_EXPRESSION@7..12
              0: JS_STRING_LITERAL@7..12 "\"foo\"" [] []
          2: R_PAREN@12..13 ")" [] []
      1: (empty)
    1: JS_EXPRESSION_STATEMENT@13..57
      0: JS_IMPORT_CALL_EXPRESSION@13..57
        0: IMPORT_KW@13..20 "import" [Newline("\n")] []
        1: JS_CALL_ARGUMENTS@20..57
          0: L_PAREN@20..21 "(" [] []
          1: JS_CALL_ARGUMENT_LIST@21..56
            0: JS_STRING_LITERAL_EXPRESSION@21..26
              0: JS_STRING_LITERAL@21..26 "\"foo\"" [] []
            1: COMMA@26..28 "," [] [Whitespace(" ")]
            2: JS_OBJECT_EXPRESSION@28..56
              0: L_CURLY@28..30 "{" [] [Whitespace(" ")]
              1: JS_OBJECT_MEMBER_LIST@30..55
                0: JS_PROPERTY_OBJECT_MEMBER@30..55
                  0: JS_LITERAL_MEMBER_NAME@30..36
                    0: IDENT@30..36 "assert" [] []
                  1: COLON@36..38 ":" [] [Whitespace(" ")]
                  2: JS_OBJECT_EXPRESSION@38..55
                    0: L_CURLY@38..40 "{" [] [Whitespace(" ")]
                    1: JS_OBJECT_MEMBER_LIST@40..53
                      0: JS_PROPERTY_OBJECT_MEMBER@40..53
                        0: JS_LITERAL_MEMBER_NAME@40..44
                          0: IDENT@40..44 "type" [] []
                        1: COLON@44..46 ":" [] [Whitespace(" ")]
                        2: JS_STRING_LITERAL_EXPRESSION@46..53
                          0: JS_STRING_LITERAL@46..53 "'json'" [] [Whitespace(" ")]
                    2: R_CURLY@53..55 "}" [] [Whitespace(" ")]
              2: R_CURLY@55..56 "}" [] []
          2: R_PAREN@56..57 ")" [] []
      1: (empty)
  4: EOF@57..58 "" [Newline("\n")] []