├── .devcontainer ├── Dockerfile ├── devcontainer.json └── postCreate.sh ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ └── feature_request.md └── workflows │ ├── ci.yml │ ├── moveArtifacts.sh │ ├── prepare_package_upload.js │ └── stale.yml ├── .gitignore ├── .istanbul.yml ├── .mcp.json ├── .nvmrc ├── .ocamlformat ├── .ocamlformat-ignore ├── .python-version ├── .vscode └── extensions.json ├── .yarn └── releases │ └── yarn-4.9.1.cjs ├── .yarnrc.yml ├── CHANGELOG.md ├── CLAUDE.md ├── CONTRIBUTING.md ├── COPYING ├── COPYING.LESSER ├── CREDITS.md ├── DCO.md ├── Example.res ├── LICENSE ├── Makefile ├── README.md ├── analysis.opam ├── analysis ├── README.md ├── bin │ ├── dune │ └── main.ml ├── dune ├── examples │ ├── example-project │ │ ├── .gitignore │ │ ├── bsconfig.json │ │ ├── package.json │ │ ├── src │ │ │ ├── B.re │ │ │ ├── Embeded.md │ │ │ ├── Hello.res │ │ │ ├── Json.res │ │ │ ├── ModuleWithDocComment.res │ │ │ ├── More.res │ │ │ ├── More.resi │ │ │ ├── Other.res │ │ │ ├── Serde.res │ │ │ ├── TransformHelpers.res │ │ │ ├── ZZ.res │ │ │ └── syntax │ │ │ │ ├── sample-highlighting.res │ │ │ │ ├── sample-highlighting.rs │ │ │ │ └── sample-highlighting.tsx │ │ └── types.json │ ├── larger-project │ │ ├── .gitignore │ │ ├── .merlin │ │ ├── bsconfig.json │ │ ├── package.json │ │ └── src │ │ │ ├── AutoAnnotate.js │ │ │ ├── AutoAnnotate.res │ │ │ ├── BootloaderResource.js │ │ │ ├── BootloaderResource.res │ │ │ ├── BucklescriptAnnotations.js │ │ │ ├── BucklescriptAnnotations.res │ │ │ ├── ComponentAsProp.js │ │ │ ├── ComponentAsProp.res │ │ │ ├── CreateErrorHandler1.js │ │ │ ├── CreateErrorHandler1.res │ │ │ ├── CreateErrorHandler2.js │ │ │ ├── CreateErrorHandler2.res │ │ │ ├── DeadCodeImplementation.js │ │ │ ├── DeadCodeImplementation.res │ │ │ ├── DeadCodeInterface.js │ │ │ ├── DeadCodeInterface.res │ │ │ ├── DeadExn.js │ │ │ ├── DeadExn.res │ │ │ ├── DeadExn.resi │ │ │ ├── DeadRT.js │ │ │ ├── DeadRT.res │ │ │ ├── DeadRT.resi │ │ │ ├── DeadTest.js │ │ │ ├── DeadTest.res │ │ │ ├── DeadTestBlacklist.js │ │ │ ├── DeadTestBlacklist.res │ │ │ ├── DeadTestWithInterface.js │ │ │ ├── DeadTestWithInterface.res │ │ │ ├── DeadTestWithInterface.resi │ │ │ ├── DeadTypeTest.js │ │ │ ├── DeadTypeTest.res │ │ │ ├── DeadTypeTest.resi │ │ │ ├── DeadValueTest.js │ │ │ ├── DeadValueTest.res │ │ │ ├── DeadValueTest.resi │ │ │ ├── Docstrings.js │ │ │ ├── Docstrings.res │ │ │ ├── DynamicallyLoadedComponent.js │ │ │ ├── DynamicallyLoadedComponent.res │ │ │ ├── EmptyArray.js │ │ │ ├── EmptyArray.res │ │ │ ├── ErrorHandler.js │ │ │ ├── ErrorHandler.res │ │ │ ├── ErrorHandler.resi │ │ │ ├── EverythingLiveHere.js │ │ │ ├── EverythingLiveHere.res │ │ │ ├── FC.js │ │ │ ├── FC.res │ │ │ ├── FirstClassModules.js │ │ │ ├── FirstClassModules.res │ │ │ ├── FirstClassModulesInterface.js │ │ │ ├── FirstClassModulesInterface.res │ │ │ ├── FirstClassModulesInterface.resi │ │ │ ├── Hooks.js │ │ │ ├── Hooks.res │ │ │ ├── IgnoreInterface.js │ │ │ ├── IgnoreInterface.res │ │ │ ├── IgnoreInterface.resi │ │ │ ├── ImmutableArray.js │ │ │ ├── ImmutableArray.res │ │ │ ├── ImmutableArray.resi │ │ │ ├── ImportHookDefault.js │ │ │ ├── ImportHookDefault.res │ │ │ ├── ImportHooks.js │ │ │ ├── ImportHooks.res │ │ │ ├── ImportIndex.js │ │ │ ├── ImportIndex.res │ │ │ ├── ImportJsValue.js │ │ │ ├── ImportJsValue.res │ │ │ ├── ImportMyBanner.js │ │ │ ├── ImportMyBanner.res │ │ │ ├── JSResource.js │ │ │ ├── JSResource.res │ │ │ ├── LetPrivate.js │ │ │ ├── LetPrivate.res │ │ │ ├── ModuleAliases.js │ │ │ ├── ModuleAliases.res │ │ │ ├── ModuleAliases2.js │ │ │ ├── ModuleAliases2.res │ │ │ ├── ModuleExceptionBug.js │ │ │ ├── ModuleExceptionBug.res │ │ │ ├── NestedModules.js │ │ │ ├── NestedModules.res │ │ │ ├── NestedModulesInSignature.js │ │ │ ├── NestedModulesInSignature.res │ │ │ ├── NestedModulesInSignature.resi │ │ │ ├── Newsyntax.js │ │ │ ├── Newsyntax.res │ │ │ ├── Newton.js │ │ │ ├── Newton.res │ │ │ ├── Opaque.js │ │ │ ├── Opaque.res │ │ │ ├── OptArg.js │ │ │ ├── OptArg.res │ │ │ ├── OptArg.resi │ │ │ ├── P.js │ │ │ ├── P.res │ │ │ ├── Records.js │ │ │ ├── Records.res │ │ │ ├── References.js │ │ │ ├── References.res │ │ │ ├── RepeatedLabel.js │ │ │ ├── RepeatedLabel.res │ │ │ ├── RequireCond.js │ │ │ ├── RequireCond.res │ │ │ ├── Shadow.js │ │ │ ├── Shadow.res │ │ │ ├── TestDeadExn.js │ │ │ ├── TestDeadExn.res │ │ │ ├── TestEmitInnerModules.js │ │ │ ├── TestEmitInnerModules.res │ │ │ ├── TestFirstClassModules.js │ │ │ ├── TestFirstClassModules.res │ │ │ ├── TestImmutableArray.js │ │ │ ├── TestImmutableArray.res │ │ │ ├── TestImport.js │ │ │ ├── TestImport.res │ │ │ ├── TestModuleAliases.js │ │ │ ├── TestModuleAliases.res │ │ │ ├── TestOptArg.js │ │ │ ├── TestOptArg.res │ │ │ ├── TestPromise.js │ │ │ ├── TestPromise.res │ │ │ ├── ToSuppress.js │ │ │ ├── ToSuppress.res │ │ │ ├── TransitiveType1.js │ │ │ ├── TransitiveType1.res │ │ │ ├── TransitiveType2.js │ │ │ ├── TransitiveType2.res │ │ │ ├── TransitiveType3.js │ │ │ ├── TransitiveType3.res │ │ │ ├── Tuples.js │ │ │ ├── Tuples.res │ │ │ ├── TypeParams1.js │ │ │ ├── TypeParams1.res │ │ │ ├── TypeParams2.js │ │ │ ├── TypeParams2.res │ │ │ ├── TypeParams3.js │ │ │ ├── TypeParams3.res │ │ │ ├── Types.js │ │ │ ├── Types.res │ │ │ ├── Unboxed.js │ │ │ ├── Unboxed.res │ │ │ ├── Uncurried.js │ │ │ ├── Uncurried.res │ │ │ ├── Unison.js │ │ │ ├── Unison.res │ │ │ ├── UseImportJsValue.js │ │ │ ├── UseImportJsValue.res │ │ │ ├── Variants.js │ │ │ ├── Variants.res │ │ │ ├── VariantsWithPayload.js │ │ │ ├── VariantsWithPayload.res │ │ │ ├── arg_helper.js │ │ │ ├── arg_helper.res │ │ │ ├── ast_helper.js │ │ │ ├── ast_helper.res │ │ │ ├── asttypes.js │ │ │ ├── asttypes.res │ │ │ ├── clflags.js │ │ │ ├── clflags.res │ │ │ ├── config.js │ │ │ ├── config.res │ │ │ ├── exception │ │ │ ├── Arr.js │ │ │ ├── Arr.res │ │ │ ├── BeltTest.js │ │ │ ├── BeltTest.res │ │ │ ├── BsJson.js │ │ │ ├── BsJson.res │ │ │ ├── Exn.js │ │ │ ├── Exn.res │ │ │ ├── ExnA.js │ │ │ ├── ExnA.res │ │ │ ├── ExnB.js │ │ │ ├── ExnB.res │ │ │ ├── ExportWithRename.js │ │ │ ├── ExportWithRename.res │ │ │ ├── InnerModules.js │ │ │ ├── InnerModules.res │ │ │ ├── TestInnerModules.js │ │ │ ├── TestInnerModules.res │ │ │ ├── TestYojson.js │ │ │ ├── TestYojson.res │ │ │ ├── Yojson.js │ │ │ └── Yojson.res │ │ │ ├── format.js │ │ │ ├── format.res │ │ │ ├── identifiable.js │ │ │ ├── location.js │ │ │ ├── location.res │ │ │ ├── longident.js │ │ │ ├── longident.res │ │ │ ├── loop.js │ │ │ ├── loop.res │ │ │ ├── misc.js │ │ │ ├── misc.res │ │ │ ├── nativeint.js │ │ │ ├── nativeint.res │ │ │ ├── numbers.js │ │ │ ├── numbers.res │ │ │ ├── parsetree.js │ │ │ ├── parsetree.res │ │ │ ├── printf.js │ │ │ ├── printf.res │ │ │ ├── res_comment.js │ │ │ ├── res_comment.res │ │ │ ├── res_comments_table.js │ │ │ ├── res_comments_table.res │ │ │ ├── res_core.js │ │ │ ├── res_core.res │ │ │ ├── res_diagnostics.js │ │ │ ├── res_diagnostics.res │ │ │ ├── res_diagnostics_printing_utils.js │ │ │ ├── res_diagnostics_printing_utils.res │ │ │ ├── res_doc.js │ │ │ ├── res_doc.res │ │ │ ├── res_grammar.js │ │ │ ├── res_grammar.res │ │ │ ├── res_js_ffi.js │ │ │ ├── res_js_ffi.res │ │ │ ├── res_minibuffer.js │ │ │ ├── res_minibuffer.res │ │ │ ├── res_parens.js │ │ │ ├── res_parens.res │ │ │ ├── res_parser.js │ │ │ ├── res_parser.res │ │ │ ├── res_parsetree_viewer.js │ │ │ ├── res_parsetree_viewer.res │ │ │ ├── res_printer.js │ │ │ ├── res_printer.res │ │ │ ├── res_reporting.js │ │ │ ├── res_reporting.res │ │ │ ├── res_scanner.js │ │ │ ├── res_scanner.res │ │ │ ├── res_token.js │ │ │ ├── res_token.res │ │ │ ├── res_utf8.js │ │ │ ├── res_utf8.res │ │ │ ├── syntaxerr.js │ │ │ ├── syntaxerr.res │ │ │ ├── warnings.js │ │ │ └── warnings.res │ └── workspace-project │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app │ │ ├── bsconfig.json │ │ ├── package.json │ │ └── src │ │ │ └── App.res │ │ ├── bsconfig.json │ │ ├── common │ │ ├── bsconfig.json │ │ ├── package.json │ │ └── src │ │ │ ├── Utils.mjs │ │ │ └── Utils.res │ │ ├── myplugin │ │ ├── bsconfig.json │ │ ├── package.json │ │ └── src │ │ │ ├── Promise.mjs │ │ │ └── Promise.res │ │ └── package.json ├── reanalyze │ ├── dune │ └── src │ │ ├── Annotation.ml │ │ ├── Arnold.ml │ │ ├── Common.ml │ │ ├── DeadCode.ml │ │ ├── DeadCommon.ml │ │ ├── DeadException.ml │ │ ├── DeadModules.ml │ │ ├── DeadOptionalArgs.ml │ │ ├── DeadType.ml │ │ ├── DeadValue.ml │ │ ├── EmitJson.ml │ │ ├── Exception.ml │ │ ├── Exceptions.ml │ │ ├── Exn.ml │ │ ├── Exn.mli │ │ ├── ExnLib.ml │ │ ├── FindSourceFile.ml │ │ ├── Issues.ml │ │ ├── Log_.ml │ │ ├── ModulePath.ml │ │ ├── Name.ml │ │ ├── Name.mli │ │ ├── Paths.ml │ │ ├── Reanalyze.ml │ │ ├── RunConfig.ml │ │ ├── SideEffects.ml │ │ ├── Suppress.ml │ │ ├── Version.ml │ │ ├── WriteDeadAnnotations.ml │ │ └── dune ├── src │ ├── BuildSystem.ml │ ├── Cache.ml │ ├── Cfg.ml │ ├── Cmt.ml │ ├── CmtViewer.ml │ ├── CodeActions.ml │ ├── Codemod.ml │ ├── Commands.ml │ ├── CompletionBackEnd.ml │ ├── CompletionDecorators.ml │ ├── CompletionExpressions.ml │ ├── CompletionFrontEnd.ml │ ├── CompletionJsx.ml │ ├── CompletionPatterns.ml │ ├── Completions.ml │ ├── CreateInterface.ml │ ├── DceCommand.ml │ ├── Debug.ml │ ├── Diagnostics.ml │ ├── DocumentSymbol.ml │ ├── DotCompletionUtils.ml │ ├── DumpAst.ml │ ├── Files.ml │ ├── FindFiles.ml │ ├── Hint.ml │ ├── Hover.ml │ ├── JsxHacks.ml │ ├── Loc.ml │ ├── LocalTables.ml │ ├── Log.ml │ ├── Markdown.ml │ ├── ModuleResolution.ml │ ├── Packages.ml │ ├── PipeCompletionUtils.ml │ ├── Pos.ml │ ├── PrintType.ml │ ├── ProcessAttributes.ml │ ├── ProcessCmt.ml │ ├── ProcessExtra.ml │ ├── Protocol.ml │ ├── Range.ml │ ├── References.ml │ ├── ResolvePath.ml │ ├── Scope.ml │ ├── SemanticTokens.ml │ ├── Shared.ml │ ├── SharedTypes.ml │ ├── SignatureHelp.ml │ ├── TypeUtils.ml │ ├── Uri.ml │ ├── Uri.mli │ ├── Utils.ml │ ├── Xform.ml │ └── dune └── vendor │ ├── .ocamlformat │ ├── dune │ └── json │ ├── Json.ml │ └── dune ├── biome.json ├── cli ├── bsc.js ├── bstracing.js ├── common │ ├── args.js │ ├── bins.js │ └── bsb.js ├── rescript-legacy.js ├── rescript-legacy │ ├── dump.js │ └── format.js ├── rescript-tools.js └── rescript.js ├── compiler ├── bsb │ ├── bsb.md │ ├── bsb_arg.ml │ ├── bsb_arg.mli │ ├── bsb_build_schemas.ml │ ├── bsb_build_util.ml │ ├── bsb_build_util.mli │ ├── bsb_clean.ml │ ├── bsb_clean.mli │ ├── bsb_config.ml │ ├── bsb_config.mli │ ├── bsb_config_load.ml │ ├── bsb_config_load.mli │ ├── bsb_config_parse.ml │ ├── bsb_config_parse.mli │ ├── bsb_config_types.ml │ ├── bsb_db_encode.ml │ ├── bsb_db_encode.mli │ ├── bsb_db_util.ml │ ├── bsb_db_util.mli │ ├── bsb_exception.ml │ ├── bsb_exception.mli │ ├── bsb_file_groups.ml │ ├── bsb_file_groups.mli │ ├── bsb_global_paths.ml │ ├── bsb_global_paths.mli │ ├── bsb_jsx.ml │ ├── bsb_log.ml │ ├── bsb_log.mli │ ├── bsb_namespace_map_gen.ml │ ├── bsb_namespace_map_gen.mli │ ├── bsb_ninja_check.ml │ ├── bsb_ninja_check.mli │ ├── bsb_ninja_file_groups.ml │ ├── bsb_ninja_file_groups.mli │ ├── bsb_ninja_gen.ml │ ├── bsb_ninja_gen.mli │ ├── bsb_ninja_global_vars.ml │ ├── bsb_ninja_regen.ml │ ├── bsb_ninja_regen.mli │ ├── bsb_ninja_rule.ml │ ├── bsb_ninja_rule.mli │ ├── bsb_ninja_targets.ml │ ├── bsb_ninja_targets.mli │ ├── bsb_package_kind.ml │ ├── bsb_package_specs.ml │ ├── bsb_package_specs.mli │ ├── bsb_parse_sources.ml │ ├── bsb_parse_sources.mli │ ├── bsb_pkg.ml │ ├── bsb_pkg.mli │ ├── bsb_pkg_types.ml │ ├── bsb_pkg_types.mli │ ├── bsb_real_path.ml │ ├── bsb_real_path.mli │ ├── bsb_regex.ml │ ├── bsb_regex.mli │ ├── bsb_spec_set.ml │ ├── bsb_spec_set.mli │ ├── bsb_unix.ml │ ├── bsb_unix.mli │ ├── bsb_warning.ml │ ├── bsb_warning.mli │ ├── bsb_watcher_gen.ml │ ├── bsb_watcher_gen.mli │ ├── bsb_world.ml │ ├── bsb_world.mli │ ├── data_format.md │ └── dune ├── bsb_exe │ ├── dune │ ├── rescript_main.ml │ └── rescript_main.mli ├── bsb_helper │ ├── bsb_db_decode.ml │ ├── bsb_db_decode.mli │ ├── bsb_helper_depfile_gen.ml │ ├── bsb_helper_depfile_gen.mli │ └── dune ├── bsb_helper_exe │ ├── bsb_helper_main.ml │ ├── bsb_helper_main.mli │ └── dune ├── bsc │ ├── dune │ ├── rescript_compiler_main.ml │ └── rescript_compiler_main.mli ├── common │ ├── bs_loc.ml │ ├── bs_loc.mli │ ├── bs_version.ml │ ├── bs_version.mli │ ├── bs_warnings.ml │ ├── bs_warnings.mli │ ├── dune │ ├── ext_log.ml │ ├── ext_log.mli │ ├── js_config.ml │ ├── js_config.mli │ ├── ml_binary.ml │ ├── ml_binary.mli │ ├── pattern_printer.ml │ └── pattern_printer.mli ├── core │ ├── FIXME.adoc │ ├── bs_cmi_load.ml │ ├── bs_conditional_initial.ml │ ├── bs_conditional_initial.mli │ ├── cmd_ast_exception.ml │ ├── cmd_ppx_apply.ml │ ├── config_util.ml │ ├── config_util.mli │ ├── design.md │ ├── destruct_exn.md │ ├── dune │ ├── j.ml │ ├── js_analyzer.ml │ ├── js_analyzer.mli │ ├── js_arr.ml │ ├── js_arr.mli │ ├── js_ast_util.ml │ ├── js_ast_util.mli │ ├── js_block_runtime.ml │ ├── js_block_runtime.mli │ ├── js_call_info.ml │ ├── js_call_info.mli │ ├── js_cmj_format.ml │ ├── js_cmj_format.mli │ ├── js_cmj_load.ml │ ├── js_cmj_load.mli │ ├── js_dump.ml │ ├── js_dump.mli │ ├── js_dump_import_export.ml │ ├── js_dump_import_export.mli │ ├── js_dump_lit.ml │ ├── js_dump_program.ml │ ├── js_dump_program.mli │ ├── js_dump_property.ml │ ├── js_dump_property.mli │ ├── js_dump_string.ml │ ├── js_dump_string.mli │ ├── js_exp_make.ml │ ├── js_exp_make.mli │ ├── js_fold.ml │ ├── js_fold_basic.ml │ ├── js_fold_basic.mli │ ├── js_fun_env.ml │ ├── js_fun_env.mli │ ├── js_implementation.ml │ ├── js_implementation.mli │ ├── js_name_of_module_id.ml │ ├── js_name_of_module_id.mli │ ├── js_number.ml │ ├── js_number.mli │ ├── js_of_lam_array.ml │ ├── js_of_lam_array.mli │ ├── js_of_lam_block.ml │ ├── js_of_lam_block.mli │ ├── js_of_lam_option.ml │ ├── js_of_lam_option.mli │ ├── js_of_lam_string.ml │ ├── js_of_lam_string.mli │ ├── js_of_lam_variant.ml │ ├── js_of_lam_variant.mli │ ├── js_op.ml │ ├── js_op_util.ml │ ├── js_op_util.mli │ ├── js_output.ml │ ├── js_output.mli │ ├── js_packages_info.ml │ ├── js_packages_info.mli │ ├── js_packages_state.ml │ ├── js_packages_state.mli │ ├── js_pass_debug.ml │ ├── js_pass_debug.mli │ ├── js_pass_flatten.ml │ ├── js_pass_flatten.mli │ ├── js_pass_flatten_and_mark_dead.ml │ ├── js_pass_flatten_and_mark_dead.mli │ ├── js_pass_get_used.ml │ ├── js_pass_get_used.mli │ ├── js_pass_scope.ml │ ├── js_pass_scope.mli │ ├── js_pass_tailcall_inline.ml │ ├── js_pass_tailcall_inline.mli │ ├── js_record_fold.ml │ ├── js_record_iter.ml │ ├── js_record_map.ml │ ├── js_shake.ml │ ├── js_shake.mli │ ├── js_stmt_make.ml │ ├── js_stmt_make.mli │ ├── lam.ml │ ├── lam.mli │ ├── lam_analysis.ml │ ├── lam_analysis.mli │ ├── lam_arity.ml │ ├── lam_arity.mli │ ├── lam_arity_analysis.ml │ ├── lam_arity_analysis.mli │ ├── lam_beta_reduce.ml │ ├── lam_beta_reduce.mli │ ├── lam_beta_reduce_util.ml │ ├── lam_beta_reduce_util.mli │ ├── lam_bounded_vars.ml │ ├── lam_bounded_vars.mli │ ├── lam_check.ml │ ├── lam_check.mli │ ├── lam_closure.ml │ ├── lam_closure.mli │ ├── lam_coercion.ml │ ├── lam_coercion.mli │ ├── lam_compat.ml │ ├── lam_compat.mli │ ├── lam_compile.ml │ ├── lam_compile.mli │ ├── lam_compile_const.ml │ ├── lam_compile_const.mli │ ├── lam_compile_context.ml │ ├── lam_compile_context.mli │ ├── lam_compile_env.ml │ ├── lam_compile_env.mli │ ├── lam_compile_external_call.ml │ ├── lam_compile_external_call.mli │ ├── lam_compile_external_obj.ml │ ├── lam_compile_external_obj.mli │ ├── lam_compile_main.ml │ ├── lam_compile_main.mli │ ├── lam_compile_primitive.ml │ ├── lam_compile_primitive.mli │ ├── lam_compile_util.ml │ ├── lam_compile_util.mli │ ├── lam_constant_convert.ml │ ├── lam_constant_convert.mli │ ├── lam_convert.ml │ ├── lam_convert.mli │ ├── lam_dce.ml │ ├── lam_dce.mli │ ├── lam_eta_conversion.ml │ ├── lam_eta_conversion.mli │ ├── lam_exit_code.ml │ ├── lam_exit_code.mli │ ├── lam_exit_count.ml │ ├── lam_exit_count.mli │ ├── lam_free_variables.ml │ ├── lam_free_variables.mli │ ├── lam_group.ml │ ├── lam_group.mli │ ├── lam_hit.ml │ ├── lam_hit.mli │ ├── lam_id_kind.ml │ ├── lam_id_kind.mli │ ├── lam_iter.ml │ ├── lam_iter.mli │ ├── lam_module_ident.ml │ ├── lam_module_ident.mli │ ├── lam_pass_alpha_conversion.ml │ ├── lam_pass_alpha_conversion.mli │ ├── lam_pass_collect.ml │ ├── lam_pass_collect.mli │ ├── lam_pass_count.ml │ ├── lam_pass_count.mli │ ├── lam_pass_deep_flatten.ml │ ├── lam_pass_deep_flatten.mli │ ├── lam_pass_eliminate_ref.ml │ ├── lam_pass_eliminate_ref.mli │ ├── lam_pass_exits.ml │ ├── lam_pass_exits.mli │ ├── lam_pass_lets_dce.ml │ ├── lam_pass_lets_dce.mli │ ├── lam_pass_remove_alias.ml │ ├── lam_pass_remove_alias.mli │ ├── lam_primitive.ml │ ├── lam_primitive.mli │ ├── lam_print.ml │ ├── lam_print.mli │ ├── lam_scc.ml │ ├── lam_scc.mli │ ├── lam_stats.ml │ ├── lam_stats.mli │ ├── lam_stats_export.ml │ ├── lam_stats_export.mli │ ├── lam_subst.ml │ ├── lam_subst.mli │ ├── lam_tag_info.ml │ ├── lam_util.ml │ ├── lam_util.mli │ ├── lam_var_stats.ml │ ├── lam_var_stats.mli │ ├── matching_polyfill.ml │ ├── matching_polyfill.mli │ ├── outcome_printer_ns.ml │ ├── outcome_printer_ns.mli │ ├── polyvar_pattern_match.ml │ ├── record_attributes_check.ml │ ├── res_compmisc.ml │ └── res_compmisc.mli ├── depends │ ├── ast_extract.ml │ ├── ast_extract.mli │ ├── astdump_main.md │ ├── binary_ast.ml │ ├── binary_ast.mli │ ├── bs_exception.ml │ ├── bs_exception.mli │ └── dune ├── dune ├── ext │ ├── README.md │ ├── bs_hash_stubs.ml │ ├── bsb_db.ml │ ├── bsb_db.mli │ ├── bsc_args.ml │ ├── bsc_args.mli │ ├── bsc_warnings.ml │ ├── config.ml │ ├── config.mli │ ├── dune │ ├── encoding.md │ ├── ext_array.ml │ ├── ext_array.mli │ ├── ext_basic_hash_stubs.c │ ├── ext_buffer.ml │ ├── ext_buffer.mli │ ├── ext_bytes.ml │ ├── ext_bytes.mli │ ├── ext_char.ml │ ├── ext_char.mli │ ├── ext_color.ml │ ├── ext_color.mli │ ├── ext_digest.ml │ ├── ext_digest.mli │ ├── ext_file_extensions.ml │ ├── ext_filename.ml │ ├── ext_filename.mli │ ├── ext_fmt.ml │ ├── ext_ident.ml │ ├── ext_ident.mli │ ├── ext_int.ml │ ├── ext_int.mli │ ├── ext_io.ml │ ├── ext_io.mli │ ├── ext_js_file_kind.ml │ ├── ext_json.ml │ ├── ext_json.mli │ ├── ext_json_noloc.ml │ ├── ext_json_noloc.mli │ ├── ext_json_parse.mli │ ├── ext_json_parse.mll │ ├── ext_json_types.ml │ ├── ext_list.ml │ ├── ext_list.mli │ ├── ext_marshal.ml │ ├── ext_marshal.mli │ ├── ext_module_system.ml │ ├── ext_modulename.ml │ ├── ext_modulename.mli │ ├── ext_namespace.ml │ ├── ext_namespace.mli │ ├── ext_namespace_encode.ml │ ├── ext_namespace_encode.mli │ ├── ext_obj.ml │ ├── ext_obj.mli │ ├── ext_option.ml │ ├── ext_option.mli │ ├── ext_path.ml │ ├── ext_path.mli │ ├── ext_pervasives.ml │ ├── ext_pervasives.mli │ ├── ext_position.ml │ ├── ext_position.mli │ ├── ext_pp.ml │ ├── ext_pp.mli │ ├── ext_pp_scope.ml │ ├── ext_pp_scope.mli │ ├── ext_ref.ml │ ├── ext_ref.mli │ ├── ext_scc.ml │ ├── ext_scc.mli │ ├── ext_spec.ml │ ├── ext_spec.mli │ ├── ext_string.ml │ ├── ext_string.mli │ ├── ext_string_array.ml │ ├── ext_string_array.mli │ ├── ext_sys.ml │ ├── ext_sys.mli │ ├── ext_utf8.ml │ ├── ext_utf8.mli │ ├── ext_util.ml │ ├── ext_util.mli │ ├── hash.cppo.ml │ ├── hash.mli │ ├── hash_gen.ml │ ├── hash_ident.mli │ ├── hash_int.mli │ ├── hash_set.cppo.ml │ ├── hash_set.mli │ ├── hash_set_gen.ml │ ├── hash_set_ident.mli │ ├── hash_set_ident_mask.ml │ ├── hash_set_ident_mask.mli │ ├── hash_set_int.mli │ ├── hash_set_poly.mli │ ├── hash_set_string.mli │ ├── hash_string.mli │ ├── ident.ml │ ├── ident.mli │ ├── identifiable.ml │ ├── identifiable.mli │ ├── int_vec_util.ml │ ├── int_vec_util.mli │ ├── int_vec_vec.ml │ ├── int_vec_vec.mli │ ├── js_reserved_map.ml │ ├── js_reserved_map.mli │ ├── literals.ml │ ├── map.cppo.ml │ ├── map_gen.ml │ ├── map_gen.mli │ ├── map_ident.mli │ ├── map_int.mli │ ├── map_string.mli │ ├── misc.ml │ ├── misc.mli │ ├── ordered_hash_map.cppo.ml │ ├── ordered_hash_map_gen.ml │ ├── ordered_hash_map_local_ident.mli │ ├── primitive_modules.ml │ ├── set.cppo.ml │ ├── set_gen.ml │ ├── set_gen.mli │ ├── set_ident.mli │ ├── set_int.mli │ ├── set_string.mli │ ├── vec.cppo.ml │ ├── vec.mli │ ├── vec_gen.ml │ ├── vec_int.mli │ ├── warnings.ml │ └── warnings.mli ├── frontend │ ├── ast_attributes.ml │ ├── ast_attributes.mli │ ├── ast_comb.ml │ ├── ast_comb.mli │ ├── ast_compatible.ml │ ├── ast_compatible.mli │ ├── ast_config.ml │ ├── ast_config.mli │ ├── ast_core_type.ml │ ├── ast_core_type.mli │ ├── ast_core_type_class_type.ml │ ├── ast_core_type_class_type.mli │ ├── ast_derive.ml │ ├── ast_derive.mli │ ├── ast_derive_abstract.ml │ ├── ast_derive_abstract.mli │ ├── ast_derive_js_mapper.ml │ ├── ast_derive_js_mapper.mli │ ├── ast_derive_projector.ml │ ├── ast_derive_projector.mli │ ├── ast_derive_util.ml │ ├── ast_derive_util.mli │ ├── ast_exp.ml │ ├── ast_exp.mli │ ├── ast_exp_apply.ml │ ├── ast_exp_apply.mli │ ├── ast_exp_extension.ml │ ├── ast_exp_extension.mli │ ├── ast_exp_handle_external.ml │ ├── ast_exp_handle_external.mli │ ├── ast_external.ml │ ├── ast_external.mli │ ├── ast_external_mk.ml │ ├── ast_external_mk.mli │ ├── ast_external_process.ml │ ├── ast_external_process.mli │ ├── ast_literal.ml │ ├── ast_literal.mli │ ├── ast_open_cxt.ml │ ├── ast_open_cxt.mli │ ├── ast_pat.ml │ ├── ast_pat.mli │ ├── ast_polyvar.ml │ ├── ast_polyvar.mli │ ├── ast_signature.ml │ ├── ast_signature.mli │ ├── ast_structure.ml │ ├── ast_structure.mli │ ├── ast_tdcls.ml │ ├── ast_tdcls.mli │ ├── ast_tuple_pattern_flatten.ml │ ├── ast_tuple_pattern_flatten.mli │ ├── ast_typ_uncurry.ml │ ├── ast_typ_uncurry.mli │ ├── ast_uncurry_gen.ml │ ├── ast_uncurry_gen.mli │ ├── ast_utf8_string.ml │ ├── ast_utf8_string.mli │ ├── ast_utf8_string_interp.ml │ ├── ast_utf8_string_interp.mli │ ├── ast_util.ml │ ├── ast_util.mli │ ├── bs_ast_invariant.ml │ ├── bs_ast_invariant.mli │ ├── bs_ast_mapper.ml │ ├── bs_ast_mapper.mli │ ├── bs_builtin_ppx.ml │ ├── bs_builtin_ppx.mli │ ├── bs_syntaxerr.ml │ ├── bs_syntaxerr.mli │ ├── dune │ ├── external_arg_spec.ml │ ├── external_arg_spec.mli │ ├── external_ffi_types.ml │ ├── external_ffi_types.mli │ ├── lam_constant.ml │ ├── lam_constant.mli │ ├── ppx_entry.ml │ └── typemod_hide.ml ├── gentype │ ├── Annotation.ml │ ├── CodeItem.ml │ ├── Converter.ml │ ├── Debug.ml │ ├── Dependencies.ml │ ├── EmitJs.ml │ ├── EmitText.ml │ ├── EmitType.ml │ ├── Emitters.ml │ ├── Emitters.mli │ ├── ExportModule.ml │ ├── FindSourceFile.ml │ ├── FindSourceFile.mli │ ├── GenIdent.ml │ ├── GenTypeCommon.ml │ ├── GenTypeConfig.ml │ ├── GenTypeMain.ml │ ├── GeneratedFiles.ml │ ├── ImportPath.ml │ ├── ImportPath.mli │ ├── Indent.ml │ ├── Log_.ml │ ├── ModuleExtension.ml │ ├── ModuleName.ml │ ├── ModuleName.mli │ ├── ModuleResolver.ml │ ├── NamedArgs.ml │ ├── Paths.ml │ ├── ResolvedName.ml │ ├── ResolvedName.mli │ ├── Runtime.ml │ ├── Runtime.mli │ ├── TranslateCoreType.ml │ ├── TranslateSignature.ml │ ├── TranslateSignatureFromTypes.ml │ ├── TranslateStructure.ml │ ├── TranslateTypeDeclarations.ml │ ├── TranslateTypeExprFromTypes.ml │ ├── Translation.ml │ ├── TypeEnv.ml │ ├── TypeEnv.mli │ ├── TypeVars.ml │ └── dune ├── jsoo │ ├── dune │ ├── jsoo_playground_main.ml │ └── jsoo_playground_main.mli ├── ml │ ├── annot.ml │ ├── ast_async.ml │ ├── ast_await.ml │ ├── ast_helper.ml │ ├── ast_helper.mli │ ├── ast_helper0.ml │ ├── ast_iterator.ml │ ├── ast_iterator.mli │ ├── ast_mapper.ml │ ├── ast_mapper.mli │ ├── ast_mapper_from0.ml │ ├── ast_mapper_to0.ml │ ├── ast_payload.ml │ ├── ast_payload.mli │ ├── ast_uncurried.ml │ ├── ast_untagged_variants.ml │ ├── asttypes.ml │ ├── bigint_utils.ml │ ├── bigint_utils.mli │ ├── bs_flow_ast_utils.ml │ ├── bs_flow_ast_utils.mli │ ├── btype.ml │ ├── btype.mli │ ├── builtin_attributes.ml │ ├── builtin_attributes.mli │ ├── ccomp.ml │ ├── ccomp.mli │ ├── classify_function.ml │ ├── classify_function.mli │ ├── clflags.ml │ ├── clflags.mli │ ├── cmi_format.ml │ ├── cmi_format.mli │ ├── cmt_format.ml │ ├── cmt_format.mli │ ├── code_frame.ml │ ├── consistbl.ml │ ├── consistbl.mli │ ├── ctype.ml │ ├── ctype.mli │ ├── datarepr.ml │ ├── datarepr.mli │ ├── delayed_checks.ml │ ├── delayed_checks.mli │ ├── depend.ml │ ├── depend.mli │ ├── dict_type_helpers.ml │ ├── dune │ ├── env.ml │ ├── env.mli │ ├── error_message_utils.ml │ ├── includecore.ml │ ├── includecore.mli │ ├── includemod.ml │ ├── includemod.mli │ ├── js_raw_info.ml │ ├── lambda.ml │ ├── lambda.mli │ ├── location.ml │ ├── location.mli │ ├── longident.ml │ ├── longident.mli │ ├── matching.ml │ ├── matching.mli │ ├── mtype.ml │ ├── mtype.mli │ ├── oprint.ml │ ├── oprint.mli │ ├── outcometree.ml │ ├── parmatch.ml │ ├── parmatch.mli │ ├── parsetree.ml │ ├── parsetree0.ml │ ├── path.ml │ ├── path.mli │ ├── pprintast.ml │ ├── pprintast.mli │ ├── predef.ml │ ├── predef.mli │ ├── primitive.ml │ ├── primitive.mli │ ├── printast.ml │ ├── printast.mli │ ├── printlambda.ml │ ├── printlambda.mli │ ├── printtyp.ml │ ├── printtyp.mli │ ├── printtyped.ml │ ├── printtyped.mli │ ├── rec_check.ml │ ├── rec_check.mli │ ├── record_coercion.ml │ ├── record_type_spread.ml │ ├── rescript_cpp.ml │ ├── rescript_cpp.mli │ ├── stypes.ml │ ├── stypes.mli │ ├── subst.ml │ ├── subst.mli │ ├── switch.ml │ ├── switch.mli │ ├── syntaxerr.ml │ ├── syntaxerr.mli │ ├── tast_iterator.ml │ ├── tast_iterator.mli │ ├── tast_mapper.ml │ ├── tast_mapper.mli │ ├── tbl.ml │ ├── tbl.mli │ ├── transl_recmodule.ml │ ├── transl_recmodule.mli │ ├── translattribute.ml │ ├── translattribute.mli │ ├── translcore.ml │ ├── translcore.mli │ ├── translmod.ml │ ├── translmod.mli │ ├── typecore.ml │ ├── typecore.mli │ ├── typedecl.ml │ ├── typedecl.mli │ ├── typedtree.ml │ ├── typedtree.mli │ ├── typedtreeIter.ml │ ├── typedtreeIter.mli │ ├── typemod.ml │ ├── typemod.mli │ ├── typeopt.ml │ ├── typeopt.mli │ ├── types.ml │ ├── types.mli │ ├── typetexp.ml │ ├── typetexp.mli │ ├── unified_ops.ml │ ├── unified_ops.mli │ ├── untypeast.ml │ ├── untypeast.mli │ ├── used_attributes.ml │ ├── used_attributes.mli │ ├── variant_coercion.ml │ └── variant_type_spread.ml └── syntax │ ├── LICENSE │ ├── cli │ ├── dune │ └── res_cli.ml │ ├── dune │ └── src │ ├── dune │ ├── jsx_common.ml │ ├── jsx_ppx.ml │ ├── jsx_ppx.mli │ ├── jsx_v4.ml │ ├── jsx_v4.mli │ ├── res_ast_debugger.ml │ ├── res_ast_debugger.mli │ ├── res_comment.ml │ ├── res_comment.mli │ ├── res_comments_table.ml │ ├── res_core.ml │ ├── res_core.mli │ ├── res_diagnostics.ml │ ├── res_diagnostics.mli │ ├── res_doc.ml │ ├── res_doc.mli │ ├── res_driver.ml │ ├── res_driver.mli │ ├── res_driver_binary.ml │ ├── res_driver_binary.mli │ ├── res_driver_ml_printer.ml │ ├── res_driver_ml_printer.mli │ ├── res_grammar.ml │ ├── res_io.ml │ ├── res_io.mli │ ├── res_minibuffer.ml │ ├── res_minibuffer.mli │ ├── res_multi_printer.ml │ ├── res_multi_printer.mli │ ├── res_outcome_printer.ml │ ├── res_outcome_printer.mli │ ├── res_parens.ml │ ├── res_parens.mli │ ├── res_parser.ml │ ├── res_parser.mli │ ├── res_parsetree_viewer.ml │ ├── res_parsetree_viewer.mli │ ├── res_printer.ml │ ├── res_printer.mli │ ├── res_reporting.ml │ ├── res_scanner.ml │ ├── res_scanner.mli │ ├── res_string.ml │ ├── res_token.ml │ ├── res_utf8.ml │ └── res_utf8.mli ├── docs ├── JSXV4.md ├── Syntax.md ├── TYPING.adoc ├── changelog │ └── CHANGELOG_BS.md └── docson │ └── build-schema.json ├── dune ├── dune-project ├── lib ├── es6 │ ├── Belt.js │ ├── Belt_Array.js │ ├── Belt_Float.js │ ├── Belt_HashMap.js │ ├── Belt_HashMapInt.js │ ├── Belt_HashMapString.js │ ├── Belt_HashSet.js │ ├── Belt_HashSetInt.js │ ├── Belt_HashSetString.js │ ├── Belt_Id.js │ ├── Belt_Int.js │ ├── Belt_List.js │ ├── Belt_Map.js │ ├── Belt_MapDict.js │ ├── Belt_MapInt.js │ ├── Belt_MapString.js │ ├── Belt_MutableMap.js │ ├── Belt_MutableMapInt.js │ ├── Belt_MutableMapString.js │ ├── Belt_MutableQueue.js │ ├── Belt_MutableSet.js │ ├── Belt_MutableSetInt.js │ ├── Belt_MutableSetString.js │ ├── Belt_MutableStack.js │ ├── Belt_Option.js │ ├── Belt_Range.js │ ├── Belt_Result.js │ ├── Belt_Set.js │ ├── Belt_SetDict.js │ ├── Belt_SetInt.js │ ├── Belt_SetString.js │ ├── Belt_SortArray.js │ ├── Belt_SortArrayInt.js │ ├── Belt_SortArrayString.js │ ├── Belt_internalAVLset.js │ ├── Belt_internalAVLtree.js │ ├── Belt_internalBuckets.js │ ├── Belt_internalBucketsType.js │ ├── Belt_internalMapInt.js │ ├── Belt_internalMapString.js │ ├── Belt_internalSetBuckets.js │ ├── Belt_internalSetInt.js │ ├── Belt_internalSetString.js │ ├── Char.js │ ├── Dom.js │ ├── Dom_storage.js │ ├── Dom_storage2.js │ ├── Js.js │ ├── Js_OO.js │ ├── Js_array.js │ ├── Js_array2.js │ ├── Js_bigint.js │ ├── Js_blob.js │ ├── Js_console.js │ ├── Js_date.js │ ├── Js_dict.js │ ├── Js_extern.js │ ├── Js_file.js │ ├── Js_float.js │ ├── Js_global.js │ ├── Js_int.js │ ├── Js_json.js │ ├── Js_map.js │ ├── Js_math.js │ ├── Js_null.js │ ├── Js_null_undefined.js │ ├── Js_obj.js │ ├── Js_option.js │ ├── Js_promise.js │ ├── Js_promise2.js │ ├── Js_re.js │ ├── Js_result.js │ ├── Js_set.js │ ├── Js_string.js │ ├── Js_string2.js │ ├── Js_typed_array.js │ ├── Js_typed_array2.js │ ├── Js_types.js │ ├── Js_undefined.js │ ├── Js_weakmap.js │ ├── Js_weakset.js │ ├── Jsx.js │ ├── JsxDOM.js │ ├── JsxDOMStyle.js │ ├── JsxEvent.js │ ├── Obj.js │ ├── Pervasives.js │ ├── Primitive_array.js │ ├── Primitive_array_extern.js │ ├── Primitive_bigint.js │ ├── Primitive_bool.js │ ├── Primitive_char_extern.js │ ├── Primitive_curry.js │ ├── Primitive_dict.js │ ├── Primitive_exceptions.js │ ├── Primitive_float.js │ ├── Primitive_float_extern.js │ ├── Primitive_hash.js │ ├── Primitive_int.js │ ├── Primitive_int_extern.js │ ├── Primitive_js_extern.js │ ├── Primitive_module.js │ ├── Primitive_object.js │ ├── Primitive_object_extern.js │ ├── Primitive_option.js │ ├── Primitive_promise.js │ ├── Primitive_string.js │ ├── Primitive_string_extern.js │ ├── Primitive_util.js │ ├── RescriptTools.js │ ├── RescriptTools_Docgen.js │ ├── Stdlib.js │ ├── Stdlib_Array.js │ ├── Stdlib_ArrayBuffer.js │ ├── Stdlib_AsyncIterator.js │ ├── Stdlib_BigInt.js │ ├── Stdlib_BigInt64Array.js │ ├── Stdlib_BigUint64Array.js │ ├── Stdlib_Bool.js │ ├── Stdlib_Console.js │ ├── Stdlib_DataView.js │ ├── Stdlib_Date.js │ ├── Stdlib_Dict.js │ ├── Stdlib_Error.js │ ├── Stdlib_Exn.js │ ├── Stdlib_Float.js │ ├── Stdlib_Float32Array.js │ ├── Stdlib_Float64Array.js │ ├── Stdlib_Global.js │ ├── Stdlib_Int.js │ ├── Stdlib_Int16Array.js │ ├── Stdlib_Int32Array.js │ ├── Stdlib_Int8Array.js │ ├── Stdlib_Intl.js │ ├── Stdlib_Intl_Collator.js │ ├── Stdlib_Intl_Common.js │ ├── Stdlib_Intl_DateTimeFormat.js │ ├── Stdlib_Intl_ListFormat.js │ ├── Stdlib_Intl_Locale.js │ ├── Stdlib_Intl_NumberFormat.js │ ├── Stdlib_Intl_NumberFormat_Grouping.js │ ├── Stdlib_Intl_PluralRules.js │ ├── Stdlib_Intl_RelativeTimeFormat.js │ ├── Stdlib_Intl_Segmenter.js │ ├── Stdlib_Intl_Segments.js │ ├── Stdlib_Iterator.js │ ├── Stdlib_JSON.js │ ├── Stdlib_JsError.js │ ├── Stdlib_JsExn.js │ ├── Stdlib_Lazy.js │ ├── Stdlib_List.js │ ├── Stdlib_Map.js │ ├── Stdlib_Math.js │ ├── Stdlib_Null.js │ ├── Stdlib_Nullable.js │ ├── Stdlib_Object.js │ ├── Stdlib_Option.js │ ├── Stdlib_Ordering.js │ ├── Stdlib_Pair.js │ ├── Stdlib_Promise.js │ ├── Stdlib_RegExp.js │ ├── Stdlib_Result.js │ ├── Stdlib_Set.js │ ├── Stdlib_String.js │ ├── Stdlib_Symbol.js │ ├── Stdlib_Type.js │ ├── Stdlib_TypedArray.js │ ├── Stdlib_Uint16Array.js │ ├── Stdlib_Uint32Array.js │ ├── Stdlib_Uint8Array.js │ ├── Stdlib_Uint8ClampedArray.js │ ├── Stdlib_WeakMap.js │ ├── Stdlib_WeakSet.js │ └── package.json ├── js │ ├── Belt.js │ ├── Belt_Array.js │ ├── Belt_Float.js │ ├── Belt_HashMap.js │ ├── Belt_HashMapInt.js │ ├── Belt_HashMapString.js │ ├── Belt_HashSet.js │ ├── Belt_HashSetInt.js │ ├── Belt_HashSetString.js │ ├── Belt_Id.js │ ├── Belt_Int.js │ ├── Belt_List.js │ ├── Belt_Map.js │ ├── Belt_MapDict.js │ ├── Belt_MapInt.js │ ├── Belt_MapString.js │ ├── Belt_MutableMap.js │ ├── Belt_MutableMapInt.js │ ├── Belt_MutableMapString.js │ ├── Belt_MutableQueue.js │ ├── Belt_MutableSet.js │ ├── Belt_MutableSetInt.js │ ├── Belt_MutableSetString.js │ ├── Belt_MutableStack.js │ ├── Belt_Option.js │ ├── Belt_Range.js │ ├── Belt_Result.js │ ├── Belt_Set.js │ ├── Belt_SetDict.js │ ├── Belt_SetInt.js │ ├── Belt_SetString.js │ ├── Belt_SortArray.js │ ├── Belt_SortArrayInt.js │ ├── Belt_SortArrayString.js │ ├── Belt_internalAVLset.js │ ├── Belt_internalAVLtree.js │ ├── Belt_internalBuckets.js │ ├── Belt_internalBucketsType.js │ ├── Belt_internalMapInt.js │ ├── Belt_internalMapString.js │ ├── Belt_internalSetBuckets.js │ ├── Belt_internalSetInt.js │ ├── Belt_internalSetString.js │ ├── Char.js │ ├── Dom.js │ ├── Dom_storage.js │ ├── Dom_storage2.js │ ├── Js.js │ ├── Js_OO.js │ ├── Js_array.js │ ├── Js_array2.js │ ├── Js_bigint.js │ ├── Js_blob.js │ ├── Js_console.js │ ├── Js_date.js │ ├── Js_dict.js │ ├── Js_extern.js │ ├── Js_file.js │ ├── Js_float.js │ ├── Js_global.js │ ├── Js_int.js │ ├── Js_json.js │ ├── Js_map.js │ ├── Js_math.js │ ├── Js_null.js │ ├── Js_null_undefined.js │ ├── Js_obj.js │ ├── Js_option.js │ ├── Js_promise.js │ ├── Js_promise2.js │ ├── Js_re.js │ ├── Js_result.js │ ├── Js_set.js │ ├── Js_string.js │ ├── Js_string2.js │ ├── Js_typed_array.js │ ├── Js_typed_array2.js │ ├── Js_types.js │ ├── Js_undefined.js │ ├── Js_weakmap.js │ ├── Js_weakset.js │ ├── Jsx.js │ ├── JsxDOM.js │ ├── JsxDOMStyle.js │ ├── JsxEvent.js │ ├── Obj.js │ ├── Pervasives.js │ ├── Primitive_array.js │ ├── Primitive_array_extern.js │ ├── Primitive_bigint.js │ ├── Primitive_bool.js │ ├── Primitive_char_extern.js │ ├── Primitive_curry.js │ ├── Primitive_dict.js │ ├── Primitive_exceptions.js │ ├── Primitive_float.js │ ├── Primitive_float_extern.js │ ├── Primitive_hash.js │ ├── Primitive_int.js │ ├── Primitive_int_extern.js │ ├── Primitive_js_extern.js │ ├── Primitive_module.js │ ├── Primitive_object.js │ ├── Primitive_object_extern.js │ ├── Primitive_option.js │ ├── Primitive_promise.js │ ├── Primitive_string.js │ ├── Primitive_string_extern.js │ ├── Primitive_util.js │ ├── RescriptTools.js │ ├── RescriptTools_Docgen.js │ ├── Stdlib.js │ ├── Stdlib_Array.js │ ├── Stdlib_ArrayBuffer.js │ ├── Stdlib_AsyncIterator.js │ ├── Stdlib_BigInt.js │ ├── Stdlib_BigInt64Array.js │ ├── Stdlib_BigUint64Array.js │ ├── Stdlib_Bool.js │ ├── Stdlib_Console.js │ ├── Stdlib_DataView.js │ ├── Stdlib_Date.js │ ├── Stdlib_Dict.js │ ├── Stdlib_Error.js │ ├── Stdlib_Exn.js │ ├── Stdlib_Float.js │ ├── Stdlib_Float32Array.js │ ├── Stdlib_Float64Array.js │ ├── Stdlib_Global.js │ ├── Stdlib_Int.js │ ├── Stdlib_Int16Array.js │ ├── Stdlib_Int32Array.js │ ├── Stdlib_Int8Array.js │ ├── Stdlib_Intl.js │ ├── Stdlib_Intl_Collator.js │ ├── Stdlib_Intl_Common.js │ ├── Stdlib_Intl_DateTimeFormat.js │ ├── Stdlib_Intl_ListFormat.js │ ├── Stdlib_Intl_Locale.js │ ├── Stdlib_Intl_NumberFormat.js │ ├── Stdlib_Intl_NumberFormat_Grouping.js │ ├── Stdlib_Intl_PluralRules.js │ ├── Stdlib_Intl_RelativeTimeFormat.js │ ├── Stdlib_Intl_Segmenter.js │ ├── Stdlib_Intl_Segments.js │ ├── Stdlib_Iterator.js │ ├── Stdlib_JSON.js │ ├── Stdlib_JsError.js │ ├── Stdlib_JsExn.js │ ├── Stdlib_Lazy.js │ ├── Stdlib_List.js │ ├── Stdlib_Map.js │ ├── Stdlib_Math.js │ ├── Stdlib_Null.js │ ├── Stdlib_Nullable.js │ ├── Stdlib_Object.js │ ├── Stdlib_Option.js │ ├── Stdlib_Ordering.js │ ├── Stdlib_Pair.js │ ├── Stdlib_Promise.js │ ├── Stdlib_RegExp.js │ ├── Stdlib_Result.js │ ├── Stdlib_Set.js │ ├── Stdlib_String.js │ ├── Stdlib_Symbol.js │ ├── Stdlib_Type.js │ ├── Stdlib_TypedArray.js │ ├── Stdlib_Uint16Array.js │ ├── Stdlib_Uint32Array.js │ ├── Stdlib_Uint8Array.js │ ├── Stdlib_Uint8ClampedArray.js │ ├── Stdlib_WeakMap.js │ └── Stdlib_WeakSet.js └── minisocket.js ├── lib_dev ├── README.md ├── paths.js ├── process.js └── utils.js ├── ninja ├── .clang-format ├── .gitignore ├── COPYING ├── HACKING.md ├── README ├── bootstrap.py ├── configure.py ├── doc │ ├── README.md │ ├── dblatex.xsl │ ├── docbook.xsl │ ├── doxygen.config │ ├── manual.asciidoc │ └── style.css ├── misc │ ├── afl-fuzz-tokens │ │ ├── kw_build │ │ ├── kw_default │ │ ├── kw_include │ │ ├── kw_pool │ │ ├── kw_rule │ │ ├── kw_subninja │ │ ├── misc_a │ │ ├── misc_b │ │ ├── misc_colon │ │ ├── misc_cont │ │ ├── misc_dollar │ │ ├── misc_eq │ │ ├── misc_indent │ │ ├── misc_pipe │ │ ├── misc_pipepipe │ │ └── misc_space │ ├── afl-fuzz │ │ └── build.ninja │ ├── bash-completion │ ├── ci.py │ ├── inherited-fds.ninja │ ├── long-slow-build.ninja │ ├── measure.py │ ├── ninja-mode.el │ ├── ninja.vim │ ├── ninja_syntax.py │ ├── ninja_syntax_test.py │ ├── output_test.py │ ├── packaging │ │ ├── ninja.spec │ │ └── rpmbuild.sh │ ├── write_fake_manifests.py │ └── zsh-completion └── src │ ├── browse.cc │ ├── browse.h │ ├── browse.py │ ├── build.cc │ ├── build.h │ ├── build_log.cc │ ├── build_log.h │ ├── build_log_perftest.cc │ ├── build_log_test.cc │ ├── build_test.cc │ ├── canon_perftest.cc │ ├── clean.cc │ ├── clean.h │ ├── clean_test.cc │ ├── clparser.cc │ ├── clparser.h │ ├── clparser_perftest.cc │ ├── clparser_test.cc │ ├── debug_flags.cc │ ├── debug_flags.h │ ├── depfile_parser.cc │ ├── depfile_parser.h │ ├── depfile_parser.in.cc │ ├── depfile_parser_perftest.cc │ ├── depfile_parser_test.cc │ ├── deps_log.cc │ ├── deps_log.h │ ├── deps_log_test.cc │ ├── disk_interface.cc │ ├── disk_interface.h │ ├── disk_interface_test.cc │ ├── dyndep.cc │ ├── dyndep.h │ ├── dyndep_parser.cc │ ├── dyndep_parser.h │ ├── dyndep_parser_test.cc │ ├── edit_distance.cc │ ├── edit_distance.h │ ├── edit_distance_test.cc │ ├── eval_env.cc │ ├── eval_env.h │ ├── exit_status.h │ ├── gen_doxygen_mainpage.sh │ ├── getopt.c │ ├── getopt.h │ ├── graph.cc │ ├── graph.h │ ├── graph_test.cc │ ├── graphviz.cc │ ├── graphviz.h │ ├── hash_collision_bench.cc │ ├── hash_map.h │ ├── includes_normalize-win32.cc │ ├── includes_normalize.h │ ├── includes_normalize_test.cc │ ├── inline.sh │ ├── lexer.cc │ ├── lexer.h │ ├── lexer.in.cc │ ├── lexer_test.cc │ ├── line_printer.cc │ ├── line_printer.h │ ├── manifest_parser.cc │ ├── manifest_parser.h │ ├── manifest_parser_perftest.cc │ ├── manifest_parser_test.cc │ ├── metrics.cc │ ├── metrics.h │ ├── minidump-win32.cc │ ├── msvc_helper-win32.cc │ ├── msvc_helper.h │ ├── msvc_helper_main-win32.cc │ ├── msvc_helper_test.cc │ ├── ninja.cc │ ├── ninja_test.cc │ ├── parser.cc │ ├── parser.h │ ├── state.cc │ ├── state.h │ ├── state_test.cc │ ├── string_piece.h │ ├── string_piece_util.cc │ ├── string_piece_util.h │ ├── string_piece_util_test.cc │ ├── subprocess-posix.cc │ ├── subprocess-win32.cc │ ├── subprocess.h │ ├── subprocess_test.cc │ ├── test.cc │ ├── test.h │ ├── timestamp.h │ ├── util.cc │ ├── util.h │ ├── util_test.cc │ ├── version.cc │ ├── version.h │ └── win32port.h ├── package.json ├── packages ├── @rescript │ ├── darwin-arm64 │ │ ├── bin.d.ts │ │ ├── bin.js │ │ ├── bin │ │ │ └── .gitkeep │ │ └── package.json │ ├── darwin-x64 │ │ ├── bin.d.ts │ │ ├── bin.js │ │ ├── bin │ │ │ └── .gitkeep │ │ └── package.json │ ├── linux-arm64 │ │ ├── bin.d.ts │ │ ├── bin.js │ │ ├── bin │ │ │ └── .gitkeep │ │ └── package.json │ ├── linux-x64 │ │ ├── bin.d.ts │ │ ├── bin.js │ │ ├── bin │ │ │ └── .gitkeep │ │ └── package.json │ └── win32-x64 │ │ ├── bin.d.ts │ │ ├── bin.js │ │ ├── bin │ │ └── .gitkeep │ │ └── package.json ├── artifacts.txt ├── playground │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── playground_test.cjs │ ├── rescript.json │ ├── rollup.config.mjs │ ├── scripts │ │ ├── common.mjs │ │ ├── generate_cmijs.mjs │ │ └── upload_bundle.mjs │ ├── src │ │ └── App.res │ └── tsconfig.json └── std │ ├── .gitignore │ ├── COPYING │ ├── COPYING.LESSER │ ├── LICENSE │ ├── README.md │ └── package.json ├── rescript.opam ├── rescript.opam.template ├── rewatch ├── .cargo │ └── config.toml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── CompilerConfigurationSpec.md ├── rewatch.cmd ├── rust-toolchain.toml ├── rustfmt.toml ├── src │ ├── build.rs │ ├── build │ │ ├── build_types.rs │ │ ├── clean.rs │ │ ├── compile.rs │ │ ├── compile │ │ │ └── dependency_cycle.rs │ │ ├── deps.rs │ │ ├── logs.rs │ │ ├── namespaces.rs │ │ ├── packages.rs │ │ ├── parse.rs │ │ └── read_compile_state.rs │ ├── cli.rs │ ├── cmd.rs │ ├── config.rs │ ├── helpers.rs │ ├── lib.rs │ ├── lock.rs │ ├── main.rs │ ├── queue.rs │ ├── sourcedirs.rs │ └── watcher.rs ├── testrepo │ ├── .gitignore │ ├── bsconfig.json │ ├── package.json │ ├── packages │ │ ├── compiled-by-legacy │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ └── src │ │ │ │ ├── Main.mjs │ │ │ │ ├── Main.res │ │ │ │ └── Main.res.js │ │ ├── dep01 │ │ │ ├── README.md │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── Demo.bs.js │ │ │ │ ├── Dep01.mjs │ │ │ │ └── Dep01.res │ │ ├── dep02 │ │ │ ├── README.md │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── Array.mjs │ │ │ │ ├── Array.res │ │ │ │ ├── Dep02.mjs │ │ │ │ └── Dep02.res │ │ ├── file-casing │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ └── src │ │ │ │ ├── Consume.mjs │ │ │ │ ├── Consume.res │ │ │ │ ├── produce.mjs │ │ │ │ └── produce.res │ │ ├── main │ │ │ ├── README.md │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── Demo.bs.js │ │ │ │ ├── InternalDep.mjs │ │ │ │ ├── InternalDep.res │ │ │ │ ├── Main.mjs │ │ │ │ ├── Main.res │ │ │ │ ├── ModuleWithInterface.mjs │ │ │ │ ├── ModuleWithInterface.res │ │ │ │ ├── ModuleWithInterface.resi │ │ │ │ └── output.txt │ │ ├── namespace-casing │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── Consume.mjs │ │ │ │ ├── Consume.res │ │ │ │ ├── Produce.mjs │ │ │ │ └── Produce.res │ │ ├── new-namespace │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── NS.mjs │ │ │ │ ├── NS.res │ │ │ │ ├── NS_alias.mjs │ │ │ │ ├── NS_alias.res │ │ │ │ ├── Other_module.mjs │ │ │ │ └── Other_module.res │ │ └── with-dev-deps │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ ├── src │ │ │ ├── FileToTest.mjs │ │ │ └── FileToTest.res │ │ │ └── test │ │ │ └── FileToTest_test.res │ ├── src │ │ ├── Test.mjs │ │ └── Test.res │ └── yarn.lock └── tests │ ├── compile.sh │ ├── legacy-utils.sh │ ├── legacy.sh │ ├── lib │ └── rewatch.lock │ ├── lock.sh │ ├── snapshots │ ├── dependency-cycle.txt │ ├── remove-file.txt │ ├── rename-file-internal-dep-namespace.txt │ ├── rename-file-internal-dep.txt │ ├── rename-file-with-interface.txt │ ├── rename-file.txt │ └── rename-interface-file.txt │ ├── suffix.sh │ ├── suite-ci.sh │ ├── suite.sh │ ├── utils.sh │ └── watch.sh ├── runtime ├── .gitignore ├── Belt.res ├── Belt_Array.res ├── Belt_Array.resi ├── Belt_Float.res ├── Belt_Float.resi ├── Belt_HashMap.res ├── Belt_HashMap.resi ├── Belt_HashMapInt.res ├── Belt_HashMapInt.resi ├── Belt_HashMapString.res ├── Belt_HashMapString.resi ├── Belt_HashSet.res ├── Belt_HashSet.resi ├── Belt_HashSetInt.res ├── Belt_HashSetInt.resi ├── Belt_HashSetString.res ├── Belt_HashSetString.resi ├── Belt_Id.res ├── Belt_Id.resi ├── Belt_Int.res ├── Belt_Int.resi ├── Belt_List.res ├── Belt_List.resi ├── Belt_Map.res ├── Belt_Map.resi ├── Belt_MapDict.res ├── Belt_MapDict.resi ├── Belt_MapInt.res ├── Belt_MapInt.resi ├── Belt_MapString.res ├── Belt_MapString.resi ├── Belt_MutableMap.res ├── Belt_MutableMap.resi ├── Belt_MutableMapInt.res ├── Belt_MutableMapInt.resi ├── Belt_MutableMapString.res ├── Belt_MutableMapString.resi ├── Belt_MutableQueue.res ├── Belt_MutableQueue.resi ├── Belt_MutableSet.res ├── Belt_MutableSet.resi ├── Belt_MutableSetInt.res ├── Belt_MutableSetInt.resi ├── Belt_MutableSetString.res ├── Belt_MutableSetString.resi ├── Belt_MutableStack.res ├── Belt_MutableStack.resi ├── Belt_Option.res ├── Belt_Option.resi ├── Belt_Range.res ├── Belt_Range.resi ├── Belt_Result.res ├── Belt_Result.resi ├── Belt_Set.res ├── Belt_Set.resi ├── Belt_SetDict.res ├── Belt_SetDict.resi ├── Belt_SetInt.res ├── Belt_SetInt.resi ├── Belt_SetString.res ├── Belt_SetString.resi ├── Belt_SortArray.res ├── Belt_SortArray.resi ├── Belt_SortArrayInt.res ├── Belt_SortArrayInt.resi ├── Belt_SortArrayString.res ├── Belt_SortArrayString.resi ├── Belt_internalAVLset.res ├── Belt_internalAVLset.resi ├── Belt_internalAVLtree.res ├── Belt_internalAVLtree.resi ├── Belt_internalBuckets.res ├── Belt_internalBuckets.resi ├── Belt_internalBucketsType.res ├── Belt_internalBucketsType.resi ├── Belt_internalMapInt.res ├── Belt_internalMapString.res ├── Belt_internalSetBuckets.res ├── Belt_internalSetBuckets.resi ├── Belt_internalSetInt.res ├── Belt_internalSetString.res ├── Char.res ├── Char.resi ├── Dom.res ├── Dom_storage.res ├── Dom_storage2.res ├── Js.res ├── Js_OO.res ├── Js_array.res ├── Js_array2.res ├── Js_bigint.res ├── Js_blob.res ├── Js_console.res ├── Js_date.res ├── Js_dict.res ├── Js_dict.resi ├── Js_extern.res ├── Js_file.res ├── Js_float.res ├── Js_global.res ├── Js_int.res ├── Js_json.res ├── Js_json.resi ├── Js_map.res ├── Js_math.res ├── Js_null.res ├── Js_null.resi ├── Js_null_undefined.res ├── Js_null_undefined.resi ├── Js_obj.res ├── Js_option.res ├── Js_option.resi ├── Js_promise.res ├── Js_promise2.res ├── Js_re.res ├── Js_result.res ├── Js_result.resi ├── Js_set.res ├── Js_string.res ├── Js_string2.res ├── Js_typed_array.res ├── Js_typed_array2.res ├── Js_types.res ├── Js_types.resi ├── Js_undefined.res ├── Js_undefined.resi ├── Js_weakmap.res ├── Js_weakset.res ├── Jsx.res ├── JsxDOM.res ├── JsxDOMStyle.res ├── JsxEvent.res ├── Obj.res ├── Pervasives.res ├── Primitive_array.res ├── Primitive_array_extern.res ├── Primitive_bigint.res ├── Primitive_bool.res ├── Primitive_char_extern.res ├── Primitive_curry.res ├── Primitive_curry.resi ├── Primitive_dict.res ├── Primitive_exceptions.res ├── Primitive_exceptions.resi ├── Primitive_float.res ├── Primitive_float_extern.res ├── Primitive_hash.res ├── Primitive_hash.resi ├── Primitive_int.res ├── Primitive_int_extern.res ├── Primitive_js_extern.res ├── Primitive_module.res ├── Primitive_module.resi ├── Primitive_object.res ├── Primitive_object.resi ├── Primitive_object_extern.res ├── Primitive_option.res ├── Primitive_option.resi ├── Primitive_promise.res ├── Primitive_string.res ├── Primitive_string_extern.res ├── Primitive_util.res ├── RescriptTools.res ├── RescriptTools_Docgen.res ├── RescriptTools_Docgen.resi ├── Stdlib.res ├── Stdlib_Array.res ├── Stdlib_Array.resi ├── Stdlib_ArrayBuffer.res ├── Stdlib_ArrayBuffer.resi ├── Stdlib_AsyncIterator.res ├── Stdlib_AsyncIterator.resi ├── Stdlib_BigInt.res ├── Stdlib_BigInt.resi ├── Stdlib_BigInt64Array.res ├── Stdlib_BigUint64Array.res ├── Stdlib_Bool.res ├── Stdlib_Bool.resi ├── Stdlib_Console.res ├── Stdlib_Console.resi ├── Stdlib_DataView.res ├── Stdlib_Date.res ├── Stdlib_Date.resi ├── Stdlib_Dict.res ├── Stdlib_Dict.resi ├── Stdlib_Error.res ├── Stdlib_Error.resi ├── Stdlib_Exn.res ├── Stdlib_Exn.resi ├── Stdlib_Float.res ├── Stdlib_Float.resi ├── Stdlib_Float32Array.res ├── Stdlib_Float64Array.res ├── Stdlib_Global.res ├── Stdlib_Global.resi ├── Stdlib_Int.res ├── Stdlib_Int.resi ├── Stdlib_Int16Array.res ├── Stdlib_Int32Array.res ├── Stdlib_Int8Array.res ├── Stdlib_Intl.res ├── Stdlib_Intl_Collator.res ├── Stdlib_Intl_Common.res ├── Stdlib_Intl_DateTimeFormat.res ├── Stdlib_Intl_ListFormat.res ├── Stdlib_Intl_Locale.res ├── Stdlib_Intl_NumberFormat.res ├── Stdlib_Intl_NumberFormat_Grouping.res ├── Stdlib_Intl_PluralRules.res ├── Stdlib_Intl_RelativeTimeFormat.res ├── Stdlib_Intl_Segmenter.res ├── Stdlib_Intl_Segments.res ├── Stdlib_Iterator.res ├── Stdlib_Iterator.resi ├── Stdlib_JSON.res ├── Stdlib_JSON.resi ├── Stdlib_JsError.res ├── Stdlib_JsError.resi ├── Stdlib_JsExn.res ├── Stdlib_JsExn.resi ├── Stdlib_Lazy.res ├── Stdlib_Lazy.resi ├── Stdlib_List.res ├── Stdlib_List.resi ├── Stdlib_Map.res ├── Stdlib_Map.resi ├── Stdlib_Math.res ├── Stdlib_Math.resi ├── Stdlib_Null.res ├── Stdlib_Null.resi ├── Stdlib_Nullable.res ├── Stdlib_Nullable.resi ├── Stdlib_Object.res ├── Stdlib_Option.res ├── Stdlib_Option.resi ├── Stdlib_Ordering.res ├── Stdlib_Pair.res ├── Stdlib_Promise.res ├── Stdlib_Promise.resi ├── Stdlib_RegExp.res ├── Stdlib_RegExp.resi ├── Stdlib_Result.res ├── Stdlib_Result.resi ├── Stdlib_Set.res ├── Stdlib_Set.resi ├── Stdlib_String.res ├── Stdlib_String.resi ├── Stdlib_Symbol.res ├── Stdlib_Symbol.resi ├── Stdlib_Type.res ├── Stdlib_Type.resi ├── Stdlib_TypedArray.res ├── Stdlib_Uint16Array.res ├── Stdlib_Uint32Array.res ├── Stdlib_Uint8Array.res ├── Stdlib_Uint8ClampedArray.res ├── Stdlib_WeakMap.res ├── Stdlib_WeakSet.res ├── cppo │ ├── belt_Set.res.cppo │ ├── belt_Set.resi.cppo │ ├── hashmap.res.cppo │ ├── hashmap.resi.cppo │ ├── hashset.res.cppo │ ├── hashset.resi.cppo │ ├── internal_map.res.cppo │ ├── internal_set.res.cppo │ ├── map.res.cppo │ ├── map.resi.cppo │ ├── mapm.res.cppo │ ├── mapm.resi.cppo │ ├── setm.res.cppo │ ├── setm.resi.cppo │ ├── sort.res.cppo │ └── sort.resi.cppo ├── package.json └── rescript.json ├── scripts ├── buildNinjaBinary.js ├── buildRuntime.sh ├── buildRuntimeLegacy.sh ├── copyExes.js ├── cppo.js ├── format.sh ├── format_check.sh ├── npmPack.js ├── res │ ├── .gitignore │ ├── GenApiDocs.res │ ├── Semver.res │ ├── apiDocs │ │ └── .gitkeep │ ├── package.json │ └── rescript.json ├── test.js └── test_syntax.sh ├── tests ├── .gitignore ├── analysis_tests │ ├── Makefile │ ├── tests-generic-jsx-transform │ │ ├── Makefile │ │ ├── package.json │ │ ├── rescript.json │ │ ├── src │ │ │ ├── GenericJsx.res │ │ │ ├── GenericJsxCompletion.res │ │ │ └── expected │ │ │ │ ├── GenericJsx.res.txt │ │ │ │ └── GenericJsxCompletion.res.txt │ │ └── test.sh │ ├── tests-incremental-typechecking │ │ ├── Makefile │ │ ├── package.json │ │ ├── rescript.json │ │ ├── src │ │ │ ├── ConstructorCompletion__Json.res │ │ │ ├── ConstructorCompletion__Own.res │ │ │ └── expected │ │ │ │ ├── ConstructorCompletion__Json.res.txt │ │ │ │ └── ConstructorCompletion__Own.res.txt │ │ └── test.sh │ ├── tests-reanalyze │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── deadcode │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── expected │ │ │ │ ├── deadcode.txt │ │ │ │ └── exception.txt │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ ├── src │ │ │ │ ├── AutoAnnotate.res │ │ │ │ ├── BootloaderResource.res │ │ │ │ ├── BucklescriptAnnotations.res │ │ │ │ ├── ComponentAsProp.res │ │ │ │ ├── CreateErrorHandler1.res │ │ │ │ ├── CreateErrorHandler2.res │ │ │ │ ├── DeadCodeImplementation.res │ │ │ │ ├── DeadCodeInterface.res │ │ │ │ ├── DeadExn.res │ │ │ │ ├── DeadExn.resi │ │ │ │ ├── DeadRT.res │ │ │ │ ├── DeadRT.resi │ │ │ │ ├── DeadTest.res │ │ │ │ ├── DeadTestBlacklist.res │ │ │ │ ├── DeadTestWithInterface.res │ │ │ │ ├── DeadTestWithInterface.resi │ │ │ │ ├── DeadTypeTest.res │ │ │ │ ├── DeadTypeTest.resi │ │ │ │ ├── DeadValueTest.res │ │ │ │ ├── DeadValueTest.resi │ │ │ │ ├── Docstrings.res │ │ │ │ ├── DynamicallyLoadedComponent.res │ │ │ │ ├── EmptyArray.res │ │ │ │ ├── ErrorHandler.res │ │ │ │ ├── ErrorHandler.resi │ │ │ │ ├── EverythingLiveHere.res │ │ │ │ ├── FirstClassModules.res │ │ │ │ ├── FirstClassModulesInterface.res │ │ │ │ ├── FirstClassModulesInterface.resi │ │ │ │ ├── Hooks.res │ │ │ │ ├── IgnoreInterface.res │ │ │ │ ├── IgnoreInterface.resi │ │ │ │ ├── ImmutableArray.res │ │ │ │ ├── ImmutableArray.resi │ │ │ │ ├── ImportHookDefault.res │ │ │ │ ├── ImportHooks.res │ │ │ │ ├── ImportIndex.res │ │ │ │ ├── ImportJsValue.res │ │ │ │ ├── ImportMyBanner.res │ │ │ │ ├── InnerModuleTypes.res │ │ │ │ ├── InnerModuleTypes.resi │ │ │ │ ├── JSResource.res │ │ │ │ ├── JsxV4.res │ │ │ │ ├── LetPrivate.res │ │ │ │ ├── ModuleAliases.res │ │ │ │ ├── ModuleAliases2.res │ │ │ │ ├── ModuleExceptionBug.res │ │ │ │ ├── NestedModules.res │ │ │ │ ├── NestedModulesInSignature.res │ │ │ │ ├── NestedModulesInSignature.resi │ │ │ │ ├── Newsyntax.res │ │ │ │ ├── Newton.res │ │ │ │ ├── Opaque.res │ │ │ │ ├── OptArg.res │ │ │ │ ├── OptArg.resi │ │ │ │ ├── Records.res │ │ │ │ ├── References.res │ │ │ │ ├── RepeatedLabel.res │ │ │ │ ├── RequireCond.res │ │ │ │ ├── Shadow.res │ │ │ │ ├── TestDeadExn.res │ │ │ │ ├── TestEmitInnerModules.res │ │ │ │ ├── TestFirstClassModules.res │ │ │ │ ├── TestImmutableArray.res │ │ │ │ ├── TestImport.res │ │ │ │ ├── TestInnedModuleTypes.res │ │ │ │ ├── TestModuleAliases.res │ │ │ │ ├── TestOptArg.res │ │ │ │ ├── TestPromise.res │ │ │ │ ├── ToSuppress.res │ │ │ │ ├── TransitiveType1.res │ │ │ │ ├── TransitiveType2.res │ │ │ │ ├── TransitiveType3.res │ │ │ │ ├── Tuples.res │ │ │ │ ├── TypeParams1.res │ │ │ │ ├── TypeParams2.res │ │ │ │ ├── TypeParams3.res │ │ │ │ ├── Types.res │ │ │ │ ├── Unboxed.res │ │ │ │ ├── Uncurried.res │ │ │ │ ├── Unison.res │ │ │ │ ├── UseImportJsValue.res │ │ │ │ ├── Variants.res │ │ │ │ ├── VariantsWithPayload.res │ │ │ │ ├── exception │ │ │ │ │ ├── Arr.res │ │ │ │ │ ├── BeltTest.res │ │ │ │ │ ├── BsJson.res │ │ │ │ │ ├── Exn.res │ │ │ │ │ ├── ExnA.res │ │ │ │ │ ├── ExnB.res │ │ │ │ │ ├── ExportWithRename.res │ │ │ │ │ ├── ExternalTest.res │ │ │ │ │ ├── InnerModules.res │ │ │ │ │ ├── StdlibTest.res │ │ │ │ │ ├── TestInnerModules.res │ │ │ │ │ ├── TestYojson.res │ │ │ │ │ └── Yojson.res │ │ │ │ └── exportNestedValues.js │ │ │ └── test.sh │ │ └── termination │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── expected │ │ │ └── termination.txt │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ ├── src │ │ │ └── TestCyberTruck.res │ │ │ └── test.sh │ └── tests │ │ ├── Makefile │ │ ├── not_compiled │ │ ├── Diagnostics.res │ │ ├── DocTemplate.res │ │ ├── DocTemplate.resi │ │ └── expected │ │ │ ├── Diagnostics.res.txt │ │ │ ├── DocTemplate.res.txt │ │ │ └── DocTemplate.resi.txt │ │ ├── package.json │ │ ├── rescript.json │ │ ├── src │ │ ├── ArrayUtils.res │ │ ├── Auto.res │ │ ├── BrokenParserCases.res │ │ ├── CodeLens.res │ │ ├── Codemod.res │ │ ├── CompletableComponent.res │ │ ├── CompletePrioritize1.res │ │ ├── CompletePrioritize2.res │ │ ├── Completion.res │ │ ├── CompletionAttributes.res │ │ ├── CompletionConfiguredBuiltins.res │ │ ├── CompletionDicts.res │ │ ├── CompletionExpressions.res │ │ ├── CompletionFromModule.res │ │ ├── CompletionFromModule2.res │ │ ├── CompletionFunctionArguments.res │ │ ├── CompletionInferValues.res │ │ ├── CompletionJsx.res │ │ ├── CompletionJsxProps.res │ │ ├── CompletionMultipleEditorCompleteFrom.res │ │ ├── CompletionObjects.res │ │ ├── CompletionPattern.res │ │ ├── CompletionPipeChain.res │ │ ├── CompletionPipeProperty.res │ │ ├── CompletionPipeSubmodules.res │ │ ├── CompletionRegexp.res │ │ ├── CompletionResolve.res │ │ ├── CompletionSupport.res │ │ ├── CompletionSupport2.res │ │ ├── CompletionTaggedTemplate.res │ │ ├── CompletionTypeAnnotation.res │ │ ├── CompletionTypeT.res │ │ ├── Component.res │ │ ├── Component.resi │ │ ├── CreateInterface.res │ │ ├── Cross.res │ │ ├── Dce.res │ │ ├── Debug.res │ │ ├── Definition.res │ │ ├── DefinitionWithInterface.res │ │ ├── DefinitionWithInterface.resi │ │ ├── Destructuring.res │ │ ├── Div.res │ │ ├── DocComments.res │ │ ├── DocumentSymbol.res │ │ ├── DotPipeCompleteFromCurrentModule.res │ │ ├── DotPipeCompletionSpec.res │ │ ├── EnvCompletion.res │ │ ├── EnvCompletionOtherFile.res │ │ ├── ExhaustiveSwitch.res │ │ ├── Fastify.res │ │ ├── FastifyExt.res │ │ ├── Firebase.res │ │ ├── Fragment.res │ │ ├── Highlight.res │ │ ├── Hover.res │ │ ├── IncludeModuleCompletion.res │ │ ├── InlayHint.res │ │ ├── Jsx2.res │ │ ├── Jsx2.resi │ │ ├── JsxV4.res │ │ ├── LongIdentTest.res │ │ ├── ModuleStuff.res │ │ ├── NestedRecords.res │ │ ├── NestedRecordsHover.res │ │ ├── Objects.res │ │ ├── Patterns.res │ │ ├── PolyRec.res │ │ ├── QueryFile.res │ │ ├── RecModules.res │ │ ├── RecordCompletion.res │ │ ├── RecoveryOnProp.res │ │ ├── References.res │ │ ├── ReferencesWithInterface.res │ │ ├── ReferencesWithInterface.resi │ │ ├── Rename.res │ │ ├── RenameWithInterface.res │ │ ├── RenameWithInterface.resi │ │ ├── Reprod.res │ │ ├── Rxjs.res │ │ ├── RxjsCompletion.res │ │ ├── SchemaAssets.res │ │ ├── ShadowedBelt.res │ │ ├── SignatureHelp.res │ │ ├── Support.res │ │ ├── TableclothMap.res │ │ ├── TableclothMap.resi │ │ ├── TypeArgCtx.res │ │ ├── TypeAtPosCompletion.res │ │ ├── TypeDefinition.res │ │ ├── Xform.res │ │ ├── dce │ │ │ └── DceTest.res │ │ ├── expected │ │ │ ├── ArrayUtils.res.txt │ │ │ ├── Auto.res.txt │ │ │ ├── BrokenParserCases.res.txt │ │ │ ├── CodeLens.res.txt │ │ │ ├── Codemod.res.txt │ │ │ ├── CompletableComponent.res.txt │ │ │ ├── CompletePrioritize1.res.txt │ │ │ ├── CompletePrioritize2.res.txt │ │ │ ├── Completion.res.txt │ │ │ ├── CompletionAttributes.res.txt │ │ │ ├── CompletionConfiguredBuiltins.res.txt │ │ │ ├── CompletionDicts.res.txt │ │ │ ├── CompletionExpressions.res.txt │ │ │ ├── CompletionFromModule.res.txt │ │ │ ├── CompletionFromModule2.res.txt │ │ │ ├── CompletionFunctionArguments.res.txt │ │ │ ├── CompletionInferValues.res.txt │ │ │ ├── CompletionJsx.res.txt │ │ │ ├── CompletionJsxProps.res.txt │ │ │ ├── CompletionMultipleEditorCompleteFrom.res.txt │ │ │ ├── CompletionObjects.res.txt │ │ │ ├── CompletionPattern.res.txt │ │ │ ├── CompletionPipeChain.res.txt │ │ │ ├── CompletionPipeProperty.res.txt │ │ │ ├── CompletionPipeSubmodules.res.txt │ │ │ ├── CompletionRegexp.res.txt │ │ │ ├── CompletionResolve.res.txt │ │ │ ├── CompletionSupport.res.txt │ │ │ ├── CompletionSupport2.res.txt │ │ │ ├── CompletionTaggedTemplate.res.txt │ │ │ ├── CompletionTypeAnnotation.res.txt │ │ │ ├── CompletionTypeT.res.txt │ │ │ ├── Component.res.txt │ │ │ ├── Component.resi.txt │ │ │ ├── CreateInterface.res.txt │ │ │ ├── Cross.res.txt │ │ │ ├── Dce.res.txt │ │ │ ├── Debug.res.txt │ │ │ ├── Definition.res.txt │ │ │ ├── DefinitionWithInterface.res.txt │ │ │ ├── DefinitionWithInterface.resi.txt │ │ │ ├── Destructuring.res.txt │ │ │ ├── Div.res.txt │ │ │ ├── DocComments.res.txt │ │ │ ├── DocExtraction2.res.txt │ │ │ ├── DocExtraction2.resi.txt │ │ │ ├── DocExtractionRes.res.txt │ │ │ ├── DocumentSymbol.res.txt │ │ │ ├── DotPipeCompleteFromCurrentModule.res.txt │ │ │ ├── DotPipeCompletionSpec.res.txt │ │ │ ├── EnvCompletion.res.txt │ │ │ ├── EnvCompletionOtherFile.res.txt │ │ │ ├── ExhaustiveSwitch.res.txt │ │ │ ├── Fastify.res.txt │ │ │ ├── FastifyExt.res.txt │ │ │ ├── Firebase.res.txt │ │ │ ├── Fragment.res.txt │ │ │ ├── Highlight.res.txt │ │ │ ├── Hover.res.txt │ │ │ ├── IncludeModuleCompletion.res.txt │ │ │ ├── InlayHint.res.txt │ │ │ ├── Jsx2.res.txt │ │ │ ├── Jsx2.resi.txt │ │ │ ├── JsxV4.res.txt │ │ │ ├── LongIdentTest.res.txt │ │ │ ├── ModuleStuff.res.txt │ │ │ ├── NestedRecords.res.txt │ │ │ ├── NestedRecordsHover.res.txt │ │ │ ├── Nojaf.res.txt │ │ │ ├── Objects.res.txt │ │ │ ├── Patterns.res.txt │ │ │ ├── PolyRec.res.txt │ │ │ ├── QueryFile.res.txt │ │ │ ├── RecModules.res.txt │ │ │ ├── RecordCompletion.res.txt │ │ │ ├── RecoveryOnProp.res.txt │ │ │ ├── References.res.txt │ │ │ ├── ReferencesWithInterface.res.txt │ │ │ ├── ReferencesWithInterface.resi.txt │ │ │ ├── Rename.res.txt │ │ │ ├── RenameWithInterface.res.txt │ │ │ ├── RenameWithInterface.resi.txt │ │ │ ├── Reprod.res.txt │ │ │ ├── Rxjs.res.txt │ │ │ ├── RxjsCompletion.res.txt │ │ │ ├── SchemaAssets.res.txt │ │ │ ├── ShadowedBelt.res.txt │ │ │ ├── SignatureHelp.res.txt │ │ │ ├── Support.res.txt │ │ │ ├── TableclothMap.res.txt │ │ │ ├── TableclothMap.resi.txt │ │ │ ├── TypeArgCtx.res.txt │ │ │ ├── TypeAtPosCompletion.res.txt │ │ │ ├── TypeDefinition.res.txt │ │ │ ├── Xform.res.txt │ │ │ └── typeConstraint.res.txt │ │ ├── inner │ │ │ ├── ComponentInner.res │ │ │ ├── ComponentInner.resi │ │ │ ├── ReferencesInner.res │ │ │ └── ReferencesInner.resi │ │ ├── test.json │ │ ├── tst.js │ │ └── typeConstraint.res │ │ └── test.sh ├── build_tests │ ├── build_warn_as_error │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ └── Demo.res │ ├── case │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── Demo.resi │ │ │ └── demo.res │ ├── case2 │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── X.res │ │ │ └── x.resi │ ├── case3 │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── B01.res │ │ │ ├── B01.res.js │ │ │ ├── B01.resi │ │ │ ├── B02.res │ │ │ ├── B02.res.js │ │ │ ├── B03.res │ │ │ ├── B03.res.js │ │ │ ├── B04.res │ │ │ ├── B04.res.js │ │ │ ├── B04.resi │ │ │ ├── B05.res │ │ │ ├── B05.res.js │ │ │ ├── B05.resi │ │ │ ├── a01.res │ │ │ ├── a01.res.js │ │ │ ├── a01.resi │ │ │ ├── a02.res │ │ │ ├── a02.res.js │ │ │ ├── a03.res │ │ │ ├── a03.res.js │ │ │ ├── a04.res │ │ │ ├── a04.res.js │ │ │ ├── a04.resi │ │ │ ├── a05.res │ │ │ ├── a05.res.js │ │ │ ├── a05.resi │ │ │ ├── hello.res │ │ │ └── hello.res.js │ ├── cli_compile_status │ │ ├── input.js │ │ └── rescript.json │ ├── cli_help │ │ └── input.js │ ├── custom_namespace │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── demo.res │ │ │ └── demo.res.js │ ├── cycle │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── a.res │ │ │ └── b.res │ ├── cycle1 │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── A.res │ │ │ └── A.resi │ ├── deprecated-package-specs │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ └── Index.res │ ├── devonly │ │ ├── input.js │ │ ├── rescript.json │ │ ├── src │ │ │ ├── demo.res │ │ │ ├── demo.res.js │ │ │ ├── depdemo.res │ │ │ └── depdemo.res.js │ │ └── src2 │ │ │ ├── hello.res │ │ │ ├── hello.res.js │ │ │ ├── hellodep.res │ │ │ └── hellodep.res.js │ ├── duplicated_symlinked_packages │ │ ├── .gitignore │ │ ├── README.md │ │ ├── a │ │ │ ├── node_modules │ │ │ │ ├── c │ │ │ │ └── z │ │ │ │ │ ├── package.json │ │ │ │ │ ├── rescript.json │ │ │ │ │ └── src │ │ │ │ │ └── .git_keep │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ └── src │ │ │ │ └── .git_keep │ │ ├── b │ │ │ ├── node_modules │ │ │ │ └── c │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ └── src │ │ │ │ └── .git_keep │ │ ├── c │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ └── src │ │ │ │ └── .git_keep │ │ ├── input.js │ │ ├── node_modules │ │ │ ├── a │ │ │ ├── b │ │ │ └── z │ │ │ │ ├── package.json │ │ │ │ ├── rescript.json │ │ │ │ └── src │ │ │ │ └── .git_keep │ │ ├── out.expected │ │ ├── rescript.json │ │ └── src │ │ │ └── .git_keep │ ├── exports │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ └── demo.res │ ├── gpr_978 │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ └── gpr_978_module.res │ ├── hyphen2 │ │ ├── input.js │ │ ├── rescript.json │ │ └── y-src │ │ │ └── demo.res │ ├── in_source │ │ ├── input.js │ │ ├── input.sh │ │ └── rescript.json │ ├── install │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── Foo.res │ │ │ └── Foo.res.js │ ├── jsx_settings_inheritance │ │ ├── .gitignore │ │ ├── input.js │ │ ├── node_modules │ │ │ ├── @rescript │ │ │ │ └── react │ │ │ │ │ ├── rescript.json │ │ │ │ │ └── src │ │ │ │ │ ├── React.res │ │ │ │ │ ├── React.res.js │ │ │ │ │ ├── ReactDOM.res │ │ │ │ │ └── ReactDOM.res.js │ │ │ ├── a │ │ │ │ ├── package.json │ │ │ │ ├── rescript.json │ │ │ │ └── src │ │ │ │ │ ├── A.res │ │ │ │ │ └── A.res.js │ │ │ └── b │ │ │ │ ├── package.json │ │ │ │ ├── rescript.json │ │ │ │ └── src │ │ │ │ ├── B.res │ │ │ │ └── B.res.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── C.res │ │ │ └── C.res.js │ ├── nested │ │ ├── .gitignore │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── a0 │ │ │ ├── a0_main.res │ │ │ └── a1 │ │ │ │ └── A00_a1_main.res │ │ │ ├── b0 │ │ │ ├── b0_main.res │ │ │ └── b1 │ │ │ │ └── B00_b1_main.res │ │ │ ├── demo.res │ │ │ └── demo.resi │ ├── nnest │ │ ├── .gitignore │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── a0 │ │ │ ├── a0_main.res │ │ │ └── a1 │ │ │ │ └── A0_a1_main.res │ │ │ ├── b0 │ │ │ ├── b0_main.res │ │ │ └── b1 │ │ │ │ └── B0_b1_main.res │ │ │ └── demo.res │ ├── not_undefined_attribute │ │ ├── input.js │ │ ├── input.res │ │ └── rescript.json │ ├── ns │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── demo.js │ │ │ ├── demo.res │ │ │ ├── hello.js │ │ │ └── hello.res │ ├── post-build │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── demo.res │ │ │ └── hello.res │ ├── react_ppx │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── React.res │ │ │ ├── React.res.js │ │ │ ├── gpr_3695_test.res │ │ │ ├── gpr_3695_test.res.js │ │ │ ├── gpr_3987_test.res │ │ │ ├── gpr_3987_test.res.js │ │ │ ├── recursive_component_test.res │ │ │ └── recursive_component_test.res.js │ ├── rerror │ │ ├── input.js │ │ ├── rescript.json │ │ ├── src │ │ │ └── demo.res │ │ └── tasks.json │ ├── scoped_ppx │ │ ├── .gitignore │ │ ├── input.js │ │ ├── node_modules │ │ │ └── @hongbo │ │ │ │ └── ppx1 │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ ├── rescript.json │ │ └── src │ │ │ └── hello.res │ ├── super_errors │ │ ├── .gitignore │ │ ├── README.md │ │ ├── expected │ │ │ ├── DerivingAccessorsRecordParam.res.expected │ │ │ ├── ModuleAwait.res.expected │ │ │ ├── OptionalImplIntf.res.expected │ │ │ ├── OptionalInlineImplIntf.res.expected │ │ │ ├── RecordInclusion.res.expected │ │ │ ├── UncurriedArgsNotApplied.res.expected │ │ │ ├── UntaggedImplIntf.res.expected │ │ │ ├── UntaggedNonUnary1.res.expected │ │ │ ├── UntaggedNonUnary2.res.expected │ │ │ ├── UntaggedTupleAndArray.res.expected │ │ │ ├── UntaggedUnknown.res.expected │ │ │ ├── arity_mismatch.res.expected │ │ │ ├── arity_mismatch2.res.expected │ │ │ ├── arity_mismatch3.res.expected │ │ │ ├── arity_mismatch4.res.expected │ │ │ ├── array_item_type_mismatch.res.expected │ │ │ ├── array_literal_passed_to_tuple.res.expected │ │ │ ├── array_var_passed_to_tuple.res.expected │ │ │ ├── assert_condition.res.expected │ │ │ ├── await.res.expected │ │ │ ├── awaiting_non_promise.res.expected │ │ │ ├── bigint_match_literal.res.expected │ │ │ ├── c_for_u_in_c_mode.res.expected │ │ │ ├── c_for_u_in_u_mode.res.expected │ │ │ ├── collections.res.expected │ │ │ ├── comparison_operator.res.expected │ │ │ ├── component_invalid_prop.res.expected │ │ │ ├── component_missing_prop.res.expected │ │ │ ├── component_missing_prop_children.res.expected │ │ │ ├── component_missing_prop_test.res.expected │ │ │ ├── component_prop_passed_multiple_times.res.expected │ │ │ ├── curried_expected.res.expected │ │ │ ├── curry_in_uncurry.res.expected │ │ │ ├── dict_coercion.res.expected │ │ │ ├── dict_helper.res.expected │ │ │ ├── dict_inference.res.expected │ │ │ ├── dict_magic_field_on_non_dict.res.expected │ │ │ ├── dict_pattern_inference.res.expected │ │ │ ├── dict_pattern_inference_constrained.res.expected │ │ │ ├── dict_pattern_regular_record.res.expected │ │ │ ├── dict_record_style_field_access.res.expected │ │ │ ├── directive_attr.res.expected │ │ │ ├── duplicate_labels_error.res.expected │ │ │ ├── fieldNotOptional.res.expected │ │ │ ├── for_loop_condition.res.expected │ │ │ ├── fun_return_poly1.res.expected │ │ │ ├── fun_return_poly2.res.expected │ │ │ ├── function_argument_mismatch.res.expected │ │ │ ├── function_call_mismatch.res.expected │ │ │ ├── function_return_mismatch.res.expected │ │ │ ├── highlighting1.res.expected │ │ │ ├── highlighting2.res.expected │ │ │ ├── highlighting3.res.expected │ │ │ ├── highlighting4.res.expected │ │ │ ├── highlighting5.res.expected │ │ │ ├── highlighting6.res.expected │ │ │ ├── if_branch_mismatch.res.expected │ │ │ ├── if_condition_mismatch.res.expected │ │ │ ├── inline_types_record_type_params.res.expected │ │ │ ├── intoverflow.res.expected │ │ │ ├── jinterp.res.expected │ │ │ ├── jsx_custom_component_children.res.expected │ │ │ ├── jsx_custom_component_optional.res.expected │ │ │ ├── jsx_custom_component_optional_prop.res.expected │ │ │ ├── jsx_custom_component_type_mismatch.res.expected │ │ │ ├── jsx_type_mismatch_array_element.res.expected │ │ │ ├── jsx_type_mismatch_array_raw.res.expected │ │ │ ├── jsx_type_mismatch_float.res.expected │ │ │ ├── jsx_type_mismatch_int.res.expected │ │ │ ├── jsx_type_mismatch_option.res.expected │ │ │ ├── jsx_type_mismatch_string.res.expected │ │ │ ├── math_operator_constant.res.expected │ │ │ ├── math_operator_float.res.expected │ │ │ ├── math_operator_int.res.expected │ │ │ ├── math_operator_string.res.expected │ │ │ ├── method_arity_mismatch.res.expected │ │ │ ├── missing_label.res.expected │ │ │ ├── missing_labels.res.expected │ │ │ ├── missing_required_prop.res.expected │ │ │ ├── missing_required_prop_when_children.res.expected │ │ │ ├── missing_required_prop_when_single_child.res.expected │ │ │ ├── modules1.res.expected │ │ │ ├── modules2.res.expected │ │ │ ├── modules3.res.expected │ │ │ ├── moreArguments1.res.expected │ │ │ ├── moreArguments2.res.expected │ │ │ ├── moreArguments3.res.expected │ │ │ ├── moreArguments4.res.expected │ │ │ ├── moreArguments5.res.expected │ │ │ ├── multiple_tag_1.res.expected │ │ │ ├── multiple_tag_2.res.expected │ │ │ ├── non_function_uncurried_apply.res.expected │ │ │ ├── object_field_mismatch.res.expected │ │ │ ├── object_field_missing.res.expected │ │ │ ├── object_literal_passed_when_record_expected.res.expected │ │ │ ├── opt_args_arity.res.expected │ │ │ ├── optional_fn_argument_pass_option.res.expected │ │ │ ├── optional_record_field_pass_option.res.expected │ │ │ ├── partial_app.res.expected │ │ │ ├── pattern_matching_on_option_but_value_not_option.res.expected │ │ │ ├── pattern_matching_on_value_but_is_option.res.expected │ │ │ ├── polyvariant_constructor_payload_mismatch.res.expected │ │ │ ├── polyvariant_constructors_mismatch_second.res.expected │ │ │ ├── polyvariant_name_formatting.res.expected │ │ │ ├── polyvariants_no_overlap.res.expected │ │ │ ├── primitives1.res.expected │ │ │ ├── primitives10.res.expected │ │ │ ├── primitives11.res.expected │ │ │ ├── primitives2.res.expected │ │ │ ├── primitives3.res.expected │ │ │ ├── primitives4.res.expected │ │ │ ├── primitives5.res.expected │ │ │ ├── primitives6.res.expected │ │ │ ├── primitives7.res.expected │ │ │ ├── primitives8.res.expected │ │ │ ├── primitives9.res.expected │ │ │ ├── private_without_body.res.expected │ │ │ ├── promise_needs_await.res.expected │ │ │ ├── react_component_with_props.res.expected │ │ │ ├── react_component_with_props_external.res.expected │ │ │ ├── record_coercion_as_payload_mismatch_both.res.expected │ │ │ ├── record_coercion_as_payload_mismatch_left.res.expected │ │ │ ├── record_coercion_as_payload_mismatch_right.res.expected │ │ │ ├── record_coercion_missing_field.res.expected │ │ │ ├── record_coercion_optional_mismatch.res.expected │ │ │ ├── record_type_spreads.res.expected │ │ │ ├── record_type_spreads_deep_sub.res.expected │ │ │ ├── recursive_type.res.expected │ │ │ ├── repeated_def_extension_constr.res.expected │ │ │ ├── repeated_def_module_types.res.expected │ │ │ ├── repeated_def_modules.res.expected │ │ │ ├── repeated_def_types.res.expected │ │ │ ├── set_record_field_type_match.res.expected │ │ │ ├── stdlib_removed_in_error.res.expected │ │ │ ├── subtype_record.res.expected │ │ │ ├── subtype_string.res.expected │ │ │ ├── suggest_module_for_missing_identifier.res.expected │ │ │ ├── suggest_module_for_missing_identifier_with_spellcheck.res.expected │ │ │ ├── switch_different_types.res.expected │ │ │ ├── switch_guard.res.expected │ │ │ ├── syntaxErrors1.res.expected │ │ │ ├── syntaxErrors2.res.expected │ │ │ ├── syntaxErrors3.res.expected │ │ │ ├── syntaxErrors4.res.expected │ │ │ ├── syntaxErrors5.res.expected │ │ │ ├── todo_with_no_payload.res.expected │ │ │ ├── todo_with_payload.res.expected │ │ │ ├── top_level_fn_call_not_unit.res.expected │ │ │ ├── top_level_value_not_unit.res.expected │ │ │ ├── try_catch_same_type.res.expected │ │ │ ├── type1.res.expected │ │ │ ├── type2.res.expected │ │ │ ├── type3.res.expected │ │ │ ├── u_for_c_in_c_mode.res.expected │ │ │ ├── u_for_c_in_u_mode.res.expected │ │ │ ├── unbound_record_field.res.expected │ │ │ ├── uncurried_expected.res.expected │ │ │ ├── uncurried_wrong_label.res.expected │ │ │ ├── unicode_location.res.expected │ │ │ ├── unknown_tagged_template_function.res.expected │ │ │ ├── unused_variable.res.expected │ │ │ ├── unused_warnings.res.expected │ │ │ ├── variant_coercion_bigint.res.expected │ │ │ ├── variant_coercion_bigint_as.res.expected │ │ │ ├── variant_coercion_float.res.expected │ │ │ ├── variant_coercion_float_as.res.expected │ │ │ ├── variant_coercion_inline_record.res.expected │ │ │ ├── variant_coercion_int.res.expected │ │ │ ├── variant_coercion_int_as.res.expected │ │ │ ├── variant_coercion_mismatching_types.res.expected │ │ │ ├── variant_coercion_non_unboxed_with_payload.res.expected │ │ │ ├── variant_coercion_open_polyvariant.res.expected │ │ │ ├── variant_coercion_polyvariant_mismatch_as_attribute.res.expected │ │ │ ├── variant_coercion_polyvariant_mismatch_as_attribute2.res.expected │ │ │ ├── variant_coercion_polyvariant_unmatched_cases.res.expected │ │ │ ├── variant_coercion_polyvariant_with_payload.res.expected │ │ │ ├── variant_coercion_string.res.expected │ │ │ ├── variant_coercion_string_as.res.expected │ │ │ ├── variant_coercion_string_to_variant_no_payload.res.expected │ │ │ ├── variant_coercion_string_unboxed.res.expected │ │ │ ├── variant_pattern_type_spreads_not_subtype.res.expected │ │ │ ├── variant_pattern_type_spreads_not_variant.res.expected │ │ │ ├── variant_spread_abstract_type.res.expected │ │ │ ├── variant_spread_duplicate_constructors.res.expected │ │ │ ├── variant_spread_extensible_variant.res.expected │ │ │ ├── variant_spread_inline_records.res.expected │ │ │ ├── variant_spread_recursive.res.expected │ │ │ ├── variant_spread_tag_missing.res.expected │ │ │ ├── variant_spread_tag_value_mismatch.res.expected │ │ │ ├── variant_spread_type_parameters.res.expected │ │ │ ├── variant_spread_unboxed_mismatch.res.expected │ │ │ ├── variant_to_variant_coercion.res.expected │ │ │ ├── variant_to_variant_coercion_as.res.expected │ │ │ ├── variant_to_variant_coercion_tag.res.expected │ │ │ ├── variant_to_variant_coercion_unboxed.res.expected │ │ │ ├── variant_to_variant_different_constructor_counts.res.expected │ │ │ ├── warnings1.res.expected │ │ │ ├── warnings2.res.expected │ │ │ ├── warnings4.res.expected │ │ │ ├── warnings5.res.expected │ │ │ ├── while_condition.res.expected │ │ │ ├── wrong_name_component_prop.res.expected │ │ │ ├── wrong_name_record_field.res.expected │ │ │ └── wrong_type_prop_punning.res.expected │ │ ├── fixtures │ │ │ ├── DerivingAccessorsRecordParam.res │ │ │ ├── ModuleAwait.res │ │ │ ├── OptionalImplIntf.res │ │ │ ├── OptionalInlineImplIntf.res │ │ │ ├── RecordInclusion.res │ │ │ ├── UncurriedArgsNotApplied.res │ │ │ ├── UntaggedImplIntf.res │ │ │ ├── UntaggedNonUnary1.res │ │ │ ├── UntaggedNonUnary2.res │ │ │ ├── UntaggedTupleAndArray.res │ │ │ ├── UntaggedUnknown.res │ │ │ ├── arity_mismatch.res │ │ │ ├── arity_mismatch2.res │ │ │ ├── arity_mismatch3.res │ │ │ ├── arity_mismatch4.res │ │ │ ├── array_item_type_mismatch.res │ │ │ ├── array_literal_passed_to_tuple.res │ │ │ ├── array_var_passed_to_tuple.res │ │ │ ├── assert_condition.res │ │ │ ├── await.res │ │ │ ├── awaiting_non_promise.res │ │ │ ├── bigint_match_literal.res │ │ │ ├── c_for_u_in_c_mode.res │ │ │ ├── c_for_u_in_u_mode.res │ │ │ ├── collections.res │ │ │ ├── comparison_operator.res │ │ │ ├── component_invalid_prop.res │ │ │ ├── component_missing_prop.res │ │ │ ├── component_missing_prop_children.res │ │ │ ├── component_missing_prop_test.res │ │ │ ├── component_prop_passed_multiple_times.res │ │ │ ├── curried_expected.res │ │ │ ├── curry_in_uncurry.res │ │ │ ├── dict_coercion.res │ │ │ ├── dict_helper.res │ │ │ ├── dict_inference.res │ │ │ ├── dict_magic_field_on_non_dict.res │ │ │ ├── dict_pattern_inference.res │ │ │ ├── dict_pattern_inference_constrained.res │ │ │ ├── dict_pattern_regular_record.res │ │ │ ├── dict_record_style_field_access.res │ │ │ ├── directive_attr.res │ │ │ ├── duplicate_labels_error.res │ │ │ ├── fieldNotOptional.res │ │ │ ├── for_loop_condition.res │ │ │ ├── fun_return_poly1.res │ │ │ ├── fun_return_poly2.res │ │ │ ├── function_argument_mismatch.res │ │ │ ├── function_call_mismatch.res │ │ │ ├── function_return_mismatch.res │ │ │ ├── highlighting1.res │ │ │ ├── highlighting2.res │ │ │ ├── highlighting3.res │ │ │ ├── highlighting4.res │ │ │ ├── highlighting5.res │ │ │ ├── highlighting6.res │ │ │ ├── if_branch_mismatch.res │ │ │ ├── if_condition_mismatch.res │ │ │ ├── inline_types_record_type_params.res │ │ │ ├── intoverflow.res │ │ │ ├── jinterp.res │ │ │ ├── jsx_custom_component_children.res │ │ │ ├── jsx_custom_component_optional_prop.res │ │ │ ├── jsx_custom_component_type_mismatch.res │ │ │ ├── jsx_type_mismatch_array_element.res │ │ │ ├── jsx_type_mismatch_array_raw.res │ │ │ ├── jsx_type_mismatch_float.res │ │ │ ├── jsx_type_mismatch_int.res │ │ │ ├── jsx_type_mismatch_option.res │ │ │ ├── jsx_type_mismatch_string.res │ │ │ ├── math_operator_constant.res │ │ │ ├── math_operator_float.res │ │ │ ├── math_operator_int.res │ │ │ ├── math_operator_string.res │ │ │ ├── method_arity_mismatch.res │ │ │ ├── missing_label.res │ │ │ ├── missing_labels.res │ │ │ ├── missing_required_prop.res │ │ │ ├── missing_required_prop_when_children.res │ │ │ ├── missing_required_prop_when_single_child.res │ │ │ ├── modules1.res │ │ │ ├── modules2.res │ │ │ ├── modules3.res │ │ │ ├── moreArguments1.res │ │ │ ├── moreArguments2.res │ │ │ ├── moreArguments3.res │ │ │ ├── moreArguments4.res │ │ │ ├── moreArguments5.res │ │ │ ├── multiple_tag_1.res │ │ │ ├── multiple_tag_2.res │ │ │ ├── non_function_uncurried_apply.res │ │ │ ├── object_field_mismatch.res │ │ │ ├── object_field_missing.res │ │ │ ├── object_literal_passed_when_record_expected.res │ │ │ ├── opt_args_arity.res │ │ │ ├── optional_fn_argument_pass_option.res │ │ │ ├── optional_record_field_pass_option.res │ │ │ ├── partial_app.res │ │ │ ├── pattern_matching_on_option_but_value_not_option.res │ │ │ ├── pattern_matching_on_value_but_is_option.res │ │ │ ├── polyvariant_constructor_payload_mismatch.res │ │ │ ├── polyvariant_constructors_mismatch_second.res │ │ │ ├── polyvariant_name_formatting.res │ │ │ ├── polyvariants_no_overlap.res │ │ │ ├── primitives1.res │ │ │ ├── primitives10.res │ │ │ ├── primitives11.res │ │ │ ├── primitives2.res │ │ │ ├── primitives3.res │ │ │ ├── primitives4.res │ │ │ ├── primitives5.res │ │ │ ├── primitives6.res │ │ │ ├── primitives7.res │ │ │ ├── primitives8.res │ │ │ ├── primitives9.res │ │ │ ├── private_without_body.res │ │ │ ├── promise_needs_await.res │ │ │ ├── react_component_with_props.res │ │ │ ├── react_component_with_props_external.res │ │ │ ├── record_coercion_as_payload_mismatch_both.res │ │ │ ├── record_coercion_as_payload_mismatch_left.res │ │ │ ├── record_coercion_as_payload_mismatch_right.res │ │ │ ├── record_coercion_missing_field.res │ │ │ ├── record_coercion_optional_mismatch.res │ │ │ ├── record_type_spreads.res │ │ │ ├── record_type_spreads_deep_sub.res │ │ │ ├── recursive_type.res │ │ │ ├── repeated_def_extension_constr.res │ │ │ ├── repeated_def_module_types.res │ │ │ ├── repeated_def_modules.res │ │ │ ├── repeated_def_types.res │ │ │ ├── set_record_field_type_match.res │ │ │ ├── stdlib_removed_in_error.res │ │ │ ├── subtype_record.res │ │ │ ├── subtype_string.res │ │ │ ├── suggest_module_for_missing_identifier.res │ │ │ ├── suggest_module_for_missing_identifier_with_spellcheck.res │ │ │ ├── switch_different_types.res │ │ │ ├── switch_guard.res │ │ │ ├── syntaxErrors1.res │ │ │ ├── syntaxErrors2.res │ │ │ ├── syntaxErrors3.res │ │ │ ├── syntaxErrors4.res │ │ │ ├── syntaxErrors5.res │ │ │ ├── todo_with_no_payload.res │ │ │ ├── todo_with_payload.res │ │ │ ├── top_level_fn_call_not_unit.res │ │ │ ├── top_level_value_not_unit.res │ │ │ ├── try_catch_same_type.res │ │ │ ├── type1.res │ │ │ ├── type2.res │ │ │ ├── type3.res │ │ │ ├── u_for_c_in_c_mode.res │ │ │ ├── u_for_c_in_u_mode.res │ │ │ ├── unbound_record_field.res │ │ │ ├── uncurried_expected.res │ │ │ ├── uncurried_wrong_label.res │ │ │ ├── unicode_location.res │ │ │ ├── unknown_tagged_template_function.res │ │ │ ├── unused_variable.res │ │ │ ├── unused_warnings.res │ │ │ ├── variant_coercion_bigint.res │ │ │ ├── variant_coercion_bigint_as.res │ │ │ ├── variant_coercion_float.res │ │ │ ├── variant_coercion_float_as.res │ │ │ ├── variant_coercion_inline_record.res │ │ │ ├── variant_coercion_int.res │ │ │ ├── variant_coercion_int_as.res │ │ │ ├── variant_coercion_mismatching_types.res │ │ │ ├── variant_coercion_non_unboxed_with_payload.res │ │ │ ├── variant_coercion_open_polyvariant.res │ │ │ ├── variant_coercion_polyvariant_mismatch_as_attribute.res │ │ │ ├── variant_coercion_polyvariant_mismatch_as_attribute2.res │ │ │ ├── variant_coercion_polyvariant_unmatched_cases.res │ │ │ ├── variant_coercion_polyvariant_with_payload.res │ │ │ ├── variant_coercion_string.res │ │ │ ├── variant_coercion_string_as.res │ │ │ ├── variant_coercion_string_to_variant_no_payload.res │ │ │ ├── variant_coercion_string_unboxed.res │ │ │ ├── variant_pattern_type_spreads_not_subtype.res │ │ │ ├── variant_pattern_type_spreads_not_variant.res │ │ │ ├── variant_spread_abstract_type.res │ │ │ ├── variant_spread_duplicate_constructors.res │ │ │ ├── variant_spread_extensible_variant.res │ │ │ ├── variant_spread_inline_records.res │ │ │ ├── variant_spread_recursive.res │ │ │ ├── variant_spread_tag_missing.res │ │ │ ├── variant_spread_tag_value_mismatch.res │ │ │ ├── variant_spread_type_parameters.res │ │ │ ├── variant_spread_unboxed_mismatch.res │ │ │ ├── variant_to_variant_coercion.res │ │ │ ├── variant_to_variant_coercion_as.res │ │ │ ├── variant_to_variant_coercion_tag.res │ │ │ ├── variant_to_variant_coercion_unboxed.res │ │ │ ├── variant_to_variant_different_constructor_counts.res │ │ │ ├── warnings1.res │ │ │ ├── warnings2.res │ │ │ ├── warnings4.res │ │ │ ├── warnings5.res │ │ │ ├── while_condition.res │ │ │ ├── wrong_name_component_prop.res │ │ │ ├── wrong_name_record_field.res │ │ │ └── wrong_type_prop_punning.res │ │ └── input.js │ ├── transitive_pinned_dependency1 │ │ ├── .gitignore │ │ ├── a │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ ├── src │ │ │ │ └── src.res │ │ │ └── tests │ │ │ │ └── test.res │ │ ├── input.js │ │ └── node_modules │ │ │ ├── b │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ └── src.res │ │ │ └── tests │ │ │ │ └── test.res │ │ │ └── c │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ └── src.res │ │ │ └── tests │ │ │ └── test.res │ ├── transitive_pinned_dependency2 │ │ ├── .gitignore │ │ ├── a │ │ │ ├── package.json │ │ │ ├── rescript.json │ │ │ ├── src │ │ │ │ └── src.res │ │ │ └── tests │ │ │ │ └── test.res │ │ ├── input.js │ │ └── node_modules │ │ │ ├── b │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ └── src.res │ │ │ └── tests │ │ │ │ └── test.res │ │ │ └── c │ │ │ ├── bsconfig.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ └── src.res │ │ │ └── tests │ │ │ └── test.res │ ├── unboxed_bool_with_const │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ └── Main.res │ ├── uncurried-always │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ └── UncurriedAlways.res │ ├── unicode │ │ ├── input.js │ │ ├── rescript.json │ │ ├── 📕annotation │ │ │ └── a.res │ │ ├── 📗block │ │ │ └── b.res │ │ └── 📙inline │ │ │ └── c.res │ ├── warn_legacy_config │ │ ├── bsconfig.json │ │ ├── input.js │ │ └── src │ │ │ └── demo.res │ ├── weird_deps │ │ ├── input.js │ │ ├── rescript.json │ │ ├── src │ │ │ └── demo.res │ │ └── test │ │ │ └── test.res │ ├── weird_devdeps │ │ ├── input.js │ │ ├── rescript.json │ │ ├── src │ │ │ └── demo.res │ │ └── test │ │ │ └── test.res │ ├── weird_names │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── 404.res │ │ │ ├── [...params].res │ │ │ ├── [...params_max_3].res │ │ │ ├── [[...params]].res │ │ │ ├── [slug_or_ID].res │ │ │ ├── _app.res │ │ │ ├── demo.res │ │ │ └── utils.test.res │ ├── weird_names_not_found_bug │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ │ ├── demo.res │ │ │ └── demo.test.res │ ├── x-y │ │ ├── input.js │ │ ├── rescript.json │ │ └── x-src │ │ │ └── demo.res │ ├── xpkg │ │ ├── input.js │ │ └── rescript.json │ └── zerocycle │ │ ├── .gitignore │ │ ├── input.js │ │ ├── rescript.json │ │ └── src │ │ ├── bar.res │ │ ├── bar.res.js │ │ ├── demo.res │ │ ├── demo.res.js │ │ ├── demo2.res │ │ ├── demo2.res.js │ │ ├── foo.res │ │ ├── foo.res.js │ │ ├── foo2.res │ │ └── foo2.res.js ├── dependencies │ ├── .gitattributes │ ├── .gitignore │ └── rescript-react │ │ ├── package.json │ │ ├── rescript.json │ │ └── src │ │ ├── React.res │ │ ├── ReactDOM.res │ │ ├── ReactDOMStyle.res │ │ ├── ReactEvent.res │ │ └── ReactEvent.resi ├── docstring_tests │ ├── .gitignore │ ├── ArrayUtils.res │ ├── ArrayUtils.res.js │ ├── DocTest.res │ ├── DocTest.res.js │ ├── DocTest.resi │ ├── Mocha.res │ ├── Mocha.res.js │ ├── Node.res │ ├── Node.res.js │ ├── SpawnAsync.res │ ├── SpawnAsync.res.js │ ├── package.json │ └── rescript.json ├── dune ├── gentype_tests │ └── typescript-react-example │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── biome.json │ │ ├── package.json │ │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ └── manifest.json │ │ ├── rescript.json │ │ ├── src │ │ ├── App.css │ │ ├── App.tsx │ │ ├── AutoAnnotate.gen.tsx │ │ ├── AutoAnnotate.res │ │ ├── AutoAnnotate.res.js │ │ ├── BootloaderResource.res │ │ ├── BootloaderResource.res.js │ │ ├── BucklescriptAnnotations.gen.tsx │ │ ├── BucklescriptAnnotations.res │ │ ├── BucklescriptAnnotations.res.js │ │ ├── Comments.gen.tsx │ │ ├── Comments.res │ │ ├── Comments.res.js │ │ ├── Core.gen.tsx │ │ ├── Core.res │ │ ├── Core.res.js │ │ ├── CoreTS.ts │ │ ├── CreateErrorHandler1.res │ │ ├── CreateErrorHandler1.res.js │ │ ├── CreateErrorHandler2.res │ │ ├── CreateErrorHandler2.res.js │ │ ├── Date.res │ │ ├── Date.res.js │ │ ├── Derivings.gen.tsx │ │ ├── Derivings.res │ │ ├── Derivings.res.js │ │ ├── Dict.res │ │ ├── Dict.res.js │ │ ├── Docstrings.gen.tsx │ │ ├── Docstrings.res │ │ ├── Docstrings.res.js │ │ ├── DynamicallyLoadedComponent.res │ │ ├── DynamicallyLoadedComponent.res.js │ │ ├── EmitModuleIfNoConversion.gen.tsx │ │ ├── EmitModuleIfNoConversion.res │ │ ├── EmitModuleIfNoConversion.res.js │ │ ├── ErrorHandler.res │ │ ├── ErrorHandler.res.js │ │ ├── ErrorHandler.resi │ │ ├── ExportWithRename.gen.tsx │ │ ├── ExportWithRename.res │ │ ├── ExportWithRename.res.js │ │ ├── FirstClassModules.gen.tsx │ │ ├── FirstClassModules.res │ │ ├── FirstClassModules.res.js │ │ ├── FirstClassModulesInterface.gen.tsx │ │ ├── FirstClassModulesInterface.res │ │ ├── FirstClassModulesInterface.res.js │ │ ├── FirstClassModulesInterface.resi │ │ ├── GADT.gen.tsx │ │ ├── GADT.res │ │ ├── GADT.res.js │ │ ├── Hooks.gen.tsx │ │ ├── Hooks.res │ │ ├── Hooks.res.js │ │ ├── IgnoreInterface.gen.tsx │ │ ├── IgnoreInterface.res │ │ ├── IgnoreInterface.res.js │ │ ├── IgnoreInterface.resi │ │ ├── ImmutableArray.res │ │ ├── ImmutableArray.res.js │ │ ├── ImmutableArray.resi │ │ ├── ImportHookDefault.gen.tsx │ │ ├── ImportHookDefault.res │ │ ├── ImportHookDefault.res.js │ │ ├── ImportHooks.gen.tsx │ │ ├── ImportHooks.res │ │ ├── ImportHooks.res.js │ │ ├── ImportIndex.gen.tsx │ │ ├── ImportIndex.res │ │ ├── ImportIndex.res.js │ │ ├── ImportJsValue.gen.tsx │ │ ├── ImportJsValue.res │ │ ├── ImportJsValue.res.js │ │ ├── Inherits.gen.tsx │ │ ├── Inherits.res │ │ ├── Inherits.res.js │ │ ├── InnerModuleSignature.gen.tsx │ │ ├── InnerModuleSignature.res │ │ ├── InnerModuleSignature.res.js │ │ ├── JSResource.res │ │ ├── JSResource.res.js │ │ ├── JSXV4.gen.tsx │ │ ├── JSXV4.res │ │ ├── JSXV4.res.js │ │ ├── LabeledFun.gen.tsx │ │ ├── LabeledFun.res │ │ ├── LabeledFun.res.js │ │ ├── LetPrivate.gen.tsx │ │ ├── LetPrivate.res │ │ ├── LetPrivate.res.js │ │ ├── Lib.gen.tsx │ │ ├── Lib.res │ │ ├── Lib.res.js │ │ ├── Machine.gen.tsx │ │ ├── Machine.res │ │ ├── Machine.res.js │ │ ├── Map_.res │ │ ├── Map_.res.js │ │ ├── ModuleAliases.gen.tsx │ │ ├── ModuleAliases.res │ │ ├── ModuleAliases.res.js │ │ ├── ModuleAliases2.gen.tsx │ │ ├── ModuleAliases2.res │ │ ├── ModuleAliases2.res.js │ │ ├── ModuleResolution1.gen.tsx │ │ ├── ModuleResolution1.res │ │ ├── ModuleResolution1.res.js │ │ ├── ModuleResolution2.gen.tsx │ │ ├── ModuleResolution2.res │ │ ├── ModuleResolution2.res.js │ │ ├── MoreVariants.gen.tsx │ │ ├── MoreVariants.res │ │ ├── MoreVariants.res.js │ │ ├── MyInput.gen.tsx │ │ ├── MyInput.res │ │ ├── MyInput.res.js │ │ ├── MyInput.tsx │ │ ├── MyMath.ts │ │ ├── MyModule.gen.tsx │ │ ├── MyModule.res │ │ ├── MyModule.res.js │ │ ├── NestedModules.gen.tsx │ │ ├── NestedModules.res │ │ ├── NestedModules.res.js │ │ ├── NestedModulesInSignature.gen.tsx │ │ ├── NestedModulesInSignature.res │ │ ├── NestedModulesInSignature.res.js │ │ ├── NestedModulesInSignature.resi │ │ ├── NestedVariants.gen.tsx │ │ ├── NestedVariants.res │ │ ├── NestedVariants.res.js │ │ ├── NonrecursiveTypes.gen.tsx │ │ ├── NonrecursiveTypes.res │ │ ├── NonrecursiveTypes.res.js │ │ ├── Null.res │ │ ├── Null.res.js │ │ ├── Nullable.res │ │ ├── Nullable.res.js │ │ ├── NumericPolyVar.gen.tsx │ │ ├── NumericPolyVar.res │ │ ├── NumericPolyVar.res.js │ │ ├── Object.gen.tsx │ │ ├── Object.res │ │ ├── Object.res.js │ │ ├── OnClick2.gen.tsx │ │ ├── OnClick2.res │ │ ├── OnClick2.res.js │ │ ├── Opaque.gen.tsx │ │ ├── Opaque.res │ │ ├── Opaque.res.js │ │ ├── Promise.res │ │ ├── Promise.res.js │ │ ├── Records.gen.tsx │ │ ├── Records.res │ │ ├── Records.res.js │ │ ├── References.gen.tsx │ │ ├── References.res │ │ ├── References.res.js │ │ ├── RegExp.res │ │ ├── RegExp.res.js │ │ ├── RequireCond.res │ │ ├── RequireCond.res.js │ │ ├── Set_.res │ │ ├── Set_.res.js │ │ ├── Shadow.gen.tsx │ │ ├── Shadow.res │ │ ├── Shadow.res.js │ │ ├── TestEmitInnerModules.gen.tsx │ │ ├── TestEmitInnerModules.res │ │ ├── TestEmitInnerModules.res.js │ │ ├── TestFirstClassModules.gen.tsx │ │ ├── TestFirstClassModules.res │ │ ├── TestFirstClassModules.res.js │ │ ├── TestImmutableArray.gen.tsx │ │ ├── TestImmutableArray.res │ │ ├── TestImmutableArray.res.js │ │ ├── TestModuleAliases.gen.tsx │ │ ├── TestModuleAliases.res │ │ ├── TestModuleAliases.res.js │ │ ├── TestPromise.gen.tsx │ │ ├── TestPromise.res │ │ ├── TestPromise.res.js │ │ ├── TransitiveType1.gen.tsx │ │ ├── TransitiveType1.res │ │ ├── TransitiveType1.res.js │ │ ├── TransitiveType2.gen.tsx │ │ ├── TransitiveType2.res │ │ ├── TransitiveType2.res.js │ │ ├── TransitiveType3.gen.tsx │ │ ├── TransitiveType3.res │ │ ├── TransitiveType3.res.js │ │ ├── TypeNameSanitize.gen.tsx │ │ ├── TypeNameSanitize.res │ │ ├── TypeNameSanitize.res.js │ │ ├── TypeParams1.gen.tsx │ │ ├── TypeParams1.res │ │ ├── TypeParams1.res.js │ │ ├── TypeParams2.gen.tsx │ │ ├── TypeParams2.res │ │ ├── TypeParams2.res.js │ │ ├── TypeParams3.gen.tsx │ │ ├── TypeParams3.res │ │ ├── TypeParams3.res.js │ │ ├── Unboxed.gen.tsx │ │ ├── Unboxed.res │ │ ├── Unboxed.res.js │ │ ├── Uncurried.gen.tsx │ │ ├── Uncurried.res │ │ ├── Uncurried.res.js │ │ ├── Undefined.res │ │ ├── Undefined.res.js │ │ ├── Usage.gen.tsx │ │ ├── Usage.res │ │ ├── Usage.res.js │ │ ├── UseImportJsValue.gen.tsx │ │ ├── UseImportJsValue.res │ │ ├── UseImportJsValue.res.js │ │ ├── Variants.gen.tsx │ │ ├── Variants.res │ │ ├── Variants.res.js │ │ ├── VariantsWithPayload.gen.tsx │ │ ├── VariantsWithPayload.res │ │ ├── VariantsWithPayload.res.js │ │ ├── Warnings.gen.tsx │ │ ├── Warnings.res │ │ ├── Warnings.res.js │ │ ├── WeakMap.res │ │ ├── WeakMap.res.js │ │ ├── WeakSet.res │ │ ├── WeakSet.res.js │ │ ├── Wrapper.gen.tsx │ │ ├── Wrapper.res │ │ ├── Wrapper.res.js │ │ ├── counter.gen.tsx │ │ ├── counter.res │ │ ├── counter.res.js │ │ ├── exportNestedValues.js │ │ ├── hookExample.tsx │ │ ├── index.css │ │ ├── index.tsx │ │ ├── location │ │ │ ├── location.gen.tsx │ │ │ ├── location.res │ │ │ └── location.res.js │ │ ├── logo.svg │ │ ├── nested │ │ │ ├── Tuples.gen.tsx │ │ │ ├── Tuples.res │ │ │ ├── Tuples.res.js │ │ │ ├── Types.gen.tsx │ │ │ ├── Types.res │ │ │ └── Types.res.js │ │ ├── react-app-env.d.ts │ │ ├── shims │ │ │ ├── Belt.shim.ts │ │ │ ├── Js.shim.ts │ │ │ ├── Jsx.shim.ts │ │ │ ├── JsxEvent.shim.ts │ │ │ └── RescriptPervasives.shim.ts │ │ ├── strange_file_names │ │ │ ├── 404.gen.tsx │ │ │ ├── 404.res │ │ │ ├── 404.res.js │ │ │ ├── AppModal.web.gen.tsx │ │ │ ├── AppModal.web.res │ │ │ ├── AppModal.web.res.js │ │ │ ├── _under.gen.tsx │ │ │ ├── _under.res │ │ │ ├── _under.res.js │ │ │ ├── with_underscore.gen.tsx │ │ │ ├── with_underscore.res │ │ │ └── with_underscore.res.js │ │ └── testReferences.ts │ │ └── tsconfig.json ├── ounit_tests │ ├── dune │ ├── ounit_array_tests.ml │ ├── ounit_bal_tree_tests.ml │ ├── ounit_bsb_pkg_tests.ml │ ├── ounit_bsb_regex_tests.ml │ ├── ounit_data_random.ml │ ├── ounit_ext_json_tests.ml │ ├── ounit_hash_set_tests.ml │ ├── ounit_hash_stubs_test.ml │ ├── ounit_hashtbl_tests.ml │ ├── ounit_ident_mask_tests.ml │ ├── ounit_int_vec_tests.ml │ ├── ounit_json_tests.ml │ ├── ounit_list_test.ml │ ├── ounit_map_tests.ml │ ├── ounit_path_tests.ml │ ├── ounit_scc_tests.ml │ ├── ounit_string_tests.ml │ ├── ounit_tests_main.ml │ ├── ounit_tests_main.mli │ ├── ounit_tests_util.ml │ ├── ounit_unicode_tests.ml │ ├── ounit_utf8_test.ml │ ├── ounit_util_tests.ml │ └── ounit_vec_test.ml ├── package_tests │ └── installation_test │ │ ├── rescript.json │ │ └── src │ │ └── Test.res ├── syntax_benchmarks │ ├── Benchmark.ml │ ├── data │ │ ├── HeroGraphic.res │ │ ├── Napkinscript.res │ │ ├── RedBlackTree.res │ │ └── RedBlackTreeNoComments.res │ ├── dune │ └── time.c ├── syntax_tests │ ├── data │ │ ├── api │ │ │ ├── reasonSyntax.res │ │ │ ├── reiSyntax.resi │ │ │ ├── resReactJsx.res │ │ │ ├── resSyntax.res │ │ │ └── resiSyntax.resi │ │ ├── ast-mapping │ │ │ ├── JSXElements.res │ │ │ ├── JSXFragments.res │ │ │ └── expected │ │ │ │ ├── JSXElements.res.txt │ │ │ │ └── JSXFragments.res.txt │ │ ├── conversion │ │ │ └── reason │ │ │ │ ├── attributes.res │ │ │ │ ├── bracedJsx.res │ │ │ │ ├── braces.res │ │ │ │ ├── comments.res │ │ │ │ ├── docComments.res │ │ │ │ ├── expected │ │ │ │ ├── attributes.res.txt │ │ │ │ ├── bracedJsx.res.txt │ │ │ │ ├── braces.res.txt │ │ │ │ ├── comments.res.txt │ │ │ │ ├── docComments.res.txt │ │ │ │ ├── extension.res.txt │ │ │ │ ├── fastPipe.res.txt │ │ │ │ ├── gentype.res.txt │ │ │ │ ├── gentype.resi.txt │ │ │ │ ├── jsObject.res.txt │ │ │ │ ├── jsObject.resi.txt │ │ │ │ ├── jsxProps.res.txt │ │ │ │ ├── letBinding.res.txt │ │ │ │ ├── letprivate.res.txt │ │ │ │ ├── modType.res.txt │ │ │ │ ├── moduleLanguage.res.txt │ │ │ │ ├── namedArgs.res.txt │ │ │ │ ├── openPattern.res.txt │ │ │ │ ├── ppx.res.txt │ │ │ │ ├── refSugarReason.res.txt │ │ │ │ ├── singleLineComments.res.txt │ │ │ │ ├── string.res.txt │ │ │ │ ├── ternary.res.txt │ │ │ │ ├── uncurrried.res.txt │ │ │ │ ├── underscoreSugar.res.txt │ │ │ │ ├── unicode.res.txt │ │ │ │ └── variant.res.txt │ │ │ │ ├── extension.res │ │ │ │ ├── fastPipe.res │ │ │ │ ├── gentype.res │ │ │ │ ├── gentype.resi │ │ │ │ ├── jsObject.res │ │ │ │ ├── jsObject.resi │ │ │ │ ├── jsxProps.res │ │ │ │ ├── letBinding.res │ │ │ │ ├── letprivate.res │ │ │ │ ├── modType.res │ │ │ │ ├── moduleLanguage.res │ │ │ │ ├── namedArgs.res │ │ │ │ ├── openPattern.res │ │ │ │ ├── ppx.res │ │ │ │ ├── refSugarReason.res │ │ │ │ ├── singleLineComments.res │ │ │ │ ├── string.res │ │ │ │ ├── ternary.res │ │ │ │ ├── uncurrried.res │ │ │ │ ├── underscoreSugar.res │ │ │ │ ├── unicode.res │ │ │ │ └── variant.res │ │ ├── idempotency │ │ │ ├── bs-css │ │ │ │ ├── Css.res │ │ │ │ ├── CssEmotion.res │ │ │ │ ├── CssEmotionJs.res │ │ │ │ ├── CssJs.res │ │ │ │ ├── Css_AtomicTypes.res │ │ │ │ ├── Css_AtomicTypes.resi │ │ │ │ ├── Css_Colors.res │ │ │ │ ├── Css_Core.res │ │ │ │ ├── Css_Js_Core.res │ │ │ │ ├── Css_Js_Core.resi │ │ │ │ ├── Css_Legacy_Core.res │ │ │ │ ├── Css_Legacy_Core.resi │ │ │ │ ├── Css_test.res │ │ │ │ ├── Selectors_test.res │ │ │ │ ├── Svg_test.res │ │ │ │ ├── Test.res │ │ │ │ └── TestEmotion.res │ │ │ ├── bs-fetch │ │ │ │ └── reason_examples.res │ │ │ ├── bs-webapi │ │ │ │ ├── src │ │ │ │ │ ├── Webapi.res │ │ │ │ │ └── Webapi │ │ │ │ │ │ ├── Webapi__Base64.res │ │ │ │ │ │ ├── Webapi__Canvas.res │ │ │ │ │ │ ├── Webapi__Canvas │ │ │ │ │ │ ├── Webapi__Canvas__Canvas2d.res │ │ │ │ │ │ └── Webapi__Canvas__WebGl.res │ │ │ │ │ │ ├── Webapi__Dom.res │ │ │ │ │ │ ├── Webapi__Dom │ │ │ │ │ │ ├── Webapi__Dom__AnimationEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Attr.res │ │ │ │ │ │ ├── Webapi__Dom__BeforeUnloadEvent.res │ │ │ │ │ │ ├── Webapi__Dom__CdataSection.res │ │ │ │ │ │ ├── Webapi__Dom__CharacterData.res │ │ │ │ │ │ ├── Webapi__Dom__ChildNode.res │ │ │ │ │ │ ├── Webapi__Dom__ClipboardEvent.res │ │ │ │ │ │ ├── Webapi__Dom__CloseEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Comment.res │ │ │ │ │ │ ├── Webapi__Dom__CompositionEvent.res │ │ │ │ │ │ ├── Webapi__Dom__CssStyleDeclaration.res │ │ │ │ │ │ ├── Webapi__Dom__CustomEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Document.res │ │ │ │ │ │ ├── Webapi__Dom__DocumentFragment.res │ │ │ │ │ │ ├── Webapi__Dom__DocumentOrShadowRoot.res │ │ │ │ │ │ ├── Webapi__Dom__DocumentType.res │ │ │ │ │ │ ├── Webapi__Dom__DomImplementation.res │ │ │ │ │ │ ├── Webapi__Dom__DomRect.res │ │ │ │ │ │ ├── Webapi__Dom__DomStringMap.res │ │ │ │ │ │ ├── Webapi__Dom__DomTokenList.res │ │ │ │ │ │ ├── Webapi__Dom__DragEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Element.res │ │ │ │ │ │ ├── Webapi__Dom__ErrorEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Event.res │ │ │ │ │ │ ├── Webapi__Dom__EventTarget.res │ │ │ │ │ │ ├── Webapi__Dom__FocusEvent.res │ │ │ │ │ │ ├── Webapi__Dom__GlobalEventHandlers.res │ │ │ │ │ │ ├── Webapi__Dom__History.res │ │ │ │ │ │ ├── Webapi__Dom__HtmlCollection.res │ │ │ │ │ │ ├── Webapi__Dom__HtmlDocument.res │ │ │ │ │ │ ├── Webapi__Dom__HtmlElement.res │ │ │ │ │ │ ├── Webapi__Dom__HtmlFormElement.res │ │ │ │ │ │ ├── Webapi__Dom__HtmlImageElement.res │ │ │ │ │ │ ├── Webapi__Dom__HtmlInputElement.res │ │ │ │ │ │ ├── Webapi__Dom__IdbVersionChangeEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Image.res │ │ │ │ │ │ ├── Webapi__Dom__InputEvent.res │ │ │ │ │ │ ├── Webapi__Dom__KeyboardEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Location.res │ │ │ │ │ │ ├── Webapi__Dom__MouseEvent.res │ │ │ │ │ │ ├── Webapi__Dom__MutationObserver.res │ │ │ │ │ │ ├── Webapi__Dom__MutationRecord.res │ │ │ │ │ │ ├── Webapi__Dom__NamedNodeMap.res │ │ │ │ │ │ ├── Webapi__Dom__Node.res │ │ │ │ │ │ ├── Webapi__Dom__NodeFilter.res │ │ │ │ │ │ ├── Webapi__Dom__NodeIterator.res │ │ │ │ │ │ ├── Webapi__Dom__NodeList.res │ │ │ │ │ │ ├── Webapi__Dom__NonDocumentTypeChildNode.res │ │ │ │ │ │ ├── Webapi__Dom__NonElementParentNode.res │ │ │ │ │ │ ├── Webapi__Dom__PageTransitionEvent.res │ │ │ │ │ │ ├── Webapi__Dom__ParentNode.res │ │ │ │ │ │ ├── Webapi__Dom__PointerEvent.res │ │ │ │ │ │ ├── Webapi__Dom__PopStateEvent.res │ │ │ │ │ │ ├── Webapi__Dom__ProcessingInstruction.res │ │ │ │ │ │ ├── Webapi__Dom__ProgressEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Range.res │ │ │ │ │ │ ├── Webapi__Dom__RelatedEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Selection.res │ │ │ │ │ │ ├── Webapi__Dom__ShadowRoot.res │ │ │ │ │ │ ├── Webapi__Dom__Slotable.res │ │ │ │ │ │ ├── Webapi__Dom__StorageEvent.res │ │ │ │ │ │ ├── Webapi__Dom__SvgZoomEvent.res │ │ │ │ │ │ ├── Webapi__Dom__Text.res │ │ │ │ │ │ ├── Webapi__Dom__TimeEvent.res │ │ │ │ │ │ ├── Webapi__Dom__TouchEvent.res │ │ │ │ │ │ ├── Webapi__Dom__TrackEvent.res │ │ │ │ │ │ ├── Webapi__Dom__TransitionEvent.res │ │ │ │ │ │ ├── Webapi__Dom__TreeWalker.res │ │ │ │ │ │ ├── Webapi__Dom__Types.res │ │ │ │ │ │ ├── Webapi__Dom__UiEvent.res │ │ │ │ │ │ ├── Webapi__Dom__ValidityState.res │ │ │ │ │ │ ├── Webapi__Dom__WebGlContextEvent.res │ │ │ │ │ │ ├── Webapi__Dom__WheelEvent.res │ │ │ │ │ │ └── Webapi__Dom__Window.res │ │ │ │ │ │ ├── Webapi__File.res │ │ │ │ │ │ ├── Webapi__Performance.res │ │ │ │ │ │ ├── Webapi__ResizeObserver.res │ │ │ │ │ │ ├── Webapi__ResizeObserver │ │ │ │ │ │ └── Webapi__ResizeObserver__ResizeObserverEntry.res │ │ │ │ │ │ └── Webapi__Url.res │ │ │ │ └── tests │ │ │ │ │ ├── Webapi │ │ │ │ │ ├── Webapi__Base64__test.res │ │ │ │ │ ├── Webapi__Canvas │ │ │ │ │ │ └── Webapi__Canvas__Canvas2d__test.res │ │ │ │ │ ├── Webapi__Dom │ │ │ │ │ │ ├── Webapi__Dom__AnimationEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__BeforeUnloadEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__ClipboardEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__CloseEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__CompositionEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__CustomEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__Document__test.res │ │ │ │ │ │ ├── Webapi__Dom__DomStringMap__test.res │ │ │ │ │ │ ├── Webapi__Dom__DomTokenList__test.res │ │ │ │ │ │ ├── Webapi__Dom__DragEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__Element__test.res │ │ │ │ │ │ ├── Webapi__Dom__ErrorEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__EventTarget__test.res │ │ │ │ │ │ ├── Webapi__Dom__Event__test.res │ │ │ │ │ │ ├── Webapi__Dom__FocusEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__GlobalEventHandlers__test.res │ │ │ │ │ │ ├── Webapi__Dom__History__test.res │ │ │ │ │ │ ├── Webapi__Dom__HtmlDocument__test.res │ │ │ │ │ │ ├── Webapi__Dom__HtmlElement__test.res │ │ │ │ │ │ ├── Webapi__Dom__IdbVersionChangeEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__Image__test.res │ │ │ │ │ │ ├── Webapi__Dom__InputEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__KeyboardEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__Location__test.res │ │ │ │ │ │ ├── Webapi__Dom__MouseEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__NodeList__test.res │ │ │ │ │ │ ├── Webapi__Dom__Node__test.res │ │ │ │ │ │ ├── Webapi__Dom__PageTransitionEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__PointerEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__PopStateEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__ProgressEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__Range__test.res │ │ │ │ │ │ ├── Webapi__Dom__RelatedEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__Selection__test.res │ │ │ │ │ │ ├── Webapi__Dom__StorageEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__SvgZoomEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__Text__test.res │ │ │ │ │ │ ├── Webapi__Dom__TimeEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__TouchEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__TrackEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__TransitionEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__UiEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__WebGlContextEvent__test.res │ │ │ │ │ │ ├── Webapi__Dom__WheelEvent__test.res │ │ │ │ │ │ └── Webapi__Dom__Window__test.res │ │ │ │ │ ├── Webapi__Performace__test.res │ │ │ │ │ ├── Webapi__ResizeObserver__test.res │ │ │ │ │ └── Webapi__Url__test.res │ │ │ │ │ └── testHelpers.res │ │ │ ├── covid-19charts.com │ │ │ │ ├── data-processor │ │ │ │ │ └── data_processor.res │ │ │ │ └── src │ │ │ │ │ ├── Chart.res │ │ │ │ │ ├── ColorStack.res │ │ │ │ │ ├── ColorStack.resi │ │ │ │ │ ├── Colors.res │ │ │ │ │ ├── CopyToClipboard.res │ │ │ │ │ ├── Data.res │ │ │ │ │ ├── DatePicker.res │ │ │ │ │ ├── Filters.res │ │ │ │ │ ├── Index.res │ │ │ │ │ ├── Location.res │ │ │ │ │ ├── ReactSelect.res │ │ │ │ │ ├── Recharts.res │ │ │ │ │ ├── SerializeQueryParam.res │ │ │ │ │ ├── UseQueryParam.res │ │ │ │ │ ├── Victory.res │ │ │ │ │ └── Window.res │ │ │ ├── genType │ │ │ │ └── src │ │ │ │ │ ├── Annotation.res │ │ │ │ │ ├── Arnold.res │ │ │ │ │ ├── CodeItem.res │ │ │ │ │ ├── Config_.res │ │ │ │ │ ├── Converter.res │ │ │ │ │ ├── DeadCode.res │ │ │ │ │ ├── DeadCommon.res │ │ │ │ │ ├── DeadType.res │ │ │ │ │ ├── DeadValue.res │ │ │ │ │ ├── Debug.res │ │ │ │ │ ├── Dependencies.res │ │ │ │ │ ├── EmitJs.res │ │ │ │ │ ├── EmitText.res │ │ │ │ │ ├── EmitType.res │ │ │ │ │ ├── EmitType.resi │ │ │ │ │ ├── Emitters.res │ │ │ │ │ ├── Emitters.resi │ │ │ │ │ ├── ExportModule.res │ │ │ │ │ ├── GenIdent.res │ │ │ │ │ ├── GenType.res │ │ │ │ │ ├── GenTypeCommon.res │ │ │ │ │ ├── GenTypeMain.res │ │ │ │ │ ├── GeneratedFiles.res │ │ │ │ │ ├── ImportPath.res │ │ │ │ │ ├── ImportPath.resi │ │ │ │ │ ├── Indent.res │ │ │ │ │ ├── Log_.res │ │ │ │ │ ├── ModuleName.res │ │ │ │ │ ├── ModuleName.resi │ │ │ │ │ ├── ModuleResolver.res │ │ │ │ │ ├── NamedArgs.res │ │ │ │ │ ├── Paths.res │ │ │ │ │ ├── ResolvedName.res │ │ │ │ │ ├── ResolvedName.resi │ │ │ │ │ ├── Runtime.res │ │ │ │ │ ├── Runtime.resi │ │ │ │ │ ├── TranslateCoreType.res │ │ │ │ │ ├── TranslateSignature.res │ │ │ │ │ ├── TranslateSignatureFromTypes.res │ │ │ │ │ ├── TranslateStructure.res │ │ │ │ │ ├── TranslateTypeDeclarations.res │ │ │ │ │ ├── TranslateTypeExprFromTypes.res │ │ │ │ │ ├── Translation.res │ │ │ │ │ ├── TypeEnv.res │ │ │ │ │ ├── TypeEnv.resi │ │ │ │ │ ├── TypeVars.res │ │ │ │ │ └── Version.res │ │ │ ├── ludum-dare-46 │ │ │ │ ├── FlappyBird.res │ │ │ │ ├── IndexHot.res │ │ │ │ ├── assets.res │ │ │ │ ├── common.res │ │ │ │ ├── hooks.res │ │ │ │ ├── index.res │ │ │ │ ├── levels.res │ │ │ │ ├── point.res │ │ │ │ ├── serialize.res │ │ │ │ └── sound.res │ │ │ ├── mareo │ │ │ │ ├── Actors.res │ │ │ │ ├── Actors.resi │ │ │ │ ├── Director.res │ │ │ │ ├── Director.resi │ │ │ │ ├── Dom_html.res │ │ │ │ ├── Draw.res │ │ │ │ ├── Draw.resi │ │ │ │ ├── Main.res │ │ │ │ ├── Object.res │ │ │ │ ├── Object.resi │ │ │ │ ├── Particle.res │ │ │ │ ├── Particle.resi │ │ │ │ ├── Procedural_generator.res │ │ │ │ ├── Procedural_generator.resi │ │ │ │ ├── Sprite.res │ │ │ │ ├── Sprite.resi │ │ │ │ ├── Viewport.res │ │ │ │ └── Viewport.resi │ │ │ ├── napkinscript │ │ │ │ └── docComments.res │ │ │ ├── nook-exchange │ │ │ │ ├── API.res │ │ │ │ ├── Analytics.res │ │ │ │ ├── App.res │ │ │ │ ├── BodyCard.res │ │ │ │ ├── Button.res │ │ │ │ ├── Colors.res │ │ │ │ ├── ConfirmDialog.res │ │ │ │ ├── Constants.res │ │ │ │ ├── DeleteFromCatalog.res │ │ │ │ ├── DiscordBotUpsell.res │ │ │ │ ├── DiscordOauth.res │ │ │ │ ├── Emoji.res │ │ │ │ ├── Error.res │ │ │ │ ├── Experiment.res │ │ │ │ ├── Footer.res │ │ │ │ ├── FriendsPage.res │ │ │ │ ├── HeaderBar.res │ │ │ │ ├── ImportPage.res │ │ │ │ ├── Index.res │ │ │ │ ├── Item.res │ │ │ │ ├── ItemBrowser.res │ │ │ │ ├── ItemCard.res │ │ │ │ ├── ItemDetailOverlay.res │ │ │ │ ├── ItemFilters.res │ │ │ │ ├── ItemImage.res │ │ │ │ ├── LanguageSelector.res │ │ │ │ ├── Link.res │ │ │ │ ├── ListPage.res │ │ │ │ ├── LoginOverlay.res │ │ │ │ ├── MatchFeatureUpsell.res │ │ │ │ ├── Modal.res │ │ │ │ ├── MyListsPage.res │ │ │ │ ├── MyPage.res │ │ │ │ ├── PageTitle.res │ │ │ │ ├── PasswordResetPage.res │ │ │ │ ├── QuicklistButton.res │ │ │ │ ├── QuicklistOverlay.res │ │ │ │ ├── QuicklistStore.res │ │ │ │ ├── RemoveButton.res │ │ │ │ ├── Repromise.res │ │ │ │ ├── SettingsPage.res │ │ │ │ ├── SettingsStore.res │ │ │ │ ├── TemporaryState.res │ │ │ │ ├── TextPages.res │ │ │ │ ├── User.res │ │ │ │ ├── UserItemCard.res │ │ │ │ ├── UserItemEllipsisButton.res │ │ │ │ ├── UserItemNote.res │ │ │ │ ├── UserListBrowser.res │ │ │ │ ├── UserPage.res │ │ │ │ ├── UserProfileBrowser.res │ │ │ │ ├── UserStore.res │ │ │ │ ├── UserViewingPage.res │ │ │ │ ├── Utils.res │ │ │ │ ├── ViewingList.res │ │ │ │ └── WishlistToCatalog.res │ │ │ ├── pupilfirst │ │ │ │ ├── courses │ │ │ │ │ ├── CoursesApply__Form.res │ │ │ │ │ ├── CoursesApply__Root.res │ │ │ │ │ ├── CoursesCurriculum.res │ │ │ │ │ ├── CoursesCurriculum__AutoVerify.res │ │ │ │ │ ├── CoursesCurriculum__ChecklistItem.res │ │ │ │ │ ├── CoursesCurriculum__Coach.res │ │ │ │ │ ├── CoursesCurriculum__Community.res │ │ │ │ │ ├── CoursesCurriculum__CompletionInstructions.res │ │ │ │ │ ├── CoursesCurriculum__Course.res │ │ │ │ │ ├── CoursesCurriculum__Discuss.res │ │ │ │ │ ├── CoursesCurriculum__Feedback.res │ │ │ │ │ ├── CoursesCurriculum__FileForm.res │ │ │ │ │ ├── CoursesCurriculum__Grade.res │ │ │ │ │ ├── CoursesCurriculum__GradeBar.res │ │ │ │ │ ├── CoursesCurriculum__Grading.res │ │ │ │ │ ├── CoursesCurriculum__LatestSubmission.res │ │ │ │ │ ├── CoursesCurriculum__Learn.res │ │ │ │ │ ├── CoursesCurriculum__Level.res │ │ │ │ │ ├── CoursesCurriculum__LevelSelector.res │ │ │ │ │ ├── CoursesCurriculum__LevelUpButton.res │ │ │ │ │ ├── CoursesCurriculum__Notice.res │ │ │ │ │ ├── CoursesCurriculum__NoticeManager.res │ │ │ │ │ ├── CoursesCurriculum__Overlay.res │ │ │ │ │ ├── CoursesCurriculum__Quiz.res │ │ │ │ │ ├── CoursesCurriculum__QuizQuestion.res │ │ │ │ │ ├── CoursesCurriculum__Submission.res │ │ │ │ │ ├── CoursesCurriculum__SubmissionBuilder.res │ │ │ │ │ ├── CoursesCurriculum__SubmissionItem.res │ │ │ │ │ ├── CoursesCurriculum__SubmissionsAndFeedback.res │ │ │ │ │ ├── CoursesCurriculum__Target.res │ │ │ │ │ ├── CoursesCurriculum__TargetDetails.res │ │ │ │ │ ├── CoursesCurriculum__TargetGroup.res │ │ │ │ │ ├── CoursesCurriculum__TargetStatus.res │ │ │ │ │ ├── CoursesCurriculum__Team.res │ │ │ │ │ ├── CoursesCurriculum__Types.res │ │ │ │ │ ├── CoursesCurriculum__UndoButton.res │ │ │ │ │ ├── CoursesCurriculum__UrlForm.res │ │ │ │ │ ├── CoursesCurriculum__User.res │ │ │ │ │ ├── CoursesReview__Checklist.res │ │ │ │ │ ├── CoursesReview__ChecklistEditor.res │ │ │ │ │ ├── CoursesReview__ChecklistShow.res │ │ │ │ │ ├── CoursesReview__ChecklistShowFeedback.res │ │ │ │ │ ├── CoursesReview__Feedback.res │ │ │ │ │ ├── CoursesReview__FeedbackEditor.res │ │ │ │ │ ├── CoursesReview__Grade.res │ │ │ │ │ ├── CoursesReview__GradeCard.res │ │ │ │ │ ├── CoursesReview__IndexSubmission.res │ │ │ │ │ ├── CoursesReview__Level.res │ │ │ │ │ ├── CoursesReview__OverlaySubmission.res │ │ │ │ │ ├── CoursesReview__ReviewChecklistItem.res │ │ │ │ │ ├── CoursesReview__ReviewChecklistResult.res │ │ │ │ │ ├── CoursesReview__Root.res │ │ │ │ │ ├── CoursesReview__ShowFeedback.res │ │ │ │ │ ├── CoursesReview__Student.res │ │ │ │ │ ├── CoursesReview__SubmissionDetails.res │ │ │ │ │ ├── CoursesReview__SubmissionOverlay.res │ │ │ │ │ ├── CoursesReview__Submissions.res │ │ │ │ │ ├── CoursesReview__SubmissionsList.res │ │ │ │ │ ├── CoursesReview__SubmissionsTab.res │ │ │ │ │ ├── CoursesReview__Types.res │ │ │ │ │ ├── CoursesStudents__CoachNote.res │ │ │ │ │ ├── CoursesStudents__CoachNoteShow.res │ │ │ │ │ ├── CoursesStudents__CoachNotes.res │ │ │ │ │ ├── CoursesStudents__Course.res │ │ │ │ │ ├── CoursesStudents__EvaluationCriterion.res │ │ │ │ │ ├── CoursesStudents__Grade.res │ │ │ │ │ ├── CoursesStudents__Level.res │ │ │ │ │ ├── CoursesStudents__LevelDistribution.res │ │ │ │ │ ├── CoursesStudents__Root.res │ │ │ │ │ ├── CoursesStudents__StudentDetails.res │ │ │ │ │ ├── CoursesStudents__StudentOverlay.res │ │ │ │ │ ├── CoursesStudents__Submission.res │ │ │ │ │ ├── CoursesStudents__Submissions.res │ │ │ │ │ ├── CoursesStudents__SubmissionsList.res │ │ │ │ │ ├── CoursesStudents__TeamCoaches.res │ │ │ │ │ ├── CoursesStudents__TeamInfo.res │ │ │ │ │ ├── CoursesStudents__Teams.res │ │ │ │ │ ├── CoursesStudents__TeamsList.res │ │ │ │ │ ├── CoursesStudents__Types.res │ │ │ │ │ ├── SubmissionChecklistItem.res │ │ │ │ │ ├── SubmissionChecklistItemShow.res │ │ │ │ │ └── SubmissionChecklistShow.res │ │ │ │ ├── home │ │ │ │ │ └── HomeStyleguide__MarkdownSyntaxHighlightingPreview.res │ │ │ │ ├── layouts │ │ │ │ │ ├── SchoolAdminNavbar__Course.res │ │ │ │ │ ├── SchoolAdminNavbar__CourseDropdown.res │ │ │ │ │ ├── SchoolAdminNavbar__Root.res │ │ │ │ │ ├── SchoolAdminNavbar__Types.res │ │ │ │ │ ├── StudentCourse__Course.res │ │ │ │ │ ├── StudentCourse__Header.res │ │ │ │ │ ├── StudentTopNav.res │ │ │ │ │ ├── StudentTopNav__DropDown.res │ │ │ │ │ ├── StudentTopNav__NavLink.res │ │ │ │ │ └── StudentTopNav__Types.res │ │ │ │ ├── packages │ │ │ │ │ ├── MultiselectDropdown.res │ │ │ │ │ ├── MultiselectDropdown__Example.res │ │ │ │ │ ├── MultiselectInline.res │ │ │ │ │ ├── MultiselectInline__Example.res │ │ │ │ │ ├── PfIcon.res │ │ │ │ │ └── PfIcon__Example.res │ │ │ │ ├── packs │ │ │ │ │ ├── ConvertMarkdownPack.res │ │ │ │ │ ├── CoursesApplyPack.res │ │ │ │ │ ├── CoursesCurriculumPack.res │ │ │ │ │ ├── CoursesReviewPack.res │ │ │ │ │ ├── CoursesStudentsPack.res │ │ │ │ │ ├── HomeStyleguidePack.res │ │ │ │ │ ├── QuestionsEditorPack.res │ │ │ │ │ ├── QuestionsShowPack.res │ │ │ │ │ ├── SchoolAdminsPack.res │ │ │ │ │ ├── SchoolCommunitiesPack.res │ │ │ │ │ ├── SchoolLayoutPack.res │ │ │ │ │ ├── SchoolsCoachesCourseIndexPack.res │ │ │ │ │ ├── SchoolsCoachesSchoolIndexPack.res │ │ │ │ │ ├── SchoolsCoursesAuthorsPack.res │ │ │ │ │ ├── SchoolsCoursesCurriculumPack.res │ │ │ │ │ ├── SchoolsCoursesEvaluationCriteriaPack.res │ │ │ │ │ ├── SchoolsCoursesExportsPack.res │ │ │ │ │ ├── SchoolsCoursesInactiveStudentsPack.res │ │ │ │ │ ├── SchoolsCoursesIndexPack.res │ │ │ │ │ ├── SchoolsCoursesStudentsPack.res │ │ │ │ │ ├── SchoolsCustomizePack.res │ │ │ │ │ ├── StudentCourseLayoutPack.res │ │ │ │ │ ├── StudentTopNavPack.res │ │ │ │ │ ├── UserSessionNewPack.res │ │ │ │ │ ├── UserSessionResetPasswordPack.res │ │ │ │ │ └── UsersHomePack.res │ │ │ │ ├── questions │ │ │ │ │ ├── QuestionsShow.res │ │ │ │ │ ├── QuestionsShow__AddComment.res │ │ │ │ │ ├── QuestionsShow__Answer.res │ │ │ │ │ ├── QuestionsShow__AnswerEditor.res │ │ │ │ │ ├── QuestionsShow__AnswerShow.res │ │ │ │ │ ├── QuestionsShow__ArchiveManager.res │ │ │ │ │ ├── QuestionsShow__Comment.res │ │ │ │ │ ├── QuestionsShow__CommentShow.res │ │ │ │ │ ├── QuestionsShow__Like.res │ │ │ │ │ ├── QuestionsShow__LikeManager.res │ │ │ │ │ ├── QuestionsShow__LinkedTarget.res │ │ │ │ │ ├── QuestionsShow__Question.res │ │ │ │ │ ├── QuestionsShow__QuestionEditor.res │ │ │ │ │ ├── QuestionsShow__QuestionSuggestion.res │ │ │ │ │ ├── QuestionsShow__Target.res │ │ │ │ │ ├── QuestionsShow__Types.res │ │ │ │ │ ├── QuestionsShow__User.res │ │ │ │ │ └── QuestionsShow__UserShow.res │ │ │ │ ├── schools │ │ │ │ │ ├── CoachesSchoolIndex__Coach.res │ │ │ │ │ ├── CoachesSchoolIndex__Coach.resi │ │ │ │ │ ├── CoachesSchoolIndex__Types.res │ │ │ │ │ ├── CourseAuthors__Author.res │ │ │ │ │ ├── CourseAuthors__Form.res │ │ │ │ │ ├── CourseAuthors__Root.res │ │ │ │ │ ├── CourseAuthors__Types.res │ │ │ │ │ ├── CourseCoaches__CourseCoach.res │ │ │ │ │ ├── CourseCoaches__EnrollmentForm.res │ │ │ │ │ ├── CourseCoaches__InfoForm.res │ │ │ │ │ ├── CourseCoaches__InfoFormTeam.res │ │ │ │ │ ├── CourseCoaches__Root.res │ │ │ │ │ ├── CourseCoaches__SchoolCoach.res │ │ │ │ │ ├── CourseCoaches__Team.res │ │ │ │ │ ├── CourseCoaches__Types.res │ │ │ │ │ ├── CourseEditor.res │ │ │ │ │ ├── CourseEditor__Course.res │ │ │ │ │ ├── CourseEditor__Form.res │ │ │ │ │ ├── CourseEditor__ImagesForm.res │ │ │ │ │ ├── CourseEditor__Types.res │ │ │ │ │ ├── CourseExports__Course.res │ │ │ │ │ ├── CourseExports__CourseExport.res │ │ │ │ │ ├── CourseExports__Root.res │ │ │ │ │ ├── CourseExports__Tag.res │ │ │ │ │ ├── CourseExports__Types.res │ │ │ │ │ ├── CurriculumEditor.res │ │ │ │ │ ├── CurriculumEditor__AnswerOption.res │ │ │ │ │ ├── CurriculumEditor__ContentBlockCreator.res │ │ │ │ │ ├── CurriculumEditor__ContentBlockEditor.res │ │ │ │ │ ├── CurriculumEditor__ContentEditor.res │ │ │ │ │ ├── CurriculumEditor__ContentTypePicker.res │ │ │ │ │ ├── CurriculumEditor__Course.res │ │ │ │ │ ├── CurriculumEditor__EvaluationCriteria.res │ │ │ │ │ ├── CurriculumEditor__FileBlockEditor.res │ │ │ │ │ ├── CurriculumEditor__ImageBlockEditor.res │ │ │ │ │ ├── CurriculumEditor__Level.res │ │ │ │ │ ├── CurriculumEditor__LevelEditor.res │ │ │ │ │ ├── CurriculumEditor__MarkdownBlockEditor.res │ │ │ │ │ ├── CurriculumEditor__QuizQuestion.res │ │ │ │ │ ├── CurriculumEditor__SortResourcesMutation.res │ │ │ │ │ ├── CurriculumEditor__Target.res │ │ │ │ │ ├── CurriculumEditor__TargetChecklistItemEditor.res │ │ │ │ │ ├── CurriculumEditor__TargetDetails.res │ │ │ │ │ ├── CurriculumEditor__TargetDetailsEditor.res │ │ │ │ │ ├── CurriculumEditor__TargetDrawer.res │ │ │ │ │ ├── CurriculumEditor__TargetGroup.res │ │ │ │ │ ├── CurriculumEditor__TargetGroupEditor.res │ │ │ │ │ ├── CurriculumEditor__TargetGroupShow.res │ │ │ │ │ ├── CurriculumEditor__TargetQuizAnswer.res │ │ │ │ │ ├── CurriculumEditor__TargetQuizQuestion.res │ │ │ │ │ ├── CurriculumEditor__TargetShow.res │ │ │ │ │ ├── CurriculumEditor__TargetVersionSelector.res │ │ │ │ │ ├── CurriculumEditor__Types.res │ │ │ │ │ ├── CurriculumEditor__Version.res │ │ │ │ │ ├── CurriculumEditor__VersionsEditor.res │ │ │ │ │ ├── EvaluationCriteria__Index.res │ │ │ │ │ ├── EvaluationCriterionEditor__Form.res │ │ │ │ │ ├── InactiveStudentsPanel__Student.res │ │ │ │ │ ├── InactiveStudentsPanel__Student.resi │ │ │ │ │ ├── InactiveStudentsPanel__Team.res │ │ │ │ │ ├── InactiveStudentsPanel__Team.resi │ │ │ │ │ ├── InactiveStudentsPanel__Types.res │ │ │ │ │ ├── SA_Coaches_CoachEditor.res │ │ │ │ │ ├── SA_Coaches_SchoolIndex.res │ │ │ │ │ ├── SA_InactiveStudentsPanel.res │ │ │ │ │ ├── SchoolAdmin.res │ │ │ │ │ ├── SchoolAdmin__EditorDrawer.res │ │ │ │ │ ├── SchoolAdmins__Editor.res │ │ │ │ │ ├── SchoolAdmins__Form.res │ │ │ │ │ ├── SchoolCommunities__Editor.res │ │ │ │ │ ├── SchoolCommunities__Index.res │ │ │ │ │ ├── SchoolCommunities__IndexTypes.res │ │ │ │ │ ├── SchoolCustomize__AgreementsEditor.res │ │ │ │ │ ├── SchoolCustomize__ContactsEditor.res │ │ │ │ │ ├── SchoolCustomize__Customizations.res │ │ │ │ │ ├── SchoolCustomize__DetailsEditor.res │ │ │ │ │ ├── SchoolCustomize__ImageFileInput.res │ │ │ │ │ ├── SchoolCustomize__ImagesEditor.res │ │ │ │ │ ├── SchoolCustomize__LinksEditor.res │ │ │ │ │ ├── SchoolCustomize__MoreLinks.res │ │ │ │ │ ├── SchoolCustomize__Root.res │ │ │ │ │ ├── SchoolCustomize__SocialLink.res │ │ │ │ │ ├── SchoolCustomize__Types.res │ │ │ │ │ ├── SchoolCustomize__UpdateSchoolStringError.res │ │ │ │ │ ├── School__InputGroupError.res │ │ │ │ │ ├── School__SelectBox.res │ │ │ │ │ ├── StudentsEditor__ActionsForm.res │ │ │ │ │ ├── StudentsEditor__Coach.res │ │ │ │ │ ├── StudentsEditor__Coach.resi │ │ │ │ │ ├── StudentsEditor__CreateForm.res │ │ │ │ │ ├── StudentsEditor__Filter.res │ │ │ │ │ ├── StudentsEditor__Level.res │ │ │ │ │ ├── StudentsEditor__Level.resi │ │ │ │ │ ├── StudentsEditor__Page.res │ │ │ │ │ ├── StudentsEditor__Root.res │ │ │ │ │ ├── StudentsEditor__Search.res │ │ │ │ │ ├── StudentsEditor__SearchableTagList.res │ │ │ │ │ ├── StudentsEditor__Student.res │ │ │ │ │ ├── StudentsEditor__StudentInfo.res │ │ │ │ │ ├── StudentsEditor__StudentInfo.resi │ │ │ │ │ ├── StudentsEditor__StudentInfoForm.res │ │ │ │ │ ├── StudentsEditor__Team.res │ │ │ │ │ ├── StudentsEditor__TeamsList.res │ │ │ │ │ ├── StudentsEditor__Types.res │ │ │ │ │ ├── StudentsEditor__UpdateDetailsForm.res │ │ │ │ │ ├── StudentsEditor__UpdateForm.res │ │ │ │ │ ├── TargetChecklistItem.res │ │ │ │ │ └── studentsEditor__SelectedStudent.res │ │ │ │ ├── shared │ │ │ │ │ ├── Api.res │ │ │ │ │ ├── ArrayUtils.res │ │ │ │ │ ├── AuthenticityToken.res │ │ │ │ │ ├── Avatar.res │ │ │ │ │ ├── Checkbox.res │ │ │ │ │ ├── ContentBlock.res │ │ │ │ │ ├── Date.res │ │ │ │ │ ├── DatePicker.res │ │ │ │ │ ├── DateTime.res │ │ │ │ │ ├── DateTime.resi │ │ │ │ │ ├── DisablingCover.res │ │ │ │ │ ├── DomUtils.res │ │ │ │ │ ├── Dropdown.res │ │ │ │ │ ├── EmailUtils.res │ │ │ │ │ ├── EvaluationCriterion.res │ │ │ │ │ ├── FaIcon.res │ │ │ │ │ ├── GradeLabel.res │ │ │ │ │ ├── GraphqlErrorHandler.res │ │ │ │ │ ├── GraphqlQuery.res │ │ │ │ │ ├── GraphqlQuery.resi │ │ │ │ │ ├── HelpIcon.res │ │ │ │ │ ├── Icon.res │ │ │ │ │ ├── Link.res │ │ │ │ │ ├── ListUtils.res │ │ │ │ │ ├── Loading.res │ │ │ │ │ ├── LoadingSpinner.res │ │ │ │ │ ├── Markdown.res │ │ │ │ │ ├── MarkdownBlock.res │ │ │ │ │ ├── MarkdownEditor.res │ │ │ │ │ ├── Notification.res │ │ │ │ │ ├── OptionUtils.res │ │ │ │ │ ├── PrismJs.res │ │ │ │ │ ├── Radio.res │ │ │ │ │ ├── Rollbar.res │ │ │ │ │ ├── ScrollLock.res │ │ │ │ │ ├── SkeletonLoading.res │ │ │ │ │ ├── Sorter.res │ │ │ │ │ ├── TargetContentView.res │ │ │ │ │ ├── TextareaAutosize.res │ │ │ │ │ ├── Tooltip.res │ │ │ │ │ ├── UrlUtils.res │ │ │ │ │ ├── User.res │ │ │ │ │ ├── UserProxy.res │ │ │ │ │ └── WindowUtils.res │ │ │ │ └── users │ │ │ │ │ ├── UserSessionNew.res │ │ │ │ │ ├── UserSessionResetPassword.res │ │ │ │ │ ├── UsersHome__Community.res │ │ │ │ │ ├── UsersHome__Course.res │ │ │ │ │ ├── UsersHome__Root.res │ │ │ │ │ └── UsersHome__Types.res │ │ │ ├── reason-react-hackernews │ │ │ │ ├── CommentList.res │ │ │ │ ├── CommentsPage.res │ │ │ │ ├── NotFound.res │ │ │ │ ├── StoryData.res │ │ │ │ ├── StoryListItem.res │ │ │ │ ├── TopStoriesPage.res │ │ │ │ ├── Utils.res │ │ │ │ ├── app.res │ │ │ │ ├── index.res │ │ │ │ └── link.res │ │ │ ├── reason-react │ │ │ │ └── src │ │ │ │ │ ├── React.res │ │ │ │ │ ├── ReactDOMRe.res │ │ │ │ │ ├── ReactDOMServerRe.res │ │ │ │ │ ├── ReactEvent.res │ │ │ │ │ ├── ReactEvent.resi │ │ │ │ │ ├── ReactEventRe.res │ │ │ │ │ ├── ReactEventRe.resi │ │ │ │ │ ├── ReasonReact.resi │ │ │ │ │ ├── ReasonReactCompat.res │ │ │ │ │ ├── ReasonReactCompat.resi │ │ │ │ │ ├── ReasonReactOptimizedCreateClass.res │ │ │ │ │ ├── ReasonReactRouter.res │ │ │ │ │ └── ReasonReactRouter.resi │ │ │ ├── reasongl │ │ │ │ ├── RGLConstants.res │ │ │ │ ├── RGLEvents.res │ │ │ │ ├── RGLInterface.res │ │ │ │ └── ReasonglInterface.res │ │ │ ├── reasonml.org │ │ │ │ ├── bindings │ │ │ │ │ └── Next.res │ │ │ │ ├── common │ │ │ │ │ ├── App.res │ │ │ │ │ ├── BeltData.res │ │ │ │ │ ├── ColorTheme.res │ │ │ │ │ ├── HighlightJs.res │ │ │ │ │ ├── Mdx.res │ │ │ │ │ └── Util.res │ │ │ │ ├── components │ │ │ │ │ ├── ApiIntro.res │ │ │ │ │ ├── ApiMarkdown.res │ │ │ │ │ ├── CodeExample.res │ │ │ │ │ ├── CodeSignature.res │ │ │ │ │ ├── Icon.res │ │ │ │ │ ├── Markdown.res │ │ │ │ │ ├── Meta.res │ │ │ │ │ ├── Navigation.res │ │ │ │ │ ├── Tag.res │ │ │ │ │ └── Text.res │ │ │ │ └── layouts │ │ │ │ │ ├── ApiLayout.res │ │ │ │ │ ├── BeltDocsLayout.res │ │ │ │ │ ├── CommunityLayout.res │ │ │ │ │ ├── DocsLayout.res │ │ │ │ │ ├── GenTypeDocsLayout.res │ │ │ │ │ ├── JavaScriptApiLayout.res │ │ │ │ │ ├── JsDocsLayout.res │ │ │ │ │ ├── MainLayout.res │ │ │ │ │ ├── ManualDocsLayout.res │ │ │ │ │ ├── ReasonCompilerDocsLayout.res │ │ │ │ │ ├── ReasonReactDocsLayout.res │ │ │ │ │ └── SidebarLayout.res │ │ │ ├── reductive │ │ │ │ ├── reductive.res │ │ │ │ ├── reductive.resi │ │ │ │ ├── reductiveContext.res │ │ │ │ ├── reductiveContext.resi │ │ │ │ └── subscription.res │ │ │ ├── reprocessing │ │ │ │ ├── Reprocessing.res │ │ │ │ ├── Reprocessing.resi │ │ │ │ ├── Reprocessing_Common.res │ │ │ │ ├── Reprocessing_Constants.res │ │ │ │ ├── Reprocessing_Constants.resi │ │ │ │ ├── Reprocessing_Draw.res │ │ │ │ ├── Reprocessing_Draw.resi │ │ │ │ ├── Reprocessing_Env.res │ │ │ │ ├── Reprocessing_Env.resi │ │ │ │ ├── Reprocessing_Events.res │ │ │ │ ├── Reprocessing_Font.res │ │ │ │ ├── Reprocessing_Internal.res │ │ │ │ ├── Reprocessing_Matrix.res │ │ │ │ ├── Reprocessing_Shaders.res │ │ │ │ ├── Reprocessing_Types.res │ │ │ │ ├── Reprocessing_Utils.res │ │ │ │ └── Reprocessing_Utils.resi │ │ │ ├── warp │ │ │ │ ├── Warp.res │ │ │ │ ├── Warp.resi │ │ │ │ ├── Warp_Client.res │ │ │ │ ├── Warp_Client.resi │ │ │ │ ├── Warp_Event.res │ │ │ │ ├── Warp_Event.resi │ │ │ │ ├── Warp_FormData.res │ │ │ │ ├── Warp_FormData.resi │ │ │ │ ├── Warp_Header.res │ │ │ │ ├── Warp_Header.resi │ │ │ │ ├── Warp_Method.res │ │ │ │ ├── Warp_Method.resi │ │ │ │ ├── Warp_QueryString.res │ │ │ │ ├── Warp_QueryString.resi │ │ │ │ ├── Warp_ResponseType.res │ │ │ │ ├── Warp_ResponseType.resi │ │ │ │ ├── Warp_Settings.res │ │ │ │ ├── Warp_Settings.resi │ │ │ │ ├── Warp_Types.res │ │ │ │ ├── Warp_Types.resi │ │ │ │ ├── Warp_Types_Client.res │ │ │ │ ├── Warp_Types_Method.res │ │ │ │ ├── Warp_Types_ResponseType.res │ │ │ │ └── Warp_XHR.res │ │ │ └── wildcards-world-ui │ │ │ │ ├── About.res │ │ │ │ ├── Accounting.res │ │ │ │ ├── Accounting_test.res │ │ │ │ ├── ActionButtons.res │ │ │ │ ├── Animal.res │ │ │ │ ├── AnimalAnnouncement.res │ │ │ │ ├── Animal_test.res │ │ │ │ ├── Announcement.res │ │ │ │ ├── ArtistProfiles.res │ │ │ │ ├── Async.res │ │ │ │ ├── BN.res │ │ │ │ ├── BadWords.res │ │ │ │ ├── Blockie.res │ │ │ │ ├── Buy.res │ │ │ │ ├── BuyGrid.res │ │ │ │ ├── BuyInput.res │ │ │ │ ├── CONSTANTS.res │ │ │ │ ├── Carousel.res │ │ │ │ ├── Client.res │ │ │ │ ├── Components.res │ │ │ │ ├── Config.res │ │ │ │ ├── ContractActions.res │ │ │ │ ├── ContractUtil.res │ │ │ │ ├── CoreConcepts.res │ │ │ │ ├── CountDown.res │ │ │ │ ├── CustomerBenefit.res │ │ │ │ ├── Dai.res │ │ │ │ ├── DaiPermit.res │ │ │ │ ├── Dapp.res │ │ │ │ ├── DiscordChat.res │ │ │ │ ├── EmailSignup.res │ │ │ │ ├── Erc712.res │ │ │ │ ├── Eth.res │ │ │ │ ├── Ethers.res │ │ │ │ ├── FAQs.res │ │ │ │ ├── FeaturedIn.res │ │ │ │ ├── FinalNote.res │ │ │ │ ├── Footer.res │ │ │ │ ├── Globals.res │ │ │ │ ├── Header.res │ │ │ │ ├── Helper.res │ │ │ │ ├── HomepageLeaderBoard.res │ │ │ │ ├── HowItWorks.res │ │ │ │ ├── IncreaseIterationPage.res │ │ │ │ ├── Index.res │ │ │ │ ├── Info.res │ │ │ │ ├── InputHelp.res │ │ │ │ ├── Layout.res │ │ │ │ ├── LazyThreeBoxUpdate.res │ │ │ │ ├── LeaderBoards.res │ │ │ │ ├── Login.res │ │ │ │ ├── MonthlyContribution.res │ │ │ │ ├── OrgProfile.res │ │ │ │ ├── Partners.res │ │ │ │ ├── PhotoGallery.res │ │ │ │ ├── PriceDisplay.res │ │ │ │ ├── ProfileIcon.res │ │ │ │ ├── QVSelect.res │ │ │ │ ├── QlHooks.res │ │ │ │ ├── ReactSwitch.res │ │ │ │ ├── ReactTabs.res │ │ │ │ ├── ReactTranslate.res │ │ │ │ ├── ResponsiveCarousel.res │ │ │ │ ├── Rimble.res │ │ │ │ ├── RootProvider.res │ │ │ │ ├── RootProviderTypes.res │ │ │ │ ├── Router.res │ │ │ │ ├── SocialButtons.res │ │ │ │ ├── SsrEntryPoint.res │ │ │ │ ├── Styles.res │ │ │ │ ├── Team.res │ │ │ │ ├── ThemeProvider.res │ │ │ │ ├── ThreeBoxUpdate.res │ │ │ │ ├── TokenId.res │ │ │ │ ├── TotalContribution.res │ │ │ │ ├── TotalDaysHeld.res │ │ │ │ ├── TotalRaised.res │ │ │ │ ├── Transak.res │ │ │ │ ├── TxTemplate.res │ │ │ │ ├── UpdateDeposit.res │ │ │ │ ├── UpdatePrice.res │ │ │ │ ├── UsdPriceProvider.res │ │ │ │ ├── UserProfile.res │ │ │ │ ├── UserProvider.res │ │ │ │ ├── Util_test.res │ │ │ │ ├── Validate.res │ │ │ │ ├── VotePage.res │ │ │ │ ├── VotePageOriginal.res │ │ │ │ ├── Web3.res │ │ │ │ ├── Web3Connect.res │ │ │ │ ├── Web3Connectors.res │ │ │ │ ├── Web3Utils.res │ │ │ │ ├── WildcardsLoader.res │ │ │ │ ├── WildcardsLogo.res │ │ │ │ └── WildcardsProvider.res │ │ ├── oprint │ │ │ ├── expected │ │ │ │ └── oprint.resi.txt │ │ │ └── oprint.res │ │ ├── parsing │ │ │ ├── errors │ │ │ │ ├── expressions │ │ │ │ │ ├── ambiguousArrow.res │ │ │ │ │ ├── array.res │ │ │ │ │ ├── arrow.res │ │ │ │ │ ├── block.res │ │ │ │ │ ├── consecutive.res │ │ │ │ │ ├── emptyBlock.res │ │ │ │ │ ├── emptyeof.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── ambiguousArrow.res.txt │ │ │ │ │ │ ├── array.res.txt │ │ │ │ │ │ ├── arrow.res.txt │ │ │ │ │ │ ├── block.res.txt │ │ │ │ │ │ ├── consecutive.res.txt │ │ │ │ │ │ ├── emptyBlock.res.txt │ │ │ │ │ │ ├── emptyeof.res.txt │ │ │ │ │ │ ├── id.res.txt │ │ │ │ │ │ ├── if.res.txt │ │ │ │ │ │ ├── ifLet.res.txt │ │ │ │ │ │ ├── implementation.res.txt │ │ │ │ │ │ ├── jsx.res.txt │ │ │ │ │ │ ├── letBinding.res.txt │ │ │ │ │ │ ├── misc.res.txt │ │ │ │ │ │ ├── object.res.txt │ │ │ │ │ │ ├── record.res.txt │ │ │ │ │ │ ├── setField.res.txt │ │ │ │ │ │ ├── stringLiteral.res.txt │ │ │ │ │ │ ├── taggedTemplateLiterals.res.txt │ │ │ │ │ │ ├── try.res.txt │ │ │ │ │ │ └── unexpectedConstraint.res.txt │ │ │ │ │ ├── id.res │ │ │ │ │ ├── if.res │ │ │ │ │ ├── ifLet.res │ │ │ │ │ ├── implementation.res │ │ │ │ │ ├── jsx.res │ │ │ │ │ ├── letBinding.res │ │ │ │ │ ├── misc.res │ │ │ │ │ ├── object.res │ │ │ │ │ ├── record.res │ │ │ │ │ ├── setField.res │ │ │ │ │ ├── stringLiteral.res │ │ │ │ │ ├── taggedTemplateLiterals.res │ │ │ │ │ ├── try.res │ │ │ │ │ └── unexpectedConstraint.res │ │ │ │ ├── other │ │ │ │ │ ├── breadcrumbs170.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── breadcrumbs170.res.txt │ │ │ │ │ │ ├── for.res.txt │ │ │ │ │ │ ├── hashIdent.res.txt │ │ │ │ │ │ ├── labelledParameters.res.txt │ │ │ │ │ │ ├── oneElementTuple.res.txt │ │ │ │ │ │ ├── patternMatching.res.txt │ │ │ │ │ │ ├── regionMissingComma.res.txt │ │ │ │ │ │ └── spread.res.txt │ │ │ │ │ ├── for.res │ │ │ │ │ ├── hashIdent.res │ │ │ │ │ ├── labelledParameters.res │ │ │ │ │ ├── oneElementTuple.res │ │ │ │ │ ├── patternMatching.res │ │ │ │ │ ├── regionMissingComma.res │ │ │ │ │ └── spread.res │ │ │ │ ├── pattern │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── missing.res.txt │ │ │ │ │ │ └── templateLiteral.res.txt │ │ │ │ │ ├── missing.res │ │ │ │ │ └── templateLiteral.res │ │ │ │ ├── scanner │ │ │ │ │ ├── badCharacter.res │ │ │ │ │ ├── bigint.res │ │ │ │ │ ├── escapeSequence.res │ │ │ │ │ ├── exoticIdent.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── badCharacter.res.txt │ │ │ │ │ │ ├── bigint.res.txt │ │ │ │ │ │ ├── escapeSequence.res.txt │ │ │ │ │ │ ├── exoticIdent.res.txt │ │ │ │ │ │ ├── exponent_notation.res.txt │ │ │ │ │ │ ├── oldDerefOp.res.txt │ │ │ │ │ │ ├── unclosedComment.res.txt │ │ │ │ │ │ └── unclosedString.res.txt │ │ │ │ │ ├── exponent_notation.res │ │ │ │ │ ├── oldDerefOp.res │ │ │ │ │ ├── unclosedComment.res │ │ │ │ │ └── unclosedString.res │ │ │ │ ├── signature │ │ │ │ │ ├── attributes.resi │ │ │ │ │ ├── closingBraces.resi │ │ │ │ │ └── expected │ │ │ │ │ │ ├── attributes.resi.txt │ │ │ │ │ │ └── closingBraces.resi.txt │ │ │ │ ├── structure │ │ │ │ │ ├── attributes.res │ │ │ │ │ ├── closingBraces.res │ │ │ │ │ ├── consecutive.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── attributes.res.txt │ │ │ │ │ │ ├── closingBraces.res.txt │ │ │ │ │ │ ├── consecutive.res.txt │ │ │ │ │ │ ├── external.res.txt │ │ │ │ │ │ ├── gh16A.res.txt │ │ │ │ │ │ ├── gh16B.res.txt │ │ │ │ │ │ ├── letBinding.res.txt │ │ │ │ │ │ └── letBindingPatternKeyword.res.txt │ │ │ │ │ ├── external.res │ │ │ │ │ ├── gh16A.res │ │ │ │ │ ├── gh16B.res │ │ │ │ │ ├── letBinding.res │ │ │ │ │ └── letBindingPatternKeyword.res │ │ │ │ ├── typeDef │ │ │ │ │ ├── emptyInlineRecord.res │ │ │ │ │ ├── emptyRecord.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── emptyInlineRecord.res.txt │ │ │ │ │ │ ├── emptyRecord.res.txt │ │ │ │ │ │ ├── inlineRecord.res.txt │ │ │ │ │ │ ├── keywordOnly.res.txt │ │ │ │ │ │ ├── namedParameters.res.txt │ │ │ │ │ │ ├── nestedRecord.res.txt │ │ │ │ │ │ ├── polyvariant.res.txt │ │ │ │ │ │ ├── record.res.txt │ │ │ │ │ │ ├── recordDocComment.res.txt │ │ │ │ │ │ ├── recordMutable.res.txt │ │ │ │ │ │ ├── typeDef.res.txt │ │ │ │ │ │ └── typeParams.res.txt │ │ │ │ │ ├── inlineRecord.res │ │ │ │ │ ├── keywordOnly.res │ │ │ │ │ ├── namedParameters.res │ │ │ │ │ ├── nestedRecord.res │ │ │ │ │ ├── polyvariant.res │ │ │ │ │ ├── record.res │ │ │ │ │ ├── recordDocComment.res │ │ │ │ │ ├── recordMutable.res │ │ │ │ │ ├── typeDef.res │ │ │ │ │ └── typeParams.res │ │ │ │ └── typexpr │ │ │ │ │ ├── arrow.res │ │ │ │ │ ├── bsObjSugar.res │ │ │ │ │ ├── expected │ │ │ │ │ ├── arrow.res.txt │ │ │ │ │ ├── bsObjSugar.res.txt │ │ │ │ │ ├── garbage.res.txt │ │ │ │ │ ├── objectSpread.res.txt │ │ │ │ │ ├── typeConstructorArgs.res.txt │ │ │ │ │ └── typeVar.res.txt │ │ │ │ │ ├── garbage.res │ │ │ │ │ ├── objectSpread.res │ │ │ │ │ ├── typeConstructorArgs.res │ │ │ │ │ └── typeVar.res │ │ │ ├── grammar │ │ │ │ ├── expressions │ │ │ │ │ ├── UncurriedAlways.res │ │ │ │ │ ├── UncurriedByDefault.res │ │ │ │ │ ├── apply.res │ │ │ │ │ ├── argument.res │ │ │ │ │ ├── array.res │ │ │ │ │ ├── arrow.res │ │ │ │ │ ├── async.res │ │ │ │ │ ├── await.res │ │ │ │ │ ├── bigint.res │ │ │ │ │ ├── binary.res │ │ │ │ │ ├── binaryNoEs6Arrow.res │ │ │ │ │ ├── block.res │ │ │ │ │ ├── bracedOrRecord.res │ │ │ │ │ ├── bsObject.res │ │ │ │ │ ├── coerce.res │ │ │ │ │ ├── constants.res │ │ │ │ │ ├── constructor.res │ │ │ │ │ ├── dict.res │ │ │ │ │ ├── es6template.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── UncurriedAlways.res.txt │ │ │ │ │ │ ├── UncurriedByDefault.res.txt │ │ │ │ │ │ ├── apply.res.txt │ │ │ │ │ │ ├── argument.res.txt │ │ │ │ │ │ ├── array.res.txt │ │ │ │ │ │ ├── arrow.res.txt │ │ │ │ │ │ ├── async.res.txt │ │ │ │ │ │ ├── await.res.txt │ │ │ │ │ │ ├── bigint.res.txt │ │ │ │ │ │ ├── binary.res.txt │ │ │ │ │ │ ├── binaryNoEs6Arrow.res.txt │ │ │ │ │ │ ├── block.res.txt │ │ │ │ │ │ ├── bracedOrRecord.res.txt │ │ │ │ │ │ ├── bsObject.res.txt │ │ │ │ │ │ ├── coerce.res.txt │ │ │ │ │ │ ├── constants.res.txt │ │ │ │ │ │ ├── constructor.res.txt │ │ │ │ │ │ ├── dict.res.txt │ │ │ │ │ │ ├── es6template.res.txt │ │ │ │ │ │ ├── extension.res.txt │ │ │ │ │ │ ├── firstClassModule.res.txt │ │ │ │ │ │ ├── float.res.txt │ │ │ │ │ │ ├── for.res.txt │ │ │ │ │ │ ├── ident.res.txt │ │ │ │ │ │ ├── if.res.txt │ │ │ │ │ │ ├── infix.res.txt │ │ │ │ │ │ ├── jsx.res.txt │ │ │ │ │ │ ├── list.res.txt │ │ │ │ │ │ ├── locallyAbstractTypes.res.txt │ │ │ │ │ │ ├── parenthesized.res.txt │ │ │ │ │ │ ├── polyvariant.res.txt │ │ │ │ │ │ ├── primary.res.txt │ │ │ │ │ │ ├── record.res.txt │ │ │ │ │ │ ├── regex.res.txt │ │ │ │ │ │ ├── sideEffects.res.txt │ │ │ │ │ │ ├── switch.res.txt │ │ │ │ │ │ ├── try.res.txt │ │ │ │ │ │ ├── tuple.res.txt │ │ │ │ │ │ ├── tupleVsDivision.res.txt │ │ │ │ │ │ ├── unary.res.txt │ │ │ │ │ │ ├── unaryOrBinary.res.txt │ │ │ │ │ │ ├── uncurried.res.txt │ │ │ │ │ │ ├── underscoreApply.res.txt │ │ │ │ │ │ └── while.res.txt │ │ │ │ │ ├── extension.res │ │ │ │ │ ├── firstClassModule.res │ │ │ │ │ ├── float.res │ │ │ │ │ ├── for.res │ │ │ │ │ ├── ident.res │ │ │ │ │ ├── if.res │ │ │ │ │ ├── infix.res │ │ │ │ │ ├── jsx.res │ │ │ │ │ ├── list.res │ │ │ │ │ ├── locallyAbstractTypes.res │ │ │ │ │ ├── parenthesized.res │ │ │ │ │ ├── polyvariant.res │ │ │ │ │ ├── primary.res │ │ │ │ │ ├── record.res │ │ │ │ │ ├── regex.res │ │ │ │ │ ├── sideEffects.res │ │ │ │ │ ├── switch.res │ │ │ │ │ ├── try.res │ │ │ │ │ ├── tuple.res │ │ │ │ │ ├── tupleVsDivision.res │ │ │ │ │ ├── unary.res │ │ │ │ │ ├── unaryOrBinary.res │ │ │ │ │ ├── uncurried.res │ │ │ │ │ ├── underscoreApply.res │ │ │ │ │ └── while.res │ │ │ │ ├── ffi │ │ │ │ │ ├── expected │ │ │ │ │ │ └── export.res.txt │ │ │ │ │ └── export.res │ │ │ │ ├── interface │ │ │ │ │ ├── expected │ │ │ │ │ │ └── interface.resi.txt │ │ │ │ │ └── interface.resi │ │ │ │ ├── modexpr │ │ │ │ │ ├── apply.res │ │ │ │ │ ├── constrained.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── apply.res.txt │ │ │ │ │ │ ├── constrained.res.txt │ │ │ │ │ │ ├── firstClassModules.res.txt │ │ │ │ │ │ ├── functor.res.txt │ │ │ │ │ │ ├── ident.res.txt │ │ │ │ │ │ ├── parenthesized.res.txt │ │ │ │ │ │ └── structure.res.txt │ │ │ │ │ ├── firstClassModules.res │ │ │ │ │ ├── functor.res │ │ │ │ │ ├── ident.res │ │ │ │ │ ├── parenthesized.res │ │ │ │ │ └── structure.res │ │ │ │ ├── modtype │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── extension.res.txt │ │ │ │ │ │ ├── functor.res.txt │ │ │ │ │ │ ├── ident.res.txt │ │ │ │ │ │ ├── parenthesized.res.txt │ │ │ │ │ │ ├── signature.res.txt │ │ │ │ │ │ ├── typeof.res.txt │ │ │ │ │ │ └── with.res.txt │ │ │ │ │ ├── extension.res │ │ │ │ │ ├── functor.res │ │ │ │ │ ├── ident.res │ │ │ │ │ ├── parenthesized.res │ │ │ │ │ ├── signature.res │ │ │ │ │ ├── typeof.res │ │ │ │ │ └── with.res │ │ │ │ ├── pattern │ │ │ │ │ ├── any.res │ │ │ │ │ ├── array.res │ │ │ │ │ ├── constant.res │ │ │ │ │ ├── constraint.res │ │ │ │ │ ├── constructor.res │ │ │ │ │ ├── dict.res │ │ │ │ │ ├── exception.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── any.res.txt │ │ │ │ │ │ ├── array.res.txt │ │ │ │ │ │ ├── constant.res.txt │ │ │ │ │ │ ├── constraint.res.txt │ │ │ │ │ │ ├── constructor.res.txt │ │ │ │ │ │ ├── dict.res.txt │ │ │ │ │ │ ├── exception.res.txt │ │ │ │ │ │ ├── extension.res.txt │ │ │ │ │ │ ├── firstClassModules.res.txt │ │ │ │ │ │ ├── lazy.res.txt │ │ │ │ │ │ ├── list.res.txt │ │ │ │ │ │ ├── or.res.txt │ │ │ │ │ │ ├── polyvariants.res.txt │ │ │ │ │ │ ├── record.res.txt │ │ │ │ │ │ ├── tuple.res.txt │ │ │ │ │ │ ├── unit.res.txt │ │ │ │ │ │ ├── var.res.txt │ │ │ │ │ │ ├── variantSpreads.res.txt │ │ │ │ │ │ └── variants.res.txt │ │ │ │ │ ├── extension.res │ │ │ │ │ ├── firstClassModules.res │ │ │ │ │ ├── list.res │ │ │ │ │ ├── or.res │ │ │ │ │ ├── polyvariants.res │ │ │ │ │ ├── record.res │ │ │ │ │ ├── tuple.res │ │ │ │ │ ├── unit.res │ │ │ │ │ ├── var.res │ │ │ │ │ ├── variantSpreads.res │ │ │ │ │ └── variants.res │ │ │ │ ├── signature │ │ │ │ │ ├── exception.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── exception.res.txt │ │ │ │ │ │ ├── external.res.txt │ │ │ │ │ │ ├── include.res.txt │ │ │ │ │ │ ├── itemExtension.res.txt │ │ │ │ │ │ ├── let.res.txt │ │ │ │ │ │ ├── modDecl.res.txt │ │ │ │ │ │ ├── modtype.res.txt │ │ │ │ │ │ ├── open.res.txt │ │ │ │ │ │ ├── recModule.res.txt │ │ │ │ │ │ ├── standAloneAttribute.res.txt │ │ │ │ │ │ ├── typLvlModAlias.res.txt │ │ │ │ │ │ ├── typeDefinition.res.txt │ │ │ │ │ │ └── typext.res.txt │ │ │ │ │ ├── external.res │ │ │ │ │ ├── include.res │ │ │ │ │ ├── itemExtension.res │ │ │ │ │ ├── let.res │ │ │ │ │ ├── modDecl.res │ │ │ │ │ ├── modtype.res │ │ │ │ │ ├── open.res │ │ │ │ │ ├── recModule.res │ │ │ │ │ ├── standAloneAttribute.res │ │ │ │ │ ├── typLvlModAlias.res │ │ │ │ │ ├── typeDefinition.res │ │ │ │ │ └── typext.res │ │ │ │ ├── structure │ │ │ │ │ ├── exceptionDefinition.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── exceptionDefinition.res.txt │ │ │ │ │ │ ├── externalDefinition.res.txt │ │ │ │ │ │ ├── includeStatement.res.txt │ │ │ │ │ │ ├── itemExtension.res.txt │ │ │ │ │ │ ├── letBinding.res.txt │ │ │ │ │ │ ├── modExprExtension.res.txt │ │ │ │ │ │ ├── modType.res.txt │ │ │ │ │ │ ├── module.res.txt │ │ │ │ │ │ ├── moduleTypeExtension.res.txt │ │ │ │ │ │ ├── openDescription.res.txt │ │ │ │ │ │ ├── recursiveModules.res.txt │ │ │ │ │ │ ├── standaloneAttribute.res.txt │ │ │ │ │ │ └── typeDefinition.res.txt │ │ │ │ │ ├── externalDefinition.res │ │ │ │ │ ├── includeStatement.res │ │ │ │ │ ├── itemExtension.res │ │ │ │ │ ├── letBinding.res │ │ │ │ │ ├── modExprExtension.res │ │ │ │ │ ├── modType.res │ │ │ │ │ ├── module.res │ │ │ │ │ ├── moduleTypeExtension.res │ │ │ │ │ ├── openDescription.res │ │ │ │ │ ├── recursiveModules.res │ │ │ │ │ ├── standaloneAttribute.res │ │ │ │ │ └── typeDefinition.res │ │ │ │ ├── typedefinition │ │ │ │ │ ├── bsObject.res │ │ │ │ │ ├── constructorDeclaration.res │ │ │ │ │ ├── diamond.res │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── bsObject.res.txt │ │ │ │ │ │ ├── constructorDeclaration.res.txt │ │ │ │ │ │ ├── diamond.res.txt │ │ │ │ │ │ ├── polyvariant.res.txt │ │ │ │ │ │ ├── privateTypeEquation.res.txt │ │ │ │ │ │ ├── recordDeclaration.res.txt │ │ │ │ │ │ ├── typeConstraint.res.txt │ │ │ │ │ │ ├── typeDefinition.res.txt │ │ │ │ │ │ ├── typeInformation.res.txt │ │ │ │ │ │ ├── typeNonrec.res.txt │ │ │ │ │ │ ├── typeRepresentation.res.txt │ │ │ │ │ │ ├── typedef.res.txt │ │ │ │ │ │ ├── typeparams.res.txt │ │ │ │ │ │ └── typext.res.txt │ │ │ │ │ ├── polyvariant.res │ │ │ │ │ ├── privateTypeEquation.res │ │ │ │ │ ├── recordDeclaration.res │ │ │ │ │ ├── typeConstraint.res │ │ │ │ │ ├── typeDefinition.res │ │ │ │ │ ├── typeInformation.res │ │ │ │ │ ├── typeNonrec.res │ │ │ │ │ ├── typeRepresentation.res │ │ │ │ │ ├── typedef.res │ │ │ │ │ ├── typeparams.res │ │ │ │ │ └── typext.res │ │ │ │ └── typexpr │ │ │ │ │ ├── alias.res │ │ │ │ │ ├── any.res │ │ │ │ │ ├── bsObject.res │ │ │ │ │ ├── es6Arrow.res │ │ │ │ │ ├── expected │ │ │ │ │ ├── alias.res.txt │ │ │ │ │ ├── any.res.txt │ │ │ │ │ ├── bsObject.res.txt │ │ │ │ │ ├── es6Arrow.res.txt │ │ │ │ │ ├── extension.res.txt │ │ │ │ │ ├── firstClassModules.res.txt │ │ │ │ │ ├── objectTypeSpreading.res.txt │ │ │ │ │ ├── parenthesized.res.txt │ │ │ │ │ ├── poly.res.txt │ │ │ │ │ ├── polyVariant.res.txt │ │ │ │ │ ├── tuple.res.txt │ │ │ │ │ ├── typeconstr.res.txt │ │ │ │ │ ├── uncurried.res.txt │ │ │ │ │ ├── unit.res.txt │ │ │ │ │ └── var.res.txt │ │ │ │ │ ├── extension.res │ │ │ │ │ ├── firstClassModules.res │ │ │ │ │ ├── objectTypeSpreading.res │ │ │ │ │ ├── parenthesized.res │ │ │ │ │ ├── poly.res │ │ │ │ │ ├── polyVariant.res │ │ │ │ │ ├── tuple.res │ │ │ │ │ ├── typeconstr.res │ │ │ │ │ ├── uncurried.res │ │ │ │ │ ├── unit.res │ │ │ │ │ └── var.res │ │ │ ├── infiniteLoops │ │ │ │ ├── equalAfterBinaryExpr.res │ │ │ │ ├── expected │ │ │ │ │ ├── equalAfterBinaryExpr.res.txt │ │ │ │ │ ├── jsxChildren.res.txt │ │ │ │ │ ├── nonRecTypes.res.txt │ │ │ │ │ ├── polymorphicVariantType.res.txt │ │ │ │ │ └── templateEof.res.txt │ │ │ │ ├── jsxChildren.res │ │ │ │ ├── nonRecTypes.res │ │ │ │ ├── polymorphicVariantType.res │ │ │ │ └── templateEof.res │ │ │ ├── other │ │ │ │ ├── attributes.res │ │ │ │ ├── comments.res │ │ │ │ ├── docComments.res │ │ │ │ ├── emptyFile.res │ │ │ │ ├── emptyInterface.resi │ │ │ │ ├── expected │ │ │ │ │ ├── attributes.res.txt │ │ │ │ │ ├── comments.res.txt │ │ │ │ │ ├── docComments.res.txt │ │ │ │ │ ├── emptyFile.res.txt │ │ │ │ │ ├── emptyInterface.resi.txt │ │ │ │ │ ├── gentype.res.txt │ │ │ │ │ ├── list.res.txt │ │ │ │ │ ├── onlyMultilineComment.res.txt │ │ │ │ │ ├── onlyMultilineComment.resi.txt │ │ │ │ │ ├── onlySinglelineComment.res.txt │ │ │ │ │ ├── onlySinglinelineComment.resi.txt │ │ │ │ │ ├── semi.res.txt │ │ │ │ │ ├── singleLineCommentWithoutNewline.res.txt │ │ │ │ │ └── stringLiterals.res.txt │ │ │ │ ├── gentype.res │ │ │ │ ├── list.res │ │ │ │ ├── onlyMultilineComment.res │ │ │ │ ├── onlyMultilineComment.resi │ │ │ │ ├── onlySinglelineComment.res │ │ │ │ ├── onlySinglinelineComment.resi │ │ │ │ ├── semi.res │ │ │ │ ├── singleLineCommentWithoutNewline.res │ │ │ │ └── stringLiterals.res │ │ │ └── recovery │ │ │ │ ├── comments │ │ │ │ ├── eof.res │ │ │ │ └── expected │ │ │ │ │ └── eof.res.txt │ │ │ │ ├── expression │ │ │ │ ├── emptyBlock.res │ │ │ │ ├── expected │ │ │ │ │ ├── emptyBlock.res.txt │ │ │ │ │ ├── if.res.txt │ │ │ │ │ ├── infinite.res.txt │ │ │ │ │ └── list.res.txt │ │ │ │ ├── if.res │ │ │ │ ├── infinite.res │ │ │ │ └── list.res │ │ │ │ ├── pattern │ │ │ │ ├── array.res │ │ │ │ ├── constrained.res │ │ │ │ ├── constructor.res │ │ │ │ ├── expected │ │ │ │ │ ├── array.res.txt │ │ │ │ │ ├── constrained.res.txt │ │ │ │ │ ├── constructor.res.txt │ │ │ │ │ ├── list.res.txt │ │ │ │ │ ├── parenthesized.res.txt │ │ │ │ │ ├── polyvariant.res.txt │ │ │ │ │ ├── record.res.txt │ │ │ │ │ └── tuple.res.txt │ │ │ │ ├── list.res │ │ │ │ ├── parenthesized.res │ │ │ │ ├── polyvariant.res │ │ │ │ ├── record.res │ │ │ │ └── tuple.res │ │ │ │ ├── string │ │ │ │ ├── emptyeof.res │ │ │ │ ├── eof.res │ │ │ │ ├── es6template.res │ │ │ │ ├── expected │ │ │ │ │ ├── emptyeof.res.txt │ │ │ │ │ ├── eof.res.txt │ │ │ │ │ ├── es6template.res.txt │ │ │ │ │ └── unclosed.res.txt │ │ │ │ └── unclosed.res │ │ │ │ ├── structure │ │ │ │ ├── expected │ │ │ │ │ └── letBinding.res.txt │ │ │ │ └── letBinding.res │ │ │ │ ├── typeDef │ │ │ │ ├── expected │ │ │ │ │ └── typeParams.res.txt │ │ │ │ └── typeParams.res │ │ │ │ └── typexpr │ │ │ │ ├── expected │ │ │ │ └── typeConstructorArgs.res.txt │ │ │ │ └── typeConstructorArgs.res │ │ ├── ppx │ │ │ └── react │ │ │ │ ├── aliasProps.res │ │ │ │ ├── asyncAwait.res │ │ │ │ ├── commentAtTop.res │ │ │ │ ├── defaultValueProp.res │ │ │ │ ├── expected │ │ │ │ ├── aliasProps.res.txt │ │ │ │ ├── asyncAwait.res.txt │ │ │ │ ├── commentAtTop.res.txt │ │ │ │ ├── defaultValueProp.res.txt │ │ │ │ ├── externalWithCustomName.res.txt │ │ │ │ ├── externalWithRef.res.txt │ │ │ │ ├── externalWithTypeVariables.res.txt │ │ │ │ ├── fileLevelConfig.res.txt │ │ │ │ ├── firstClassModules.resi.txt │ │ │ │ ├── forwardRef.res.txt │ │ │ │ ├── forwardRef.resi.txt │ │ │ │ ├── fragment.res.txt │ │ │ │ ├── interface.res.txt │ │ │ │ ├── interface.resi.txt │ │ │ │ ├── interfaceWithRef.res.txt │ │ │ │ ├── interfaceWithRef.resi.txt │ │ │ │ ├── mangleKeyword.res.txt │ │ │ │ ├── nested.res.txt │ │ │ │ ├── newtype.res.txt │ │ │ │ ├── noPropsWithKey.res.txt │ │ │ │ ├── optimizeAutomaticMode.res.txt │ │ │ │ ├── optionalKeyType.res.txt │ │ │ │ ├── sharedProps.res.txt │ │ │ │ ├── sharedProps.resi.txt │ │ │ │ ├── sharedPropsWithProps.res.txt │ │ │ │ ├── spreadProps.res.txt │ │ │ │ ├── topLevel.res.txt │ │ │ │ ├── typeConstraint.res.txt │ │ │ │ ├── uncurriedProps.res.txt │ │ │ │ └── v4.res.txt │ │ │ │ ├── externalWithCustomName.res │ │ │ │ ├── externalWithRef.res │ │ │ │ ├── externalWithTypeVariables.res │ │ │ │ ├── fileLevelConfig.res │ │ │ │ ├── firstClassModules.resi │ │ │ │ ├── forwardRef.res │ │ │ │ ├── forwardRef.resi │ │ │ │ ├── fragment.res │ │ │ │ ├── interface.res │ │ │ │ ├── interface.resi │ │ │ │ ├── interfaceWithRef.res │ │ │ │ ├── interfaceWithRef.resi │ │ │ │ ├── mangleKeyword.res │ │ │ │ ├── nested.res │ │ │ │ ├── newtype.res │ │ │ │ ├── noPropsWithKey.res │ │ │ │ ├── optimizeAutomaticMode.res │ │ │ │ ├── optionalKeyType.res │ │ │ │ ├── sharedProps.res │ │ │ │ ├── sharedProps.resi │ │ │ │ ├── sharedPropsWithProps.res │ │ │ │ ├── spreadProps.res │ │ │ │ ├── topLevel.res │ │ │ │ ├── typeConstraint.res │ │ │ │ ├── uncurriedProps.res │ │ │ │ └── v4.res │ │ └── printer │ │ │ ├── comments │ │ │ ├── array.res │ │ │ ├── binaryExpr.res │ │ │ ├── blockExpr.res │ │ │ ├── case.res │ │ │ ├── docComments.res │ │ │ ├── expected │ │ │ │ ├── array.res.txt │ │ │ │ ├── binaryExpr.res.txt │ │ │ │ ├── blockExpr.res.txt │ │ │ │ ├── case.res.txt │ │ │ │ ├── docComments.res.txt │ │ │ │ ├── expr.res.txt │ │ │ │ ├── extensionConstructor.res.txt │ │ │ │ ├── fileWithOneSingleLineComment.res.txt │ │ │ │ ├── fileWithOnlyComments.res.txt │ │ │ │ ├── ifLet.res.txt │ │ │ │ ├── ifThenElse.res.txt │ │ │ │ ├── interfaceWithOneSingleComment.resi.txt │ │ │ │ ├── interfaceWithOnlyComments.resi.txt │ │ │ │ ├── jsx.res.txt │ │ │ │ ├── modExpr.res.txt │ │ │ │ ├── modType.res.txt │ │ │ │ ├── multiline.res.txt │ │ │ │ ├── namedArgs.res.txt │ │ │ │ ├── openDescription.res.txt │ │ │ │ ├── pattern.res.txt │ │ │ │ ├── signatureItem.resi.txt │ │ │ │ ├── structure1.res.txt │ │ │ │ ├── structure2.res.txt │ │ │ │ ├── structure3.res.txt │ │ │ │ ├── structure4.res.txt │ │ │ │ ├── structureItem.res.txt │ │ │ │ ├── trailingComments.res.txt │ │ │ │ ├── typeDefinition.res.txt │ │ │ │ ├── typexpr.res.txt │ │ │ │ ├── valueBindingSugar.res.txt │ │ │ │ ├── valueBindings.res.txt │ │ │ │ ├── whitespaceCase1.res.txt │ │ │ │ ├── whitespaceCase2.res.txt │ │ │ │ ├── whitespaceLeadingComment.res.txt │ │ │ │ └── whitespaceTrailingLeading.res.txt │ │ │ ├── expr.res │ │ │ ├── extensionConstructor.res │ │ │ ├── fileWithOneSingleLineComment.res │ │ │ ├── fileWithOnlyComments.res │ │ │ ├── ifLet.res │ │ │ ├── ifThenElse.res │ │ │ ├── interfaceWithOneSingleComment.resi │ │ │ ├── interfaceWithOnlyComments.resi │ │ │ ├── jsx.res │ │ │ ├── modExpr.res │ │ │ ├── modType.res │ │ │ ├── multiline.res │ │ │ ├── namedArgs.res │ │ │ ├── openDescription.res │ │ │ ├── pattern.res │ │ │ ├── signatureItem.resi │ │ │ ├── structure1.res │ │ │ ├── structure2.res │ │ │ ├── structure3.res │ │ │ ├── structure4.res │ │ │ ├── structureItem.res │ │ │ ├── trailingComments.res │ │ │ ├── typeDefinition.res │ │ │ ├── typexpr.res │ │ │ ├── valueBindingSugar.res │ │ │ ├── valueBindings.res │ │ │ ├── whitespaceCase1.res │ │ │ ├── whitespaceCase2.res │ │ │ ├── whitespaceLeadingComment.res │ │ │ └── whitespaceTrailingLeading.res │ │ │ ├── expr │ │ │ ├── DocComments.res │ │ │ ├── RecordOrObject.res │ │ │ ├── Uncurried.res │ │ │ ├── UncurriedByDefault.res │ │ │ ├── apply.res │ │ │ ├── array.res │ │ │ ├── arrayGet.res │ │ │ ├── arraySet.res │ │ │ ├── assert.res │ │ │ ├── asyncAwait.res │ │ │ ├── binary.res │ │ │ ├── block.res │ │ │ ├── braced.res │ │ │ ├── bsObj.res │ │ │ ├── callback.res │ │ │ ├── coerce.res │ │ │ ├── constant.res │ │ │ ├── constraint.res │ │ │ ├── constructor.res │ │ │ ├── dict.res │ │ │ ├── exoticIdent.res │ │ │ ├── expected │ │ │ │ ├── DocComments.res.txt │ │ │ │ ├── RecordOrObject.res.txt │ │ │ │ ├── Uncurried.res.txt │ │ │ │ ├── UncurriedByDefault.res.txt │ │ │ │ ├── apply.res.txt │ │ │ │ ├── array.res.txt │ │ │ │ ├── arrayGet.res.txt │ │ │ │ ├── arraySet.res.txt │ │ │ │ ├── assert.res.txt │ │ │ │ ├── asyncAwait.res.txt │ │ │ │ ├── binary.res.txt │ │ │ │ ├── block.res.txt │ │ │ │ ├── braced.res.txt │ │ │ │ ├── bsObj.res.txt │ │ │ │ ├── callback.res.txt │ │ │ │ ├── coerce.res.txt │ │ │ │ ├── constant.res.txt │ │ │ │ ├── constraint.res.txt │ │ │ │ ├── constructor.res.txt │ │ │ │ ├── dict.res.txt │ │ │ │ ├── exoticIdent.res.txt │ │ │ │ ├── extension.res.txt │ │ │ │ ├── field.res.txt │ │ │ │ ├── firstClassModule.res.txt │ │ │ │ ├── for.res.txt │ │ │ │ ├── fun.res.txt │ │ │ │ ├── ident.res.txt │ │ │ │ ├── if.res.txt │ │ │ │ ├── jsObjectAccess.res.txt │ │ │ │ ├── jsObjectSet.res.txt │ │ │ │ ├── jsx.res.txt │ │ │ │ ├── lazy.res.txt │ │ │ │ ├── let.res.txt │ │ │ │ ├── letexception.res.txt │ │ │ │ ├── letmodule.res.txt │ │ │ │ ├── list.res.txt │ │ │ │ ├── nestedCallbacks.res.txt │ │ │ │ ├── newtype.res.txt │ │ │ │ ├── open.res.txt │ │ │ │ ├── pipe.res.txt │ │ │ │ ├── polyvariant.res.txt │ │ │ │ ├── record.res.txt │ │ │ │ ├── sequence.res.txt │ │ │ │ ├── setfield.res.txt │ │ │ │ ├── sideEffects.res.txt │ │ │ │ ├── smartPipe.res.txt │ │ │ │ ├── switch.res.txt │ │ │ │ ├── templateLiteral.res.txt │ │ │ │ ├── ternary.res.txt │ │ │ │ ├── try.res.txt │ │ │ │ ├── tuple.res.txt │ │ │ │ ├── unary.res.txt │ │ │ │ ├── underscoreApply.res.txt │ │ │ │ ├── while.res.txt │ │ │ │ └── whitespace.res.txt │ │ │ ├── extension.res │ │ │ ├── field.res │ │ │ ├── firstClassModule.res │ │ │ ├── for.res │ │ │ ├── fun.res │ │ │ ├── ident.res │ │ │ ├── if.res │ │ │ ├── jsObjectAccess.res │ │ │ ├── jsObjectSet.res │ │ │ ├── jsx.res │ │ │ ├── let.res │ │ │ ├── letexception.res │ │ │ ├── letmodule.res │ │ │ ├── list.res │ │ │ ├── nestedCallbacks.res │ │ │ ├── newtype.res │ │ │ ├── open.res │ │ │ ├── pipe.res │ │ │ ├── polyvariant.res │ │ │ ├── record.res │ │ │ ├── sequence.res │ │ │ ├── setfield.res │ │ │ ├── sideEffects.res │ │ │ ├── smartPipe.res │ │ │ ├── switch.res │ │ │ ├── templateLiteral.res │ │ │ ├── ternary.res │ │ │ ├── try.res │ │ │ ├── tuple.res │ │ │ ├── unary.res │ │ │ ├── underscoreApply.res │ │ │ ├── while.res │ │ │ └── whitespace.res │ │ │ ├── ffi │ │ │ └── expected │ │ │ │ └── export.res.txt │ │ │ ├── modExpr │ │ │ ├── apply.res │ │ │ ├── await.res │ │ │ ├── expected │ │ │ │ ├── apply.res.txt │ │ │ │ ├── await.res.txt │ │ │ │ ├── extension.res.txt │ │ │ │ ├── functor.res.txt │ │ │ │ ├── include.res.txt │ │ │ │ ├── structure.res.txt │ │ │ │ └── unpack.res.txt │ │ │ ├── extension.res │ │ │ ├── functor.res │ │ │ ├── include.res │ │ │ ├── structure.res │ │ │ └── unpack.res │ │ │ ├── modType │ │ │ ├── exoticIdent.res │ │ │ ├── expected │ │ │ │ ├── exoticIdent.res.txt │ │ │ │ ├── extension.res.txt │ │ │ │ ├── functor.res.txt │ │ │ │ ├── ident.res.txt │ │ │ │ ├── moduleTypeOf.res.txt │ │ │ │ ├── signature.res.txt │ │ │ │ └── withConstraints.res.txt │ │ │ ├── extension.res │ │ │ ├── functor.res │ │ │ ├── ident.res │ │ │ ├── moduleTypeOf.res │ │ │ ├── signature.res │ │ │ └── withConstraints.res │ │ │ ├── other │ │ │ ├── StaticReactTypes.res │ │ │ ├── attributes.res │ │ │ ├── case.res │ │ │ ├── char.res │ │ │ ├── comments.res │ │ │ ├── expected │ │ │ │ ├── StaticReactTypes.res.txt │ │ │ │ ├── attributes.res.txt │ │ │ │ ├── case.res.txt │ │ │ │ ├── char.res.txt │ │ │ │ ├── comments.res.txt │ │ │ │ ├── fatSlider.res.txt │ │ │ │ ├── home.res.txt │ │ │ │ ├── lor.res.txt │ │ │ │ ├── moduleData.res.txt │ │ │ │ ├── nesting.res.txt │ │ │ │ ├── number.res.txt │ │ │ │ ├── reasonArity.res.txt │ │ │ │ ├── reasonFile.res.txt │ │ │ │ ├── reasonInterfaceFile.resi.txt │ │ │ │ ├── reasonString.res.txt │ │ │ │ ├── signaturePicker.res.txt │ │ │ │ └── string.res.txt │ │ │ ├── fatSlider.res │ │ │ ├── home.res │ │ │ ├── lor.res │ │ │ ├── moduleData.res │ │ │ ├── nesting.res │ │ │ ├── number.res │ │ │ ├── reasonArity.res │ │ │ ├── reasonFile.res │ │ │ ├── reasonInterfaceFile.resi │ │ │ ├── reasonString.res │ │ │ ├── signaturePicker.res │ │ │ └── string.res │ │ │ ├── pattern │ │ │ ├── alias.res │ │ │ ├── any.res │ │ │ ├── array.res │ │ │ ├── constant.res │ │ │ ├── constraint.res │ │ │ ├── construct.res │ │ │ ├── dict.res │ │ │ ├── exception.res │ │ │ ├── exoticIdent.res │ │ │ ├── expected │ │ │ │ ├── alias.res.txt │ │ │ │ ├── any.res.txt │ │ │ │ ├── array.res.txt │ │ │ │ ├── constant.res.txt │ │ │ │ ├── constraint.res.txt │ │ │ │ ├── construct.res.txt │ │ │ │ ├── dict.res.txt │ │ │ │ ├── exception.res.txt │ │ │ │ ├── exoticIdent.res.txt │ │ │ │ ├── extension.res.txt │ │ │ │ ├── firstClassModules.res.txt │ │ │ │ ├── interval.res.txt │ │ │ │ ├── lazy.res.txt │ │ │ │ ├── list.res.txt │ │ │ │ ├── or.res.txt │ │ │ │ ├── record.res.txt │ │ │ │ ├── tuple.res.txt │ │ │ │ ├── type.res.txt │ │ │ │ ├── var.res.txt │ │ │ │ └── variant.res.txt │ │ │ ├── extension.res │ │ │ ├── firstClassModules.res │ │ │ ├── interval.res │ │ │ ├── list.res │ │ │ ├── or.res │ │ │ ├── record.res │ │ │ ├── tuple.res │ │ │ ├── type.res │ │ │ ├── var.res │ │ │ └── variant.res │ │ │ ├── signature │ │ │ ├── attributes.resi │ │ │ ├── exception.resi │ │ │ ├── expected │ │ │ │ ├── attributes.resi.txt │ │ │ │ ├── exception.resi.txt │ │ │ │ ├── extension.resi.txt │ │ │ │ ├── include.resi.txt │ │ │ │ ├── modtype.resi.txt │ │ │ │ ├── module.resi.txt │ │ │ │ ├── open.resi.txt │ │ │ │ ├── recModule.resi.txt │ │ │ │ ├── type.resi.txt │ │ │ │ ├── typext.resi.txt │ │ │ │ └── value.resi.txt │ │ │ ├── extension.resi │ │ │ ├── include.resi │ │ │ ├── modtype.resi │ │ │ ├── module.resi │ │ │ ├── open.resi │ │ │ ├── recModule.resi │ │ │ ├── type.resi │ │ │ ├── typext.resi │ │ │ └── value.resi │ │ │ ├── structure │ │ │ ├── attribute.res │ │ │ ├── exception.res │ │ │ ├── expected │ │ │ │ ├── attribute.res.txt │ │ │ │ ├── exception.res.txt │ │ │ │ ├── expr.res.txt │ │ │ │ ├── extension.res.txt │ │ │ │ ├── external.res.txt │ │ │ │ ├── include.res.txt │ │ │ │ ├── moduleBinding.res.txt │ │ │ │ ├── moduleTypeDeclaration.res.txt │ │ │ │ ├── open.res.txt │ │ │ │ ├── recModules.res.txt │ │ │ │ ├── type.res.txt │ │ │ │ ├── typeExtension.res.txt │ │ │ │ └── valueBinding.res.txt │ │ │ ├── expr.res │ │ │ ├── extension.res │ │ │ ├── external.res │ │ │ ├── include.res │ │ │ ├── moduleBinding.res │ │ │ ├── moduleTypeDeclaration.res │ │ │ ├── open.res │ │ │ ├── recModules.res │ │ │ ├── type.res │ │ │ ├── typeExtension.res │ │ │ └── valueBinding.res │ │ │ ├── typeDef │ │ │ ├── abstract.res │ │ │ ├── attributes.res │ │ │ ├── constraint.res │ │ │ ├── exoticIdent.res │ │ │ ├── expected │ │ │ │ ├── abstract.res.txt │ │ │ │ ├── attributes.res.txt │ │ │ │ ├── constraint.res.txt │ │ │ │ ├── exoticIdent.res.txt │ │ │ │ ├── open.res.txt │ │ │ │ ├── private.res.txt │ │ │ │ ├── record.res.txt │ │ │ │ ├── typeParams.res.txt │ │ │ │ └── variant.res.txt │ │ │ ├── open.res │ │ │ ├── private.res │ │ │ ├── record.res │ │ │ ├── typeParams.res │ │ │ └── variant.res │ │ │ └── typexpr │ │ │ ├── alias.res │ │ │ ├── any.res │ │ │ ├── arrow.res │ │ │ ├── bsObject.res │ │ │ ├── exoticIdent.res │ │ │ ├── expected │ │ │ ├── alias.res.txt │ │ │ ├── any.res.txt │ │ │ ├── arrow.res.txt │ │ │ ├── bsObject.res.txt │ │ │ ├── exoticIdent.res.txt │ │ │ ├── extension.res.txt │ │ │ ├── firstClassModule.res.txt │ │ │ ├── objectTypeSpreading.res.txt │ │ │ ├── polyTyp.res.txt │ │ │ ├── tuple.res.txt │ │ │ ├── typeConstr.res.txt │ │ │ ├── var.res.txt │ │ │ └── variant.res.txt │ │ │ ├── extension.res │ │ │ ├── firstClassModule.res │ │ │ ├── objectTypeSpreading.res │ │ │ ├── polyTyp.res │ │ │ ├── tuple.res │ │ │ ├── typeConstr.res │ │ │ ├── var.res │ │ │ └── variant.res │ ├── dune │ ├── res_test.ml │ └── res_utf8_test.ml ├── tests │ ├── rescript.json │ └── src │ │ ├── AsInUncurriedExternals.mjs │ │ ├── AsInUncurriedExternals.res │ │ ├── Coercion.mjs │ │ ├── Coercion.res │ │ ├── DerivingAccessorsCurried.mjs │ │ ├── DerivingAccessorsCurried.res │ │ ├── DerivingAccessorsUncurried.mjs │ │ ├── DerivingAccessorsUncurried.res │ │ ├── DictInference.mjs │ │ ├── DictInference.res │ │ ├── DictInternalRepresentation.mjs │ │ ├── DictInternalRepresentation.res │ │ ├── DisambiguateOptionalFields.mjs │ │ ├── DisambiguateOptionalFields.res │ │ ├── DotDotDot.mjs │ │ ├── DotDotDot.res │ │ ├── DynamicImportModuleWithAlias.mjs │ │ ├── DynamicImportModuleWithAlias.res │ │ ├── EmptyRecord.mjs │ │ ├── EmptyRecord.res │ │ ├── EnvUnifiedOps.mjs │ │ ├── EnvUnifiedOps.res │ │ ├── Equality_over_optimization.mjs │ │ ├── Equality_over_optimization.res │ │ ├── ExternalArity.mjs │ │ ├── ExternalArity.res │ │ ├── ExternalExtension.mjs │ │ ├── ExternalExtension.res │ │ ├── FFI.mjs │ │ ├── FFI.res │ │ ├── Import.mjs │ │ ├── Import.res │ │ ├── ImportAttributes.mjs │ │ ├── ImportAttributes.res │ │ ├── ModuleWithAlias.mjs │ │ ├── ModuleWithAlias.res │ │ ├── NondetPatterMatch.mjs │ │ ├── NondetPatterMatch.res │ │ ├── PartialApplicationNoRuntimeCurry.mjs │ │ ├── PartialApplicationNoRuntimeCurry.res │ │ ├── RecordCoercion.mjs │ │ ├── RecordCoercion.res │ │ ├── RecordOrObject.mjs │ │ ├── RecordOrObject.res │ │ ├── SafePromises.mjs │ │ ├── SafePromises.res │ │ ├── UncurriedAlways.mjs │ │ ├── UncurriedAlways.res │ │ ├── UncurriedExternals.mjs │ │ ├── UncurriedExternals.res │ │ ├── UncurriedPervasives.mjs │ │ ├── UncurriedPervasives.res │ │ ├── UntaggedVariants.mjs │ │ ├── UntaggedVariants.res │ │ ├── VariantCoercion.mjs │ │ ├── VariantCoercion.res │ │ ├── VariantPatternMatchingSpreads.mjs │ │ ├── VariantPatternMatchingSpreads.res │ │ ├── VariantPatternMatchingSpreadsWithPayloads.mjs │ │ ├── VariantPatternMatchingSpreadsWithPayloads.res │ │ ├── VariantSpreads.mjs │ │ ├── VariantSpreads.res │ │ ├── a.mjs │ │ ├── a.res │ │ ├── a_recursive_type.mjs │ │ ├── a_recursive_type.res │ │ ├── a_recursive_type.resi │ │ ├── a_scope_bug.mjs │ │ ├── a_scope_bug.res │ │ ├── abstract_type.mjs │ │ ├── abstract_type.res │ │ ├── abstract_type.resi │ │ ├── acyc │ │ ├── a0_a1.mjs │ │ ├── a0_a1.res │ │ ├── a1_a2.mjs │ │ ├── a1_a2.res │ │ ├── a1_a2.resi │ │ ├── a2_a3.mjs │ │ ├── a2_a3.res │ │ ├── a3_a4.mjs │ │ ├── a3_a4.res │ │ ├── a4_a5.mjs │ │ ├── a4_a5.res │ │ ├── x.mjs │ │ └── x.res │ │ ├── adt_optimize_test.mjs │ │ ├── adt_optimize_test.res │ │ ├── alias_default_value_test.mjs │ │ ├── alias_default_value_test.res │ │ ├── alias_test.mjs │ │ ├── alias_test.res │ │ ├── alias_test.resi │ │ ├── and_or_simplify.mjs │ │ ├── and_or_simplify.res │ │ ├── and_or_tailcall_test.mjs │ │ ├── and_or_tailcall_test.res │ │ ├── ari_regress_test.mjs │ │ ├── ari_regress_test.res │ │ ├── ari_regress_test.resi │ │ ├── arith_syntax.mjs │ │ ├── arith_syntax.res │ │ ├── arity.mjs │ │ ├── arity.res │ │ ├── arity_deopt.mjs │ │ ├── arity_deopt.res │ │ ├── arity_infer.mjs │ │ ├── arity_infer.res │ │ ├── array_data_util.mjs │ │ ├── array_data_util.res │ │ ├── array_safe_get.mjs │ │ ├── array_safe_get.res │ │ ├── array_subtle_test.mjs │ │ ├── array_subtle_test.res │ │ ├── as_inline_record_test.mjs │ │ ├── as_inline_record_test.res │ │ ├── ast_abstract_test.mjs │ │ ├── ast_abstract_test.res │ │ ├── ast_mapper_unused_warning_test.mjs │ │ ├── ast_mapper_unused_warning_test.res │ │ ├── async_await.mjs │ │ ├── async_await.res │ │ ├── async_inline.mjs │ │ ├── async_inline.res │ │ ├── async_inside_loop.mjs │ │ ├── async_inside_loop.res │ │ ├── attr_test.mjs │ │ ├── attr_test.res │ │ ├── b.mjs │ │ ├── b.res │ │ ├── bal_set_mini.mjs │ │ ├── bal_set_mini.res │ │ ├── bb.mjs │ │ ├── bb.res │ │ ├── bdd.mjs │ │ ├── bdd.res │ │ ├── belt_float_test.mjs │ │ ├── belt_float_test.res │ │ ├── belt_hashmap_test.mjs │ │ ├── belt_hashmap_test.res │ │ ├── belt_hashset_int_test.mjs │ │ ├── belt_hashset_int_test.res │ │ ├── belt_int_test.mjs │ │ ├── belt_int_test.res │ │ ├── belt_internal_test.mjs │ │ ├── belt_internal_test.res │ │ ├── belt_list_test.mjs │ │ ├── belt_list_test.res │ │ ├── belt_mapint_test.mjs │ │ ├── belt_mapint_test.res │ │ ├── belt_result_alias_test.mjs │ │ ├── belt_result_alias_test.res │ │ ├── belt_sortarray_test.mjs │ │ ├── belt_sortarray_test.res │ │ ├── bench.mjs │ │ ├── bench.res │ │ ├── big_enum.mjs │ │ ├── big_enum.res │ │ ├── big_polyvar_test.mjs │ │ ├── big_polyvar_test.res │ │ ├── bigint_test.mjs │ │ ├── bigint_test.res │ │ ├── block_alias_test.mjs │ │ ├── block_alias_test.res │ │ ├── boolean_test.mjs │ │ ├── boolean_test.res │ │ ├── bs_abstract_test.mjs │ │ ├── bs_abstract_test.res │ │ ├── bs_abstract_test.resi │ │ ├── bs_array_test.mjs │ │ ├── bs_array_test.res │ │ ├── bs_auto_uncurry.mjs │ │ ├── bs_auto_uncurry.res │ │ ├── bs_auto_uncurry_test.mjs │ │ ├── bs_auto_uncurry_test.res │ │ ├── bs_ignore_effect.mjs │ │ ├── bs_ignore_effect.res │ │ ├── bs_ignore_test.mjs │ │ ├── bs_ignore_test.res │ │ ├── bs_map_set_dict_test.mjs │ │ ├── bs_map_set_dict_test.res │ │ ├── bs_map_test.mjs │ │ ├── bs_map_test.res │ │ ├── bs_min_max_test.mjs │ │ ├── bs_min_max_test.res │ │ ├── bs_mutable_set_test.mjs │ │ ├── bs_mutable_set_test.res │ │ ├── bs_poly_map_test.mjs │ │ ├── bs_poly_map_test.res │ │ ├── bs_poly_mutable_map_test.mjs │ │ ├── bs_poly_mutable_map_test.res │ │ ├── bs_poly_mutable_set_test.mjs │ │ ├── bs_poly_mutable_set_test.res │ │ ├── bs_poly_set_test.mjs │ │ ├── bs_poly_set_test.res │ │ ├── bs_qualified.mjs │ │ ├── bs_qualified.res │ │ ├── bs_queue_test.mjs │ │ ├── bs_queue_test.res │ │ ├── bs_rest_test.mjs │ │ ├── bs_rest_test.res │ │ ├── bs_set_int_test.mjs │ │ ├── bs_set_int_test.res │ │ ├── bs_splice_partial.mjs │ │ ├── bs_splice_partial.res │ │ ├── bs_stack_test.mjs │ │ ├── bs_stack_test.res │ │ ├── bs_string_test.mjs │ │ ├── bs_string_test.res │ │ ├── bs_unwrap_test.mjs │ │ ├── bs_unwrap_test.res │ │ ├── caml_compare_bigint_test.mjs │ │ ├── caml_compare_bigint_test.res │ │ ├── caml_compare_test.mjs │ │ ├── caml_compare_test.res │ │ ├── chain_code_test.mjs │ │ ├── chain_code_test.res │ │ ├── chn_test.mjs │ │ ├── chn_test.res │ │ ├── class_type_ffi_test.mjs │ │ ├── class_type_ffi_test.res │ │ ├── coercion_module_alias_test.mjs │ │ ├── coercion_module_alias_test.res │ │ ├── compare_test.mjs │ │ ├── compare_test.res │ │ ├── complete_parmatch_test.mjs │ │ ├── complete_parmatch_test.res │ │ ├── complex_while_loop.mjs │ │ ├── complex_while_loop.res │ │ ├── condition_compilation_test.mjs │ │ ├── condition_compilation_test.res │ │ ├── conditional │ │ ├── cond_a.mjs │ │ ├── cond_a.res │ │ ├── cond_a_B.mjs │ │ ├── cond_a_B.res │ │ ├── cond_a_C.mjs │ │ ├── cond_a_C.res │ │ ├── cond_a_none.mjs │ │ ├── cond_a_none.res │ │ ├── cond_b.mjs │ │ ├── cond_b.res │ │ ├── cond_c.mjs │ │ └── cond_c.res │ │ ├── config1_test.mjs │ │ ├── config1_test.res │ │ ├── console_log_test.mjs │ │ ├── console_log_test.res │ │ ├── const_block_test.mjs │ │ ├── const_block_test.res │ │ ├── const_block_test.resi │ │ ├── const_defs.mjs │ │ ├── const_defs.res │ │ ├── const_defs_test.mjs │ │ ├── const_defs_test.res │ │ ├── const_test.mjs │ │ ├── const_test.res │ │ ├── cont_int_fold_test.mjs │ │ ├── cont_int_fold_test.res │ │ ├── core │ │ ├── Core_ArrayTests.mjs │ │ ├── Core_ArrayTests.res │ │ ├── Core_DictTests.mjs │ │ ├── Core_DictTests.res │ │ ├── Core_ErrorTests.mjs │ │ ├── Core_ErrorTests.res │ │ ├── Core_FloatTests.mjs │ │ ├── Core_FloatTests.res │ │ ├── Core_ImportTests.mjs │ │ ├── Core_ImportTests.res │ │ ├── Core_IntTests.mjs │ │ ├── Core_IntTests.res │ │ ├── Core_IteratorTests.mjs │ │ ├── Core_IteratorTests.res │ │ ├── Core_JsonTests.mjs │ │ ├── Core_JsonTests.res │ │ ├── Core_NullableTests.mjs │ │ ├── Core_NullableTests.res │ │ ├── Core_ObjectTests.mjs │ │ ├── Core_ObjectTests.res │ │ ├── Core_PromiseTest.mjs │ │ ├── Core_PromiseTest.res │ │ ├── Core_RegExpTest.mjs │ │ ├── Core_RegExpTest.res │ │ ├── Core_ResultTests.mjs │ │ ├── Core_ResultTests.res │ │ ├── Core_StringTests.mjs │ │ ├── Core_StringTests.res │ │ ├── Core_TempTests.mjs │ │ ├── Core_TempTests.res │ │ ├── Core_TestSuite.mjs │ │ ├── Core_TestSuite.res │ │ ├── Core_TestTests.mjs │ │ ├── Core_TestTests.res │ │ ├── Core_TypedArrayTests.mjs │ │ ├── Core_TypedArrayTests.res │ │ ├── Test.mjs │ │ ├── Test.res │ │ └── intl │ │ │ ├── Core_IntlTests.mjs │ │ │ ├── Core_IntlTests.res │ │ │ ├── Core_Intl_CollatorTest.mjs │ │ │ ├── Core_Intl_CollatorTest.res │ │ │ ├── Core_Intl_DateTimeFormatTest.mjs │ │ │ ├── Core_Intl_DateTimeFormatTest.res │ │ │ ├── Core_Intl_ListFormatTest.mjs │ │ │ ├── Core_Intl_ListFormatTest.res │ │ │ ├── Core_Intl_LocaleTest.mjs │ │ │ ├── Core_Intl_LocaleTest.res │ │ │ ├── Core_Intl_NumberFormatTest.mjs │ │ │ ├── Core_Intl_NumberFormatTest.res │ │ │ ├── Core_Intl_PluralRulesTest.mjs │ │ │ ├── Core_Intl_PluralRulesTest.res │ │ │ ├── Core_Intl_RelativeTimeFormatTest.mjs │ │ │ ├── Core_Intl_RelativeTimeFormatTest.res │ │ │ ├── Core_Intl_SegmenterTest.mjs │ │ │ └── Core_Intl_SegmenterTest.res │ │ ├── cps_test.mjs │ │ ├── cps_test.res │ │ ├── cross_module_inline_test.mjs │ │ ├── cross_module_inline_test.res │ │ ├── custom_error_test.mjs │ │ ├── custom_error_test.res │ │ ├── debug_keep_test.mjs │ │ ├── debug_keep_test.res │ │ ├── debug_mode_value.mjs │ │ ├── debug_mode_value.res │ │ ├── debug_tmp.mjs │ │ ├── debug_tmp.res │ │ ├── debugger_test.mjs │ │ ├── debugger_test.res │ │ ├── default_export_test.mjs │ │ ├── default_export_test.res │ │ ├── defunctor_make_test.mjs │ │ ├── defunctor_make_test.res │ │ ├── demo_int_map.mjs │ │ ├── demo_int_map.res │ │ ├── demo_int_map.resi │ │ ├── demo_page.mjs │ │ ├── demo_page.res │ │ ├── demo_pipe.mjs │ │ ├── demo_pipe.res │ │ ├── derive_projector_test.mjs │ │ ├── derive_projector_test.res │ │ ├── derive_projector_test.resi │ │ ├── directives.mjs │ │ ├── directives.res │ │ ├── div_by_zero_test.mjs │ │ ├── div_by_zero_test.res │ │ ├── dollar_escape_test.mjs │ │ ├── dollar_escape_test.res │ │ ├── earger_curry_test.mjs │ │ ├── earger_curry_test.res │ │ ├── effect.mjs │ │ ├── effect.res │ │ ├── epsilon_test.mjs │ │ ├── epsilon_test.res │ │ ├── equal_box_test.mjs │ │ ├── equal_box_test.res │ │ ├── equal_exception_test.mjs │ │ ├── equal_exception_test.res │ │ ├── equal_test.mjs │ │ ├── equal_test.res │ │ ├── es6_export.mjs │ │ ├── es6_export.res │ │ ├── es6_import.mjs │ │ ├── es6_import.res │ │ ├── escape_esmodule.mjs │ │ ├── escape_esmodule.res │ │ ├── esmodule_ref.mjs │ │ ├── esmodule_ref.res │ │ ├── event_ffi.mjs │ │ ├── event_ffi.res │ │ ├── exception_alias.mjs │ │ ├── exception_alias.res │ │ ├── exception_raise_test.mjs │ │ ├── exception_raise_test.res │ │ ├── exception_rebound_err_test.mjs │ │ ├── exception_rebound_err_test.res │ │ ├── exception_value_test.mjs │ │ ├── exception_value_test.res │ │ ├── exotic_labels_test.mjs │ │ ├── exotic_labels_test.res │ │ ├── exponentiation_test.mjs │ │ ├── exponentiation_test.res │ │ ├── export_keyword.mjs │ │ ├── export_keyword.res │ │ ├── ext_array_test.mjs │ │ ├── ext_array_test.res │ │ ├── ext_pervasives_test.mjs │ │ ├── ext_pervasives_test.res │ │ ├── ext_pervasives_test.resi │ │ ├── extensible_variant_test.mjs │ │ ├── extensible_variant_test.res │ │ ├── external_ppx.mjs │ │ ├── external_ppx.res │ │ ├── external_ppx2.mjs │ │ ├── external_ppx2.res │ │ ├── ffi_arity_test.mjs │ │ ├── ffi_arity_test.res │ │ ├── ffi_array_test.mjs │ │ ├── ffi_array_test.res │ │ ├── ffi_js_test.mjs │ │ ├── ffi_js_test.res │ │ ├── ffi_splice_test.mjs │ │ ├── ffi_splice_test.res │ │ ├── ffi_test.mjs │ │ ├── ffi_test.res │ │ ├── fib.mjs │ │ ├── fib.res │ │ ├── field_flattening_opt.mjs │ │ ├── field_flattening_opt.res │ │ ├── flattern_order_test.mjs │ │ ├── flattern_order_test.res │ │ ├── flexible_array_test.mjs │ │ ├── flexible_array_test.res │ │ ├── float_array.mjs │ │ ├── float_array.res │ │ ├── float_record.mjs │ │ ├── float_record.res │ │ ├── float_record.resi │ │ ├── float_test.mjs │ │ ├── float_test.res │ │ ├── for_loop_test.mjs │ │ ├── for_loop_test.res │ │ ├── for_side_effect_test.mjs │ │ ├── for_side_effect_test.res │ │ ├── format_regression.mjs │ │ ├── format_regression.res │ │ ├── fun_pattern_match.mjs │ │ ├── fun_pattern_match.res │ │ ├── function_directives.mjs │ │ ├── function_directives.res │ │ ├── function_directives_no_inline.mjs │ │ ├── function_directives_no_inline.res │ │ ├── functor_app_test.mjs │ │ ├── functor_app_test.res │ │ ├── functor_def.mjs │ │ ├── functor_def.res │ │ ├── functor_ffi.mjs │ │ ├── functor_ffi.res │ │ ├── functor_inst.mjs │ │ ├── functor_inst.res │ │ ├── functors.mjs │ │ ├── functors.res │ │ ├── functors_one_arg_at_a_time.mjs │ │ ├── functors_one_arg_at_a_time.res │ │ ├── gbk.mjs │ │ ├── gbk.res │ │ ├── gentTypeReTest.mjs │ │ ├── gentTypeReTest.res │ │ ├── glob_test_add.mjs │ │ ├── glob_test_add.res │ │ ├── glob_test_u.mjs │ │ ├── glob_test_u.res │ │ ├── glob_u.mjs │ │ ├── glob_u.res │ │ ├── glob_x.mjs │ │ ├── glob_x.res │ │ ├── global_exception_regression_test.mjs │ │ ├── global_exception_regression_test.res │ │ ├── global_module_alias_test.mjs │ │ ├── global_module_alias_test.res │ │ ├── google_closure_test.mjs │ │ ├── google_closure_test.res │ │ ├── gpr496_test.mjs │ │ ├── gpr496_test.res │ │ ├── gpr_1072.mjs │ │ ├── gpr_1072.res │ │ ├── gpr_1072_reg.mjs │ │ ├── gpr_1072_reg.res │ │ ├── gpr_1150.mjs │ │ ├── gpr_1150.res │ │ ├── gpr_1170.mjs │ │ ├── gpr_1170.res │ │ ├── gpr_1240_missing_unbox.mjs │ │ ├── gpr_1240_missing_unbox.res │ │ ├── gpr_1245_test.mjs │ │ ├── gpr_1245_test.res │ │ ├── gpr_1268.mjs │ │ ├── gpr_1268.res │ │ ├── gpr_1409_test.mjs │ │ ├── gpr_1409_test.res │ │ ├── gpr_1423_app_test.mjs │ │ ├── gpr_1423_app_test.res │ │ ├── gpr_1423_nav.mjs │ │ ├── gpr_1423_nav.res │ │ ├── gpr_1438.mjs │ │ ├── gpr_1438.res │ │ ├── gpr_1481.mjs │ │ ├── gpr_1481.res │ │ ├── gpr_1484.mjs │ │ ├── gpr_1484.res │ │ ├── gpr_1539_test.mjs │ │ ├── gpr_1539_test.res │ │ ├── gpr_1658_test.mjs │ │ ├── gpr_1658_test.res │ │ ├── gpr_1667_test.mjs │ │ ├── gpr_1667_test.res │ │ ├── gpr_1692_test.mjs │ │ ├── gpr_1692_test.res │ │ ├── gpr_1698_test.mjs │ │ ├── gpr_1698_test.res │ │ ├── gpr_1701_test.mjs │ │ ├── gpr_1701_test.res │ │ ├── gpr_1716_test.mjs │ │ ├── gpr_1716_test.res │ │ ├── gpr_1717_test.mjs │ │ ├── gpr_1717_test.res │ │ ├── gpr_1728_test.mjs │ │ ├── gpr_1728_test.res │ │ ├── gpr_1749_test.mjs │ │ ├── gpr_1749_test.res │ │ ├── gpr_1759_test.mjs │ │ ├── gpr_1759_test.res │ │ ├── gpr_1760_test.mjs │ │ ├── gpr_1760_test.res │ │ ├── gpr_1762_test.mjs │ │ ├── gpr_1762_test.res │ │ ├── gpr_1817_test.mjs │ │ ├── gpr_1817_test.res │ │ ├── gpr_1822_test.mjs │ │ ├── gpr_1822_test.res │ │ ├── gpr_1891_test.mjs │ │ ├── gpr_1891_test.res │ │ ├── gpr_1943_test.mjs │ │ ├── gpr_1943_test.res │ │ ├── gpr_1946_test.mjs │ │ ├── gpr_1946_test.res │ │ ├── gpr_2316_test.mjs │ │ ├── gpr_2316_test.res │ │ ├── gpr_2352_test.mjs │ │ ├── gpr_2352_test.res │ │ ├── gpr_2413_test.mjs │ │ ├── gpr_2413_test.res │ │ ├── gpr_2474.mjs │ │ ├── gpr_2474.res │ │ ├── gpr_2487.mjs │ │ ├── gpr_2487.res │ │ ├── gpr_2503_test.mjs │ │ ├── gpr_2503_test.res │ │ ├── gpr_2608_test.mjs │ │ ├── gpr_2608_test.res │ │ ├── gpr_2614_test.mjs │ │ ├── gpr_2614_test.res │ │ ├── gpr_2633_test.mjs │ │ ├── gpr_2633_test.res │ │ ├── gpr_2642_test.mjs │ │ ├── gpr_2642_test.res │ │ ├── gpr_2682_test.mjs │ │ ├── gpr_2682_test.res │ │ ├── gpr_2700_test.mjs │ │ ├── gpr_2700_test.res │ │ ├── gpr_2731_test.mjs │ │ ├── gpr_2731_test.res │ │ ├── gpr_2789_test.mjs │ │ ├── gpr_2789_test.res │ │ ├── gpr_2931_test.mjs │ │ ├── gpr_2931_test.res │ │ ├── gpr_3142_test.mjs │ │ ├── gpr_3142_test.res │ │ ├── gpr_3154_test.mjs │ │ ├── gpr_3154_test.res │ │ ├── gpr_3209_test.mjs │ │ ├── gpr_3209_test.res │ │ ├── gpr_3492_test.mjs │ │ ├── gpr_3492_test.res │ │ ├── gpr_3519_jsx_test.mjs │ │ ├── gpr_3519_jsx_test.res │ │ ├── gpr_3519_test.mjs │ │ ├── gpr_3519_test.res │ │ ├── gpr_3536_test.mjs │ │ ├── gpr_3536_test.res │ │ ├── gpr_3546_test.mjs │ │ ├── gpr_3546_test.res │ │ ├── gpr_3548_test.mjs │ │ ├── gpr_3548_test.res │ │ ├── gpr_3549_test.mjs │ │ ├── gpr_3549_test.res │ │ ├── gpr_3566_drive_test.mjs │ │ ├── gpr_3566_drive_test.res │ │ ├── gpr_3566_test.mjs │ │ ├── gpr_3566_test.res │ │ ├── gpr_3595_test.mjs │ │ ├── gpr_3595_test.res │ │ ├── gpr_3609_test.mjs │ │ ├── gpr_3609_test.res │ │ ├── gpr_3697_test.mjs │ │ ├── gpr_3697_test.res │ │ ├── gpr_373_test.mjs │ │ ├── gpr_373_test.res │ │ ├── gpr_3770_test.mjs │ │ ├── gpr_3770_test.res │ │ ├── gpr_3852_alias.mjs │ │ ├── gpr_3852_alias.res │ │ ├── gpr_3852_alias_reify.mjs │ │ ├── gpr_3852_alias_reify.res │ │ ├── gpr_3852_alias_reify.resi │ │ ├── gpr_3852_effect.mjs │ │ ├── gpr_3852_effect.res │ │ ├── gpr_3865.mjs │ │ ├── gpr_3865.res │ │ ├── gpr_3865_bar.mjs │ │ ├── gpr_3865_bar.res │ │ ├── gpr_3865_foo.mjs │ │ ├── gpr_3865_foo.res │ │ ├── gpr_3875_test.mjs │ │ ├── gpr_3875_test.res │ │ ├── gpr_3877_test.mjs │ │ ├── gpr_3877_test.res │ │ ├── gpr_3895_test.mjs │ │ ├── gpr_3895_test.res │ │ ├── gpr_3897_test.mjs │ │ ├── gpr_3897_test.res │ │ ├── gpr_3931_test.mjs │ │ ├── gpr_3931_test.res │ │ ├── gpr_3980_test.mjs │ │ ├── gpr_3980_test.res │ │ ├── gpr_4025_test.mjs │ │ ├── gpr_4025_test.res │ │ ├── gpr_4069_test.mjs │ │ ├── gpr_4069_test.res │ │ ├── gpr_4265_test.mjs │ │ ├── gpr_4265_test.res │ │ ├── gpr_4274_test.mjs │ │ ├── gpr_4274_test.res │ │ ├── gpr_4280_test.mjs │ │ ├── gpr_4280_test.res │ │ ├── gpr_4407_test.mjs │ │ ├── gpr_4407_test.res │ │ ├── gpr_441.mjs │ │ ├── gpr_441.res │ │ ├── gpr_4442_test.mjs │ │ ├── gpr_4442_test.res │ │ ├── gpr_4491_test.mjs │ │ ├── gpr_4491_test.res │ │ ├── gpr_4494_test.mjs │ │ ├── gpr_4494_test.res │ │ ├── gpr_4519_test.mjs │ │ ├── gpr_4519_test.res │ │ ├── gpr_459_test.mjs │ │ ├── gpr_459_test.res │ │ ├── gpr_4632.mjs │ │ ├── gpr_4632.res │ │ ├── gpr_4639_test.mjs │ │ ├── gpr_4639_test.res │ │ ├── gpr_4900_test.mjs │ │ ├── gpr_4900_test.res │ │ ├── gpr_4924_test.mjs │ │ ├── gpr_4924_test.res │ │ ├── gpr_4931.mjs │ │ ├── gpr_4931.res │ │ ├── gpr_4931_allow.mjs │ │ ├── gpr_4931_allow.res │ │ ├── gpr_5071_test.mjs │ │ ├── gpr_5071_test.res │ │ ├── gpr_5169_test.mjs │ │ ├── gpr_5169_test.res │ │ ├── gpr_5218_test.mjs │ │ ├── gpr_5218_test.res │ │ ├── gpr_5280_optimize_test.mjs │ │ ├── gpr_5280_optimize_test.res │ │ ├── gpr_5557.mjs │ │ ├── gpr_5557.res │ │ ├── gpr_5753.mjs │ │ ├── gpr_5753.res │ │ ├── gpr_658.mjs │ │ ├── gpr_658.res │ │ ├── gpr_7012_test.mjs │ │ ├── gpr_7012_test.res │ │ ├── gpr_7431_test.mjs │ │ ├── gpr_7431_test.res │ │ ├── gpr_858_test.mjs │ │ ├── gpr_858_test.res │ │ ├── gpr_858_unit2_test.mjs │ │ ├── gpr_858_unit2_test.res │ │ ├── gpr_904_test.mjs │ │ ├── gpr_904_test.res │ │ ├── gpr_974_test.mjs │ │ ├── gpr_974_test.res │ │ ├── gpr_977_test.mjs │ │ ├── gpr_977_test.res │ │ ├── gpr_return_type_unused_attribute.mjs │ │ ├── gpr_return_type_unused_attribute.res │ │ ├── gray_code_test.mjs │ │ ├── gray_code_test.res │ │ ├── guide_for_ext.mjs │ │ ├── guide_for_ext.res │ │ ├── hash_collision_test.mjs │ │ ├── hash_collision_test.res │ │ ├── hash_sugar_desugar.mjs │ │ ├── hash_sugar_desugar.res │ │ ├── hash_sugar_desugar.resi │ │ ├── hash_test.mjs │ │ ├── hash_test.res │ │ ├── hello.foo.mjs │ │ ├── hello.foo.res │ │ ├── hello_res.mjs │ │ ├── hello_res.res │ │ ├── hello_res.resi │ │ ├── ident_mangles.mjs │ │ ├── ident_mangles.res │ │ ├── ignore_test.mjs │ │ ├── ignore_test.res │ │ ├── ignore_uncurry_attribute.mjs │ │ ├── ignore_uncurry_attribute.res │ │ ├── import2.mjs │ │ ├── import2.res │ │ ├── import_external.mjs │ │ ├── import_external.res │ │ ├── import_side_effect.mjs │ │ ├── import_side_effect.res │ │ ├── import_side_effect_free.mjs │ │ ├── import_side_effect_free.res │ │ ├── include_side_effect.mjs │ │ ├── include_side_effect.res │ │ ├── include_side_effect_free.mjs │ │ ├── include_side_effect_free.res │ │ ├── incomplete_toplevel_test.mjs │ │ ├── incomplete_toplevel_test.res │ │ ├── infer_type_test.mjs │ │ ├── infer_type_test.res │ │ ├── infer_type_test.resi │ │ ├── inline_condition_with_pattern_matching.mjs │ │ ├── inline_condition_with_pattern_matching.res │ │ ├── inline_const.mjs │ │ ├── inline_const.res │ │ ├── inline_const.resi │ │ ├── inline_const_test.mjs │ │ ├── inline_const_test.res │ │ ├── inline_edge_cases.mjs │ │ ├── inline_edge_cases.res │ │ ├── inline_edge_cases.resi │ │ ├── inline_map2_test.mjs │ │ ├── inline_map2_test.res │ │ ├── inline_map_demo.mjs │ │ ├── inline_map_demo.res │ │ ├── inline_map_test.mjs │ │ ├── inline_map_test.res │ │ ├── inline_map_test.resi │ │ ├── inline_record_test.mjs │ │ ├── inline_record_test.res │ │ ├── inline_regression_test.mjs │ │ ├── inline_regression_test.res │ │ ├── inline_string_test.mjs │ │ ├── inline_string_test.res │ │ ├── inner_call.mjs │ │ ├── inner_call.res │ │ ├── inner_define.mjs │ │ ├── inner_define.res │ │ ├── inner_define.resi │ │ ├── inner_unused.mjs │ │ ├── inner_unused.res │ │ ├── installation_test.mjs │ │ ├── installation_test.res │ │ ├── int_map.mjs │ │ ├── int_map.res │ │ ├── int_overflow_test.mjs │ │ ├── int_overflow_test.res │ │ ├── int_poly_var.mjs │ │ ├── int_poly_var.res │ │ ├── int_switch_test.mjs │ │ ├── int_switch_test.res │ │ ├── internal_unused_test.mjs │ │ ├── internal_unused_test.res │ │ ├── joinClasses.mjs │ │ ├── js_array_test.mjs │ │ ├── js_array_test.res │ │ ├── js_bool_test.mjs │ │ ├── js_bool_test.res │ │ ├── js_date_test.mjs │ │ ├── js_date_test.res │ │ ├── js_dict_test.mjs │ │ ├── js_dict_test.res │ │ ├── js_exception_catch_test.mjs │ │ ├── js_exception_catch_test.res │ │ ├── js_float_test.mjs │ │ ├── js_float_test.res │ │ ├── js_global_test.mjs │ │ ├── js_global_test.res │ │ ├── js_int_test.mjs │ │ ├── js_int_test.res │ │ ├── js_json_test.mjs │ │ ├── js_json_test.res │ │ ├── js_math_test.mjs │ │ ├── js_math_test.res │ │ ├── js_null_test.mjs │ │ ├── js_null_test.res │ │ ├── js_null_undefined_test.mjs │ │ ├── js_null_undefined_test.res │ │ ├── js_nullable_test.mjs │ │ ├── js_nullable_test.res │ │ ├── js_obj_test.mjs │ │ ├── js_obj_test.res │ │ ├── js_option_test.mjs │ │ ├── js_option_test.res │ │ ├── js_re_test.mjs │ │ ├── js_re_test.res │ │ ├── js_string_test.mjs │ │ ├── js_string_test.res │ │ ├── js_undefined_test.mjs │ │ ├── js_undefined_test.res │ │ ├── js_val.mjs │ │ ├── js_val.res │ │ ├── json_decorders.mjs │ │ ├── json_decorders.res │ │ ├── jsoo_400_test.mjs │ │ ├── jsoo_400_test.res │ │ ├── jsoo_485_test.mjs │ │ ├── jsoo_485_test.res │ │ ├── jsx_optional_props_test.mjs │ │ ├── jsx_optional_props_test.res │ │ ├── jsx_preserve_test.mjs │ │ ├── jsx_preserve_test.res │ │ ├── jsxv4_newtype.mjs │ │ ├── jsxv4_newtype.res │ │ ├── keep_uncurry_attribute.mjs │ │ ├── keep_uncurry_attribute.res │ │ ├── key_word_property.mjs │ │ ├── key_word_property.res │ │ ├── key_word_property2.mjs │ │ ├── key_word_property2.res │ │ ├── key_word_property_plus_test.mjs │ │ ├── key_word_property_plus_test.res │ │ ├── label_uncurry.mjs │ │ ├── label_uncurry.res │ │ ├── large_integer_pat.mjs │ │ ├── large_integer_pat.res │ │ ├── large_record_duplication_test.mjs │ │ ├── large_record_duplication_test.res │ │ ├── largest_int_flow.mjs │ │ ├── largest_int_flow.res │ │ ├── lazy_demo.mjs │ │ ├── lazy_demo.res │ │ ├── lazy_test.mjs │ │ ├── lazy_test.res │ │ ├── lib_js_test.mjs │ │ ├── lib_js_test.res │ │ ├── limits_test.mjs │ │ ├── limits_test.res │ │ ├── list_test.mjs │ │ ├── list_test.res │ │ ├── local_exception_test.mjs │ │ ├── local_exception_test.res │ │ ├── loop_regression_test.mjs │ │ ├── loop_regression_test.res │ │ ├── map_find_test.mjs │ │ ├── map_find_test.res │ │ ├── mario_game.mjs │ │ ├── mario_game.res │ │ ├── meth_annotation.mjs │ │ ├── meth_annotation.res │ │ ├── method_name_test.mjs │ │ ├── method_name_test.res │ │ ├── method_string_name.mjs │ │ ├── method_string_name.res │ │ ├── minimal_test.mjs │ │ ├── minimal_test.res │ │ ├── miss_colon_test.mjs │ │ ├── miss_colon_test.res │ │ ├── mocha.mjs │ │ ├── mocha.res │ │ ├── mock_mt.mjs │ │ ├── mock_mt.res │ │ ├── module_alias_test.mjs │ │ ├── module_alias_test.res │ │ ├── module_as_class_ffi.mjs │ │ ├── module_as_class_ffi.res │ │ ├── module_as_function.mjs │ │ ├── module_as_function.res │ │ ├── module_missing_conversion.mjs │ │ ├── module_missing_conversion.res │ │ ├── module_parameter_test.mjs │ │ ├── module_parameter_test.res │ │ ├── module_splice_test.mjs │ │ ├── module_splice_test.res │ │ ├── module_test.mjs │ │ ├── module_test.res │ │ ├── more_poly_variant_test.mjs │ │ ├── more_poly_variant_test.res │ │ ├── more_uncurry.mjs │ │ ├── more_uncurry.res │ │ ├── move_ref_assignment.mjs │ │ ├── move_ref_assignment.res │ │ ├── mpr_6033_test.mjs │ │ ├── mpr_6033_test.res │ │ ├── mt.mjs │ │ ├── mt.res │ │ ├── mt.resi │ │ ├── mt_global.mjs │ │ ├── mt_global.res │ │ ├── mt_global.resi │ │ ├── multiple_tags.mjs │ │ ├── multiple_tags.res │ │ ├── mutable_obj_test.mjs │ │ ├── mutable_obj_test.res │ │ ├── mutable_uncurry_test.mjs │ │ ├── mutable_uncurry_test.res │ │ ├── mutual_non_recursive_type.mjs │ │ ├── mutual_non_recursive_type.res │ │ ├── name_mangle_test.mjs │ │ ├── name_mangle_test.res │ │ ├── nested_include.mjs │ │ ├── nested_include.res │ │ ├── nested_module_alias.mjs │ │ ├── nested_module_alias.res │ │ ├── nested_obj_literal.mjs │ │ ├── nested_obj_literal.res │ │ ├── nested_obj_test.mjs │ │ ├── nested_obj_test.res │ │ ├── nested_pattern_match_test.mjs │ │ ├── nested_pattern_match_test.res │ │ ├── nested_records.mjs │ │ ├── nested_records.res │ │ ├── nested_records_with_type_params.mjs │ │ ├── nested_records_with_type_params.res │ │ ├── noassert.mjs │ │ ├── noassert.res │ │ ├── node_assert.mjs │ │ ├── node_assert.res │ │ ├── node_path_test.mjs │ │ ├── node_path_test.res │ │ ├── obj_literal_ppx.mjs │ │ ├── obj_literal_ppx.res │ │ ├── obj_literal_ppx_test.mjs │ │ ├── obj_literal_ppx_test.res │ │ ├── obj_magic_test.mjs │ │ ├── obj_magic_test.res │ │ ├── obj_type_test.mjs │ │ ├── obj_type_test.res │ │ ├── ocaml_compat │ │ ├── Ocaml_Array.mjs │ │ ├── Ocaml_Array.res │ │ ├── Ocaml_Array.resi │ │ ├── Ocaml_Hashtbl.mjs │ │ ├── Ocaml_Hashtbl.res │ │ ├── Ocaml_Hashtbl.resi │ │ ├── Ocaml_List.mjs │ │ ├── Ocaml_List.res │ │ ├── Ocaml_List.resi │ │ ├── Ocaml_String.mjs │ │ ├── Ocaml_String.res │ │ └── Ocaml_String.resi │ │ ├── offset.mjs │ │ ├── offset.res │ │ ├── omit_trailing_undefined_in_external_calls.mjs │ │ ├── omit_trailing_undefined_in_external_calls.res │ │ ├── option_encoding_test.mjs │ │ ├── option_encoding_test.res │ │ ├── option_repr_test.mjs │ │ ├── option_repr_test.res │ │ ├── option_wrapping_test.mjs │ │ ├── option_wrapping_test.res │ │ ├── optional_ffi_test.mjs │ │ ├── optional_ffi_test.res │ │ ├── optional_regression_test.mjs │ │ ├── optional_regression_test.res │ │ ├── pattern_match_json.mjs │ │ ├── pattern_match_json.res │ │ ├── pipe_send_readline.mjs │ │ ├── pipe_send_readline.res │ │ ├── pipe_syntax.mjs │ │ ├── pipe_syntax.res │ │ ├── pm_opt_fields_regression.mjs │ │ ├── pm_opt_fields_regression.res │ │ ├── poly_empty_array.mjs │ │ ├── poly_empty_array.res │ │ ├── poly_variant_test.mjs │ │ ├── poly_variant_test.res │ │ ├── poly_variant_test.resi │ │ ├── polymorphic_raw_test.mjs │ │ ├── polymorphic_raw_test.res │ │ ├── polymorphism_test.mjs │ │ ├── polymorphism_test.res │ │ ├── polymorphism_test.resi │ │ ├── polyvar_convert.mjs │ │ ├── polyvar_convert.res │ │ ├── polyvar_test.mjs │ │ ├── polyvar_test.res │ │ ├── ppx_apply_test.mjs │ │ ├── ppx_apply_test.res │ │ ├── pq_test.mjs │ │ ├── pq_test.res │ │ ├── pr6726.mjs │ │ ├── pr6726.res │ │ ├── prepend_data_ffi.mjs │ │ ├── prepend_data_ffi.res │ │ ├── print_alpha_test.mjs │ │ ├── print_alpha_test.res │ │ ├── queue_402.mjs │ │ ├── queue_402.res │ │ ├── raw_arity.mjs │ │ ├── raw_arity.res │ │ ├── raw_output_test.mjs │ │ ├── raw_output_test.res │ │ ├── raw_pure_test.mjs │ │ ├── raw_pure_test.res │ │ ├── rbset.mjs │ │ ├── rbset.res │ │ ├── react.mjs │ │ ├── react.res │ │ ├── reactDOM.mjs │ │ ├── reactDOM.res │ │ ├── reactDOMServer.mjs │ │ ├── reactDOMServer.res │ │ ├── reactEvent.mjs │ │ ├── reactEvent.res │ │ ├── reactEvent.resi │ │ ├── reactTestUtils.mjs │ │ ├── reactTestUtils.res │ │ ├── reactTestUtils.resi │ │ ├── reasonReact.mjs │ │ ├── reasonReact.res │ │ ├── reasonReact.resi │ │ ├── reasonReactCompat.mjs │ │ ├── reasonReactCompat.res │ │ ├── reasonReactCompat.resi │ │ ├── reasonReactOptimizedCreateClass.mjs │ │ ├── reasonReactOptimizedCreateClass.res │ │ ├── reasonReactRouter.mjs │ │ ├── reasonReactRouter.res │ │ ├── reasonReactRouter.resi │ │ ├── rebind_module.mjs │ │ ├── rebind_module.res │ │ ├── rebind_module_test.mjs │ │ ├── rebind_module_test.res │ │ ├── rec_array_test.mjs │ │ ├── rec_array_test.res │ │ ├── rec_fun_test.mjs │ │ ├── rec_fun_test.res │ │ ├── rec_module_opt.mjs │ │ ├── rec_module_opt.res │ │ ├── rec_module_test.mjs │ │ ├── rec_module_test.res │ │ ├── recmodule.mjs │ │ ├── recmodule.res │ │ ├── record_debug_test.mjs │ │ ├── record_debug_test.res │ │ ├── record_extension_test.mjs │ │ ├── record_extension_test.res │ │ ├── record_name_test.mjs │ │ ├── record_name_test.res │ │ ├── record_regression.mjs │ │ ├── record_regression.res │ │ ├── record_type_spread.mjs │ │ ├── record_type_spread.res │ │ ├── record_with_test.mjs │ │ ├── record_with_test.res │ │ ├── recursive_module.mjs │ │ ├── recursive_module.res │ │ ├── recursive_module_test.mjs │ │ ├── recursive_module_test.res │ │ ├── recursive_react_component.mjs │ │ ├── recursive_react_component.res │ │ ├── recursive_records_test.mjs │ │ ├── recursive_records_test.res │ │ ├── recursive_unbound_module_test.mjs │ │ ├── recursive_unbound_module_test.res │ │ ├── regression_print.mjs │ │ ├── regression_print.res │ │ ├── relative_path.mjs │ │ ├── relative_path.res │ │ ├── res_debug.mjs │ │ ├── res_debug.res │ │ ├── return_check.mjs │ │ ├── return_check.res │ │ ├── runtime_encoding_test.mjs │ │ ├── runtime_encoding_test.res │ │ ├── set_annotation.mjs │ │ ├── set_annotation.res │ │ ├── set_gen.mjs │ │ ├── set_gen.res │ │ ├── side_effect.mjs │ │ ├── side_effect.res │ │ ├── side_effect2.mjs │ │ ├── side_effect2.res │ │ ├── side_effect_free.mjs │ │ ├── side_effect_free.res │ │ ├── simplify_lambda_632o.mjs │ │ ├── simplify_lambda_632o.res │ │ ├── singular_unit_test.mjs │ │ ├── singular_unit_test.res │ │ ├── small_inline_test.mjs │ │ ├── small_inline_test.res │ │ ├── splice_test.mjs │ │ ├── splice_test.res │ │ ├── string_bound_get_test.mjs │ │ ├── string_bound_get_test.res │ │ ├── string_constant_compare.mjs │ │ ├── string_constant_compare.res │ │ ├── string_set.mjs │ │ ├── string_set.res │ │ ├── string_set_test.mjs │ │ ├── string_set_test.res │ │ ├── string_unicode_test.mjs │ │ ├── string_unicode_test.res │ │ ├── stringmatch_test.mjs │ │ ├── stringmatch_test.res │ │ ├── submodule.mjs │ │ ├── submodule.res │ │ ├── submodule_call.mjs │ │ ├── submodule_call.res │ │ ├── switch_case_test.mjs │ │ ├── switch_case_test.res │ │ ├── switch_string.mjs │ │ ├── switch_string.res │ │ ├── tagged_template_lib.js │ │ ├── tagged_template_test.mjs │ │ ├── tagged_template_test.res │ │ ├── tailcall_inline_test.mjs │ │ ├── tailcall_inline_test.res │ │ ├── template.mjs │ │ ├── template.res │ │ ├── test2.mjs │ │ ├── test2.res │ │ ├── test_ari.mjs │ │ ├── test_ari.res │ │ ├── test_array.mjs │ │ ├── test_array.res │ │ ├── test_array_append.mjs │ │ ├── test_array_append.res │ │ ├── test_bool_equal.mjs │ │ ├── test_bool_equal.res │ │ ├── test_bs_this.mjs │ │ ├── test_bs_this.res │ │ ├── test_case_opt_collision.mjs │ │ ├── test_case_opt_collision.res │ │ ├── test_case_set.mjs │ │ ├── test_case_set.res │ │ ├── test_char.mjs │ │ ├── test_char.res │ │ ├── test_closure.mjs │ │ ├── test_closure.res │ │ ├── test_common.mjs │ │ ├── test_common.res │ │ ├── test_const_elim.mjs │ │ ├── test_const_elim.res │ │ ├── test_const_propogate.mjs │ │ ├── test_const_propogate.res │ │ ├── test_cpp.mjs │ │ ├── test_cpp.res │ │ ├── test_cps.mjs │ │ ├── test_cps.res │ │ ├── test_demo.mjs │ │ ├── test_demo.res │ │ ├── test_dup_param.mjs │ │ ├── test_dup_param.res │ │ ├── test_eq.mjs │ │ ├── test_eq.res │ │ ├── test_exception.mjs │ │ ├── test_exception.res │ │ ├── test_exception_escape.mjs │ │ ├── test_exception_escape.res │ │ ├── test_export2.mjs │ │ ├── test_export2.res │ │ ├── test_external.mjs │ │ ├── test_external.res │ │ ├── test_external_unit.mjs │ │ ├── test_external_unit.res │ │ ├── test_ffi.mjs │ │ ├── test_ffi.res │ │ ├── test_fib.mjs │ │ ├── test_fib.res │ │ ├── test_for_loop.mjs │ │ ├── test_for_loop.res │ │ ├── test_for_map.mjs │ │ ├── test_for_map.res │ │ ├── test_for_map2.mjs │ │ ├── test_for_map2.res │ │ ├── test_functor_dead_code.mjs │ │ ├── test_functor_dead_code.res │ │ ├── test_generative_module.mjs │ │ ├── test_generative_module.res │ │ ├── test_google_closure.mjs │ │ ├── test_google_closure.res │ │ ├── test_include.mjs │ │ ├── test_include.res │ │ ├── test_incomplete.mjs │ │ ├── test_incomplete.res │ │ ├── test_incr_ref.mjs │ │ ├── test_incr_ref.res │ │ ├── test_int_map_find.mjs │ │ ├── test_int_map_find.res │ │ ├── test_is_js.mjs │ │ ├── test_is_js.res │ │ ├── test_js_ffi.mjs │ │ ├── test_js_ffi.res │ │ ├── test_let.mjs │ │ ├── test_let.res │ │ ├── test_list.mjs │ │ ├── test_list.res │ │ ├── test_literal.mjs │ │ ├── test_literal.res │ │ ├── test_literals.mjs │ │ ├── test_literals.res │ │ ├── test_match_exception.mjs │ │ ├── test_match_exception.res │ │ ├── test_nested_let.mjs │ │ ├── test_nested_let.res │ │ ├── test_nested_print.mjs │ │ ├── test_nested_print.res │ │ ├── test_non_export.mjs │ │ ├── test_non_export.res │ │ ├── test_nullary.mjs │ │ ├── test_nullary.res │ │ ├── test_obj.mjs │ │ ├── test_obj.res │ │ ├── test_order.mjs │ │ ├── test_order.res │ │ ├── test_order_tailcall.mjs │ │ ├── test_order_tailcall.res │ │ ├── test_other_exn.mjs │ │ ├── test_other_exn.res │ │ ├── test_per.mjs │ │ ├── test_per.res │ │ ├── test_pervasive.mjs │ │ ├── test_pervasive.res │ │ ├── test_pervasives3.mjs │ │ ├── test_pervasives3.res │ │ ├── test_primitive.mjs │ │ ├── test_primitive.res │ │ ├── test_ramification.mjs │ │ ├── test_ramification.res │ │ ├── test_react.mjs │ │ ├── test_react.res │ │ ├── test_react_case.mjs │ │ ├── test_react_case.res │ │ ├── test_regex.mjs │ │ ├── test_regex.res │ │ ├── test_runtime_encoding.mjs │ │ ├── test_runtime_encoding.res │ │ ├── test_scope.mjs │ │ ├── test_scope.res │ │ ├── test_seq.mjs │ │ ├── test_seq.res │ │ ├── test_set.mjs │ │ ├── test_set.res │ │ ├── test_side_effect_functor.mjs │ │ ├── test_side_effect_functor.res │ │ ├── test_simple_include.mjs │ │ ├── test_simple_include.res │ │ ├── test_simple_pattern_match.mjs │ │ ├── test_simple_pattern_match.res │ │ ├── test_simple_ref.mjs │ │ ├── test_simple_ref.res │ │ ├── test_simple_tailcall.mjs │ │ ├── test_simple_tailcall.res │ │ ├── test_small.mjs │ │ ├── test_small.res │ │ ├── test_static_catch_ident.mjs │ │ ├── test_static_catch_ident.res │ │ ├── test_string.mjs │ │ ├── test_string.res │ │ ├── test_string_case.mjs │ │ ├── test_string_case.res │ │ ├── test_string_const.mjs │ │ ├── test_string_const.res │ │ ├── test_string_map.mjs │ │ ├── test_string_map.res │ │ ├── test_string_switch.mjs │ │ ├── test_string_switch.res │ │ ├── test_switch.mjs │ │ ├── test_switch.res │ │ ├── test_trywith.mjs │ │ ├── test_trywith.res │ │ ├── test_tuple.mjs │ │ ├── test_tuple.res │ │ ├── test_tuple_destructring.mjs │ │ ├── test_tuple_destructring.res │ │ ├── test_type_based_arity.mjs │ │ ├── test_type_based_arity.res │ │ ├── test_u.mjs │ │ ├── test_u.res │ │ ├── test_unknown.mjs │ │ ├── test_unknown.res │ │ ├── test_unsafe_cmp.mjs │ │ ├── test_unsafe_cmp.res │ │ ├── test_unsafe_obj_ffi.mjs │ │ ├── test_unsafe_obj_ffi.res │ │ ├── test_unsafe_obj_ffi.resi │ │ ├── test_unsafe_obj_ffi_ppx.mjs │ │ ├── test_unsafe_obj_ffi_ppx.res │ │ ├── test_unsafe_obj_ffi_ppx.resi │ │ ├── test_utils.mjs │ │ ├── test_utils.res │ │ ├── test_while_closure.mjs │ │ ├── test_while_closure.res │ │ ├── test_while_side_effect.mjs │ │ ├── test_while_side_effect.res │ │ ├── test_zero_nullable.mjs │ │ ├── test_zero_nullable.res │ │ ├── then_mangle_test.mjs │ │ ├── then_mangle_test.res │ │ ├── ticker.mjs │ │ ├── ticker.res │ │ ├── to_string_test.mjs │ │ ├── to_string_test.res │ │ ├── topsort_test.mjs │ │ ├── topsort_test.res │ │ ├── tramp_fib.mjs │ │ ├── tramp_fib.res │ │ ├── tuple_alloc.mjs │ │ ├── tuple_alloc.res │ │ ├── type_coercion_free_vars.mjs │ │ ├── type_coercion_free_vars.res │ │ ├── type_disambiguate.mjs │ │ ├── type_disambiguate.res │ │ ├── typeof_test.mjs │ │ ├── typeof_test.res │ │ ├── unboxed_attribute.mjs │ │ ├── unboxed_attribute.res │ │ ├── unboxed_attribute_test.mjs │ │ ├── unboxed_attribute_test.res │ │ ├── unboxed_crash.mjs │ │ ├── unboxed_crash.res │ │ ├── unboxed_use_case.mjs │ │ ├── unboxed_use_case.res │ │ ├── unboxed_use_case.resi │ │ ├── uncurried_cast.mjs │ │ ├── uncurried_cast.res │ │ ├── uncurried_default.args.mjs │ │ ├── uncurried_default.args.res │ │ ├── uncurried_pipe.mjs │ │ ├── uncurried_pipe.res │ │ ├── uncurry_external_test.mjs │ │ ├── uncurry_external_test.res │ │ ├── uncurry_glob_test.mjs │ │ ├── uncurry_glob_test.res │ │ ├── uncurry_test.mjs │ │ ├── uncurry_test.res │ │ ├── uncurry_test.resi │ │ ├── undef_regression_test.mjs │ │ ├── undef_regression_test.res │ │ ├── unified_ops_test.mjs │ │ ├── unified_ops_test.res │ │ ├── unit_undefined_test.mjs │ │ ├── unit_undefined_test.res │ │ ├── unsafe_full_apply_primitive.mjs │ │ ├── unsafe_full_apply_primitive.res │ │ ├── unsafe_ppx_test.mjs │ │ ├── unsafe_ppx_test.res │ │ ├── untagged_variants_heuristic.mjs │ │ ├── untagged_variants_heuristic.res │ │ ├── update_record_test.mjs │ │ ├── update_record_test.res │ │ ├── variant.mjs │ │ ├── variant.res │ │ ├── variantsMatching.gen.tsx │ │ ├── variantsMatching.mjs │ │ ├── variantsMatching.res │ │ ├── webpack_config.mjs │ │ └── webpack_config.res └── tools_tests │ ├── Makefile │ ├── package.json │ ├── ppx │ └── TestPpx.res │ ├── rescript.json │ ├── src │ ├── DocExtraction2.res │ ├── DocExtraction2.resi │ ├── DocExtractionRes.res │ ├── ModC.res │ ├── ModC.resi │ └── expected │ │ ├── DocExtraction2.res.json │ │ ├── DocExtraction2.resi.json │ │ ├── DocExtractionRes.res.json │ │ ├── ModC.res.json │ │ ├── ModC.resi.json │ │ └── TestPpx.res.jsout │ └── test.sh ├── tools.opam ├── tools ├── README.md ├── bin │ ├── dune │ ├── main.ml │ └── version.ml ├── rescript.json └── src │ ├── dune │ └── tools.ml ├── tsconfig.json ├── yarn.config.cjs └── yarn.lock /.nvmrc: -------------------------------------------------------------------------------- 1 | 22 2 | -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.11 2 | -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | defaultSemverRangePrefix: "" 2 | 3 | nmMode: hardlinks-global 4 | 5 | nodeLinker: node-modules 6 | 7 | yarnPath: .yarn/releases/yarn-4.9.1.cjs 8 | -------------------------------------------------------------------------------- /Example.res: -------------------------------------------------------------------------------- 1 | type x = 2 | /** first group */ 3 | | A 4 | | B 5 | | C 6 | 7 | /** second group */ 8 | | D 9 | | E 10 | | F 11 | -------------------------------------------------------------------------------- /analysis/examples/example-project/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | .merlin 3 | package-lock.json 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /analysis/examples/example-project/src/B.re: -------------------------------------------------------------------------------- 1 | 2 | 3 | let x = 12 4 | 5 | 6 | let y = 44 7 | 8 | 9 | let z = 123 10 | -------------------------------------------------------------------------------- /analysis/examples/example-project/src/More.resi: -------------------------------------------------------------------------------- 1 | let contnets: string 2 | let inner: int 3 | let n: int 4 | let party: int 5 | 6 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /lib 3 | package-lock.json 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DeadCodeImplementation.res: -------------------------------------------------------------------------------- 1 | module M: DeadCodeInterface.T = { 2 | let x = 42 3 | } 4 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DeadCodeInterface.res: -------------------------------------------------------------------------------- 1 | module type T = { 2 | let x: int 3 | } 4 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DeadExn.resi: -------------------------------------------------------------------------------- 1 | // empty 2 | exception Etoplevel 3 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DeadRT.resi: -------------------------------------------------------------------------------- 1 | type moduleAccessPath = 2 | | Root(string) 3 | | Kaboom 4 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DeadTestBlacklist.res: -------------------------------------------------------------------------------- 1 | let x = 34 2 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DeadTestWithInterface.res: -------------------------------------------------------------------------------- 1 | module Ext_buffer: { 2 | let x: int 3 | } = { 4 | let x = 42 5 | } 6 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DeadTestWithInterface.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DeadValueTest.resi: -------------------------------------------------------------------------------- 1 | let valueAlive: int 2 | let valueDead: int 3 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/DynamicallyLoadedComponent.res: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make = (~s) => React.string(s) 3 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/EverythingLiveHere.res: -------------------------------------------------------------------------------- 1 | let x = 1 2 | 3 | let y = 3 4 | 5 | let z = 4 6 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/IgnoreInterface.res: -------------------------------------------------------------------------------- 1 | @gentype 2 | type t = int 3 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/JSResource.res: -------------------------------------------------------------------------------- 1 | type t<'a> 2 | 3 | @module external jSResource: string => t<'a> = "JSResource" 4 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/LetPrivate.res: -------------------------------------------------------------------------------- 1 | %%private( 2 | @genType 3 | let x = 34 4 | ) 5 | 6 | @genType 7 | let y = x 8 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/NestedModulesInSignature.res: -------------------------------------------------------------------------------- 1 | module Universe = { 2 | let theAnswer = 42 3 | } 4 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/NestedModulesInSignature.resi: -------------------------------------------------------------------------------- 1 | module Universe: { 2 | @genType 3 | let theAnswer: int 4 | } 5 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/OptArg.resi: -------------------------------------------------------------------------------- 1 | let foo: (~x: int=?, ~y: int=?, ~z: int=?, int) => int 2 | let bar: (~x: 'a=?, ~y: int, ~z: 'b=?, int) => int 3 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/TestDeadExn.res: -------------------------------------------------------------------------------- 1 | Js.log(DeadExn.Etoplevel) 2 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/ToSuppress.res: -------------------------------------------------------------------------------- 1 | let toSuppress = 0 2 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/TypeParams1.res: -------------------------------------------------------------------------------- 1 | @gentype 2 | type ocaml_array<'a> = array<'a> 3 | 4 | let exportSomething = 10 5 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/exception/ExnB.res: -------------------------------------------------------------------------------- 1 | @raises(Not_found) 2 | let foo = () => throw(Not_found) 3 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/exception/ExportWithRename.res: -------------------------------------------------------------------------------- 1 | @genType("ExportWithRename") @react.component 2 | let make = (~s) => React.string(s) 3 | -------------------------------------------------------------------------------- /analysis/examples/larger-project/src/loop.res: -------------------------------------------------------------------------------- 1 | // let foo = x => 2 | // switch x { 3 | // | `${ 4 | 5 | -------------------------------------------------------------------------------- /analysis/examples/workspace-project/README.md: -------------------------------------------------------------------------------- 1 | # ReScript workspaces example (monorepo) 2 | 3 | ``` 4 | npm install 5 | npm run build 6 | npm run start 7 | ``` 8 | -------------------------------------------------------------------------------- /analysis/examples/workspace-project/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "app", 3 | "version": "0.1.0" 4 | } -------------------------------------------------------------------------------- /analysis/examples/workspace-project/app/src/App.res: -------------------------------------------------------------------------------- 1 | let _ = Myplugin.Promise.resolve(Utils.printError("Oh no!")) 2 | -------------------------------------------------------------------------------- /analysis/examples/workspace-project/common/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "common", 3 | "version": "0.1.0" 4 | } -------------------------------------------------------------------------------- /analysis/examples/workspace-project/myplugin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "myplugin", 3 | "version": "0.1.0" 4 | } -------------------------------------------------------------------------------- /analysis/reanalyze/dune: -------------------------------------------------------------------------------- 1 | (dirs src) 2 | -------------------------------------------------------------------------------- /analysis/reanalyze/src/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name reanalyze) 3 | (flags 4 | (-w "+6+26+27+32+33+39")) 5 | (libraries jsonlib ext ml str unix)) 6 | -------------------------------------------------------------------------------- /analysis/src/Log.ml: -------------------------------------------------------------------------------- 1 | let verbose = ref false 2 | let log msg = if !verbose then print_endline msg 3 | -------------------------------------------------------------------------------- /analysis/src/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name analysis) 3 | (flags 4 | (-w "+6+26+27+32+33+39")) 5 | (libraries unix str ext ml jsonlib syntax reanalyze)) 6 | -------------------------------------------------------------------------------- /analysis/vendor/.ocamlformat: -------------------------------------------------------------------------------- 1 | disable 2 | -------------------------------------------------------------------------------- /analysis/vendor/dune: -------------------------------------------------------------------------------- 1 | (dirs ext ml res_syntax json flow_parser) 2 | -------------------------------------------------------------------------------- /analysis/vendor/json/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name jsonlib) 3 | (wrapped false) 4 | (flags -w "-9") 5 | (libraries)) 6 | -------------------------------------------------------------------------------- /compiler/bsb/bsb_config_load.mli: -------------------------------------------------------------------------------- 1 | val load_json : 2 | per_proj_dir:string -> warn_legacy_config:bool -> string * Ext_json_types.t 3 | -------------------------------------------------------------------------------- /compiler/bsb/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name bsb) 3 | (wrapped false) 4 | (flags 5 | (:standard -w +a-4-9-40-41-42-70)) 6 | (libraries common ext str unix)) 7 | -------------------------------------------------------------------------------- /compiler/bsb_helper/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name bsb_helper) 3 | (wrapped false) 4 | (flags 5 | (:standard -w +a-9-40-42)) 6 | (libraries ext)) 7 | -------------------------------------------------------------------------------- /compiler/depends/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name depends) 3 | (wrapped false) 4 | (flags 5 | (:standard -w +a-4-40-42)) 6 | (libraries common)) 7 | -------------------------------------------------------------------------------- /compiler/ext/README.md: -------------------------------------------------------------------------------- 1 | This folder hosts some of the utils we use in ReScript, internally. 2 | -------------------------------------------------------------------------------- /compiler/ext/ext_module_system.ml: -------------------------------------------------------------------------------- 1 | type t = Commonjs | Esmodule | Es6_global 2 | -------------------------------------------------------------------------------- /compiler/ext/ext_spec.mli: -------------------------------------------------------------------------------- 1 | type 'a t = (string * 'a * string) array 2 | 3 | val assoc3 : 'a t -> string -> 'a option 4 | -------------------------------------------------------------------------------- /compiler/ext/hash.mli: -------------------------------------------------------------------------------- 1 | module Make (Key : Hashtbl.HashedType) : Hash_gen.S with type key = Key.t 2 | -------------------------------------------------------------------------------- /compiler/ext/hash_ident.mli: -------------------------------------------------------------------------------- 1 | include Hash_gen.S with type key = Ident.t 2 | -------------------------------------------------------------------------------- /compiler/ext/set_int.mli: -------------------------------------------------------------------------------- 1 | include Set_gen.S with type elt = int 2 | -------------------------------------------------------------------------------- /compiler/frontend/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name frontend) 3 | (wrapped false) 4 | (flags 5 | (:standard -w +a-4-9-40-42-70)) 6 | (libraries common ml)) 7 | -------------------------------------------------------------------------------- /compiler/gentype/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name gentype) 3 | (wrapped false) 4 | (flags 5 | (:standard -w +a-4-9-40-41-42-48-70)) 6 | (libraries ml)) 7 | -------------------------------------------------------------------------------- /compiler/ml/ccomp.mli: -------------------------------------------------------------------------------- 1 | val command : string -> int 2 | -------------------------------------------------------------------------------- /compiler/ml/rec_check.mli: -------------------------------------------------------------------------------- 1 | val check_recursive_bindings : Typedtree.value_binding list -> unit 2 | -------------------------------------------------------------------------------- /compiler/ml/used_attributes.mli: -------------------------------------------------------------------------------- 1 | val mark_used_attribute : Parsetree.attribute -> unit 2 | 3 | val is_used_attribute : string Asttypes.loc -> bool 4 | -------------------------------------------------------------------------------- /compiler/syntax/src/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name syntax) 3 | (wrapped false) 4 | (flags 5 | (:standard -w +a-4-42-40-9-48-70)) 6 | (libraries ml)) 7 | -------------------------------------------------------------------------------- /compiler/syntax/src/res_driver_binary.mli: -------------------------------------------------------------------------------- 1 | val print_engine : Res_driver.print_engine 2 | -------------------------------------------------------------------------------- /compiler/syntax/src/res_driver_ml_printer.mli: -------------------------------------------------------------------------------- 1 | val print_engine : Res_driver.print_engine 2 | -------------------------------------------------------------------------------- /dune: -------------------------------------------------------------------------------- 1 | (dirs compiler tests analysis tools) 2 | -------------------------------------------------------------------------------- /lib/es6/Dom.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Storage; 5 | 6 | let Storage2; 7 | 8 | export { 9 | Storage, 10 | Storage2, 11 | } 12 | /* No side effect */ 13 | -------------------------------------------------------------------------------- /lib/es6/Dom_storage2.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_OO.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Callback = {}; 5 | 6 | export { 7 | Callback, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Js_array2.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_bigint.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | function lnot(x) { 5 | return x ^ -1n; 6 | } 7 | 8 | export { 9 | lnot, 10 | } 11 | /* No side effect */ 12 | -------------------------------------------------------------------------------- /lib/es6/Js_blob.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_console.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_date.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_file.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_float.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_global.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_map.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_obj.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_re.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_result.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_set.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_string2.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_weakmap.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Js_weakset.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Jsx.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/JsxDOM.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/JsxDOMStyle.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Obj.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_array_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_char_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_dict.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_float_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_int_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_js_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_object_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_promise.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Primitive_string_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/RescriptTools.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Docgen; 5 | 6 | export { 7 | Docgen, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_ArrayBuffer.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_BigInt64Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_BigUint64Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Console.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_DataView.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Float32Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Float64Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Int16Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Int32Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Int8Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_Collator.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_Common.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_DateTimeFormat.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_ListFormat.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_Locale.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_NumberFormat.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Grouping; 5 | 6 | export { 7 | Grouping, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_PluralRules.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_RelativeTimeFormat.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_Segmenter.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Intl_Segments.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Iterator.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Map.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Object.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_RegExp.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Result = {}; 5 | 6 | export { 7 | Result, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Set.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Symbol.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_TypedArray.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Uint16Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Uint32Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Uint8Array.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_Uint8ClampedArray.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let Constants = {}; 5 | 6 | export { 7 | Constants, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_WeakMap.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/Stdlib_WeakSet.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/es6/package.json: -------------------------------------------------------------------------------- 1 | {"type" : "module"} -------------------------------------------------------------------------------- /lib/js/Dom_storage2.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_OO.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Callback = {}; 5 | 6 | exports.Callback = Callback; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Js_array2.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_bigint.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | function lnot(x) { 5 | return x ^ -1n; 6 | } 7 | 8 | exports.lnot = lnot; 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /lib/js/Js_blob.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_console.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_date.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_file.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_float.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_global.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_map.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_obj.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_re.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_result.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_set.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_string2.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_weakmap.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Js_weakset.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Jsx.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/JsxDOM.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/JsxDOMStyle.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Obj.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_array_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_char_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_dict.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_float_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_int_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_js_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_object_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_promise.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Primitive_string_extern.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/RescriptTools.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Docgen; 5 | 6 | exports.Docgen = Docgen; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_ArrayBuffer.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_BigInt64Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_BigUint64Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Console.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_DataView.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Float32Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Float64Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Int16Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Int32Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Int8Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_Collator.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_Common.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_DateTimeFormat.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_ListFormat.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_Locale.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_NumberFormat.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Grouping; 5 | 6 | exports.Grouping = Grouping; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_PluralRules.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_RelativeTimeFormat.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_Segmenter.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Intl_Segments.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Iterator.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Map.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Object.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_RegExp.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Result = {}; 5 | 6 | exports.Result = Result; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Set.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Symbol.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_TypedArray.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Uint16Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Uint32Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Uint8Array.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_Uint8ClampedArray.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | let Constants = {}; 5 | 6 | exports.Constants = Constants; 7 | /* No side effect */ 8 | -------------------------------------------------------------------------------- /lib/js/Stdlib_WeakMap.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib/js/Stdlib_WeakSet.js: -------------------------------------------------------------------------------- 1 | /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ 2 | -------------------------------------------------------------------------------- /lib_dev/utils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {string} s 3 | */ 4 | export function normalizeNewlines(s) { 5 | return s.replace(/\r\n/g, "\n"); 6 | } 7 | -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/kw_build: -------------------------------------------------------------------------------- 1 | build -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/kw_default: -------------------------------------------------------------------------------- 1 | default -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/kw_include: -------------------------------------------------------------------------------- 1 | include -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/kw_pool: -------------------------------------------------------------------------------- 1 | pool -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/kw_rule: -------------------------------------------------------------------------------- 1 | rule -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/kw_subninja: -------------------------------------------------------------------------------- 1 | subninja -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_a: -------------------------------------------------------------------------------- 1 | a -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_b: -------------------------------------------------------------------------------- 1 | b -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_colon: -------------------------------------------------------------------------------- 1 | : -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_cont: -------------------------------------------------------------------------------- 1 | $ 2 | -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_dollar: -------------------------------------------------------------------------------- 1 | $ -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_eq: -------------------------------------------------------------------------------- 1 | = -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_indent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_pipe: -------------------------------------------------------------------------------- 1 | | -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_pipepipe: -------------------------------------------------------------------------------- 1 | || -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz-tokens/misc_space: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ninja/misc/afl-fuzz/build.ninja: -------------------------------------------------------------------------------- 1 | rule b 2 | command = clang -MMD -MF $out.d -o $out -c $in 3 | description = building $out 4 | 5 | build a.o: b a.c 6 | -------------------------------------------------------------------------------- /packages/playground/src/App.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rescript-lang/rescript/d70c7fa8dbfd799303154e3f254f8cd6d99312bd/packages/playground/src/App.res -------------------------------------------------------------------------------- /packages/std/.gitignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | package-lock.json 3 | yarn.lock 4 | -------------------------------------------------------------------------------- /rewatch/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .DS_Store 3 | /docs 4 | -------------------------------------------------------------------------------- /rewatch/rewatch.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM no need to branch on OS here, it will only be used on windows 3 | %~dp0\rewatch-windows.exe %* 4 | -------------------------------------------------------------------------------- /rewatch/rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "stable" 3 | -------------------------------------------------------------------------------- /rewatch/rustfmt.toml: -------------------------------------------------------------------------------- 1 | 2 | max_width = 110 -------------------------------------------------------------------------------- /rewatch/testrepo/packages/compiled-by-legacy/src/Main.res: -------------------------------------------------------------------------------- 1 | let x = 1 -------------------------------------------------------------------------------- /rewatch/testrepo/packages/dep01/src/Dep01.res: -------------------------------------------------------------------------------- 1 | let log = () => { 2 | Js.log("02") 3 | Dep02.log() 4 | } 5 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/dep02/src/Dep02.res: -------------------------------------------------------------------------------- 1 | open Array 2 | let log = () => ["a", "b"]->forEach(Js.log) 3 | Js.log(NS.Alias.hello_world()) 4 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/file-casing/src/Consume.res: -------------------------------------------------------------------------------- 1 | let x = Produce.meh(1) -------------------------------------------------------------------------------- /rewatch/testrepo/packages/file-casing/src/produce.res: -------------------------------------------------------------------------------- 1 | let meh = (_: int) => { 2 | true 3 | } -------------------------------------------------------------------------------- /rewatch/testrepo/packages/main/src/InternalDep.res: -------------------------------------------------------------------------------- 1 | let value = 1 2 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/main/src/ModuleWithInterface.res: -------------------------------------------------------------------------------- 1 | type hello = string 2 | let hello = "world" 3 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/main/src/ModuleWithInterface.resi: -------------------------------------------------------------------------------- 1 | type hello 2 | let hello: hello 3 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/main/src/output.txt: -------------------------------------------------------------------------------- 1 | bla 2 | Hello world 3 | 01 4 | 02 5 | a 6 | b 7 | 1 8 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/namespace-casing/src/Consume.res: -------------------------------------------------------------------------------- 1 | let x = Produce.meh(1) -------------------------------------------------------------------------------- /rewatch/testrepo/packages/namespace-casing/src/Produce.res: -------------------------------------------------------------------------------- 1 | let meh = (_: int) => { 2 | true 3 | } -------------------------------------------------------------------------------- /rewatch/testrepo/packages/new-namespace/src/NS.res: -------------------------------------------------------------------------------- 1 | module Alias = NS_alias 2 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/new-namespace/src/NS_alias.res: -------------------------------------------------------------------------------- 1 | let hello_world = () => "Hello world" 2 | Other_module.bla() 3 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/new-namespace/src/Other_module.res: -------------------------------------------------------------------------------- 1 | let bla = () => Js.log("bla") 2 | -------------------------------------------------------------------------------- /rewatch/testrepo/packages/with-dev-deps/src/FileToTest.res: -------------------------------------------------------------------------------- 1 | let add = (a, b) => a + b 2 | -------------------------------------------------------------------------------- /rewatch/testrepo/src/Test.res: -------------------------------------------------------------------------------- 1 | let hello = "world" 2 | -------------------------------------------------------------------------------- /rewatch/tests/legacy-utils.sh: -------------------------------------------------------------------------------- 1 | source "utils.sh" 2 | 3 | rewatch_legacy() { RUST_BACKTRACE=1 "../../$REWATCH_EXECUTABLE" legacy $@; } -------------------------------------------------------------------------------- /rewatch/tests/lib/rewatch.lock: -------------------------------------------------------------------------------- 1 | 36062 -------------------------------------------------------------------------------- /rewatch/tests/snapshots/rename-file.txt: -------------------------------------------------------------------------------- 1 | Cleaned 1/15 2 | Parsed 1 source files 3 | Compiled 1 modules 4 | -------------------------------------------------------------------------------- /rewatch/tests/suite.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname $0) 3 | ./suite-ci.sh 4 | -------------------------------------------------------------------------------- /runtime/.gitignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | -------------------------------------------------------------------------------- /runtime/Js_blob.res: -------------------------------------------------------------------------------- 1 | /*** JavaScript Blob API */ 2 | 3 | type t 4 | -------------------------------------------------------------------------------- /runtime/Js_file.res: -------------------------------------------------------------------------------- 1 | /*** JavaScript File API */ 2 | 3 | type t 4 | -------------------------------------------------------------------------------- /runtime/Js_map.res: -------------------------------------------------------------------------------- 1 | /*** ES6 Map API */ 2 | 3 | type t<'k, 'v> = Stdlib_Map.t<'k, 'v> 4 | -------------------------------------------------------------------------------- /runtime/Js_set.res: -------------------------------------------------------------------------------- 1 | /*** ES6 Set API */ 2 | 3 | type t<'a> = Stdlib_Set.t<'a> 4 | -------------------------------------------------------------------------------- /runtime/Js_weakmap.res: -------------------------------------------------------------------------------- 1 | /*** ES6 WeakMap API */ 2 | 3 | type t<'k, 'v> = Stdlib_WeakMap.t<'k, 'v> 4 | -------------------------------------------------------------------------------- /runtime/Js_weakset.res: -------------------------------------------------------------------------------- 1 | /*** ES6 WeakSet API */ 2 | 3 | type t<'a> = Stdlib_WeakSet.t<'a> 4 | -------------------------------------------------------------------------------- /runtime/Primitive_char_extern.res: -------------------------------------------------------------------------------- 1 | external code: char => int = "%identity" 2 | external unsafe_chr: int => char = "%identity" 3 | -------------------------------------------------------------------------------- /runtime/Primitive_dict.res: -------------------------------------------------------------------------------- 1 | // Note: this is exposed to support syntax 2 | external make: array<(string, 'a)> => dict<'a> = "%makedict" 3 | -------------------------------------------------------------------------------- /runtime/Primitive_float_extern.res: -------------------------------------------------------------------------------- 1 | external toInt: float => int = "%intoffloat" 2 | -------------------------------------------------------------------------------- /runtime/Primitive_int_extern.res: -------------------------------------------------------------------------------- 1 | external div: (int, int) => int = "%divint" 2 | 3 | external mod_: (int, int) => int = "%modint" 4 | -------------------------------------------------------------------------------- /runtime/Primitive_promise.res: -------------------------------------------------------------------------------- 1 | external unsafe_async: 'a => promise<'a> = "%identity" 2 | external unsafe_await: promise<'a> => 'a = "%await" 3 | -------------------------------------------------------------------------------- /runtime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rescript-runtime", 3 | "version": "0.0.0", 4 | "private": true 5 | } -------------------------------------------------------------------------------- /scripts/res/.gitignore: -------------------------------------------------------------------------------- 1 | *.res.js 2 | lib 3 | apiDocs/**/* 4 | !.gitkeep -------------------------------------------------------------------------------- /scripts/res/apiDocs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rescript-lang/rescript/d70c7fa8dbfd799303154e3f254f8cd6d99312bd/scripts/res/apiDocs/.gitkeep -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | temp/ 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-incremental-typechecking/src/ConstructorCompletion__Json.res: -------------------------------------------------------------------------------- 1 | let x = Js.Json.Array() 2 | // ^com 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/.gitignore: -------------------------------------------------------------------------------- 1 | .merlin 2 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /lib -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DeadCodeImplementation.res: -------------------------------------------------------------------------------- 1 | module M: DeadCodeInterface.T = { 2 | let x = 42 3 | } 4 | 5 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DeadCodeInterface.res: -------------------------------------------------------------------------------- 1 | module type T = { 2 | let x: int 3 | } 4 | 5 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DeadExn.resi: -------------------------------------------------------------------------------- 1 | // empty 2 | exception Etoplevel 3 | 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DeadRT.resi: -------------------------------------------------------------------------------- 1 | type moduleAccessPath = 2 | | Root(string) 3 | | Kaboom 4 | 5 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DeadTestBlacklist.res: -------------------------------------------------------------------------------- 1 | let x = 34 2 | 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DeadTestWithInterface.res: -------------------------------------------------------------------------------- 1 | module Ext_buffer: { 2 | let x: int 3 | } = { 4 | let x = 42 5 | } 6 | 7 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DeadTestWithInterface.resi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DeadValueTest.resi: -------------------------------------------------------------------------------- 1 | let valueAlive: int 2 | let valueDead: int 3 | 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/DynamicallyLoadedComponent.res: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make = (~s) => React.string(s) 3 | 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/EverythingLiveHere.res: -------------------------------------------------------------------------------- 1 | let x = 1 2 | 3 | let y = 3 4 | 5 | let z = 4 6 | 7 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/IgnoreInterface.res: -------------------------------------------------------------------------------- 1 | @gentype 2 | type t = int 3 | 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/InnerModuleTypes.res: -------------------------------------------------------------------------------- 1 | module I = { 2 | type t = Foo 3 | } 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/InnerModuleTypes.resi: -------------------------------------------------------------------------------- 1 | module I: { 2 | type t = Foo 3 | } 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/JSResource.res: -------------------------------------------------------------------------------- 1 | type t<'a> 2 | 3 | @module external jSResource: string => t<'a> = "JSResource" 4 | 5 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/LetPrivate.res: -------------------------------------------------------------------------------- 1 | %%private( 2 | @genType 3 | let x = 34 4 | ) 5 | 6 | @genType 7 | let y = x 8 | 9 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/NestedModulesInSignature.res: -------------------------------------------------------------------------------- 1 | module Universe = { 2 | let theAnswer = 42 3 | } 4 | 5 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/NestedModulesInSignature.resi: -------------------------------------------------------------------------------- 1 | module Universe: { 2 | @genType 3 | let theAnswer: int 4 | } 5 | 6 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/TestDeadExn.res: -------------------------------------------------------------------------------- 1 | Js.log(DeadExn.Etoplevel) 2 | 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/TestInnedModuleTypes.res: -------------------------------------------------------------------------------- 1 | let _ = InnerModuleTypes.I.Foo 2 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/ToSuppress.res: -------------------------------------------------------------------------------- 1 | let toSuppress = 0 2 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/TypeParams1.res: -------------------------------------------------------------------------------- 1 | @gentype 2 | type ocaml_array<'a> = array<'a> 3 | 4 | let exportSomething = 10 5 | 6 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/exception/ExnA.res: -------------------------------------------------------------------------------- 1 | let bar = () => ExnB.foo() 2 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/deadcode/src/exception/ExnB.res: -------------------------------------------------------------------------------- 1 | @raises(Not_found) 2 | let foo = () => throw(Not_found) 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests-reanalyze/termination/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /lib -------------------------------------------------------------------------------- /tests/analysis_tests/tests/not_compiled/Diagnostics.res: -------------------------------------------------------------------------------- 1 | let = 1 + 1.0 2 | let add = =2 3 | lett a = 2 4 | 5 | //^dia -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/ArrayUtils.res: -------------------------------------------------------------------------------- 1 | let empty = arr => Array.length(arr) === 0 2 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/Auto.res: -------------------------------------------------------------------------------- 1 | open! ShadowedBelt 2 | 3 | let m = List.map 4 | // ^hov 5 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/CompletionResolve.res: -------------------------------------------------------------------------------- 1 | // ^cre Belt_Array 2 | 3 | // ^cre ModuleStuff 4 | 5 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/Component.res: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make = () => React.null 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/Component.resi: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make: unit => React.element 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/Dce.res: -------------------------------------------------------------------------------- 1 | // Note: in test mode this only reports on src/dce 2 | 3 | // ^dce 4 | 5 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/Div.res: -------------------------------------------------------------------------------- 1 | let q = <div /> 2 | // ^hov 3 | 4 | // <div dangerous 5 | // ^com 6 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/Fastify.res: -------------------------------------------------------------------------------- 1 | type t 2 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/FastifyExt.res: -------------------------------------------------------------------------------- 1 | let doStuff = (t: Fastify.t) => Console.log(t) 2 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/ModuleStuff.res: -------------------------------------------------------------------------------- 1 | /*** This is a top level module doc. */ 2 | 3 | module Nested = { 4 | /*** Module doc for nested. */ 5 | } 6 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/ReferencesWithInterface.res: -------------------------------------------------------------------------------- 1 | let x = 2 2 | // ^ref 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/ReferencesWithInterface.resi: -------------------------------------------------------------------------------- 1 | let x: int 2 | // ^ref 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/RenameWithInterface.res: -------------------------------------------------------------------------------- 1 | let x = 2 2 | // ^ren y 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/RenameWithInterface.resi: -------------------------------------------------------------------------------- 1 | let x: int 2 | // ^ren y 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/ShadowedBelt.res: -------------------------------------------------------------------------------- 1 | module List = { 2 | let map = (l, fn) => List.map(fn, l) 3 | } 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/TableclothMap.resi: -------------------------------------------------------------------------------- 1 | let add: int 2 | 3 | module Int: {} 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/dce/DceTest.res: -------------------------------------------------------------------------------- 1 | let x = 12 2 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/expected/Dce.res.txt: -------------------------------------------------------------------------------- 1 | DCE src/Dce.res 2 | issues:1 3 | 4 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/inner/ComponentInner.res: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make = () => React.null 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/inner/ComponentInner.resi: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make: unit => React.element 3 | -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/inner/ReferencesInner.res: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make = () => <ComponentInner/> -------------------------------------------------------------------------------- /tests/analysis_tests/tests/src/inner/ReferencesInner.resi: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make: unit => React.element 3 | -------------------------------------------------------------------------------- /tests/build_tests/build_warn_as_error/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "build_warn_as_error", 3 | "version": "0.1.0", 4 | "sources": ["src"] 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/build_warn_as_error/src/Demo.res: -------------------------------------------------------------------------------- 1 | let todo = _ => %todo 2 | -------------------------------------------------------------------------------- /tests/build_tests/case/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "case", 3 | "version": "0.1.0", 4 | "sources": ["src"], 5 | "bs-dependencies": [] 6 | } 7 | -------------------------------------------------------------------------------- /tests/build_tests/case/src/Demo.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case/src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/case2/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "case2", 3 | "version": "0.1.0", 4 | "sources": ["src"], 5 | "bs-dependencies": [] 6 | } 7 | -------------------------------------------------------------------------------- /tests/build_tests/case2/src/X.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/case2/src/x.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/B01.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/B01.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/B02.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/B03.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/B04.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/B04.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/B05.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/B05.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/a01.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/a01.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/a02.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/a03.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/a04.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/a04.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/a05.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/a05.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/case3/src/hello.res: -------------------------------------------------------------------------------- 1 | @genType.import("hh") 2 | external f: int => int = "f" 3 | -------------------------------------------------------------------------------- /tests/build_tests/cli_compile_status/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test", 3 | "version": "0.1.0", 4 | "sources": [] 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/custom_namespace/src/demo.res: -------------------------------------------------------------------------------- 1 | let v = 42 2 | -------------------------------------------------------------------------------- /tests/build_tests/custom_namespace/src/demo.res.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | let v = 42; 5 | 6 | export { 7 | v, 8 | } 9 | /* No side effect */ 10 | -------------------------------------------------------------------------------- /tests/build_tests/cycle/src/a.res: -------------------------------------------------------------------------------- 1 | let v = B.v 2 | -------------------------------------------------------------------------------- /tests/build_tests/cycle/src/b.res: -------------------------------------------------------------------------------- 1 | let v = A.v 2 | -------------------------------------------------------------------------------- /tests/build_tests/cycle1/src/A.res: -------------------------------------------------------------------------------- 1 | include A 2 | 3 | let x = 42 4 | -------------------------------------------------------------------------------- /tests/build_tests/cycle1/src/A.resi: -------------------------------------------------------------------------------- 1 | let x: int 2 | -------------------------------------------------------------------------------- /tests/build_tests/deprecated-package-specs/src/Index.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/devonly/src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log(Depdemo.a) 2 | -------------------------------------------------------------------------------- /tests/build_tests/devonly/src/depdemo.res: -------------------------------------------------------------------------------- 1 | let a = 3 2 | -------------------------------------------------------------------------------- /tests/build_tests/devonly/src2/hello.res: -------------------------------------------------------------------------------- 1 | let v = 3 2 | -------------------------------------------------------------------------------- /tests/build_tests/devonly/src2/hellodep.res: -------------------------------------------------------------------------------- 1 | Js.log(Hello.v) 2 | -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/.gitignore: -------------------------------------------------------------------------------- 1 | .merlin 2 | **/lib 3 | !node_modules -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/a/node_modules/c: -------------------------------------------------------------------------------- 1 | ../../c -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/a/node_modules/z/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "z", 3 | "version": "0.1.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "a", 3 | "version": "0.1.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/b/node_modules/c: -------------------------------------------------------------------------------- 1 | ../../c -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "b", 3 | "version": "0.1.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/c/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "c", 3 | "version": "0.1.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/node_modules/a: -------------------------------------------------------------------------------- 1 | ../a -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/node_modules/b: -------------------------------------------------------------------------------- 1 | ../b -------------------------------------------------------------------------------- /tests/build_tests/duplicated_symlinked_packages/node_modules/z/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "z", 3 | "version": "0.1.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/exports/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "exports", 3 | "version": "0.1.0", 4 | "sources": ["src"] 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/gpr_978/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gpr_978", 3 | "version": "0.0.0", 4 | "sources": ["src"] 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/gpr_978/src/gpr_978_module.res: -------------------------------------------------------------------------------- 1 | exception M(int) 2 | module M = { 3 | let x = 3 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/hyphen2/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hyphen2", 3 | "version": "0.1.0", 4 | "sources": ["y-src"], 5 | "namespace": true 6 | } 7 | -------------------------------------------------------------------------------- /tests/build_tests/hyphen2/y-src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/in_source/input.sh: -------------------------------------------------------------------------------- 1 | rescript build -regen -------------------------------------------------------------------------------- /tests/build_tests/install/src/Foo.res: -------------------------------------------------------------------------------- 1 | let main = () => Js.log("hello") 2 | -------------------------------------------------------------------------------- /tests/build_tests/jsx_settings_inheritance/.gitignore: -------------------------------------------------------------------------------- 1 | !node_modules 2 | node_modules/**/lib 3 | -------------------------------------------------------------------------------- /tests/build_tests/jsx_settings_inheritance/node_modules/a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "a", 3 | "version": "0.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/jsx_settings_inheritance/node_modules/b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "b", 3 | "version": "0.0.0" 4 | } -------------------------------------------------------------------------------- /tests/build_tests/jsx_settings_inheritance/src/C.res: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make = () => { 3 | <> 4 | <A.A /> 5 | <B.B /> 6 | </> 7 | } 8 | -------------------------------------------------------------------------------- /tests/build_tests/nested/.gitignore: -------------------------------------------------------------------------------- 1 | src/**/*.js -------------------------------------------------------------------------------- /tests/build_tests/nested/src/a0/a0_main.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/nested/src/a0/a1/A00_a1_main.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/nested/src/b0/b0_main.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/nested/src/b0/b1/B00_b1_main.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/nested/src/demo.res: -------------------------------------------------------------------------------- 1 | let v = A00_a1_main.v + A0_main.v + B0_main.v + B00_b1_main.v 2 | -------------------------------------------------------------------------------- /tests/build_tests/nested/src/demo.resi: -------------------------------------------------------------------------------- 1 | let v: int 2 | -------------------------------------------------------------------------------- /tests/build_tests/nnest/.gitignore: -------------------------------------------------------------------------------- 1 | src/**/*.js -------------------------------------------------------------------------------- /tests/build_tests/nnest/src/a0/a0_main.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/nnest/src/a0/a1/A0_a1_main.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/nnest/src/b0/b0_main.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/nnest/src/b0/b1/B0_b1_main.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/nnest/src/demo.res: -------------------------------------------------------------------------------- 1 | let v = A0_a1_main.v + A0_main.v + B0_main.v + B0_b1_main.v 2 | -------------------------------------------------------------------------------- /tests/build_tests/not_undefined_attribute/input.res: -------------------------------------------------------------------------------- 1 | @notUndefined 2 | type t = int 3 | -------------------------------------------------------------------------------- /tests/build_tests/not_undefined_attribute/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "not_undefined_attribute", 3 | "version": "0.1.0", 4 | "sources": ["."] 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/ns/src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log(Hello.a + Hello.b) 2 | -------------------------------------------------------------------------------- /tests/build_tests/ns/src/hello.res: -------------------------------------------------------------------------------- 1 | let a = 3 + 1 2 | 3 | let b = 2 4 | -------------------------------------------------------------------------------- /tests/build_tests/post-build/src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/post-build/src/hello.res: -------------------------------------------------------------------------------- 1 | let a = 3 2 | -------------------------------------------------------------------------------- /tests/build_tests/rerror/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rerror", 3 | "version": "0.1.0", 4 | "sources": ["src"], 5 | "bs-dependencies": [] 6 | } 7 | -------------------------------------------------------------------------------- /tests/build_tests/rerror/src/demo.res: -------------------------------------------------------------------------------- 1 | let x: int => int = "x" 2 | -------------------------------------------------------------------------------- /tests/build_tests/scoped_ppx/.gitignore: -------------------------------------------------------------------------------- 1 | .merlin 2 | !node_modules -------------------------------------------------------------------------------- /tests/build_tests/scoped_ppx/node_modules/@hongbo/ppx1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /tests/build_tests/scoped_ppx/src/hello.res: -------------------------------------------------------------------------------- 1 | let v = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/.gitignore: -------------------------------------------------------------------------------- 1 | fixtures/*.js 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/DerivingAccessorsRecordParam.res: -------------------------------------------------------------------------------- 1 | @deriving(accessors) 2 | type t = Struct({a: int}) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/ModuleAwait.res: -------------------------------------------------------------------------------- 1 | let f0 = () => { 2 | module O: module type of Belt.Option = await Belt.Option 3 | O.forEach 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/OptionalImplIntf.res: -------------------------------------------------------------------------------- 1 | module M: { 2 | type t = {x?: int} 3 | } = { 4 | type t = {x: int} 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/OptionalInlineImplIntf.res: -------------------------------------------------------------------------------- 1 | module M: { 2 | type t = A({x?: int}) 3 | } = { 4 | type t = A({x: int}) 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/UncurriedArgsNotApplied.res: -------------------------------------------------------------------------------- 1 | let apply = (fn: unit => option<int>) => fn() 2 | 3 | let _ = apply(Some(1)) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/UntaggedNonUnary1.res: -------------------------------------------------------------------------------- 1 | @unboxed 2 | type t = Tuple(int, string) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/UntaggedNonUnary2.res: -------------------------------------------------------------------------------- 1 | @unboxed 2 | type t = Tuple(int, string) | Float(float) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/UntaggedTupleAndArray.res: -------------------------------------------------------------------------------- 1 | @unboxed 2 | type t = 3 | | Array(array<int>) 4 | | Tuple((int, int)) 5 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/UntaggedUnknown.res: -------------------------------------------------------------------------------- 1 | @unboxed 2 | type t = List(list<float>) | Float(float) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/arity_mismatch.res: -------------------------------------------------------------------------------- 1 | let makeVar = (~f, ()) => 34 2 | let makeVariables = makeVar(~f=f => f) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/arity_mismatch2.res: -------------------------------------------------------------------------------- 1 | let makeVar = (f, ()) => 34 2 | let makeVariables = makeVar(1, 2, 3) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/arity_mismatch3.res: -------------------------------------------------------------------------------- 1 | Belt.Array.map([], (a, b) => 1) 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/arity_mismatch4.res: -------------------------------------------------------------------------------- 1 | let makeVar = (~f) => 34 2 | let makeVariables = makeVar(1, ~f=f => f) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/array_item_type_mismatch.res: -------------------------------------------------------------------------------- 1 | let x = [1, 2, "hello"] 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/assert_condition.res: -------------------------------------------------------------------------------- 1 | assert("horse") 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/await.res: -------------------------------------------------------------------------------- 1 | let a = async () => 3 2 | let foo = async () => { 3 | let _ = () 4 | () => await a() 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/awaiting_non_promise.res: -------------------------------------------------------------------------------- 1 | let x = 1 2 | 3 | let f = await x 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/bigint_match_literal.res: -------------------------------------------------------------------------------- 1 | let m1 = switch 1n { 2 | | 0001n => 1 3 | | 1n => 1 4 | | -0001n => -1 5 | | _ => 0 6 | } 7 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/collections.res: -------------------------------------------------------------------------------- 1 | /* wrong type in a list */ 2 | list{1, 2, "Hello"}->ignore 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/comparison_operator.res: -------------------------------------------------------------------------------- 1 | let f = Some(0) 2 | 3 | let x = 100 === f 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/curried_expected.res: -------------------------------------------------------------------------------- 1 | let expectCurried = f => f(1) + 2 2 | 3 | let z1 = expectCurried((x, y) => x + y) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/curry_in_uncurry.res: -------------------------------------------------------------------------------- 1 | let f = (a, b) => a + b 2 | 3 | f(2, 2)->Js.log 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/dict_helper.res: -------------------------------------------------------------------------------- 1 | external takesDict: dict<string> => unit = "takesDict" 2 | 3 | takesDict({"test": "1"}) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/directive_attr.res: -------------------------------------------------------------------------------- 1 | @@directive 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/duplicate_labels_error.res: -------------------------------------------------------------------------------- 1 | type rcrd = { 2 | name: string, 3 | name: int, 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/for_loop_condition.res: -------------------------------------------------------------------------------- 1 | for x in 0 to "10" { 2 | Console.log(x) 3 | } 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/fun_return_poly1.res: -------------------------------------------------------------------------------- 1 | let f = (_, ~def=3) => assert(false) 2 | 3 | let ok = f(1)(2) 4 | let err = f(1, 2) 5 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/function_argument_mismatch.res: -------------------------------------------------------------------------------- 1 | let makeName = (s, i) => s ++ i 2 | 3 | let name = makeName("123", 123) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/highlighting1.res: -------------------------------------------------------------------------------- 1 | let a: int = "hel 2 | 3 | lo" 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/highlighting2.res: -------------------------------------------------------------------------------- 1 | let a: int = "hel 2 | 3 | lo" 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/highlighting3.res: -------------------------------------------------------------------------------- 1 | let a: int = "helllllll 2 | 3 | loooooooooooooo" 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/highlighting6.res: -------------------------------------------------------------------------------- 1 | let aaaaa = 10 2 | let b = aaaab 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/if_branch_mismatch.res: -------------------------------------------------------------------------------- 1 | let x = if true { 2 | "123" 3 | } else { 4 | 123 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/if_condition_mismatch.res: -------------------------------------------------------------------------------- 1 | let x = if "horse" { 2 | () 3 | } 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/jinterp.res: -------------------------------------------------------------------------------- 1 | let a = 11 2 | let b = j`number $(a)` 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/math_operator_constant.res: -------------------------------------------------------------------------------- 1 | let num = 0 2 | 3 | let x = num + 12. 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/math_operator_float.res: -------------------------------------------------------------------------------- 1 | let num = 0 2 | 3 | let x = num +. 12. 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/math_operator_int.res: -------------------------------------------------------------------------------- 1 | let num = 0. 2 | 3 | let x = num + 12. 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/math_operator_string.res: -------------------------------------------------------------------------------- 1 | let x = "hello" + "what" 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/method_arity_mismatch.res: -------------------------------------------------------------------------------- 1 | let f = obj => { 2 | obj["hi"](1, 2) 3 | obj["hi"](1) 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/missing_label.res: -------------------------------------------------------------------------------- 1 | let f = (~a) => a ++ "" 2 | 3 | let _ = f("") 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/missing_labels.res: -------------------------------------------------------------------------------- 1 | let f = (~a, ~b) => a ++ b 2 | 3 | let _ = f("", "") 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/modules1.res: -------------------------------------------------------------------------------- 1 | let b = Foo.b 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/modules2.res: -------------------------------------------------------------------------------- 1 | let b = Belt.List.b 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/moreArguments1.res: -------------------------------------------------------------------------------- 1 | let x = (~a, ~b) => a + b 2 | let y = x(~a=2) + 2 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/moreArguments2.res: -------------------------------------------------------------------------------- 1 | let x = (a, b) => a + b 2 | let y = x(2) + 2 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/moreArguments3.res: -------------------------------------------------------------------------------- 1 | let x = (a, b, c, d) => a + b 2 | let y = x(2) + 2 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/moreArguments4.res: -------------------------------------------------------------------------------- 1 | let x = (a, ~b, ~c, ~d) => a + b 2 | let y = x(2) + 2 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/multiple_tag_1.res: -------------------------------------------------------------------------------- 1 | type ambiguous1 = 2 | | @as("x") A(int) 3 | | @as("x") B(int) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/multiple_tag_2.res: -------------------------------------------------------------------------------- 1 | type ambiguous2 = 2 | | @as(3) A(int) 3 | | @as(3) B(int) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/non_function_uncurried_apply.res: -------------------------------------------------------------------------------- 1 | let nonfun = 2 2 | let _ = nonfun(3) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/opt_args_arity.res: -------------------------------------------------------------------------------- 1 | let f = (~a=0, b, c) => a + b + c 2 | let x = f(42) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/partial_app.res: -------------------------------------------------------------------------------- 1 | let f = (a, b, c) => { 2 | a + b + c 3 | } 4 | 5 | f(1, 2) 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/pattern_matching_on_option_but_value_not_option.res: -------------------------------------------------------------------------------- 1 | let x = 1 2 | 3 | switch x { 4 | | Some(1) => () 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/pattern_matching_on_value_but_is_option.res: -------------------------------------------------------------------------------- 1 | let x = Some(1) 2 | 3 | switch x { 4 | | 1 => () 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/polyvariants_no_overlap.res: -------------------------------------------------------------------------------- 1 | let a: [#Resize | #KeyDown] = #Resize 2 | let b: [#Click] = a 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives1.res: -------------------------------------------------------------------------------- 1 | /* got float, wanted int */ 2 | 2. + 2 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives10.res: -------------------------------------------------------------------------------- 1 | let aaaaa = 10 2 | let b = aaaab 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives2.res: -------------------------------------------------------------------------------- 1 | /* got int, wanted string */ 2 | 2 ++ " things" 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives3.res: -------------------------------------------------------------------------------- 1 | /* Too many arguments */ 2 | let x = a => a + 2 3 | x(2, 4) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives4.res: -------------------------------------------------------------------------------- 1 | /* Not a function */ 2 | let x = 10 3 | x(10) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives5.res: -------------------------------------------------------------------------------- 1 | /* Not enough arguments */ 2 | type x = X(int, float) 3 | X(10)->ignore 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives6.res: -------------------------------------------------------------------------------- 1 | /* Wrong constructor argument */ 2 | type x = X(int, float) 3 | X(10, 10)->ignore 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives8.res: -------------------------------------------------------------------------------- 1 | let asd = aaa 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/primitives9.res: -------------------------------------------------------------------------------- 1 | let a: int = "hello" 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/private_without_body.res: -------------------------------------------------------------------------------- 1 | %%private 2 | let a = 2 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/react_component_with_props_external.res: -------------------------------------------------------------------------------- 1 | @react.componentWithProps 2 | external make: React.element = "default" 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/repeated_def_extension_constr.res: -------------------------------------------------------------------------------- 1 | type a = .. 2 | 3 | type a 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/repeated_def_module_types.res: -------------------------------------------------------------------------------- 1 | module type M = {} 2 | 3 | module type M = {} 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/repeated_def_modules.res: -------------------------------------------------------------------------------- 1 | module M = {} 2 | 3 | module M = {} 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/repeated_def_types.res: -------------------------------------------------------------------------------- 1 | type a 2 | 3 | type a 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/stdlib_removed_in_error.res: -------------------------------------------------------------------------------- 1 | type x = Stdlib.Promise.t<int> 2 | 3 | let x: x = Stdlib.Promise.resolve("hello") 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/suggest_module_for_missing_identifier.res: -------------------------------------------------------------------------------- 1 | console.log("Hello") 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/suggest_module_for_missing_identifier_with_spellcheck.res: -------------------------------------------------------------------------------- 1 | let consol = 1 2 | console.log("Hello") 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/syntaxErrors1.res: -------------------------------------------------------------------------------- 1 | let b = fo;;;;;;;;;;;;;;;; 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/syntaxErrors2.res: -------------------------------------------------------------------------------- 1 | let () = 2 | I'm glad you're looking at this file =) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/syntaxErrors3.res: -------------------------------------------------------------------------------- 1 | let a = print_char('a) 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/syntaxErrors5.res: -------------------------------------------------------------------------------- 1 | let a = (1, 2 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/top_level_fn_call_not_unit.res: -------------------------------------------------------------------------------- 1 | let returnsSomething = () => 123 2 | 3 | returnsSomething() 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/top_level_value_not_unit.res: -------------------------------------------------------------------------------- 1 | 1234 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/try_catch_same_type.res: -------------------------------------------------------------------------------- 1 | let x = try {1} catch { 2 | | _ => "hello" 3 | } 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/type1.res: -------------------------------------------------------------------------------- 1 | let x = 2. + 2 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/type3.res: -------------------------------------------------------------------------------- 1 | let u = [] 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/unbound_record_field.res: -------------------------------------------------------------------------------- 1 | let foo = x => 2 | switch x { 3 | | {someUnknownField: 123} => () 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/uncurried_expected.res: -------------------------------------------------------------------------------- 1 | let apply = f => f(1) 2 | let z = apply(x => x + 1) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/unknown_tagged_template_function.res: -------------------------------------------------------------------------------- 1 | let res = tagg`| 5 × 10 = ${5} |` 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/unused_variable.res: -------------------------------------------------------------------------------- 1 | let x = { 2 | let f = 12 3 | 13 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/unused_warnings.res: -------------------------------------------------------------------------------- 1 | let a = 3 2 | let a = 33 + 3 3 | let a = 33 + 3 + 3 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_coercion_bigint_as.res: -------------------------------------------------------------------------------- 1 | type x = | @as(1n) One | Two 2 | 3 | let x = One 4 | 5 | let y = (x :> bigint) 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_coercion_float_as.res: -------------------------------------------------------------------------------- 1 | type x = | @as(1.1) One | Two 2 | 3 | let x = One 4 | 5 | let y = (x :> float) 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_coercion_int_as.res: -------------------------------------------------------------------------------- 1 | type x = | @as(1) One | Two 2 | 3 | let x = One 4 | 5 | let y = (x :> int) 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_coercion_non_unboxed_with_payload.res: -------------------------------------------------------------------------------- 1 | type x = One(bool) 2 | let x = One(true) 3 | let y = (x :> string) 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_coercion_string.res: -------------------------------------------------------------------------------- 1 | type x = One(bool) | Two 2 | 3 | let x = One(true) 4 | 5 | let y = (x :> string) 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_coercion_string_as.res: -------------------------------------------------------------------------------- 1 | type x = One | @as(2) Two 2 | 3 | let x = One 4 | 5 | let y = (x :> string) 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_spread_abstract_type.res: -------------------------------------------------------------------------------- 1 | type a 2 | type b = | ...a | Other 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_spread_extensible_variant.res: -------------------------------------------------------------------------------- 1 | type a = .. 2 | type b = | ...a | Other 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_spread_recursive.res: -------------------------------------------------------------------------------- 1 | type rec a = One | Two | Three and b = Four | Five and c = | ...a | ...b 2 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_spread_tag_missing.res: -------------------------------------------------------------------------------- 1 | @tag("kind") type a = One(int) | Two(string) 2 | type b = | ...a | Three(bool) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_spread_type_parameters.res: -------------------------------------------------------------------------------- 1 | type a<'a> = One | Two('a) 2 | type b = | ...a<int> | Three 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/variant_spread_unboxed_mismatch.res: -------------------------------------------------------------------------------- 1 | @unboxed type a = One(int) | Two(string) 2 | type b = | ...a | Three(bool) 3 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/warnings1.res: -------------------------------------------------------------------------------- 1 | let x = (a, b) => a + b 2 | let z = () => { 3 | x(10) 4 | 10 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/warnings2.res: -------------------------------------------------------------------------------- 1 | let z = () => { 2 | 10 3 | 10 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/while_condition.res: -------------------------------------------------------------------------------- 1 | while "horse" { 2 | Console.log("What") 3 | } 4 | -------------------------------------------------------------------------------- /tests/build_tests/super_errors/fixtures/wrong_name_record_field.res: -------------------------------------------------------------------------------- 1 | type d = {z: int} 2 | 3 | let ff: d = { 4 | zz: 123, 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | !node_modules -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "a", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/a/src/src.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("src") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/a/tests/test.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("test") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/node_modules/b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "b", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/node_modules/b/src/src.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("src") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/node_modules/b/tests/test.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("test") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/node_modules/c/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "c", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/node_modules/c/src/src.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("src") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency1/node_modules/c/tests/test.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("test") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | !node_modules -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "a", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/a/src/src.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("src") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/a/tests/test.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("test") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/node_modules/b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "b", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/node_modules/b/src/src.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("src") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/node_modules/b/tests/test.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("test") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/node_modules/c/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "c", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/node_modules/c/src/src.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("src") 2 | -------------------------------------------------------------------------------- /tests/build_tests/transitive_pinned_dependency2/node_modules/c/tests/test.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("test") 2 | -------------------------------------------------------------------------------- /tests/build_tests/unboxed_bool_with_const/src/Main.res: -------------------------------------------------------------------------------- 1 | @unboxed 2 | type t<'a> = 3 | | Bool(bool) 4 | | @as(false) False 5 | | @as(true) True 6 | -------------------------------------------------------------------------------- /tests/build_tests/unicode/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unicode", 3 | "sources": { 4 | "dir": ".", 5 | "subdirs": true 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tests/build_tests/unicode/📕annotation/a.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/unicode/📗block/b.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/unicode/📙inline/c.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/warn_legacy_config/src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/weird_deps/src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/weird_deps/test/test.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/weird_devdeps/src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/weird_devdeps/test/test.res: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names/src/404.res: -------------------------------------------------------------------------------- 1 | module A = Demo 2 | let a = 1 3 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names/src/[...params].res: -------------------------------------------------------------------------------- 1 | module A = Demo 2 | let a = 1 3 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names/src/[...params_max_3].res: -------------------------------------------------------------------------------- 1 | module A = Demo 2 | let a = 1 3 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names/src/[[...params]].res: -------------------------------------------------------------------------------- 1 | module A = Demo 2 | let a = 1 3 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names/src/[slug_or_ID].res: -------------------------------------------------------------------------------- 1 | module A = Demo 2 | let a = 1 3 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names/src/_app.res: -------------------------------------------------------------------------------- 1 | module A = Demo 2 | let a = 1 3 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names/src/demo.res: -------------------------------------------------------------------------------- 1 | let a = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names/src/utils.test.res: -------------------------------------------------------------------------------- 1 | module A = Demo 2 | let a = 1 3 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names_not_found_bug/src/demo.res: -------------------------------------------------------------------------------- 1 | let a = 1 2 | -------------------------------------------------------------------------------- /tests/build_tests/weird_names_not_found_bug/src/demo.test.res: -------------------------------------------------------------------------------- 1 | module A = Demo 2 | let a = 1 3 | -------------------------------------------------------------------------------- /tests/build_tests/x-y/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "x-y", 3 | "version": "0.1.0", 4 | "sources": ["x-src"] 5 | } 6 | -------------------------------------------------------------------------------- /tests/build_tests/x-y/x-src/demo.res: -------------------------------------------------------------------------------- 1 | let () = Js.log("Hello, ReScript") 2 | -------------------------------------------------------------------------------- /tests/build_tests/xpkg/rescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "_", 3 | "sources": "." 4 | } 5 | -------------------------------------------------------------------------------- /tests/build_tests/zerocycle/.gitignore: -------------------------------------------------------------------------------- 1 | *.bs.js -------------------------------------------------------------------------------- /tests/build_tests/zerocycle/src/demo.res: -------------------------------------------------------------------------------- 1 | module Foo = {} 2 | -------------------------------------------------------------------------------- /tests/build_tests/zerocycle/src/demo2.res: -------------------------------------------------------------------------------- 1 | module Foo2 = {} 2 | -------------------------------------------------------------------------------- /tests/build_tests/zerocycle/src/foo.res: -------------------------------------------------------------------------------- 1 | open! Demo 2 | include Foo 3 | -------------------------------------------------------------------------------- /tests/build_tests/zerocycle/src/foo2.res: -------------------------------------------------------------------------------- 1 | open Demo2 2 | include Foo2 3 | -------------------------------------------------------------------------------- /tests/dependencies/.gitattributes: -------------------------------------------------------------------------------- 1 | * linguist-vendored 2 | -------------------------------------------------------------------------------- /tests/dependencies/.gitignore: -------------------------------------------------------------------------------- 1 | *.res.js 2 | -------------------------------------------------------------------------------- /tests/dependencies/rescript-react/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@tests/rescript-react", 3 | "private": true 4 | } 5 | -------------------------------------------------------------------------------- /tests/docstring_tests/.gitignore: -------------------------------------------------------------------------------- 1 | generated_mocha_test.res* 2 | -------------------------------------------------------------------------------- /tests/docstring_tests/DocTest.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/dune: -------------------------------------------------------------------------------- 1 | (dirs ounit_tests syntax_benchmarks syntax_tests) 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Date.res: -------------------------------------------------------------------------------- 1 | type t = Js.Date.t 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Dict.res: -------------------------------------------------------------------------------- 1 | type t<'a> = dict<'a> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/DynamicallyLoadedComponent.res: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make = (~s) => React.string(s) 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/ExportWithRename.res: -------------------------------------------------------------------------------- 1 | @genType.as("Renamed") @react.component 2 | let make = (~s) => React.string(s) 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/IgnoreInterface.res: -------------------------------------------------------------------------------- 1 | @gentype 2 | type t = int 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/JSResource.res: -------------------------------------------------------------------------------- 1 | type t<'a> 2 | 3 | @module external jSResource: string => t<'a> = "JSResource" 4 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/LabeledFun.res: -------------------------------------------------------------------------------- 1 | @genType 2 | let labelled = (a, ~b=3, ~c, d, ~e, ~f) => a + b + c + d + e + f 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/LetPrivate.res: -------------------------------------------------------------------------------- 1 | %%private(@genType let x = 34) 2 | 3 | @genType let y = x 4 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Machine.res: -------------------------------------------------------------------------------- 1 | type aa = A(int) 2 | 3 | @genType 4 | let a = A(3) 5 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Map_.res: -------------------------------------------------------------------------------- 1 | type t<'k, 'v> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/ModuleResolution1.res: -------------------------------------------------------------------------------- 1 | @genType 2 | type t1 = { 3 | foo: string, 4 | bar: int, 5 | } 6 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/ModuleResolution2.res: -------------------------------------------------------------------------------- 1 | @genType 2 | type t2 = {dependency: ModuleResolution1.t1} 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/MyModule.res: -------------------------------------------------------------------------------- 1 | @genType 2 | type t = int 3 | 4 | @genType 5 | let add = (a: t, b: t): t => a + b 6 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/NestedModulesInSignature.res: -------------------------------------------------------------------------------- 1 | module Universe = { 2 | let theAnswer = 42 3 | } 4 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/NestedModulesInSignature.resi: -------------------------------------------------------------------------------- 1 | module Universe: { 2 | @genType let theAnswer: int 3 | } 4 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Null.res: -------------------------------------------------------------------------------- 1 | type t<'a> = Js.null<'a> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Nullable.res: -------------------------------------------------------------------------------- 1 | type t<'a> = Js.nullable<'a> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/NumericPolyVar.res: -------------------------------------------------------------------------------- 1 | @genType 2 | type t = [#12 | #0 | #b] 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/OnClick2.res: -------------------------------------------------------------------------------- 1 | @genType @react.component 2 | let make = (~onClick) => <div onClick /> 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Promise.res: -------------------------------------------------------------------------------- 1 | type t<'a> = promise<'a> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/RegExp.res: -------------------------------------------------------------------------------- 1 | type t = Js.Re.t 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Set_.res: -------------------------------------------------------------------------------- 1 | type t<'a> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/TypeParams1.res: -------------------------------------------------------------------------------- 1 | @gentype 2 | type ocaml_array<'a> = array<'a> 3 | 4 | let exportSomething = 10 5 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Undefined.res: -------------------------------------------------------------------------------- 1 | type t<'a> = Js.undefined<'a> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Usage.res: -------------------------------------------------------------------------------- 1 | let a = 5 2 | @genType 3 | let b = Wrapper.MyModuleAlias.add(a, 3) 4 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Warnings.res: -------------------------------------------------------------------------------- 1 | @genType("ddd") 2 | let x = 42 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/WeakMap.res: -------------------------------------------------------------------------------- 1 | type t<'k, 'v> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/WeakSet.res: -------------------------------------------------------------------------------- 1 | type t<'a> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/Wrapper.res: -------------------------------------------------------------------------------- 1 | @genType 2 | module MyModuleAlias = MyModule 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/counter.res: -------------------------------------------------------------------------------- 1 | @genType 2 | let b = Machine.A(12) 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | } 6 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// <reference types="react-scripts" /> 2 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/shims/Jsx.shim.ts: -------------------------------------------------------------------------------- 1 | import type { ReactElement } from "react"; 2 | 3 | export type element = ReactElement; 4 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/strange_file_names/404.res: -------------------------------------------------------------------------------- 1 | @genType 2 | let x = 123 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/strange_file_names/AppModal.web.res: -------------------------------------------------------------------------------- 1 | @genType 2 | let x = 123 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/strange_file_names/_under.res: -------------------------------------------------------------------------------- 1 | @genType 2 | let x = 123 3 | -------------------------------------------------------------------------------- /tests/gentype_tests/typescript-react-example/src/strange_file_names/with_underscore.res: -------------------------------------------------------------------------------- 1 | @genType 2 | let x = 123 3 | -------------------------------------------------------------------------------- /tests/package_tests/installation_test/src/Test.res: -------------------------------------------------------------------------------- 1 | Js.Console.log("Hello, world!") 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/api/reiSyntax.resi: -------------------------------------------------------------------------------- 1 | // test .rei file 2 | let x: int 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/api/resSyntax.res: -------------------------------------------------------------------------------- 1 | // test file 2 | 3 | if true { 4 | Js.log("true") 5 | } else { 6 | Js.log("false") 7 | } 8 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/api/resiSyntax.resi: -------------------------------------------------------------------------------- 1 | // test interface file 2 | 3 | let x: int 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/expected/gentype.resi.txt: -------------------------------------------------------------------------------- 1 | @genType 2 | let x: int 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/expected/letprivate.res.txt: -------------------------------------------------------------------------------- 1 | %%private(let x = 34) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/expected/refSugarReason.res.txt: -------------------------------------------------------------------------------- 1 | let x = foo.contents 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/expected/ternary.res.txt: -------------------------------------------------------------------------------- 1 | let a = x ? 1 : 2 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/expected/underscoreSugar.res.txt: -------------------------------------------------------------------------------- 1 | let photo = pricedRoom["room"]["photos"]->filterNone->Array.get(_, 0) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/expected/unicode.res.txt: -------------------------------------------------------------------------------- 1 | let x = "✅ foo bar" 2 | 3 | let x = "\n okokok" 4 | 5 | let z = "\t \b \n okok 🙈" 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/expected/variant.res.txt: -------------------------------------------------------------------------------- 1 | type t = | @foo X 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/gentype.resi: -------------------------------------------------------------------------------- 1 | @genType 2 | let x: int 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/letprivate.res: -------------------------------------------------------------------------------- 1 | %%private(let x = 34) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/moduleLanguage.res: -------------------------------------------------------------------------------- 1 | let someFunctorAsFunction = (x: module(MT)): module(ResT) => module(SomeFunctor(unpack(x))) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/refSugarReason.res: -------------------------------------------------------------------------------- 1 | let x = foo.contents 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/ternary.res: -------------------------------------------------------------------------------- 1 | let a = x ? 1 : 2 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/underscoreSugar.res: -------------------------------------------------------------------------------- 1 | let photo = pricedRoom["room"]["photos"]->filterNone->Array.get(_, 0) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/unicode.res: -------------------------------------------------------------------------------- 1 | let x = "✅ foo bar" 2 | 3 | let x = "\n okokok" 4 | 5 | let z = "\t \b \n okok 🙈" 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/conversion/reason/variant.res: -------------------------------------------------------------------------------- 1 | type t = | @foo X 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/bs-webapi/src/Webapi/Webapi__Performance.res: -------------------------------------------------------------------------------- 1 | type t 2 | 3 | @send external now: t => float = "" 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/covid-19charts.com/src/CopyToClipboard.res: -------------------------------------------------------------------------------- 1 | @module external copy: string => unit = "copy-to-clipboard" 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/ludum-dare-46/IndexHot.res: -------------------------------------------------------------------------------- 1 | let a = Json.parse("{}") 2 | Reprocessing.hotreload("src/index.re") 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/nook-exchange/TemporaryState.res: -------------------------------------------------------------------------------- 1 | type t = FromProfileBrowser 2 | let state: ref<option<t>> = ref(None) 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/layouts/SchoolAdminNavbar__Types.res: -------------------------------------------------------------------------------- 1 | module Course = SchoolAdminNavbar__Course 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/layouts/StudentTopNav__Types.res: -------------------------------------------------------------------------------- 1 | module NavLink = StudentTopNav__NavLink 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/packs/SchoolsCoursesIndexPack.res: -------------------------------------------------------------------------------- 1 | ReactDOMRe.renderToElementWithId(<CourseEditor />, "course-editor") 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/schools/CoachesSchoolIndex__Types.res: -------------------------------------------------------------------------------- 1 | module Coach = CoachesSchoolIndex__Coach 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/schools/CourseAuthors__Types.res: -------------------------------------------------------------------------------- 1 | module Author = CourseAuthors__Author 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/schools/CourseEditor__Types.res: -------------------------------------------------------------------------------- 1 | module Course = CourseEditor__Course 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/schools/SchoolCustomize__Types.res: -------------------------------------------------------------------------------- 1 | module Customizations = SchoolCustomize__Customizations 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/shared/Date.res: -------------------------------------------------------------------------------- 1 | let iso8601 = t => t->DateFns.format("YYYY-MM-DD") 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/shared/Icon.res: -------------------------------------------------------------------------------- 1 | include PfIcon 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/shared/Loading.res: -------------------------------------------------------------------------------- 1 | type t = 2 | | NotLoading 3 | | Reloading 4 | | LoadingMore 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/pupilfirst/users/UsersHome__Types.res: -------------------------------------------------------------------------------- 1 | module Course = UsersHome__Course 2 | module Community = UsersHome__Community 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/idempotency/reasongl/ReasonglInterface.res: -------------------------------------------------------------------------------- 1 | module Gl = RGLInterface 2 | 3 | module Constants = RGLConstants 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/array.res: -------------------------------------------------------------------------------- 1 | // missing ] before ) 2 | let xs = x.map(key => [key, predicates[key]) 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/emptyBlock.res: -------------------------------------------------------------------------------- 1 | let x = {} 2 | 3 | let f = (a, b) => {} 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/emptyeof.res: -------------------------------------------------------------------------------- 1 | let x = " 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/expected/emptyBlock.res.txt: -------------------------------------------------------------------------------- 1 | let x = { } 2 | let f [arity:2]a b = { } -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/expected/stringLiteral.res.txt: -------------------------------------------------------------------------------- 1 | ;;match x with | {js|\x37|js} -> () | {js|\x7b|js} -> () -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/id.res: -------------------------------------------------------------------------------- 1 | n.R. -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/if.res: -------------------------------------------------------------------------------- 1 | // missing brace below 2 | if (match) 3 | let a = 1 4 | a + 1 5 | } 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/misc.res: -------------------------------------------------------------------------------- 1 | let x = _ + 1 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/object.res: -------------------------------------------------------------------------------- 1 | let obj = {"\055": "octal escape", "\123": "another octal escape"} 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/stringLiteral.res: -------------------------------------------------------------------------------- 1 | switch x { 2 | | "\055" => () 3 | | "\123" => () 4 | } 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/expressions/taggedTemplateLiterals.res: -------------------------------------------------------------------------------- 1 | foo()`null` 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/other/for.res: -------------------------------------------------------------------------------- 1 | for x 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/other/hashIdent.res: -------------------------------------------------------------------------------- 1 | let x = #10s 2 | 3 | type t = [ #red | #10s ] 4 | 5 | switch x { 6 | | #10s => () 7 | } 8 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/other/patternMatching.res: -------------------------------------------------------------------------------- 1 | switch expr { 2 | } 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/scanner/badCharacter.res: -------------------------------------------------------------------------------- 1 | let $ = 1 -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/scanner/bigint.res: -------------------------------------------------------------------------------- 1 | let bigint = 3n 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/scanner/escapeSequence.res: -------------------------------------------------------------------------------- 1 | let x = "\055" 2 | 3 | let x = "\123" 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/scanner/expected/bigint.res.txt: -------------------------------------------------------------------------------- 1 | let bigint = 3n -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/scanner/expected/escapeSequence.res.txt: -------------------------------------------------------------------------------- 1 | let x = {js|\x37|js} 2 | let x = {js|\x7b|js} -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/scanner/unclosedComment.res: -------------------------------------------------------------------------------- 1 | /* eof 2 | * reached 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/scanner/unclosedString.res: -------------------------------------------------------------------------------- 1 | let z = "eof 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/signature/attributes.resi: -------------------------------------------------------------------------------- 1 | module type MissingItem = { 2 | @attr 3 | } 4 | 5 | @attrWithoutItem 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/signature/closingBraces.resi: -------------------------------------------------------------------------------- 1 | let x: int 2 | 3 | }}} 4 | 5 | let y: int 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/structure/attributes.res: -------------------------------------------------------------------------------- 1 | module MissingExpression = { 2 | @attr 3 | } 4 | 5 | @attrWithNoExpression 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/structure/closingBraces.res: -------------------------------------------------------------------------------- 1 | let x = 1 2 | 3 | }}} 4 | 5 | let y = 2 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/structure/consecutive.res: -------------------------------------------------------------------------------- 1 | open Foo exception Bar 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/structure/external.res: -------------------------------------------------------------------------------- 1 | // missing JS value name 2 | external setTimeout: (unit => unit, int) => float = 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/structure/letBindingPatternKeyword.res: -------------------------------------------------------------------------------- 1 | let open = 1 2 | let for = 3 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/emptyInlineRecord.res: -------------------------------------------------------------------------------- 1 | type node<'a> = 2 | | Nil 3 | | Node({}) 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/emptyRecord.res: -------------------------------------------------------------------------------- 1 | type record = {} 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/expected/emptyInlineRecord.res.txt: -------------------------------------------------------------------------------- 1 | type nonrec 'a node = 2 | | Nil 3 | | Node of { 4 | } -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/expected/emptyRecord.res.txt: -------------------------------------------------------------------------------- 1 | type nonrec record = { 2 | } -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/keywordOnly.res: -------------------------------------------------------------------------------- 1 | type -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/namedParameters.res: -------------------------------------------------------------------------------- 1 | type draw = (stroke: pencil) => unit 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/polyvariant.res: -------------------------------------------------------------------------------- 1 | type t = [< ] 2 | 3 | type z = [< | #A | #B > ] 4 | 5 | type rec t = [] 6 | 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/record.res: -------------------------------------------------------------------------------- 1 | type observation = { 2 | observed: int, 3 | observer: 4 | } 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/recordDocComment.res: -------------------------------------------------------------------------------- 1 | type a = { 2 | foo: string, /** here */ 3 | } 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typeDef/recordMutable.res: -------------------------------------------------------------------------------- 1 | type d = { 2 | foo: string, mutable 3 | } 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typexpr/garbage.res: -------------------------------------------------------------------------------- 1 | @module("moduleName") 2 | external printName: (~name:?, unit) => unit = "printName" 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/errors/typexpr/typeVar.res: -------------------------------------------------------------------------------- 1 | type x<'A> = '_ 2 | type x<'A> = 'let 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/expressions/expected/float.res.txt: -------------------------------------------------------------------------------- 1 | ;;1. /. 2. 2 | ;;3. *. 4. 3 | ;;2. ** 2. 4 | ;;10.2 +. 5.4 5 | ;;28.9 -. 13.8 -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/interface/expected/interface.resi.txt: -------------------------------------------------------------------------------- 1 | val x : int 2 | val s : string -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/interface/interface.resi: -------------------------------------------------------------------------------- 1 | let x: int 2 | 3 | let s: string 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/modexpr/constrained.res: -------------------------------------------------------------------------------- 1 | module X = (A: MyMod) 2 | 3 | include (X : MyMod) 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/modexpr/expected/constrained.res.txt: -------------------------------------------------------------------------------- 1 | module X : MyMod = A 2 | include (X : MyMod) -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/modexpr/expected/structure.res.txt: -------------------------------------------------------------------------------- 1 | module X = struct let a = 1 end 2 | include struct let b = 2 end -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/modexpr/structure.res: -------------------------------------------------------------------------------- 1 | module X = { 2 | let a = 1 3 | } 4 | 5 | include { 6 | let b = 2 7 | } 8 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/pattern/expected/var.res.txt: -------------------------------------------------------------------------------- 1 | let x = 1 2 | let list = 2 -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/pattern/var.res: -------------------------------------------------------------------------------- 1 | let x = 1 2 | let list = 2 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/signature/expected/let.res.txt: -------------------------------------------------------------------------------- 1 | module type Sig = sig val x : int val y : string[@@attr ] end -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/signature/let.res: -------------------------------------------------------------------------------- 1 | module type Sig = { 2 | let x: int 3 | 4 | @attr 5 | let y: string 6 | } 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/structure/expected/includeStatement.res.txt: -------------------------------------------------------------------------------- 1 | include Belt.Array 2 | include Belt.Array[@@onInclude ] -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/structure/expected/modType.res.txt: -------------------------------------------------------------------------------- 1 | module type X = Foo 2 | module type X = Foo[@@attr ] -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/structure/expected/module.res.txt: -------------------------------------------------------------------------------- 1 | module A : Map = struct let m = 2 end 2 | module A = struct let m = 2 end -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/structure/includeStatement.res: -------------------------------------------------------------------------------- 1 | include Belt.Array 2 | 3 | @onInclude include Belt.Array 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/structure/modType.res: -------------------------------------------------------------------------------- 1 | module type X = Foo 2 | 3 | @attr 4 | module type X = Foo 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/structure/module.res: -------------------------------------------------------------------------------- 1 | module A: Map = {let m = 2} 2 | module A = {let m = 2} 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typedefinition/bsObject.res: -------------------------------------------------------------------------------- 1 | type foo<'a> = {.. "foo": int} as 'a 2 | type foo<'a> = {"foo": int} as 'a 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typedefinition/diamond.res: -------------------------------------------------------------------------------- 1 | // >= shouldn't be picked up as infix op 2 | type t<'a, 'b>= .. 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typedefinition/expected/diamond.res.txt: -------------------------------------------------------------------------------- 1 | type nonrec ('a, 'b) t = .. -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typedefinition/expected/typeNonrec.res.txt: -------------------------------------------------------------------------------- 1 | type nonrec t = 2 | | Water -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typedefinition/typeNonrec.res: -------------------------------------------------------------------------------- 1 | // just support nonrec for fault tolerance 2 | type nonrec t = Water 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typexpr/any.res: -------------------------------------------------------------------------------- 1 | type t = _ 2 | 3 | let t: _ = x 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typexpr/expected/any.res.txt: -------------------------------------------------------------------------------- 1 | type nonrec t = _ 2 | let (t : _) = x -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typexpr/expected/parenthesized.res.txt: -------------------------------------------------------------------------------- 1 | type nonrec t = ((a:int -> unit (a:1))[@attr ]) -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/grammar/typexpr/parenthesized.res: -------------------------------------------------------------------------------- 1 | type t = @attr ((~a: int) => unit) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/infiniteLoops/polymorphicVariantType.res: -------------------------------------------------------------------------------- 1 | type x = [<y> -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/infiniteLoops/templateEof.res: -------------------------------------------------------------------------------- 1 | et foo = x => 2 | switch x { 3 | | `${ -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/comments.res: -------------------------------------------------------------------------------- 1 | /* nested /* comments */ */ 2 | 3 | /* lvl 0 /* lvl 1 /* lvl 2 */ */ */ 4 | let x = 1 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/expected/comments.res.txt: -------------------------------------------------------------------------------- 1 | let x = 1 -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/expected/semi.res.txt: -------------------------------------------------------------------------------- 1 | type nonrec t = 2 | | Red 3 | ;;Red 4 | ;;foo := 1 -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/expected/singleLineCommentWithoutNewline.res.txt: -------------------------------------------------------------------------------- 1 | ;;RootView.init () -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/onlyMultilineComment.res: -------------------------------------------------------------------------------- 1 | /* 2 | * one comment 3 | * here 4 | */ 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/onlyMultilineComment.resi: -------------------------------------------------------------------------------- 1 | /* 2 | * multi 3 | * line 4 | * comment 5 | */ 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/onlySinglelineComment.res: -------------------------------------------------------------------------------- 1 | // one single-line comment 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/onlySinglinelineComment.resi: -------------------------------------------------------------------------------- 1 | // one single-line comment 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/semi.res: -------------------------------------------------------------------------------- 1 | type t = Red 2 | Red 3 | (foo) := 1 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/other/singleLineCommentWithoutNewline.res: -------------------------------------------------------------------------------- 1 | RootView.init() 2 | 3 | //int -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/comments/eof.res: -------------------------------------------------------------------------------- 1 | let x = 1 2 | /* eof 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/expression/emptyBlock.res: -------------------------------------------------------------------------------- 1 | let x = {} 2 | 3 | let f = (a, b) => {} 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/expression/expected/emptyBlock.res.txt: -------------------------------------------------------------------------------- 1 | let x = { } 2 | let f [arity:2]a b = { } -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/expression/expected/infinite.res.txt: -------------------------------------------------------------------------------- 1 | let smallest = (heap.compare ()) < (a -> (f b)) -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/expression/if.res: -------------------------------------------------------------------------------- 1 | if (foo == bar) Js.log("if-branch") else Js.log("else-branch") 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/expression/infinite.res: -------------------------------------------------------------------------------- 1 | let smallest = 2 | heap.compare(.) < a->f(b) 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/pattern/array.res: -------------------------------------------------------------------------------- 1 | switch x { 2 | | [a, b => () 3 | | [a, [c, d => () 4 | } 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/pattern/record.res: -------------------------------------------------------------------------------- 1 | switch x { 2 | | {a, b: {x, y => () 3 | | {...x, y} => () 4 | | {a, _, b} => () 5 | } 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/pattern/tuple.res: -------------------------------------------------------------------------------- 1 | switch x { 2 | | (a => () 3 | | (a, (b, c) => () 4 | | (a, (b, c => () 5 | } 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/string/emptyeof.res: -------------------------------------------------------------------------------- 1 | let x = " 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/string/eof.res: -------------------------------------------------------------------------------- 1 | let x = "eof here 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/string/es6template.res: -------------------------------------------------------------------------------- 1 | let x = `this contains ${foo}, missing closing 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/string/expected/unclosed.res.txt: -------------------------------------------------------------------------------- 1 | let x = {js|unclosed|js} 2 | let y = 1 -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/string/unclosed.res: -------------------------------------------------------------------------------- 1 | let x = "unclosed" 2 | 3 | let y = 1 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/structure/letBinding.res: -------------------------------------------------------------------------------- 1 | let x = = doStuff(y) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/typeDef/typeParams.res: -------------------------------------------------------------------------------- 1 | type node('a) = { 2 | _value: Js.Nullable.value<'a> 3 | } 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/parsing/recovery/typexpr/typeConstructorArgs.res: -------------------------------------------------------------------------------- 1 | type node<'a> = { 2 | _value: Js.Nullable.value('a) 3 | } 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/ppx/react/interfaceWithRef.resi: -------------------------------------------------------------------------------- 1 | @react.component 2 | let make: (~x: string, ~ref: ReactDOM.Ref.currentDomRef=?) => React.element -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/expected/fileWithOneSingleLineComment.res.txt: -------------------------------------------------------------------------------- 1 | // retain this comment 2 | 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/expected/interfaceWithOneSingleComment.resi.txt: -------------------------------------------------------------------------------- 1 | // retain this comment 2 | 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/expected/interfaceWithOnlyComments.resi.txt: -------------------------------------------------------------------------------- 1 | // test 2 | 3 | /* test */ 4 | 5 | // ok 6 | 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/expected/whitespaceCase1.res.txt: -------------------------------------------------------------------------------- 1 | let x = 1 2 | // comment 3 | 4 | let 123 = 123 5 | // comment2 6 | let f = () 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/expected/whitespaceCase2.res.txt: -------------------------------------------------------------------------------- 1 | let a = 2 // c2 2 | 3 | let b = 1 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/fileWithOneSingleLineComment.res: -------------------------------------------------------------------------------- 1 | // retain this comment 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/fileWithOnlyComments.res: -------------------------------------------------------------------------------- 1 | // test 2 | 3 | /* multi 4 | line 5 | comment 6 | */ 7 | 8 | // more comments 9 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/interfaceWithOneSingleComment.resi: -------------------------------------------------------------------------------- 1 | // retain this comment 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/interfaceWithOnlyComments.resi: -------------------------------------------------------------------------------- 1 | // test 2 | 3 | /* test */ 4 | 5 | // ok 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/whitespaceCase1.res: -------------------------------------------------------------------------------- 1 | let x = 1 2 | // comment 3 | 4 | let 123 = 123 5 | // comment2 6 | let f = () 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/comments/whitespaceCase2.res: -------------------------------------------------------------------------------- 1 | let a = 2 | 2 // c2 3 | 4 | let b = 1 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/expr/expected/letexception.res.txt: -------------------------------------------------------------------------------- 1 | let x = { 2 | exception Foo 3 | sideEffect 4 | } 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/expr/letexception.res: -------------------------------------------------------------------------------- 1 | let x = { 2 | exception Foo 3 | sideEffect 4 | } 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/modExpr/await.res: -------------------------------------------------------------------------------- 1 | module M = await ME 2 | 3 | module M = await (ME: MT) 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/modExpr/expected/await.res.txt: -------------------------------------------------------------------------------- 1 | module M = await ME 2 | 3 | module M = await (ME: MT) 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/modExpr/expected/extension.res.txt: -------------------------------------------------------------------------------- 1 | module React = %import("react") 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/modExpr/extension.res: -------------------------------------------------------------------------------- 1 | module React = %import("react") 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/modType/expected/extension.res.txt: -------------------------------------------------------------------------------- 1 | module type ReactInterface = %import("react-bindings") 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/modType/extension.res: -------------------------------------------------------------------------------- 1 | module type ReactInterface = %import("react-bindings") 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/comments.res: -------------------------------------------------------------------------------- 1 | /* nested /* comments */ */ 2 | 3 | /* lvl 0 /* lvl 1 /* lvl 2 */ */ */ 4 | let x = 1 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/expected/comments.res.txt: -------------------------------------------------------------------------------- 1 | /* nested /* comments */ */ 2 | 3 | /* lvl 0 /* lvl 1 /* lvl 2 */ */ */ 4 | let x = 1 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/expected/lor.res.txt: -------------------------------------------------------------------------------- 1 | let lower = ch => lor(32, ch) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/expected/reasonFile.res.txt: -------------------------------------------------------------------------------- 1 | /* parses reason file */ 2 | let () = { 3 | let msg = "test" 4 | msg->Js.log 5 | } 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/expected/reasonInterfaceFile.resi.txt: -------------------------------------------------------------------------------- 1 | /* parse reason interface file */ 2 | let x: int 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/lor.res: -------------------------------------------------------------------------------- 1 | let lower = ch => lor(32, ch) 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/reasonFile.res: -------------------------------------------------------------------------------- 1 | /* parses reason file */ 2 | let () = { 3 | let msg = "test" 4 | msg->Js.log 5 | } 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/reasonInterfaceFile.resi: -------------------------------------------------------------------------------- 1 | /* parse reason interface file */ 2 | let x: int 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/other/reasonString.res: -------------------------------------------------------------------------------- 1 | let x = `foo \${bar` 2 | let x = `foo \`bar` 3 | let x = `foo \\bar` 4 | let x = `foo \\\${bar` 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/pattern/alias.res: -------------------------------------------------------------------------------- 1 | let x as y = 1 2 | let (x as y) as z = 1 3 | let (Foo | Bar) as x = 1 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/pattern/any.res: -------------------------------------------------------------------------------- 1 | let _ = 1 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/pattern/expected/alias.res.txt: -------------------------------------------------------------------------------- 1 | let x as y = 1 2 | let (x as y) as z = 1 3 | let (Foo | Bar) as x = 1 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/pattern/expected/any.res.txt: -------------------------------------------------------------------------------- 1 | let _ = 1 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/pattern/expected/extension.res.txt: -------------------------------------------------------------------------------- 1 | let %extensionPoint = 1 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/pattern/expected/lazy.res.txt: -------------------------------------------------------------------------------- 1 | let lazy x = 1 2 | let lazy (Foo | Bar) = 1 3 | let lazy (x as y) = 1 4 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/pattern/extension.res: -------------------------------------------------------------------------------- 1 | let %extensionPoint = 1 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/signature/expected/extension.resi.txt: -------------------------------------------------------------------------------- 1 | %%raw("eval(js)") 2 | 3 | @attr 4 | %%extension(payload) 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/signature/expected/open.resi.txt: -------------------------------------------------------------------------------- 1 | open Belt 2 | 3 | open! Belt 4 | 5 | @attr 6 | open Belt 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/signature/expected/typext.resi.txt: -------------------------------------------------------------------------------- 1 | type Rgb.color += 2 | | Red 3 | | Blue 4 | | Green 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/signature/extension.resi: -------------------------------------------------------------------------------- 1 | %%raw("eval(js)") 2 | 3 | @attr 4 | %%extension(payload) 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/signature/open.resi: -------------------------------------------------------------------------------- 1 | open Belt 2 | 3 | open! Belt 4 | 5 | @attr 6 | open Belt 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/signature/typext.resi: -------------------------------------------------------------------------------- 1 | type Rgb.color += 2 | | Red 3 | | Blue 4 | | Green 5 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/structure/expected/moduleBinding.res.txt: -------------------------------------------------------------------------------- 1 | module React = { 2 | type t 3 | 4 | let render = () => Js.log("foo") 5 | } 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/structure/expected/moduleTypeDeclaration.res.txt: -------------------------------------------------------------------------------- 1 | module type S = X 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/structure/expected/open.res.txt: -------------------------------------------------------------------------------- 1 | open Belt 2 | 3 | @attr 4 | open Belt 5 | 6 | open! Belt 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/structure/moduleBinding.res: -------------------------------------------------------------------------------- 1 | module React = { 2 | type t 3 | 4 | let render = () => Js.log("foo") 5 | } 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/structure/moduleTypeDeclaration.res: -------------------------------------------------------------------------------- 1 | module type S = X 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/structure/open.res: -------------------------------------------------------------------------------- 1 | open Belt 2 | 3 | @attr 4 | open Belt 5 | 6 | open! Belt 7 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/typeDef/constraint.res: -------------------------------------------------------------------------------- 1 | type t = Reducer 2 | constraint 't = @attr ('state, 'action) => 'nextSubtree 3 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/typeDef/expected/constraint.res.txt: -------------------------------------------------------------------------------- 1 | type t = Reducer constraint 't = @attr ('state, 'action) => 'nextSubtree 2 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/typeDef/expected/private.res.txt: -------------------------------------------------------------------------------- 1 | type t1 = private {} 2 | 3 | type t2 = private {x: int} 4 | 5 | type t3 = private A | B 6 | -------------------------------------------------------------------------------- /tests/syntax_tests/data/printer/typeDef/private.res: -------------------------------------------------------------------------------- 1 | type t1 = private {} 2 | 3 | type t2 = private {x: int} 4 | 5 | type t3 = private A | B 6 | -------------------------------------------------------------------------------- /tests/tests/src/DynamicImportModuleWithAlias.res: -------------------------------------------------------------------------------- 1 | let foo = async z => { 2 | module Utils = await ModuleWithAlias 3 | 4 | Utils.x + z 5 | } 6 | -------------------------------------------------------------------------------- /tests/tests/src/EnvUnifiedOps.res: -------------------------------------------------------------------------------- 1 | module X = { 2 | type t = int 3 | let n: t => t = x => x + 1 4 | } 5 | 6 | let z: X.t = 3 7 | -------------------------------------------------------------------------------- /tests/tests/src/Equality_over_optimization.res: -------------------------------------------------------------------------------- 1 | let z = None == Some([Console.log("hello")]) 2 | -------------------------------------------------------------------------------- /tests/tests/src/ModuleWithAlias.res: -------------------------------------------------------------------------------- 1 | let x = 12 2 | 3 | module VS = VariantSpreads 4 | 5 | let y = 13 6 | -------------------------------------------------------------------------------- /tests/tests/src/UncurriedPervasives.res: -------------------------------------------------------------------------------- 1 | @@uncurried 2 | let n: _ => unit = ignore // Check that we're pulling in uncurried pervasives 3 | -------------------------------------------------------------------------------- /tests/tests/src/a_recursive_type.resi: -------------------------------------------------------------------------------- 1 | let loop: int 2 | let non_terminate: int 3 | -------------------------------------------------------------------------------- /tests/tests/src/acyc/a0_a1.res: -------------------------------------------------------------------------------- 1 | let v = 3 2 | -------------------------------------------------------------------------------- /tests/tests/src/acyc/a1_a2.res: -------------------------------------------------------------------------------- 1 | let v = A0_a1.v 2 | -------------------------------------------------------------------------------- /tests/tests/src/acyc/a1_a2.resi: -------------------------------------------------------------------------------- 1 | let v: int 2 | -------------------------------------------------------------------------------- /tests/tests/src/acyc/a2_a3.res: -------------------------------------------------------------------------------- 1 | let v = A1_a2.v 2 | -------------------------------------------------------------------------------- /tests/tests/src/acyc/a3_a4.res: -------------------------------------------------------------------------------- 1 | include A2_a3 2 | -------------------------------------------------------------------------------- /tests/tests/src/acyc/a4_a5.res: -------------------------------------------------------------------------------- 1 | include A3_a4 2 | 3 | Js.log(v) 4 | -------------------------------------------------------------------------------- /tests/tests/src/ari_regress_test.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/tests/src/b.res: -------------------------------------------------------------------------------- 1 | type point = {x: float, y: float} 2 | 3 | let f = point => { 4 | let {x, y} = point 5 | (x *. x +. y *. y) ** 2. 6 | } 7 | -------------------------------------------------------------------------------- /tests/tests/src/boolean_test.res: -------------------------------------------------------------------------------- 1 | open Mt 2 | 3 | from_suites("boolean", list{("bool_equal", Test_bool_equal.assertions)}) 4 | -------------------------------------------------------------------------------- /tests/tests/src/complete_parmatch_test.res: -------------------------------------------------------------------------------- 1 | let f = x => 2 | switch x { 3 | | 1 => 'a' 4 | | 2 => 'b' 5 | | 3 => 'c' 6 | | _ => 'x' 7 | } 8 | -------------------------------------------------------------------------------- /tests/tests/src/conditional/cond_a.res: -------------------------------------------------------------------------------- 1 | let u = assert(false) 2 | -------------------------------------------------------------------------------- /tests/tests/src/conditional/cond_a_B.res: -------------------------------------------------------------------------------- 1 | module B = { 2 | let value = 3 3 | } 4 | module A = { 5 | let u = B.value 6 | } 7 | -------------------------------------------------------------------------------- /tests/tests/src/conditional/cond_a_C.res: -------------------------------------------------------------------------------- 1 | module C = { 2 | let value = 3 3 | } 4 | module A = { 5 | let u = C.value 6 | } 7 | -------------------------------------------------------------------------------- /tests/tests/src/conditional/cond_a_none.res: -------------------------------------------------------------------------------- 1 | module A = { 2 | let u = assert(false) 3 | } 4 | -------------------------------------------------------------------------------- /tests/tests/src/conditional/cond_b.res: -------------------------------------------------------------------------------- 1 | let value = 3 2 | -------------------------------------------------------------------------------- /tests/tests/src/conditional/cond_c.res: -------------------------------------------------------------------------------- 1 | let value = 3 2 | -------------------------------------------------------------------------------- /tests/tests/src/config1_test.res: -------------------------------------------------------------------------------- 1 | @@config(no_export) 2 | 3 | let a = 3 4 | -------------------------------------------------------------------------------- /tests/tests/src/const_defs.res: -------------------------------------------------------------------------------- 1 | let v = true 2 | -------------------------------------------------------------------------------- /tests/tests/src/const_defs_test.res: -------------------------------------------------------------------------------- 1 | let u = if Const_defs.v { 2 | 3 3 | } else { 4 | 4 5 | } 6 | 7 | let f = () => invalid_arg("hi") 8 | -------------------------------------------------------------------------------- /tests/tests/src/cross_module_inline_test.res: -------------------------------------------------------------------------------- 1 | open Test_char 2 | let v = caml_is_printable('a') 3 | -------------------------------------------------------------------------------- /tests/tests/src/debug_keep_test.mjs: -------------------------------------------------------------------------------- 1 | // Generated by ReScript, PLEASE EDIT WITH CARE 2 | 3 | 4 | debugger; 5 | 6 | /* Not a pure module */ 7 | -------------------------------------------------------------------------------- /tests/tests/src/debug_keep_test.res: -------------------------------------------------------------------------------- 1 | let () = %debugger 2 | -------------------------------------------------------------------------------- /tests/tests/src/default_export_test.res: -------------------------------------------------------------------------------- 1 | let default = 3 2 | 3 | let default = "xx" 4 | -------------------------------------------------------------------------------- /tests/tests/src/demo_int_map.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/tests/src/directives.res: -------------------------------------------------------------------------------- 1 | @@directive("first directive;") 2 | @@directive("second directive;") 3 | 4 | let a = Belt.Array.forEach 5 | -------------------------------------------------------------------------------- /tests/tests/src/effect.res: -------------------------------------------------------------------------------- 1 | let a = 3 2 | let b = 4 3 | let () = Js.log("hello") 4 | Js.log("hey") 5 | let c = 3 6 | -------------------------------------------------------------------------------- /tests/tests/src/es6_export.res: -------------------------------------------------------------------------------- 1 | let default = 3 2 | -------------------------------------------------------------------------------- /tests/tests/src/es6_import.res: -------------------------------------------------------------------------------- 1 | Js.log(Es6_export.default) 2 | -------------------------------------------------------------------------------- /tests/tests/src/escape_esmodule.res: -------------------------------------------------------------------------------- 1 | let __esModule = false 2 | 3 | let default = 4 4 | -------------------------------------------------------------------------------- /tests/tests/src/esmodule_ref.mjs: -------------------------------------------------------------------------------- 1 | // Generated by ReScript, PLEASE EDIT WITH CARE 2 | 3 | 4 | console.log(false); 5 | 6 | /* Not a pure module */ 7 | -------------------------------------------------------------------------------- /tests/tests/src/esmodule_ref.res: -------------------------------------------------------------------------------- 1 | assert(!Escape_esmodule.__esModule) 2 | Js.log(Escape_esmodule.__esModule) 3 | -------------------------------------------------------------------------------- /tests/tests/src/export_keyword.res: -------------------------------------------------------------------------------- 1 | let case = 3 2 | let window = 2 3 | 4 | let \"switch" = 3 5 | -------------------------------------------------------------------------------- /tests/tests/src/external_ppx2.res: -------------------------------------------------------------------------------- 1 | external f: (@as("\h\e\l\lo") _, int) => unit = "f" 2 | 3 | let x = "\h\e\l\lo" 4 | let y = f(42) 5 | -------------------------------------------------------------------------------- /tests/tests/src/function_directives.res: -------------------------------------------------------------------------------- 1 | let testFnWithDirective = @directive("'use memo'") (name: string) => "Hello " ++ name 2 | -------------------------------------------------------------------------------- /tests/tests/src/functor_inst.res: -------------------------------------------------------------------------------- 1 | type t 2 | 3 | let say = (x, y) => x + y 4 | -------------------------------------------------------------------------------- /tests/tests/src/gentTypeReTest.res: -------------------------------------------------------------------------------- 1 | @genType.import("hh") 2 | external f: int => int = "f" 3 | -------------------------------------------------------------------------------- /tests/tests/src/glob_test_add.res: -------------------------------------------------------------------------------- 1 | let add = (x, y) => x + y 2 | -------------------------------------------------------------------------------- /tests/tests/src/glob_test_u.res: -------------------------------------------------------------------------------- 1 | let v = Glob_u.v 2 | -------------------------------------------------------------------------------- /tests/tests/src/glob_u.res: -------------------------------------------------------------------------------- 1 | let v = 3 2 | -------------------------------------------------------------------------------- /tests/tests/src/glob_x.res: -------------------------------------------------------------------------------- 1 | let v = 32 2 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_1240_missing_unbox.res: -------------------------------------------------------------------------------- 1 | let f = (x, y) => { 2 | let (x, y) = (ref(x), ref(y)) 3 | (x.contents, y.contents) 4 | } 5 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_1423_nav.res: -------------------------------------------------------------------------------- 1 | let busted = (~a1, ~a2, ()) => 2 | /* "hello" */ 3 | a1 ++ a2 4 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_1692_test.mjs: -------------------------------------------------------------------------------- 1 | // Generated by ReScript, PLEASE EDIT WITH CARE 2 | 3 | 4 | (f => 0)(""); 5 | 6 | /* Not a pure module */ 7 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_1717_test.res: -------------------------------------------------------------------------------- 1 | module rec A: {} = {} 2 | 3 | module rec A0: {} = {} 4 | and A1: {} = {} 5 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_2352_test.res: -------------------------------------------------------------------------------- 1 | let f = x => x["hey"] = 22 2 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_2474.res: -------------------------------------------------------------------------------- 1 | @@warning("-a") 2 | let coordinates = 1 3 | 4 | /* let 2 = coordinates */ 5 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_2487.res: -------------------------------------------------------------------------------- 1 | module A = Belt.Array 2 | 3 | let b = A.eq([1, 2, 3], [1, 2, 3], \"==") 4 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_2700_test.res: -------------------------------------------------------------------------------- 1 | let f = x => x == 3 || x == 4 2 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3852_alias.res: -------------------------------------------------------------------------------- 1 | module A = Gpr_3852_effect 2 | 3 | /* It should generate a dummy JS file */ 4 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3852_alias_reify.res: -------------------------------------------------------------------------------- 1 | module A = Gpr_3852_effect 2 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3852_alias_reify.resi: -------------------------------------------------------------------------------- 1 | module A: { 2 | let v: int 3 | } 4 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3852_effect.res: -------------------------------------------------------------------------------- 1 | let v = 0 2 | let () = Js.log("hello") 3 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3865.res: -------------------------------------------------------------------------------- 1 | module F = Gpr_3865_foo 2 | module B = Gpr_3865_bar.Make(Gpr_3865_foo) 3 | 4 | Js.log(F.return) 5 | Js.log(B.return) 6 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3865_bar.res: -------------------------------------------------------------------------------- 1 | module type S = { 2 | let return: int 3 | } 4 | 5 | module Make = (M: S) => { 6 | include M 7 | } 8 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3865_foo.res: -------------------------------------------------------------------------------- 1 | let return = 5 2 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3895_test.res: -------------------------------------------------------------------------------- 1 | let f = re => { 2 | let _ = re->Js.Re.exec_("banana") 3 | 3 4 | } 5 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_3897_test.res: -------------------------------------------------------------------------------- 1 | module type S = { 2 | let x: int 3 | } 4 | 5 | module Make = (U: S) => { 6 | include U 7 | } 8 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_4494_test.res: -------------------------------------------------------------------------------- 1 | /* disable it temporarily since it's TNTE */ 2 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_4931_allow.res: -------------------------------------------------------------------------------- 1 | %%raw(` 2 | if(import.meta.hot) { 3 | import.meta.hot.accept(); 4 | }else{ 5 | console.log("ok") 6 | }`) 7 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_5753.mjs: -------------------------------------------------------------------------------- 1 | // Generated by ReScript, PLEASE EDIT WITH CARE 2 | 3 | 4 | console.log(/* '文' */25991); 5 | 6 | /* Not a pure module */ 7 | -------------------------------------------------------------------------------- /tests/tests/src/gpr_5753.res: -------------------------------------------------------------------------------- 1 | @@config({ 2 | flags: ["-w", "-8"], 3 | }) 4 | 5 | '文'->Js.log 6 | -------------------------------------------------------------------------------- /tests/tests/src/hello.foo.mjs: -------------------------------------------------------------------------------- 1 | // Generated by ReScript, PLEASE EDIT WITH CARE 2 | 3 | 4 | console.log("Hello"); 5 | 6 | /* Not a pure module */ 7 | -------------------------------------------------------------------------------- /tests/tests/src/hello.foo.res: -------------------------------------------------------------------------------- 1 | Js.log(__MODULE__) 2 | -------------------------------------------------------------------------------- /tests/tests/src/hello_res.resi: -------------------------------------------------------------------------------- 1 | let a: int 2 | 3 | let to: int 4 | let downto: int 5 | -------------------------------------------------------------------------------- /tests/tests/src/import2.res: -------------------------------------------------------------------------------- 1 | let a = Js.import(Import_external.makeA) 2 | let b = Import_external.makeA 3 | -------------------------------------------------------------------------------- /tests/tests/src/import_side_effect.res: -------------------------------------------------------------------------------- 1 | let a = Js.import(Side_effect2.a) 2 | 3 | module M = await Side_effect 4 | -------------------------------------------------------------------------------- /tests/tests/src/import_side_effect_free.res: -------------------------------------------------------------------------------- 1 | let a = await Js.import(Side_effect_free.a) 2 | -------------------------------------------------------------------------------- /tests/tests/src/include_side_effect.res: -------------------------------------------------------------------------------- 1 | @@config({no_export: no_export}) 2 | include Side_effect 3 | -------------------------------------------------------------------------------- /tests/tests/src/incomplete_toplevel_test.res: -------------------------------------------------------------------------------- 1 | let f = () => { 2 | Js.log("no inline") 3 | (1, 2, 3) 4 | } 5 | 6 | let (a, b, c) = f() 7 | -------------------------------------------------------------------------------- /tests/tests/src/inline_edge_cases.resi: -------------------------------------------------------------------------------- 1 | let v: int 2 | -------------------------------------------------------------------------------- /tests/tests/src/inline_map_test.resi: -------------------------------------------------------------------------------- 1 | /* val assertions : unit -> unit */ 2 | -------------------------------------------------------------------------------- /tests/tests/src/largest_int_flow.res: -------------------------------------------------------------------------------- 1 | @@warning("-107") 2 | let x = 949460645006 3 | -------------------------------------------------------------------------------- /tests/tests/src/minimal_test.res: -------------------------------------------------------------------------------- 1 | let rec fake_y = list{2, 3} 2 | and fake_z = list{1, ...fake_y} 3 | -------------------------------------------------------------------------------- /tests/tests/src/module_as_function.res: -------------------------------------------------------------------------------- 1 | @module external nightmare: {"show": bool} => int = "nightmare" 2 | 3 | let v = nightmare({"show": true}) 4 | -------------------------------------------------------------------------------- /tests/tests/src/more_uncurry.res: -------------------------------------------------------------------------------- 1 | let f = (x, y, x_) => 2 | switch x_ { 3 | | None => x + y 4 | | Some(z) => x + y + z 5 | } 6 | -------------------------------------------------------------------------------- /tests/tests/src/noassert.res: -------------------------------------------------------------------------------- 1 | let f = () => assert(false) 2 | 3 | let h = () => assert(3 > 2) 4 | -------------------------------------------------------------------------------- /tests/tests/src/obj_type_test.res: -------------------------------------------------------------------------------- 1 | type x = {"x": int, "y": 'self => int} as 'self 2 | 3 | let f = (u: x): x => u 4 | -------------------------------------------------------------------------------- /tests/tests/src/ocaml_compat/Ocaml_Hashtbl.resi: -------------------------------------------------------------------------------- 1 | @deprecated("Use an alternative library. This will be removed in v13") 2 | let hash: 'a => int 3 | -------------------------------------------------------------------------------- /tests/tests/src/poly_empty_array.res: -------------------------------------------------------------------------------- 1 | @@config({flags: ["-bs-unsafe-empty-array"]}) 2 | let a = [] 3 | -------------------------------------------------------------------------------- /tests/tests/src/poly_variant_test.resi: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/tests/src/polymorphism_test.resi: -------------------------------------------------------------------------------- 1 | let map: ('a => 'b, list<'a>) => list<'b> 2 | -------------------------------------------------------------------------------- /tests/tests/src/raw_arity.res: -------------------------------------------------------------------------------- 1 | let foo: int => int = %raw(`function add(x, y=5){ return x + y }`) 2 | 3 | Console.log(foo(2)) 4 | -------------------------------------------------------------------------------- /tests/tests/src/rebind_module_test.res: -------------------------------------------------------------------------------- 1 | let x = (v: Rebind_module.b) => 2 | switch v { 3 | | Rebind_module.AA => 0 4 | | _ => 1 5 | } 6 | -------------------------------------------------------------------------------- /tests/tests/src/runtime_encoding_test.res: -------------------------------------------------------------------------------- 1 | let v = [0, 1] 2 | -------------------------------------------------------------------------------- /tests/tests/src/side_effect.res: -------------------------------------------------------------------------------- 1 | Js.log(__MODULE__) 2 | -------------------------------------------------------------------------------- /tests/tests/src/side_effect2.res: -------------------------------------------------------------------------------- 1 | let a = Belt.Array.map([1], x => x) 2 | -------------------------------------------------------------------------------- /tests/tests/src/side_effect_free.res: -------------------------------------------------------------------------------- 1 | let a = 3 2 | -------------------------------------------------------------------------------- /tests/tests/src/string_constant_compare.res: -------------------------------------------------------------------------------- 1 | let a1 = "'" == "'" 2 | let a2 = "'" != "'" 3 | let a3 = "'" == "\'" 4 | let a4 = "'" != "\'" 5 | -------------------------------------------------------------------------------- /tests/tests/src/test2.res: -------------------------------------------------------------------------------- 1 | module U = { 2 | module H = { 3 | type t = string 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tests/tests/src/test_array_append.res: -------------------------------------------------------------------------------- 1 | let const_v = Belt.Array.concat([1, 2], [3]) 2 | -------------------------------------------------------------------------------- /tests/tests/src/test_case_set.res: -------------------------------------------------------------------------------- 1 | let f = x => x["case"] = 3 2 | 3 | let g = x => x["item"](3) 4 | -------------------------------------------------------------------------------- /tests/tests/src/test_char.res: -------------------------------------------------------------------------------- 1 | let caml_is_printable = c => { 2 | let code = Char.code(c) 3 | code > 31 && code < 127 4 | } 5 | -------------------------------------------------------------------------------- /tests/tests/src/test_common.res: -------------------------------------------------------------------------------- 1 | exception U(int) 2 | exception H 3 | -------------------------------------------------------------------------------- /tests/tests/src/test_const_propogate.res: -------------------------------------------------------------------------------- 1 | let f = x => 2 | if 5 > 3 { 3 | x 4 | } else { 5 | x + 1 6 | } 7 | -------------------------------------------------------------------------------- /tests/tests/src/test_cpp.res: -------------------------------------------------------------------------------- 1 | type t = int 2 | let f = (x: t, y) => Pervasives.compare(x, y) 3 | -------------------------------------------------------------------------------- /tests/tests/src/test_dup_param.res: -------------------------------------------------------------------------------- 1 | let f = (x, x) => x 2 | -------------------------------------------------------------------------------- /tests/tests/src/test_eq.res: -------------------------------------------------------------------------------- 1 | let f = (x, y) => x + y 2 | -------------------------------------------------------------------------------- /tests/tests/src/test_export2.res: -------------------------------------------------------------------------------- 1 | let f = (x, y) => x + y 2 | 3 | let f = (x, y) => x * y 4 | -------------------------------------------------------------------------------- /tests/tests/src/test_incr_ref.res: -------------------------------------------------------------------------------- 1 | include ( 2 | { 3 | let u = ref(0) 4 | let v = incr(u) 5 | }: { 6 | let v: unit 7 | } 8 | ) 9 | -------------------------------------------------------------------------------- /tests/tests/src/test_let.res: -------------------------------------------------------------------------------- 1 | { 2 | let a = 3 3 | Js.log(a) 4 | } 5 | let b = 3 6 | -------------------------------------------------------------------------------- /tests/tests/src/test_match_exception.res: -------------------------------------------------------------------------------- 1 | let f = (g, x) => 2 | switch g(x) { 3 | | y => y 4 | | exception Not_found => 3 5 | } 6 | -------------------------------------------------------------------------------- /tests/tests/src/test_nested_let.res: -------------------------------------------------------------------------------- 1 | let v = { 2 | let a = 3 3 | let b = 32 4 | let c = 33 5 | a + b + c 6 | } 7 | -------------------------------------------------------------------------------- /tests/tests/src/test_nested_print.res: -------------------------------------------------------------------------------- 1 | let u = (x, x) => x + x 2 | let f = (g, x) => { 3 | let u = g(x) 4 | u + u 5 | } 6 | -------------------------------------------------------------------------------- /tests/tests/src/test_nullary.res: -------------------------------------------------------------------------------- 1 | let f = _ => Js.log("hey") 2 | -------------------------------------------------------------------------------- /tests/tests/src/test_obj.res: -------------------------------------------------------------------------------- 1 | let f = x => x["say_hi"] 2 | -------------------------------------------------------------------------------- /tests/tests/src/test_order.res: -------------------------------------------------------------------------------- 1 | type t = int 2 | let compare = (x: int, y: int) => Pervasives.compare(x, y) 3 | -------------------------------------------------------------------------------- /tests/tests/src/test_pervasives3.res: -------------------------------------------------------------------------------- 1 | module Pervasives = { 2 | include Pervasives 3 | include Belt.List 4 | } 5 | let v = Pervasives.\"@" 6 | -------------------------------------------------------------------------------- /tests/tests/src/test_regex.res: -------------------------------------------------------------------------------- 1 | let v = /b/ig 2 | let r = /Bucklescript是一个程序语言/ 3 | 4 | /* Js.log(v);; 5 | Js.log(r);; */ 6 | 7 | let c = v 8 | -------------------------------------------------------------------------------- /tests/tests/src/test_small.res: -------------------------------------------------------------------------------- 1 | let fib = 3 2 | let u = fib 3 | -------------------------------------------------------------------------------- /tests/tests/src/test_unsafe_obj_ffi.resi: -------------------------------------------------------------------------------- 1 | let f: {.."height": int, "width": int} => int 2 | -------------------------------------------------------------------------------- /tests/tools_tests/src/ModC.res: -------------------------------------------------------------------------------- 1 | /** 2 | User Module 3 | */ 4 | module User = { 5 | let name = "ReScript" 6 | } 7 | -------------------------------------------------------------------------------- /tests/tools_tests/src/ModC.resi: -------------------------------------------------------------------------------- 1 | /** 2 | User Module from interface file 3 | */ 4 | module User: { 5 | let name: string 6 | } 7 | -------------------------------------------------------------------------------- /tools/bin/version.ml: -------------------------------------------------------------------------------- 1 | let version = "0.6.4" 2 | -------------------------------------------------------------------------------- /tools/src/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name tools) 3 | (flags 4 | (-w "+6+26+27+32+33+39")) 5 | (libraries analysis)) 6 | --------------------------------------------------------------------------------