Module Js_parser.Parser_flow

module Sedlexing = Flow_sedlexing
module Ast = Flow_ast
val filter_duplicate_errors : (Loc.t * Parse_error.t) list -> (Loc.t * Parse_error.t) list
val check_for_duplicate_exports : Parser_env.env -> (Loc.t * (Loc.t, Loc.t) Ast.Statement.t') list -> unit
val do_parse : Parser_env.env -> (Parser_env.env -> 'a) -> bool -> 'a * (Loc.t * Parse_error.t) list
val parse_program : bool -> ?token_sink:(Parser_env.token_sink_result -> unit) option -> ?parse_options:Parser_env.parse_options option -> File_key.t option -> string -> (Loc.t, Loc.t) Flow_ast.Program.t * (Loc.t * Parse_error.t) list
val program : ?fail:bool -> ?token_sink:(Parser_env.token_sink_result -> unit) option -> ?parse_options:Parser_env.parse_options option -> string -> (Loc.t, Loc.t) Flow_ast.Program.t * (Loc.t * Parse_error.t) list
val program_file : ?fail:bool -> ?token_sink:(Parser_env.token_sink_result -> unit) option -> ?parse_options:Parser_env.parse_options option -> string -> File_key.t option -> (Loc.t, Loc.t) Flow_ast.Program.t * (Loc.t * Parse_error.t) list
val parse_annot : ?parse_options:Parser_env.parse_options option -> File_key.t option -> string -> (Loc.t, Loc.t) Flow_ast.Type.annotation * (Loc.t * Parse_error.t) list
val package_json_file : ?fail:bool -> ?token_sink:(Parser_env.token_sink_result -> unit) option -> ?parse_options:Parser_env.parse_options option -> string -> File_key.t option -> (Loc.t * (Loc.t, Loc.t) Flow_ast.Expression.Object.t) * (Loc.t * Parse_error.t) list
val json_file : ?fail:bool -> ?token_sink:(Parser_env.token_sink_result -> unit) option -> ?parse_options:Parser_env.parse_options option -> string -> File_key.t option -> (Loc.t, Loc.t) Flow_ast.Expression.t * (Loc.t * Parse_error.t) list
val jsx_pragma_expression : string -> File_key.t option -> (Loc.t, Loc.t) Flow_ast.Expression.t * (Loc.t * Parse_error.t) list
val string_is_valid_identifier_name : string -> bool