Js_parser.Flow_ast_utilslet fold_bindings_of_pattern:
('a => Flow_ast.Identifier.t('m, 't) => 'a) =>
'a =>
Flow_ast.Pattern.t('m, 't) =>
'a;let fold_bindings_of_variable_declarations:
(bool => 'a => Flow_ast.Identifier.t('m, 't) => 'a) =>
'a =>
list(Flow_ast.Statement.VariableDeclaration.Declarator.t('m, 't)) =>
'a;let pattern_has_binding: Flow_ast.Pattern.t('m, 't) => bool;let match_pattern_has_binding: Flow_ast.MatchPattern.t('m, 't) => bool;let string_of_variable_kind: Flow_ast.Variable.kind => string;let partition_directives:
list(Flow_ast.Statement.t(Loc.t, Loc.t)) =>
(list(Flow_ast.Statement.t(Loc.t, Loc.t)), list(Flow_ast.Statement.t
(Loc.t,
Loc.t)));let hoist_function_and_component_declarations:
list(Flow_ast.Statement.t('a, 'b)) =>
list(Flow_ast.Statement.t('a, 'b));let is_call_to_invariant: Flow_ast.Expression.t('a, 'b) => bool;let is_call_to_require: Flow_ast.Expression.t('a, 'b) => bool;let is_call_to_is_array: Flow_ast.Expression.t('a, 'b) => bool;let is_call_to_object_dot_freeze: Flow_ast.Expression.t('a, 'b) => bool;let get_call_to_object_dot_freeze_arg:
Flow_ast.Expression.t('a, 'b) =>
option(Flow_ast.Expression.CallTypeArgs.t('a, 'b)) =>
Flow_ast.Expression.ArgList.t('a, 'b) =>
option(('b, Flow_ast.Expression.Object.t('a, 'b)));let is_call_to_object_static_method: Flow_ast.Expression.t('a, 'b) => bool;let is_module_dot_exports: Flow_ast.Expression.t('a, 'b) => bool;let get_call_to_jest_module_mocking_fn:
Flow_ast.Expression.t('loc, 'annot) =>
Flow_ast.Expression.ArgList.t('loc, 'annot) =>
option(('annot, 'annot, string));let is_super_member_access: Flow_ast.Expression.Member.t('a, 'b) => bool;let acceptable_statement_in_declaration_context:
in_declare_namespace:bool =>
Flow_ast.Statement.t'('a, 'b) =>
result(unit, string);let is_type_only_declaration_statement: Flow_ast.Statement.t('a, 'b) => bool;let is_number_literal: Flow_ast.Expression.t'('a, 'b) => bool;let extract_number_literal:
Flow_ast.Expression.t'('a, 'b) =>
option((float, string));let is_bigint_literal: Flow_ast.Expression.t'('a, 'b) => bool;let extract_bigint_literal:
Flow_ast.Expression.t'('a, 'b) =>
option((option(int64), string));let loc_of_expression: Flow_ast.Expression.t('a, 'a) => 'a;let loc_of_statement: Flow_ast.Statement.t('a, 'a) => 'a;let loc_of_pattern: Flow_ast.Pattern.t('a, 'a) => 'a;let loc_of_ident: Flow_ast.Identifier.t('a, 'a) => 'a;let name_of_ident: Flow_ast.Identifier.t('loc, 'a) => string;let source_of_ident: Flow_ast.Identifier.t('a, 'a) => source('a);let ident_of_source:
?comments:Flow_ast.Syntax.t('a, unit) =>
source('a) =>
Flow_ast.Identifier.t('a, 'a);let mk_comments:
?leading:list(Flow_ast.Comment.t('loc)) =>
?trailing:list(Flow_ast.Comment.t('loc)) =>
'a =>
Flow_ast.Syntax.t('loc, 'a);let mk_comments_opt:
?leading:list(Flow_ast.Comment.t('loc)) =>
?trailing:list(Flow_ast.Comment.t('loc)) =>
unit =>
option(Flow_ast.Syntax.t('loc, unit));let mk_comments_with_internal_opt:
?leading:list(Flow_ast.Comment.t('loc)) =>
?trailing:list(Flow_ast.Comment.t('loc)) =>
internal:list(Flow_ast.Comment.t('loc)) =>
unit =>
option(Flow_ast.Syntax.t('loc, list(Flow_ast.Comment.t('loc))));let merge_comments:
inner:option(Flow_ast.Syntax.t('M, unit)) =>
outer:option(Flow_ast.Syntax.t('M, unit)) =>
option(Flow_ast.Syntax.t('M, unit));let merge_comments_with_internal:
inner:option(Flow_ast.Syntax.t('M, list(Flow_ast.Comment.t('loc)))) =>
outer:option(Flow_ast.Syntax.t('M, 'a)) =>
option(Flow_ast.Syntax.t('M, list(Flow_ast.Comment.t('loc))));let split_comments:
option(Flow_ast.Syntax.t('loc, unit)) =>
(option(Flow_ast.Syntax.t('loc, unit)), option(Flow_ast.Syntax.t('loc, unit)));module ExpressionSort: { ... };let string_of_assignment_operator:
Flow_ast.Expression.Assignment.operator =>
string;let string_of_binary_operator: Flow_ast.Expression.Binary.operator => string;let loc_of_annotation_or_hint:
Flow_ast.Type.annotation_or_hint('loc, 'loc) =>
'loc;let loc_of_return_annot: Flow_ast.Function.ReturnAnnot.t('loc, 'loc) => 'loc;let push_toplevel_type:
't =>
Flow_ast.Expression.t('loc, ('loc, 't)) =>
Flow_ast.Expression.t('loc, ('loc, 't));let hook_function: Flow_ast.Function.t('a, 'b) => option('b);let hook_call: Flow_ast.Expression.Call.t('a, 'b) => bool;let match_root_ident: 'loc => Flow_ast.Identifier.t('loc, 'loc);let expression_of_match_member_pattern:
visit_expression:(Flow_ast.Expression.t('loc, 'loc) => unit) =>
Flow_ast.MatchPattern.MemberPattern.t('loc, 'loc) =>
(Flow_ast.Expression.t('loc, 'loc), Flow_ast.Identifier.t('loc, 'loc));let get_inferred_type_guard_candidate:
Flow_ast.Function.Params.t('l, 't) =>
Flow_ast.Function.body('l, 't) =>
Flow_ast.Function.ReturnAnnot.t('l, 't) =>
option(('t, string));let unwrap_nonnull_lhs_expr:
'loc 'tloc. Flow_ast.Expression.t('loc, 'loc) =>
(Flow_ast.Expression.t('loc, 'loc), bool, (Flow_ast.Expression.t('loc, 'tloc) =>
filter_nullish:('loc => 'tloc) =>
Flow_ast.Expression.t('loc, 'tloc)));let unwrap_nonnull_lhs:
'loc 'tloc. Flow_ast.Pattern.t('loc, 'tloc) =>
(Flow_ast.Pattern.t('loc, 'tloc), bool);