From d946dafe8ed5742dd99f1714ba683a50078607f0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 24 May 2026 19:38:16 +0000 Subject: [PATCH] feat(sustainabot): migrate bot-integration from ReScript to AffineScript (#148) Hand-port of bots/sustainabot/bot-integration/ from ReScript to AffineScript under explicit policy override of issue #148 (which previously forbade hand-porting ahead of the upstream mechanical migrator). Scope: - 11 .res files re-expressed as .affine (Types, Config, Webhook, Analysis, GitHubAPI, GitHubApp, Report, Router, Oikos, Main, tea/ServerTea). - Deleted .res/.res.js sources, lib/ocaml/ duplicates, bindings/, the vendored rescript-runtime/ Belt snapshot, and rescript.json. - Updated package.json + deno.json to target the AffineScript toolchain. - Added MIGRATION-NOTES.md documenting placeholders pending #161 (Json), #162 (Dict/Map), and Phase-3 of the migration assistant (#57/#314). Also unblocks PR #198: the governance "Language / package anti-pattern policy" check failed there because the .hypatia-ignore file the PR added isn't read by the upstream reusable workflow in hyperpolymath/standards. Removing the .res sources removes the root cause that the rule was firing on, so re-running the check on a main rebased over this commit should pass. --- .../bot-integration/MIGRATION-NOTES.md | 57 + .../bot-integration/bindings/Deno.res | 160 -- .../bot-integration/bindings/Deno.res.js | 39 - .../bot-integration/bindings/Fetch.res | 13 - .../bot-integration/bindings/Fetch.res.js | 9 - bots/sustainabot/bot-integration/deno.json | 37 +- .../bot-integration/lib/ocaml/Analysis.res | 120 - .../bot-integration/lib/ocaml/Config.res | 80 - .../bot-integration/lib/ocaml/Deno.res | 160 -- .../bot-integration/lib/ocaml/Fetch.res | 13 - .../bot-integration/lib/ocaml/GitHubAPI.res | 177 -- .../bot-integration/lib/ocaml/GitHubApp.res | 234 -- .../bot-integration/lib/ocaml/Main.res | 422 ---- .../bot-integration/lib/ocaml/Oikos.res | 265 --- .../bot-integration/lib/ocaml/Report.res | 212 -- .../bot-integration/lib/ocaml/Router.res | 190 -- .../bot-integration/lib/ocaml/ServerTea.res | 148 -- .../bot-integration/lib/ocaml/Types.res | 135 -- .../bot-integration/lib/ocaml/Webhook.res | 150 -- .../bot-integration/lib/rescript.lock | 1 - bots/sustainabot/bot-integration/package.json | 14 +- .../bot-integration/rescript-runtime/Belt.js | 57 - .../rescript-runtime/Belt_Array.js | 713 ------ .../rescript-runtime/Belt_Float.js | 16 - .../rescript-runtime/Belt_HashMap.js | 276 --- .../rescript-runtime/Belt_HashMapInt.js | 259 --- .../rescript-runtime/Belt_HashMapString.js | 259 --- .../rescript-runtime/Belt_HashSet.js | 220 -- .../rescript-runtime/Belt_HashSetInt.js | 205 -- .../rescript-runtime/Belt_HashSetString.js | 205 -- .../rescript-runtime/Belt_Id.js | 43 - .../rescript-runtime/Belt_Int.js | 16 - .../rescript-runtime/Belt_List.js | 1450 ------------ .../rescript-runtime/Belt_Map.js | 352 --- .../rescript-runtime/Belt_MapDict.js | 409 ---- .../rescript-runtime/Belt_MapInt.js | 305 --- .../rescript-runtime/Belt_MapString.js | 305 --- .../rescript-runtime/Belt_MutableMap.js | 374 ---- .../rescript-runtime/Belt_MutableMapInt.js | 342 --- .../rescript-runtime/Belt_MutableMapString.js | 342 --- .../rescript-runtime/Belt_MutableQueue.js | 296 --- .../rescript-runtime/Belt_MutableSet.js | 527 ----- .../rescript-runtime/Belt_MutableSetInt.js | 490 ----- .../rescript-runtime/Belt_MutableSetString.js | 490 ----- .../rescript-runtime/Belt_MutableStack.js | 128 -- .../rescript-runtime/Belt_Option.js | 135 -- .../rescript-runtime/Belt_Range.js | 98 - .../rescript-runtime/Belt_Result.js | 118 - .../rescript-runtime/Belt_Set.js | 304 --- .../rescript-runtime/Belt_SetDict.js | 365 --- .../rescript-runtime/Belt_SetInt.js | 362 --- .../rescript-runtime/Belt_SetString.js | 362 --- .../rescript-runtime/Belt_SortArray.js | 410 ---- .../rescript-runtime/Belt_SortArrayInt.js | 374 ---- .../rescript-runtime/Belt_SortArrayString.js | 374 ---- .../rescript-runtime/Belt_internalAVLset.js | 882 -------- .../rescript-runtime/Belt_internalAVLtree.js | 1063 --------- .../rescript-runtime/Belt_internalBuckets.js | 258 --- .../Belt_internalBucketsType.js | 49 - .../rescript-runtime/Belt_internalMapInt.js | 355 --- .../Belt_internalMapString.js | 355 --- .../Belt_internalSetBuckets.js | 174 -- .../rescript-runtime/Belt_internalSetInt.js | 209 -- .../Belt_internalSetString.js | 209 -- .../bot-integration/rescript-runtime/Char.js | 88 - .../bot-integration/rescript-runtime/Dom.js | 12 - .../rescript-runtime/Dom_storage.js | 27 - .../rescript-runtime/Dom_storage2.js | 1 - .../bot-integration/rescript-runtime/Js.js | 109 - .../bot-integration/rescript-runtime/Js_OO.js | 9 - .../rescript-runtime/Js_array.js | 216 -- .../rescript-runtime/Js_array2.js | 1 - .../rescript-runtime/Js_bigint.js | 11 - .../rescript-runtime/Js_blob.js | 1 - .../rescript-runtime/Js_console.js | 1 - .../rescript-runtime/Js_date.js | 1 - .../rescript-runtime/Js_dict.js | 84 - .../rescript-runtime/Js_extern.js | 1 - .../rescript-runtime/Js_file.js | 1 - .../rescript-runtime/Js_float.js | 1 - .../rescript-runtime/Js_global.js | 1 - .../rescript-runtime/Js_int.js | 17 - .../rescript-runtime/Js_json.js | 167 -- .../rescript-runtime/Js_map.js | 1 - .../rescript-runtime/Js_math.js | 50 - .../rescript-runtime/Js_null.js | 48 - .../rescript-runtime/Js_null_undefined.js | 33 - .../rescript-runtime/Js_obj.js | 1 - .../rescript-runtime/Js_option.js | 100 - .../rescript-runtime/Js_promise.js | 16 - .../rescript-runtime/Js_promise2.js | 16 - .../bot-integration/rescript-runtime/Js_re.js | 1 - .../rescript-runtime/Js_result.js | 1 - .../rescript-runtime/Js_set.js | 1 - .../rescript-runtime/Js_string.js | 197 -- .../rescript-runtime/Js_string2.js | 1 - .../rescript-runtime/Js_typed_array.js | 48 - .../rescript-runtime/Js_typed_array2.js | 39 - .../rescript-runtime/Js_types.js | 76 - .../rescript-runtime/Js_undefined.js | 58 - .../rescript-runtime/Js_weakmap.js | 1 - .../rescript-runtime/Js_weakset.js | 1 - .../bot-integration/rescript-runtime/Jsx.js | 1 - .../rescript-runtime/JsxDOM.js | 1 - .../rescript-runtime/JsxDOMStyle.js | 1 - .../rescript-runtime/JsxEvent.js | 59 - .../bot-integration/rescript-runtime/Obj.js | 1 - .../rescript-runtime/Pervasives.js | 146 -- .../rescript-runtime/Primitive_array.js | 35 - .../Primitive_array_extern.js | 1 - .../rescript-runtime/Primitive_bigint.js | 57 - .../rescript-runtime/Primitive_bool.js | 39 - .../rescript-runtime/Primitive_char_extern.js | 1 - .../rescript-runtime/Primitive_curry.js | 438 ---- .../rescript-runtime/Primitive_dict.js | 1 - .../rescript-runtime/Primitive_exceptions.js | 43 - .../rescript-runtime/Primitive_float.js | 39 - .../Primitive_float_extern.js | 1 - .../rescript-runtime/Primitive_hash.js | 149 -- .../rescript-runtime/Primitive_int.js | 57 - .../rescript-runtime/Primitive_int_extern.js | 1 - .../rescript-runtime/Primitive_js_extern.js | 1 - .../rescript-runtime/Primitive_module.js | 110 - .../rescript-runtime/Primitive_object.js | 355 --- .../Primitive_object_extern.js | 1 - .../rescript-runtime/Primitive_option.js | 86 - .../rescript-runtime/Primitive_promise.js | 1 - .../rescript-runtime/Primitive_string.js | 52 - .../Primitive_string_extern.js | 1 - .../rescript-runtime/Primitive_util.js | 20 - .../rescript-runtime/RescriptTools.js | 12 - .../rescript-runtime/RescriptTools_Docgen.js | 11 - .../RescriptTools_ExtractCodeBlocks.js | 1 - .../rescript-runtime/Stdlib.js | 181 -- .../rescript-runtime/Stdlib_Array.js | 218 -- .../rescript-runtime/Stdlib_ArrayBuffer.js | 1 - .../rescript-runtime/Stdlib_AsyncIterator.js | 43 - .../rescript-runtime/Stdlib_BigInt.js | 29 - .../rescript-runtime/Stdlib_BigInt64Array.js | 9 - .../rescript-runtime/Stdlib_BigUint64Array.js | 9 - .../rescript-runtime/Stdlib_Bool.js | 46 - .../rescript-runtime/Stdlib_Console.js | 1 - .../rescript-runtime/Stdlib_DataView.js | 1 - .../rescript-runtime/Stdlib_Date.js | 20 - .../rescript-runtime/Stdlib_Dict.js | 51 - .../rescript-runtime/Stdlib_Error.js | 38 - .../rescript-runtime/Stdlib_Exn.js | 52 - .../rescript-runtime/Stdlib_Float.js | 29 - .../rescript-runtime/Stdlib_Float32Array.js | 9 - .../rescript-runtime/Stdlib_Float64Array.js | 9 - .../rescript-runtime/Stdlib_Global.js | 12 - .../rescript-runtime/Stdlib_Int.js | 89 - .../rescript-runtime/Stdlib_Int16Array.js | 9 - .../rescript-runtime/Stdlib_Int32Array.js | 9 - .../rescript-runtime/Stdlib_Int8Array.js | 9 - .../rescript-runtime/Stdlib_Intl.js | 36 - .../rescript-runtime/Stdlib_Intl_Collator.js | 1 - .../rescript-runtime/Stdlib_Intl_Common.js | 1 - .../Stdlib_Intl_DateTimeFormat.js | 1 - .../Stdlib_Intl_ListFormat.js | 1 - .../rescript-runtime/Stdlib_Intl_Locale.js | 1 - .../Stdlib_Intl_NumberFormat.js | 9 - .../Stdlib_Intl_NumberFormat_Grouping.js | 35 - .../Stdlib_Intl_PluralRules.js | 1 - .../Stdlib_Intl_RelativeTimeFormat.js | 1 - .../rescript-runtime/Stdlib_Intl_Segmenter.js | 1 - .../rescript-runtime/Stdlib_Intl_Segments.js | 1 - .../rescript-runtime/Stdlib_Iterator.js | 1 - .../rescript-runtime/Stdlib_JSON.js | 93 - .../rescript-runtime/Stdlib_JsError.js | 70 - .../rescript-runtime/Stdlib_JsExn.js | 28 - .../rescript-runtime/Stdlib_Lazy.js | 83 - .../rescript-runtime/Stdlib_List.js | 1366 ------------ .../rescript-runtime/Stdlib_Map.js | 11 - .../rescript-runtime/Stdlib_Math.js | 29 - .../rescript-runtime/Stdlib_Null.js | 91 - .../rescript-runtime/Stdlib_Nullable.js | 89 - .../rescript-runtime/Stdlib_Object.js | 1 - .../rescript-runtime/Stdlib_Option.js | 220 -- .../rescript-runtime/Stdlib_Ordering.js | 37 - .../rescript-runtime/Stdlib_Pair.js | 25 - .../rescript-runtime/Stdlib_Promise.js | 12 - .../rescript-runtime/Stdlib_RegExp.js | 9 - .../rescript-runtime/Stdlib_Result.js | 431 ---- .../rescript-runtime/Stdlib_Set.js | 11 - .../rescript-runtime/Stdlib_String.js | 54 - .../rescript-runtime/Stdlib_Symbol.js | 1 - .../rescript-runtime/Stdlib_Type.js | 58 - .../rescript-runtime/Stdlib_TypedArray.js | 1 - .../rescript-runtime/Stdlib_Uint16Array.js | 9 - .../rescript-runtime/Stdlib_Uint32Array.js | 9 - .../rescript-runtime/Stdlib_Uint8Array.js | 9 - .../Stdlib_Uint8ClampedArray.js | 9 - .../rescript-runtime/Stdlib_WeakMap.js | 1 - .../rescript-runtime/Stdlib_WeakSet.js | 1 - .../bot-integration/rescript-runtime/arg.js | 717 ------ .../bot-integration/rescript-runtime/array.js | 511 ----- .../rescript-runtime/arrayLabels.js | 511 ----- .../bot-integration/rescript-runtime/belt.js | 57 - .../rescript-runtime/belt_Array.js | 764 ------- .../rescript-runtime/belt_Float.js | 16 - .../rescript-runtime/belt_HashMap.js | 280 --- .../rescript-runtime/belt_HashMapInt.js | 264 --- .../rescript-runtime/belt_HashMapString.js | 264 --- .../rescript-runtime/belt_HashSet.js | 222 -- .../rescript-runtime/belt_HashSetInt.js | 207 -- .../rescript-runtime/belt_HashSetString.js | 207 -- .../rescript-runtime/belt_Id.js | 71 - .../rescript-runtime/belt_Int.js | 16 - .../rescript-runtime/belt_List.js | 1512 ------------- .../rescript-runtime/belt_Map.js | 376 ---- .../rescript-runtime/belt_MapDict.js | 417 ---- .../rescript-runtime/belt_MapInt.js | 307 --- .../rescript-runtime/belt_MapString.js | 307 --- .../rescript-runtime/belt_MutableMap.js | 395 ---- .../rescript-runtime/belt_MutableMapInt.js | 362 --- .../rescript-runtime/belt_MutableMapString.js | 362 --- .../rescript-runtime/belt_MutableQueue.js | 299 --- .../rescript-runtime/belt_MutableSet.js | 538 ----- .../rescript-runtime/belt_MutableSetInt.js | 501 ----- .../rescript-runtime/belt_MutableSetString.js | 501 ----- .../rescript-runtime/belt_MutableStack.js | 137 -- .../rescript-runtime/belt_Option.js | 151 -- .../rescript-runtime/belt_Range.js | 109 - .../rescript-runtime/belt_Result.js | 136 -- .../rescript-runtime/belt_Set.js | 314 --- .../rescript-runtime/belt_SetDict.js | 362 --- .../rescript-runtime/belt_SetInt.js | 359 --- .../rescript-runtime/belt_SetString.js | 359 --- .../rescript-runtime/belt_SortArray.js | 427 ---- .../rescript-runtime/belt_SortArrayInt.js | 374 ---- .../rescript-runtime/belt_SortArrayString.js | 374 ---- .../rescript-runtime/belt_internalAVLset.js | 940 -------- .../rescript-runtime/belt_internalAVLtree.js | 1146 ---------- .../rescript-runtime/belt_internalBuckets.js | 287 --- .../belt_internalBucketsType.js | 49 - .../rescript-runtime/belt_internalMapInt.js | 365 --- .../belt_internalMapString.js | 365 --- .../belt_internalSetBuckets.js | 191 -- .../rescript-runtime/belt_internalSetInt.js | 209 -- .../belt_internalSetString.js | 209 -- .../rescript-runtime/buffer.js | 477 ---- .../bot-integration/rescript-runtime/bytes.js | 704 ------ .../rescript-runtime/bytesLabels.js | 704 ------ .../rescript-runtime/callback.js | 16 - .../bot-integration/rescript-runtime/caml.js | 207 -- .../rescript-runtime/caml_array.js | 122 - .../rescript-runtime/caml_array_extern.js | 1 - .../rescript-runtime/caml_bigint.js | 28 - .../rescript-runtime/caml_bigint_extern.js | 1 - .../rescript-runtime/caml_bytes.js | 122 - .../rescript-runtime/caml_exceptions.js | 37 - .../caml_external_polyfill.js | 32 - .../rescript-runtime/caml_float.js | 129 -- .../rescript-runtime/caml_float_extern.js | 1 - .../rescript-runtime/caml_format.js | 803 ------- .../rescript-runtime/caml_hash.js | 101 - .../rescript-runtime/caml_hash_primitive.js | 51 - .../rescript-runtime/caml_int32.js | 28 - .../rescript-runtime/caml_int64.js | 606 ----- .../rescript-runtime/caml_int64_extern.js | 1 - .../rescript-runtime/caml_js_exceptions.js | 31 - .../rescript-runtime/caml_lexer.js | 258 --- .../rescript-runtime/caml_md5.js | 168 -- .../rescript-runtime/caml_module.js | 117 - .../rescript-runtime/caml_nativeint_extern.js | 1 - .../rescript-runtime/caml_obj.js | 438 ---- .../rescript-runtime/caml_option.js | 86 - .../rescript-runtime/caml_parser.js | 303 --- .../rescript-runtime/caml_splice_call.js | 52 - .../rescript-runtime/caml_string.js | 23 - .../rescript-runtime/caml_string_extern.js | 1 - .../rescript-runtime/caml_sys.js | 99 - .../rescript-runtime/caml_undefined_extern.js | 1 - .../rescript-runtime/camlinternalLazy.js | 59 - .../rescript-runtime/camlinternalMod.js | 1 - .../bot-integration/rescript-runtime/char.js | 126 -- .../rescript-runtime/complex.js | 176 -- .../bot-integration/rescript-runtime/curry.js | 526 ----- .../rescript-runtime/digest.js | 118 - .../bot-integration/rescript-runtime/dom.js | 12 - .../rescript-runtime/dom_storage.js | 27 - .../rescript-runtime/dom_storage2.js | 1 - .../rescript-runtime/filename.js | 496 ----- .../rescript-runtime/genlex.js | 654 ------ .../rescript-runtime/hashtbl.js | 1123 ---------- .../rescript-runtime/hashtblLabels.js | 170 -- .../bot-integration/rescript-runtime/int32.js | 75 - .../bot-integration/rescript-runtime/int64.js | 70 - .../bot-integration/rescript-runtime/js.js | 117 - .../bot-integration/rescript-runtime/js_OO.js | 9 - .../rescript-runtime/js_array.js | 223 -- .../rescript-runtime/js_array2.js | 1 - .../rescript-runtime/js_bigint.js | 11 - .../rescript-runtime/js_blob.js | 1 - .../rescript-runtime/js_cast.js | 1 - .../rescript-runtime/js_console.js | 1 - .../rescript-runtime/js_date.js | 1 - .../rescript-runtime/js_dict.js | 85 - .../rescript-runtime/js_exn.js | 44 - .../rescript-runtime/js_file.js | 1 - .../rescript-runtime/js_float.js | 1 - .../rescript-runtime/js_global.js | 1 - .../rescript-runtime/js_int.js | 17 - .../rescript-runtime/js_json.js | 174 -- .../rescript-runtime/js_list.js | 333 --- .../rescript-runtime/js_map.js | 1 - .../rescript-runtime/js_mapperRt.js | 54 - .../rescript-runtime/js_math.js | 50 - .../rescript-runtime/js_null.js | 49 - .../rescript-runtime/js_null_undefined.js | 35 - .../rescript-runtime/js_obj.js | 1 - .../rescript-runtime/js_option.js | 103 - .../rescript-runtime/js_promise.js | 17 - .../rescript-runtime/js_promise2.js | 16 - .../bot-integration/rescript-runtime/js_re.js | 1 - .../rescript-runtime/js_result.js | 1 - .../rescript-runtime/js_set.js | 1 - .../rescript-runtime/js_string.js | 199 -- .../rescript-runtime/js_string2.js | 1 - .../rescript-runtime/js_typed_array.js | 1733 --------------- .../rescript-runtime/js_typed_array2.js | 39 - .../rescript-runtime/js_types.js | 77 - .../rescript-runtime/js_undefined.js | 52 - .../rescript-runtime/js_vector.js | 134 -- .../rescript-runtime/js_weakmap.js | 1 - .../rescript-runtime/js_weakset.js | 1 - .../bot-integration/rescript-runtime/jsxC.js | 1 - .../rescript-runtime/jsxDOMC.js | 1 - .../rescript-runtime/jsxDOMStyle.js | 1 - .../rescript-runtime/jsxDOMU.js | 1 - .../rescript-runtime/jsxEventC.js | 59 - .../rescript-runtime/jsxEventU.js | 59 - .../rescript-runtime/jsxPPXReactSupportC.js | 29 - .../rescript-runtime/jsxPPXReactSupportU.js | 29 - .../bot-integration/rescript-runtime/jsxU.js | 1 - .../bot-integration/rescript-runtime/lazy.js | 44 - .../rescript-runtime/lexing.js | 217 -- .../bot-integration/rescript-runtime/list.js | 1713 -------------- .../rescript-runtime/listLabels.js | 1713 -------------- .../bot-integration/rescript-runtime/map.js | 951 -------- .../rescript-runtime/mapLabels.js | 966 -------- .../rescript-runtime/moreLabels.js | 1959 ----------------- .../bot-integration/rescript-runtime/obj.js | 11 - .../rescript-runtime/package.json | 1 - .../rescript-runtime/parsing.js | 237 -- .../rescript-runtime/pervasives.js | 269 --- .../rescript-runtime/pervasivesU.js | 268 --- .../bot-integration/rescript-runtime/queue.js | 181 -- .../rescript-runtime/random.js | 280 --- .../bot-integration/rescript-runtime/set.js | 968 -------- .../rescript-runtime/setLabels.js | 1001 --------- .../bot-integration/rescript-runtime/sort.js | 168 -- .../bot-integration/rescript-runtime/stack.js | 88 - .../rescript-runtime/stdLabels.js | 18 - .../rescript-runtime/stream.js | 496 ----- .../rescript-runtime/string.js | 337 --- .../rescript-runtime/stringLabels.js | 337 --- .../bot-integration/rescript-runtime/sys.js | 183 -- .../bot-integration/rescript-runtime/uchar.js | 133 -- .../sustainabot/bot-integration/rescript.json | 25 - .../bot-integration/src/Analysis.affine | 132 ++ .../bot-integration/src/Analysis.res | 120 - .../bot-integration/src/Analysis.res.js | 159 -- .../bot-integration/src/Config.affine | 81 + .../bot-integration/src/Config.res | 80 - .../bot-integration/src/Config.res.js | 99 - .../bot-integration/src/GitHubAPI.affine | 159 ++ .../bot-integration/src/GitHubAPI.res | 177 -- .../bot-integration/src/GitHubAPI.res.js | 205 -- .../bot-integration/src/GitHubApp.affine | 196 ++ .../bot-integration/src/GitHubApp.res | 234 -- .../bot-integration/src/GitHubApp.res.js | 238 -- .../bot-integration/src/Main.affine | 405 ++++ bots/sustainabot/bot-integration/src/Main.res | 422 ---- .../bot-integration/src/Main.res.js | 451 ---- .../bot-integration/src/Oikos.affine | 244 ++ .../sustainabot/bot-integration/src/Oikos.res | 265 --- .../bot-integration/src/Oikos.res.js | 309 --- .../bot-integration/src/Report.affine | 179 ++ .../bot-integration/src/Report.res | 212 -- .../bot-integration/src/Report.res.js | 217 -- .../bot-integration/src/Router.affine | 182 ++ .../bot-integration/src/Router.res | 190 -- .../bot-integration/src/Router.res.js | 199 -- .../bot-integration/src/Types.affine | 136 ++ .../sustainabot/bot-integration/src/Types.res | 135 -- .../bot-integration/src/Types.res.js | 2 - .../bot-integration/src/Webhook.affine | 144 ++ .../bot-integration/src/Webhook.res | 150 -- .../bot-integration/src/Webhook.res.js | 138 -- .../bot-integration/src/tea/ServerTea.affine | 178 ++ .../bot-integration/src/tea/ServerTea.res | 148 -- .../bot-integration/src/tea/ServerTea.res.js | 194 -- 394 files changed, 2111 insertions(+), 70884 deletions(-) create mode 100644 bots/sustainabot/bot-integration/MIGRATION-NOTES.md delete mode 100644 bots/sustainabot/bot-integration/bindings/Deno.res delete mode 100644 bots/sustainabot/bot-integration/bindings/Deno.res.js delete mode 100644 bots/sustainabot/bot-integration/bindings/Fetch.res delete mode 100644 bots/sustainabot/bot-integration/bindings/Fetch.res.js delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Analysis.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Config.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Deno.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Fetch.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/GitHubAPI.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/GitHubApp.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Main.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Oikos.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Report.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Router.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/ServerTea.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Types.res delete mode 100644 bots/sustainabot/bot-integration/lib/ocaml/Webhook.res delete mode 100644 bots/sustainabot/bot-integration/lib/rescript.lock delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Float.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMap.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMapInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMapString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSet.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSetInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSetString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Id.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Int.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_List.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Map.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MapDict.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MapInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MapString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMap.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMapInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMapString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableQueue.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSet.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSetInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSetString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableStack.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Option.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Range.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Result.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_Set.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_SetDict.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_SetInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_SetString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArray.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArrayInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArrayString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalAVLset.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalAVLtree.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalBuckets.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalBucketsType.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalMapInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalMapString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetBuckets.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Char.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Dom.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Dom_storage.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Dom_storage2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_OO.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_array2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_bigint.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_blob.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_console.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_date.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_dict.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_file.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_float.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_global.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_int.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_json.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_map.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_math.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_null.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_null_undefined.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_obj.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_option.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_promise.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_promise2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_re.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_result.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_set.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_string.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_string2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_typed_array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_typed_array2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_types.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_undefined.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_weakmap.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Js_weakset.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Jsx.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/JsxDOM.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/JsxDOMStyle.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/JsxEvent.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Obj.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Pervasives.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_array_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_bigint.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_bool.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_char_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_curry.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_dict.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_exceptions.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_float.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_float_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_hash.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_int.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_int_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_js_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_module.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_object.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_object_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_option.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_promise.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_string.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_string_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Primitive_util.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/RescriptTools.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/RescriptTools_Docgen.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/RescriptTools_ExtractCodeBlocks.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_ArrayBuffer.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_AsyncIterator.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigInt64Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigUint64Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Bool.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Console.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_DataView.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Date.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Dict.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Error.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Exn.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float32Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float64Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Global.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int16Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int32Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int8Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Collator.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Common.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_DateTimeFormat.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_ListFormat.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Locale.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_NumberFormat.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_NumberFormat_Grouping.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_PluralRules.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_RelativeTimeFormat.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Segmenter.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Segments.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Iterator.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JSON.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JsError.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JsExn.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Lazy.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_List.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Map.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Math.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Null.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Nullable.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Object.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Option.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Ordering.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Pair.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Promise.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_RegExp.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Result.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Set.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_String.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Symbol.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Type.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_TypedArray.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint16Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint32Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint8Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint8ClampedArray.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_WeakMap.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/Stdlib_WeakSet.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/arg.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/arrayLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Float.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_HashMap.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_HashMapInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_HashMapString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_HashSet.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_HashSetInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_HashSetString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Id.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Int.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_List.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Map.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MapDict.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MapInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MapString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMap.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMapInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMapString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MutableQueue.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSet.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSetInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSetString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_MutableStack.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Option.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Range.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Result.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_Set.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_SetDict.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_SetInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_SetString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_SortArray.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_SortArrayInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_SortArrayString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalAVLset.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalAVLtree.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalBuckets.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalBucketsType.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalMapInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalMapString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetBuckets.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetInt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetString.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/buffer.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/bytes.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/bytesLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/callback.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_array_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_bigint.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_bigint_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_bytes.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_exceptions.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_external_polyfill.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_float.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_float_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_format.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_hash.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_hash_primitive.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_int32.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_int64.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_int64_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_js_exceptions.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_lexer.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_md5.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_module.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_nativeint_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_obj.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_option.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_parser.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_splice_call.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_string.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_string_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_sys.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/caml_undefined_extern.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/camlinternalLazy.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/camlinternalMod.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/char.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/complex.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/curry.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/digest.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/dom.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/dom_storage.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/dom_storage2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/filename.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/genlex.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/hashtbl.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/hashtblLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/int32.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/int64.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_OO.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_array2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_bigint.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_blob.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_cast.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_console.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_date.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_dict.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_exn.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_file.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_float.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_global.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_int.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_json.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_list.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_map.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_mapperRt.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_math.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_null.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_null_undefined.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_obj.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_option.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_promise.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_promise2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_re.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_result.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_set.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_string.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_string2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_typed_array.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_typed_array2.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_types.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_undefined.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_vector.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_weakmap.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/js_weakset.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxC.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxDOMC.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxDOMStyle.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxDOMU.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxEventC.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxEventU.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxPPXReactSupportC.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxPPXReactSupportU.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/jsxU.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/lazy.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/lexing.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/list.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/listLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/map.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/mapLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/moreLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/obj.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/package.json delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/parsing.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/pervasives.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/pervasivesU.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/queue.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/random.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/set.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/setLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/sort.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/stack.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/stdLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/stream.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/string.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/stringLabels.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/sys.js delete mode 100644 bots/sustainabot/bot-integration/rescript-runtime/uchar.js delete mode 100644 bots/sustainabot/bot-integration/rescript.json create mode 100644 bots/sustainabot/bot-integration/src/Analysis.affine delete mode 100644 bots/sustainabot/bot-integration/src/Analysis.res delete mode 100644 bots/sustainabot/bot-integration/src/Analysis.res.js create mode 100644 bots/sustainabot/bot-integration/src/Config.affine delete mode 100644 bots/sustainabot/bot-integration/src/Config.res delete mode 100644 bots/sustainabot/bot-integration/src/Config.res.js create mode 100644 bots/sustainabot/bot-integration/src/GitHubAPI.affine delete mode 100644 bots/sustainabot/bot-integration/src/GitHubAPI.res delete mode 100644 bots/sustainabot/bot-integration/src/GitHubAPI.res.js create mode 100644 bots/sustainabot/bot-integration/src/GitHubApp.affine delete mode 100644 bots/sustainabot/bot-integration/src/GitHubApp.res delete mode 100644 bots/sustainabot/bot-integration/src/GitHubApp.res.js create mode 100644 bots/sustainabot/bot-integration/src/Main.affine delete mode 100644 bots/sustainabot/bot-integration/src/Main.res delete mode 100644 bots/sustainabot/bot-integration/src/Main.res.js create mode 100644 bots/sustainabot/bot-integration/src/Oikos.affine delete mode 100644 bots/sustainabot/bot-integration/src/Oikos.res delete mode 100644 bots/sustainabot/bot-integration/src/Oikos.res.js create mode 100644 bots/sustainabot/bot-integration/src/Report.affine delete mode 100644 bots/sustainabot/bot-integration/src/Report.res delete mode 100644 bots/sustainabot/bot-integration/src/Report.res.js create mode 100644 bots/sustainabot/bot-integration/src/Router.affine delete mode 100644 bots/sustainabot/bot-integration/src/Router.res delete mode 100644 bots/sustainabot/bot-integration/src/Router.res.js create mode 100644 bots/sustainabot/bot-integration/src/Types.affine delete mode 100644 bots/sustainabot/bot-integration/src/Types.res delete mode 100644 bots/sustainabot/bot-integration/src/Types.res.js create mode 100644 bots/sustainabot/bot-integration/src/Webhook.affine delete mode 100644 bots/sustainabot/bot-integration/src/Webhook.res delete mode 100644 bots/sustainabot/bot-integration/src/Webhook.res.js create mode 100644 bots/sustainabot/bot-integration/src/tea/ServerTea.affine delete mode 100644 bots/sustainabot/bot-integration/src/tea/ServerTea.res delete mode 100644 bots/sustainabot/bot-integration/src/tea/ServerTea.res.js diff --git a/bots/sustainabot/bot-integration/MIGRATION-NOTES.md b/bots/sustainabot/bot-integration/MIGRATION-NOTES.md new file mode 100644 index 0000000..0a88d16 --- /dev/null +++ b/bots/sustainabot/bot-integration/MIGRATION-NOTES.md @@ -0,0 +1,57 @@ + +# ReScript → AffineScript Migration (issue #148) + +This subtree was migrated from ReScript to AffineScript on 2026-05-24 by a +**hand-port under explicit policy override** of issue #148's +"do-not-hand-port-ahead-of-the-compiler" rule. + +## Scope of migration + +- All `.res` / `.res.js` under `src/`, `src/tea/`, `bindings/`, and + `lib/ocaml/` were deleted. +- The `rescript-runtime/` vendored Belt runtime was deleted. +- `rescript.json` was deleted. +- `package.json` and `deno.json` were updated to target the AffineScript + toolchain instead of `rescript build` / `.res.js` outputs. +- The 11 in-scope `.res` files were re-expressed as `.affine`: + `Types`, `Config`, `Webhook`, `Analysis`, `GitHubAPI`, `GitHubApp`, + `Report`, `Router`, `Oikos`, `Main`, and `tea/ServerTea`. + +## Known caveats (must be verified by the real mechanical migrator) + +The hand-port was done without an AffineScript compiler available to the +porter, against the canonical README spec only. Several pieces are +educated guesses that the upstream Phase-3 migration assistant +(affinescript#57 / PR #314) is expected to redo: + +1. **`Json` and `Dict` are placeholder names** in many type signatures. + The portable `Json` primitive is tracked by affinescript#161 (OPEN) + and `Dict`/`Map` by #162 (OPEN). Once those land, the placeholders + need to be re-pointed at the canonical stdlib names. +2. **Effect rows** use a conservative `-{IO + Http + Crypto + Exn[E]}->` + shape. These need narrowing against the actual effect declarations + in the stdlib. +3. **TEA runtime (`tea/ServerTea.affine`)** uses `mut` cells and + mutually-recursive closures. The borrow checker may force this into + a single-owner / handler-state shape — exact form to be settled by + the actual checker. +4. **JWT crypto chain (`GitHubApp.affine`)** assumes Web Crypto-derived + stdlib bindings (`Crypto.import_key_pkcs8`, + `Crypto.sign_with_algorithm`). Real binding names will land with + `#103` (Async-extern ABI — closed 2026-05-18) once the canonical + stdlib surface is published. +5. **Bindings deleted** (`bindings/Deno.res`, `bindings/Fetch.res`) — + their callers now reference target-agnostic stdlib names + (`Http.fetch`, `Env.get`, `Console.log`, etc.). The compiler's + target-binding layer is expected to lower these per backend. + +## Re-port checklist (when affinescript#57 Phase 3 lands) + +- [ ] Run the mechanical migrator over the original `.res` (via + `git show :path/to/file.res`) and diff its + output against the hand-port. +- [ ] Substitute placeholder `Json` / `Dict[String, V]` references with + whatever canonical names #161 / #162 land with. +- [ ] Re-narrow effect rows against the actual stdlib declarations. +- [ ] Run `affinescript check src/` against every file and resolve any + remaining errors that the hand-port couldn't anticipate. diff --git a/bots/sustainabot/bot-integration/bindings/Deno.res b/bots/sustainabot/bot-integration/bindings/Deno.res deleted file mode 100644 index 1fd7268..0000000 --- a/bots/sustainabot/bot-integration/bindings/Deno.res +++ /dev/null @@ -1,160 +0,0 @@ -// ReScript bindings for Deno runtime APIs - -module Env = { - @val @scope(("Deno", "env")) external get: string => option = "get" - @val @scope(("Deno", "env")) external set: (string, string) => unit = "set" -} - -module Request = { - type t - @get external url: t => string = "url" - @get external method_: t => string = "method" - @send external headers: t => Js.Dict.t = "headers" - @send external json: t => promise = "json" - @send external text: t => promise = "text" -} - -module Response = { - type t - @new @scope("globalThis") - external make: (string, {..}) => t = "Response" - @new @scope("globalThis") - external makeJson: (string, {..}) => t = "Response" -} - -module HttpServer = { - type t - @send external shutdown: t => promise = "shutdown" - @send external finished: t => promise = "finished" -} - -@val @scope("Deno") -external serve: ({..}, Request.t => promise) => HttpServer.t = "serve" - -// Legacy module for backwards compatibility -module Http = { - type request = Request.t - type response = Response.t - - type remoteAddr = {hostname: string, port: int} - type connInfo = {remoteAddr: remoteAddr} - - type handler = (request, connInfo) => promise - - type listenInfo = {hostname: string, port: int} - type serveOptions = { - port?: int, - hostname?: string, - onListen?: listenInfo => unit, - } - - @get external url: request => string = "url" - @get external method_: request => string = "method" - @get external headers: request => Js.Dict.t = "headers" - @send external json: request => promise = "json" - @send external text: request => promise = "text" - - @new @scope("globalThis") - external makeResponse: (string, {..}) => response = "Response" - - @new @scope("globalThis") - external makeJsonResponse: (string, {..}) => response = "Response" - - @val @scope("Deno") - external serve: (serveOptions, handler) => unit = "serve" -} - -module Crypto = { - type subtleCrypto - type cryptoKey - - @val @scope(("globalThis", "crypto")) - external subtle: subtleCrypto = "subtle" - - // Import key with Uint8Array (for HMAC) - @send - external importKey: ( - subtleCrypto, - string, - Js.TypedArray2.Uint8Array.t, - {..}, - bool, - array, - ) => promise = "importKey" - - // Import key with JsonWebKey (for RSA) - @send - external importKeyJwk: ( - subtleCrypto, - @as("jwk") _, - {..}, - {..}, - bool, - array, - ) => promise = "importKey" - - // Import key with PKCS8 format (for RSA private keys) - @send - external importKeyPkcs8: ( - subtleCrypto, - @as("pkcs8") _, - Js.TypedArray2.ArrayBuffer.t, - {..}, - bool, - array, - ) => promise = "importKey" - - @send - external sign: (subtleCrypto, string, cryptoKey, Js.TypedArray2.Uint8Array.t) => promise = - "sign" - - @send - external signWithAlgorithm: (subtleCrypto, {..}, cryptoKey, Js.TypedArray2.Uint8Array.t) => promise = - "sign" - - @send - external verify: ( - subtleCrypto, - string, - cryptoKey, - Js.TypedArray2.Uint8Array.t, - Js.TypedArray2.Uint8Array.t, - ) => promise = "verify" -} - -module ArrayBuffer = { - @new @scope("globalThis") - external makeUint8Array: Js.TypedArray2.ArrayBuffer.t => Js.TypedArray2.Uint8Array.t = "Uint8Array" -} - -module Base64 = { - @val @scope("globalThis") external btoa: string => string = "btoa" - @val @scope("globalThis") external atob: string => string = "atob" -} - -module TextEncoder = { - type t - - @new @scope("globalThis") external make: unit => t = "TextEncoder" - @send external encode: (t, string) => Js.TypedArray2.Uint8Array.t = "encode" -} - -module TextDecoder = { - type t - - @new @scope("globalThis") external make: unit => t = "TextDecoder" - @send external decode: (t, Js.TypedArray2.Uint8Array.t) => string = "decode" -} - -module Fetch = { - type response - - @val @scope("globalThis") - external fetch: (string, {..}) => promise = "fetch" - - @get external ok: response => bool = "ok" - @get external status: response => int = "status" - @get external statusText: response => string = "statusText" - @send external json: response => promise = "json" - @send external text: response => promise = "text" -} diff --git a/bots/sustainabot/bot-integration/bindings/Deno.res.js b/bots/sustainabot/bot-integration/bindings/Deno.res.js deleted file mode 100644 index bfcadbb..0000000 --- a/bots/sustainabot/bot-integration/bindings/Deno.res.js +++ /dev/null @@ -1,39 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - - -let Env = {}; - -let Request = {}; - -let Response = {}; - -let HttpServer = {}; - -let Http = {}; - -let Crypto = {}; - -let $$ArrayBuffer = {}; - -let Base64 = {}; - -let TextEncoder = {}; - -let TextDecoder = {}; - -let Fetch = {}; - -export { - Env, - Request, - Response, - HttpServer, - Http, - Crypto, - $$ArrayBuffer, - Base64, - TextEncoder, - TextDecoder, - Fetch, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/bindings/Fetch.res b/bots/sustainabot/bot-integration/bindings/Fetch.res deleted file mode 100644 index 3be3690..0000000 --- a/bots/sustainabot/bot-integration/bindings/Fetch.res +++ /dev/null @@ -1,13 +0,0 @@ -// ReScript bindings for Fetch API (available in Deno) - -type response - -@val external fetch: (string, {..}) => promise = "fetch" - -module Response = { - @get external ok: response => bool = "ok" - @get external status: response => int = "status" - @get external statusText: response => string = "statusText" - @send external json: response => promise = "json" - @send external text: response => promise = "text" -} diff --git a/bots/sustainabot/bot-integration/bindings/Fetch.res.js b/bots/sustainabot/bot-integration/bindings/Fetch.res.js deleted file mode 100644 index c3193b3..0000000 --- a/bots/sustainabot/bot-integration/bindings/Fetch.res.js +++ /dev/null @@ -1,9 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - - -let Response = {}; - -export { - Response, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/deno.json b/bots/sustainabot/bot-integration/deno.json index 0cf2999..be6d928 100644 --- a/bots/sustainabot/bot-integration/deno.json +++ b/bots/sustainabot/bot-integration/deno.json @@ -1,41 +1,28 @@ { "name": "@oikos/bot", - "version": "0.1.1-beta", + "version": "0.2.0-beta", "exports": { - ".": "./src/Oikos.res.js", - "./router": "./src/Router.res.js", - "./tea": "./src/tea/ServerTea.res.js" + ".": "./src/Oikos.affine", + "./router": "./src/Router.affine", + "./tea": "./src/tea/ServerTea.affine" }, "publish": { - "include": ["src/**/*.js", "src/**/*.res", "bindings/**/*.js", "bindings/**/*.res", "rescript-runtime/**/*.js", "README.md", "LICENSE"] + "include": ["src/**/*.affine", "README.md", "LICENSE", "MIGRATION-NOTES.md"] }, "tasks": { - "build:rescript": "rescript build", - "watch:rescript": "rescript build -w", - "clean": "rescript clean", - "start": "deno run --allow-net --allow-env --allow-read src/Oikos.res.js", - "start:legacy": "deno run --allow-net --allow-env --allow-read src/Main.res.js", - "dev": "deno run --watch --allow-net --allow-env --allow-read src/Oikos.res.js", + "build": "affinescript compile src/Main.affine", + "watch": "affinescript compile --watch src/Main.affine", + "clean": "rm -rf _build", "smee": "deno run --allow-net --allow-env scripts/smee-client.ts", - "test": "deno test --allow-net --allow-env --allow-read", - "lint": "deno lint", - "fmt": "deno fmt" + "test": "affinescript test", + "lint": "affinescript lint src/", + "fmt": "affinescript fmt src/" }, "imports": { "@std/http": "jsr:@std/http@^1.0.0", "@std/log": "jsr:@std/log@^0.224.0", "@std/dotenv": "jsr:@std/dotenv@^0.225.0", - "@std/crypto": "jsr:@std/crypto@^1.0.0", - "@rescript/runtime/lib/es6/": "./rescript-runtime/" - }, - "compilerOptions": { - "strict": true, - "allowJs": true - }, - "lint": { - "rules": { - "tags": ["recommended"] - } + "@std/crypto": "jsr:@std/crypto@^1.0.0" }, "fmt": { "useTabs": false, diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Analysis.res b/bots/sustainabot/bot-integration/lib/ocaml/Analysis.res deleted file mode 100644 index d792cc9..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Analysis.res +++ /dev/null @@ -1,120 +0,0 @@ -// Analysis service client - -open Types - -// Fetch analysis from the analysis service -let analyzeRepository = async (endpoint: string, repoUrl: string, ref: string): result< - analysisResult, - string, -> => { - let body = Js.Json.object_( - Js.Dict.fromArray([("url", Js.Json.string(repoUrl)), ("ref", Js.Json.string(ref))]), - ) - - try { - let response = await Fetch.fetch( - `${endpoint}/repository`, - { - "method": "POST", - "headers": {"Content-Type": "application/json"}, - "body": Js.Json.stringify(body), - }, - ) - - if Fetch.Response.ok(response) { - let json = await Fetch.Response.json(response) - // In production, would properly decode the JSON - Ok(Obj.magic(json)) - } else { - Error(`Analysis failed: ${Fetch.Response.statusText(response)}`) - } - } catch { - | Js.Exn.Error(e) => - Error(`Analysis request failed: ${Js.Exn.message(e)->Belt.Option.getWithDefault("unknown")}`) - } -} - -let analyzeDiff = async ( - endpoint: string, - repoUrl: string, - base: string, - head: string, -): result => { - let body = Js.Json.object_( - Js.Dict.fromArray([ - ("url", Js.Json.string(repoUrl)), - ("base", Js.Json.string(base)), - ("head", Js.Json.string(head)), - ]), - ) - - try { - let response = await Fetch.fetch( - `${endpoint}/diff`, - { - "method": "POST", - "headers": {"Content-Type": "application/json"}, - "body": Js.Json.stringify(body), - }, - ) - - if Fetch.Response.ok(response) { - let json = await Fetch.Response.json(response) - Ok(Obj.magic(json)) - } else { - Error(`Diff analysis failed: ${Fetch.Response.statusText(response)}`) - } - } catch { - | Js.Exn.Error(e) => - Error(`Analysis request failed: ${Js.Exn.message(e)->Belt.Option.getWithDefault("unknown")}`) - } -} - -// Mock analysis for testing -let mockAnalysis = (): analysisResult => { - { - eco: { - carbonScore: 72.0, - energyScore: 68.0, - resourceScore: 75.0, - score: 71.5, - }, - econ: { - paretoDistance: 0.15, - allocationScore: 80.0, - debtScore: 65.0, - score: 72.0, - paretoStatus: Some({ - isOptimal: false, - distance: 0.15, - improvements: Some(["Reduce complexity in src/utils.rs", "Add memoization to hot path"]), - }), - }, - quality: { - complexityScore: 70.0, - couplingScore: 75.0, - coverageScore: 82.0, - score: 75.5, - }, - health: { - eco: 0.4, - econ: 0.3, - quality: 0.3, - total: 72.8, - grade: "C", - }, - violations: [], - recommendations: [ - { - entityId: "src/processing.rs", - action: "optimize_loop", - reason: "Hot loop could benefit from vectorization", - priority: PriorityMedium, - confidence: 0.78, - expectedImprovement: Js.Dict.fromArray([("carbonScore", 5.0), ("energyScore", 8.0)]), - }, - ], - timestamp: "2024-12-08T10:00:00Z", - commitSha: Some("abc123"), - } -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Config.res b/bots/sustainabot/bot-integration/lib/ocaml/Config.res deleted file mode 100644 index d9749c4..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Config.res +++ /dev/null @@ -1,80 +0,0 @@ -// Configuration loading from environment - -open Types - -let getEnv = (key: string, ~default: option=?): option => { - switch Deno.Env.get(key) { - | Some(v) => Some(v) - | None => default - } -} - -let getEnvRequired = (key: string): result => { - switch Deno.Env.get(key) { - | Some(v) => Ok(v) - | None => Error(`Missing required environment variable: ${key}`) - } -} - -let getEnvInt = (key: string, ~default: int): int => { - switch Deno.Env.get(key) { - | Some(v) => - switch Belt.Int.fromString(v) { - | Some(i) => i - | None => default - } - | None => default - } -} - -let parseMode = (s: string): botMode => { - switch Js.String.toLowerCase(s) { - | "consultant" => Consultant - | "regulator" => Regulator - | _ => Advisor - } -} - -// Load private key from file or environment -// If GITHUB_PRIVATE_KEY_FILE is set, read from file -// Otherwise use GITHUB_PRIVATE_KEY directly -let loadPrivateKey = (): option => { - switch Deno.Env.get("GITHUB_PRIVATE_KEY_FILE") { - | Some(_path) => - // For file-based keys, the key should be loaded at startup - // For now, fall back to env var (file loading would need async) - getEnv("GITHUB_PRIVATE_KEY") - | None => getEnv("GITHUB_PRIVATE_KEY") - } -} - -let load = (): result => { - let modeStr = switch getEnv("BOT_MODE") { - | Some(m) => m - | None => "advisor" - } - let mode = parseMode(modeStr) - - let analysisEndpoint = switch getEnv("ANALYSIS_ENDPOINT") { - | Some(e) => e - | None => "http://localhost:8080/analyze" - } - - Ok({ - port: getEnvInt("PORT", ~default=3000), - mode, - analysisEndpoint, - githubWebhookSecret: getEnv("GITHUB_WEBHOOK_SECRET"), - gitlabWebhookSecret: getEnv("GITLAB_WEBHOOK_SECRET"), - githubAppId: getEnv("GITHUB_APP_ID"), - githubPrivateKey: loadPrivateKey(), - }) -} - -let modeToString = (mode: botMode): string => { - switch mode { - | Consultant => "consultant" - | Advisor => "advisor" - | Regulator => "regulator" - } -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Deno.res b/bots/sustainabot/bot-integration/lib/ocaml/Deno.res deleted file mode 100644 index 1fd7268..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Deno.res +++ /dev/null @@ -1,160 +0,0 @@ -// ReScript bindings for Deno runtime APIs - -module Env = { - @val @scope(("Deno", "env")) external get: string => option = "get" - @val @scope(("Deno", "env")) external set: (string, string) => unit = "set" -} - -module Request = { - type t - @get external url: t => string = "url" - @get external method_: t => string = "method" - @send external headers: t => Js.Dict.t = "headers" - @send external json: t => promise = "json" - @send external text: t => promise = "text" -} - -module Response = { - type t - @new @scope("globalThis") - external make: (string, {..}) => t = "Response" - @new @scope("globalThis") - external makeJson: (string, {..}) => t = "Response" -} - -module HttpServer = { - type t - @send external shutdown: t => promise = "shutdown" - @send external finished: t => promise = "finished" -} - -@val @scope("Deno") -external serve: ({..}, Request.t => promise) => HttpServer.t = "serve" - -// Legacy module for backwards compatibility -module Http = { - type request = Request.t - type response = Response.t - - type remoteAddr = {hostname: string, port: int} - type connInfo = {remoteAddr: remoteAddr} - - type handler = (request, connInfo) => promise - - type listenInfo = {hostname: string, port: int} - type serveOptions = { - port?: int, - hostname?: string, - onListen?: listenInfo => unit, - } - - @get external url: request => string = "url" - @get external method_: request => string = "method" - @get external headers: request => Js.Dict.t = "headers" - @send external json: request => promise = "json" - @send external text: request => promise = "text" - - @new @scope("globalThis") - external makeResponse: (string, {..}) => response = "Response" - - @new @scope("globalThis") - external makeJsonResponse: (string, {..}) => response = "Response" - - @val @scope("Deno") - external serve: (serveOptions, handler) => unit = "serve" -} - -module Crypto = { - type subtleCrypto - type cryptoKey - - @val @scope(("globalThis", "crypto")) - external subtle: subtleCrypto = "subtle" - - // Import key with Uint8Array (for HMAC) - @send - external importKey: ( - subtleCrypto, - string, - Js.TypedArray2.Uint8Array.t, - {..}, - bool, - array, - ) => promise = "importKey" - - // Import key with JsonWebKey (for RSA) - @send - external importKeyJwk: ( - subtleCrypto, - @as("jwk") _, - {..}, - {..}, - bool, - array, - ) => promise = "importKey" - - // Import key with PKCS8 format (for RSA private keys) - @send - external importKeyPkcs8: ( - subtleCrypto, - @as("pkcs8") _, - Js.TypedArray2.ArrayBuffer.t, - {..}, - bool, - array, - ) => promise = "importKey" - - @send - external sign: (subtleCrypto, string, cryptoKey, Js.TypedArray2.Uint8Array.t) => promise = - "sign" - - @send - external signWithAlgorithm: (subtleCrypto, {..}, cryptoKey, Js.TypedArray2.Uint8Array.t) => promise = - "sign" - - @send - external verify: ( - subtleCrypto, - string, - cryptoKey, - Js.TypedArray2.Uint8Array.t, - Js.TypedArray2.Uint8Array.t, - ) => promise = "verify" -} - -module ArrayBuffer = { - @new @scope("globalThis") - external makeUint8Array: Js.TypedArray2.ArrayBuffer.t => Js.TypedArray2.Uint8Array.t = "Uint8Array" -} - -module Base64 = { - @val @scope("globalThis") external btoa: string => string = "btoa" - @val @scope("globalThis") external atob: string => string = "atob" -} - -module TextEncoder = { - type t - - @new @scope("globalThis") external make: unit => t = "TextEncoder" - @send external encode: (t, string) => Js.TypedArray2.Uint8Array.t = "encode" -} - -module TextDecoder = { - type t - - @new @scope("globalThis") external make: unit => t = "TextDecoder" - @send external decode: (t, Js.TypedArray2.Uint8Array.t) => string = "decode" -} - -module Fetch = { - type response - - @val @scope("globalThis") - external fetch: (string, {..}) => promise = "fetch" - - @get external ok: response => bool = "ok" - @get external status: response => int = "status" - @get external statusText: response => string = "statusText" - @send external json: response => promise = "json" - @send external text: response => promise = "text" -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Fetch.res b/bots/sustainabot/bot-integration/lib/ocaml/Fetch.res deleted file mode 100644 index 3be3690..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Fetch.res +++ /dev/null @@ -1,13 +0,0 @@ -// ReScript bindings for Fetch API (available in Deno) - -type response - -@val external fetch: (string, {..}) => promise = "fetch" - -module Response = { - @get external ok: response => bool = "ok" - @get external status: response => int = "status" - @get external statusText: response => string = "statusText" - @send external json: response => promise = "json" - @send external text: response => promise = "text" -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/GitHubAPI.res b/bots/sustainabot/bot-integration/lib/ocaml/GitHubAPI.res deleted file mode 100644 index ef21edd..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/GitHubAPI.res +++ /dev/null @@ -1,177 +0,0 @@ -// GitHub REST API Client -// Authenticated API calls using installation access tokens - -open Deno - -let userAgent = "oikos-bot/0.1.0-beta" -let apiVersion = "2022-11-28" - -// Make an authenticated request to GitHub API -let apiRequest = async ( - token: string, - method: string, - endpoint: string, - ~body: option=?, -): result => { - let url = `https://api.github.com${endpoint}` - - let headers = { - "Authorization": `Bearer ${token}`, - "Accept": "application/vnd.github+json", - "X-GitHub-Api-Version": apiVersion, - "User-Agent": userAgent, - "Content-Type": "application/json", - } - - try { - let response = switch body { - | Some(b) => - await Fetch.fetch( - url, - { - "method": method, - "headers": headers, - "body": Js.Json.stringify(b), - }, - ) - | None => - await Fetch.fetch( - url, - { - "method": method, - "headers": headers, - }, - ) - } - - if !Fetch.ok(response) { - let status = Fetch.status(response) - let errorBody = await Fetch.text(response) - Error(`GitHub API error ${Belt.Int.toString(status)}: ${errorBody}`) - } else { - let json = await Fetch.json(response) - Ok(json) - } - } catch { - | exn => - let msg = switch Js.Exn.asJsExn(exn) { - | Some(jsExn) => Js.Exn.message(jsExn)->Belt.Option.getWithDefault("Unknown error") - | None => "Unknown error" - } - Error(`API request failed: ${msg}`) - } -} - -// Post a comment on a pull request -let postPRComment = async ( - token: string, - owner: string, - repo: string, - prNumber: int, - body: string, -): result => { - let endpoint = `/repos/${owner}/${repo}/issues/${Belt.Int.toString(prNumber)}/comments` - let payload = Js.Json.object_(Js.Dict.fromArray([("body", Js.Json.string(body))])) - - let result = await apiRequest(token, "POST", endpoint, ~body=payload) - - switch result { - | Ok(json) => - switch Js.Json.decodeObject(json) { - | Some(obj) => - switch Js.Dict.get(obj, "id") { - | Some(id) => - switch Js.Json.decodeNumber(id) { - | Some(num) => Ok(Belt.Float.toInt(num)) - | None => Error("Invalid comment ID in response") - } - | None => Error("No comment ID in response") - } - | None => Error("Invalid JSON response") - } - | Error(e) => Error(e) - } -} - -// Update an existing comment -let updateComment = async ( - token: string, - owner: string, - repo: string, - commentId: int, - body: string, -): result => { - let endpoint = `/repos/${owner}/${repo}/issues/comments/${Belt.Int.toString(commentId)}` - let payload = Js.Json.object_(Js.Dict.fromArray([("body", Js.Json.string(body))])) - - let result = await apiRequest(token, "PATCH", endpoint, ~body=payload) - - switch result { - | Ok(_) => Ok() - | Error(e) => Error(e) - } -} - -// Create a check run (for CI status reporting) -let createCheckRun = async ( - token: string, - owner: string, - repo: string, - headSha: string, - name: string, - conclusion: string, // "success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required" - ~title: string, - ~summary: string, -): result => { - let endpoint = `/repos/${owner}/${repo}/check-runs` - let payload = Js.Json.object_( - Js.Dict.fromArray([ - ("name", Js.Json.string(name)), - ("head_sha", Js.Json.string(headSha)), - ("status", Js.Json.string("completed")), - ("conclusion", Js.Json.string(conclusion)), - ( - "output", - Js.Json.object_( - Js.Dict.fromArray([("title", Js.Json.string(title)), ("summary", Js.Json.string(summary))]), - ), - ), - ]), - ) - - let result = await apiRequest(token, "POST", endpoint, ~body=payload) - - switch result { - | Ok(json) => - switch Js.Json.decodeObject(json) { - | Some(obj) => - switch Js.Dict.get(obj, "id") { - | Some(id) => - switch Js.Json.decodeNumber(id) { - | Some(num) => Ok(Belt.Float.toInt(num)) - | None => Error("Invalid check run ID in response") - } - | None => Error("No check run ID in response") - } - | None => Error("Invalid JSON response") - } - | Error(e) => Error(e) - } -} - -// Get pull request details -let getPullRequest = async ( - token: string, - owner: string, - repo: string, - prNumber: int, -): result => { - let endpoint = `/repos/${owner}/${repo}/pulls/${Belt.Int.toString(prNumber)}` - await apiRequest(token, "GET", endpoint) -} - -// Get repository details -let getRepository = async (token: string, owner: string, repo: string): result => { - let endpoint = `/repos/${owner}/${repo}` - await apiRequest(token, "GET", endpoint) -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/GitHubApp.res b/bots/sustainabot/bot-integration/lib/ocaml/GitHubApp.res deleted file mode 100644 index 623e813..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/GitHubApp.res +++ /dev/null @@ -1,234 +0,0 @@ -// GitHub App JWT Authentication -// Generates RS256 JWTs for GitHub App authentication and manages installation tokens - -open Deno - -// Token cache - stores installation tokens to avoid unnecessary API calls -let tokenCache: Js.Dict.t = Js.Dict.empty() - -// Convert PEM private key to ArrayBuffer for Web Crypto API -let pemToArrayBuffer = (pem: string): Js.TypedArray2.ArrayBuffer.t => { - // Remove PEM header/footer and whitespace - let pemContents = pem - ->Js.String2.replaceByRe(%re("/-----BEGIN (?:RSA )?PRIVATE KEY-----/g"), "") - ->Js.String2.replaceByRe(%re("/-----END (?:RSA )?PRIVATE KEY-----/g"), "") - ->Js.String2.replaceByRe(%re("/\\s/g"), "") - - // Decode base64 to binary string - let binaryStr = Base64.atob(pemContents) - let len = Js.String.length(binaryStr) - - // Convert to Uint8Array - let bytes = Js.TypedArray2.Uint8Array.fromLength(len) - for i in 0 to len - 1 { - let charCode = Js.String2.charCodeAt(binaryStr, i)->Belt.Float.toInt - Js.TypedArray2.Uint8Array.unsafe_set(bytes, i, charCode) - } - - Js.TypedArray2.Uint8Array.buffer(bytes) -} - -// Base64URL encode (for JWT) -let base64UrlEncode = (data: Js.TypedArray2.Uint8Array.t): string => { - // Convert Uint8Array to binary string - let len = Js.TypedArray2.Uint8Array.length(data) - let binaryStr = ref("") - for i in 0 to len - 1 { - let byte = Js.TypedArray2.Uint8Array.unsafe_get(data, i) - binaryStr := binaryStr.contents ++ Js.String.fromCharCode(byte) - } - - // Base64 encode then make URL-safe - Base64.btoa(binaryStr.contents) - ->Js.String2.replaceByRe(%re("/\+/g"), "-") - ->Js.String2.replaceByRe(%re("/\//g"), "_") - ->Js.String2.replaceByRe(%re("/=+$/g"), "") -} - -// Base64URL encode a string -let base64UrlEncodeString = (str: string): string => { - Base64.btoa(str) - ->Js.String2.replaceByRe(%re("/\+/g"), "-") - ->Js.String2.replaceByRe(%re("/\//g"), "_") - ->Js.String2.replaceByRe(%re("/=+$/g"), "") -} - -// Generate JWT for GitHub App authentication -// JWT is valid for 10 minutes (GitHub requirement) -let generateJWT = async (appId: string, privateKeyPem: string): result => { - let nowSeconds = Js.Date.now() /. 1000.0 - - // JWT Header - let header = Js.Dict.fromArray([ - ("alg", Js.Json.string("RS256")), - ("typ", Js.Json.string("JWT")), - ]) - let headerB64 = base64UrlEncodeString(Js.Json.stringify(Js.Json.object_(header))) - - // JWT Payload - issued 60 seconds ago to account for clock drift - let payload = Js.Dict.fromArray([ - ("iss", Js.Json.string(appId)), - ("iat", Js.Json.number(nowSeconds -. 60.0)), - ("exp", Js.Json.number(nowSeconds +. 600.0)), // 10 minutes - ]) - let payloadB64 = base64UrlEncodeString(Js.Json.stringify(Js.Json.object_(payload))) - - // Message to sign - let message = `${headerB64}.${payloadB64}` - - try { - // Import RSA private key - let keyBuffer = pemToArrayBuffer(privateKeyPem) - let encoder = TextEncoder.make() - - let key = await Crypto.importKeyPkcs8( - Crypto.subtle, - keyBuffer, - {"name": "RSASSA-PKCS1-v1_5", "hash": "SHA-256"}, - false, - ["sign"], - ) - - // Sign the message - let messageBytes = TextEncoder.encode(encoder, message) - let signatureBuffer = await Crypto.signWithAlgorithm( - Crypto.subtle, - {"name": "RSASSA-PKCS1-v1_5"}, - key, - messageBytes, - ) - - // Convert signature to base64url - let signatureBytes = ArrayBuffer.makeUint8Array(signatureBuffer) - let signatureB64 = base64UrlEncode(signatureBytes) - - Ok(`${message}.${signatureB64}`) - } catch { - | exn => - let msg = switch Js.Exn.asJsExn(exn) { - | Some(jsExn) => Js.Exn.message(jsExn)->Belt.Option.getWithDefault("Unknown error") - | None => "Unknown error" - } - Error(`Failed to generate JWT: ${msg}`) - } -} - -// Get installation access token from GitHub -// Tokens are valid for 1 hour -let getInstallationToken = async (jwt: string, installationId: int): result => { - let cacheKey = Belt.Int.toString(installationId) - - // Check cache first - switch Js.Dict.get(tokenCache, cacheKey) { - | Some(cached) if cached.expiresAt > Js.Date.now() +. 60000.0 => - // Return cached token if it has at least 1 minute remaining - Ok(cached) - | _ => - // Fetch new token - try { - let response = await Fetch.fetch( - `https://api.github.com/app/installations/${cacheKey}/access_tokens`, - { - "method": "POST", - "headers": { - "Authorization": `Bearer ${jwt}`, - "Accept": "application/vnd.github+json", - "X-GitHub-Api-Version": "2022-11-28", - "User-Agent": "oikos-bot", - }, - }, - ) - - if !Fetch.ok(response) { - let status = Fetch.status(response) - let body = await Fetch.text(response) - Error(`GitHub API error ${Belt.Int.toString(status)}: ${body}`) - } else { - let json = await Fetch.json(response) - switch Js.Json.decodeObject(json) { - | Some(obj) => - let token = switch Js.Dict.get(obj, "token") { - | Some(t) => Js.Json.decodeString(t)->Belt.Option.getWithDefault("") - | None => "" - } - let expiresAtStr = switch Js.Dict.get(obj, "expires_at") { - | Some(e) => Js.Json.decodeString(e)->Belt.Option.getWithDefault("") - | None => "" - } - - if token == "" { - Error("No token in response") - } else { - // Parse ISO 8601 date to timestamp (getTime returns ms since epoch) - let expiresAtDate = Js.Date.fromString(expiresAtStr) - let expiresAt = Js.Date.getTime(expiresAtDate) - let installToken: Types.installationToken = { - token, - expiresAt, - } - - // Cache the token - Js.Dict.set(tokenCache, cacheKey, installToken) - - Ok(installToken) - } - | None => Error("Invalid JSON response") - } - } - } catch { - | exn => - let msg = switch Js.Exn.asJsExn(exn) { - | Some(jsExn) => Js.Exn.message(jsExn)->Belt.Option.getWithDefault("Unknown error") - | None => "Unknown error" - } - Error(`Failed to get installation token: ${msg}`) - } - } -} - -// Extract installation ID from webhook payload -let extractInstallationId = (payload: Js.Json.t): option => { - switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "installation") { - | Some(inst) => - switch Js.Json.decodeObject(inst) { - | Some(instObj) => - switch Js.Dict.get(instObj, "id") { - | Some(id) => - switch Js.Json.decodeNumber(id) { - | Some(num) => Some(Belt.Float.toInt(num)) - | None => None - } - | None => None - } - | None => None - } - | None => None - } - | None => None - } -} - -// Get an authenticated token for a repository installation -// This is the main entry point for authentication -let getAuthToken = async (config: Types.config, payload: Js.Json.t): result => { - switch (config.githubAppId, config.githubPrivateKey) { - | (Some(appId), Some(privateKey)) => - switch extractInstallationId(payload) { - | Some(installationId) => - let jwtResult = await generateJWT(appId, privateKey) - switch jwtResult { - | Ok(jwt) => - let tokenResult = await getInstallationToken(jwt, installationId) - switch tokenResult { - | Ok(installToken) => Ok(installToken.token) - | Error(e) => Error(e) - } - | Error(e) => Error(e) - } - | None => Error("No installation ID in payload") - } - | _ => Error("GitHub App credentials not configured") - } -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Main.res b/bots/sustainabot/bot-integration/lib/ocaml/Main.res deleted file mode 100644 index 6216b98..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Main.res +++ /dev/null @@ -1,422 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2024-2025 hyperpolymath -// -// Oikos Bot Main Entry Point -// ReScript + Deno implementation - -open Deno -open Types - -// Logger helper -let log = (level: string, msg: string, data: option) => { - let timestamp = Js.Date.toISOString(Js.Date.make()) - let logObj = switch data { - | Some(d) => - Js.Dict.fromArray([ - ("timestamp", Js.Json.string(timestamp)), - ("level", Js.Json.string(level)), - ("message", Js.Json.string(msg)), - ("data", d), - ]) - | None => - Js.Dict.fromArray([ - ("timestamp", Js.Json.string(timestamp)), - ("level", Js.Json.string(level)), - ("message", Js.Json.string(msg)), - ]) - } - Js.Console.log(Js.Json.stringify(Js.Json.object_(logObj))) -} - -let info = (msg, ~data=?) => log("info", msg, data) -let error = (msg, ~data=?) => log("error", msg, data) - -// Extract PR info from GitHub payload -let extractPRInfo = (payload: Js.Json.t): (int, string, string) => { - switch Js.Json.decodeObject(payload) { - | Some(obj) => - let prNumber = switch Js.Dict.get(obj, "number") { - | Some(n) => - switch Js.Json.decodeNumber(n) { - | Some(num) => Belt.Float.toInt(num) - | None => 0 - } - | None => 0 - } - let (baseSha, headSha) = switch Js.Dict.get(obj, "pull_request") { - | Some(pr) => - switch Js.Json.decodeObject(pr) { - | Some(prObj) => - let base = switch Js.Dict.get(prObj, "base") { - | Some(b) => - switch Js.Json.decodeObject(b) { - | Some(baseObj) => - switch Js.Dict.get(baseObj, "sha") { - | Some(s) => Js.Json.decodeString(s)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - let head = switch Js.Dict.get(prObj, "head") { - | Some(h) => - switch Js.Json.decodeObject(h) { - | Some(headObj) => - switch Js.Dict.get(headObj, "sha") { - | Some(s) => Js.Json.decodeString(s)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - (base, head) - | None => ("", "") - } - | None => ("", "") - } - (prNumber, baseSha, headSha) - | None => (0, "", "") - } -} - -// Extract MR info from GitLab payload -let extractMRInfo = (payload: Js.Json.t): (int, string, string) => { - switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "object_attributes") { - | Some(attrs) => - switch Js.Json.decodeObject(attrs) { - | Some(attrsObj) => - let mrIid = switch Js.Dict.get(attrsObj, "iid") { - | Some(n) => - switch Js.Json.decodeNumber(n) { - | Some(num) => Belt.Float.toInt(num) - | None => 0 - } - | None => 0 - } - let baseSha = switch Js.Dict.get(attrsObj, "diff_refs") { - | Some(refs) => - switch Js.Json.decodeObject(refs) { - | Some(refsObj) => - switch Js.Dict.get(refsObj, "base_sha") { - | Some(s) => Js.Json.decodeString(s)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - let headSha = switch Js.Dict.get(attrsObj, "last_commit") { - | Some(commit) => - switch Js.Json.decodeObject(commit) { - | Some(commitObj) => - switch Js.Dict.get(commitObj, "id") { - | Some(s) => Js.Json.decodeString(s)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - (mrIid, baseSha, headSha) - | None => (0, "", "") - } - | None => (0, "", "") - } - | None => (0, "", "") - } -} - -// JSON response helper -let jsonResponse = (data: Js.Json.t, ~status=200): Http.response => { - Http.makeJsonResponse( - Js.Json.stringify(data), - { - "status": status, - "headers": {"Content-Type": "application/json"}, - }, - ) -} - -// Validate GitHub signature if configured -let validateGitHubSignature = async ( - config: config, - headers: Js.Dict.t, - body: string, -): option => { - switch config.githubWebhookSecret { - | Some(secret) => - let signature = Js.Dict.get(headers, "x-hub-signature-256")->Belt.Option.getWithDefault("") - let valid = await Webhook.verifyGitHubSignature(body, signature, secret) - if !valid { - error("Invalid GitHub webhook signature") - Some(Http.makeResponse(`{"error": "Invalid signature"}`, {"status": 401})) - } else { - None - } - | None => None - } -} - -// Handle GitHub webhook -let handleGitHubWebhook = async ( - config: config, - headers: Js.Dict.t, - body: string, -): Http.response => { - // Verify signature if secret is configured - let signatureError = await validateGitHubSignature(config, headers, body) - switch signatureError { - | Some(errResponse) => errResponse - | None => - // Parse payload - let parseResult = try { - Some(Js.Json.parseExn(body)) - } catch { - | _ => None - } - - switch parseResult { - | None => Http.makeResponse(`{"error": "Invalid JSON"}`, {"status": 400}) - | Some(payload) => - let event = Webhook.parseGitHubEvent(headers, payload) - switch event { - | Some(e) => - info( - `GitHub event: ${e.eventType}`, - ~data=Js.Json.object_( - Js.Dict.fromArray([ - ("repo", Js.Json.string(`${e.repository.owner}/${e.repository.name}`)), - ("action", Js.Json.string(e.action->Belt.Option.getWithDefault(""))), - ]), - ), - ) - - // Handle pull request events - if e.eventType == "pull_request" { - let action = e.action->Belt.Option.getWithDefault("") - if action == "opened" || action == "synchronize" { - // Extract PR info from payload - let (prNumber, baseSha, headSha) = extractPRInfo(payload) - - // Call real analyzer - let analysisResult = await Analysis.analyzeDiff( - config.analysisEndpoint, - e.repository.url, - baseSha, - headSha, - ) - - let comment = switch analysisResult { - | Ok(analysis) => - Report.generatePRComment(analysis, config.mode) - | Error(err) => - error(`Analysis failed: ${err}`) - let analysis = Analysis.mockAnalysis() - Report.generatePRComment(analysis, config.mode) - } - - // Post comment to GitHub if authenticated - let authResult = await GitHubApp.getAuthToken(config, payload) - switch authResult { - | Ok(token) => - let postResult = await GitHubAPI.postPRComment( - token, - e.repository.owner, - e.repository.name, - prNumber, - comment, - ) - switch postResult { - | Ok(commentId) => - info( - `Posted PR comment`, - ~data=Js.Json.object_( - Js.Dict.fromArray([ - ("pr", Js.Json.number(Belt.Int.toFloat(prNumber))), - ("commentId", Js.Json.number(Belt.Int.toFloat(commentId))), - ]), - ), - ) - | Error(err) => - error(`Failed to post PR comment: ${err}`) - } - | Error(err) => - // Not configured for GitHub App - log comment instead - info( - `GitHub App not configured, comment not posted: ${err}`, - ~data=Js.Json.string(comment), - ) - } - } - } - - jsonResponse(Js.Json.object_(Js.Dict.fromArray([("status", Js.Json.string("processed"))]))) - | None => - error("Failed to parse GitHub event") - Http.makeResponse(`{"error": "Invalid event"}`, {"status": 400}) - } - } - } -} - -// Validate GitLab token if configured -let validateGitLabToken = ( - config: config, - headers: Js.Dict.t, -): option => { - switch config.gitlabWebhookSecret { - | Some(secret) => - let token = Js.Dict.get(headers, "x-gitlab-token")->Belt.Option.getWithDefault("") - if !Webhook.verifyGitLabToken(token, secret) { - error("Invalid GitLab webhook token") - Some(Http.makeResponse(`{"error": "Invalid token"}`, {"status": 401})) - } else { - None - } - | None => None - } -} - -// Handle GitLab webhook -let handleGitLabWebhook = async ( - config: config, - headers: Js.Dict.t, - body: string, -): Http.response => { - // Verify token if secret is configured - let tokenError = validateGitLabToken(config, headers) - switch tokenError { - | Some(errResponse) => errResponse - | None => - // Parse payload - let parseResult = try { - Some(Js.Json.parseExn(body)) - } catch { - | _ => None - } - - switch parseResult { - | None => Http.makeResponse(`{"error": "Invalid JSON"}`, {"status": 400}) - | Some(payload) => - let event = Webhook.parseGitLabEvent(headers, payload) - switch event { - | Some(e) => - info( - `GitLab event: ${e.eventType}`, - ~data=Js.Json.object_( - Js.Dict.fromArray([("repo", Js.Json.string(`${e.repository.owner}/${e.repository.name}`))]), - ), - ) - - // Handle merge request events - if e.eventType == "Merge Request Hook" { - let (mrIid, baseSha, headSha) = extractMRInfo(payload) - - let analysisResult = await Analysis.analyzeDiff( - config.analysisEndpoint, - e.repository.url, - baseSha, - headSha, - ) - - switch analysisResult { - | Ok(analysis) => - let comment = Report.generatePRComment(analysis, config.mode) - info(`Generated MR comment for MR !${Belt.Int.toString(mrIid)}`, ~data=Js.Json.string(comment)) - | Error(err) => - error(`Analysis failed: ${err}`) - let analysis = Analysis.mockAnalysis() - let comment = Report.generatePRComment(analysis, config.mode) - info(`Generated fallback MR comment`, ~data=Js.Json.string(comment)) - } - } - - jsonResponse(Js.Json.object_(Js.Dict.fromArray([("status", Js.Json.string("processed"))]))) - | None => - error("Failed to parse GitLab event") - Http.makeResponse(`{"error": "Invalid event"}`, {"status": 400}) - } - } - } -} - -// Main request handler -let handler = (config: config): Http.handler => { - async (req, _connInfo) => { - let url = Http.url(req) - let method = Http.method_(req) - let path = Js.String2.replaceByRe(url, %re("/^https?:\/\/[^\/]+/"), "") - - // Route requests - switch (method, path) { - | ("GET", "/health") => - jsonResponse( - Js.Json.object_( - Js.Dict.fromArray([ - ("status", Js.Json.string("healthy")), - ("mode", Js.Json.string(Config.modeToString(config.mode))), - ]), - ), - ) - - | ("POST", "/webhooks/github") => - let body = await Http.text(req) - let headers = Http.headers(req) - await handleGitHubWebhook(config, headers, body) - - | ("POST", "/webhooks/gitlab") => - let body = await Http.text(req) - let headers = Http.headers(req) - await handleGitLabWebhook(config, headers, body) - - | ("GET", "/metrics") => - // OpenTelemetry metrics endpoint - jsonResponse( - Js.Json.object_( - Js.Dict.fromArray([ - ("oikos_bot_requests_total", Js.Json.number(0.0)), - ("oikos_bot_analyses_total", Js.Json.number(0.0)), - ]), - ), - ) - - | _ => Http.makeResponse("Not Found", {"status": 404}) - } - } -} - -// Main entry point -let main = () => { - switch Config.load() { - | Ok(config) => - info( - `Starting Oikos Bot`, - ~data=Js.Json.object_( - Js.Dict.fromArray([ - ("port", Js.Json.number(Belt.Int.toFloat(config.port))), - ("mode", Js.Json.string(Config.modeToString(config.mode))), - ]), - ), - ) - - Http.serve( - { - port: config.port, - onListen: ({hostname, port}) => { - info(`Server listening on ${hostname}:${Belt.Int.toString(port)}`) - }, - }, - handler(config), - ) - - | Error(e) => - error(`Failed to load config: ${e}`) - } -} - -// Run -main() diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Oikos.res b/bots/sustainabot/bot-integration/lib/ocaml/Oikos.res deleted file mode 100644 index db5b339..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Oikos.res +++ /dev/null @@ -1,265 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell -// -// Oikos - Ecological & Economic Code Analysis -// οἶκος: Greek root of both "ecology" and "economy" -// TEA Architecture - Model-Update-Subscriptions pattern - -open ServerTea - -// ============================================================================= -// MODEL -// ============================================================================= - -type botMode = - | Advisor - | Consultant - | Regulator - -type webhookSource = - | GitHub - | GitLab - -type analysisStatus = - | Pending - | InProgress - | Completed(Types.analysisResult) - | Failed(string) - -type pendingAnalysis = { - id: string, - repo: string, - prNumber: int, - status: analysisStatus, - createdAt: float, -} - -type model = { - mode: botMode, - port: int, - webhookSecret: option, - appId: option, - privateKeyPath: option, - pendingAnalyses: array, - totalProcessed: int, - startTime: float, - healthy: bool, -} - -// ============================================================================= -// MESSAGES -// ============================================================================= - -type msg = - // Webhook events - | WebhookReceived(webhookSource, Js.Json.t) - | WebhookVerified(webhookSource, Js.Json.t) - | WebhookRejected(string) - // Analysis lifecycle - | AnalysisRequested(string, string, int) // id, repo, prNumber - | AnalysisStarted(string) - | AnalysisCompleted(string, Types.analysisResult) - | AnalysisFailed(string, string) - // GitHub API responses - | CommentPosted(string, int) - | CommentFailed(string, string) - // System - | HealthCheck - | Tick - | Shutdown - -// ============================================================================= -// INIT -// ============================================================================= - -type flags = { - port: int, - mode: string, - webhookSecret: option, - appId: option, - privateKeyPath: option, -} - -let modeFromString = str => - switch str { - | "consultant" => Consultant - | "regulator" => Regulator - | _ => Advisor - } - -let init = (flags: flags) => { - let model = { - mode: modeFromString(flags.mode), - port: flags.port, - webhookSecret: flags.webhookSecret, - appId: flags.appId, - privateKeyPath: flags.privateKeyPath, - pendingAnalyses: [], - totalProcessed: 0, - startTime: Js.Date.now(), - healthy: true, - } - - Js.Console.log(`🏛️ Oikos Bot starting...`) - Js.Console.log(` Mode: ${flags.mode}`) - Js.Console.log(` Port: ${flags.port->Belt.Int.toString}`) - - (model, Cmd.none) -} - -// ============================================================================= -// UPDATE -// ============================================================================= - -let update = (msg: msg, model: model) => { - switch msg { - | WebhookReceived(source, payload) => { - let sourceStr = switch source { - | GitHub => "GitHub" - | GitLab => "GitLab" - } - Js.Console.log(`📨 Webhook received from ${sourceStr}`) - // TODO: Verify signature then dispatch WebhookVerified - (model, Cmd.perform(async () => payload, p => WebhookVerified(source, p))) - } - - | WebhookVerified(source, payload) => { - Js.Console.log(`✓ Webhook verified`) - // Parse the webhook and determine action - let _ = source - let _ = payload - // TODO: Parse event type, extract PR info, start analysis - ({...model, totalProcessed: model.totalProcessed + 1}, Cmd.none) - } - - | WebhookRejected(reason) => { - Js.Console.error(`✗ Webhook rejected: ${reason}`) - (model, Cmd.none) - } - - | AnalysisRequested(id, repo, prNumber) => { - Js.Console.log(`🔍 Analysis requested: ${repo}#${prNumber->Belt.Int.toString}`) - let analysis = { - id, - repo, - prNumber, - status: Pending, - createdAt: Js.Date.now(), - } - ( - {...model, pendingAnalyses: model.pendingAnalyses->Js.Array2.concat([analysis])}, - Cmd.none, - ) - } - - | AnalysisStarted(id) => { - let pendingAnalyses = - model.pendingAnalyses->Js.Array2.map(a => - if a.id == id { - {...a, status: InProgress} - } else { - a - } - ) - ({...model, pendingAnalyses}, Cmd.none) - } - - | AnalysisCompleted(id, result) => { - Js.Console.log(`✓ Analysis completed: ${id}`) - let pendingAnalyses = - model.pendingAnalyses->Js.Array2.map(a => - if a.id == id { - {...a, status: Completed(result)} - } else { - a - } - ) - ({...model, pendingAnalyses}, Cmd.none) - } - - | AnalysisFailed(id, error) => { - Js.Console.error(`✗ Analysis failed: ${id} - ${error}`) - let pendingAnalyses = - model.pendingAnalyses->Js.Array2.map(a => - if a.id == id { - {...a, status: Failed(error)} - } else { - a - } - ) - ({...model, pendingAnalyses}, Cmd.none) - } - - | CommentPosted(repo, prNumber) => { - Js.Console.log(`💬 Comment posted to ${repo}#${prNumber->Belt.Int.toString}`) - (model, Cmd.none) - } - - | CommentFailed(repo, error) => { - Js.Console.error(`✗ Failed to post comment to ${repo}: ${error}`) - (model, Cmd.none) - } - - | HealthCheck => { - Js.Console.log(`💚 Health check - processed: ${model.totalProcessed->Belt.Int.toString}`) - (model, Cmd.none) - } - - | Tick => { - // Periodic cleanup of old analyses - let now = Js.Date.now() - let oneHour = 60.0 *. 60.0 *. 1000.0 - let pendingAnalyses = - model.pendingAnalyses->Js.Array2.filter(a => now -. a.createdAt < oneHour) - ({...model, pendingAnalyses}, Cmd.none) - } - - | Shutdown => { - Js.Console.log(`👋 Shutting down...`) - ({...model, healthy: false}, Cmd.none) - } - } -} - -// ============================================================================= -// SUBSCRIPTIONS -// ============================================================================= - -let subscriptions = (model: model) => { - if model.healthy { - Sub.batch([ - Sub.httpServer(model.port, json => Some(WebhookReceived(GitHub, json))), - Sub.every(60000, () => Tick), - ]) - } else { - Sub.none - } -} - -// ============================================================================= -// RUN -// ============================================================================= - -let run = () => { - let port = switch Deno.Env.get("PORT") { - | Some(p) => Belt.Int.fromString(p)->Belt.Option.getWithDefault(3000) - | None => 3000 - } - let mode = Deno.Env.get("BOT_MODE")->Belt.Option.getWithDefault("advisor") - let webhookSecret = Deno.Env.get("GITHUB_WEBHOOK_SECRET") - let appId = Deno.Env.get("GITHUB_APP_ID") - let privateKeyPath = Deno.Env.get("GITHUB_PRIVATE_KEY_PATH") - - let flags = { - port, - mode, - webhookSecret, - appId, - privateKeyPath, - } - - Runtime.make(~init, ~update, ~subscriptions, ~flags) -} - -// Auto-run when imported as main module -let _ = run() diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Report.res b/bots/sustainabot/bot-integration/lib/ocaml/Report.res deleted file mode 100644 index f0d564b..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Report.res +++ /dev/null @@ -1,212 +0,0 @@ -// Report generation for PR comments and SARIF output - -open Types - -let getGrade = (score: float): string => { - if score >= 90.0 { - "A" - } else if score >= 80.0 { - "B" - } else if score >= 70.0 { - "C" - } else if score >= 60.0 { - "D" - } else { - "F" - } -} - -let getGradeEmoji = (grade: string): string => { - switch grade { - | "A" => "🏆" - | "B" => "✨" - | "C" => "👍" - | "D" => "⚠️" - | _ => "🚨" - } -} - -let getStatusEmoji = (score: float): string => { - if score >= 70.0 { - "✅" - } else if score >= 50.0 { - "⚠️" - } else { - "❌" - } -} - -let severityToString = (s: severity): string => { - switch s { - | Blocking => "blocking" - | High => "high" - | Medium => "medium" - | Low => "low" - | Info => "info" - } -} - -let generatePRComment = (analysis: analysisResult, mode: botMode): string => { - let grade = getGrade(analysis.health.total) - let gradeEmoji = getGradeEmoji(grade) - - let header = `## 🏛️ Oikos Analysis\n\n` - - let healthLine = `### Overall Health: ${gradeEmoji} ${grade} (${Belt.Float.toString( - analysis.health.total, - )}/100)\n\n` - - let scoreTable = - `| Metric | Score | Status |\n` ++ - `|--------|-------|--------|\n` ++ - `| 🌍 Ecological | ${Belt.Float.toString(analysis.eco.score)} | ${getStatusEmoji( - analysis.eco.score, - )} |\n` ++ - `| 📊 Economic | ${Belt.Float.toString(analysis.econ.score)} | ${getStatusEmoji( - analysis.econ.score, - )} |\n` ++ - `| ⚙️ Quality | ${Belt.Float.toString(analysis.quality.score)} | ${getStatusEmoji( - analysis.quality.score, - )} |\n\n` - - // Violations section - let violationsSection = if Belt.Array.length(analysis.violations) > 0 { - let violationLines = - analysis.violations - ->Belt.Array.map(v => { - let icon = v.severity == Blocking ? "🚫" : "⚠️" - `${icon} **${v.policy}**: ${v.message}\n` - }) - ->Belt.Array.joinWith("", s => s) - - `### ⚠️ Policy Violations\n\n${violationLines}\n` - } else { - "" - } - - // Recommendations section (limited by mode) - let recommendationsSection = if Belt.Array.length(analysis.recommendations) > 0 && mode != Regulator { - let maxRecs = mode == Consultant ? 10 : 5 - let topRecs = Belt.Array.slice(analysis.recommendations, ~offset=0, ~len=maxRecs) - - let recLines = - topRecs - ->Belt.Array.map(r => { - let confidence = Belt.Float.toInt(r.confidence *. 100.0) - `- **${r.action}** (${Belt.Int.toString(confidence)}% confidence): ${r.reason}\n` - }) - ->Belt.Array.joinWith("", s => s) - - `### 💡 Recommendations\n\n${recLines}\n` - } else { - "" - } - - // Pareto section - let paretoSection = switch analysis.econ.paretoStatus { - | Some(ps) => - let status = if ps.isOptimal { - `✅ This code is on the Pareto frontier - no dominated trade-offs detected.\n\n` - } else { - let improvements = switch ps.improvements { - | Some(imps) => - imps->Belt.Array.map(i => `- ${i}\n`)->Belt.Array.joinWith("", s => s) - | None => "" - } - `📍 Distance from Pareto frontier: ${Belt.Float.toString(ps.distance)}\n\n` ++ - (improvements != "" ? `Potential Pareto improvements:\n${improvements}\n` : "") - } - `### 📈 Pareto Analysis\n\n${status}` - | None => "" - } - - // Footer - let footer = - `---\n` ++ - `*Analyzed by [Oikos Bot](https://github.com/hyperpolymath/oikos-bot) | ` ++ - `Mode: ${Config.modeToString(mode)} | ` ++ - `[Learn more about eco-friendly coding](https://greensoftware.foundation/)*\n` - - header ++ healthLine ++ scoreTable ++ violationsSection ++ recommendationsSection ++ paretoSection ++ footer -} - -// Generate SARIF for code scanning integration -let generateSARIF = (analysis: analysisResult): Js.Json.t => { - let rules = [ - Js.Dict.fromArray([ - ("id", Js.Json.string("eco/eco-minimum")), - ("name", Js.Json.string("EcoMinimum")), - ( - "shortDescription", - Js.Json.object_( - Js.Dict.fromArray([("text", Js.Json.string("Eco minimum threshold not met"))]), - ), - ), - ]), - Js.Dict.fromArray([ - ("id", Js.Json.string("eco/eco-standard")), - ("name", Js.Json.string("EcoStandard")), - ( - "shortDescription", - Js.Json.object_( - Js.Dict.fromArray([("text", Js.Json.string("Eco standard threshold not met"))]), - ), - ), - ]), - ] - - let results = - analysis.violations->Belt.Array.map(v => { - Js.Dict.fromArray([ - ("ruleId", Js.Json.string(`eco/${Js.String.replace("_", "-", v.policy)}`)), - ("level", Js.Json.string(v.severity == Blocking ? "error" : "warning")), - ( - "message", - Js.Json.object_(Js.Dict.fromArray([("text", Js.Json.string(v.message))])), - ), - ]) - }) - - Js.Json.object_( - Js.Dict.fromArray([ - ( - "$schema", - Js.Json.string( - "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", - ), - ), - ("version", Js.Json.string("2.1.0")), - ( - "runs", - Js.Json.array([ - Js.Json.object_( - Js.Dict.fromArray([ - ( - "tool", - Js.Json.object_( - Js.Dict.fromArray([ - ( - "driver", - Js.Json.object_( - Js.Dict.fromArray([ - ("name", Js.Json.string("oikos-bot")), - ("version", Js.Json.string("0.1.0-beta")), - ( - "informationUri", - Js.Json.string("https://github.com/hyperpolymath/oikos-bot"), - ), - ("rules", Js.Json.array(rules->Belt.Array.map(Js.Json.object_))), - ]), - ), - ), - ]), - ), - ), - ("results", Js.Json.array(results->Belt.Array.map(Js.Json.object_))), - ]), - ), - ]), - ), - ]), - ) -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Router.res b/bots/sustainabot/bot-integration/lib/ocaml/Router.res deleted file mode 100644 index 74aeba1..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Router.res +++ /dev/null @@ -1,190 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell -// -// HTTP Router for Oikos Bot -// Adapted from hyperpolymath/rescript-wasm-runtime - -type method = GET | POST | PUT | DELETE | PATCH | OPTIONS | HEAD - -type handler = Deno.Request.t => promise - -type middleware = (Deno.Request.t, unit => promise) => promise - -type route = { - method: method, - path: string, - handler: handler, -} - -type t = { - routes: array, - middlewares: array, - notFoundHandler: option, -} - -let make = (): t => { - routes: [], - middlewares: [], - notFoundHandler: None, -} - -let methodToString = (method: method): string => { - switch method { - | GET => "GET" - | POST => "POST" - | PUT => "PUT" - | DELETE => "DELETE" - | PATCH => "PATCH" - | OPTIONS => "OPTIONS" - | HEAD => "HEAD" - } -} - -let methodFromString = (str: string): option => { - switch str { - | "GET" => Some(GET) - | "POST" => Some(POST) - | "PUT" => Some(PUT) - | "DELETE" => Some(DELETE) - | "PATCH" => Some(PATCH) - | "OPTIONS" => Some(OPTIONS) - | "HEAD" => Some(HEAD) - | _ => None - } -} - -// Path matching with named parameters -let matchPath = (pattern: string, path: string): option> => { - let patternParts = pattern->Js.String2.split("/")->Js.Array2.filter(p => p !== "") - let pathParts = path->Js.String2.split("/")->Js.Array2.filter(p => p !== "") - - if Js.Array2.length(patternParts) !== Js.Array2.length(pathParts) { - None - } else { - let params = Js.Dict.empty() - let matches = ref(true) - - patternParts->Js.Array2.forEachi((patternPart, i) => { - let pathPart = pathParts->Js.Array2.unsafe_get(i) - - if Js.String2.startsWith(patternPart, ":") { - let paramName = Js.String2.sliceToEnd(patternPart, ~from=1) - Js.Dict.set(params, paramName, pathPart) - } else if patternPart !== pathPart { - matches := false - } - }) - - if matches.contents { - Some(params) - } else { - None - } - } -} - -// Add route -let addRoute = (router: t, method: method, path: string, handler: handler): t => { - let newRoute = {method, path, handler} - {...router, routes: router.routes->Js.Array2.concat([newRoute])} -} - -// Route registration helpers -let get = (router: t, path: string, handler: handler): t => { - addRoute(router, GET, path, handler) -} - -let post = (router: t, path: string, handler: handler): t => { - addRoute(router, POST, path, handler) -} - -let put = (router: t, path: string, handler: handler): t => { - addRoute(router, PUT, path, handler) -} - -let delete = (router: t, path: string, handler: handler): t => { - addRoute(router, DELETE, path, handler) -} - -let patch = (router: t, path: string, handler: handler): t => { - addRoute(router, PATCH, path, handler) -} - -let options = (router: t, path: string, handler: handler): t => { - addRoute(router, OPTIONS, path, handler) -} - -// Add middleware -let use = (router: t, middleware: middleware): t => { - {...router, middlewares: router.middlewares->Js.Array2.concat([middleware])} -} - -// Set custom 404 handler -let notFound = (router: t, handler: handler): t => { - {...router, notFoundHandler: Some(handler)} -} - -// URL parsing helper -module Url = { - type t - @new external make: string => t = "URL" - @get external pathname: t => string = "pathname" -} - -// Handle request -let handle = async (router: t, req: Deno.Request.t): Deno.Response.t => { - let methodStr = Deno.Request.method_(req) - let url = Deno.Request.url(req) - let urlObj = Url.make(url) - let path = Url.pathname(urlObj) - - let methodEnum = methodFromString(methodStr) - - switch methodEnum { - | None => Deno.Response.make("Method not allowed", {"status": 405}) - | Some(m) => { - // Find matching route - let matchingRoute = ref(None) - - router.routes->Js.Array2.forEach(route => { - if route.method === m { - switch matchPath(route.path, path) { - | Some(_params) => matchingRoute := Some(route) - | None => () - } - } - }) - - switch matchingRoute.contents { - | None => { - // No route found, use 404 handler - switch router.notFoundHandler { - | Some(handler) => await handler(req) - | None => Deno.Response.make("Not Found", {"status": 404}) - } - } - | Some(route) => { - // Apply middlewares (in reverse order to build the chain) - let finalHandler = () => route.handler(req) - - let wrappedHandler = router.middlewares->Js.Array2.reduceRight( - (next, middleware) => { - () => middleware(req, next) - }, - finalHandler, - ) - - await wrappedHandler() - } - } - } - } -} - -// Start server with router -let serve = (router: t, ~port: int) => { - Deno.serve( - {"port": port}, - async (req) => await handle(router, req), - ) -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/ServerTea.res b/bots/sustainabot/bot-integration/lib/ocaml/ServerTea.res deleted file mode 100644 index 08fd430..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/ServerTea.res +++ /dev/null @@ -1,148 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell -// -// Server-side TEA (The Elm Architecture) for Deno -// Inspired by hyperpolymath/rescript-tea but for backend services - -module Cmd = { - type rec t<'msg> = - | None - | Batch(array>) - | Perform(unit => promise<'msg>) - | PerformWithDispatch((('msg) => unit) => promise) - - let none = None - let batch = cmds => Batch(cmds) - let perform = (task, toMsg) => Perform(async () => toMsg(await task())) - let attempt = (task, toMsg) => Perform(async () => { - try { - toMsg(Ok(await task())) - } catch { - | exn => toMsg(Error(exn)) - } - }) - let withDispatch = fn => PerformWithDispatch(fn) -} - -module Sub = { - type rec t<'msg> = - | None - | Batch(array>) - | HttpServer(int, Js.Json.t => option<'msg>) - | Interval(int, unit => 'msg) - - let none = None - let batch = subs => Batch(subs) - let httpServer = (port, handler) => HttpServer(port, handler) - let every = (ms, toMsg) => Interval(ms, toMsg) -} - -module Runtime = { - type state<'model, 'msg> = { - mutable model: 'model, - mutable subscriptions: array>, - mutable running: bool, - mutable httpServer: option, - mutable intervals: array, - } - - let rec executeCmd = async (cmd: Cmd.t<'msg>, dispatch: 'msg => unit) => { - switch cmd { - | Cmd.None => () - | Cmd.Batch(cmds) => { - // Execute commands sequentially - cmds->Js.Array2.forEach(c => { - let _ = executeCmd(c, dispatch) - }) - } - | Cmd.Perform(task) => { - let msg = await task() - dispatch(msg) - } - | Cmd.PerformWithDispatch(fn) => await fn(dispatch) - } - } - - let make = ( - ~init: 'flags => ('model, Cmd.t<'msg>), - ~update: ('msg, 'model) => ('model, Cmd.t<'msg>), - ~subscriptions: 'model => Sub.t<'msg>, - ~flags: 'flags, - ) => { - let (initialModel, initialCmd) = init(flags) - - let state = { - model: initialModel, - subscriptions: [], - running: true, - httpServer: None, - intervals: [], - } - - let rec dispatch = msg => { - if state.running { - let (newModel, cmd) = update(msg, state.model) - state.model = newModel - let _ = executeCmd(cmd, dispatch) - updateSubscriptions() - } - } - - and updateSubscriptions = () => { - let newSubs = subscriptions(state.model) - // For now, just track that we have subs - // In a full impl, we'd diff and manage lifecycle - state.subscriptions = [newSubs] - } - - and startSubscription = (sub: Sub.t<'msg>) => { - switch sub { - | Sub.None => () - | Sub.Batch(subs) => subs->Js.Array2.forEach(startSubscription) - | Sub.HttpServer(port, handler) => { - let server = Deno.serve( - {"port": port}, - async (req) => { - let body = await Deno.Request.text(req) - let json = try { - Some(Js.Json.parseExn(body)) - } catch { - | _ => None - } - switch json->Belt.Option.flatMap(handler) { - | Some(msg) => { - dispatch(msg) - Deno.Response.make("OK", {"status": 200}) - } - | None => Deno.Response.make("Ignored", {"status": 200}) - } - }, - ) - state.httpServer = Some(server) - } - | Sub.Interval(ms, toMsg) => { - let id = Js.Global.setInterval(() => dispatch(toMsg()), ms) - state.intervals = state.intervals->Js.Array2.concat([id]) - } - } - } - - // Start initial command - let _ = executeCmd(initialCmd, dispatch) - - // Start subscriptions - let initialSubs = subscriptions(state.model) - startSubscription(initialSubs) - - // Return control functions - { - "dispatch": dispatch, - "getModel": () => state.model, - "stop": () => { - state.running = false - state.httpServer->Belt.Option.forEach(server => { let _ = Deno.HttpServer.shutdown(server) }) - state.intervals->Js.Array2.forEach(Js.Global.clearInterval) - }, - } - } -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Types.res b/bots/sustainabot/bot-integration/lib/ocaml/Types.res deleted file mode 100644 index 07c3926..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Types.res +++ /dev/null @@ -1,135 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2024-2025 hyperpolymath -// -// Core types for Oikos Bot analysis - -type codeLocation = { - file: string, - line: int, - column: option, -} - -type ecoMetrics = { - carbonScore: float, - energyScore: float, - resourceScore: float, - score: float, -} - -type paretoStatus = { - isOptimal: bool, - distance: float, - improvements: option>, -} - -type econMetrics = { - paretoDistance: float, - allocationScore: float, - debtScore: float, - score: float, - paretoStatus: option, -} - -type qualityMetrics = { - complexityScore: float, - couplingScore: float, - coverageScore: float, - score: float, -} - -type healthIndex = { - eco: float, - econ: float, - quality: float, - total: float, - grade: string, -} - -type severity = - | Blocking - | High - | Medium - | Low - | Info - -type policyViolation = { - entityId: string, - policy: string, - severity: severity, - message: string, - location: option, - suggestions: array, -} - -type priority = - | PriorityHigh - | PriorityMedium - | PriorityLow - -type recommendation = { - entityId: string, - action: string, - reason: string, - priority: priority, - confidence: float, - expectedImprovement: Js.Dict.t, -} - -type analysisResult = { - eco: ecoMetrics, - econ: econMetrics, - quality: qualityMetrics, - health: healthIndex, - violations: array, - recommendations: array, - timestamp: string, - commitSha: option, -} - -// Bot modes -type botMode = - | Consultant // Answers questions, provides alternatives - | Advisor // Proactive suggestions on PRs - | Regulator // Enforces policy compliance - -// Webhook event types -type platform = - | GitHub - | GitLab - -type repositoryInfo = { - owner: string, - name: string, - url: string, -} - -type webhookEvent = { - platform: platform, - eventType: string, - action: option, - repository: repositoryInfo, - payload: Js.Json.t, -} - -// GitHub App Authentication -type installationToken = { - token: string, - expiresAt: float, // Unix timestamp in milliseconds -} - -type jwtClaims = { - iss: string, // App ID - iat: float, // Issued at (Unix seconds) - exp: float, // Expires at (Unix seconds) -} - -// Configuration -type config = { - port: int, - mode: botMode, - analysisEndpoint: string, - githubWebhookSecret: option, - gitlabWebhookSecret: option, - githubAppId: option, - githubPrivateKey: option, -} diff --git a/bots/sustainabot/bot-integration/lib/ocaml/Webhook.res b/bots/sustainabot/bot-integration/lib/ocaml/Webhook.res deleted file mode 100644 index 0dc4a76..0000000 --- a/bots/sustainabot/bot-integration/lib/ocaml/Webhook.res +++ /dev/null @@ -1,150 +0,0 @@ -// Webhook signature verification and parsing - -open Deno - -let verifyGitHubSignature = async ( - payload: string, - signature: string, - secret: string, -): bool => { - // GitHub uses HMAC-SHA256 - let encoder = TextEncoder.make() - let keyData = encoder->TextEncoder.encode(secret) - let data = encoder->TextEncoder.encode(payload) - - let key = await Crypto.subtle->Crypto.importKey( - "raw", - keyData, - {"name": "HMAC", "hash": "SHA-256"}, - false, - ["sign", "verify"], - ) - - let signatureBytes = encoder->TextEncoder.encode( - Js.String.replace("sha256=", "", signature), - ) - - await Crypto.subtle->Crypto.verify("HMAC", key, signatureBytes, data) -} - -let verifyGitLabToken = (token: string, secret: string): bool => { - token == secret -} - -let parseGitHubEvent = ( - headers: Js.Dict.t, - payload: Js.Json.t, -): option => { - let eventType = Js.Dict.get(headers, "x-github-event") - let action = switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "action") { - | Some(a) => Js.Json.decodeString(a) - | None => None - } - | None => None - } - - switch eventType { - | Some(et) => - // Extract repository info - let repo = switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "repository") { - | Some(r) => - switch Js.Json.decodeObject(r) { - | Some(repoObj) => { - let owner = switch Js.Dict.get(repoObj, "owner") { - | Some(o) => - switch Js.Json.decodeObject(o) { - | Some(ownerObj) => - switch Js.Dict.get(ownerObj, "login") { - | Some(l) => Js.Json.decodeString(l)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - let name = switch Js.Dict.get(repoObj, "name") { - | Some(n) => Js.Json.decodeString(n)->Belt.Option.getWithDefault("") - | None => "" - } - let url = switch Js.Dict.get(repoObj, "html_url") { - | Some(u) => Js.Json.decodeString(u)->Belt.Option.getWithDefault("") - | None => "" - } - Some({Types.owner, name, url}) - } - | None => None - } - | None => None - } - | None => None - } - - switch repo { - | Some(r) => - Some({ - Types.platform: Types.GitHub, - eventType: et, - action, - repository: r, - payload, - }) - | None => None - } - | None => None - } -} - -let parseGitLabEvent = ( - headers: Js.Dict.t, - payload: Js.Json.t, -): option => { - let eventType = Js.Dict.get(headers, "x-gitlab-event") - - switch eventType { - | Some(et) => - // Extract project info - let repo = switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "project") { - | Some(p) => - switch Js.Json.decodeObject(p) { - | Some(projObj) => { - let namespace = switch Js.Dict.get(projObj, "namespace") { - | Some(n) => Js.Json.decodeString(n)->Belt.Option.getWithDefault("") - | None => "" - } - let name = switch Js.Dict.get(projObj, "name") { - | Some(n) => Js.Json.decodeString(n)->Belt.Option.getWithDefault("") - | None => "" - } - let url = switch Js.Dict.get(projObj, "web_url") { - | Some(u) => Js.Json.decodeString(u)->Belt.Option.getWithDefault("") - | None => "" - } - Some({Types.owner: namespace, name, url}) - } - | None => None - } - | None => None - } - | None => None - } - - switch repo { - | Some(r) => - Some({ - Types.platform: Types.GitLab, - eventType: et, - action: None, - repository: r, - payload, - }) - | None => None - } - | None => None - } -} diff --git a/bots/sustainabot/bot-integration/lib/rescript.lock b/bots/sustainabot/bot-integration/lib/rescript.lock deleted file mode 100644 index 0a4b469..0000000 --- a/bots/sustainabot/bot-integration/lib/rescript.lock +++ /dev/null @@ -1 +0,0 @@ -454290 \ No newline at end of file diff --git a/bots/sustainabot/bot-integration/package.json b/bots/sustainabot/bot-integration/package.json index 1a37026..9a590c6 100644 --- a/bots/sustainabot/bot-integration/package.json +++ b/bots/sustainabot/bot-integration/package.json @@ -1,15 +1,13 @@ { "name": "oikos-bot-integration-dev", - "version": "0.1.0-beta", + "version": "0.2.0-beta", "private": true, - "description": "Development dependencies only - ReScript compiler. Runtime uses Deno only.", + "description": "Development dependencies. Runtime uses Deno. Sources are AffineScript (.affine).", "license": "PMPL-1.0-or-later", "scripts": { - "build": "rescript build", - "watch": "rescript build -w", - "clean": "rescript clean" + "build": "affinescript compile", + "watch": "affinescript compile --watch", + "clean": "rm -rf _build" }, - "devDependencies": { - "rescript": "^12.0.0" - } + "devDependencies": {} } diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt.js deleted file mode 100644 index 46fc28b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt.js +++ /dev/null @@ -1,57 +0,0 @@ - - - -let Id; - -let $$Array; - -let SortArray; - -let MutableQueue; - -let MutableStack; - -let List; - -let Range; - -let $$Set; - -let $$Map; - -let MutableSet; - -let MutableMap; - -let HashSet; - -let HashMap; - -let Option; - -let Result; - -let Int; - -let Float; - -export { - Id, - $$Array, - SortArray, - MutableQueue, - MutableStack, - List, - Range, - $$Set, - $$Map, - MutableSet, - MutableMap, - HashSet, - HashMap, - Option, - Result, - Int, - Float, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Array.js deleted file mode 100644 index 8e6b8e5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Array.js +++ /dev/null @@ -1,713 +0,0 @@ - - -import * as Primitive_int from "./Primitive_int.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function get(arr, i) { - if (i >= 0 && i < arr.length) { - return Primitive_option.some(arr[i]); - } -} - -function getOrThrow(arr, i) { - if (!(i >= 0 && i < arr.length)) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "Belt_Array.res", - 36, - 2 - ], - Error: new Error() - }; - } - return arr[i]; -} - -function set(arr, i, v) { - if (i >= 0 && i < arr.length) { - arr[i] = v; - return true; - } else { - return false; - } -} - -function setOrThrow(arr, i, v) { - if (!(i >= 0 && i < arr.length)) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "Belt_Array.res", - 51, - 2 - ], - Error: new Error() - }; - } - arr[i] = v; -} - -function swapUnsafe(xs, i, j) { - let tmp = xs[i]; - xs[i] = xs[j]; - xs[j] = tmp; -} - -function shuffleInPlace(xs) { - let len = xs.length; - let random_int = (min, max) => Math.floor(Math.random() * (max - min | 0)) + min | 0; - for (let i = 0; i < len; ++i) { - swapUnsafe(xs, i, random_int(i, len)); - } -} - -function shuffle(xs) { - let result = xs.slice(0); - shuffleInPlace(result); - return result; -} - -function reverseInPlace(xs) { - let len = xs.length; - let ofs = 0; - for (let i = 0, i_finish = len / 2 | 0; i < i_finish; ++i) { - swapUnsafe(xs, ofs + i | 0, ((ofs + len | 0) - i | 0) - 1 | 0); - } -} - -function reverse(xs) { - let len = xs.length; - let result = new Array(len); - for (let i = 0; i < len; ++i) { - result[i] = xs[(len - 1 | 0) - i | 0]; - } - return result; -} - -function make(l, f) { - if (l <= 0) { - return []; - } - let res = new Array(l); - for (let i = 0; i < l; ++i) { - res[i] = f; - } - return res; -} - -function makeBy(l, f) { - if (l <= 0) { - return []; - } - let res = new Array(l); - for (let i = 0; i < l; ++i) { - res[i] = f(i); - } - return res; -} - -function makeByAndShuffle(l, f) { - let u = makeBy(l, f); - shuffleInPlace(u); - return u; -} - -function range(start, finish) { - let cut = finish - start | 0; - if (cut < 0) { - return []; - } - let arr = new Array(cut + 1 | 0); - for (let i = 0; i <= cut; ++i) { - arr[i] = start + i | 0; - } - return arr; -} - -function rangeBy(start, finish, step) { - let cut = finish - start | 0; - if (cut < 0 || step <= 0) { - return []; - } - let nb = (cut / step | 0) + 1 | 0; - let arr = new Array(nb); - let cur = start; - for (let i = 0; i < nb; ++i) { - arr[i] = cur; - cur = cur + step | 0; - } - return arr; -} - -function zip(xs, ys) { - let lenx = xs.length; - let leny = ys.length; - let len = Primitive_int.min(lenx, leny); - let s = new Array(len); - for (let i = 0; i < len; ++i) { - s[i] = [ - xs[i], - ys[i] - ]; - } - return s; -} - -function zipBy(xs, ys, f) { - let lenx = xs.length; - let leny = ys.length; - let len = Primitive_int.min(lenx, leny); - let s = new Array(len); - for (let i = 0; i < len; ++i) { - s[i] = f(xs[i], ys[i]); - } - return s; -} - -function concat(a1, a2) { - let l1 = a1.length; - let l2 = a2.length; - let a1a2 = new Array(l1 + l2 | 0); - for (let i = 0; i < l1; ++i) { - a1a2[i] = a1[i]; - } - for (let i$1 = 0; i$1 < l2; ++i$1) { - a1a2[l1 + i$1 | 0] = a2[i$1]; - } - return a1a2; -} - -function concatMany(arrs) { - let lenArrs = arrs.length; - let totalLen = 0; - for (let i = 0; i < lenArrs; ++i) { - totalLen = totalLen + arrs[i].length | 0; - } - let result = new Array(totalLen); - totalLen = 0; - for (let j = 0; j < lenArrs; ++j) { - let cur = arrs[j]; - for (let k = 0, k_finish = cur.length; k < k_finish; ++k) { - result[totalLen] = cur[k]; - totalLen = totalLen + 1 | 0; - } - } - return result; -} - -function slice(a, offset, len) { - if (len <= 0) { - return []; - } - let lena = a.length; - let ofs = offset < 0 ? Primitive_int.max(lena + offset | 0, 0) : offset; - let hasLen = lena - ofs | 0; - let copyLength = Primitive_int.min(hasLen, len); - if (copyLength <= 0) { - return []; - } - let result = new Array(copyLength); - for (let i = 0; i < copyLength; ++i) { - result[i] = a[ofs + i | 0]; - } - return result; -} - -function sliceToEnd(a, offset) { - let lena = a.length; - let ofs = offset < 0 ? Primitive_int.max(lena + offset | 0, 0) : offset; - let len = lena > ofs ? lena - ofs | 0 : 0; - let result = new Array(len); - for (let i = 0; i < len; ++i) { - result[i] = a[ofs + i | 0]; - } - return result; -} - -function fill(a, offset, len, v) { - if (len <= 0) { - return; - } - let lena = a.length; - let ofs = offset < 0 ? Primitive_int.max(lena + offset | 0, 0) : offset; - let hasLen = lena - ofs | 0; - let fillLength = Primitive_int.min(hasLen, len); - if (fillLength <= 0) { - return; - } - for (let i = ofs, i_finish = ofs + fillLength | 0; i < i_finish; ++i) { - a[i] = v; - } -} - -function blitUnsafe(a1, srcofs1, a2, srcofs2, blitLength) { - if (srcofs2 <= srcofs1) { - for (let j = 0; j < blitLength; ++j) { - a2[j + srcofs2 | 0] = a1[j + srcofs1 | 0]; - } - return; - } - for (let j$1 = blitLength - 1 | 0; j$1 >= 0; --j$1) { - a2[j$1 + srcofs2 | 0] = a1[j$1 + srcofs1 | 0]; - } -} - -function blit(a1, ofs1, a2, ofs2, len) { - let lena1 = a1.length; - let lena2 = a2.length; - let srcofs1 = ofs1 < 0 ? Primitive_int.max(lena1 + ofs1 | 0, 0) : ofs1; - let srcofs2 = ofs2 < 0 ? Primitive_int.max(lena2 + ofs2 | 0, 0) : ofs2; - let blitLength = Primitive_int.min(len, Primitive_int.min(lena1 - srcofs1 | 0, lena2 - srcofs2 | 0)); - if (srcofs2 <= srcofs1) { - for (let j = 0; j < blitLength; ++j) { - a2[j + srcofs2 | 0] = a1[j + srcofs1 | 0]; - } - return; - } - for (let j$1 = blitLength - 1 | 0; j$1 >= 0; --j$1) { - a2[j$1 + srcofs2 | 0] = a1[j$1 + srcofs1 | 0]; - } -} - -function forEach(a, f) { - for (let i = 0, i_finish = a.length; i < i_finish; ++i) { - f(a[i]); - } -} - -function map(a, f) { - let l = a.length; - let r = new Array(l); - for (let i = 0; i < l; ++i) { - r[i] = f(a[i]); - } - return r; -} - -function flatMap(a, f) { - return concatMany(map(a, f)); -} - -function getBy(a, p) { - let l = a.length; - let i = 0; - let r; - while (r === undefined && i < l) { - let v = a[i]; - if (p(v)) { - r = Primitive_option.some(v); - } - i = i + 1 | 0; - }; - return r; -} - -function getIndexBy(a, p) { - let l = a.length; - let i = 0; - let r; - while (r === undefined && i < l) { - let v = a[i]; - if (p(v)) { - r = i; - } - i = i + 1 | 0; - }; - return r; -} - -function keep(a, f) { - let l = a.length; - let r = new Array(l); - let j = 0; - for (let i = 0; i < l; ++i) { - let v = a[i]; - if (f(v)) { - r[j] = v; - j = j + 1 | 0; - } - } - r.length = j; - return r; -} - -function keepWithIndex(a, f) { - let l = a.length; - let r = new Array(l); - let j = 0; - for (let i = 0; i < l; ++i) { - let v = a[i]; - if (f(v, i)) { - r[j] = v; - j = j + 1 | 0; - } - } - r.length = j; - return r; -} - -function keepMap(a, f) { - let l = a.length; - let r = new Array(l); - let j = 0; - for (let i = 0; i < l; ++i) { - let v = a[i]; - let v$1 = f(v); - if (v$1 !== undefined) { - r[j] = Primitive_option.valFromOption(v$1); - j = j + 1 | 0; - } - } - r.length = j; - return r; -} - -function forEachWithIndex(a, f) { - for (let i = 0, i_finish = a.length; i < i_finish; ++i) { - f(i, a[i]); - } -} - -function mapWithIndex(a, f) { - let l = a.length; - let r = new Array(l); - for (let i = 0; i < l; ++i) { - r[i] = f(i, a[i]); - } - return r; -} - -function reduce(a, x, f) { - let r = x; - for (let i = 0, i_finish = a.length; i < i_finish; ++i) { - r = f(r, a[i]); - } - return r; -} - -function reduceReverse(a, x, f) { - let r = x; - for (let i = a.length - 1 | 0; i >= 0; --i) { - r = f(r, a[i]); - } - return r; -} - -function reduceReverse2(a, b, x, f) { - let r = x; - let len = Primitive_int.min(a.length, b.length); - for (let i = len - 1 | 0; i >= 0; --i) { - r = f(r, a[i], b[i]); - } - return r; -} - -function reduceWithIndex(a, x, f) { - let r = x; - for (let i = 0, i_finish = a.length; i < i_finish; ++i) { - r = f(r, a[i], i); - } - return r; -} - -function every(arr, b) { - let len = arr.length; - let _i = 0; - while (true) { - let i = _i; - if (i === len) { - return true; - } - if (!b(arr[i])) { - return false; - } - _i = i + 1 | 0; - continue; - }; -} - -function some(arr, b) { - let len = arr.length; - let _i = 0; - while (true) { - let i = _i; - if (i === len) { - return false; - } - if (b(arr[i])) { - return true; - } - _i = i + 1 | 0; - continue; - }; -} - -function everyAux2(arr1, arr2, _i, b, len) { - while (true) { - let i = _i; - if (i === len) { - return true; - } - if (!b(arr1[i], arr2[i])) { - return false; - } - _i = i + 1 | 0; - continue; - }; -} - -function every2(a, b, p) { - return everyAux2(a, b, 0, p, Primitive_int.min(a.length, b.length)); -} - -function some2(a, b, p) { - let _i = 0; - let len = Primitive_int.min(a.length, b.length); - while (true) { - let i = _i; - if (i === len) { - return false; - } - if (p(a[i], b[i])) { - return true; - } - _i = i + 1 | 0; - continue; - }; -} - -function eq(a, b, p) { - let lena = a.length; - let lenb = b.length; - if (lena === lenb) { - return everyAux2(a, b, 0, p, lena); - } else { - return false; - } -} - -function cmp(a, b, p) { - let lena = a.length; - let lenb = b.length; - if (lena > lenb) { - return 1; - } else if (lena < lenb) { - return -1; - } else { - let _i = 0; - while (true) { - let i = _i; - if (i === lena) { - return 0; - } - let c = p(a[i], b[i]); - if (c !== 0) { - return c; - } - _i = i + 1 | 0; - continue; - }; - } -} - -function partition(a, f) { - let l = a.length; - let i = 0; - let j = 0; - let a1 = new Array(l); - let a2 = new Array(l); - for (let ii = 0; ii < l; ++ii) { - let v = a[ii]; - if (f(v)) { - a1[i] = v; - i = i + 1 | 0; - } else { - a2[j] = v; - j = j + 1 | 0; - } - } - a1.length = i; - a2.length = j; - return [ - a1, - a2 - ]; -} - -function unzip(a) { - let l = a.length; - let a1 = new Array(l); - let a2 = new Array(l); - for (let i = 0; i < l; ++i) { - let match = a[i]; - a1[i] = match[0]; - a2[i] = match[1]; - } - return [ - a1, - a2 - ]; -} - -function joinWith(a, sep, toString) { - let l = a.length; - if (l === 0) { - return ""; - } - let lastIndex = l - 1 | 0; - let _i = 0; - let _res = ""; - while (true) { - let res = _res; - let i = _i; - if (i === lastIndex) { - return res + toString(a[i]); - } - _res = res + (toString(a[i]) + sep); - _i = i + 1 | 0; - continue; - }; -} - -function init(n, f) { - let v = new Array(n); - for (let i = 0; i < n; ++i) { - v[i] = f(i); - } - return v; -} - -let getExn = getOrThrow; - -let setExn = setOrThrow; - -let makeByU = makeBy; - -let makeByAndShuffleU = makeByAndShuffle; - -let zipByU = zipBy; - -let forEachU = forEach; - -let mapU = map; - -let flatMapU = flatMap; - -let getByU = getBy; - -let getIndexByU = getIndexBy; - -let keepU = keep; - -let keepWithIndexU = keepWithIndex; - -let keepMapU = keepMap; - -let forEachWithIndexU = forEachWithIndex; - -let mapWithIndexU = mapWithIndex; - -let partitionU = partition; - -let reduceU = reduce; - -let reduceReverseU = reduceReverse; - -let reduceReverse2U = reduceReverse2; - -let reduceWithIndexU = reduceWithIndex; - -let joinWithU = joinWith; - -let someU = some; - -let everyU = every; - -let every2U = every2; - -let some2U = some2; - -let cmpU = cmp; - -let eqU = eq; - -let initU = init; - -export { - get, - getExn, - getOrThrow, - set, - setExn, - setOrThrow, - shuffleInPlace, - shuffle, - reverseInPlace, - reverse, - make, - range, - rangeBy, - makeByU, - makeBy, - makeByAndShuffleU, - makeByAndShuffle, - zip, - zipByU, - zipBy, - unzip, - concat, - concatMany, - slice, - sliceToEnd, - fill, - blit, - blitUnsafe, - forEachU, - forEach, - mapU, - map, - flatMapU, - flatMap, - getByU, - getBy, - getIndexByU, - getIndexBy, - keepU, - keep, - keepWithIndexU, - keepWithIndex, - keepMapU, - keepMap, - forEachWithIndexU, - forEachWithIndex, - mapWithIndexU, - mapWithIndex, - partitionU, - partition, - reduceU, - reduce, - reduceReverseU, - reduceReverse, - reduceReverse2U, - reduceReverse2, - reduceWithIndexU, - reduceWithIndex, - joinWithU, - joinWith, - someU, - some, - everyU, - every, - every2U, - every2, - some2U, - some2, - cmpU, - cmp, - eqU, - eq, - initU, - init, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Float.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Float.js deleted file mode 100644 index 80c12e9..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Float.js +++ /dev/null @@ -1,16 +0,0 @@ - - - -function fromString(i) { - let i$1 = parseFloat(i); - if (isNaN(i$1)) { - return; - } else { - return i$1; - } -} - -export { - fromString, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMap.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMap.js deleted file mode 100644 index cb90713..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMap.js +++ /dev/null @@ -1,276 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalBuckets from "./Belt_internalBuckets.js"; -import * as Belt_internalBucketsType from "./Belt_internalBucketsType.js"; - -function size(h) { - return h.size; -} - -function copyBucketReHash(hash, h_buckets, ndata_tail, _old_bucket) { - while (true) { - let old_bucket = _old_bucket; - if (old_bucket === undefined) { - return; - } - let nidx = hash(old_bucket.key) & (h_buckets.length - 1 | 0); - let tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue; - }; -} - -function replaceInBucket(eq, key, info, _cell) { - while (true) { - let cell = _cell; - if (eq(cell.key, key)) { - cell.value = info; - return false; - } - let cell$1 = cell.next; - if (cell$1 === undefined) { - return true; - } - _cell = cell$1; - continue; - }; -} - -function set0(h, key, value, eq, hash) { - let h_buckets = h.buckets; - let buckets_len = h_buckets.length; - let i = hash(key) & (buckets_len - 1 | 0); - let l = h_buckets[i]; - if (l !== undefined) { - if (replaceInBucket(eq, key, value, l)) { - h_buckets[i] = { - key: key, - value: value, - next: l - }; - h.size = h.size + 1 | 0; - } - } else { - h_buckets[i] = { - key: key, - value: value, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - let odata = h.buckets; - let osize = odata.length; - let nsize = (osize << 1); - if (nsize < osize) { - return; - } - let h_buckets$1 = new Array(nsize); - let ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for (let i$1 = 0; i$1 < osize; ++i$1) { - copyBucketReHash(hash, h_buckets$1, ndata_tail, odata[i$1]); - } - for (let i$2 = 0; i$2 < nsize; ++i$2) { - let tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - } - return; - } -} - -function set(h, key, value) { - set0(h, key, value, h.eq, h.hash); -} - -function remove(h, key) { - let h_buckets = h.buckets; - let i = h.hash(key) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[i]; - if (bucket === undefined) { - return; - } - let eq = h.eq; - if (eq(bucket.key, key)) { - h_buckets[i] = bucket.next; - h.size = h.size - 1 | 0; - return; - } else { - let _prec = bucket; - let _bucket = bucket.next; - while (true) { - let bucket$1 = _bucket; - let prec = _prec; - if (bucket$1 === undefined) { - return; - } - let cell_next = bucket$1.next; - if (eq(bucket$1.key, key)) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return; - } - _bucket = cell_next; - _prec = bucket$1; - continue; - }; - } -} - -function get(h, key) { - let h_buckets = h.buckets; - let nid = h.hash(key) & (h_buckets.length - 1 | 0); - let cell1 = h_buckets[nid]; - if (cell1 === undefined) { - return; - } - let eq = h.eq; - if (eq(key, cell1.key)) { - return Primitive_option.some(cell1.value); - } - let cell2 = cell1.next; - if (cell2 === undefined) { - return; - } - if (eq(key, cell2.key)) { - return Primitive_option.some(cell2.value); - } - let cell3 = cell2.next; - if (cell3 !== undefined) { - if (eq(key, cell3.key)) { - return Primitive_option.some(cell3.value); - } else { - let _buckets = cell3.next; - while (true) { - let buckets = _buckets; - if (buckets === undefined) { - return; - } - if (eq(key, buckets.key)) { - return Primitive_option.some(buckets.value); - } - _buckets = buckets.next; - continue; - }; - } - } -} - -function has(h, key) { - let h_buckets = h.buckets; - let nid = h.hash(key) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[nid]; - if (bucket !== undefined) { - let _cell = bucket; - let eq = h.eq; - while (true) { - let cell = _cell; - if (eq(cell.key, key)) { - return true; - } - let nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue; - }; - } else { - return false; - } -} - -function make(hintSize, id) { - return Belt_internalBucketsType.make(id.hash, id.eq, hintSize); -} - -function fromArray(arr, id) { - let hash = id.hash; - let eq = id.eq; - let len = arr.length; - let v = Belt_internalBucketsType.make(hash, eq, len); - for (let i = 0; i < len; ++i) { - let match = arr[i]; - set0(v, match[0], match[1], eq, hash); - } - return v; -} - -function mergeMany(h, arr) { - let hash = h.hash; - let eq = h.eq; - let len = arr.length; - for (let i = 0; i < len; ++i) { - let match = arr[i]; - set0(h, match[0], match[1], eq, hash); - } -} - -let Int; - -let $$String; - -let clear = Belt_internalBucketsType.clear; - -let isEmpty = Belt_internalBucketsType.isEmpty; - -let copy = Belt_internalBuckets.copy; - -let forEachU = Belt_internalBuckets.forEach; - -let forEach = Belt_internalBuckets.forEach; - -let reduceU = Belt_internalBuckets.reduce; - -let reduce = Belt_internalBuckets.reduce; - -let keepMapInPlaceU = Belt_internalBuckets.keepMapInPlace; - -let keepMapInPlace = Belt_internalBuckets.keepMapInPlace; - -let toArray = Belt_internalBuckets.toArray; - -let keysToArray = Belt_internalBuckets.keysToArray; - -let valuesToArray = Belt_internalBuckets.valuesToArray; - -let getBucketHistogram = Belt_internalBuckets.getBucketHistogram; - -let logStats = Belt_internalBuckets.logStats; - -export { - Int, - $$String, - make, - clear, - isEmpty, - set, - copy, - get, - has, - remove, - forEachU, - forEach, - reduceU, - reduce, - keepMapInPlaceU, - keepMapInPlace, - size, - toArray, - keysToArray, - valuesToArray, - fromArray, - mergeMany, - getBucketHistogram, - logStats, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMapInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMapInt.js deleted file mode 100644 index 9b0951c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMapInt.js +++ /dev/null @@ -1,259 +0,0 @@ - - -import * as Primitive_hash from "./Primitive_hash.js"; -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalBuckets from "./Belt_internalBuckets.js"; -import * as Belt_internalBucketsType from "./Belt_internalBucketsType.js"; - -function copyBucketReHash(h_buckets, ndata_tail, _old_bucket) { - while (true) { - let old_bucket = _old_bucket; - if (old_bucket === undefined) { - return; - } - let nidx = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, old_bucket.key)) & (h_buckets.length - 1 | 0); - let tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue; - }; -} - -function replaceInBucket(key, info, _cell) { - while (true) { - let cell = _cell; - if (cell.key === key) { - cell.value = info; - return false; - } - let cell$1 = cell.next; - if (cell$1 === undefined) { - return true; - } - _cell = cell$1; - continue; - }; -} - -function set(h, key, value) { - let h_buckets = h.buckets; - let buckets_len = h_buckets.length; - let i = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, key)) & (buckets_len - 1 | 0); - let l = h_buckets[i]; - if (l !== undefined) { - if (replaceInBucket(key, value, l)) { - h_buckets[i] = { - key: key, - value: value, - next: l - }; - h.size = h.size + 1 | 0; - } - } else { - h_buckets[i] = { - key: key, - value: value, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - let odata = h.buckets; - let osize = odata.length; - let nsize = (osize << 1); - if (nsize < osize) { - return; - } - let h_buckets$1 = new Array(nsize); - let ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for (let i$1 = 0; i$1 < osize; ++i$1) { - copyBucketReHash(h_buckets$1, ndata_tail, odata[i$1]); - } - for (let i$2 = 0; i$2 < nsize; ++i$2) { - let tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - } - return; - } -} - -function remove(h, key) { - let h_buckets = h.buckets; - let i = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[i]; - if (bucket !== undefined) { - if (bucket.key === key) { - h_buckets[i] = bucket.next; - h.size = h.size - 1 | 0; - return; - } else { - let _prec = bucket; - let _buckets = bucket.next; - while (true) { - let buckets = _buckets; - let prec = _prec; - if (buckets === undefined) { - return; - } - let cell_next = buckets.next; - if (buckets.key === key) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return; - } - _buckets = cell_next; - _prec = buckets; - continue; - }; - } - } -} - -function get(h, key) { - let h_buckets = h.buckets; - let nid = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - let cell1 = h_buckets[nid]; - if (cell1 === undefined) { - return; - } - if (key === cell1.key) { - return Primitive_option.some(cell1.value); - } - let cell2 = cell1.next; - if (cell2 === undefined) { - return; - } - if (key === cell2.key) { - return Primitive_option.some(cell2.value); - } - let cell3 = cell2.next; - if (cell3 !== undefined) { - if (key === cell3.key) { - return Primitive_option.some(cell3.value); - } else { - let _buckets = cell3.next; - while (true) { - let buckets = _buckets; - if (buckets === undefined) { - return; - } - if (key === buckets.key) { - return Primitive_option.some(buckets.value); - } - _buckets = buckets.next; - continue; - }; - } - } -} - -function has(h, key) { - let h_buckets = h.buckets; - let nid = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[nid]; - if (bucket !== undefined) { - let _cell = bucket; - while (true) { - let cell = _cell; - if (cell.key === key) { - return true; - } - let nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue; - }; - } else { - return false; - } -} - -function make(hintSize) { - return Belt_internalBucketsType.make(undefined, undefined, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr) { - let len = arr.length; - let v = Belt_internalBucketsType.make(undefined, undefined, len); - for (let i = 0; i < len; ++i) { - let match = arr[i]; - set(v, match[0], match[1]); - } - return v; -} - -function mergeMany(h, arr) { - let len = arr.length; - for (let i = 0; i < len; ++i) { - let match = arr[i]; - set(h, match[0], match[1]); - } -} - -let clear = Belt_internalBucketsType.clear; - -let isEmpty = Belt_internalBucketsType.isEmpty; - -let copy = Belt_internalBuckets.copy; - -let forEachU = Belt_internalBuckets.forEach; - -let forEach = Belt_internalBuckets.forEach; - -let reduceU = Belt_internalBuckets.reduce; - -let reduce = Belt_internalBuckets.reduce; - -let keepMapInPlaceU = Belt_internalBuckets.keepMapInPlace; - -let keepMapInPlace = Belt_internalBuckets.keepMapInPlace; - -let toArray = Belt_internalBuckets.toArray; - -let keysToArray = Belt_internalBuckets.keysToArray; - -let valuesToArray = Belt_internalBuckets.valuesToArray; - -let getBucketHistogram = Belt_internalBuckets.getBucketHistogram; - -let logStats = Belt_internalBuckets.logStats; - -export { - make, - clear, - isEmpty, - set, - copy, - get, - has, - remove, - forEachU, - forEach, - reduceU, - reduce, - keepMapInPlaceU, - keepMapInPlace, - size, - toArray, - keysToArray, - valuesToArray, - fromArray, - mergeMany, - getBucketHistogram, - logStats, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMapString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMapString.js deleted file mode 100644 index 0446205..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashMapString.js +++ /dev/null @@ -1,259 +0,0 @@ - - -import * as Primitive_hash from "./Primitive_hash.js"; -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalBuckets from "./Belt_internalBuckets.js"; -import * as Belt_internalBucketsType from "./Belt_internalBucketsType.js"; - -function copyBucketReHash(h_buckets, ndata_tail, _old_bucket) { - while (true) { - let old_bucket = _old_bucket; - if (old_bucket === undefined) { - return; - } - let nidx = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, old_bucket.key)) & (h_buckets.length - 1 | 0); - let tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue; - }; -} - -function replaceInBucket(key, info, _cell) { - while (true) { - let cell = _cell; - if (cell.key === key) { - cell.value = info; - return false; - } - let cell$1 = cell.next; - if (cell$1 === undefined) { - return true; - } - _cell = cell$1; - continue; - }; -} - -function set(h, key, value) { - let h_buckets = h.buckets; - let buckets_len = h_buckets.length; - let i = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, key)) & (buckets_len - 1 | 0); - let l = h_buckets[i]; - if (l !== undefined) { - if (replaceInBucket(key, value, l)) { - h_buckets[i] = { - key: key, - value: value, - next: l - }; - h.size = h.size + 1 | 0; - } - } else { - h_buckets[i] = { - key: key, - value: value, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - let odata = h.buckets; - let osize = odata.length; - let nsize = (osize << 1); - if (nsize < osize) { - return; - } - let h_buckets$1 = new Array(nsize); - let ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for (let i$1 = 0; i$1 < osize; ++i$1) { - copyBucketReHash(h_buckets$1, ndata_tail, odata[i$1]); - } - for (let i$2 = 0; i$2 < nsize; ++i$2) { - let tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - } - return; - } -} - -function remove(h, key) { - let h_buckets = h.buckets; - let i = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[i]; - if (bucket !== undefined) { - if (bucket.key === key) { - h_buckets[i] = bucket.next; - h.size = h.size - 1 | 0; - return; - } else { - let _prec = bucket; - let _buckets = bucket.next; - while (true) { - let buckets = _buckets; - let prec = _prec; - if (buckets === undefined) { - return; - } - let cell_next = buckets.next; - if (buckets.key === key) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return; - } - _buckets = cell_next; - _prec = buckets; - continue; - }; - } - } -} - -function get(h, key) { - let h_buckets = h.buckets; - let nid = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - let cell1 = h_buckets[nid]; - if (cell1 === undefined) { - return; - } - if (key === cell1.key) { - return Primitive_option.some(cell1.value); - } - let cell2 = cell1.next; - if (cell2 === undefined) { - return; - } - if (key === cell2.key) { - return Primitive_option.some(cell2.value); - } - let cell3 = cell2.next; - if (cell3 !== undefined) { - if (key === cell3.key) { - return Primitive_option.some(cell3.value); - } else { - let _buckets = cell3.next; - while (true) { - let buckets = _buckets; - if (buckets === undefined) { - return; - } - if (key === buckets.key) { - return Primitive_option.some(buckets.value); - } - _buckets = buckets.next; - continue; - }; - } - } -} - -function has(h, key) { - let h_buckets = h.buckets; - let nid = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[nid]; - if (bucket !== undefined) { - let _cell = bucket; - while (true) { - let cell = _cell; - if (cell.key === key) { - return true; - } - let nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue; - }; - } else { - return false; - } -} - -function make(hintSize) { - return Belt_internalBucketsType.make(undefined, undefined, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr) { - let len = arr.length; - let v = Belt_internalBucketsType.make(undefined, undefined, len); - for (let i = 0; i < len; ++i) { - let match = arr[i]; - set(v, match[0], match[1]); - } - return v; -} - -function mergeMany(h, arr) { - let len = arr.length; - for (let i = 0; i < len; ++i) { - let match = arr[i]; - set(h, match[0], match[1]); - } -} - -let clear = Belt_internalBucketsType.clear; - -let isEmpty = Belt_internalBucketsType.isEmpty; - -let copy = Belt_internalBuckets.copy; - -let forEachU = Belt_internalBuckets.forEach; - -let forEach = Belt_internalBuckets.forEach; - -let reduceU = Belt_internalBuckets.reduce; - -let reduce = Belt_internalBuckets.reduce; - -let keepMapInPlaceU = Belt_internalBuckets.keepMapInPlace; - -let keepMapInPlace = Belt_internalBuckets.keepMapInPlace; - -let toArray = Belt_internalBuckets.toArray; - -let keysToArray = Belt_internalBuckets.keysToArray; - -let valuesToArray = Belt_internalBuckets.valuesToArray; - -let getBucketHistogram = Belt_internalBuckets.getBucketHistogram; - -let logStats = Belt_internalBuckets.logStats; - -export { - make, - clear, - isEmpty, - set, - copy, - get, - has, - remove, - forEachU, - forEach, - reduceU, - reduce, - keepMapInPlaceU, - keepMapInPlace, - size, - toArray, - keysToArray, - valuesToArray, - fromArray, - mergeMany, - getBucketHistogram, - logStats, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSet.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSet.js deleted file mode 100644 index a4e8570..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSet.js +++ /dev/null @@ -1,220 +0,0 @@ - - -import * as Belt_internalSetBuckets from "./Belt_internalSetBuckets.js"; -import * as Belt_internalBucketsType from "./Belt_internalBucketsType.js"; - -function copyBucket(hash, h_buckets, ndata_tail, _old_bucket) { - while (true) { - let old_bucket = _old_bucket; - if (old_bucket === undefined) { - return; - } - let nidx = hash(old_bucket.key) & (h_buckets.length - 1 | 0); - let tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue; - }; -} - -function remove(h, key) { - let eq = h.eq; - let h_buckets = h.buckets; - let i = h.hash(key) & (h_buckets.length - 1 | 0); - let l = h_buckets[i]; - if (l === undefined) { - return; - } - let next_cell = l.next; - if (eq(l.key, key)) { - h.size = h.size - 1 | 0; - h_buckets[i] = next_cell; - return; - } else if (next_cell !== undefined) { - let _prec = l; - let _cell = next_cell; - while (true) { - let cell = _cell; - let prec = _prec; - let cell_next = cell.next; - if (eq(cell.key, key)) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return; - } - if (cell_next === undefined) { - return; - } - _cell = cell_next; - _prec = cell; - continue; - }; - } else { - return; - } -} - -function addBucket(h, key, _cell, eq) { - while (true) { - let cell = _cell; - if (eq(cell.key, key)) { - return; - } - let n = cell.next; - if (n !== undefined) { - _cell = n; - continue; - } - h.size = h.size + 1 | 0; - cell.next = { - key: key, - next: undefined - }; - return; - }; -} - -function add0(h, key, hash, eq) { - let h_buckets = h.buckets; - let buckets_len = h_buckets.length; - let i = hash(key) & (buckets_len - 1 | 0); - let l = h_buckets[i]; - if (l !== undefined) { - addBucket(h, key, l, eq); - } else { - h.size = h.size + 1 | 0; - h_buckets[i] = { - key: key, - next: undefined - }; - } - if (h.size > (buckets_len << 1)) { - let odata = h.buckets; - let osize = odata.length; - let nsize = (osize << 1); - if (nsize < osize) { - return; - } - let h_buckets$1 = new Array(nsize); - let ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for (let i$1 = 0; i$1 < osize; ++i$1) { - copyBucket(hash, h_buckets$1, ndata_tail, odata[i$1]); - } - for (let i$2 = 0; i$2 < nsize; ++i$2) { - let tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - } - return; - } -} - -function add(h, key) { - add0(h, key, h.hash, h.eq); -} - -function has(h, key) { - let eq = h.eq; - let h_buckets = h.buckets; - let nid = h.hash(key) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[nid]; - if (bucket !== undefined) { - let _cell = bucket; - while (true) { - let cell = _cell; - if (eq(cell.key, key)) { - return true; - } - let nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue; - }; - } else { - return false; - } -} - -function make(hintSize, id) { - return Belt_internalBucketsType.make(id.hash, id.eq, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr, id) { - let eq = id.eq; - let hash = id.hash; - let len = arr.length; - let v = Belt_internalBucketsType.make(hash, eq, len); - for (let i = 0; i < len; ++i) { - add0(v, arr[i], hash, eq); - } - return v; -} - -function mergeMany(h, arr) { - let eq = h.eq; - let hash = h.hash; - let len = arr.length; - for (let i = 0; i < len; ++i) { - add0(h, arr[i], hash, eq); - } -} - -let Int; - -let $$String; - -let clear = Belt_internalBucketsType.clear; - -let isEmpty = Belt_internalBucketsType.isEmpty; - -let copy = Belt_internalSetBuckets.copy; - -let forEachU = Belt_internalSetBuckets.forEach; - -let forEach = Belt_internalSetBuckets.forEach; - -let reduceU = Belt_internalSetBuckets.reduce; - -let reduce = Belt_internalSetBuckets.reduce; - -let logStats = Belt_internalSetBuckets.logStats; - -let toArray = Belt_internalSetBuckets.toArray; - -let getBucketHistogram = Belt_internalSetBuckets.getBucketHistogram; - -export { - Int, - $$String, - make, - clear, - isEmpty, - add, - copy, - has, - remove, - forEachU, - forEach, - reduceU, - reduce, - size, - logStats, - toArray, - fromArray, - mergeMany, - getBucketHistogram, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSetInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSetInt.js deleted file mode 100644 index 6ef41f7..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSetInt.js +++ /dev/null @@ -1,205 +0,0 @@ - - -import * as Primitive_hash from "./Primitive_hash.js"; -import * as Belt_internalSetBuckets from "./Belt_internalSetBuckets.js"; -import * as Belt_internalBucketsType from "./Belt_internalBucketsType.js"; - -function copyBucket(h_buckets, ndata_tail, _old_bucket) { - while (true) { - let old_bucket = _old_bucket; - if (old_bucket === undefined) { - return; - } - let nidx = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, old_bucket.key)) & (h_buckets.length - 1 | 0); - let tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue; - }; -} - -function remove(h, key) { - let h_buckets = h.buckets; - let i = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - let l = h_buckets[i]; - if (l === undefined) { - return; - } - let next_cell = l.next; - if (l.key === key) { - h.size = h.size - 1 | 0; - h_buckets[i] = next_cell; - return; - } else if (next_cell !== undefined) { - let _prec = l; - let _cell = next_cell; - while (true) { - let cell = _cell; - let prec = _prec; - let cell_next = cell.next; - if (cell.key === key) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return; - } - if (cell_next === undefined) { - return; - } - _cell = cell_next; - _prec = cell; - continue; - }; - } else { - return; - } -} - -function addBucket(h, key, _cell) { - while (true) { - let cell = _cell; - if (cell.key === key) { - return; - } - let n = cell.next; - if (n !== undefined) { - _cell = n; - continue; - } - h.size = h.size + 1 | 0; - cell.next = { - key: key, - next: undefined - }; - return; - }; -} - -function add(h, key) { - let h_buckets = h.buckets; - let buckets_len = h_buckets.length; - let i = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, key)) & (buckets_len - 1 | 0); - let l = h_buckets[i]; - if (l !== undefined) { - addBucket(h, key, l); - } else { - h_buckets[i] = { - key: key, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - let odata = h.buckets; - let osize = odata.length; - let nsize = (osize << 1); - if (nsize < osize) { - return; - } - let h_buckets$1 = new Array(nsize); - let ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for (let i$1 = 0; i$1 < osize; ++i$1) { - copyBucket(h_buckets$1, ndata_tail, odata[i$1]); - } - for (let i$2 = 0; i$2 < nsize; ++i$2) { - let tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - } - return; - } -} - -function has(h, key) { - let h_buckets = h.buckets; - let nid = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[nid]; - if (bucket !== undefined) { - let _cell = bucket; - while (true) { - let cell = _cell; - if (cell.key === key) { - return true; - } - let nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue; - }; - } else { - return false; - } -} - -function make(hintSize) { - return Belt_internalBucketsType.make(undefined, undefined, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr) { - let len = arr.length; - let v = Belt_internalBucketsType.make(undefined, undefined, len); - for (let i = 0; i < len; ++i) { - add(v, arr[i]); - } - return v; -} - -function mergeMany(h, arr) { - let len = arr.length; - for (let i = 0; i < len; ++i) { - add(h, arr[i]); - } -} - -let clear = Belt_internalBucketsType.clear; - -let isEmpty = Belt_internalBucketsType.isEmpty; - -let copy = Belt_internalSetBuckets.copy; - -let forEachU = Belt_internalSetBuckets.forEach; - -let forEach = Belt_internalSetBuckets.forEach; - -let reduceU = Belt_internalSetBuckets.reduce; - -let reduce = Belt_internalSetBuckets.reduce; - -let logStats = Belt_internalSetBuckets.logStats; - -let toArray = Belt_internalSetBuckets.toArray; - -let getBucketHistogram = Belt_internalSetBuckets.getBucketHistogram; - -export { - make, - clear, - isEmpty, - add, - copy, - has, - remove, - forEachU, - forEach, - reduceU, - reduce, - size, - logStats, - toArray, - fromArray, - mergeMany, - getBucketHistogram, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSetString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSetString.js deleted file mode 100644 index 3128a7a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_HashSetString.js +++ /dev/null @@ -1,205 +0,0 @@ - - -import * as Primitive_hash from "./Primitive_hash.js"; -import * as Belt_internalSetBuckets from "./Belt_internalSetBuckets.js"; -import * as Belt_internalBucketsType from "./Belt_internalBucketsType.js"; - -function copyBucket(h_buckets, ndata_tail, _old_bucket) { - while (true) { - let old_bucket = _old_bucket; - if (old_bucket === undefined) { - return; - } - let nidx = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, old_bucket.key)) & (h_buckets.length - 1 | 0); - let tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue; - }; -} - -function remove(h, key) { - let h_buckets = h.buckets; - let i = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - let l = h_buckets[i]; - if (l === undefined) { - return; - } - let next_cell = l.next; - if (l.key === key) { - h.size = h.size - 1 | 0; - h_buckets[i] = next_cell; - return; - } else if (next_cell !== undefined) { - let _prec = l; - let _cell = next_cell; - while (true) { - let cell = _cell; - let prec = _prec; - let cell_next = cell.next; - if (cell.key === key) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return; - } - if (cell_next === undefined) { - return; - } - _cell = cell_next; - _prec = cell; - continue; - }; - } else { - return; - } -} - -function addBucket(h, key, _cell) { - while (true) { - let cell = _cell; - if (cell.key === key) { - return; - } - let n = cell.next; - if (n !== undefined) { - _cell = n; - continue; - } - h.size = h.size + 1 | 0; - cell.next = { - key: key, - next: undefined - }; - return; - }; -} - -function add(h, key) { - let h_buckets = h.buckets; - let buckets_len = h_buckets.length; - let i = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, key)) & (buckets_len - 1 | 0); - let l = h_buckets[i]; - if (l !== undefined) { - addBucket(h, key, l); - } else { - h_buckets[i] = { - key: key, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - let odata = h.buckets; - let osize = odata.length; - let nsize = (osize << 1); - if (nsize < osize) { - return; - } - let h_buckets$1 = new Array(nsize); - let ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for (let i$1 = 0; i$1 < osize; ++i$1) { - copyBucket(h_buckets$1, ndata_tail, odata[i$1]); - } - for (let i$2 = 0; i$2 < nsize; ++i$2) { - let tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - } - return; - } -} - -function has(h, key) { - let h_buckets = h.buckets; - let nid = Primitive_hash.hash_final_mix(Primitive_hash.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - let bucket = h_buckets[nid]; - if (bucket !== undefined) { - let _cell = bucket; - while (true) { - let cell = _cell; - if (cell.key === key) { - return true; - } - let nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue; - }; - } else { - return false; - } -} - -function make(hintSize) { - return Belt_internalBucketsType.make(undefined, undefined, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr) { - let len = arr.length; - let v = Belt_internalBucketsType.make(undefined, undefined, len); - for (let i = 0; i < len; ++i) { - add(v, arr[i]); - } - return v; -} - -function mergeMany(h, arr) { - let len = arr.length; - for (let i = 0; i < len; ++i) { - add(h, arr[i]); - } -} - -let clear = Belt_internalBucketsType.clear; - -let isEmpty = Belt_internalBucketsType.isEmpty; - -let copy = Belt_internalSetBuckets.copy; - -let forEachU = Belt_internalSetBuckets.forEach; - -let forEach = Belt_internalSetBuckets.forEach; - -let reduceU = Belt_internalSetBuckets.reduce; - -let reduce = Belt_internalSetBuckets.reduce; - -let logStats = Belt_internalSetBuckets.logStats; - -let toArray = Belt_internalSetBuckets.toArray; - -let getBucketHistogram = Belt_internalSetBuckets.getBucketHistogram; - -export { - make, - clear, - isEmpty, - add, - copy, - has, - remove, - forEachU, - forEach, - reduceU, - reduce, - size, - logStats, - toArray, - fromArray, - mergeMany, - getBucketHistogram, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Id.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Id.js deleted file mode 100644 index 2b6ffd1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Id.js +++ /dev/null @@ -1,43 +0,0 @@ - - - -function MakeComparable(M) { - return M; -} - -function comparable(cmp) { - return { - cmp: cmp - }; -} - -function MakeHashable(M) { - return M; -} - -function hashable(hash, eq) { - return { - hash: hash, - eq: eq - }; -} - -let MakeComparableU = MakeComparable; - -let comparableU = comparable; - -let MakeHashableU = MakeHashable; - -let hashableU = hashable; - -export { - MakeComparableU, - MakeComparable, - comparableU, - comparable, - MakeHashableU, - MakeHashable, - hashableU, - hashable, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Int.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Int.js deleted file mode 100644 index 500142b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Int.js +++ /dev/null @@ -1,16 +0,0 @@ - - - -function fromString(i) { - let i$1 = parseInt(i, 10); - if (isNaN(i$1)) { - return; - } else { - return i$1; - } -} - -export { - fromString, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_List.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_List.js deleted file mode 100644 index b5adf69..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_List.js +++ /dev/null @@ -1,1450 +0,0 @@ - - -import * as Belt_Array from "./Belt_Array.js"; -import * as Belt_SortArray from "./Belt_SortArray.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function head(x) { - if (x !== 0) { - return Primitive_option.some(x.hd); - } -} - -function headOrThrow(x) { - if (x !== 0) { - return x.hd; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function tail(x) { - if (x !== 0) { - return x.tl; - } -} - -function tailOrThrow(x) { - if (x !== 0) { - return x.tl; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function add(xs, x) { - return { - hd: x, - tl: xs - }; -} - -function get(x, n) { - if (n < 0) { - return; - } else { - let _x = x; - let _n = n; - while (true) { - let n$1 = _n; - let x$1 = _x; - if (x$1 === 0) { - return; - } - if (n$1 === 0) { - return Primitive_option.some(x$1.hd); - } - _n = n$1 - 1 | 0; - _x = x$1.tl; - continue; - }; - } -} - -function getOrThrow(x, n) { - if (n < 0) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - let _x = x; - let _n = n; - while (true) { - let n$1 = _n; - let x$1 = _x; - if (x$1 !== 0) { - if (n$1 === 0) { - return x$1.hd; - } - _n = n$1 - 1 | 0; - _x = x$1.tl; - continue; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function partitionAux(p, _cell, _precX, _precY) { - while (true) { - let precY = _precY; - let precX = _precX; - let cell = _cell; - if (cell === 0) { - return; - } - let t = cell.tl; - let h = cell.hd; - let next = { - hd: h, - tl: /* [] */0 - }; - if (p(h)) { - precX.tl = next; - _precX = next; - _cell = t; - continue; - } - precY.tl = next; - _precY = next; - _cell = t; - continue; - }; -} - -function splitAux(_cell, _precX, _precY) { - while (true) { - let precY = _precY; - let precX = _precX; - let cell = _cell; - if (cell === 0) { - return; - } - let match = cell.hd; - let nextA = { - hd: match[0], - tl: /* [] */0 - }; - let nextB = { - hd: match[1], - tl: /* [] */0 - }; - precX.tl = nextA; - precY.tl = nextB; - _precY = nextB; - _precX = nextA; - _cell = cell.tl; - continue; - }; -} - -function copyAuxCont(_cellX, _prec) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return prec; - } - let next = { - hd: cellX.hd, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - continue; - }; -} - -function copyAuxWitFilter(f, _cellX, _prec) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return; - } - let t = cellX.tl; - let h = cellX.hd; - if (f(h)) { - let next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue; - } - _cellX = t; - continue; - }; -} - -function copyAuxWithFilterIndex(f, _cellX, _prec, _i) { - while (true) { - let i = _i; - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return; - } - let t = cellX.tl; - let h = cellX.hd; - if (f(h, i)) { - let next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _i = i + 1 | 0; - _prec = next; - _cellX = t; - continue; - } - _i = i + 1 | 0; - _cellX = t; - continue; - }; -} - -function copyAuxWitFilterMap(f, _cellX, _prec) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return; - } - let t = cellX.tl; - let h = f(cellX.hd); - if (h !== undefined) { - let next = { - hd: Primitive_option.valFromOption(h), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue; - } - _cellX = t; - continue; - }; -} - -function removeAssocAuxWithMap(_cellX, x, _prec, f) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return false; - } - let t = cellX.tl; - let h = cellX.hd; - if (f(h[0], x)) { - prec.tl = t; - return true; - } - let next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue; - }; -} - -function setAssocAuxWithMap(_cellX, x, k, _prec, eq) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return false; - } - let t = cellX.tl; - let h = cellX.hd; - if (eq(h[0], x)) { - prec.tl = { - hd: [ - x, - k - ], - tl: t - }; - return true; - } - let next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue; - }; -} - -function copyAuxWithMap(_cellX, _prec, f) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return; - } - let next = { - hd: f(cellX.hd), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - continue; - }; -} - -function zipAux(_cellX, _cellY, _prec) { - while (true) { - let prec = _prec; - let cellY = _cellY; - let cellX = _cellX; - if (cellX === 0) { - return; - } - if (cellY === 0) { - return; - } - let next = { - hd: [ - cellX.hd, - cellY.hd - ], - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellY = cellY.tl; - _cellX = cellX.tl; - continue; - }; -} - -function copyAuxWithMap2(f, _cellX, _cellY, _prec) { - while (true) { - let prec = _prec; - let cellY = _cellY; - let cellX = _cellX; - if (cellX === 0) { - return; - } - if (cellY === 0) { - return; - } - let next = { - hd: f(cellX.hd, cellY.hd), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellY = cellY.tl; - _cellX = cellX.tl; - continue; - }; -} - -function copyAuxWithMapI(f, _i, _cellX, _prec) { - while (true) { - let prec = _prec; - let cellX = _cellX; - let i = _i; - if (cellX === 0) { - return; - } - let next = { - hd: f(i, cellX.hd), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - _i = i + 1 | 0; - continue; - }; -} - -function takeAux(_n, _cell, _prec) { - while (true) { - let prec = _prec; - let cell = _cell; - let n = _n; - if (n === 0) { - return true; - } - if (cell === 0) { - return false; - } - let cell$1 = { - hd: cell.hd, - tl: /* [] */0 - }; - prec.tl = cell$1; - _prec = cell$1; - _cell = cell.tl; - _n = n - 1 | 0; - continue; - }; -} - -function splitAtAux(_n, _cell, _prec) { - while (true) { - let prec = _prec; - let cell = _cell; - let n = _n; - if (n === 0) { - return cell; - } - if (cell === 0) { - return; - } - let cell$1 = { - hd: cell.hd, - tl: /* [] */0 - }; - prec.tl = cell$1; - _prec = cell$1; - _cell = cell.tl; - _n = n - 1 | 0; - continue; - }; -} - -function take(lst, n) { - if (n < 0) { - return; - } - if (n === 0) { - return /* [] */0; - } - if (lst === 0) { - return; - } - let cell = { - hd: lst.hd, - tl: /* [] */0 - }; - let has = takeAux(n - 1 | 0, lst.tl, cell); - if (has) { - return cell; - } -} - -function drop(lst, n) { - if (n < 0) { - return; - } else { - let _l = lst; - let _n = n; - while (true) { - let n$1 = _n; - let l = _l; - if (n$1 === 0) { - return l; - } - if (l === 0) { - return; - } - _n = n$1 - 1 | 0; - _l = l.tl; - continue; - }; - } -} - -function splitAt(lst, n) { - if (n < 0) { - return; - } - if (n === 0) { - return [ - /* [] */0, - lst - ]; - } - if (lst === 0) { - return; - } - let cell = { - hd: lst.hd, - tl: /* [] */0 - }; - let rest = splitAtAux(n - 1 | 0, lst.tl, cell); - if (rest !== undefined) { - return [ - cell, - rest - ]; - } -} - -function concat(xs, ys) { - if (xs === 0) { - return ys; - } - let cell = { - hd: xs.hd, - tl: /* [] */0 - }; - copyAuxCont(xs.tl, cell).tl = ys; - return cell; -} - -function map(xs, f) { - if (xs === 0) { - return /* [] */0; - } - let cell = { - hd: f(xs.hd), - tl: /* [] */0 - }; - copyAuxWithMap(xs.tl, cell, f); - return cell; -} - -function zipBy(l1, l2, f) { - if (l1 === 0) { - return /* [] */0; - } - if (l2 === 0) { - return /* [] */0; - } - let cell = { - hd: f(l1.hd, l2.hd), - tl: /* [] */0 - }; - copyAuxWithMap2(f, l1.tl, l2.tl, cell); - return cell; -} - -function mapWithIndex(xs, f) { - if (xs === 0) { - return /* [] */0; - } - let cell = { - hd: f(0, xs.hd), - tl: /* [] */0 - }; - copyAuxWithMapI(f, 1, xs.tl, cell); - return cell; -} - -function makeBy(n, f) { - if (n <= 0) { - return /* [] */0; - } - let headX = { - hd: f(0), - tl: /* [] */0 - }; - let cur = headX; - let i = 1; - while (i < n) { - let v = { - hd: f(i), - tl: /* [] */0 - }; - cur.tl = v; - cur = v; - i = i + 1 | 0; - }; - return headX; -} - -function make(n, v) { - if (n <= 0) { - return /* [] */0; - } - let headX = { - hd: v, - tl: /* [] */0 - }; - let cur = headX; - let i = 1; - while (i < n) { - let v$1 = { - hd: v, - tl: /* [] */0 - }; - cur.tl = v$1; - cur = v$1; - i = i + 1 | 0; - }; - return headX; -} - -function length(xs) { - let _x = xs; - let _acc = 0; - while (true) { - let acc = _acc; - let x = _x; - if (x === 0) { - return acc; - } - _acc = acc + 1 | 0; - _x = x.tl; - continue; - }; -} - -function fillAux(arr, _i, _x) { - while (true) { - let x = _x; - let i = _i; - if (x === 0) { - return; - } - arr[i] = x.hd; - _x = x.tl; - _i = i + 1 | 0; - continue; - }; -} - -function fromArray(a) { - let _i = a.length - 1 | 0; - let _res = /* [] */0; - while (true) { - let res = _res; - let i = _i; - if (i < 0) { - return res; - } - _res = { - hd: a[i], - tl: res - }; - _i = i - 1 | 0; - continue; - }; -} - -function toArray(x) { - let len = length(x); - let arr = new Array(len); - fillAux(arr, 0, x); - return arr; -} - -function shuffle(xs) { - let v = toArray(xs); - Belt_Array.shuffleInPlace(v); - return fromArray(v); -} - -function reverseConcat(_l1, _l2) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return l2; - } - _l2 = { - hd: l1.hd, - tl: l2 - }; - _l1 = l1.tl; - continue; - }; -} - -function reverse(l) { - return reverseConcat(l, /* [] */0); -} - -function flattenAux(_prec, _xs) { - while (true) { - let xs = _xs; - let prec = _prec; - if (xs !== 0) { - _xs = xs.tl; - _prec = copyAuxCont(xs.hd, prec); - continue; - } - prec.tl = /* [] */0; - return; - }; -} - -function flatten(_xs) { - while (true) { - let xs = _xs; - if (xs === 0) { - return /* [] */0; - } - let match = xs.hd; - if (match !== 0) { - let cell = { - hd: match.hd, - tl: /* [] */0 - }; - flattenAux(copyAuxCont(match.tl, cell), xs.tl); - return cell; - } - _xs = xs.tl; - continue; - }; -} - -function concatMany(xs) { - let len = xs.length; - if (len === 1) { - return xs[0]; - } - if (len === 0) { - return /* [] */0; - } - let len$1 = xs.length; - let v = xs[len$1 - 1 | 0]; - for (let i = len$1 - 2 | 0; i >= 0; --i) { - v = concat(xs[i], v); - } - return v; -} - -function mapReverse(l, f) { - let _accu = /* [] */0; - let _xs = l; - while (true) { - let xs = _xs; - let accu = _accu; - if (xs === 0) { - return accu; - } - _xs = xs.tl; - _accu = { - hd: f(xs.hd), - tl: accu - }; - continue; - }; -} - -function forEach(_xs, f) { - while (true) { - let xs = _xs; - if (xs === 0) { - return; - } - f(xs.hd); - _xs = xs.tl; - continue; - }; -} - -function forEachWithIndex(l, f) { - let _xs = l; - let _i = 0; - while (true) { - let i = _i; - let xs = _xs; - if (xs === 0) { - return; - } - f(i, xs.hd); - _i = i + 1 | 0; - _xs = xs.tl; - continue; - }; -} - -function reduce(_l, _accu, f) { - while (true) { - let accu = _accu; - let l = _l; - if (l === 0) { - return accu; - } - _accu = f(accu, l.hd); - _l = l.tl; - continue; - }; -} - -function reduceReverseUnsafe(l, accu, f) { - if (l !== 0) { - return f(reduceReverseUnsafe(l.tl, accu, f), l.hd); - } else { - return accu; - } -} - -function reduceReverse(l, acc, f) { - let len = length(l); - if (len < 1000) { - return reduceReverseUnsafe(l, acc, f); - } else { - return Belt_Array.reduceReverse(toArray(l), acc, f); - } -} - -function reduceWithIndex(l, acc, f) { - let _l = l; - let _acc = acc; - let _i = 0; - while (true) { - let i = _i; - let acc$1 = _acc; - let l$1 = _l; - if (l$1 === 0) { - return acc$1; - } - _i = i + 1 | 0; - _acc = f(acc$1, l$1.hd, i); - _l = l$1.tl; - continue; - }; -} - -function mapReverse2(l1, l2, f) { - let _l1 = l1; - let _l2 = l2; - let _accu = /* [] */0; - while (true) { - let accu = _accu; - let l2$1 = _l2; - let l1$1 = _l1; - if (l1$1 === 0) { - return accu; - } - if (l2$1 === 0) { - return accu; - } - _accu = { - hd: f(l1$1.hd, l2$1.hd), - tl: accu - }; - _l2 = l2$1.tl; - _l1 = l1$1.tl; - continue; - }; -} - -function forEach2(_l1, _l2, f) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return; - } - if (l2 === 0) { - return; - } - f(l1.hd, l2.hd); - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function reduce2(_l1, _l2, _accu, f) { - while (true) { - let accu = _accu; - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return accu; - } - if (l2 === 0) { - return accu; - } - _accu = f(accu, l1.hd, l2.hd); - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function reduceReverse2Unsafe(l1, l2, accu, f) { - if (l1 !== 0 && l2 !== 0) { - return f(reduceReverse2Unsafe(l1.tl, l2.tl, accu, f), l1.hd, l2.hd); - } else { - return accu; - } -} - -function reduceReverse2(l1, l2, acc, f) { - let len = length(l1); - if (len < 1000) { - return reduceReverse2Unsafe(l1, l2, acc, f); - } else { - return Belt_Array.reduceReverse2(toArray(l1), toArray(l2), acc, f); - } -} - -function every(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return true; - } - if (!p(xs.hd)) { - return false; - } - _xs = xs.tl; - continue; - }; -} - -function some(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return false; - } - if (p(xs.hd)) { - return true; - } - _xs = xs.tl; - continue; - }; -} - -function every2(_l1, _l2, p) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return true; - } - if (l2 === 0) { - return true; - } - if (!p(l1.hd, l2.hd)) { - return false; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function cmpByLength(_l1, _l2) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - if (l2 !== 0) { - return -1; - } else { - return 0; - } - } - if (l2 === 0) { - return 1; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function cmp(_l1, _l2, p) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - if (l2 !== 0) { - return -1; - } else { - return 0; - } - } - if (l2 === 0) { - return 1; - } - let c = p(l1.hd, l2.hd); - if (c !== 0) { - return c; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function eq(_l1, _l2, p) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return l2 === 0; - } - if (l2 === 0) { - return false; - } - if (!p(l1.hd, l2.hd)) { - return false; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function some2(_l1, _l2, p) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return false; - } - if (l2 === 0) { - return false; - } - if (p(l1.hd, l2.hd)) { - return true; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function has(_xs, x, eq) { - while (true) { - let xs = _xs; - if (xs === 0) { - return false; - } - if (eq(xs.hd, x)) { - return true; - } - _xs = xs.tl; - continue; - }; -} - -function getAssoc(_xs, x, eq) { - while (true) { - let xs = _xs; - if (xs === 0) { - return; - } - let match = xs.hd; - if (eq(match[0], x)) { - return Primitive_option.some(match[1]); - } - _xs = xs.tl; - continue; - }; -} - -function hasAssoc(_xs, x, eq) { - while (true) { - let xs = _xs; - if (xs === 0) { - return false; - } - if (eq(xs.hd[0], x)) { - return true; - } - _xs = xs.tl; - continue; - }; -} - -function removeAssoc(xs, x, eq) { - if (xs === 0) { - return /* [] */0; - } - let l = xs.tl; - let pair = xs.hd; - if (eq(pair[0], x)) { - return l; - } - let cell = { - hd: pair, - tl: /* [] */0 - }; - let removed = removeAssocAuxWithMap(l, x, cell, eq); - if (removed) { - return cell; - } else { - return xs; - } -} - -function setAssoc(xs, x, k, eq) { - if (xs === 0) { - return { - hd: [ - x, - k - ], - tl: /* [] */0 - }; - } - let l = xs.tl; - let pair = xs.hd; - if (eq(pair[0], x)) { - return { - hd: [ - x, - k - ], - tl: l - }; - } - let cell = { - hd: pair, - tl: /* [] */0 - }; - let replaced = setAssocAuxWithMap(l, x, k, cell, eq); - if (replaced) { - return cell; - } else { - return { - hd: [ - x, - k - ], - tl: xs - }; - } -} - -function sort(xs, cmp) { - let arr = toArray(xs); - Belt_SortArray.stableSortInPlaceBy(arr, cmp); - return fromArray(arr); -} - -function getBy(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return; - } - let x = xs.hd; - if (p(x)) { - return Primitive_option.some(x); - } - _xs = xs.tl; - continue; - }; -} - -function keep(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return /* [] */0; - } - let t = xs.tl; - let h = xs.hd; - if (p(h)) { - let cell = { - hd: h, - tl: /* [] */0 - }; - copyAuxWitFilter(p, t, cell); - return cell; - } - _xs = t; - continue; - }; -} - -function keepWithIndex(xs, p) { - let _xs = xs; - let _i = 0; - while (true) { - let i = _i; - let xs$1 = _xs; - if (xs$1 === 0) { - return /* [] */0; - } - let t = xs$1.tl; - let h = xs$1.hd; - if (p(h, i)) { - let cell = { - hd: h, - tl: /* [] */0 - }; - copyAuxWithFilterIndex(p, t, cell, i + 1 | 0); - return cell; - } - _i = i + 1 | 0; - _xs = t; - continue; - }; -} - -function keepMap(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return /* [] */0; - } - let t = xs.tl; - let h = p(xs.hd); - if (h !== undefined) { - let cell = { - hd: Primitive_option.valFromOption(h), - tl: /* [] */0 - }; - copyAuxWitFilterMap(p, t, cell); - return cell; - } - _xs = t; - continue; - }; -} - -function partition(l, p) { - if (l === 0) { - return [ - /* [] */0, - /* [] */0 - ]; - } - let h = l.hd; - let nextX = { - hd: h, - tl: /* [] */0 - }; - let nextY = { - hd: h, - tl: /* [] */0 - }; - let b = p(h); - partitionAux(p, l.tl, nextX, nextY); - if (b) { - return [ - nextX, - nextY.tl - ]; - } else { - return [ - nextX.tl, - nextY - ]; - } -} - -function unzip(xs) { - if (xs === 0) { - return [ - /* [] */0, - /* [] */0 - ]; - } - let match = xs.hd; - let cellX = { - hd: match[0], - tl: /* [] */0 - }; - let cellY = { - hd: match[1], - tl: /* [] */0 - }; - splitAux(xs.tl, cellX, cellY); - return [ - cellX, - cellY - ]; -} - -function zip(l1, l2) { - if (l1 === 0) { - return /* [] */0; - } - if (l2 === 0) { - return /* [] */0; - } - let cell = { - hd: [ - l1.hd, - l2.hd - ], - tl: /* [] */0 - }; - zipAux(l1.tl, l2.tl, cell); - return cell; -} - -let size = length; - -let headExn = headOrThrow; - -let tailExn = tailOrThrow; - -let getExn = getOrThrow; - -let makeByU = makeBy; - -let mapU = map; - -let zipByU = zipBy; - -let mapWithIndexU = mapWithIndex; - -let mapReverseU = mapReverse; - -let forEachU = forEach; - -let forEachWithIndexU = forEachWithIndex; - -let reduceU = reduce; - -let reduceWithIndexU = reduceWithIndex; - -let reduceReverseU = reduceReverse; - -let mapReverse2U = mapReverse2; - -let forEach2U = forEach2; - -let reduce2U = reduce2; - -let reduceReverse2U = reduceReverse2; - -let everyU = every; - -let someU = some; - -let every2U = every2; - -let some2U = some2; - -let cmpU = cmp; - -let eqU = eq; - -let hasU = has; - -let getByU = getBy; - -let keepU = keep; - -let filter = keep; - -let keepWithIndexU = keepWithIndex; - -let filterWithIndex = keepWithIndex; - -let keepMapU = keepMap; - -let partitionU = partition; - -let getAssocU = getAssoc; - -let hasAssocU = hasAssoc; - -let removeAssocU = removeAssoc; - -let setAssocU = setAssoc; - -let sortU = sort; - -export { - length, - size, - head, - headExn, - headOrThrow, - tail, - tailExn, - tailOrThrow, - add, - get, - getExn, - getOrThrow, - make, - makeByU, - makeBy, - shuffle, - drop, - take, - splitAt, - concat, - concatMany, - reverseConcat, - flatten, - mapU, - map, - zip, - zipByU, - zipBy, - mapWithIndexU, - mapWithIndex, - fromArray, - toArray, - reverse, - mapReverseU, - mapReverse, - forEachU, - forEach, - forEachWithIndexU, - forEachWithIndex, - reduceU, - reduce, - reduceWithIndexU, - reduceWithIndex, - reduceReverseU, - reduceReverse, - mapReverse2U, - mapReverse2, - forEach2U, - forEach2, - reduce2U, - reduce2, - reduceReverse2U, - reduceReverse2, - everyU, - every, - someU, - some, - every2U, - every2, - some2U, - some2, - cmpByLength, - cmpU, - cmp, - eqU, - eq, - hasU, - has, - getByU, - getBy, - keepU, - keep, - filter, - keepWithIndexU, - keepWithIndex, - filterWithIndex, - keepMapU, - keepMap, - partitionU, - partition, - unzip, - getAssocU, - getAssoc, - hasAssocU, - hasAssoc, - removeAssocU, - removeAssoc, - setAssocU, - setAssoc, - sortU, - sort, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Map.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Map.js deleted file mode 100644 index 4e140f3..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Map.js +++ /dev/null @@ -1,352 +0,0 @@ - - -import * as Belt_MapDict from "./Belt_MapDict.js"; - -function fromArray(data, id) { - let cmp = id.cmp; - return { - cmp: cmp, - data: Belt_MapDict.fromArray(data, cmp) - }; -} - -function remove(m, x) { - let odata = m.data; - let cmp = m.cmp; - let newData = Belt_MapDict.remove(odata, x, cmp); - if (newData === odata) { - return m; - } else { - return { - cmp: cmp, - data: newData - }; - } -} - -function removeMany(m, x) { - let cmp = m.cmp; - let newData = Belt_MapDict.removeMany(m.data, x, cmp); - return { - cmp: cmp, - data: newData - }; -} - -function set(m, key, d) { - let cmp = m.cmp; - return { - cmp: cmp, - data: Belt_MapDict.set(m.data, key, d, cmp) - }; -} - -function mergeMany(m, e) { - let cmp = m.cmp; - return { - cmp: cmp, - data: Belt_MapDict.mergeMany(m.data, e, cmp) - }; -} - -function update(m, key, f) { - let cmp = m.cmp; - return { - cmp: cmp, - data: Belt_MapDict.update(m.data, key, f, cmp) - }; -} - -function split(m, x) { - let cmp = m.cmp; - let match = Belt_MapDict.split(m.data, x, cmp); - let match$1 = match[0]; - return [ - [ - { - cmp: cmp, - data: match$1[0] - }, - { - cmp: cmp, - data: match$1[1] - } - ], - match[1] - ]; -} - -function merge(s1, s2, f) { - let cmp = s1.cmp; - return { - cmp: cmp, - data: Belt_MapDict.merge(s1.data, s2.data, f, cmp) - }; -} - -function make(id) { - return { - cmp: id.cmp, - data: undefined - }; -} - -function isEmpty(map) { - return Belt_MapDict.isEmpty(map.data); -} - -function findFirstBy(m, f) { - return Belt_MapDict.findFirstBy(m.data, f); -} - -function forEach(m, f) { - Belt_MapDict.forEach(m.data, f); -} - -function reduce(m, acc, f) { - return Belt_MapDict.reduce(m.data, acc, f); -} - -function every(m, f) { - return Belt_MapDict.every(m.data, f); -} - -function some(m, f) { - return Belt_MapDict.some(m.data, f); -} - -function keep(m, f) { - return { - cmp: m.cmp, - data: Belt_MapDict.keep(m.data, f) - }; -} - -function partition(m, p) { - let cmp = m.cmp; - let match = Belt_MapDict.partition(m.data, p); - return [ - { - cmp: cmp, - data: match[0] - }, - { - cmp: cmp, - data: match[1] - } - ]; -} - -function map(m, f) { - return { - cmp: m.cmp, - data: Belt_MapDict.map(m.data, f) - }; -} - -function mapWithKey(m, f) { - return { - cmp: m.cmp, - data: Belt_MapDict.mapWithKey(m.data, f) - }; -} - -function size(map) { - return Belt_MapDict.size(map.data); -} - -function toList(map) { - return Belt_MapDict.toList(map.data); -} - -function toArray(m) { - return Belt_MapDict.toArray(m.data); -} - -function keysToArray(m) { - return Belt_MapDict.keysToArray(m.data); -} - -function valuesToArray(m) { - return Belt_MapDict.valuesToArray(m.data); -} - -function minKey(m) { - return Belt_MapDict.minKey(m.data); -} - -function minKeyUndefined(m) { - return Belt_MapDict.minKeyUndefined(m.data); -} - -function maxKey(m) { - return Belt_MapDict.maxKey(m.data); -} - -function maxKeyUndefined(m) { - return Belt_MapDict.maxKeyUndefined(m.data); -} - -function minimum(m) { - return Belt_MapDict.minimum(m.data); -} - -function minUndefined(m) { - return Belt_MapDict.minUndefined(m.data); -} - -function maximum(m) { - return Belt_MapDict.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_MapDict.maxUndefined(m.data); -} - -function get(map, x) { - return Belt_MapDict.get(map.data, x, map.cmp); -} - -function getUndefined(map, x) { - return Belt_MapDict.getUndefined(map.data, x, map.cmp); -} - -function getWithDefault(map, x, def) { - return Belt_MapDict.getWithDefault(map.data, x, def, map.cmp); -} - -function getOrThrow(map, x) { - return Belt_MapDict.getOrThrow(map.data, x, map.cmp); -} - -function has(map, x) { - return Belt_MapDict.has(map.data, x, map.cmp); -} - -function checkInvariantInternal(m) { - Belt_MapDict.checkInvariantInternal(m.data); -} - -function eq(m1, m2, veq) { - return Belt_MapDict.eq(m1.data, m2.data, m1.cmp, veq); -} - -function cmp(m1, m2, vcmp) { - return Belt_MapDict.cmp(m1.data, m2.data, m1.cmp, vcmp); -} - -function getData(m) { - return m.data; -} - -function getId(m) { - let cmp = m.cmp; - return { - cmp: cmp - }; -} - -function packIdData(id, data) { - return { - cmp: id.cmp, - data: data - }; -} - -let Int; - -let $$String; - -let Dict; - -let cmpU = cmp; - -let eqU = eq; - -let findFirstByU = findFirstBy; - -let forEachU = forEach; - -let reduceU = reduce; - -let everyU = every; - -let someU = some; - -let getExn = getOrThrow; - -let updateU = update; - -let mergeU = merge; - -let keepU = keep; - -let partitionU = partition; - -let mapU = map; - -let mapWithKeyU = mapWithKey; - -export { - Int, - $$String, - Dict, - make, - isEmpty, - has, - cmpU, - cmp, - eqU, - eq, - findFirstByU, - findFirstBy, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - size, - toArray, - toList, - fromArray, - keysToArray, - valuesToArray, - minKey, - minKeyUndefined, - maxKey, - maxKeyUndefined, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getWithDefault, - getExn, - getOrThrow, - remove, - removeMany, - set, - updateU, - update, - mergeMany, - mergeU, - merge, - keepU, - keep, - partitionU, - partition, - split, - mapU, - map, - mapWithKeyU, - mapWithKey, - getData, - getId, - packIdData, - checkInvariantInternal, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapDict.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapDict.js deleted file mode 100644 index 8e99733..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapDict.js +++ /dev/null @@ -1,409 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalAVLtree from "./Belt_internalAVLtree.js"; - -function set(t, newK, newD, cmp) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(newK, newD); - } - let k = t.k; - let c = cmp(newK, k); - if (c === 0) { - return Belt_internalAVLtree.updateValue(t, newD); - } - let l = t.l; - let r = t.r; - let v = t.v; - if (c < 0) { - return Belt_internalAVLtree.bal(set(l, newK, newD, cmp), k, v, r); - } else { - return Belt_internalAVLtree.bal(l, k, v, set(r, newK, newD, cmp)); - } -} - -function update(t, newK, f, cmp) { - if (t !== undefined) { - let k = t.k; - let c = cmp(newK, k); - if (c === 0) { - let newD = f(Primitive_option.some(t.v)); - if (newD !== undefined) { - return Belt_internalAVLtree.updateValue(t, Primitive_option.valFromOption(newD)); - } - let l = t.l; - let r = t.r; - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let kr = { - contents: r.k - }; - let vr = { - contents: r.v - }; - let r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - let l$1 = t.l; - let r$2 = t.r; - let v = t.v; - if (c < 0) { - let ll = update(l$1, newK, f, cmp); - if (l$1 === ll) { - return t; - } else { - return Belt_internalAVLtree.bal(ll, k, v, r$2); - } - } - let rr = update(r$2, newK, f, cmp); - if (r$2 === rr) { - return t; - } else { - return Belt_internalAVLtree.bal(l$1, k, v, rr); - } - } - let newD$1 = f(undefined); - if (newD$1 !== undefined) { - return Belt_internalAVLtree.singleton(newK, Primitive_option.valFromOption(newD$1)); - } else { - return t; - } -} - -function removeAux0(n, x, cmp) { - let v = n.k; - let l = n.l; - let r = n.r; - let c = cmp(x, v); - if (c === 0) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let kr = { - contents: r.k - }; - let vr = { - contents: r.v - }; - let r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - if (c < 0) { - if (l === undefined) { - return n; - } - let ll = removeAux0(l, x, cmp); - if (ll === l) { - return n; - } else { - return Belt_internalAVLtree.bal(ll, v, n.v, r); - } - } - if (r === undefined) { - return n; - } - let rr = removeAux0(r, x, cmp); - if (rr === r) { - return n; - } else { - return Belt_internalAVLtree.bal(l, v, n.v, rr); - } -} - -function remove(n, x, cmp) { - if (n !== undefined) { - return removeAux0(n, x, cmp); - } -} - -function mergeMany(h, arr, cmp) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let match = arr[i]; - v = set(v, match[0], match[1], cmp); - } - return v; -} - -function splitAuxPivot(n, x, pres, cmp) { - let v = n.k; - let d = n.v; - let l = n.l; - let r = n.r; - let c = cmp(x, v); - if (c === 0) { - pres.contents = Primitive_option.some(d); - return [ - l, - r - ]; - } - if (c < 0) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - let match = splitAuxPivot(l, x, pres, cmp); - return [ - match[0], - Belt_internalAVLtree.join(match[1], v, d, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - let match$1 = splitAuxPivot(r, x, pres, cmp); - return [ - Belt_internalAVLtree.join(l, v, d, match$1[0]), - match$1[1] - ]; -} - -function split(n, x, cmp) { - if (n === undefined) { - return [ - [ - undefined, - undefined - ], - undefined - ]; - } - let pres = { - contents: undefined - }; - let v = splitAuxPivot(n, x, pres, cmp); - return [ - v, - pres.contents - ]; -} - -function merge(s1, s2, f, cmp) { - if (s1 === undefined) { - if (s2 !== undefined) { - return Belt_internalAVLtree.keepMap(s2, (k, v) => f(k, undefined, Primitive_option.some(v))); - } else { - return; - } - } - if (s2 === undefined) { - return Belt_internalAVLtree.keepMap(s1, (k, v) => f(k, Primitive_option.some(v), undefined)); - } - if (s1.h >= s2.h) { - let v1 = s1.k; - let d1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let d2 = { - contents: undefined - }; - let match = splitAuxPivot(s2, v1, d2, cmp); - let d2$1 = d2.contents; - let newLeft = merge(l1, match[0], f, cmp); - let newD = f(v1, Primitive_option.some(d1), d2$1); - let newRight = merge(r1, match[1], f, cmp); - return Belt_internalAVLtree.concatOrJoin(newLeft, v1, newD, newRight); - } - let v2 = s2.k; - let d2$2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - let d1$1 = { - contents: undefined - }; - let match$1 = splitAuxPivot(s1, v2, d1$1, cmp); - let d1$2 = d1$1.contents; - let newLeft$1 = merge(match$1[0], l2, f, cmp); - let newD$1 = f(v2, d1$2, Primitive_option.some(d2$2)); - let newRight$1 = merge(match$1[1], r2, f, cmp); - return Belt_internalAVLtree.concatOrJoin(newLeft$1, v2, newD$1, newRight$1); -} - -function removeMany(t, keys, cmp) { - let len = keys.length; - if (t !== undefined) { - let _t = t; - let _i = 0; - while (true) { - let i = _i; - let t$1 = _t; - if (i >= len) { - return t$1; - } - let ele = keys[i]; - let u = removeAux0(t$1, ele, cmp); - if (u === undefined) { - return u; - } - _i = i + 1 | 0; - _t = u; - continue; - }; - } -} - -let empty; - -let isEmpty = Belt_internalAVLtree.isEmpty; - -let has = Belt_internalAVLtree.has; - -let cmpU = Belt_internalAVLtree.cmp; - -let cmp = Belt_internalAVLtree.cmp; - -let eqU = Belt_internalAVLtree.eq; - -let eq = Belt_internalAVLtree.eq; - -let findFirstByU = Belt_internalAVLtree.findFirstBy; - -let findFirstBy = Belt_internalAVLtree.findFirstBy; - -let forEachU = Belt_internalAVLtree.forEach; - -let forEach = Belt_internalAVLtree.forEach; - -let reduceU = Belt_internalAVLtree.reduce; - -let reduce = Belt_internalAVLtree.reduce; - -let everyU = Belt_internalAVLtree.every; - -let every = Belt_internalAVLtree.every; - -let someU = Belt_internalAVLtree.some; - -let some = Belt_internalAVLtree.some; - -let size = Belt_internalAVLtree.size; - -let toList = Belt_internalAVLtree.toList; - -let toArray = Belt_internalAVLtree.toArray; - -let fromArray = Belt_internalAVLtree.fromArray; - -let keysToArray = Belt_internalAVLtree.keysToArray; - -let valuesToArray = Belt_internalAVLtree.valuesToArray; - -let minKey = Belt_internalAVLtree.minKey; - -let minKeyUndefined = Belt_internalAVLtree.minKeyUndefined; - -let maxKey = Belt_internalAVLtree.maxKey; - -let maxKeyUndefined = Belt_internalAVLtree.maxKeyUndefined; - -let minimum = Belt_internalAVLtree.minimum; - -let minUndefined = Belt_internalAVLtree.minUndefined; - -let maximum = Belt_internalAVLtree.maximum; - -let maxUndefined = Belt_internalAVLtree.maxUndefined; - -let get = Belt_internalAVLtree.get; - -let getUndefined = Belt_internalAVLtree.getUndefined; - -let getWithDefault = Belt_internalAVLtree.getWithDefault; - -let getExn = Belt_internalAVLtree.getOrThrow; - -let getOrThrow = Belt_internalAVLtree.getOrThrow; - -let checkInvariantInternal = Belt_internalAVLtree.checkInvariantInternal; - -let updateU = update; - -let mergeU = merge; - -let keepU = Belt_internalAVLtree.keepShared; - -let keep = Belt_internalAVLtree.keepShared; - -let partitionU = Belt_internalAVLtree.partitionShared; - -let partition = Belt_internalAVLtree.partitionShared; - -let mapU = Belt_internalAVLtree.map; - -let map = Belt_internalAVLtree.map; - -let mapWithKeyU = Belt_internalAVLtree.mapWithKey; - -let mapWithKey = Belt_internalAVLtree.mapWithKey; - -export { - empty, - isEmpty, - has, - cmpU, - cmp, - eqU, - eq, - findFirstByU, - findFirstBy, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - size, - toList, - toArray, - fromArray, - keysToArray, - valuesToArray, - minKey, - minKeyUndefined, - maxKey, - maxKeyUndefined, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getWithDefault, - getExn, - getOrThrow, - checkInvariantInternal, - remove, - removeMany, - set, - updateU, - update, - mergeU, - merge, - mergeMany, - keepU, - keep, - partitionU, - partition, - split, - mapU, - map, - mapWithKeyU, - mapWithKey, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapInt.js deleted file mode 100644 index 690e65c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapInt.js +++ /dev/null @@ -1,305 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalMapInt from "./Belt_internalMapInt.js"; -import * as Belt_internalAVLtree from "./Belt_internalAVLtree.js"; - -function set(t, newK, newD) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(newK, newD); - } - let k = t.k; - if (newK === k) { - return Belt_internalAVLtree.updateValue(t, newD); - } - let v = t.v; - if (newK < k) { - return Belt_internalAVLtree.bal(set(t.l, newK, newD), k, v, t.r); - } else { - return Belt_internalAVLtree.bal(t.l, k, v, set(t.r, newK, newD)); - } -} - -function update(t, x, f) { - if (t !== undefined) { - let k = t.k; - if (x === k) { - let data = f(Primitive_option.some(t.v)); - if (data !== undefined) { - return Belt_internalAVLtree.updateValue(t, Primitive_option.valFromOption(data)); - } - let l = t.l; - let r = t.r; - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let kr = { - contents: r.k - }; - let vr = { - contents: r.v - }; - let r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - let v = t.v; - let l$1 = t.l; - let r$2 = t.r; - if (x < k) { - let ll = update(l$1, x, f); - if (l$1 === ll) { - return t; - } else { - return Belt_internalAVLtree.bal(ll, k, v, r$2); - } - } - let rr = update(r$2, x, f); - if (r$2 === rr) { - return t; - } else { - return Belt_internalAVLtree.bal(l$1, k, v, rr); - } - } - let data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Primitive_option.valFromOption(data$1)); - } else { - return t; - } -} - -function removeAux(n, x) { - let v = n.k; - let l = n.l; - let r = n.r; - if (x === v) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let kr = { - contents: r.k - }; - let vr = { - contents: r.v - }; - let r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - if (x < v) { - if (l === undefined) { - return n; - } - let ll = removeAux(l, x); - if (ll === l) { - return n; - } else { - return Belt_internalAVLtree.bal(ll, v, n.v, r); - } - } - if (r === undefined) { - return n; - } - let rr = removeAux(r, x); - return Belt_internalAVLtree.bal(l, v, n.v, rr); -} - -function remove(n, x) { - if (n !== undefined) { - return removeAux(n, x); - } -} - -function removeMany(t, keys) { - let len = keys.length; - if (t !== undefined) { - let _t = t; - let _i = 0; - while (true) { - let i = _i; - let t$1 = _t; - if (i >= len) { - return t$1; - } - let ele = keys[i]; - let u = removeAux(t$1, ele); - if (u === undefined) { - return u; - } - _i = i + 1 | 0; - _t = u; - continue; - }; - } -} - -function mergeMany(h, arr) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let match = arr[i]; - v = set(v, match[0], match[1]); - } - return v; -} - -let empty; - -let isEmpty = Belt_internalAVLtree.isEmpty; - -let has = Belt_internalMapInt.has; - -let cmpU = Belt_internalMapInt.cmp; - -let cmp = Belt_internalMapInt.cmp; - -let eqU = Belt_internalMapInt.eq; - -let eq = Belt_internalMapInt.eq; - -let findFirstByU = Belt_internalAVLtree.findFirstBy; - -let findFirstBy = Belt_internalAVLtree.findFirstBy; - -let forEachU = Belt_internalAVLtree.forEach; - -let forEach = Belt_internalAVLtree.forEach; - -let reduceU = Belt_internalAVLtree.reduce; - -let reduce = Belt_internalAVLtree.reduce; - -let everyU = Belt_internalAVLtree.every; - -let every = Belt_internalAVLtree.every; - -let someU = Belt_internalAVLtree.some; - -let some = Belt_internalAVLtree.some; - -let size = Belt_internalAVLtree.size; - -let toList = Belt_internalAVLtree.toList; - -let toArray = Belt_internalAVLtree.toArray; - -let fromArray = Belt_internalMapInt.fromArray; - -let keysToArray = Belt_internalAVLtree.keysToArray; - -let valuesToArray = Belt_internalAVLtree.valuesToArray; - -let minKey = Belt_internalAVLtree.minKey; - -let minKeyUndefined = Belt_internalAVLtree.minKeyUndefined; - -let maxKey = Belt_internalAVLtree.maxKey; - -let maxKeyUndefined = Belt_internalAVLtree.maxKeyUndefined; - -let minimum = Belt_internalAVLtree.minimum; - -let minUndefined = Belt_internalAVLtree.minUndefined; - -let maximum = Belt_internalAVLtree.maximum; - -let maxUndefined = Belt_internalAVLtree.maxUndefined; - -let get = Belt_internalMapInt.get; - -let getUndefined = Belt_internalMapInt.getUndefined; - -let getWithDefault = Belt_internalMapInt.getWithDefault; - -let getExn = Belt_internalMapInt.getOrThrow; - -let getOrThrow = Belt_internalMapInt.getOrThrow; - -let checkInvariantInternal = Belt_internalAVLtree.checkInvariantInternal; - -let updateU = update; - -let mergeU = Belt_internalMapInt.merge; - -let merge = Belt_internalMapInt.merge; - -let keepU = Belt_internalAVLtree.keepShared; - -let keep = Belt_internalAVLtree.keepShared; - -let partitionU = Belt_internalAVLtree.partitionShared; - -let partition = Belt_internalAVLtree.partitionShared; - -let split = Belt_internalMapInt.split; - -let mapU = Belt_internalAVLtree.map; - -let map = Belt_internalAVLtree.map; - -let mapWithKeyU = Belt_internalAVLtree.mapWithKey; - -let mapWithKey = Belt_internalAVLtree.mapWithKey; - -export { - empty, - isEmpty, - has, - cmpU, - cmp, - eqU, - eq, - findFirstByU, - findFirstBy, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - size, - toList, - toArray, - fromArray, - keysToArray, - valuesToArray, - minKey, - minKeyUndefined, - maxKey, - maxKeyUndefined, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getWithDefault, - getExn, - getOrThrow, - checkInvariantInternal, - remove, - removeMany, - set, - updateU, - update, - mergeU, - merge, - mergeMany, - keepU, - keep, - partitionU, - partition, - split, - mapU, - map, - mapWithKeyU, - mapWithKey, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapString.js deleted file mode 100644 index f56f90b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MapString.js +++ /dev/null @@ -1,305 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalAVLtree from "./Belt_internalAVLtree.js"; -import * as Belt_internalMapString from "./Belt_internalMapString.js"; - -function set(t, newK, newD) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(newK, newD); - } - let k = t.k; - if (newK === k) { - return Belt_internalAVLtree.updateValue(t, newD); - } - let v = t.v; - if (newK < k) { - return Belt_internalAVLtree.bal(set(t.l, newK, newD), k, v, t.r); - } else { - return Belt_internalAVLtree.bal(t.l, k, v, set(t.r, newK, newD)); - } -} - -function update(t, x, f) { - if (t !== undefined) { - let k = t.k; - if (x === k) { - let data = f(Primitive_option.some(t.v)); - if (data !== undefined) { - return Belt_internalAVLtree.updateValue(t, Primitive_option.valFromOption(data)); - } - let l = t.l; - let r = t.r; - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let kr = { - contents: r.k - }; - let vr = { - contents: r.v - }; - let r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - let v = t.v; - let l$1 = t.l; - let r$2 = t.r; - if (x < k) { - let ll = update(l$1, x, f); - if (l$1 === ll) { - return t; - } else { - return Belt_internalAVLtree.bal(ll, k, v, r$2); - } - } - let rr = update(r$2, x, f); - if (r$2 === rr) { - return t; - } else { - return Belt_internalAVLtree.bal(l$1, k, v, rr); - } - } - let data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Primitive_option.valFromOption(data$1)); - } else { - return t; - } -} - -function removeAux(n, x) { - let v = n.k; - let l = n.l; - let r = n.r; - if (x === v) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let kr = { - contents: r.k - }; - let vr = { - contents: r.v - }; - let r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - if (x < v) { - if (l === undefined) { - return n; - } - let ll = removeAux(l, x); - if (ll === l) { - return n; - } else { - return Belt_internalAVLtree.bal(ll, v, n.v, r); - } - } - if (r === undefined) { - return n; - } - let rr = removeAux(r, x); - return Belt_internalAVLtree.bal(l, v, n.v, rr); -} - -function remove(n, x) { - if (n !== undefined) { - return removeAux(n, x); - } -} - -function removeMany(t, keys) { - let len = keys.length; - if (t !== undefined) { - let _t = t; - let _i = 0; - while (true) { - let i = _i; - let t$1 = _t; - if (i >= len) { - return t$1; - } - let ele = keys[i]; - let u = removeAux(t$1, ele); - if (u === undefined) { - return u; - } - _i = i + 1 | 0; - _t = u; - continue; - }; - } -} - -function mergeMany(h, arr) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let match = arr[i]; - v = set(v, match[0], match[1]); - } - return v; -} - -let empty; - -let isEmpty = Belt_internalAVLtree.isEmpty; - -let has = Belt_internalMapString.has; - -let cmpU = Belt_internalMapString.cmp; - -let cmp = Belt_internalMapString.cmp; - -let eqU = Belt_internalMapString.eq; - -let eq = Belt_internalMapString.eq; - -let findFirstByU = Belt_internalAVLtree.findFirstBy; - -let findFirstBy = Belt_internalAVLtree.findFirstBy; - -let forEachU = Belt_internalAVLtree.forEach; - -let forEach = Belt_internalAVLtree.forEach; - -let reduceU = Belt_internalAVLtree.reduce; - -let reduce = Belt_internalAVLtree.reduce; - -let everyU = Belt_internalAVLtree.every; - -let every = Belt_internalAVLtree.every; - -let someU = Belt_internalAVLtree.some; - -let some = Belt_internalAVLtree.some; - -let size = Belt_internalAVLtree.size; - -let toList = Belt_internalAVLtree.toList; - -let toArray = Belt_internalAVLtree.toArray; - -let fromArray = Belt_internalMapString.fromArray; - -let keysToArray = Belt_internalAVLtree.keysToArray; - -let valuesToArray = Belt_internalAVLtree.valuesToArray; - -let minKey = Belt_internalAVLtree.minKey; - -let minKeyUndefined = Belt_internalAVLtree.minKeyUndefined; - -let maxKey = Belt_internalAVLtree.maxKey; - -let maxKeyUndefined = Belt_internalAVLtree.maxKeyUndefined; - -let minimum = Belt_internalAVLtree.minimum; - -let minUndefined = Belt_internalAVLtree.minUndefined; - -let maximum = Belt_internalAVLtree.maximum; - -let maxUndefined = Belt_internalAVLtree.maxUndefined; - -let get = Belt_internalMapString.get; - -let getUndefined = Belt_internalMapString.getUndefined; - -let getWithDefault = Belt_internalMapString.getWithDefault; - -let getExn = Belt_internalMapString.getOrThrow; - -let getOrThrow = Belt_internalMapString.getOrThrow; - -let checkInvariantInternal = Belt_internalAVLtree.checkInvariantInternal; - -let updateU = update; - -let mergeU = Belt_internalMapString.merge; - -let merge = Belt_internalMapString.merge; - -let keepU = Belt_internalAVLtree.keepShared; - -let keep = Belt_internalAVLtree.keepShared; - -let partitionU = Belt_internalAVLtree.partitionShared; - -let partition = Belt_internalAVLtree.partitionShared; - -let split = Belt_internalMapString.split; - -let mapU = Belt_internalAVLtree.map; - -let map = Belt_internalAVLtree.map; - -let mapWithKeyU = Belt_internalAVLtree.mapWithKey; - -let mapWithKey = Belt_internalAVLtree.mapWithKey; - -export { - empty, - isEmpty, - has, - cmpU, - cmp, - eqU, - eq, - findFirstByU, - findFirstBy, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - size, - toList, - toArray, - fromArray, - keysToArray, - valuesToArray, - minKey, - minKeyUndefined, - maxKey, - maxKeyUndefined, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getWithDefault, - getExn, - getOrThrow, - checkInvariantInternal, - remove, - removeMany, - set, - updateU, - update, - mergeU, - merge, - mergeMany, - keepU, - keep, - partitionU, - partition, - split, - mapU, - map, - mapWithKeyU, - mapWithKey, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMap.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMap.js deleted file mode 100644 index 5209285..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMap.js +++ /dev/null @@ -1,374 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalAVLtree from "./Belt_internalAVLtree.js"; - -function removeMutateAux(nt, x, cmp) { - let k = nt.k; - let c = cmp(x, k); - if (c === 0) { - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLtree.balMutate(nt); - } else { - return l; - } - } else if (r !== undefined) { - return r; - } else { - return l; - } - } - if (c < 0) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeMutateAux(l$1, x, cmp); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeMutateAux(r$1, x, cmp); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, k) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let newRoot = removeMutateAux(oldRoot, k, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function removeArrayMutateAux(_t, xs, _i, len, cmp) { - while (true) { - let i = _i; - let t = _t; - if (i >= len) { - return t; - } - let ele = xs[i]; - let u = removeMutateAux(t, ele, cmp); - if (u === undefined) { - return; - } - _i = i + 1 | 0; - _t = u; - continue; - }; -} - -function removeMany(d, xs) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let len = xs.length; - let newRoot = removeArrayMutateAux(oldRoot, xs, 0, len, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function updateDone(t, x, f, cmp) { - if (t !== undefined) { - let k = t.k; - let c = cmp(x, k); - if (c === 0) { - let data = f(Primitive_option.some(t.v)); - if (data !== undefined) { - t.v = Primitive_option.valFromOption(data); - return t; - } - let l = t.l; - let r = t.r; - if (l !== undefined) { - if (r !== undefined) { - t.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(t, r); - return Belt_internalAVLtree.balMutate(t); - } else { - return l; - } - } else if (r !== undefined) { - return r; - } else { - return l; - } - } - if (c < 0) { - t.l = updateDone(t.l, x, f, cmp); - } else { - t.r = updateDone(t.r, x, f, cmp); - } - return Belt_internalAVLtree.balMutate(t); - } - let data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Primitive_option.valFromOption(data$1)); - } else { - return t; - } -} - -function update(t, x, f) { - let oldRoot = t.data; - let newRoot = updateDone(oldRoot, x, f, t.cmp); - if (newRoot !== oldRoot) { - t.data = newRoot; - return; - } -} - -function make(id) { - return { - cmp: id.cmp, - data: undefined - }; -} - -function clear(m) { - m.data = undefined; -} - -function isEmpty(d) { - let x = d.data; - return x === undefined; -} - -function minKey(m) { - return Belt_internalAVLtree.minKey(m.data); -} - -function minKeyUndefined(m) { - return Belt_internalAVLtree.minKeyUndefined(m.data); -} - -function maxKey(m) { - return Belt_internalAVLtree.maxKey(m.data); -} - -function maxKeyUndefined(m) { - return Belt_internalAVLtree.maxKeyUndefined(m.data); -} - -function minimum(m) { - return Belt_internalAVLtree.minimum(m.data); -} - -function minUndefined(m) { - return Belt_internalAVLtree.minUndefined(m.data); -} - -function maximum(m) { - return Belt_internalAVLtree.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_internalAVLtree.maxUndefined(m.data); -} - -function forEach(d, f) { - Belt_internalAVLtree.forEach(d.data, f); -} - -function reduce(d, acc, cb) { - return Belt_internalAVLtree.reduce(d.data, acc, cb); -} - -function every(d, p) { - return Belt_internalAVLtree.every(d.data, p); -} - -function some(d, p) { - return Belt_internalAVLtree.some(d.data, p); -} - -function size(d) { - return Belt_internalAVLtree.size(d.data); -} - -function toList(d) { - return Belt_internalAVLtree.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLtree.toArray(d.data); -} - -function keysToArray(d) { - return Belt_internalAVLtree.keysToArray(d.data); -} - -function valuesToArray(d) { - return Belt_internalAVLtree.valuesToArray(d.data); -} - -function checkInvariantInternal(d) { - Belt_internalAVLtree.checkInvariantInternal(d.data); -} - -function cmp(m1, m2, cmp$1) { - return Belt_internalAVLtree.cmp(m1.data, m2.data, m1.cmp, cmp$1); -} - -function eq(m1, m2, cmp) { - return Belt_internalAVLtree.eq(m1.data, m2.data, m1.cmp, cmp); -} - -function map(m, f) { - return { - cmp: m.cmp, - data: Belt_internalAVLtree.map(m.data, f) - }; -} - -function mapWithKey(m, f) { - return { - cmp: m.cmp, - data: Belt_internalAVLtree.mapWithKey(m.data, f) - }; -} - -function get(m, x) { - return Belt_internalAVLtree.get(m.data, x, m.cmp); -} - -function getUndefined(m, x) { - return Belt_internalAVLtree.getUndefined(m.data, x, m.cmp); -} - -function getWithDefault(m, x, def) { - return Belt_internalAVLtree.getWithDefault(m.data, x, def, m.cmp); -} - -function getOrThrow(m, x) { - return Belt_internalAVLtree.getOrThrow(m.data, x, m.cmp); -} - -function has(m, x) { - return Belt_internalAVLtree.has(m.data, x, m.cmp); -} - -function fromArray(data, id) { - let cmp = id.cmp; - return { - cmp: cmp, - data: Belt_internalAVLtree.fromArray(data, cmp) - }; -} - -function set(m, e, v) { - let oldRoot = m.data; - let newRoot = Belt_internalAVLtree.updateMutate(oldRoot, e, v, m.cmp); - if (newRoot !== oldRoot) { - m.data = newRoot; - return; - } -} - -function mergeManyAux(t, xs, cmp) { - let v = t; - for (let i = 0, i_finish = xs.length; i < i_finish; ++i) { - let match = xs[i]; - v = Belt_internalAVLtree.updateMutate(v, match[0], match[1], cmp); - } - return v; -} - -function mergeMany(d, xs) { - let oldRoot = d.data; - let newRoot = mergeManyAux(oldRoot, xs, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -let Int; - -let $$String; - -let cmpU = cmp; - -let eqU = eq; - -let forEachU = forEach; - -let reduceU = reduce; - -let everyU = every; - -let someU = some; - -let getExn = getOrThrow; - -let updateU = update; - -let mapU = map; - -let mapWithKeyU = mapWithKey; - -export { - Int, - $$String, - make, - clear, - isEmpty, - has, - cmpU, - cmp, - eqU, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - size, - toList, - toArray, - fromArray, - keysToArray, - valuesToArray, - minKey, - minKeyUndefined, - maxKey, - maxKeyUndefined, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getWithDefault, - getExn, - getOrThrow, - checkInvariantInternal, - remove, - removeMany, - set, - updateU, - update, - mergeMany, - mapU, - map, - mapWithKeyU, - mapWithKey, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMapInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMapInt.js deleted file mode 100644 index d60b920..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMapInt.js +++ /dev/null @@ -1,342 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalMapInt from "./Belt_internalMapInt.js"; -import * as Belt_internalAVLtree from "./Belt_internalAVLtree.js"; - -function make() { - return { - data: undefined - }; -} - -function isEmpty(m) { - let x = m.data; - return x === undefined; -} - -function clear(m) { - m.data = undefined; -} - -function minKeyUndefined(m) { - return Belt_internalAVLtree.minKeyUndefined(m.data); -} - -function minKey(m) { - return Belt_internalAVLtree.minKey(m.data); -} - -function maxKeyUndefined(m) { - return Belt_internalAVLtree.maxKeyUndefined(m.data); -} - -function maxKey(m) { - return Belt_internalAVLtree.maxKey(m.data); -} - -function minimum(m) { - return Belt_internalAVLtree.minimum(m.data); -} - -function minUndefined(m) { - return Belt_internalAVLtree.minUndefined(m.data); -} - -function maximum(m) { - return Belt_internalAVLtree.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_internalAVLtree.maxUndefined(m.data); -} - -function set(m, k, v) { - let old_data = m.data; - let v$1 = Belt_internalMapInt.addMutate(old_data, k, v); - if (v$1 !== old_data) { - m.data = v$1; - return; - } -} - -function forEach(d, f) { - Belt_internalAVLtree.forEach(d.data, f); -} - -function map(d, f) { - return { - data: Belt_internalAVLtree.map(d.data, f) - }; -} - -function mapWithKey(d, f) { - return { - data: Belt_internalAVLtree.mapWithKey(d.data, f) - }; -} - -function reduce(d, acc, f) { - return Belt_internalAVLtree.reduce(d.data, acc, f); -} - -function every(d, f) { - return Belt_internalAVLtree.every(d.data, f); -} - -function some(d, f) { - return Belt_internalAVLtree.some(d.data, f); -} - -function size(d) { - return Belt_internalAVLtree.size(d.data); -} - -function toList(d) { - return Belt_internalAVLtree.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLtree.toArray(d.data); -} - -function keysToArray(d) { - return Belt_internalAVLtree.keysToArray(d.data); -} - -function valuesToArray(d) { - return Belt_internalAVLtree.valuesToArray(d.data); -} - -function checkInvariantInternal(d) { - Belt_internalAVLtree.checkInvariantInternal(d.data); -} - -function has(d, v) { - return Belt_internalMapInt.has(d.data, v); -} - -function removeMutateAux(nt, x) { - let k = nt.k; - if (x === k) { - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLtree.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeMutateAux(l$1, x); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeMutateAux(r$1, x); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let newRoot = removeMutateAux(oldRoot, v); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function updateDone(t, x, f) { - if (t !== undefined) { - let k = t.k; - if (k === x) { - let data = f(Primitive_option.some(t.v)); - if (data !== undefined) { - t.v = Primitive_option.valFromOption(data); - return t; - } - let l = t.l; - let r = t.r; - if (l !== undefined) { - if (r !== undefined) { - t.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(t, r); - return Belt_internalAVLtree.balMutate(t); - } else { - return l; - } - } else { - return r; - } - } - let l$1 = t.l; - let r$1 = t.r; - if (x < k) { - let ll = updateDone(l$1, x, f); - t.l = ll; - } else { - t.r = updateDone(r$1, x, f); - } - return Belt_internalAVLtree.balMutate(t); - } - let data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Primitive_option.valFromOption(data$1)); - } else { - return t; - } -} - -function update(t, x, f) { - let oldRoot = t.data; - let newRoot = updateDone(oldRoot, x, f); - if (newRoot !== oldRoot) { - t.data = newRoot; - return; - } -} - -function removeArrayMutateAux(_t, xs, _i, len) { - while (true) { - let i = _i; - let t = _t; - if (i >= len) { - return t; - } - let ele = xs[i]; - let u = removeMutateAux(t, ele); - if (u === undefined) { - return; - } - _i = i + 1 | 0; - _t = u; - continue; - }; -} - -function removeMany(d, xs) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let len = xs.length; - let newRoot = removeArrayMutateAux(oldRoot, xs, 0, len); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function fromArray(xs) { - return { - data: Belt_internalMapInt.fromArray(xs) - }; -} - -function cmp(d0, d1, f) { - return Belt_internalMapInt.cmp(d0.data, d1.data, f); -} - -function eq(d0, d1, f) { - return Belt_internalMapInt.eq(d0.data, d1.data, f); -} - -function get(d, x) { - return Belt_internalMapInt.get(d.data, x); -} - -function getUndefined(d, x) { - return Belt_internalMapInt.getUndefined(d.data, x); -} - -function getWithDefault(d, x, def) { - return Belt_internalMapInt.getWithDefault(d.data, x, def); -} - -function getOrThrow(d, x) { - return Belt_internalMapInt.getOrThrow(d.data, x); -} - -let cmpU = cmp; - -let eqU = eq; - -let forEachU = forEach; - -let reduceU = reduce; - -let everyU = every; - -let someU = some; - -let getExn = getOrThrow; - -let updateU = update; - -let mapU = map; - -let mapWithKeyU = mapWithKey; - -export { - make, - clear, - isEmpty, - has, - cmpU, - cmp, - eqU, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - size, - toList, - toArray, - fromArray, - keysToArray, - valuesToArray, - minKey, - minKeyUndefined, - maxKey, - maxKeyUndefined, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getWithDefault, - getExn, - getOrThrow, - checkInvariantInternal, - remove, - removeMany, - set, - updateU, - update, - mapU, - map, - mapWithKeyU, - mapWithKey, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMapString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMapString.js deleted file mode 100644 index ab36e91..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableMapString.js +++ /dev/null @@ -1,342 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalAVLtree from "./Belt_internalAVLtree.js"; -import * as Belt_internalMapString from "./Belt_internalMapString.js"; - -function make() { - return { - data: undefined - }; -} - -function isEmpty(m) { - let x = m.data; - return x === undefined; -} - -function clear(m) { - m.data = undefined; -} - -function minKeyUndefined(m) { - return Belt_internalAVLtree.minKeyUndefined(m.data); -} - -function minKey(m) { - return Belt_internalAVLtree.minKey(m.data); -} - -function maxKeyUndefined(m) { - return Belt_internalAVLtree.maxKeyUndefined(m.data); -} - -function maxKey(m) { - return Belt_internalAVLtree.maxKey(m.data); -} - -function minimum(m) { - return Belt_internalAVLtree.minimum(m.data); -} - -function minUndefined(m) { - return Belt_internalAVLtree.minUndefined(m.data); -} - -function maximum(m) { - return Belt_internalAVLtree.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_internalAVLtree.maxUndefined(m.data); -} - -function set(m, k, v) { - let old_data = m.data; - let v$1 = Belt_internalMapString.addMutate(old_data, k, v); - if (v$1 !== old_data) { - m.data = v$1; - return; - } -} - -function forEach(d, f) { - Belt_internalAVLtree.forEach(d.data, f); -} - -function map(d, f) { - return { - data: Belt_internalAVLtree.map(d.data, f) - }; -} - -function mapWithKey(d, f) { - return { - data: Belt_internalAVLtree.mapWithKey(d.data, f) - }; -} - -function reduce(d, acc, f) { - return Belt_internalAVLtree.reduce(d.data, acc, f); -} - -function every(d, f) { - return Belt_internalAVLtree.every(d.data, f); -} - -function some(d, f) { - return Belt_internalAVLtree.some(d.data, f); -} - -function size(d) { - return Belt_internalAVLtree.size(d.data); -} - -function toList(d) { - return Belt_internalAVLtree.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLtree.toArray(d.data); -} - -function keysToArray(d) { - return Belt_internalAVLtree.keysToArray(d.data); -} - -function valuesToArray(d) { - return Belt_internalAVLtree.valuesToArray(d.data); -} - -function checkInvariantInternal(d) { - Belt_internalAVLtree.checkInvariantInternal(d.data); -} - -function has(d, v) { - return Belt_internalMapString.has(d.data, v); -} - -function removeMutateAux(nt, x) { - let k = nt.k; - if (x === k) { - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLtree.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeMutateAux(l$1, x); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeMutateAux(r$1, x); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let newRoot = removeMutateAux(oldRoot, v); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function updateDone(t, x, f) { - if (t !== undefined) { - let k = t.k; - if (k === x) { - let data = f(Primitive_option.some(t.v)); - if (data !== undefined) { - t.v = Primitive_option.valFromOption(data); - return t; - } - let l = t.l; - let r = t.r; - if (l !== undefined) { - if (r !== undefined) { - t.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(t, r); - return Belt_internalAVLtree.balMutate(t); - } else { - return l; - } - } else { - return r; - } - } - let l$1 = t.l; - let r$1 = t.r; - if (x < k) { - let ll = updateDone(l$1, x, f); - t.l = ll; - } else { - t.r = updateDone(r$1, x, f); - } - return Belt_internalAVLtree.balMutate(t); - } - let data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Primitive_option.valFromOption(data$1)); - } else { - return t; - } -} - -function update(t, x, f) { - let oldRoot = t.data; - let newRoot = updateDone(oldRoot, x, f); - if (newRoot !== oldRoot) { - t.data = newRoot; - return; - } -} - -function removeArrayMutateAux(_t, xs, _i, len) { - while (true) { - let i = _i; - let t = _t; - if (i >= len) { - return t; - } - let ele = xs[i]; - let u = removeMutateAux(t, ele); - if (u === undefined) { - return; - } - _i = i + 1 | 0; - _t = u; - continue; - }; -} - -function removeMany(d, xs) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let len = xs.length; - let newRoot = removeArrayMutateAux(oldRoot, xs, 0, len); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function fromArray(xs) { - return { - data: Belt_internalMapString.fromArray(xs) - }; -} - -function cmp(d0, d1, f) { - return Belt_internalMapString.cmp(d0.data, d1.data, f); -} - -function eq(d0, d1, f) { - return Belt_internalMapString.eq(d0.data, d1.data, f); -} - -function get(d, x) { - return Belt_internalMapString.get(d.data, x); -} - -function getUndefined(d, x) { - return Belt_internalMapString.getUndefined(d.data, x); -} - -function getWithDefault(d, x, def) { - return Belt_internalMapString.getWithDefault(d.data, x, def); -} - -function getOrThrow(d, x) { - return Belt_internalMapString.getOrThrow(d.data, x); -} - -let cmpU = cmp; - -let eqU = eq; - -let forEachU = forEach; - -let reduceU = reduce; - -let everyU = every; - -let someU = some; - -let getExn = getOrThrow; - -let updateU = update; - -let mapU = map; - -let mapWithKeyU = mapWithKey; - -export { - make, - clear, - isEmpty, - has, - cmpU, - cmp, - eqU, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - size, - toList, - toArray, - fromArray, - keysToArray, - valuesToArray, - minKey, - minKeyUndefined, - maxKey, - maxKeyUndefined, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getWithDefault, - getExn, - getOrThrow, - checkInvariantInternal, - remove, - removeMany, - set, - updateU, - update, - mapU, - map, - mapWithKeyU, - mapWithKey, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableQueue.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableQueue.js deleted file mode 100644 index 2db0383..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableQueue.js +++ /dev/null @@ -1,296 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function make() { - return { - length: 0, - first: undefined, - last: undefined - }; -} - -function clear(q) { - q.length = 0; - q.first = undefined; - q.last = undefined; -} - -function add(q, x) { - let cell = { - content: x, - next: undefined - }; - let last = q.last; - if (last !== undefined) { - q.length = q.length + 1 | 0; - last.next = cell; - q.last = cell; - } else { - q.length = 1; - q.first = cell; - q.last = cell; - } -} - -function peek(q) { - let v = q.first; - if (v !== undefined) { - return Primitive_option.some(v.content); - } -} - -function peekUndefined(q) { - let v = q.first; - if (v !== undefined) { - return v.content; - } -} - -function peekOrThrow(q) { - let v = q.first; - if (v !== undefined) { - return v.content; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function pop(q) { - let x = q.first; - if (x === undefined) { - return; - } - let next = x.next; - if (next === undefined) { - clear(q); - return Primitive_option.some(x.content); - } else { - q.length = q.length - 1 | 0; - q.first = next; - return Primitive_option.some(x.content); - } -} - -function popOrThrow(q) { - let x = q.first; - if (x !== undefined) { - let next = x.next; - if (next === undefined) { - clear(q); - return x.content; - } else { - q.length = q.length - 1 | 0; - q.first = next; - return x.content; - } - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function popUndefined(q) { - let x = q.first; - if (x === undefined) { - return; - } - let next = x.next; - if (next === undefined) { - clear(q); - return x.content; - } else { - q.length = q.length - 1 | 0; - q.first = next; - return x.content; - } -} - -function copy(q) { - let qRes = { - length: q.length, - first: undefined, - last: undefined - }; - let _prev; - let _cell = q.first; - while (true) { - let cell = _cell; - let prev = _prev; - if (cell !== undefined) { - let content = cell.content; - let res = { - content: content, - next: undefined - }; - if (prev !== undefined) { - prev.next = res; - } else { - qRes.first = res; - } - _cell = cell.next; - _prev = res; - continue; - } - qRes.last = prev; - return qRes; - }; -} - -function map(q, f) { - let qRes = { - length: q.length, - first: undefined, - last: undefined - }; - let _prev; - let _cell = q.first; - while (true) { - let cell = _cell; - let prev = _prev; - if (cell !== undefined) { - let content = f(cell.content); - let res = { - content: content, - next: undefined - }; - if (prev !== undefined) { - prev.next = res; - } else { - qRes.first = res; - } - _cell = cell.next; - _prev = res; - continue; - } - qRes.last = prev; - return qRes; - }; -} - -function isEmpty(q) { - return q.length === 0; -} - -function size(q) { - return q.length; -} - -function forEach(q, f) { - let _cell = q.first; - while (true) { - let cell = _cell; - if (cell === undefined) { - return; - } - f(cell.content); - _cell = cell.next; - continue; - }; -} - -function reduce(q, accu, f) { - let _accu = accu; - let _cell = q.first; - while (true) { - let cell = _cell; - let accu$1 = _accu; - if (cell === undefined) { - return accu$1; - } - let accu$2 = f(accu$1, cell.content); - _cell = cell.next; - _accu = accu$2; - continue; - }; -} - -function transfer(q1, q2) { - if (q1.length <= 0) { - return; - } - let l = q2.last; - if (l !== undefined) { - q2.length = q2.length + q1.length | 0; - l.next = q1.first; - q2.last = q1.last; - return clear(q1); - } else { - q2.length = q1.length; - q2.first = q1.first; - q2.last = q1.last; - return clear(q1); - } -} - -function fillAux(_i, arr, _cell) { - while (true) { - let cell = _cell; - let i = _i; - if (cell === undefined) { - return; - } - arr[i] = cell.content; - _cell = cell.next; - _i = i + 1 | 0; - continue; - }; -} - -function toArray(x) { - let v = new Array(x.length); - fillAux(0, v, x.first); - return v; -} - -function fromArray(arr) { - let q = { - length: 0, - first: undefined, - last: undefined - }; - for (let i = 0, i_finish = arr.length; i < i_finish; ++i) { - add(q, arr[i]); - } - return q; -} - -let peekExn = peekOrThrow; - -let popExn = popOrThrow; - -let mapU = map; - -let forEachU = forEach; - -let reduceU = reduce; - -export { - make, - clear, - isEmpty, - fromArray, - add, - peek, - peekUndefined, - peekExn, - peekOrThrow, - pop, - popUndefined, - popExn, - popOrThrow, - copy, - size, - mapU, - map, - forEachU, - forEach, - reduceU, - reduce, - transfer, - toArray, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSet.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSet.js deleted file mode 100644 index c8959c0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSet.js +++ /dev/null @@ -1,527 +0,0 @@ - - -import * as Primitive_int from "./Primitive_int.js"; -import * as Belt_SortArray from "./Belt_SortArray.js"; -import * as Belt_internalAVLset from "./Belt_internalAVLset.js"; - -function remove0(nt, x, cmp) { - let k = nt.v; - let c = cmp(x, k); - if (c === 0) { - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (c < 0) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = remove0(l$1, x, cmp); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = remove0(r$1, x, cmp); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let newRoot = remove0(oldRoot, v, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function removeMany0(_t, xs, _i, len, cmp) { - while (true) { - let i = _i; - let t = _t; - if (i >= len) { - return t; - } - let ele = xs[i]; - let u = remove0(t, ele, cmp); - if (u === undefined) { - return; - } - _i = i + 1 | 0; - _t = u; - continue; - }; -} - -function removeMany(d, xs) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let len = xs.length; - d.data = removeMany0(oldRoot, xs, 0, len, d.cmp); -} - -function removeCheck0(nt, x, removed, cmp) { - let k = nt.v; - let c = cmp(x, k); - if (c === 0) { - removed.contents = true; - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (c < 0) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeCheck0(l$1, x, removed, cmp); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeCheck0(r$1, x, removed, cmp); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function removeCheck(d, v) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return false; - } - let removed = { - contents: false - }; - let newRoot = removeCheck0(oldRoot, v, removed, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - } - return removed.contents; -} - -function addCheck0(t, x, added, cmp) { - if (t !== undefined) { - let k = t.v; - let c = cmp(x, k); - if (c === 0) { - return t; - } - let l = t.l; - let r = t.r; - if (c < 0) { - let ll = addCheck0(l, x, added, cmp); - t.l = ll; - } else { - t.r = addCheck0(r, x, added, cmp); - } - return Belt_internalAVLset.balMutate(t); - } - added.contents = true; - return Belt_internalAVLset.singleton(x); -} - -function addCheck(m, e) { - let oldRoot = m.data; - let added = { - contents: false - }; - let newRoot = addCheck0(oldRoot, e, added, m.cmp); - if (newRoot !== oldRoot) { - m.data = newRoot; - } - return added.contents; -} - -function add(m, e) { - let oldRoot = m.data; - let newRoot = Belt_internalAVLset.addMutate(m.cmp, oldRoot, e); - if (newRoot !== oldRoot) { - m.data = newRoot; - return; - } -} - -function addArrayMutate(t, xs, cmp) { - let v = t; - for (let i = 0, i_finish = xs.length; i < i_finish; ++i) { - v = Belt_internalAVLset.addMutate(cmp, v, xs[i]); - } - return v; -} - -function mergeMany(d, xs) { - d.data = addArrayMutate(d.data, xs, d.cmp); -} - -function make(id) { - return { - cmp: id.cmp, - data: undefined - }; -} - -function isEmpty(d) { - let n = d.data; - return n === undefined; -} - -function minimum(d) { - return Belt_internalAVLset.minimum(d.data); -} - -function minUndefined(d) { - return Belt_internalAVLset.minUndefined(d.data); -} - -function maximum(d) { - return Belt_internalAVLset.maximum(d.data); -} - -function maxUndefined(d) { - return Belt_internalAVLset.maxUndefined(d.data); -} - -function forEach(d, f) { - Belt_internalAVLset.forEach(d.data, f); -} - -function reduce(d, acc, cb) { - return Belt_internalAVLset.reduce(d.data, acc, cb); -} - -function every(d, p) { - return Belt_internalAVLset.every(d.data, p); -} - -function some(d, p) { - return Belt_internalAVLset.some(d.data, p); -} - -function size(d) { - return Belt_internalAVLset.size(d.data); -} - -function toList(d) { - return Belt_internalAVLset.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLset.toArray(d.data); -} - -function fromSortedArrayUnsafe(xs, id) { - return { - cmp: id.cmp, - data: Belt_internalAVLset.fromSortedArrayUnsafe(xs) - }; -} - -function checkInvariantInternal(d) { - Belt_internalAVLset.checkInvariantInternal(d.data); -} - -function fromArray(data, id) { - let cmp = id.cmp; - return { - cmp: cmp, - data: Belt_internalAVLset.fromArray(data, cmp) - }; -} - -function cmp(d0, d1) { - return Belt_internalAVLset.cmp(d0.data, d1.data, d0.cmp); -} - -function eq(d0, d1) { - return Belt_internalAVLset.eq(d0.data, d1.data, d0.cmp); -} - -function get(d, x) { - return Belt_internalAVLset.get(d.data, x, d.cmp); -} - -function getUndefined(d, x) { - return Belt_internalAVLset.getUndefined(d.data, x, d.cmp); -} - -function getOrThrow(d, x) { - return Belt_internalAVLset.getOrThrow(d.data, x, d.cmp); -} - -function split(d, key) { - let arr = Belt_internalAVLset.toArray(d.data); - let cmp = d.cmp; - let i = Belt_SortArray.binarySearchBy(arr, key, cmp); - let len = arr.length; - if (i >= 0) { - return [ - [ - { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, i) - }, - { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(arr, i + 1 | 0, (len - i | 0) - 1 | 0) - } - ], - true - ]; - } - let next = (-i | 0) - 1 | 0; - return [ - [ - { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, next) - }, - { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(arr, next, len - next | 0) - } - ], - false - ]; -} - -function keep(d, p) { - return { - cmp: d.cmp, - data: Belt_internalAVLset.keepCopy(d.data, p) - }; -} - -function partition(d, p) { - let cmp = d.cmp; - let match = Belt_internalAVLset.partitionCopy(d.data, p); - return [ - { - cmp: cmp, - data: match[0] - }, - { - cmp: cmp, - data: match[1] - } - ]; -} - -function subset(a, b) { - return Belt_internalAVLset.subset(a.data, b.data, a.cmp); -} - -function intersect(a, b) { - let cmp = a.cmp; - let match = a.data; - let match$1 = b.data; - if (match === undefined) { - return { - cmp: cmp, - data: undefined - }; - } - if (match$1 === undefined) { - return { - cmp: cmp, - data: undefined - }; - } - let sizea = Belt_internalAVLset.lengthNode(match); - let sizeb = Belt_internalAVLset.lengthNode(match$1); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(match, 0, tmp); - Belt_internalAVLset.fillArray(match$1, sizea, tmp); - if (cmp(tmp[sizea - 1 | 0], tmp[sizea]) < 0 || cmp(tmp[totalSize - 1 | 0], tmp[0]) < 0) { - return { - cmp: cmp, - data: undefined - }; - } - let tmp2 = new Array(Primitive_int.min(sizea, sizeb)); - let k = Belt_SortArray.intersect(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0, cmp); - return { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function diff(a, b) { - let cmp = a.cmp; - let dataa = a.data; - let match = b.data; - if (dataa === undefined) { - return { - cmp: cmp, - data: undefined - }; - } - if (match === undefined) { - return { - cmp: cmp, - data: Belt_internalAVLset.copy(dataa) - }; - } - let sizea = Belt_internalAVLset.lengthNode(dataa); - let sizeb = Belt_internalAVLset.lengthNode(match); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa, 0, tmp); - Belt_internalAVLset.fillArray(match, sizea, tmp); - if (cmp(tmp[sizea - 1 | 0], tmp[sizea]) < 0 || cmp(tmp[totalSize - 1 | 0], tmp[0]) < 0) { - return { - cmp: cmp, - data: Belt_internalAVLset.copy(dataa) - }; - } - let tmp2 = new Array(sizea); - let k = Belt_SortArray.diff(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0, cmp); - return { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function union(a, b) { - let cmp = a.cmp; - let dataa = a.data; - let datab = b.data; - if (dataa === undefined) { - return { - cmp: cmp, - data: Belt_internalAVLset.copy(datab) - }; - } - if (datab === undefined) { - return { - cmp: cmp, - data: Belt_internalAVLset.copy(dataa) - }; - } - let sizea = Belt_internalAVLset.lengthNode(dataa); - let sizeb = Belt_internalAVLset.lengthNode(datab); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa, 0, tmp); - Belt_internalAVLset.fillArray(datab, sizea, tmp); - if (cmp(tmp[sizea - 1 | 0], tmp[sizea]) < 0) { - return { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(tmp, 0, totalSize) - }; - } - let tmp2 = new Array(totalSize); - let k = Belt_SortArray.union(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0, cmp); - return { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function has(d, x) { - return Belt_internalAVLset.has(d.data, x, d.cmp); -} - -function copy(d) { - return { - cmp: d.cmp, - data: Belt_internalAVLset.copy(d.data) - }; -} - -let Int; - -let $$String; - -let forEachU = forEach; - -let reduceU = reduce; - -let everyU = every; - -let someU = some; - -let keepU = keep; - -let partitionU = partition; - -let getExn = getOrThrow; - -export { - Int, - $$String, - make, - fromArray, - fromSortedArrayUnsafe, - copy, - isEmpty, - has, - add, - addCheck, - mergeMany, - remove, - removeCheck, - removeMany, - union, - intersect, - diff, - subset, - cmp, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - keepU, - keep, - partitionU, - partition, - size, - toList, - toArray, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getExn, - getOrThrow, - split, - checkInvariantInternal, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSetInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSetInt.js deleted file mode 100644 index 8eeb7c5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSetInt.js +++ /dev/null @@ -1,490 +0,0 @@ - - -import * as Primitive_int from "./Primitive_int.js"; -import * as Belt_SortArrayInt from "./Belt_SortArrayInt.js"; -import * as Belt_internalAVLset from "./Belt_internalAVLset.js"; -import * as Belt_internalSetInt from "./Belt_internalSetInt.js"; - -function remove0(nt, x) { - let k = nt.v; - if (x === k) { - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = remove0(l$1, x); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = remove0(r$1, x); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let newRoot = remove0(oldRoot, v); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function removeMany0(_t, xs, _i, len) { - while (true) { - let i = _i; - let t = _t; - if (i >= len) { - return t; - } - let ele = xs[i]; - let u = remove0(t, ele); - if (u === undefined) { - return; - } - _i = i + 1 | 0; - _t = u; - continue; - }; -} - -function removeMany(d, xs) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let len = xs.length; - d.data = removeMany0(oldRoot, xs, 0, len); -} - -function removeCheck0(nt, x, removed) { - let k = nt.v; - if (x === k) { - removed.contents = true; - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeCheck0(l$1, x, removed); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeCheck0(r$1, x, removed); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function removeCheck(d, v) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return false; - } - let removed = { - contents: false - }; - let newRoot = removeCheck0(oldRoot, v, removed); - if (newRoot !== oldRoot) { - d.data = newRoot; - } - return removed.contents; -} - -function addCheck0(t, x, added) { - if (t !== undefined) { - let k = t.v; - if (x === k) { - return t; - } - let l = t.l; - let r = t.r; - if (x < k) { - let ll = addCheck0(l, x, added); - t.l = ll; - } else { - t.r = addCheck0(r, x, added); - } - return Belt_internalAVLset.balMutate(t); - } - added.contents = true; - return Belt_internalAVLset.singleton(x); -} - -function addCheck(m, e) { - let oldRoot = m.data; - let added = { - contents: false - }; - let newRoot = addCheck0(oldRoot, e, added); - if (newRoot !== oldRoot) { - m.data = newRoot; - } - return added.contents; -} - -function add(d, k) { - let oldRoot = d.data; - let v = Belt_internalSetInt.addMutate(oldRoot, k); - if (v !== oldRoot) { - d.data = v; - return; - } -} - -function addArrayMutate(t, xs) { - let v = t; - for (let i = 0, i_finish = xs.length; i < i_finish; ++i) { - v = Belt_internalSetInt.addMutate(v, xs[i]); - } - return v; -} - -function mergeMany(d, arr) { - d.data = addArrayMutate(d.data, arr); -} - -function make() { - return { - data: undefined - }; -} - -function isEmpty(d) { - let n = d.data; - return n === undefined; -} - -function minimum(d) { - return Belt_internalAVLset.minimum(d.data); -} - -function minUndefined(d) { - return Belt_internalAVLset.minUndefined(d.data); -} - -function maximum(d) { - return Belt_internalAVLset.maximum(d.data); -} - -function maxUndefined(d) { - return Belt_internalAVLset.maxUndefined(d.data); -} - -function forEach(d, f) { - Belt_internalAVLset.forEach(d.data, f); -} - -function reduce(d, acc, cb) { - return Belt_internalAVLset.reduce(d.data, acc, cb); -} - -function every(d, p) { - return Belt_internalAVLset.every(d.data, p); -} - -function some(d, p) { - return Belt_internalAVLset.some(d.data, p); -} - -function size(d) { - return Belt_internalAVLset.size(d.data); -} - -function toList(d) { - return Belt_internalAVLset.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLset.toArray(d.data); -} - -function fromSortedArrayUnsafe(xs) { - return { - data: Belt_internalAVLset.fromSortedArrayUnsafe(xs) - }; -} - -function checkInvariantInternal(d) { - Belt_internalAVLset.checkInvariantInternal(d.data); -} - -function fromArray(xs) { - return { - data: Belt_internalSetInt.fromArray(xs) - }; -} - -function cmp(d0, d1) { - return Belt_internalSetInt.cmp(d0.data, d1.data); -} - -function eq(d0, d1) { - return Belt_internalSetInt.eq(d0.data, d1.data); -} - -function get(d, x) { - return Belt_internalSetInt.get(d.data, x); -} - -function getUndefined(d, x) { - return Belt_internalSetInt.getUndefined(d.data, x); -} - -function getOrThrow(d, x) { - return Belt_internalSetInt.getOrThrow(d.data, x); -} - -function split(d, key) { - let arr = Belt_internalAVLset.toArray(d.data); - let i = Belt_SortArrayInt.binarySearch(arr, key); - let len = arr.length; - if (i >= 0) { - return [ - [ - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, i) - }, - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, i + 1 | 0, (len - i | 0) - 1 | 0) - } - ], - true - ]; - } - let next = (-i | 0) - 1 | 0; - return [ - [ - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, next) - }, - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, next, len - next | 0) - } - ], - false - ]; -} - -function keep(d, p) { - return { - data: Belt_internalAVLset.keepCopy(d.data, p) - }; -} - -function partition(d, p) { - let match = Belt_internalAVLset.partitionCopy(d.data, p); - return [ - { - data: match[0] - }, - { - data: match[1] - } - ]; -} - -function subset(a, b) { - return Belt_internalSetInt.subset(a.data, b.data); -} - -function intersect(dataa, datab) { - let dataa$1 = dataa.data; - let datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: undefined - }; - } - if (datab$1 === undefined) { - return { - data: undefined - }; - } - let sizea = Belt_internalAVLset.lengthNode(dataa$1); - let sizeb = Belt_internalAVLset.lengthNode(datab$1); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea] || tmp[totalSize - 1 | 0] < tmp[0]) { - return { - data: undefined - }; - } - let tmp2 = new Array(Primitive_int.min(sizea, sizeb)); - let k = Belt_SortArrayInt.intersect(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function diff(dataa, datab) { - let dataa$1 = dataa.data; - let datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: undefined - }; - } - if (datab$1 === undefined) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - let sizea = Belt_internalAVLset.lengthNode(dataa$1); - let sizeb = Belt_internalAVLset.lengthNode(datab$1); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea] || tmp[totalSize - 1 | 0] < tmp[0]) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - let tmp2 = new Array(sizea); - let k = Belt_SortArrayInt.diff(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function union(dataa, datab) { - let dataa$1 = dataa.data; - let datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: Belt_internalAVLset.copy(datab$1) - }; - } - if (datab$1 === undefined) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - let sizea = Belt_internalAVLset.lengthNode(dataa$1); - let sizeb = Belt_internalAVLset.lengthNode(datab$1); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea]) { - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp, 0, totalSize) - }; - } - let tmp2 = new Array(totalSize); - let k = Belt_SortArrayInt.union(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function has(d, x) { - return Belt_internalSetInt.has(d.data, x); -} - -function copy(d) { - return { - data: Belt_internalAVLset.copy(d.data) - }; -} - -let forEachU = forEach; - -let reduceU = reduce; - -let everyU = every; - -let someU = some; - -let keepU = keep; - -let partitionU = partition; - -let getExn = getOrThrow; - -export { - make, - fromArray, - fromSortedArrayUnsafe, - copy, - isEmpty, - has, - add, - addCheck, - mergeMany, - remove, - removeCheck, - removeMany, - union, - intersect, - diff, - subset, - cmp, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - keepU, - keep, - partitionU, - partition, - size, - toList, - toArray, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getExn, - getOrThrow, - split, - checkInvariantInternal, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSetString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSetString.js deleted file mode 100644 index a2479fb..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableSetString.js +++ /dev/null @@ -1,490 +0,0 @@ - - -import * as Primitive_int from "./Primitive_int.js"; -import * as Belt_internalAVLset from "./Belt_internalAVLset.js"; -import * as Belt_SortArrayString from "./Belt_SortArrayString.js"; -import * as Belt_internalSetString from "./Belt_internalSetString.js"; - -function remove0(nt, x) { - let k = nt.v; - if (x === k) { - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = remove0(l$1, x); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = remove0(r$1, x); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let newRoot = remove0(oldRoot, v); - if (newRoot !== oldRoot) { - d.data = newRoot; - return; - } -} - -function removeMany0(_t, xs, _i, len) { - while (true) { - let i = _i; - let t = _t; - if (i >= len) { - return t; - } - let ele = xs[i]; - let u = remove0(t, ele); - if (u === undefined) { - return; - } - _i = i + 1 | 0; - _t = u; - continue; - }; -} - -function removeMany(d, xs) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return; - } - let len = xs.length; - d.data = removeMany0(oldRoot, xs, 0, len); -} - -function removeCheck0(nt, x, removed) { - let k = nt.v; - if (x === k) { - removed.contents = true; - let l = nt.l; - let r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - let l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeCheck0(l$1, x, removed); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - let r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeCheck0(r$1, x, removed); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function removeCheck(d, v) { - let oldRoot = d.data; - if (oldRoot === undefined) { - return false; - } - let removed = { - contents: false - }; - let newRoot = removeCheck0(oldRoot, v, removed); - if (newRoot !== oldRoot) { - d.data = newRoot; - } - return removed.contents; -} - -function addCheck0(t, x, added) { - if (t !== undefined) { - let k = t.v; - if (x === k) { - return t; - } - let l = t.l; - let r = t.r; - if (x < k) { - let ll = addCheck0(l, x, added); - t.l = ll; - } else { - t.r = addCheck0(r, x, added); - } - return Belt_internalAVLset.balMutate(t); - } - added.contents = true; - return Belt_internalAVLset.singleton(x); -} - -function addCheck(m, e) { - let oldRoot = m.data; - let added = { - contents: false - }; - let newRoot = addCheck0(oldRoot, e, added); - if (newRoot !== oldRoot) { - m.data = newRoot; - } - return added.contents; -} - -function add(d, k) { - let oldRoot = d.data; - let v = Belt_internalSetString.addMutate(oldRoot, k); - if (v !== oldRoot) { - d.data = v; - return; - } -} - -function addArrayMutate(t, xs) { - let v = t; - for (let i = 0, i_finish = xs.length; i < i_finish; ++i) { - v = Belt_internalSetString.addMutate(v, xs[i]); - } - return v; -} - -function mergeMany(d, arr) { - d.data = addArrayMutate(d.data, arr); -} - -function make() { - return { - data: undefined - }; -} - -function isEmpty(d) { - let n = d.data; - return n === undefined; -} - -function minimum(d) { - return Belt_internalAVLset.minimum(d.data); -} - -function minUndefined(d) { - return Belt_internalAVLset.minUndefined(d.data); -} - -function maximum(d) { - return Belt_internalAVLset.maximum(d.data); -} - -function maxUndefined(d) { - return Belt_internalAVLset.maxUndefined(d.data); -} - -function forEach(d, f) { - Belt_internalAVLset.forEach(d.data, f); -} - -function reduce(d, acc, cb) { - return Belt_internalAVLset.reduce(d.data, acc, cb); -} - -function every(d, p) { - return Belt_internalAVLset.every(d.data, p); -} - -function some(d, p) { - return Belt_internalAVLset.some(d.data, p); -} - -function size(d) { - return Belt_internalAVLset.size(d.data); -} - -function toList(d) { - return Belt_internalAVLset.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLset.toArray(d.data); -} - -function fromSortedArrayUnsafe(xs) { - return { - data: Belt_internalAVLset.fromSortedArrayUnsafe(xs) - }; -} - -function checkInvariantInternal(d) { - Belt_internalAVLset.checkInvariantInternal(d.data); -} - -function fromArray(xs) { - return { - data: Belt_internalSetString.fromArray(xs) - }; -} - -function cmp(d0, d1) { - return Belt_internalSetString.cmp(d0.data, d1.data); -} - -function eq(d0, d1) { - return Belt_internalSetString.eq(d0.data, d1.data); -} - -function get(d, x) { - return Belt_internalSetString.get(d.data, x); -} - -function getUndefined(d, x) { - return Belt_internalSetString.getUndefined(d.data, x); -} - -function getOrThrow(d, x) { - return Belt_internalSetString.getOrThrow(d.data, x); -} - -function split(d, key) { - let arr = Belt_internalAVLset.toArray(d.data); - let i = Belt_SortArrayString.binarySearch(arr, key); - let len = arr.length; - if (i >= 0) { - return [ - [ - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, i) - }, - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, i + 1 | 0, (len - i | 0) - 1 | 0) - } - ], - true - ]; - } - let next = (-i | 0) - 1 | 0; - return [ - [ - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, next) - }, - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, next, len - next | 0) - } - ], - false - ]; -} - -function keep(d, p) { - return { - data: Belt_internalAVLset.keepCopy(d.data, p) - }; -} - -function partition(d, p) { - let match = Belt_internalAVLset.partitionCopy(d.data, p); - return [ - { - data: match[0] - }, - { - data: match[1] - } - ]; -} - -function subset(a, b) { - return Belt_internalSetString.subset(a.data, b.data); -} - -function intersect(dataa, datab) { - let dataa$1 = dataa.data; - let datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: undefined - }; - } - if (datab$1 === undefined) { - return { - data: undefined - }; - } - let sizea = Belt_internalAVLset.lengthNode(dataa$1); - let sizeb = Belt_internalAVLset.lengthNode(datab$1); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea] || tmp[totalSize - 1 | 0] < tmp[0]) { - return { - data: undefined - }; - } - let tmp2 = new Array(Primitive_int.min(sizea, sizeb)); - let k = Belt_SortArrayString.intersect(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function diff(dataa, datab) { - let dataa$1 = dataa.data; - let datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: undefined - }; - } - if (datab$1 === undefined) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - let sizea = Belt_internalAVLset.lengthNode(dataa$1); - let sizeb = Belt_internalAVLset.lengthNode(datab$1); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea] || tmp[totalSize - 1 | 0] < tmp[0]) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - let tmp2 = new Array(sizea); - let k = Belt_SortArrayString.diff(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function union(dataa, datab) { - let dataa$1 = dataa.data; - let datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: Belt_internalAVLset.copy(datab$1) - }; - } - if (datab$1 === undefined) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - let sizea = Belt_internalAVLset.lengthNode(dataa$1); - let sizeb = Belt_internalAVLset.lengthNode(datab$1); - let totalSize = sizea + sizeb | 0; - let tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea]) { - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp, 0, totalSize) - }; - } - let tmp2 = new Array(totalSize); - let k = Belt_SortArrayString.union(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function has(d, x) { - return Belt_internalSetString.has(d.data, x); -} - -function copy(d) { - return { - data: Belt_internalAVLset.copy(d.data) - }; -} - -let forEachU = forEach; - -let reduceU = reduce; - -let everyU = every; - -let someU = some; - -let keepU = keep; - -let partitionU = partition; - -let getExn = getOrThrow; - -export { - make, - fromArray, - fromSortedArrayUnsafe, - copy, - isEmpty, - has, - add, - addCheck, - mergeMany, - remove, - removeCheck, - removeMany, - union, - intersect, - diff, - subset, - cmp, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - keepU, - keep, - partitionU, - partition, - size, - toList, - toArray, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getExn, - getOrThrow, - split, - checkInvariantInternal, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableStack.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableStack.js deleted file mode 100644 index 79c1d58..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_MutableStack.js +++ /dev/null @@ -1,128 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function make() { - return { - root: undefined - }; -} - -function clear(s) { - s.root = undefined; -} - -function copy(s) { - return { - root: s.root - }; -} - -function push(s, x) { - s.root = { - head: x, - tail: s.root - }; -} - -function topUndefined(s) { - let x = s.root; - if (x !== undefined) { - return x.head; - } -} - -function top(s) { - let x = s.root; - if (x !== undefined) { - return Primitive_option.some(x.head); - } -} - -function isEmpty(s) { - return s.root === undefined; -} - -function popUndefined(s) { - let x = s.root; - if (x !== undefined) { - s.root = x.tail; - return x.head; - } -} - -function pop(s) { - let x = s.root; - if (x !== undefined) { - s.root = x.tail; - return Primitive_option.some(x.head); - } -} - -function size(s) { - let x = s.root; - if (x !== undefined) { - let _x = x; - let _acc = 0; - while (true) { - let acc = _acc; - let x$1 = _x; - let x$2 = x$1.tail; - if (x$2 === undefined) { - return acc + 1 | 0; - } - _acc = acc + 1 | 0; - _x = x$2; - continue; - }; - } else { - return 0; - } -} - -function forEach(s, f) { - let _s = s.root; - while (true) { - let s$1 = _s; - if (s$1 === undefined) { - return; - } - f(s$1.head); - _s = s$1.tail; - continue; - }; -} - -function dynamicPopIter(s, f) { - while (true) { - let match = s.root; - if (match === undefined) { - return; - } - s.root = match.tail; - f(match.head); - continue; - }; -} - -let forEachU = forEach; - -let dynamicPopIterU = dynamicPopIter; - -export { - make, - clear, - copy, - push, - popUndefined, - pop, - topUndefined, - top, - isEmpty, - size, - forEachU, - forEach, - dynamicPopIterU, - dynamicPopIter, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Option.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Option.js deleted file mode 100644 index 6a36ae5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Option.js +++ /dev/null @@ -1,135 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function keep(opt, p) { - if (opt !== undefined && p(Primitive_option.valFromOption(opt))) { - return opt; - } -} - -function forEach(opt, f) { - if (opt !== undefined) { - return f(Primitive_option.valFromOption(opt)); - } -} - -function getOrThrow(x) { - if (x !== undefined) { - return Primitive_option.valFromOption(x); - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function mapWithDefault(opt, $$default, f) { - if (opt !== undefined) { - return f(Primitive_option.valFromOption(opt)); - } else { - return $$default; - } -} - -function map(opt, f) { - if (opt !== undefined) { - return Primitive_option.some(f(Primitive_option.valFromOption(opt))); - } -} - -function flatMap(opt, f) { - if (opt !== undefined) { - return f(Primitive_option.valFromOption(opt)); - } -} - -function getWithDefault(opt, $$default) { - if (opt !== undefined) { - return Primitive_option.valFromOption(opt); - } else { - return $$default; - } -} - -function orElse(opt, other) { - if (opt !== undefined) { - return opt; - } else { - return other; - } -} - -function isSome(x) { - return x !== undefined; -} - -function isNone(x) { - return x === undefined; -} - -function eq(a, b, f) { - if (a !== undefined) { - if (b !== undefined) { - return f(Primitive_option.valFromOption(a), Primitive_option.valFromOption(b)); - } else { - return false; - } - } else { - return b === undefined; - } -} - -function cmp(a, b, f) { - if (a !== undefined) { - if (b !== undefined) { - return f(Primitive_option.valFromOption(a), Primitive_option.valFromOption(b)); - } else { - return 1; - } - } else if (b !== undefined) { - return -1; - } else { - return 0; - } -} - -let keepU = keep; - -let forEachU = forEach; - -let getExn = getOrThrow; - -let mapWithDefaultU = mapWithDefault; - -let mapU = map; - -let flatMapU = flatMap; - -let eqU = eq; - -let cmpU = cmp; - -export { - keepU, - keep, - forEachU, - forEach, - getExn, - getOrThrow, - mapWithDefaultU, - mapWithDefault, - mapU, - map, - flatMapU, - flatMap, - getWithDefault, - orElse, - isSome, - isNone, - eqU, - eq, - cmpU, - cmp, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Range.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Range.js deleted file mode 100644 index 1cc6096..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Range.js +++ /dev/null @@ -1,98 +0,0 @@ - - - -function forEach(s, f, action) { - for (let i = s; i <= f; ++i) { - action(i); - } -} - -function every(_s, f, p) { - while (true) { - let s = _s; - if (s > f) { - return true; - } - if (!p(s)) { - return false; - } - _s = s + 1 | 0; - continue; - }; -} - -function everyBy(s, f, step, p) { - if (step > 0) { - let _s = s; - while (true) { - let s$1 = _s; - if (s$1 > f) { - return true; - } - if (!p(s$1)) { - return false; - } - _s = s$1 + step | 0; - continue; - }; - } else { - return true; - } -} - -function some(_s, f, p) { - while (true) { - let s = _s; - if (s > f) { - return false; - } - if (p(s)) { - return true; - } - _s = s + 1 | 0; - continue; - }; -} - -function someBy(s, f, step, p) { - if (step > 0) { - let _s = s; - while (true) { - let s$1 = _s; - if (s$1 > f) { - return false; - } - if (p(s$1)) { - return true; - } - _s = s$1 + step | 0; - continue; - }; - } else { - return false; - } -} - -let forEachU = forEach; - -let everyU = every; - -let everyByU = everyBy; - -let someU = some; - -let someByU = someBy; - -export { - forEachU, - forEach, - everyU, - every, - everyByU, - everyBy, - someU, - some, - someByU, - someBy, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Result.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Result.js deleted file mode 100644 index b8c9739..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Result.js +++ /dev/null @@ -1,118 +0,0 @@ - - - -function getOrThrow(x) { - if (x.TAG === "Ok") { - return x._0; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function mapWithDefault(opt, $$default, f) { - if (opt.TAG === "Ok") { - return f(opt._0); - } else { - return $$default; - } -} - -function map(opt, f) { - if (opt.TAG === "Ok") { - return { - TAG: "Ok", - _0: f(opt._0) - }; - } else { - return { - TAG: "Error", - _0: opt._0 - }; - } -} - -function flatMap(opt, f) { - if (opt.TAG === "Ok") { - return f(opt._0); - } else { - return { - TAG: "Error", - _0: opt._0 - }; - } -} - -function getWithDefault(opt, $$default) { - if (opt.TAG === "Ok") { - return opt._0; - } else { - return $$default; - } -} - -function isOk(x) { - return x.TAG === "Ok"; -} - -function isError(x) { - return x.TAG !== "Ok"; -} - -function eq(a, b, f) { - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - return f(a._0, b._0); - } else { - return false; - } - } else { - return b.TAG !== "Ok"; - } -} - -function cmp(a, b, f) { - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - return f(a._0, b._0); - } else { - return 1; - } - } else if (b.TAG === "Ok") { - return -1; - } else { - return 0; - } -} - -let getExn = getOrThrow; - -let mapWithDefaultU = mapWithDefault; - -let mapU = map; - -let flatMapU = flatMap; - -let eqU = eq; - -let cmpU = cmp; - -export { - getExn, - getOrThrow, - mapWithDefaultU, - mapWithDefault, - mapU, - map, - flatMapU, - flatMap, - getWithDefault, - isOk, - isError, - eqU, - eq, - cmpU, - cmp, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Set.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_Set.js deleted file mode 100644 index 6826629..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_Set.js +++ /dev/null @@ -1,304 +0,0 @@ - - -import * as Belt_SetDict from "./Belt_SetDict.js"; - -function fromArray(data, id) { - let cmp = id.cmp; - return { - cmp: cmp, - data: Belt_SetDict.fromArray(data, cmp) - }; -} - -function remove(m, e) { - let data = m.data; - let cmp = m.cmp; - let newData = Belt_SetDict.remove(data, e, cmp); - if (newData === data) { - return m; - } else { - return { - cmp: cmp, - data: newData - }; - } -} - -function add(m, e) { - let data = m.data; - let cmp = m.cmp; - let newData = Belt_SetDict.add(data, e, cmp); - if (newData === data) { - return m; - } else { - return { - cmp: cmp, - data: newData - }; - } -} - -function mergeMany(m, e) { - let cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.mergeMany(m.data, e, cmp) - }; -} - -function removeMany(m, e) { - let cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.removeMany(m.data, e, cmp) - }; -} - -function union(m, n) { - let cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.union(m.data, n.data, cmp) - }; -} - -function intersect(m, n) { - let cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.intersect(m.data, n.data, cmp) - }; -} - -function diff(m, n) { - let cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.diff(m.data, n.data, cmp) - }; -} - -function subset(m, n) { - let cmp = m.cmp; - return Belt_SetDict.subset(m.data, n.data, cmp); -} - -function split(m, e) { - let cmp = m.cmp; - let match = Belt_SetDict.split(m.data, e, cmp); - let match$1 = match[0]; - return [ - [ - { - cmp: cmp, - data: match$1[0] - }, - { - cmp: cmp, - data: match$1[1] - } - ], - match[1] - ]; -} - -function make(id) { - return { - cmp: id.cmp, - data: undefined - }; -} - -function isEmpty(m) { - return Belt_SetDict.isEmpty(m.data); -} - -function cmp(m, n) { - let cmp$1 = m.cmp; - return Belt_SetDict.cmp(m.data, n.data, cmp$1); -} - -function eq(m, n) { - return Belt_SetDict.eq(m.data, n.data, m.cmp); -} - -function forEach(m, f) { - Belt_SetDict.forEach(m.data, f); -} - -function reduce(m, acc, f) { - return Belt_SetDict.reduce(m.data, acc, f); -} - -function every(m, f) { - return Belt_SetDict.every(m.data, f); -} - -function some(m, f) { - return Belt_SetDict.some(m.data, f); -} - -function keep(m, f) { - return { - cmp: m.cmp, - data: Belt_SetDict.keep(m.data, f) - }; -} - -function partition(m, f) { - let match = Belt_SetDict.partition(m.data, f); - let cmp = m.cmp; - return [ - { - cmp: cmp, - data: match[0] - }, - { - cmp: cmp, - data: match[1] - } - ]; -} - -function size(m) { - return Belt_SetDict.size(m.data); -} - -function toList(m) { - return Belt_SetDict.toList(m.data); -} - -function toArray(m) { - return Belt_SetDict.toArray(m.data); -} - -function minimum(m) { - return Belt_SetDict.minimum(m.data); -} - -function minUndefined(m) { - return Belt_SetDict.minUndefined(m.data); -} - -function maximum(m) { - return Belt_SetDict.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_SetDict.maxUndefined(m.data); -} - -function get(m, e) { - return Belt_SetDict.get(m.data, e, m.cmp); -} - -function getUndefined(m, e) { - return Belt_SetDict.getUndefined(m.data, e, m.cmp); -} - -function getOrThrow(m, e) { - return Belt_SetDict.getOrThrow(m.data, e, m.cmp); -} - -function has(m, e) { - return Belt_SetDict.has(m.data, e, m.cmp); -} - -function fromSortedArrayUnsafe(xs, id) { - return { - cmp: id.cmp, - data: Belt_SetDict.fromSortedArrayUnsafe(xs) - }; -} - -function getData(m) { - return m.data; -} - -function getId(m) { - let cmp = m.cmp; - return { - cmp: cmp - }; -} - -function packIdData(id, data) { - return { - cmp: id.cmp, - data: data - }; -} - -function checkInvariantInternal(d) { - Belt_SetDict.checkInvariantInternal(d.data); -} - -let Int; - -let $$String; - -let Dict; - -let forEachU = forEach; - -let reduceU = reduce; - -let everyU = every; - -let someU = some; - -let keepU = keep; - -let partitionU = partition; - -let getExn = getOrThrow; - -export { - Int, - $$String, - Dict, - make, - fromArray, - fromSortedArrayUnsafe, - isEmpty, - has, - add, - mergeMany, - remove, - removeMany, - union, - intersect, - diff, - subset, - cmp, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - keepU, - keep, - partitionU, - partition, - size, - toArray, - toList, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getExn, - getOrThrow, - split, - checkInvariantInternal, - getData, - getId, - packIdData, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetDict.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetDict.js deleted file mode 100644 index 89db93a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetDict.js +++ /dev/null @@ -1,365 +0,0 @@ - - -import * as Belt_internalAVLset from "./Belt_internalAVLset.js"; - -function add(t, x, cmp) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - let k = t.v; - let c = cmp(x, k); - if (c === 0) { - return t; - } - let l = t.l; - let r = t.r; - if (c < 0) { - let ll = add(l, x, cmp); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, k, r); - } - } - let rr = add(r, x, cmp); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, k, rr); - } -} - -function remove(t, x, cmp) { - if (t === undefined) { - return t; - } - let v = t.v; - let l = t.l; - let r = t.r; - let c = cmp(x, v); - if (c === 0) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let v$1 = { - contents: r.v - }; - let r$1 = Belt_internalAVLset.removeMinAuxWithRef(r, v$1); - return Belt_internalAVLset.bal(l, v$1.contents, r$1); - } - if (c < 0) { - let ll = remove(l, x, cmp); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - let rr = remove(r, x, cmp); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function mergeMany(h, arr, cmp) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let key = arr[i]; - v = add(v, key, cmp); - } - return v; -} - -function removeMany(h, arr, cmp) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let key = arr[i]; - v = remove(v, key, cmp); - } - return v; -} - -function splitAuxNoPivot(cmp, n, x) { - let v = n.v; - let l = n.l; - let r = n.r; - let c = cmp(x, v); - if (c === 0) { - return [ - l, - r - ]; - } - if (c < 0) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - let match = splitAuxNoPivot(cmp, l, x); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - let match$1 = splitAuxNoPivot(cmp, r, x); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function splitAuxPivot(cmp, n, x, pres) { - let v = n.v; - let l = n.l; - let r = n.r; - let c = cmp(x, v); - if (c === 0) { - pres.contents = true; - return [ - l, - r - ]; - } - if (c < 0) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - let match = splitAuxPivot(cmp, l, x, pres); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - let match$1 = splitAuxPivot(cmp, r, x, pres); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function split(t, x, cmp) { - if (t === undefined) { - return [ - [ - undefined, - undefined - ], - false - ]; - } - let pres = { - contents: false - }; - let v = splitAuxPivot(cmp, t, x, pres); - return [ - v, - pres.contents - ]; -} - -function union(s1, s2, cmp) { - if (s1 === undefined) { - return s2; - } - if (s2 === undefined) { - return s1; - } - let h1 = s1.h; - let h2 = s2.h; - if (h1 >= h2) { - if (h2 === 1) { - return add(s1, s2.v, cmp); - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let match = splitAuxNoPivot(cmp, s2, v1); - return Belt_internalAVLset.joinShared(union(l1, match[0], cmp), v1, union(r1, match[1], cmp)); - } - if (h1 === 1) { - return add(s2, s1.v, cmp); - } - let v2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - let match$1 = splitAuxNoPivot(cmp, s1, v2); - return Belt_internalAVLset.joinShared(union(match$1[0], l2, cmp), v2, union(match$1[1], r2, cmp)); -} - -function intersect(s1, s2, cmp) { - if (s1 === undefined) { - return; - } - if (s2 === undefined) { - return; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let pres = { - contents: false - }; - let match = splitAuxPivot(cmp, s2, v1, pres); - let ll = intersect(l1, match[0], cmp); - let rr = intersect(r1, match[1], cmp); - if (pres.contents) { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } else { - return Belt_internalAVLset.concatShared(ll, rr); - } -} - -function diff(s1, s2, cmp) { - if (s1 === undefined) { - return s1; - } - if (s2 === undefined) { - return s1; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let pres = { - contents: false - }; - let match = splitAuxPivot(cmp, s2, v1, pres); - let ll = diff(l1, match[0], cmp); - let rr = diff(r1, match[1], cmp); - if (pres.contents) { - return Belt_internalAVLset.concatShared(ll, rr); - } else { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } -} - -let empty; - -let fromArray = Belt_internalAVLset.fromArray; - -let fromSortedArrayUnsafe = Belt_internalAVLset.fromSortedArrayUnsafe; - -let isEmpty = Belt_internalAVLset.isEmpty; - -let has = Belt_internalAVLset.has; - -let subset = Belt_internalAVLset.subset; - -let cmp = Belt_internalAVLset.cmp; - -let eq = Belt_internalAVLset.eq; - -let forEachU = Belt_internalAVLset.forEach; - -let forEach = Belt_internalAVLset.forEach; - -let reduceU = Belt_internalAVLset.reduce; - -let reduce = Belt_internalAVLset.reduce; - -let everyU = Belt_internalAVLset.every; - -let every = Belt_internalAVLset.every; - -let someU = Belt_internalAVLset.some; - -let some = Belt_internalAVLset.some; - -let keepU = Belt_internalAVLset.keepShared; - -let keep = Belt_internalAVLset.keepShared; - -let partitionU = Belt_internalAVLset.partitionShared; - -let partition = Belt_internalAVLset.partitionShared; - -let size = Belt_internalAVLset.size; - -let toList = Belt_internalAVLset.toList; - -let toArray = Belt_internalAVLset.toArray; - -let minimum = Belt_internalAVLset.minimum; - -let minUndefined = Belt_internalAVLset.minUndefined; - -let maximum = Belt_internalAVLset.maximum; - -let maxUndefined = Belt_internalAVLset.maxUndefined; - -let get = Belt_internalAVLset.get; - -let getUndefined = Belt_internalAVLset.getUndefined; - -let getExn = Belt_internalAVLset.getOrThrow; - -let getOrThrow = Belt_internalAVLset.getOrThrow; - -let checkInvariantInternal = Belt_internalAVLset.checkInvariantInternal; - -export { - empty, - fromArray, - fromSortedArrayUnsafe, - isEmpty, - has, - add, - mergeMany, - remove, - removeMany, - union, - intersect, - diff, - subset, - cmp, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - keepU, - keep, - partitionU, - partition, - size, - toList, - toArray, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getExn, - getOrThrow, - split, - checkInvariantInternal, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetInt.js deleted file mode 100644 index 0867aaa..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetInt.js +++ /dev/null @@ -1,362 +0,0 @@ - - -import * as Belt_internalAVLset from "./Belt_internalAVLset.js"; -import * as Belt_internalSetInt from "./Belt_internalSetInt.js"; - -function add(t, x) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - let v = t.v; - if (x === v) { - return t; - } - let l = t.l; - let r = t.r; - if (x < v) { - let ll = add(l, x); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - let rr = add(r, x); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function mergeMany(h, arr) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let key = arr[i]; - v = add(v, key); - } - return v; -} - -function remove(t, x) { - if (t === undefined) { - return t; - } - let v = t.v; - let l = t.l; - let r = t.r; - if (x === v) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let v$1 = { - contents: r.v - }; - let r$1 = Belt_internalAVLset.removeMinAuxWithRef(r, v$1); - return Belt_internalAVLset.bal(l, v$1.contents, r$1); - } - if (x < v) { - let ll = remove(l, x); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - let rr = remove(r, x); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function removeMany(h, arr) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let key = arr[i]; - v = remove(v, key); - } - return v; -} - -function splitAuxNoPivot(n, x) { - let v = n.v; - let l = n.l; - let r = n.r; - if (x === v) { - return [ - l, - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - let match = splitAuxNoPivot(l, x); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - let match$1 = splitAuxNoPivot(r, x); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function splitAuxPivot(n, x, pres) { - let v = n.v; - let l = n.l; - let r = n.r; - if (x === v) { - pres.contents = true; - return [ - l, - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - let match = splitAuxPivot(l, x, pres); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - let match$1 = splitAuxPivot(r, x, pres); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function split(t, x) { - if (t === undefined) { - return [ - [ - undefined, - undefined - ], - false - ]; - } - let pres = { - contents: false - }; - let v = splitAuxPivot(t, x, pres); - return [ - v, - pres.contents - ]; -} - -function union(s1, s2) { - if (s1 === undefined) { - return s2; - } - if (s2 === undefined) { - return s1; - } - let h1 = s1.h; - let h2 = s2.h; - if (h1 >= h2) { - if (h2 === 1) { - return add(s1, s2.v); - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let match = splitAuxNoPivot(s2, v1); - return Belt_internalAVLset.joinShared(union(l1, match[0]), v1, union(r1, match[1])); - } - if (h1 === 1) { - return add(s2, s1.v); - } - let v2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - let match$1 = splitAuxNoPivot(s1, v2); - return Belt_internalAVLset.joinShared(union(match$1[0], l2), v2, union(match$1[1], r2)); -} - -function intersect(s1, s2) { - if (s1 === undefined) { - return; - } - if (s2 === undefined) { - return; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let pres = { - contents: false - }; - let match = splitAuxPivot(s2, v1, pres); - let ll = intersect(l1, match[0]); - let rr = intersect(r1, match[1]); - if (pres.contents) { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } else { - return Belt_internalAVLset.concatShared(ll, rr); - } -} - -function diff(s1, s2) { - if (s1 === undefined) { - return s1; - } - if (s2 === undefined) { - return s1; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let pres = { - contents: false - }; - let match = splitAuxPivot(s2, v1, pres); - let ll = diff(l1, match[0]); - let rr = diff(r1, match[1]); - if (pres.contents) { - return Belt_internalAVLset.concatShared(ll, rr); - } else { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } -} - -let empty; - -let fromArray = Belt_internalSetInt.fromArray; - -let fromSortedArrayUnsafe = Belt_internalAVLset.fromSortedArrayUnsafe; - -let isEmpty = Belt_internalAVLset.isEmpty; - -let has = Belt_internalSetInt.has; - -let subset = Belt_internalSetInt.subset; - -let cmp = Belt_internalSetInt.cmp; - -let eq = Belt_internalSetInt.eq; - -let forEachU = Belt_internalAVLset.forEach; - -let forEach = Belt_internalAVLset.forEach; - -let reduceU = Belt_internalAVLset.reduce; - -let reduce = Belt_internalAVLset.reduce; - -let everyU = Belt_internalAVLset.every; - -let every = Belt_internalAVLset.every; - -let someU = Belt_internalAVLset.some; - -let some = Belt_internalAVLset.some; - -let keepU = Belt_internalAVLset.keepShared; - -let keep = Belt_internalAVLset.keepShared; - -let partitionU = Belt_internalAVLset.partitionShared; - -let partition = Belt_internalAVLset.partitionShared; - -let size = Belt_internalAVLset.size; - -let toList = Belt_internalAVLset.toList; - -let toArray = Belt_internalAVLset.toArray; - -let minimum = Belt_internalAVLset.minimum; - -let minUndefined = Belt_internalAVLset.minUndefined; - -let maximum = Belt_internalAVLset.maximum; - -let maxUndefined = Belt_internalAVLset.maxUndefined; - -let get = Belt_internalSetInt.get; - -let getUndefined = Belt_internalSetInt.getUndefined; - -let getExn = Belt_internalSetInt.getOrThrow; - -let getOrThrow = Belt_internalSetInt.getOrThrow; - -let checkInvariantInternal = Belt_internalAVLset.checkInvariantInternal; - -export { - empty, - fromArray, - fromSortedArrayUnsafe, - isEmpty, - has, - add, - mergeMany, - remove, - removeMany, - union, - intersect, - diff, - subset, - cmp, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - keepU, - keep, - partitionU, - partition, - size, - toList, - toArray, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getExn, - getOrThrow, - split, - checkInvariantInternal, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetString.js deleted file mode 100644 index c7741d8..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SetString.js +++ /dev/null @@ -1,362 +0,0 @@ - - -import * as Belt_internalAVLset from "./Belt_internalAVLset.js"; -import * as Belt_internalSetString from "./Belt_internalSetString.js"; - -function add(t, x) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - let v = t.v; - if (x === v) { - return t; - } - let l = t.l; - let r = t.r; - if (x < v) { - let ll = add(l, x); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - let rr = add(r, x); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function mergeMany(h, arr) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let key = arr[i]; - v = add(v, key); - } - return v; -} - -function remove(t, x) { - if (t === undefined) { - return t; - } - let v = t.v; - let l = t.l; - let r = t.r; - if (x === v) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let v$1 = { - contents: r.v - }; - let r$1 = Belt_internalAVLset.removeMinAuxWithRef(r, v$1); - return Belt_internalAVLset.bal(l, v$1.contents, r$1); - } - if (x < v) { - let ll = remove(l, x); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - let rr = remove(r, x); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function removeMany(h, arr) { - let len = arr.length; - let v = h; - for (let i = 0; i < len; ++i) { - let key = arr[i]; - v = remove(v, key); - } - return v; -} - -function splitAuxNoPivot(n, x) { - let v = n.v; - let l = n.l; - let r = n.r; - if (x === v) { - return [ - l, - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - let match = splitAuxNoPivot(l, x); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - let match$1 = splitAuxNoPivot(r, x); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function splitAuxPivot(n, x, pres) { - let v = n.v; - let l = n.l; - let r = n.r; - if (x === v) { - pres.contents = true; - return [ - l, - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - let match = splitAuxPivot(l, x, pres); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - let match$1 = splitAuxPivot(r, x, pres); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function split(t, x) { - if (t === undefined) { - return [ - [ - undefined, - undefined - ], - false - ]; - } - let pres = { - contents: false - }; - let v = splitAuxPivot(t, x, pres); - return [ - v, - pres.contents - ]; -} - -function union(s1, s2) { - if (s1 === undefined) { - return s2; - } - if (s2 === undefined) { - return s1; - } - let h1 = s1.h; - let h2 = s2.h; - if (h1 >= h2) { - if (h2 === 1) { - return add(s1, s2.v); - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let match = splitAuxNoPivot(s2, v1); - return Belt_internalAVLset.joinShared(union(l1, match[0]), v1, union(r1, match[1])); - } - if (h1 === 1) { - return add(s2, s1.v); - } - let v2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - let match$1 = splitAuxNoPivot(s1, v2); - return Belt_internalAVLset.joinShared(union(match$1[0], l2), v2, union(match$1[1], r2)); -} - -function intersect(s1, s2) { - if (s1 === undefined) { - return; - } - if (s2 === undefined) { - return; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let pres = { - contents: false - }; - let match = splitAuxPivot(s2, v1, pres); - let ll = intersect(l1, match[0]); - let rr = intersect(r1, match[1]); - if (pres.contents) { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } else { - return Belt_internalAVLset.concatShared(ll, rr); - } -} - -function diff(s1, s2) { - if (s1 === undefined) { - return s1; - } - if (s2 === undefined) { - return s1; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let pres = { - contents: false - }; - let match = splitAuxPivot(s2, v1, pres); - let ll = diff(l1, match[0]); - let rr = diff(r1, match[1]); - if (pres.contents) { - return Belt_internalAVLset.concatShared(ll, rr); - } else { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } -} - -let empty; - -let fromArray = Belt_internalSetString.fromArray; - -let fromSortedArrayUnsafe = Belt_internalAVLset.fromSortedArrayUnsafe; - -let isEmpty = Belt_internalAVLset.isEmpty; - -let has = Belt_internalSetString.has; - -let subset = Belt_internalSetString.subset; - -let cmp = Belt_internalSetString.cmp; - -let eq = Belt_internalSetString.eq; - -let forEachU = Belt_internalAVLset.forEach; - -let forEach = Belt_internalAVLset.forEach; - -let reduceU = Belt_internalAVLset.reduce; - -let reduce = Belt_internalAVLset.reduce; - -let everyU = Belt_internalAVLset.every; - -let every = Belt_internalAVLset.every; - -let someU = Belt_internalAVLset.some; - -let some = Belt_internalAVLset.some; - -let keepU = Belt_internalAVLset.keepShared; - -let keep = Belt_internalAVLset.keepShared; - -let partitionU = Belt_internalAVLset.partitionShared; - -let partition = Belt_internalAVLset.partitionShared; - -let size = Belt_internalAVLset.size; - -let toList = Belt_internalAVLset.toList; - -let toArray = Belt_internalAVLset.toArray; - -let minimum = Belt_internalAVLset.minimum; - -let minUndefined = Belt_internalAVLset.minUndefined; - -let maximum = Belt_internalAVLset.maximum; - -let maxUndefined = Belt_internalAVLset.maxUndefined; - -let get = Belt_internalSetString.get; - -let getUndefined = Belt_internalSetString.getUndefined; - -let getExn = Belt_internalSetString.getOrThrow; - -let getOrThrow = Belt_internalSetString.getOrThrow; - -let checkInvariantInternal = Belt_internalAVLset.checkInvariantInternal; - -export { - empty, - fromArray, - fromSortedArrayUnsafe, - isEmpty, - has, - add, - mergeMany, - remove, - removeMany, - union, - intersect, - diff, - subset, - cmp, - eq, - forEachU, - forEach, - reduceU, - reduce, - everyU, - every, - someU, - some, - keepU, - keep, - partitionU, - partition, - size, - toList, - toArray, - minimum, - minUndefined, - maximum, - maxUndefined, - get, - getUndefined, - getExn, - getOrThrow, - split, - checkInvariantInternal, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArray.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArray.js deleted file mode 100644 index a2d45a7..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArray.js +++ /dev/null @@ -1,410 +0,0 @@ - - -import * as Belt_Array from "./Belt_Array.js"; - -function sortedLengthAuxMore(xs, _prec, _acc, len, lt) { - while (true) { - let acc = _acc; - let prec = _prec; - if (acc >= len) { - return acc; - } - let v = xs[acc]; - if (!lt(v, prec)) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue; - }; -} - -function strictlySortedLength(xs, lt) { - let len = xs.length; - if (len === 0 || len === 1) { - return len; - } - let x0 = xs[0]; - let x1 = xs[1]; - if (lt(x0, x1)) { - let _prec = x1; - let _acc = 2; - while (true) { - let acc = _acc; - let prec = _prec; - if (acc >= len) { - return acc; - } - let v = xs[acc]; - if (!lt(prec, v)) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue; - }; - } else if (lt(x1, x0)) { - return -sortedLengthAuxMore(xs, x1, 2, len, lt) | 0; - } else { - return 1; - } -} - -function isSorted(a, cmp) { - let len = a.length; - if (len === 0) { - return true; - } else { - let _i = 0; - let last_bound = len - 1 | 0; - while (true) { - let i = _i; - if (i === last_bound) { - return true; - } - if (cmp(a[i], a[i + 1 | 0]) > 0) { - return false; - } - _i = i + 1 | 0; - continue; - }; - } -} - -function merge(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (cmp(s1, s2) <= 0) { - dst[d] = s1; - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return Belt_Array.blitUnsafe(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); - } - _d = d + 1 | 0; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - dst[d] = s2; - let i2$1 = i2 + 1 | 0; - if (i2$1 >= src2r) { - return Belt_Array.blitUnsafe(src, i1, dst, d + 1 | 0, src1r - i1 | 0); - } - _d = d + 1 | 0; - _s2 = src2[i2$1]; - _i2 = i2$1; - continue; - }; -} - -function union(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - let c = cmp(s1, s2); - if (c < 0) { - dst[d] = s1; - let i1$1 = i1 + 1 | 0; - let d$1 = d + 1 | 0; - if (i1$1 < src1r) { - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - Belt_Array.blitUnsafe(src2, i2, dst, d$1, src2r - i2 | 0); - return (d$1 + src2r | 0) - i2 | 0; - } - if (c === 0) { - dst[d] = s1; - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - let d$2 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - Belt_Array.blitUnsafe(src2, i2$1, dst, d$2, src2r - i2$1 | 0); - return (d$2 + src2r | 0) - i2$1 | 0; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d$2, src1r - i1$2 | 0); - return (d$2 + src1r | 0) - i1$2 | 0; - } - } - _d = d$2; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - dst[d] = s2; - let i2$2 = i2 + 1 | 0; - let d$3 = d + 1 | 0; - if (i2$2 < src2r) { - _d = d$3; - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - } - Belt_Array.blitUnsafe(src, i1, dst, d$3, src1r - i1 | 0); - return (d$3 + src1r | 0) - i1 | 0; - }; -} - -function intersect(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - let c = cmp(s1, s2); - if (c < 0) { - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d; - } - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - if (c === 0) { - dst[d] = s1; - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - let d$1 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - return d$1; - } - _d = d$1; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - let i2$2 = i2 + 1 | 0; - if (i2$2 >= src2r) { - return d; - } - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - }; -} - -function diff(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - let c = cmp(s1, s2); - if (c < 0) { - dst[d] = s1; - let d$1 = d + 1 | 0; - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d$1; - } - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - if (c === 0) { - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - return d; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d, src1r - i1$2 | 0); - return (d + src1r | 0) - i1$2 | 0; - } - } - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - let i2$2 = i2 + 1 | 0; - if (i2$2 < src2r) { - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - } - Belt_Array.blitUnsafe(src, i1, dst, d, src1r - i1 | 0); - return (d + src1r | 0) - i1 | 0; - }; -} - -function insertionSort(src, srcofs, dst, dstofs, len, cmp) { - for (let i = 0; i < len; ++i) { - let e = src[srcofs + i | 0]; - let j = (dstofs + i | 0) - 1 | 0; - while (j >= dstofs && cmp(dst[j], e) > 0) { - dst[j + 1 | 0] = dst[j]; - j = j - 1 | 0; - }; - dst[j + 1 | 0] = e; - } -} - -function sortTo(src, srcofs, dst, dstofs, len, cmp) { - if (len <= 5) { - return insertionSort(src, srcofs, dst, dstofs, len, cmp); - } - let l1 = len / 2 | 0; - let l2 = len - l1 | 0; - sortTo(src, srcofs + l1 | 0, dst, dstofs + l1 | 0, l2, cmp); - sortTo(src, srcofs, src, srcofs + l2 | 0, l1, cmp); - merge(src, srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs, cmp); -} - -function stableSortInPlaceBy(a, cmp) { - let l = a.length; - if (l <= 5) { - return insertionSort(a, 0, a, 0, l, cmp); - } - let l1 = l / 2 | 0; - let l2 = l - l1 | 0; - let t = new Array(l2); - sortTo(a, l1, t, 0, l2, cmp); - sortTo(a, 0, a, l2, l1, cmp); - merge(a, l2, l1, t, 0, l2, a, 0, cmp); -} - -function stableSortBy(a, cmp) { - let b = a.slice(0); - stableSortInPlaceBy(b, cmp); - return b; -} - -function binarySearchBy(sorted, key, cmp) { - let len = sorted.length; - if (len === 0) { - return -1; - } - let lo = sorted[0]; - let c = cmp(key, lo); - if (c < 0) { - return -1; - } - let hi = sorted[len - 1 | 0]; - let c2 = cmp(key, hi); - if (c2 > 0) { - return -(len + 1 | 0) | 0; - } else { - let _lo = 0; - let _hi = len - 1 | 0; - while (true) { - let hi$1 = _hi; - let lo$1 = _lo; - let mid = (lo$1 + hi$1 | 0) / 2 | 0; - let midVal = sorted[mid]; - let c$1 = cmp(key, midVal); - if (c$1 === 0) { - return mid; - } - if (c$1 < 0) { - if (hi$1 === mid) { - if (cmp(sorted[lo$1], key) === 0) { - return lo$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _hi = mid; - continue; - } - if (lo$1 === mid) { - if (cmp(sorted[hi$1], key) === 0) { - return hi$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _lo = mid; - continue; - }; - } -} - -let Int; - -let $$String; - -let strictlySortedLengthU = strictlySortedLength; - -let isSortedU = isSorted; - -let stableSortInPlaceByU = stableSortInPlaceBy; - -let stableSortByU = stableSortBy; - -let binarySearchByU = binarySearchBy; - -let unionU = union; - -let intersectU = intersect; - -let diffU = diff; - -export { - Int, - $$String, - strictlySortedLengthU, - strictlySortedLength, - isSortedU, - isSorted, - stableSortInPlaceByU, - stableSortInPlaceBy, - stableSortByU, - stableSortBy, - binarySearchByU, - binarySearchBy, - unionU, - union, - intersectU, - intersect, - diffU, - diff, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArrayInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArrayInt.js deleted file mode 100644 index bdcc85f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArrayInt.js +++ /dev/null @@ -1,374 +0,0 @@ - - -import * as Belt_Array from "./Belt_Array.js"; - -function sortedLengthAuxMore(xs, _prec, _acc, len) { - while (true) { - let acc = _acc; - let prec = _prec; - if (acc >= len) { - return acc; - } - let v = xs[acc]; - if (prec <= v) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue; - }; -} - -function strictlySortedLength(xs) { - let len = xs.length; - if (len === 0 || len === 1) { - return len; - } - let x0 = xs[0]; - let x1 = xs[1]; - if (x0 < x1) { - let _prec = x1; - let _acc = 2; - while (true) { - let acc = _acc; - let prec = _prec; - if (acc >= len) { - return acc; - } - let v = xs[acc]; - if (prec >= v) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue; - }; - } else if (x0 > x1) { - return -sortedLengthAuxMore(xs, x1, 2, len) | 0; - } else { - return 1; - } -} - -function isSorted(a) { - let len = a.length; - if (len === 0) { - return true; - } else { - let _i = 0; - let last_bound = len - 1 | 0; - while (true) { - let i = _i; - if (i === last_bound) { - return true; - } - if (a[i] > a[i + 1 | 0]) { - return false; - } - _i = i + 1 | 0; - continue; - }; - } -} - -function merge(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (s1 <= s2) { - dst[d] = s1; - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return Belt_Array.blitUnsafe(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); - } - _d = d + 1 | 0; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - dst[d] = s2; - let i2$1 = i2 + 1 | 0; - if (i2$1 >= src2r) { - return Belt_Array.blitUnsafe(src, i1, dst, d + 1 | 0, src1r - i1 | 0); - } - _d = d + 1 | 0; - _s2 = src2[i2$1]; - _i2 = i2$1; - continue; - }; -} - -function union(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (s1 < s2) { - dst[d] = s1; - let i1$1 = i1 + 1 | 0; - let d$1 = d + 1 | 0; - if (i1$1 < src1r) { - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - Belt_Array.blitUnsafe(src2, i2, dst, d$1, src2r - i2 | 0); - return (d$1 + src2r | 0) - i2 | 0; - } - if (s1 === s2) { - dst[d] = s1; - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - let d$2 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - Belt_Array.blitUnsafe(src2, i2$1, dst, d$2, src2r - i2$1 | 0); - return (d$2 + src2r | 0) - i2$1 | 0; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d$2, src1r - i1$2 | 0); - return (d$2 + src1r | 0) - i1$2 | 0; - } - } - _d = d$2; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - dst[d] = s2; - let i2$2 = i2 + 1 | 0; - let d$3 = d + 1 | 0; - if (i2$2 < src2r) { - _d = d$3; - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - } - Belt_Array.blitUnsafe(src, i1, dst, d$3, src1r - i1 | 0); - return (d$3 + src1r | 0) - i1 | 0; - }; -} - -function intersect(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (s1 < s2) { - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d; - } - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - if (s1 === s2) { - dst[d] = s1; - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - let d$1 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - return d$1; - } - _d = d$1; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - let i2$2 = i2 + 1 | 0; - if (i2$2 >= src2r) { - return d; - } - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - }; -} - -function diff(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (s1 < s2) { - dst[d] = s1; - let d$1 = d + 1 | 0; - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d$1; - } - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - if (s1 === s2) { - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - return d; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d, src1r - i1$2 | 0); - return (d + src1r | 0) - i1$2 | 0; - } - } - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - let i2$2 = i2 + 1 | 0; - if (i2$2 < src2r) { - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - } - Belt_Array.blitUnsafe(src, i1, dst, d, src1r - i1 | 0); - return (d + src1r | 0) - i1 | 0; - }; -} - -function insertionSort(src, srcofs, dst, dstofs, len) { - for (let i = 0; i < len; ++i) { - let e = src[srcofs + i | 0]; - let j = (dstofs + i | 0) - 1 | 0; - while (j >= dstofs && dst[j] > e) { - dst[j + 1 | 0] = dst[j]; - j = j - 1 | 0; - }; - dst[j + 1 | 0] = e; - } -} - -function sortTo(src, srcofs, dst, dstofs, len) { - if (len <= 5) { - return insertionSort(src, srcofs, dst, dstofs, len); - } - let l1 = len / 2 | 0; - let l2 = len - l1 | 0; - sortTo(src, srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); - sortTo(src, srcofs, src, srcofs + l2 | 0, l1); - merge(src, srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs); -} - -function stableSortInPlace(a) { - let l = a.length; - if (l <= 5) { - return insertionSort(a, 0, a, 0, l); - } - let l1 = l / 2 | 0; - let l2 = l - l1 | 0; - let t = new Array(l2); - sortTo(a, l1, t, 0, l2); - sortTo(a, 0, a, l2, l1); - merge(a, l2, l1, t, 0, l2, a, 0); -} - -function stableSort(a) { - let b = a.slice(0); - stableSortInPlace(b); - return b; -} - -function binarySearch(sorted, key) { - let len = sorted.length; - if (len === 0) { - return -1; - } - let lo = sorted[0]; - if (key < lo) { - return -1; - } - let hi = sorted[len - 1 | 0]; - if (key > hi) { - return -(len + 1 | 0) | 0; - } else { - let _lo = 0; - let _hi = len - 1 | 0; - while (true) { - let hi$1 = _hi; - let lo$1 = _lo; - let mid = (lo$1 + hi$1 | 0) / 2 | 0; - let midVal = sorted[mid]; - if (key === midVal) { - return mid; - } - if (key < midVal) { - if (hi$1 === mid) { - if (sorted[lo$1] === key) { - return lo$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _hi = mid; - continue; - } - if (lo$1 === mid) { - if (sorted[hi$1] === key) { - return hi$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _lo = mid; - continue; - }; - } -} - -export { - strictlySortedLength, - isSorted, - stableSortInPlace, - stableSort, - binarySearch, - union, - intersect, - diff, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArrayString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArrayString.js deleted file mode 100644 index bdcc85f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_SortArrayString.js +++ /dev/null @@ -1,374 +0,0 @@ - - -import * as Belt_Array from "./Belt_Array.js"; - -function sortedLengthAuxMore(xs, _prec, _acc, len) { - while (true) { - let acc = _acc; - let prec = _prec; - if (acc >= len) { - return acc; - } - let v = xs[acc]; - if (prec <= v) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue; - }; -} - -function strictlySortedLength(xs) { - let len = xs.length; - if (len === 0 || len === 1) { - return len; - } - let x0 = xs[0]; - let x1 = xs[1]; - if (x0 < x1) { - let _prec = x1; - let _acc = 2; - while (true) { - let acc = _acc; - let prec = _prec; - if (acc >= len) { - return acc; - } - let v = xs[acc]; - if (prec >= v) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue; - }; - } else if (x0 > x1) { - return -sortedLengthAuxMore(xs, x1, 2, len) | 0; - } else { - return 1; - } -} - -function isSorted(a) { - let len = a.length; - if (len === 0) { - return true; - } else { - let _i = 0; - let last_bound = len - 1 | 0; - while (true) { - let i = _i; - if (i === last_bound) { - return true; - } - if (a[i] > a[i + 1 | 0]) { - return false; - } - _i = i + 1 | 0; - continue; - }; - } -} - -function merge(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (s1 <= s2) { - dst[d] = s1; - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return Belt_Array.blitUnsafe(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); - } - _d = d + 1 | 0; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - dst[d] = s2; - let i2$1 = i2 + 1 | 0; - if (i2$1 >= src2r) { - return Belt_Array.blitUnsafe(src, i1, dst, d + 1 | 0, src1r - i1 | 0); - } - _d = d + 1 | 0; - _s2 = src2[i2$1]; - _i2 = i2$1; - continue; - }; -} - -function union(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (s1 < s2) { - dst[d] = s1; - let i1$1 = i1 + 1 | 0; - let d$1 = d + 1 | 0; - if (i1$1 < src1r) { - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - Belt_Array.blitUnsafe(src2, i2, dst, d$1, src2r - i2 | 0); - return (d$1 + src2r | 0) - i2 | 0; - } - if (s1 === s2) { - dst[d] = s1; - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - let d$2 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - Belt_Array.blitUnsafe(src2, i2$1, dst, d$2, src2r - i2$1 | 0); - return (d$2 + src2r | 0) - i2$1 | 0; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d$2, src1r - i1$2 | 0); - return (d$2 + src1r | 0) - i1$2 | 0; - } - } - _d = d$2; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - dst[d] = s2; - let i2$2 = i2 + 1 | 0; - let d$3 = d + 1 | 0; - if (i2$2 < src2r) { - _d = d$3; - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - } - Belt_Array.blitUnsafe(src, i1, dst, d$3, src1r - i1 | 0); - return (d$3 + src1r | 0) - i1 | 0; - }; -} - -function intersect(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (s1 < s2) { - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d; - } - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - if (s1 === s2) { - dst[d] = s1; - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - let d$1 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - return d$1; - } - _d = d$1; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - let i2$2 = i2 + 1 | 0; - if (i2$2 >= src2r) { - return d; - } - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - }; -} - -function diff(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - let src1r = src1ofs + src1len | 0; - let src2r = src2ofs + src2len | 0; - let _i1 = src1ofs; - let _s1 = src[src1ofs]; - let _i2 = src2ofs; - let _s2 = src2[src2ofs]; - let _d = dstofs; - while (true) { - let d = _d; - let s2 = _s2; - let i2 = _i2; - let s1 = _s1; - let i1 = _i1; - if (s1 < s2) { - dst[d] = s1; - let d$1 = d + 1 | 0; - let i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d$1; - } - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue; - } - if (s1 === s2) { - let i1$2 = i1 + 1 | 0; - let i2$1 = i2 + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - return d; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d, src1r - i1$2 | 0); - return (d + src1r | 0) - i1$2 | 0; - } - } - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue; - } - let i2$2 = i2 + 1 | 0; - if (i2$2 < src2r) { - _s2 = src2[i2$2]; - _i2 = i2$2; - continue; - } - Belt_Array.blitUnsafe(src, i1, dst, d, src1r - i1 | 0); - return (d + src1r | 0) - i1 | 0; - }; -} - -function insertionSort(src, srcofs, dst, dstofs, len) { - for (let i = 0; i < len; ++i) { - let e = src[srcofs + i | 0]; - let j = (dstofs + i | 0) - 1 | 0; - while (j >= dstofs && dst[j] > e) { - dst[j + 1 | 0] = dst[j]; - j = j - 1 | 0; - }; - dst[j + 1 | 0] = e; - } -} - -function sortTo(src, srcofs, dst, dstofs, len) { - if (len <= 5) { - return insertionSort(src, srcofs, dst, dstofs, len); - } - let l1 = len / 2 | 0; - let l2 = len - l1 | 0; - sortTo(src, srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); - sortTo(src, srcofs, src, srcofs + l2 | 0, l1); - merge(src, srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs); -} - -function stableSortInPlace(a) { - let l = a.length; - if (l <= 5) { - return insertionSort(a, 0, a, 0, l); - } - let l1 = l / 2 | 0; - let l2 = l - l1 | 0; - let t = new Array(l2); - sortTo(a, l1, t, 0, l2); - sortTo(a, 0, a, l2, l1); - merge(a, l2, l1, t, 0, l2, a, 0); -} - -function stableSort(a) { - let b = a.slice(0); - stableSortInPlace(b); - return b; -} - -function binarySearch(sorted, key) { - let len = sorted.length; - if (len === 0) { - return -1; - } - let lo = sorted[0]; - if (key < lo) { - return -1; - } - let hi = sorted[len - 1 | 0]; - if (key > hi) { - return -(len + 1 | 0) | 0; - } else { - let _lo = 0; - let _hi = len - 1 | 0; - while (true) { - let hi$1 = _hi; - let lo$1 = _lo; - let mid = (lo$1 + hi$1 | 0) / 2 | 0; - let midVal = sorted[mid]; - if (key === midVal) { - return mid; - } - if (key < midVal) { - if (hi$1 === mid) { - if (sorted[lo$1] === key) { - return lo$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _hi = mid; - continue; - } - if (lo$1 === mid) { - if (sorted[hi$1] === key) { - return hi$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _lo = mid; - continue; - }; - } -} - -export { - strictlySortedLength, - isSorted, - stableSortInPlace, - stableSort, - binarySearch, - union, - intersect, - diff, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalAVLset.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalAVLset.js deleted file mode 100644 index dcefd17..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalAVLset.js +++ /dev/null @@ -1,882 +0,0 @@ - - -import * as Primitive_int from "./Primitive_int.js"; -import * as Belt_SortArray from "./Belt_SortArray.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function copy(n) { - if (n !== undefined) { - return { - v: n.v, - h: n.h, - l: copy(n.l), - r: copy(n.r) - }; - } else { - return n; - } -} - -function create(l, v, r) { - let hl = l !== undefined ? l.h : 0; - let hr = r !== undefined ? r.h : 0; - return { - v: v, - h: ( - hl >= hr ? hl : hr - ) + 1 | 0, - l: l, - r: r - }; -} - -function singleton(x) { - return { - v: x, - h: 1, - l: undefined, - r: undefined - }; -} - -function heightGe(l, r) { - if (r !== undefined) { - if (l !== undefined) { - return l.h >= r.h; - } else { - return false; - } - } else { - return true; - } -} - -function bal(l, v, r) { - let hl = l !== undefined ? l.h : 0; - let hr = r !== undefined ? r.h : 0; - if (hl > (hr + 2 | 0)) { - let ll = l.l; - let lr = l.r; - if (heightGe(ll, lr)) { - return create(ll, l.v, create(lr, v, r)); - } else { - return create(create(ll, l.v, lr.l), lr.v, create(lr.r, v, r)); - } - } - if (hr <= (hl + 2 | 0)) { - return { - v: v, - h: ( - hl >= hr ? hl : hr - ) + 1 | 0, - l: l, - r: r - }; - } - let rl = r.l; - let rr = r.r; - if (heightGe(rr, rl)) { - return create(create(l, v, rl), r.v, rr); - } else { - return create(create(l, v, rl.l), rl.v, create(rl.r, r.v, rr)); - } -} - -function min0Aux(_n) { - while (true) { - let n = _n; - let n$1 = n.l; - if (n$1 === undefined) { - return n.v; - } - _n = n$1; - continue; - }; -} - -function minimum(n) { - if (n !== undefined) { - return Primitive_option.some(min0Aux(n)); - } -} - -function minUndefined(n) { - if (n !== undefined) { - return min0Aux(n); - } -} - -function max0Aux(_n) { - while (true) { - let n = _n; - let n$1 = n.r; - if (n$1 === undefined) { - return n.v; - } - _n = n$1; - continue; - }; -} - -function maximum(n) { - if (n !== undefined) { - return Primitive_option.some(max0Aux(n)); - } -} - -function maxUndefined(n) { - if (n !== undefined) { - return max0Aux(n); - } -} - -function removeMinAuxWithRef(n, v) { - let ln = n.l; - if (ln !== undefined) { - return bal(removeMinAuxWithRef(ln, v), n.v, n.r); - } else { - v.contents = n.v; - return n.r; - } -} - -function isEmpty(n) { - return n === undefined; -} - -function stackAllLeft(_v, _s) { - while (true) { - let s = _s; - let v = _v; - if (v === undefined) { - return s; - } - _s = { - hd: v, - tl: s - }; - _v = v.l; - continue; - }; -} - -function forEach(_n, f) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - forEach(n.l, f); - f(n.v); - _n = n.r; - continue; - }; -} - -function reduce(_s, _accu, f) { - while (true) { - let accu = _accu; - let s = _s; - if (s === undefined) { - return accu; - } - _accu = f(reduce(s.l, accu, f), s.v); - _s = s.r; - continue; - }; -} - -function every(_n, p) { - while (true) { - let n = _n; - if (n === undefined) { - return true; - } - if (!p(n.v)) { - return false; - } - if (!every(n.l, p)) { - return false; - } - _n = n.r; - continue; - }; -} - -function some(_n, p) { - while (true) { - let n = _n; - if (n === undefined) { - return false; - } - if (p(n.v)) { - return true; - } - if (some(n.l, p)) { - return true; - } - _n = n.r; - continue; - }; -} - -function addMinElement(n, v) { - if (n !== undefined) { - return bal(addMinElement(n.l, v), n.v, n.r); - } else { - return singleton(v); - } -} - -function addMaxElement(n, v) { - if (n !== undefined) { - return bal(n.l, n.v, addMaxElement(n.r, v)); - } else { - return singleton(v); - } -} - -function joinShared(ln, v, rn) { - if (ln === undefined) { - return addMinElement(rn, v); - } - if (rn === undefined) { - return addMaxElement(ln, v); - } - let lh = ln.h; - let rh = rn.h; - if (lh > (rh + 2 | 0)) { - return bal(ln.l, ln.v, joinShared(ln.r, v, rn)); - } else if (rh > (lh + 2 | 0)) { - return bal(joinShared(ln, v, rn.l), rn.v, rn.r); - } else { - return create(ln, v, rn); - } -} - -function concatShared(t1, t2) { - if (t1 === undefined) { - return t2; - } - if (t2 === undefined) { - return t1; - } - let v = { - contents: t2.v - }; - let t2r = removeMinAuxWithRef(t2, v); - return joinShared(t1, v.contents, t2r); -} - -function partitionShared(n, p) { - if (n === undefined) { - return [ - undefined, - undefined - ]; - } - let value = n.v; - let match = partitionShared(n.l, p); - let lf = match[1]; - let lt = match[0]; - let pv = p(value); - let match$1 = partitionShared(n.r, p); - let rf = match$1[1]; - let rt = match$1[0]; - if (pv) { - return [ - joinShared(lt, value, rt), - concatShared(lf, rf) - ]; - } else { - return [ - concatShared(lt, rt), - joinShared(lf, value, rf) - ]; - } -} - -function lengthNode(n) { - let l = n.l; - let r = n.r; - let sizeL = l !== undefined ? lengthNode(l) : 0; - let sizeR = r !== undefined ? lengthNode(r) : 0; - return (1 + sizeL | 0) + sizeR | 0; -} - -function size(n) { - if (n !== undefined) { - return lengthNode(n); - } else { - return 0; - } -} - -function toListAux(_n, _accu) { - while (true) { - let accu = _accu; - let n = _n; - if (n === undefined) { - return accu; - } - _accu = { - hd: n.v, - tl: toListAux(n.r, accu) - }; - _n = n.l; - continue; - }; -} - -function toList(s) { - return toListAux(s, /* [] */0); -} - -function checkInvariantInternal(_v) { - while (true) { - let v = _v; - if (v === undefined) { - return; - } - let l = v.l; - let r = v.r; - let diff = ( - l !== undefined ? l.h : 0 - ) - ( - r !== undefined ? r.h : 0 - ) | 0; - if (!(diff <= 2 && diff >= -2)) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "Belt_internalAVLset.res", - 310, - 4 - ], - Error: new Error() - }; - } - checkInvariantInternal(l); - _v = r; - continue; - }; -} - -function fillArray(_n, _i, arr) { - while (true) { - let i = _i; - let n = _n; - let v = n.v; - let l = n.l; - let r = n.r; - let next = l !== undefined ? fillArray(l, i, arr) : i; - arr[next] = v; - let rnext = next + 1 | 0; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue; - }; -} - -function fillArrayWithPartition(_n, cursor, arr, p) { - while (true) { - let n = _n; - let v = n.v; - let l = n.l; - let r = n.r; - if (l !== undefined) { - fillArrayWithPartition(l, cursor, arr, p); - } - if (p(v)) { - let c = cursor.forward; - arr[c] = v; - cursor.forward = c + 1 | 0; - } else { - let c$1 = cursor.backward; - arr[c$1] = v; - cursor.backward = c$1 - 1 | 0; - } - if (r === undefined) { - return; - } - _n = r; - continue; - }; -} - -function fillArrayWithFilter(_n, _i, arr, p) { - while (true) { - let i = _i; - let n = _n; - let v = n.v; - let l = n.l; - let r = n.r; - let next = l !== undefined ? fillArrayWithFilter(l, i, arr, p) : i; - let rnext = p(v) ? (arr[next] = v, next + 1 | 0) : next; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue; - }; -} - -function toArray(n) { - if (n === undefined) { - return []; - } - let size = lengthNode(n); - let v = new Array(size); - fillArray(n, 0, v); - return v; -} - -function fromSortedArrayRevAux(arr, off, len) { - switch (len) { - case 0 : - return; - case 1 : - return singleton(arr[off]); - case 2 : - let x0 = arr[off]; - let x1 = arr[off - 1 | 0]; - return { - v: x1, - h: 2, - l: singleton(x0), - r: undefined - }; - case 3 : - let x0$1 = arr[off]; - let x1$1 = arr[off - 1 | 0]; - let x2 = arr[off - 2 | 0]; - return { - v: x1$1, - h: 2, - l: singleton(x0$1), - r: singleton(x2) - }; - default: - let nl = len / 2 | 0; - let left = fromSortedArrayRevAux(arr, off, nl); - let mid = arr[off - nl | 0]; - let right = fromSortedArrayRevAux(arr, (off - nl | 0) - 1 | 0, (len - nl | 0) - 1 | 0); - return create(left, mid, right); - } -} - -function fromSortedArrayAux(arr, off, len) { - switch (len) { - case 0 : - return; - case 1 : - return singleton(arr[off]); - case 2 : - let x0 = arr[off]; - let x1 = arr[off + 1 | 0]; - return { - v: x1, - h: 2, - l: singleton(x0), - r: undefined - }; - case 3 : - let x0$1 = arr[off]; - let x1$1 = arr[off + 1 | 0]; - let x2 = arr[off + 2 | 0]; - return { - v: x1$1, - h: 2, - l: singleton(x0$1), - r: singleton(x2) - }; - default: - let nl = len / 2 | 0; - let left = fromSortedArrayAux(arr, off, nl); - let mid = arr[off + nl | 0]; - let right = fromSortedArrayAux(arr, (off + nl | 0) + 1 | 0, (len - nl | 0) - 1 | 0); - return create(left, mid, right); - } -} - -function fromSortedArrayUnsafe(arr) { - return fromSortedArrayAux(arr, 0, arr.length); -} - -function keepShared(n, p) { - if (n === undefined) { - return; - } - let v = n.v; - let l = n.l; - let r = n.r; - let newL = keepShared(l, p); - let pv = p(v); - let newR = keepShared(r, p); - if (pv) { - if (l === newL && r === newR) { - return n; - } else { - return joinShared(newL, v, newR); - } - } else { - return concatShared(newL, newR); - } -} - -function keepCopy(n, p) { - if (n === undefined) { - return; - } - let size = lengthNode(n); - let v = new Array(size); - let last = fillArrayWithFilter(n, 0, v, p); - return fromSortedArrayAux(v, 0, last); -} - -function partitionCopy(n, p) { - if (n === undefined) { - return [ - undefined, - undefined - ]; - } - let size = lengthNode(n); - let v = new Array(size); - let backward = size - 1 | 0; - let cursor = { - forward: 0, - backward: backward - }; - fillArrayWithPartition(n, cursor, v, p); - let forwardLen = cursor.forward; - return [ - fromSortedArrayAux(v, 0, forwardLen), - fromSortedArrayRevAux(v, backward, size - forwardLen | 0) - ]; -} - -function has(_t, x, cmp) { - while (true) { - let t = _t; - if (t === undefined) { - return false; - } - let v = t.v; - let c = cmp(x, v); - if (c === 0) { - return true; - } - _t = c < 0 ? t.l : t.r; - continue; - }; -} - -function cmp(s1, s2, cmp$1) { - let len1 = size(s1); - let len2 = size(s2); - if (len1 === len2) { - let _e1 = stackAllLeft(s1, /* [] */0); - let _e2 = stackAllLeft(s2, /* [] */0); - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return 0; - } - if (e2 === 0) { - return 0; - } - let h2 = e2.hd; - let h1 = e1.hd; - let c = cmp$1(h1.v, h2.v); - if (c !== 0) { - return c; - } - _e2 = stackAllLeft(h2.r, e2.tl); - _e1 = stackAllLeft(h1.r, e1.tl); - continue; - }; - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eq(s1, s2, c) { - return cmp(s1, s2, c) === 0; -} - -function subset(_s1, _s2, cmp) { - while (true) { - let s2 = _s2; - let s1 = _s1; - if (s1 === undefined) { - return true; - } - if (s2 === undefined) { - return false; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let v2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - let c = cmp(v1, v2); - if (c === 0) { - if (!subset(l1, l2, cmp)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue; - } - if (c < 0) { - if (!subset(create(l1, v1, undefined), l2, cmp)) { - return false; - } - _s1 = r1; - continue; - } - if (!subset(create(undefined, v1, r1), r2, cmp)) { - return false; - } - _s1 = l1; - continue; - }; -} - -function get(_n, x, cmp) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.v; - let c = cmp(x, v); - if (c === 0) { - return Primitive_option.some(v); - } - _n = c < 0 ? n.l : n.r; - continue; - }; -} - -function getUndefined(_n, x, cmp) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.v; - let c = cmp(x, v); - if (c === 0) { - return v; - } - _n = c < 0 ? n.l : n.r; - continue; - }; -} - -function getOrThrow(_n, x, cmp) { - while (true) { - let n = _n; - if (n !== undefined) { - let v = n.v; - let c = cmp(x, v); - if (c === 0) { - return v; - } - _n = c < 0 ? n.l : n.r; - continue; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function rotateWithLeftChild(k2) { - let k1 = k2.l; - k2.l = k1.r; - k1.r = k2; - let n = k2.l; - let hlk2 = n !== undefined ? n.h : 0; - let n$1 = k2.r; - let hrk2 = n$1 !== undefined ? n$1.h : 0; - k2.h = Primitive_int.max(hlk2, hrk2) + 1 | 0; - let n$2 = k1.l; - let hlk1 = n$2 !== undefined ? n$2.h : 0; - let hk2 = k2.h; - k1.h = Primitive_int.max(hlk1, hk2) + 1 | 0; - return k1; -} - -function rotateWithRightChild(k1) { - let k2 = k1.r; - k1.r = k2.l; - k2.l = k1; - let n = k1.l; - let hlk1 = n !== undefined ? n.h : 0; - let n$1 = k1.r; - let hrk1 = n$1 !== undefined ? n$1.h : 0; - k1.h = Primitive_int.max(hlk1, hrk1) + 1 | 0; - let n$2 = k2.r; - let hrk2 = n$2 !== undefined ? n$2.h : 0; - let hk1 = k1.h; - k2.h = Primitive_int.max(hrk2, hk1) + 1 | 0; - return k2; -} - -function doubleWithLeftChild(k3) { - let k3l = k3.l; - let v = rotateWithRightChild(k3l); - k3.l = v; - return rotateWithLeftChild(k3); -} - -function doubleWithRightChild(k2) { - let k2r = k2.r; - let v = rotateWithLeftChild(k2r); - k2.r = v; - return rotateWithRightChild(k2); -} - -function heightUpdateMutate(t) { - let n = t.l; - let hlt = n !== undefined ? n.h : 0; - let n$1 = t.r; - let hrt = n$1 !== undefined ? n$1.h : 0; - t.h = Primitive_int.max(hlt, hrt) + 1 | 0; - return t; -} - -function balMutate(nt) { - let l = nt.l; - let r = nt.r; - let hl = l !== undefined ? l.h : 0; - let hr = r !== undefined ? r.h : 0; - if (hl > (2 + hr | 0)) { - let ll = l.l; - let lr = l.r; - if (heightGe(ll, lr)) { - return heightUpdateMutate(rotateWithLeftChild(nt)); - } else { - return heightUpdateMutate(doubleWithLeftChild(nt)); - } - } - if (hr > (2 + hl | 0)) { - let rl = r.l; - let rr = r.r; - if (heightGe(rr, rl)) { - return heightUpdateMutate(rotateWithRightChild(nt)); - } else { - return heightUpdateMutate(doubleWithRightChild(nt)); - } - } - nt.h = Primitive_int.max(hl, hr) + 1 | 0; - return nt; -} - -function addMutate(cmp, t, x) { - if (t === undefined) { - return singleton(x); - } - let k = t.v; - let c = cmp(x, k); - if (c === 0) { - return t; - } - let l = t.l; - let r = t.r; - if (c < 0) { - let ll = addMutate(cmp, l, x); - t.l = ll; - } else { - t.r = addMutate(cmp, r, x); - } - return balMutate(t); -} - -function fromArray(xs, cmp) { - let len = xs.length; - if (len === 0) { - return; - } - let next = Belt_SortArray.strictlySortedLength(xs, (x, y) => cmp(x, y) < 0); - let result; - if (next >= 0) { - result = fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for (let i = next; i < len; ++i) { - result = addMutate(cmp, result, xs[i]); - } - return result; -} - -function removeMinAuxWithRootMutate(nt, n) { - let ln = n.l; - let rn = n.r; - if (ln !== undefined) { - n.l = removeMinAuxWithRootMutate(nt, ln); - return balMutate(n); - } else { - nt.v = n.v; - return rn; - } -} - -export { - copy, - create, - bal, - singleton, - minimum, - minUndefined, - maximum, - maxUndefined, - removeMinAuxWithRef, - isEmpty, - stackAllLeft, - forEach, - reduce, - every, - some, - joinShared, - concatShared, - keepShared, - keepCopy, - partitionShared, - partitionCopy, - lengthNode, - size, - toList, - checkInvariantInternal, - fillArray, - toArray, - fromSortedArrayAux, - fromSortedArrayRevAux, - fromSortedArrayUnsafe, - has, - cmp, - eq, - subset, - get, - getUndefined, - getOrThrow, - fromArray, - addMutate, - balMutate, - removeMinAuxWithRootMutate, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalAVLtree.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalAVLtree.js deleted file mode 100644 index ae66e93..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalAVLtree.js +++ /dev/null @@ -1,1063 +0,0 @@ - - -import * as Primitive_int from "./Primitive_int.js"; -import * as Belt_SortArray from "./Belt_SortArray.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function treeHeight(n) { - if (n !== undefined) { - return n.h; - } else { - return 0; - } -} - -function copy(n) { - if (n !== undefined) { - return { - k: n.k, - v: n.v, - h: n.h, - l: copy(n.l), - r: copy(n.r) - }; - } else { - return n; - } -} - -function create(l, x, d, r) { - let hl = treeHeight(l); - let hr = treeHeight(r); - return { - k: x, - v: d, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0, - l: l, - r: r - }; -} - -function singleton(x, d) { - return { - k: x, - v: d, - h: 1, - l: undefined, - r: undefined - }; -} - -function heightGe(l, r) { - if (r !== undefined) { - if (l !== undefined) { - return l.h >= r.h; - } else { - return false; - } - } else { - return true; - } -} - -function updateValue(n, newValue) { - if (n.v === newValue) { - return n; - } else { - return { - k: n.k, - v: newValue, - h: n.h, - l: n.l, - r: n.r - }; - } -} - -function bal(l, x, d, r) { - let hl = l !== undefined ? l.h : 0; - let hr = r !== undefined ? r.h : 0; - if (hl > (hr + 2 | 0)) { - let ll = l.l; - let lr = l.r; - if (treeHeight(ll) >= treeHeight(lr)) { - return create(ll, l.k, l.v, create(lr, x, d, r)); - } else { - return create(create(ll, l.k, l.v, lr.l), lr.k, lr.v, create(lr.r, x, d, r)); - } - } - if (hr <= (hl + 2 | 0)) { - return { - k: x, - v: d, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0, - l: l, - r: r - }; - } - let rl = r.l; - let rr = r.r; - if (treeHeight(rr) >= treeHeight(rl)) { - return create(create(l, x, d, rl), r.k, r.v, rr); - } else { - return create(create(l, x, d, rl.l), rl.k, rl.v, create(rl.r, r.k, r.v, rr)); - } -} - -function minKey0Aux(_n) { - while (true) { - let n = _n; - let n$1 = n.l; - if (n$1 === undefined) { - return n.k; - } - _n = n$1; - continue; - }; -} - -function minKey(n) { - if (n !== undefined) { - return Primitive_option.some(minKey0Aux(n)); - } -} - -function minKeyUndefined(n) { - if (n !== undefined) { - return minKey0Aux(n); - } -} - -function maxKey0Aux(_n) { - while (true) { - let n = _n; - let n$1 = n.r; - if (n$1 === undefined) { - return n.k; - } - _n = n$1; - continue; - }; -} - -function maxKey(n) { - if (n !== undefined) { - return Primitive_option.some(maxKey0Aux(n)); - } -} - -function maxKeyUndefined(n) { - if (n !== undefined) { - return maxKey0Aux(n); - } -} - -function minKV0Aux(_n) { - while (true) { - let n = _n; - let n$1 = n.l; - if (n$1 === undefined) { - return [ - n.k, - n.v - ]; - } - _n = n$1; - continue; - }; -} - -function minimum(n) { - if (n !== undefined) { - return minKV0Aux(n); - } -} - -function minUndefined(n) { - if (n !== undefined) { - return minKV0Aux(n); - } -} - -function maxKV0Aux(_n) { - while (true) { - let n = _n; - let n$1 = n.r; - if (n$1 === undefined) { - return [ - n.k, - n.v - ]; - } - _n = n$1; - continue; - }; -} - -function maximum(n) { - if (n !== undefined) { - return maxKV0Aux(n); - } -} - -function maxUndefined(n) { - if (n !== undefined) { - return maxKV0Aux(n); - } -} - -function removeMinAuxWithRef(n, kr, vr) { - let ln = n.l; - if (ln !== undefined) { - return bal(removeMinAuxWithRef(ln, kr, vr), n.k, n.v, n.r); - } else { - kr.contents = n.k; - vr.contents = n.v; - return n.r; - } -} - -function isEmpty(x) { - return x === undefined; -} - -function stackAllLeft(_v, _s) { - while (true) { - let s = _s; - let v = _v; - if (v === undefined) { - return s; - } - _s = { - hd: v, - tl: s - }; - _v = v.l; - continue; - }; -} - -function findFirstBy(n, p) { - if (n === undefined) { - return; - } - let left = findFirstBy(n.l, p); - if (left !== undefined) { - return left; - } - let v = n.k; - let d = n.v; - let pvd = p(v, d); - if (pvd) { - return [ - v, - d - ]; - } - let right = findFirstBy(n.r, p); - if (right !== undefined) { - return right; - } -} - -function forEach(_n, f) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - forEach(n.l, f); - f(n.k, n.v); - _n = n.r; - continue; - }; -} - -function map(n, f) { - if (n === undefined) { - return; - } - let newLeft = map(n.l, f); - let newD = f(n.v); - let newRight = map(n.r, f); - return { - k: n.k, - v: newD, - h: n.h, - l: newLeft, - r: newRight - }; -} - -function mapWithKey(n, f) { - if (n === undefined) { - return; - } - let key = n.k; - let newLeft = mapWithKey(n.l, f); - let newD = f(key, n.v); - let newRight = mapWithKey(n.r, f); - return { - k: key, - v: newD, - h: n.h, - l: newLeft, - r: newRight - }; -} - -function reduce(_m, _accu, f) { - while (true) { - let accu = _accu; - let m = _m; - if (m === undefined) { - return accu; - } - let v = m.k; - let d = m.v; - let l = m.l; - let r = m.r; - _accu = f(reduce(l, accu, f), v, d); - _m = r; - continue; - }; -} - -function every(_n, p) { - while (true) { - let n = _n; - if (n === undefined) { - return true; - } - if (!p(n.k, n.v)) { - return false; - } - if (!every(n.l, p)) { - return false; - } - _n = n.r; - continue; - }; -} - -function some(_n, p) { - while (true) { - let n = _n; - if (n === undefined) { - return false; - } - if (p(n.k, n.v)) { - return true; - } - if (some(n.l, p)) { - return true; - } - _n = n.r; - continue; - }; -} - -function addMinElement(n, k, v) { - if (n !== undefined) { - return bal(addMinElement(n.l, k, v), n.k, n.v, n.r); - } else { - return singleton(k, v); - } -} - -function addMaxElement(n, k, v) { - if (n !== undefined) { - return bal(n.l, n.k, n.v, addMaxElement(n.r, k, v)); - } else { - return singleton(k, v); - } -} - -function join(ln, v, d, rn) { - if (ln === undefined) { - return addMinElement(rn, v, d); - } - if (rn === undefined) { - return addMaxElement(ln, v, d); - } - let lv = ln.k; - let ld = ln.v; - let lh = ln.h; - let ll = ln.l; - let lr = ln.r; - let rv = rn.k; - let rd = rn.v; - let rh = rn.h; - let rl = rn.l; - let rr = rn.r; - if (lh > (rh + 2 | 0)) { - return bal(ll, lv, ld, join(lr, v, d, rn)); - } else if (rh > (lh + 2 | 0)) { - return bal(join(ln, v, d, rl), rv, rd, rr); - } else { - return create(ln, v, d, rn); - } -} - -function concat(t1, t2) { - if (t1 === undefined) { - return t2; - } - if (t2 === undefined) { - return t1; - } - let kr = { - contents: t2.k - }; - let vr = { - contents: t2.v - }; - let t2r = removeMinAuxWithRef(t2, kr, vr); - return join(t1, kr.contents, vr.contents, t2r); -} - -function concatOrJoin(t1, v, d, t2) { - if (d !== undefined) { - return join(t1, v, Primitive_option.valFromOption(d), t2); - } else { - return concat(t1, t2); - } -} - -function keepShared(n, p) { - if (n === undefined) { - return; - } - let v = n.k; - let d = n.v; - let newLeft = keepShared(n.l, p); - let pvd = p(v, d); - let newRight = keepShared(n.r, p); - if (pvd) { - return join(newLeft, v, d, newRight); - } else { - return concat(newLeft, newRight); - } -} - -function keepMap(n, p) { - if (n === undefined) { - return; - } - let v = n.k; - let d = n.v; - let newLeft = keepMap(n.l, p); - let pvd = p(v, d); - let newRight = keepMap(n.r, p); - if (pvd !== undefined) { - return join(newLeft, v, Primitive_option.valFromOption(pvd), newRight); - } else { - return concat(newLeft, newRight); - } -} - -function partitionShared(n, p) { - if (n === undefined) { - return [ - undefined, - undefined - ]; - } - let key = n.k; - let value = n.v; - let match = partitionShared(n.l, p); - let lf = match[1]; - let lt = match[0]; - let pvd = p(key, value); - let match$1 = partitionShared(n.r, p); - let rf = match$1[1]; - let rt = match$1[0]; - if (pvd) { - return [ - join(lt, key, value, rt), - concat(lf, rf) - ]; - } else { - return [ - concat(lt, rt), - join(lf, key, value, rf) - ]; - } -} - -function lengthNode(n) { - let l = n.l; - let r = n.r; - let sizeL = l !== undefined ? lengthNode(l) : 0; - let sizeR = r !== undefined ? lengthNode(r) : 0; - return (1 + sizeL | 0) + sizeR | 0; -} - -function size(n) { - if (n !== undefined) { - return lengthNode(n); - } else { - return 0; - } -} - -function toListAux(_n, _accu) { - while (true) { - let accu = _accu; - let n = _n; - if (n === undefined) { - return accu; - } - let k = n.k; - let v = n.v; - let l = n.l; - let r = n.r; - _accu = { - hd: [ - k, - v - ], - tl: toListAux(r, accu) - }; - _n = l; - continue; - }; -} - -function toList(s) { - return toListAux(s, /* [] */0); -} - -function checkInvariantInternal(_v) { - while (true) { - let v = _v; - if (v === undefined) { - return; - } - let l = v.l; - let r = v.r; - let diff = treeHeight(l) - treeHeight(r) | 0; - if (!(diff <= 2 && diff >= -2)) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "Belt_internalAVLtree.res", - 439, - 4 - ], - Error: new Error() - }; - } - checkInvariantInternal(l); - _v = r; - continue; - }; -} - -function fillArrayKey(_n, _i, arr) { - while (true) { - let i = _i; - let n = _n; - let v = n.k; - let l = n.l; - let r = n.r; - let next = l !== undefined ? fillArrayKey(l, i, arr) : i; - arr[next] = v; - let rnext = next + 1 | 0; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue; - }; -} - -function fillArrayValue(_n, _i, arr) { - while (true) { - let i = _i; - let n = _n; - let l = n.l; - let r = n.r; - let next = l !== undefined ? fillArrayValue(l, i, arr) : i; - arr[next] = n.v; - let rnext = next + 1 | 0; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue; - }; -} - -function fillArray(_n, _i, arr) { - while (true) { - let i = _i; - let n = _n; - let l = n.l; - let v = n.k; - let r = n.r; - let next = l !== undefined ? fillArray(l, i, arr) : i; - arr[next] = [ - v, - n.v - ]; - let rnext = next + 1 | 0; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue; - }; -} - -function toArray(n) { - if (n === undefined) { - return []; - } - let size = lengthNode(n); - let v = new Array(size); - fillArray(n, 0, v); - return v; -} - -function keysToArray(n) { - if (n === undefined) { - return []; - } - let size = lengthNode(n); - let v = new Array(size); - fillArrayKey(n, 0, v); - return v; -} - -function valuesToArray(n) { - if (n === undefined) { - return []; - } - let size = lengthNode(n); - let v = new Array(size); - fillArrayValue(n, 0, v); - return v; -} - -function fromSortedArrayRevAux(arr, off, len) { - switch (len) { - case 0 : - return; - case 1 : - let match = arr[off]; - return singleton(match[0], match[1]); - case 2 : - let match_0 = arr[off]; - let match_1 = arr[off - 1 | 0]; - let match$1 = match_1; - let match$2 = match_0; - return { - k: match$1[0], - v: match$1[1], - h: 2, - l: singleton(match$2[0], match$2[1]), - r: undefined - }; - case 3 : - let match_0$1 = arr[off]; - let match_1$1 = arr[off - 1 | 0]; - let match_2 = arr[off - 2 | 0]; - let match$3 = match_2; - let match$4 = match_1$1; - let match$5 = match_0$1; - return { - k: match$4[0], - v: match$4[1], - h: 2, - l: singleton(match$5[0], match$5[1]), - r: singleton(match$3[0], match$3[1]) - }; - default: - let nl = len / 2 | 0; - let left = fromSortedArrayRevAux(arr, off, nl); - let match$6 = arr[off - nl | 0]; - let right = fromSortedArrayRevAux(arr, (off - nl | 0) - 1 | 0, (len - nl | 0) - 1 | 0); - return create(left, match$6[0], match$6[1], right); - } -} - -function fromSortedArrayAux(arr, off, len) { - switch (len) { - case 0 : - return; - case 1 : - let match = arr[off]; - return singleton(match[0], match[1]); - case 2 : - let match_0 = arr[off]; - let match_1 = arr[off + 1 | 0]; - let match$1 = match_1; - let match$2 = match_0; - return { - k: match$1[0], - v: match$1[1], - h: 2, - l: singleton(match$2[0], match$2[1]), - r: undefined - }; - case 3 : - let match_0$1 = arr[off]; - let match_1$1 = arr[off + 1 | 0]; - let match_2 = arr[off + 2 | 0]; - let match$3 = match_2; - let match$4 = match_1$1; - let match$5 = match_0$1; - return { - k: match$4[0], - v: match$4[1], - h: 2, - l: singleton(match$5[0], match$5[1]), - r: singleton(match$3[0], match$3[1]) - }; - default: - let nl = len / 2 | 0; - let left = fromSortedArrayAux(arr, off, nl); - let match$6 = arr[off + nl | 0]; - let right = fromSortedArrayAux(arr, (off + nl | 0) + 1 | 0, (len - nl | 0) - 1 | 0); - return create(left, match$6[0], match$6[1], right); - } -} - -function fromSortedArrayUnsafe(arr) { - return fromSortedArrayAux(arr, 0, arr.length); -} - -function cmp(s1, s2, kcmp, vcmp) { - let len1 = size(s1); - let len2 = size(s2); - if (len1 === len2) { - let _e1 = stackAllLeft(s1, /* [] */0); - let _e2 = stackAllLeft(s2, /* [] */0); - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return 0; - } - if (e2 === 0) { - return 0; - } - let h2 = e2.hd; - let h1 = e1.hd; - let c = kcmp(h1.k, h2.k); - if (c !== 0) { - return c; - } - let cx = vcmp(h1.v, h2.v); - if (cx !== 0) { - return cx; - } - _e2 = stackAllLeft(h2.r, e2.tl); - _e1 = stackAllLeft(h1.r, e1.tl); - continue; - }; - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eq(s1, s2, kcmp, veq) { - let len1 = size(s1); - let len2 = size(s2); - if (len1 === len2) { - let _e1 = stackAllLeft(s1, /* [] */0); - let _e2 = stackAllLeft(s2, /* [] */0); - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return true; - } - if (e2 === 0) { - return true; - } - let h2 = e2.hd; - let h1 = e1.hd; - if (!(kcmp(h1.k, h2.k) === 0 && veq(h1.v, h2.v))) { - return false; - } - _e2 = stackAllLeft(h2.r, e2.tl); - _e1 = stackAllLeft(h1.r, e1.tl); - continue; - }; - } else { - return false; - } -} - -function get(_n, x, cmp) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.k; - let c = cmp(x, v); - if (c === 0) { - return Primitive_option.some(n.v); - } - _n = c < 0 ? n.l : n.r; - continue; - }; -} - -function getUndefined(_n, x, cmp) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.k; - let c = cmp(x, v); - if (c === 0) { - return n.v; - } - _n = c < 0 ? n.l : n.r; - continue; - }; -} - -function getOrThrow(_n, x, cmp) { - while (true) { - let n = _n; - if (n !== undefined) { - let v = n.k; - let c = cmp(x, v); - if (c === 0) { - return n.v; - } - _n = c < 0 ? n.l : n.r; - continue; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function getWithDefault(_n, x, def, cmp) { - while (true) { - let n = _n; - if (n === undefined) { - return def; - } - let v = n.k; - let c = cmp(x, v); - if (c === 0) { - return n.v; - } - _n = c < 0 ? n.l : n.r; - continue; - }; -} - -function has(_n, x, cmp) { - while (true) { - let n = _n; - if (n === undefined) { - return false; - } - let v = n.k; - let c = cmp(x, v); - if (c === 0) { - return true; - } - _n = c < 0 ? n.l : n.r; - continue; - }; -} - -function rotateWithLeftChild(k2) { - let k1 = k2.l; - k2.l = k1.r; - k1.r = k2; - let hlk2 = treeHeight(k2.l); - let hrk2 = treeHeight(k2.r); - k2.h = Primitive_int.max(hlk2, hrk2) + 1 | 0; - let hlk1 = treeHeight(k1.l); - let hk2 = k2.h; - k1.h = Primitive_int.max(hlk1, hk2) + 1 | 0; - return k1; -} - -function rotateWithRightChild(k1) { - let k2 = k1.r; - k1.r = k2.l; - k2.l = k1; - let hlk1 = treeHeight(k1.l); - let hrk1 = treeHeight(k1.r); - k1.h = Primitive_int.max(hlk1, hrk1) + 1 | 0; - let hrk2 = treeHeight(k2.r); - let hk1 = k1.h; - k2.h = Primitive_int.max(hrk2, hk1) + 1 | 0; - return k2; -} - -function doubleWithLeftChild(k3) { - let x = k3.l; - let v = rotateWithRightChild(x); - k3.l = v; - return rotateWithLeftChild(k3); -} - -function doubleWithRightChild(k2) { - let x = k2.r; - let v = rotateWithLeftChild(x); - k2.r = v; - return rotateWithRightChild(k2); -} - -function heightUpdateMutate(t) { - let hlt = treeHeight(t.l); - let hrt = treeHeight(t.r); - t.h = Primitive_int.max(hlt, hrt) + 1 | 0; - return t; -} - -function balMutate(nt) { - let l = nt.l; - let r = nt.r; - let hl = treeHeight(l); - let hr = treeHeight(r); - if (hl > (2 + hr | 0)) { - let ll = l.l; - let lr = l.r; - if (heightGe(ll, lr)) { - return heightUpdateMutate(rotateWithLeftChild(nt)); - } else { - return heightUpdateMutate(doubleWithLeftChild(nt)); - } - } - if (hr > (2 + hl | 0)) { - let rl = r.l; - let rr = r.r; - if (heightGe(rr, rl)) { - return heightUpdateMutate(rotateWithRightChild(nt)); - } else { - return heightUpdateMutate(doubleWithRightChild(nt)); - } - } - nt.h = Primitive_int.max(hl, hr) + 1 | 0; - return nt; -} - -function updateMutate(t, x, data, cmp) { - if (t === undefined) { - return singleton(x, data); - } - let k = t.k; - let c = cmp(x, k); - if (c === 0) { - t.v = data; - return t; - } - let l = t.l; - let r = t.r; - if (c < 0) { - let ll = updateMutate(l, x, data, cmp); - t.l = ll; - } else { - t.r = updateMutate(r, x, data, cmp); - } - return balMutate(t); -} - -function fromArray(xs, cmp) { - let len = xs.length; - if (len === 0) { - return; - } - let next = Belt_SortArray.strictlySortedLength(xs, (param, param$1) => cmp(param[0], param$1[0]) < 0); - let result; - if (next >= 0) { - result = fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for (let i = next; i < len; ++i) { - let match = xs[i]; - result = updateMutate(result, match[0], match[1], cmp); - } - return result; -} - -function removeMinAuxWithRootMutate(nt, n) { - let rn = n.r; - let ln = n.l; - if (ln !== undefined) { - n.l = removeMinAuxWithRootMutate(nt, ln); - return balMutate(n); - } else { - nt.k = n.k; - nt.v = n.v; - return rn; - } -} - -export { - copy, - create, - bal, - singleton, - updateValue, - minKey, - minKeyUndefined, - maxKey, - maxKeyUndefined, - minimum, - minUndefined, - maximum, - maxUndefined, - removeMinAuxWithRef, - isEmpty, - stackAllLeft, - findFirstBy, - forEach, - map, - mapWithKey, - reduce, - every, - some, - join, - concat, - concatOrJoin, - keepShared, - keepMap, - partitionShared, - lengthNode, - size, - toList, - checkInvariantInternal, - fillArray, - toArray, - keysToArray, - valuesToArray, - fromSortedArrayAux, - fromSortedArrayRevAux, - fromSortedArrayUnsafe, - cmp, - eq, - get, - getUndefined, - getWithDefault, - getOrThrow, - has, - fromArray, - updateMutate, - balMutate, - removeMinAuxWithRootMutate, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalBuckets.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalBuckets.js deleted file mode 100644 index a2f6123..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalBuckets.js +++ /dev/null @@ -1,258 +0,0 @@ - - -import * as Belt_Array from "./Belt_Array.js"; -import * as Primitive_int from "./Primitive_int.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function copyAuxCont(_c, _prec) { - while (true) { - let prec = _prec; - let c = _c; - if (c === undefined) { - return; - } - let ncopy = { - key: c.key, - value: c.value, - next: undefined - }; - prec.next = ncopy; - _prec = ncopy; - _c = c.next; - continue; - }; -} - -function copyBucket(c) { - if (c === undefined) { - return c; - } - let head = { - key: c.key, - value: c.value, - next: undefined - }; - copyAuxCont(c.next, head); - return head; -} - -function copyBuckets(buckets) { - let len = buckets.length; - let newBuckets = new Array(len); - for (let i = 0; i < len; ++i) { - newBuckets[i] = copyBucket(buckets[i]); - } - return newBuckets; -} - -function copy(x) { - return { - size: x.size, - buckets: copyBuckets(x.buckets), - hash: x.hash, - eq: x.eq - }; -} - -function bucketLength(_accu, _buckets) { - while (true) { - let buckets = _buckets; - let accu = _accu; - if (buckets === undefined) { - return accu; - } - _buckets = buckets.next; - _accu = accu + 1 | 0; - continue; - }; -} - -function do_bucket_iter(f, _buckets) { - while (true) { - let buckets = _buckets; - if (buckets === undefined) { - return; - } - f(buckets.key, buckets.value); - _buckets = buckets.next; - continue; - }; -} - -function forEach(h, f) { - let d = h.buckets; - for (let i = 0, i_finish = d.length; i < i_finish; ++i) { - do_bucket_iter(f, d[i]); - } -} - -function do_bucket_fold(f, _b, _accu) { - while (true) { - let accu = _accu; - let b = _b; - if (b === undefined) { - return accu; - } - _accu = f(accu, b.key, b.value); - _b = b.next; - continue; - }; -} - -function reduce(h, init, f) { - let d = h.buckets; - let accu = init; - for (let i = 0, i_finish = d.length; i < i_finish; ++i) { - accu = do_bucket_fold(f, d[i], accu); - } - return accu; -} - -function getMaxBucketLength(h) { - return Belt_Array.reduce(h.buckets, 0, (m, b) => { - let len = bucketLength(0, b); - return Primitive_int.max(m, len); - }); -} - -function getBucketHistogram(h) { - let mbl = getMaxBucketLength(h); - let histo = Belt_Array.makeBy(mbl + 1 | 0, param => 0); - Belt_Array.forEach(h.buckets, b => { - let l = bucketLength(0, b); - histo[l] = histo[l] + 1 | 0; - }); - return histo; -} - -function logStats(h) { - let histogram = getBucketHistogram(h); - console.log({ - bindings: h.size, - buckets: h.buckets.length, - histogram: histogram - }); -} - -function filterMapInplaceBucket(f, h, i, _prec, _cell) { - while (true) { - let cell = _cell; - let prec = _prec; - let n = cell.next; - let data = f(cell.key, cell.value); - if (data !== undefined) { - if (prec !== undefined) { - cell.next = cell; - } else { - h.buckets[i] = cell; - } - cell.value = Primitive_option.valFromOption(data); - if (n === undefined) { - cell.next = n; - return; - } - _cell = n; - _prec = cell; - continue; - } - h.size = h.size - 1 | 0; - if (n === undefined) { - if (prec !== undefined) { - prec.next = n; - } else { - h.buckets[i] = prec; - } - return; - } - _cell = n; - continue; - }; -} - -function keepMapInPlace(h, f) { - let h_buckets = h.buckets; - for (let i = 0, i_finish = h_buckets.length; i < i_finish; ++i) { - let v = h_buckets[i]; - if (v !== undefined) { - filterMapInplaceBucket(f, h, i, undefined, v); - } - } -} - -function fillArray(_i, arr, _cell) { - while (true) { - let cell = _cell; - let i = _i; - arr[i] = [ - cell.key, - cell.value - ]; - let v = cell.next; - if (v === undefined) { - return i + 1 | 0; - } - _cell = v; - _i = i + 1 | 0; - continue; - }; -} - -function fillArrayMap(_i, arr, _cell, f) { - while (true) { - let cell = _cell; - let i = _i; - arr[i] = f(cell); - let v = cell.next; - if (v === undefined) { - return i + 1 | 0; - } - _cell = v; - _i = i + 1 | 0; - continue; - }; -} - -function linear(h, f) { - let d = h.buckets; - let current = 0; - let arr = new Array(h.size); - for (let i = 0, i_finish = d.length; i < i_finish; ++i) { - let cell = d[i]; - if (cell !== undefined) { - current = fillArrayMap(current, arr, cell, f); - } - } - return arr; -} - -function keysToArray(h) { - return linear(h, x => x.key); -} - -function valuesToArray(h) { - return linear(h, x => x.value); -} - -function toArray(h) { - return linear(h, x => [ - x.key, - x.value - ]); -} - -let C; - -export { - C, - copy, - forEach, - reduce, - logStats, - keepMapInPlace, - fillArray, - keysToArray, - valuesToArray, - toArray, - getBucketHistogram, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalBucketsType.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalBucketsType.js deleted file mode 100644 index d2101f5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalBucketsType.js +++ /dev/null @@ -1,49 +0,0 @@ - - - -function power_2_above(_x, n) { - while (true) { - let x = _x; - if (x >= n) { - return x; - } - if ((x << 1) < x) { - return x; - } - _x = (x << 1); - continue; - }; -} - -function make(hash, eq, hintSize) { - let s = power_2_above(16, hintSize); - return { - size: 0, - buckets: new Array(s), - hash: hash, - eq: eq - }; -} - -function clear(h) { - h.size = 0; - let h_buckets = h.buckets; - let len = h_buckets.length; - for (let i = 0; i < len; ++i) { - h_buckets[i] = undefined; - } -} - -function isEmpty(h) { - return h.size === 0; -} - -let emptyOpt; - -export { - emptyOpt, - make, - clear, - isEmpty, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalMapInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalMapInt.js deleted file mode 100644 index fccd8d0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalMapInt.js +++ /dev/null @@ -1,355 +0,0 @@ - - -import * as Primitive_int from "./Primitive_int.js"; -import * as Belt_SortArray from "./Belt_SortArray.js"; -import * as Primitive_option from "./Primitive_option.js"; -import * as Belt_internalAVLtree from "./Belt_internalAVLtree.js"; - -function add(t, x, data) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(x, data); - } - let k = t.k; - if (x === k) { - return Belt_internalAVLtree.updateValue(t, data); - } - let v = t.v; - if (x < k) { - return Belt_internalAVLtree.bal(add(t.l, x, data), k, v, t.r); - } else { - return Belt_internalAVLtree.bal(t.l, k, v, add(t.r, x, data)); - } -} - -function get(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.k; - if (x === v) { - return Primitive_option.some(n.v); - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function getUndefined(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function getOrThrow(_n, x) { - while (true) { - let n = _n; - if (n !== undefined) { - let v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function getWithDefault(_n, x, def) { - while (true) { - let n = _n; - if (n === undefined) { - return def; - } - let v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function has(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return false; - } - let v = n.k; - if (x === v) { - return true; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function remove(n, x) { - if (n === undefined) { - return n; - } - let v = n.k; - let l = n.l; - let r = n.r; - if (x !== v) { - if (x < v) { - return Belt_internalAVLtree.bal(remove(l, x), v, n.v, r); - } else { - return Belt_internalAVLtree.bal(l, v, n.v, remove(r, x)); - } - } - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let kr = { - contents: r.k - }; - let vr = { - contents: r.v - }; - let r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); -} - -function splitAux(x, n) { - let v = n.k; - let d = n.v; - let l = n.l; - let r = n.r; - if (x === v) { - return [ - l, - Primitive_option.some(d), - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - undefined, - n - ]; - } - let match = splitAux(x, l); - return [ - match[0], - match[1], - Belt_internalAVLtree.join(match[2], v, d, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined, - undefined - ]; - } - let match$1 = splitAux(x, r); - return [ - Belt_internalAVLtree.join(l, v, d, match$1[0]), - match$1[1], - match$1[2] - ]; -} - -function split(x, n) { - if (n !== undefined) { - return splitAux(x, n); - } else { - return [ - undefined, - undefined, - undefined - ]; - } -} - -function merge(s1, s2, f) { - if (s1 !== undefined) { - if (s1.h >= ( - s2 !== undefined ? s2.h : 0 - )) { - let v1 = s1.k; - let d1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let match = split(v1, s2); - return Belt_internalAVLtree.concatOrJoin(merge(l1, match[0], f), v1, f(v1, Primitive_option.some(d1), match[1]), merge(r1, match[2], f)); - } - } else if (s2 === undefined) { - return; - } - let v2 = s2.k; - let d2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - let match$1 = split(v2, s1); - return Belt_internalAVLtree.concatOrJoin(merge(match$1[0], l2, f), v2, f(v2, match$1[1], Primitive_option.some(d2)), merge(match$1[2], r2, f)); -} - -function compareAux(_e1, _e2, vcmp) { - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return 0; - } - if (e2 === 0) { - return 0; - } - let h2 = e2.hd; - let h1 = e1.hd; - let c = Primitive_int.compare(h1.k, h2.k); - if (c !== 0) { - return c; - } - let cx = vcmp(h1.v, h2.v); - if (cx !== 0) { - return cx; - } - _e2 = Belt_internalAVLtree.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLtree.stackAllLeft(h1.r, e1.tl); - continue; - }; -} - -function cmp(s1, s2, cmp$1) { - let len1 = Belt_internalAVLtree.size(s1); - let len2 = Belt_internalAVLtree.size(s2); - if (len1 === len2) { - return compareAux(Belt_internalAVLtree.stackAllLeft(s1, /* [] */0), Belt_internalAVLtree.stackAllLeft(s2, /* [] */0), cmp$1); - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eqAux(_e1, _e2, eq) { - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return true; - } - if (e2 === 0) { - return true; - } - let h2 = e2.hd; - let h1 = e1.hd; - if (!(h1.k === h2.k && eq(h1.v, h2.v))) { - return false; - } - _e2 = Belt_internalAVLtree.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLtree.stackAllLeft(h1.r, e1.tl); - continue; - }; -} - -function eq(s1, s2, eq$1) { - let len1 = Belt_internalAVLtree.size(s1); - let len2 = Belt_internalAVLtree.size(s2); - if (len1 === len2) { - return eqAux(Belt_internalAVLtree.stackAllLeft(s1, /* [] */0), Belt_internalAVLtree.stackAllLeft(s2, /* [] */0), eq$1); - } else { - return false; - } -} - -function addMutate(t, x, data) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(x, data); - } - let k = t.k; - if (x === k) { - t.k = x; - t.v = data; - return t; - } - let l = t.l; - let r = t.r; - if (x < k) { - let ll = addMutate(l, x, data); - t.l = ll; - } else { - t.r = addMutate(r, x, data); - } - return Belt_internalAVLtree.balMutate(t); -} - -function fromArray(xs) { - let len = xs.length; - if (len === 0) { - return; - } - let next = Belt_SortArray.strictlySortedLength(xs, (param, param$1) => param[0] < param$1[0]); - let result; - if (next >= 0) { - result = Belt_internalAVLtree.fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = Belt_internalAVLtree.fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for (let i = next; i < len; ++i) { - let match = xs[i]; - result = addMutate(result, match[0], match[1]); - } - return result; -} - -let N; - -let A; - -let S; - -let cmpU = cmp; - -let eqU = eq; - -let mergeU = merge; - -export { - N, - A, - S, - add, - get, - getUndefined, - getOrThrow, - getWithDefault, - has, - remove, - splitAux, - split, - merge, - compareAux, - cmp, - eqAux, - eq, - addMutate, - fromArray, - cmpU, - eqU, - mergeU, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalMapString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalMapString.js deleted file mode 100644 index 8619fb7..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalMapString.js +++ /dev/null @@ -1,355 +0,0 @@ - - -import * as Belt_SortArray from "./Belt_SortArray.js"; -import * as Primitive_option from "./Primitive_option.js"; -import * as Primitive_string from "./Primitive_string.js"; -import * as Belt_internalAVLtree from "./Belt_internalAVLtree.js"; - -function add(t, x, data) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(x, data); - } - let k = t.k; - if (x === k) { - return Belt_internalAVLtree.updateValue(t, data); - } - let v = t.v; - if (x < k) { - return Belt_internalAVLtree.bal(add(t.l, x, data), k, v, t.r); - } else { - return Belt_internalAVLtree.bal(t.l, k, v, add(t.r, x, data)); - } -} - -function get(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.k; - if (x === v) { - return Primitive_option.some(n.v); - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function getUndefined(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function getOrThrow(_n, x) { - while (true) { - let n = _n; - if (n !== undefined) { - let v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function getWithDefault(_n, x, def) { - while (true) { - let n = _n; - if (n === undefined) { - return def; - } - let v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function has(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return false; - } - let v = n.k; - if (x === v) { - return true; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function remove(n, x) { - if (n === undefined) { - return n; - } - let v = n.k; - let l = n.l; - let r = n.r; - if (x !== v) { - if (x < v) { - return Belt_internalAVLtree.bal(remove(l, x), v, n.v, r); - } else { - return Belt_internalAVLtree.bal(l, v, n.v, remove(r, x)); - } - } - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - let kr = { - contents: r.k - }; - let vr = { - contents: r.v - }; - let r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); -} - -function splitAux(x, n) { - let v = n.k; - let d = n.v; - let l = n.l; - let r = n.r; - if (x === v) { - return [ - l, - Primitive_option.some(d), - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - undefined, - n - ]; - } - let match = splitAux(x, l); - return [ - match[0], - match[1], - Belt_internalAVLtree.join(match[2], v, d, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined, - undefined - ]; - } - let match$1 = splitAux(x, r); - return [ - Belt_internalAVLtree.join(l, v, d, match$1[0]), - match$1[1], - match$1[2] - ]; -} - -function split(x, n) { - if (n !== undefined) { - return splitAux(x, n); - } else { - return [ - undefined, - undefined, - undefined - ]; - } -} - -function merge(s1, s2, f) { - if (s1 !== undefined) { - if (s1.h >= ( - s2 !== undefined ? s2.h : 0 - )) { - let v1 = s1.k; - let d1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let match = split(v1, s2); - return Belt_internalAVLtree.concatOrJoin(merge(l1, match[0], f), v1, f(v1, Primitive_option.some(d1), match[1]), merge(r1, match[2], f)); - } - } else if (s2 === undefined) { - return; - } - let v2 = s2.k; - let d2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - let match$1 = split(v2, s1); - return Belt_internalAVLtree.concatOrJoin(merge(match$1[0], l2, f), v2, f(v2, match$1[1], Primitive_option.some(d2)), merge(match$1[2], r2, f)); -} - -function compareAux(_e1, _e2, vcmp) { - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return 0; - } - if (e2 === 0) { - return 0; - } - let h2 = e2.hd; - let h1 = e1.hd; - let c = Primitive_string.compare(h1.k, h2.k); - if (c !== 0) { - return c; - } - let cx = vcmp(h1.v, h2.v); - if (cx !== 0) { - return cx; - } - _e2 = Belt_internalAVLtree.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLtree.stackAllLeft(h1.r, e1.tl); - continue; - }; -} - -function cmp(s1, s2, cmp$1) { - let len1 = Belt_internalAVLtree.size(s1); - let len2 = Belt_internalAVLtree.size(s2); - if (len1 === len2) { - return compareAux(Belt_internalAVLtree.stackAllLeft(s1, /* [] */0), Belt_internalAVLtree.stackAllLeft(s2, /* [] */0), cmp$1); - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eqAux(_e1, _e2, eq) { - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return true; - } - if (e2 === 0) { - return true; - } - let h2 = e2.hd; - let h1 = e1.hd; - if (!(h1.k === h2.k && eq(h1.v, h2.v))) { - return false; - } - _e2 = Belt_internalAVLtree.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLtree.stackAllLeft(h1.r, e1.tl); - continue; - }; -} - -function eq(s1, s2, eq$1) { - let len1 = Belt_internalAVLtree.size(s1); - let len2 = Belt_internalAVLtree.size(s2); - if (len1 === len2) { - return eqAux(Belt_internalAVLtree.stackAllLeft(s1, /* [] */0), Belt_internalAVLtree.stackAllLeft(s2, /* [] */0), eq$1); - } else { - return false; - } -} - -function addMutate(t, x, data) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(x, data); - } - let k = t.k; - if (x === k) { - t.k = x; - t.v = data; - return t; - } - let l = t.l; - let r = t.r; - if (x < k) { - let ll = addMutate(l, x, data); - t.l = ll; - } else { - t.r = addMutate(r, x, data); - } - return Belt_internalAVLtree.balMutate(t); -} - -function fromArray(xs) { - let len = xs.length; - if (len === 0) { - return; - } - let next = Belt_SortArray.strictlySortedLength(xs, (param, param$1) => param[0] < param$1[0]); - let result; - if (next >= 0) { - result = Belt_internalAVLtree.fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = Belt_internalAVLtree.fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for (let i = next; i < len; ++i) { - let match = xs[i]; - result = addMutate(result, match[0], match[1]); - } - return result; -} - -let N; - -let A; - -let S; - -let cmpU = cmp; - -let eqU = eq; - -let mergeU = merge; - -export { - N, - A, - S, - add, - get, - getUndefined, - getOrThrow, - getWithDefault, - has, - remove, - splitAux, - split, - merge, - compareAux, - cmp, - eqAux, - eq, - addMutate, - fromArray, - cmpU, - eqU, - mergeU, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetBuckets.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetBuckets.js deleted file mode 100644 index 9cf3df9..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetBuckets.js +++ /dev/null @@ -1,174 +0,0 @@ - - -import * as Belt_Array from "./Belt_Array.js"; -import * as Primitive_int from "./Primitive_int.js"; - -function copyBucket(c) { - if (c === undefined) { - return c; - } - let head = { - key: c.key, - next: undefined - }; - copyAuxCont(c.next, head); - return head; -} - -function copyAuxCont(_c, _prec) { - while (true) { - let prec = _prec; - let c = _c; - if (c === undefined) { - return; - } - let ncopy = { - key: c.key, - next: undefined - }; - prec.next = ncopy; - _prec = ncopy; - _c = c.next; - continue; - }; -} - -function copyBuckets(buckets) { - let len = buckets.length; - let newBuckets = new Array(len); - for (let i = 0; i < len; ++i) { - newBuckets[i] = copyBucket(buckets[i]); - } - return newBuckets; -} - -function copy(x) { - return { - size: x.size, - buckets: copyBuckets(x.buckets), - hash: x.hash, - eq: x.eq - }; -} - -function bucketLength(_accu, _buckets) { - while (true) { - let buckets = _buckets; - let accu = _accu; - if (buckets === undefined) { - return accu; - } - _buckets = buckets.next; - _accu = accu + 1 | 0; - continue; - }; -} - -function doBucketIter(f, _buckets) { - while (true) { - let buckets = _buckets; - if (buckets === undefined) { - return; - } - f(buckets.key); - _buckets = buckets.next; - continue; - }; -} - -function forEach(h, f) { - let d = h.buckets; - for (let i = 0, i_finish = d.length; i < i_finish; ++i) { - doBucketIter(f, d[i]); - } -} - -function fillArray(_i, arr, _cell) { - while (true) { - let cell = _cell; - let i = _i; - arr[i] = cell.key; - let v = cell.next; - if (v === undefined) { - return i + 1 | 0; - } - _cell = v; - _i = i + 1 | 0; - continue; - }; -} - -function toArray(h) { - let d = h.buckets; - let current = 0; - let arr = new Array(h.size); - for (let i = 0, i_finish = d.length; i < i_finish; ++i) { - let cell = d[i]; - if (cell !== undefined) { - current = fillArray(current, arr, cell); - } - } - return arr; -} - -function doBucketFold(f, _b, _accu) { - while (true) { - let accu = _accu; - let b = _b; - if (b === undefined) { - return accu; - } - _accu = f(accu, b.key); - _b = b.next; - continue; - }; -} - -function reduce(h, init, f) { - let d = h.buckets; - let accu = init; - for (let i = 0, i_finish = d.length; i < i_finish; ++i) { - accu = doBucketFold(f, d[i], accu); - } - return accu; -} - -function getMaxBucketLength(h) { - return Belt_Array.reduce(h.buckets, 0, (m, b) => { - let len = bucketLength(0, b); - return Primitive_int.max(m, len); - }); -} - -function getBucketHistogram(h) { - let mbl = getMaxBucketLength(h); - let histo = Belt_Array.makeBy(mbl + 1 | 0, param => 0); - Belt_Array.forEach(h.buckets, b => { - let l = bucketLength(0, b); - histo[l] = histo[l] + 1 | 0; - }); - return histo; -} - -function logStats(h) { - let histogram = getBucketHistogram(h); - console.log({ - bindings: h.size, - buckets: h.buckets.length, - histogram: histogram - }); -} - -let C; - -export { - C, - copy, - forEach, - fillArray, - toArray, - reduce, - logStats, - getBucketHistogram, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetInt.js deleted file mode 100644 index 3c2b2d7..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetInt.js +++ /dev/null @@ -1,209 +0,0 @@ - - -import * as Belt_SortArrayInt from "./Belt_SortArrayInt.js"; -import * as Belt_internalAVLset from "./Belt_internalAVLset.js"; - -function has(_t, x) { - while (true) { - let t = _t; - if (t === undefined) { - return false; - } - let v = t.v; - if (x === v) { - return true; - } - _t = x < v ? t.l : t.r; - continue; - }; -} - -function compareAux(_e1, _e2) { - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return 0; - } - if (e2 === 0) { - return 0; - } - let h2 = e2.hd; - let h1 = e1.hd; - let k1 = h1.v; - let k2 = h2.v; - if (k1 !== k2) { - if (k1 < k2) { - return -1; - } else { - return 1; - } - } - _e2 = Belt_internalAVLset.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLset.stackAllLeft(h1.r, e1.tl); - continue; - }; -} - -function cmp(s1, s2) { - let len1 = Belt_internalAVLset.size(s1); - let len2 = Belt_internalAVLset.size(s2); - if (len1 === len2) { - return compareAux(Belt_internalAVLset.stackAllLeft(s1, /* [] */0), Belt_internalAVLset.stackAllLeft(s2, /* [] */0)); - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eq(s1, s2) { - return cmp(s1, s2) === 0; -} - -function subset(_s1, _s2) { - while (true) { - let s2 = _s2; - let s1 = _s1; - if (s1 === undefined) { - return true; - } - if (s2 === undefined) { - return false; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let v2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - if (v1 === v2) { - if (!subset(l1, l2)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue; - } - if (v1 < v2) { - if (!subset(Belt_internalAVLset.create(l1, v1, undefined), l2)) { - return false; - } - _s1 = r1; - continue; - } - if (!subset(Belt_internalAVLset.create(undefined, v1, r1), r2)) { - return false; - } - _s1 = l1; - continue; - }; -} - -function get(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function getUndefined(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function getOrThrow(_n, x) { - while (true) { - let n = _n; - if (n !== undefined) { - let v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function addMutate(t, x) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - let k = t.v; - if (x === k) { - return t; - } - let l = t.l; - let r = t.r; - if (x < k) { - t.l = addMutate(l, x); - } else { - t.r = addMutate(r, x); - } - return Belt_internalAVLset.balMutate(t); -} - -function fromArray(xs) { - let len = xs.length; - if (len === 0) { - return; - } - let next = Belt_SortArrayInt.strictlySortedLength(xs); - let result; - if (next >= 0) { - result = Belt_internalAVLset.fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = Belt_internalAVLset.fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for (let i = next; i < len; ++i) { - result = addMutate(result, xs[i]); - } - return result; -} - -let S; - -let N; - -let A; - -export { - S, - N, - A, - has, - compareAux, - cmp, - eq, - subset, - get, - getUndefined, - getOrThrow, - addMutate, - fromArray, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetString.js b/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetString.js deleted file mode 100644 index 302b1a0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Belt_internalSetString.js +++ /dev/null @@ -1,209 +0,0 @@ - - -import * as Belt_internalAVLset from "./Belt_internalAVLset.js"; -import * as Belt_SortArrayString from "./Belt_SortArrayString.js"; - -function has(_t, x) { - while (true) { - let t = _t; - if (t === undefined) { - return false; - } - let v = t.v; - if (x === v) { - return true; - } - _t = x < v ? t.l : t.r; - continue; - }; -} - -function compareAux(_e1, _e2) { - while (true) { - let e2 = _e2; - let e1 = _e1; - if (e1 === 0) { - return 0; - } - if (e2 === 0) { - return 0; - } - let h2 = e2.hd; - let h1 = e1.hd; - let k1 = h1.v; - let k2 = h2.v; - if (k1 !== k2) { - if (k1 < k2) { - return -1; - } else { - return 1; - } - } - _e2 = Belt_internalAVLset.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLset.stackAllLeft(h1.r, e1.tl); - continue; - }; -} - -function cmp(s1, s2) { - let len1 = Belt_internalAVLset.size(s1); - let len2 = Belt_internalAVLset.size(s2); - if (len1 === len2) { - return compareAux(Belt_internalAVLset.stackAllLeft(s1, /* [] */0), Belt_internalAVLset.stackAllLeft(s2, /* [] */0)); - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eq(s1, s2) { - return cmp(s1, s2) === 0; -} - -function subset(_s1, _s2) { - while (true) { - let s2 = _s2; - let s1 = _s1; - if (s1 === undefined) { - return true; - } - if (s2 === undefined) { - return false; - } - let v1 = s1.v; - let l1 = s1.l; - let r1 = s1.r; - let v2 = s2.v; - let l2 = s2.l; - let r2 = s2.r; - if (v1 === v2) { - if (!subset(l1, l2)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue; - } - if (v1 < v2) { - if (!subset(Belt_internalAVLset.create(l1, v1, undefined), l2)) { - return false; - } - _s1 = r1; - continue; - } - if (!subset(Belt_internalAVLset.create(undefined, v1, r1), r2)) { - return false; - } - _s1 = l1; - continue; - }; -} - -function get(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function getUndefined(_n, x) { - while (true) { - let n = _n; - if (n === undefined) { - return; - } - let v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue; - }; -} - -function getOrThrow(_n, x) { - while (true) { - let n = _n; - if (n !== undefined) { - let v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function addMutate(t, x) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - let k = t.v; - if (x === k) { - return t; - } - let l = t.l; - let r = t.r; - if (x < k) { - t.l = addMutate(l, x); - } else { - t.r = addMutate(r, x); - } - return Belt_internalAVLset.balMutate(t); -} - -function fromArray(xs) { - let len = xs.length; - if (len === 0) { - return; - } - let next = Belt_SortArrayString.strictlySortedLength(xs); - let result; - if (next >= 0) { - result = Belt_internalAVLset.fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = Belt_internalAVLset.fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for (let i = next; i < len; ++i) { - result = addMutate(result, xs[i]); - } - return result; -} - -let S; - -let N; - -let A; - -export { - S, - N, - A, - has, - compareAux, - cmp, - eq, - subset, - get, - getUndefined, - getOrThrow, - addMutate, - fromArray, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Char.js b/bots/sustainabot/bot-integration/rescript-runtime/Char.js deleted file mode 100644 index b2a6536..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Char.js +++ /dev/null @@ -1,88 +0,0 @@ - - - -function escaped(param) { - let exit = 0; - if (param >= 40) { - if (param === 92) { - return "\\\\"; - } - exit = param >= 127 ? 1 : 2; - } else if (param >= 32) { - if (param >= 39) { - return "\\'"; - } - exit = 2; - } else if (param >= 14) { - exit = 1; - } else { - switch (param) { - case 8 : - return "\\b"; - case 9 : - return "\\t"; - case 10 : - return "\\n"; - case 0 : - case 1 : - case 2 : - case 3 : - case 4 : - case 5 : - case 6 : - case 7 : - case 11 : - case 12 : - exit = 1; - break; - case 13 : - return "\\r"; - } - } - switch (exit) { - case 1 : - let s = Array(4); - s[0] = /* '\\' */92; - s[1] = 48 + (param / 100 | 0) | 0; - s[2] = 48 + (param / 10 | 0) % 10 | 0; - s[3] = 48 + param % 10 | 0; - return String.fromCodePoint(...s); - case 2 : - let s$1 = Array(1); - s$1[0] = param; - return String.fromCodePoint(...s$1); - } -} - -function lowercase_ascii(c) { - if (c >= /* 'A' */65 && c <= /* 'Z' */90) { - return c + 32 | 0; - } else { - return c; - } -} - -function uppercase_ascii(c) { - if (c >= /* 'a' */97 && c <= /* 'z' */122) { - return c - 32 | 0; - } else { - return c; - } -} - -function compare(c1, c2) { - return c1 - c2 | 0; -} - -function equal(c1, c2) { - return (c1 - c2 | 0) === 0; -} - -export { - escaped, - lowercase_ascii, - uppercase_ascii, - compare, - equal, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Dom.js b/bots/sustainabot/bot-integration/rescript-runtime/Dom.js deleted file mode 100644 index 35819b0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Dom.js +++ /dev/null @@ -1,12 +0,0 @@ - - - -let Storage; - -let Storage2; - -export { - Storage, - Storage2, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Dom_storage.js b/bots/sustainabot/bot-integration/rescript-runtime/Dom_storage.js deleted file mode 100644 index 9f6114d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Dom_storage.js +++ /dev/null @@ -1,27 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function getItem(s, obj) { - return Primitive_option.fromNull(obj.getItem(s)); -} - -function setItem(k, v, obj) { - obj.setItem(k, v); -} - -function removeItem(s, obj) { - obj.removeItem(s); -} - -function key(i, obj) { - return Primitive_option.fromNull(obj.key(i)); -} - -export { - getItem, - setItem, - removeItem, - key, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Dom_storage2.js b/bots/sustainabot/bot-integration/rescript-runtime/Dom_storage2.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Dom_storage2.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js.js b/bots/sustainabot/bot-integration/rescript-runtime/Js.js deleted file mode 100644 index e854e84..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js.js +++ /dev/null @@ -1,109 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -let Null; - -let Undefined; - -let Nullable; - -let Null_undefined; - -let Exn; - -let $$Array; - -let Array2; - -let $$String; - -let String2; - -let Re; - -let $$Promise; - -let Promise2; - -let $$Date; - -let Dict; - -let Global; - -let Json; - -let $$Math; - -let Obj; - -let Typed_array; - -let TypedArray2; - -let Types; - -let Float; - -let Int; - -let $$BigInt; - -let File; - -let Blob; - -let Option; - -let Result; - -let Console; - -let $$Set; - -let $$WeakSet; - -let $$Map; - -let $$WeakMap; - -let undefinedToOption = Primitive_option.fromUndefined; - -export { - Null, - Undefined, - Nullable, - Null_undefined, - Exn, - $$Array, - Array2, - $$String, - String2, - Re, - $$Promise, - Promise2, - $$Date, - Dict, - Global, - Json, - $$Math, - Obj, - Typed_array, - TypedArray2, - Types, - Float, - Int, - $$BigInt, - File, - Blob, - Option, - Result, - Console, - $$Set, - $$WeakSet, - $$Map, - $$WeakMap, - undefinedToOption, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_OO.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_OO.js deleted file mode 100644 index c6841bd..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_OO.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Callback = {}; - -export { - Callback, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_array.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_array.js deleted file mode 100644 index 8c5f4be..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_array.js +++ /dev/null @@ -1,216 +0,0 @@ - - - -function copyWithin(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function push(arg1, obj) { - return obj.push(arg1); -} - -function pushMany(arg1, obj) { - return obj.push(...arg1); -} - -function sortInPlaceWith(arg1, obj) { - return obj.sort(arg1); -} - -function spliceInPlace(pos, remove, add, obj) { - return obj.splice(pos, remove, ...add); -} - -function removeFromInPlace(pos, obj) { - return obj.splice(pos); -} - -function removeCountInPlace(pos, count, obj) { - return obj.splice(pos, count); -} - -function unshift(arg1, obj) { - return obj.unshift(arg1); -} - -function unshiftMany(arg1, obj) { - return obj.unshift(...arg1); -} - -function concat(arg1, obj) { - return obj.concat(arg1); -} - -function concatMany(arg1, obj) { - return obj.concat(...arg1); -} - -function includes(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom(arg1, obj) { - return obj.slice(arg1); -} - -function every(arg1, obj) { - return obj.every(arg1); -} - -function everyi(arg1, obj) { - return obj.every(arg1); -} - -function filter(arg1, obj) { - return obj.filter(arg1); -} - -function filteri(arg1, obj) { - return obj.filter(arg1); -} - -function find(arg1, obj) { - return obj.find(arg1); -} - -function findi(arg1, obj) { - return obj.find(arg1); -} - -function findIndex(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi(arg1, obj) { - obj.forEach(arg1); -} - -function map(arg1, obj) { - return obj.map(arg1); -} - -function mapi(arg1, obj) { - return obj.map(arg1); -} - -function reduce(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some(arg1, obj) { - return obj.some(arg1); -} - -function somei(arg1, obj) { - return obj.some(arg1); -} - -export { - copyWithin, - copyWithinFrom, - copyWithinFromRange, - fillInPlace, - fillFromInPlace, - fillRangeInPlace, - push, - pushMany, - sortInPlaceWith, - spliceInPlace, - removeFromInPlace, - removeCountInPlace, - unshift, - unshiftMany, - concat, - concatMany, - includes, - indexOf, - indexOfFrom, - joinWith, - lastIndexOf, - lastIndexOfFrom, - slice, - sliceFrom, - every, - everyi, - filter, - filteri, - find, - findi, - findIndex, - findIndexi, - forEach, - forEachi, - map, - mapi, - reduce, - reducei, - reduceRight, - reduceRighti, - some, - somei, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_array2.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_array2.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_array2.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_bigint.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_bigint.js deleted file mode 100644 index c548d1a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_bigint.js +++ /dev/null @@ -1,11 +0,0 @@ - - - -function lnot(x) { - return x ^ -1n; -} - -export { - lnot, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_blob.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_blob.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_blob.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_console.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_console.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_console.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_date.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_date.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_date.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_dict.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_dict.js deleted file mode 100644 index f8a87eb..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_dict.js +++ /dev/null @@ -1,84 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function get(dict, k) { - if ((k in dict)) { - return Primitive_option.some(dict[k]); - } -} - -let unsafeDeleteKey = (function (dict,key){ - delete dict[key]; - }); - -function entries(dict) { - let keys = Object.keys(dict); - let l = keys.length; - let values = new Array(l); - for (let i = 0; i < l; ++i) { - let key = keys[i]; - values[i] = [ - key, - dict[key] - ]; - } - return values; -} - -function values(dict) { - let keys = Object.keys(dict); - let l = keys.length; - let values$1 = new Array(l); - for (let i = 0; i < l; ++i) { - values$1[i] = dict[keys[i]]; - } - return values$1; -} - -function fromList(entries) { - let dict = {}; - let _x = entries; - while (true) { - let x = _x; - if (x === 0) { - return dict; - } - let match = x.hd; - dict[match[0]] = match[1]; - _x = x.tl; - continue; - }; -} - -function fromArray(entries) { - let dict = {}; - let l = entries.length; - for (let i = 0; i < l; ++i) { - let match = entries[i]; - dict[match[0]] = match[1]; - } - return dict; -} - -function map(f, source) { - let target = {}; - let keys = Object.keys(source); - let l = keys.length; - for (let i = 0; i < l; ++i) { - let key = keys[i]; - target[key] = f(source[key]); - } - return target; -} - -export { - get, - unsafeDeleteKey, - entries, - values, - fromList, - fromArray, - map, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_file.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_file.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_file.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_float.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_float.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_float.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_global.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_global.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_global.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_int.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_int.js deleted file mode 100644 index 53a2d18..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_int.js +++ /dev/null @@ -1,17 +0,0 @@ - - - -function equal(x, y) { - return x === y; -} - -let max = 2147483647; - -let min = -2147483648; - -export { - equal, - max, - min, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_json.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_json.js deleted file mode 100644 index 100c7be..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_json.js +++ /dev/null @@ -1,167 +0,0 @@ - - - -let Kind = {}; - -function classify(x) { - let ty = typeof x; - if (ty === "string") { - return { - TAG: "JSONString", - _0: x - }; - } else if (ty === "number") { - return { - TAG: "JSONNumber", - _0: x - }; - } else if (ty === "boolean") { - if (x === true) { - return "JSONTrue"; - } else { - return "JSONFalse"; - } - } else if (x === null) { - return "JSONNull"; - } else if (Array.isArray(x)) { - return { - TAG: "JSONArray", - _0: x - }; - } else { - return { - TAG: "JSONObject", - _0: x - }; - } -} - -function test(x, v) { - switch (v) { - case "String" : - return typeof x === "string"; - case "Number" : - return typeof x === "number"; - case "Object" : - if (x !== null && typeof x === "object") { - return !Array.isArray(x); - } else { - return false; - } - case "Array" : - return Array.isArray(x); - case "Boolean" : - return typeof x === "boolean"; - case "Null" : - return x === null; - } -} - -function decodeString(json) { - if (typeof json === "string") { - return json; - } -} - -function decodeNumber(json) { - if (typeof json === "number") { - return json; - } -} - -function decodeObject(json) { - if (typeof json === "object" && !Array.isArray(json) && json !== null) { - return json; - } -} - -function decodeArray(json) { - if (Array.isArray(json)) { - return json; - } -} - -function decodeBoolean(json) { - if (typeof json === "boolean") { - return json; - } -} - -function decodeNull(json) { - if (json === null) { - return null; - } -} - -let patch = (function (json) { - var x = [json]; - var q = [{ kind: 0, i: 0, parent: x }]; - while (q.length !== 0) { - // begin pop the stack - var cur = q[q.length - 1]; - if (cur.kind === 0) { - cur.val = cur.parent[cur.i]; // patch the undefined value for array - if (++cur.i === cur.parent.length) { - q.pop(); - } - } else { - q.pop(); - } - // finish - var task = cur.val; - if (typeof task === "object") { - if (Array.isArray(task) && task.length !== 0) { - q.push({ kind: 0, i: 0, parent: task, val: undefined }); - } else { - for (var k in task) { - if (k === "RE_PRIVATE_NONE") { - if (cur.kind === 0) { - cur.parent[cur.i - 1] = undefined; - } else { - cur.parent[cur.i] = undefined; - } - continue; - } - q.push({ kind: 1, i: k, parent: task, val: task[k] }); - } - } - } - } - return x[0]; -}); - -function serializeExn(x) { - return (function(obj){ - var output= JSON.stringify(obj,function(_,value){ - if(value===undefined){ - return {RE_PRIVATE_NONE : true} - } - return value - }); - - if(output === undefined){ - // JSON.stringify will throw TypeError when it detects cylic objects - throw new TypeError("output is undefined") - } - return output - })(x); -} - -function deserializeUnsafe(s) { - return patch(JSON.parse(s)); -} - -export { - Kind, - classify, - test, - decodeString, - decodeNumber, - decodeObject, - decodeArray, - decodeBoolean, - decodeNull, - deserializeUnsafe, - serializeExn, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_map.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_map.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_map.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_math.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_math.js deleted file mode 100644 index 1028bbb..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_math.js +++ /dev/null @@ -1,50 +0,0 @@ - - -import * as Js_int from "./Js_int.js"; - -function unsafe_ceil(prim) { - return Math.ceil(prim); -} - -function ceil_int(f) { - if (f > Js_int.max) { - return Js_int.max; - } else if (f < Js_int.min) { - return Js_int.min; - } else { - return Math.ceil(f); - } -} - -function unsafe_floor(prim) { - return Math.floor(prim); -} - -function floor_int(f) { - if (f > Js_int.max) { - return Js_int.max; - } else if (f < Js_int.min) { - return Js_int.min; - } else { - return Math.floor(f); - } -} - -function random_int(min, max) { - return floor_int(Math.random() * (max - min | 0)) + min | 0; -} - -let ceil = ceil_int; - -let floor = floor_int; - -export { - unsafe_ceil, - ceil_int, - ceil, - unsafe_floor, - floor_int, - floor, - random_int, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_null.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_null.js deleted file mode 100644 index 06089ff..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_null.js +++ /dev/null @@ -1,48 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function test(x) { - return x === null; -} - -function getExn(f) { - if (f !== null) { - return f; - } - throw new Error("Js.Null.getExn"); -} - -function bind(x, f) { - if (x !== null) { - return f(x); - } else { - return null; - } -} - -function iter(x, f) { - if (x !== null) { - return f(x); - } -} - -function fromOption(x) { - if (x !== undefined) { - return Primitive_option.valFromOption(x); - } else { - return null; - } -} - -let from_opt = fromOption; - -export { - test, - getExn, - bind, - iter, - fromOption, - from_opt, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_null_undefined.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_null_undefined.js deleted file mode 100644 index c78eb78..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_null_undefined.js +++ /dev/null @@ -1,33 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function bind(x, f) { - if (x == null) { - return x; - } else { - return f(x); - } -} - -function iter(x, f) { - if (!(x == null)) { - return f(x); - } -} - -function fromOption(x) { - if (x !== undefined) { - return Primitive_option.valFromOption(x); - } -} - -let from_opt = fromOption; - -export { - bind, - iter, - fromOption, - from_opt, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_obj.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_obj.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_obj.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_option.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_option.js deleted file mode 100644 index da62161..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_option.js +++ /dev/null @@ -1,100 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function some(x) { - return Primitive_option.some(x); -} - -function isSome(x) { - return x !== undefined; -} - -function isSomeValue(eq, v, x) { - if (x !== undefined) { - return eq(v, Primitive_option.valFromOption(x)); - } else { - return false; - } -} - -function isNone(x) { - return x === undefined; -} - -function getExn(x) { - if (x !== undefined) { - return Primitive_option.valFromOption(x); - } - throw new Error("getExn"); -} - -function equal(eq, a, b) { - if (a !== undefined) { - if (b !== undefined) { - return eq(Primitive_option.valFromOption(a), Primitive_option.valFromOption(b)); - } else { - return false; - } - } else { - return b === undefined; - } -} - -function andThen(f, x) { - if (x !== undefined) { - return f(Primitive_option.valFromOption(x)); - } -} - -function map(f, x) { - if (x !== undefined) { - return Primitive_option.some(f(Primitive_option.valFromOption(x))); - } -} - -function getWithDefault(a, x) { - if (x !== undefined) { - return Primitive_option.valFromOption(x); - } else { - return a; - } -} - -function filter(f, x) { - if (x === undefined) { - return; - } - let x$1 = Primitive_option.valFromOption(x); - if (f(x$1)) { - return Primitive_option.some(x$1); - } -} - -function firstSome(a, b) { - if (a !== undefined) { - return a; - } else if (b !== undefined) { - return b; - } else { - return; - } -} - -let $$default = getWithDefault; - -export { - some, - isSome, - isSomeValue, - isNone, - getExn, - equal, - andThen, - map, - getWithDefault, - $$default as default, - filter, - firstSome, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_promise.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_promise.js deleted file mode 100644 index dd67694..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_promise.js +++ /dev/null @@ -1,16 +0,0 @@ - - - -function then_(arg1, obj) { - return obj.then(arg1); -} - -function $$catch(arg1, obj) { - return obj.catch(arg1); -} - -export { - then_, - $$catch, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_promise2.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_promise2.js deleted file mode 100644 index 727ab7e..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_promise2.js +++ /dev/null @@ -1,16 +0,0 @@ - - - -let then = (function(p, cont) { - return Promise.resolve(p).then(cont) - }); - -let $$catch = (function(p, cont) { - return Promise.resolve(p).catch(cont) - }); - -export { - then, - $$catch, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_re.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_re.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_re.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_result.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_result.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_result.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_set.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_set.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_set.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_string.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_string.js deleted file mode 100644 index 5b65061..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_string.js +++ /dev/null @@ -1,197 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function charAt(arg1, obj) { - return obj.charAt(arg1); -} - -function charCodeAt(arg1, obj) { - return obj.charCodeAt(arg1); -} - -function codePointAt(arg1, obj) { - return obj.codePointAt(arg1); -} - -function concat(arg1, obj) { - return obj.concat(arg1); -} - -function concatMany(arg1, obj) { - return obj.concat(...arg1); -} - -function endsWith(arg1, obj) { - return obj.endsWith(arg1); -} - -function endsWithFrom(arg1, arg2, obj) { - return obj.endsWith(arg1, arg2); -} - -function includes(arg1, obj) { - return obj.includes(arg1); -} - -function includesFrom(arg1, arg2, obj) { - return obj.includes(arg1, arg2); -} - -function indexOf(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom(arg1, arg2, obj) { - return obj.indexOf(arg1, arg2); -} - -function lastIndexOf(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom(arg1, arg2, obj) { - return obj.lastIndexOf(arg1, arg2); -} - -function localeCompare(arg1, obj) { - return obj.localeCompare(arg1); -} - -function match_(arg1, obj) { - return Primitive_option.fromNull(obj.match(arg1)); -} - -function normalizeByForm(arg1, obj) { - return obj.normalize(arg1); -} - -function repeat(arg1, obj) { - return obj.repeat(arg1); -} - -function replace(arg1, arg2, obj) { - return obj.replace(arg1, arg2); -} - -function replaceByRe(arg1, arg2, obj) { - return obj.replace(arg1, arg2); -} - -function unsafeReplaceBy0(arg1, arg2, obj) { - return obj.replace(arg1, arg2); -} - -function unsafeReplaceBy1(arg1, arg2, obj) { - return obj.replace(arg1, arg2); -} - -function unsafeReplaceBy2(arg1, arg2, obj) { - return obj.replace(arg1, arg2); -} - -function unsafeReplaceBy3(arg1, arg2, obj) { - return obj.replace(arg1, arg2); -} - -function search(arg1, obj) { - return obj.search(arg1); -} - -function slice(from, to_, obj) { - return obj.slice(from, to_); -} - -function sliceToEnd(from, obj) { - return obj.slice(from); -} - -function split(arg1, obj) { - return obj.split(arg1); -} - -function splitAtMost(arg1, limit, obj) { - return obj.split(arg1, limit); -} - -function splitByRe(arg1, obj) { - return obj.split(arg1); -} - -function splitByReAtMost(arg1, limit, obj) { - return obj.split(arg1, limit); -} - -function startsWith(arg1, obj) { - return obj.startsWith(arg1); -} - -function startsWithFrom(arg1, arg2, obj) { - return obj.startsWith(arg1, arg2); -} - -function substr(from, obj) { - return obj.substr(from); -} - -function substrAtMost(from, length, obj) { - return obj.substr(from, length); -} - -function substring(from, to_, obj) { - return obj.substring(from, to_); -} - -function substringToEnd(from, obj) { - return obj.substring(from); -} - -function anchor(arg1, obj) { - return obj.anchor(arg1); -} - -function link(arg1, obj) { - return obj.link(arg1); -} - -export { - charAt, - charCodeAt, - codePointAt, - concat, - concatMany, - endsWith, - endsWithFrom, - includes, - includesFrom, - indexOf, - indexOfFrom, - lastIndexOf, - lastIndexOfFrom, - localeCompare, - match_, - normalizeByForm, - repeat, - replace, - replaceByRe, - unsafeReplaceBy0, - unsafeReplaceBy1, - unsafeReplaceBy2, - unsafeReplaceBy3, - search, - slice, - sliceToEnd, - split, - splitAtMost, - splitByRe, - splitByReAtMost, - startsWith, - startsWithFrom, - substr, - substrAtMost, - substring, - substringToEnd, - anchor, - link, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_string2.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_string2.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_string2.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_typed_array.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_typed_array.js deleted file mode 100644 index 5e2a72d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_typed_array.js +++ /dev/null @@ -1,48 +0,0 @@ - - - -let $$ArrayBuffer = {}; - -let $$Int8Array = {}; - -let $$Uint8Array = {}; - -let $$Uint8ClampedArray = {}; - -let $$Int16Array = {}; - -let $$Uint16Array = {}; - -let $$Int32Array = {}; - -let $$Uint32Array = {}; - -let $$Float32Array = {}; - -let $$Float64Array = {}; - -let $$DataView = {}; - -let Int32_array; - -let Float32_array; - -let Float64_array; - -export { - $$ArrayBuffer, - $$Int8Array, - $$Uint8Array, - $$Uint8ClampedArray, - $$Int16Array, - $$Uint16Array, - $$Int32Array, - Int32_array, - $$Uint32Array, - $$Float32Array, - Float32_array, - $$Float64Array, - Float64_array, - $$DataView, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_typed_array2.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_typed_array2.js deleted file mode 100644 index 0ebdb87..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_typed_array2.js +++ /dev/null @@ -1,39 +0,0 @@ - - - -let $$ArrayBuffer = {}; - -let $$Int8Array = {}; - -let $$Uint8Array = {}; - -let $$Uint8ClampedArray = {}; - -let $$Int16Array = {}; - -let $$Uint16Array = {}; - -let $$Int32Array = {}; - -let $$Uint32Array = {}; - -let $$Float32Array = {}; - -let $$Float64Array = {}; - -let $$DataView = {}; - -export { - $$ArrayBuffer, - $$Int8Array, - $$Uint8Array, - $$Uint8ClampedArray, - $$Int16Array, - $$Uint16Array, - $$Int32Array, - $$Uint32Array, - $$Float32Array, - $$Float64Array, - $$DataView, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_types.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_types.js deleted file mode 100644 index a8a165b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_types.js +++ /dev/null @@ -1,76 +0,0 @@ - - - -function classify(x) { - let ty = typeof x; - if (ty === "undefined") { - return "JSUndefined"; - } else if (x === null) { - return "JSNull"; - } else if (ty === "number") { - return { - TAG: "JSNumber", - _0: x - }; - } else if (ty === "bigint") { - return { - TAG: "JSBigInt", - _0: x - }; - } else if (ty === "string") { - return { - TAG: "JSString", - _0: x - }; - } else if (ty === "boolean") { - if (x === true) { - return "JSTrue"; - } else { - return "JSFalse"; - } - } else if (ty === "symbol") { - return { - TAG: "JSSymbol", - _0: x - }; - } else if (ty === "function") { - return { - TAG: "JSFunction", - _0: x - }; - } else { - return { - TAG: "JSObject", - _0: x - }; - } -} - -function test(x, v) { - switch (v) { - case "Undefined" : - return typeof x === "undefined"; - case "Null" : - return x === null; - case "Boolean" : - return typeof x === "boolean"; - case "Number" : - return typeof x === "number"; - case "String" : - return typeof x === "string"; - case "Function" : - return typeof x === "function"; - case "Object" : - return typeof x === "object"; - case "Symbol" : - return typeof x === "symbol"; - case "BigInt" : - return typeof x === "bigint"; - } -} - -export { - test, - classify, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_undefined.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_undefined.js deleted file mode 100644 index 66e2098..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_undefined.js +++ /dev/null @@ -1,58 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function test(x) { - return x === undefined; -} - -function testAny(x) { - return x === undefined; -} - -function getExn(f) { - let x = Primitive_option.fromUndefined(f); - if (x !== undefined) { - return Primitive_option.valFromOption(x); - } - throw new Error("Js.Undefined.getExn"); -} - -function bind(x, f) { - let x$1 = Primitive_option.fromUndefined(x); - if (x$1 !== undefined) { - return f(Primitive_option.valFromOption(x$1)); - } -} - -function iter(x, f) { - let x$1 = Primitive_option.fromUndefined(x); - if (x$1 !== undefined) { - return f(Primitive_option.valFromOption(x$1)); - } -} - -function fromOption(x) { - if (x !== undefined) { - return Primitive_option.valFromOption(x); - } -} - -let from_opt = fromOption; - -let toOption = Primitive_option.fromUndefined; - -let to_opt = Primitive_option.fromUndefined; - -export { - test, - testAny, - getExn, - bind, - iter, - fromOption, - from_opt, - toOption, - to_opt, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_weakmap.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_weakmap.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_weakmap.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Js_weakset.js b/bots/sustainabot/bot-integration/rescript-runtime/Js_weakset.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Js_weakset.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Jsx.js b/bots/sustainabot/bot-integration/rescript-runtime/Jsx.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Jsx.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/JsxDOM.js b/bots/sustainabot/bot-integration/rescript-runtime/JsxDOM.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/JsxDOM.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/JsxDOMStyle.js b/bots/sustainabot/bot-integration/rescript-runtime/JsxDOMStyle.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/JsxDOMStyle.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/JsxEvent.js b/bots/sustainabot/bot-integration/rescript-runtime/JsxEvent.js deleted file mode 100644 index 268c4a4..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/JsxEvent.js +++ /dev/null @@ -1,59 +0,0 @@ - - - -function MakeEventWithType(Type) { - return {}; -} - -let Synthetic = {}; - -let Clipboard = {}; - -let Composition = {}; - -let Keyboard = {}; - -let Focus = {}; - -let Form = {}; - -let Mouse = {}; - -let Pointer = {}; - -let Selection = {}; - -let Touch = {}; - -let UI = {}; - -let Wheel = {}; - -let Media = {}; - -let Image = {}; - -let Animation = {}; - -let Transition = {}; - -export { - MakeEventWithType, - Synthetic, - Clipboard, - Composition, - Keyboard, - Focus, - Form, - Mouse, - Pointer, - Selection, - Touch, - UI, - Wheel, - Media, - Image, - Animation, - Transition, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Obj.js b/bots/sustainabot/bot-integration/rescript-runtime/Obj.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Obj.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Pervasives.js b/bots/sustainabot/bot-integration/rescript-runtime/Pervasives.js deleted file mode 100644 index 0bd2f18..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Pervasives.js +++ /dev/null @@ -1,146 +0,0 @@ - - -import * as Primitive_exceptions from "./Primitive_exceptions.js"; - -function failwith(s) { - throw { - RE_EXN_ID: "Failure", - _1: s, - Error: new Error() - }; -} - -function invalid_arg(s) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: s, - Error: new Error() - }; -} - -let Exit = /* @__PURE__ */Primitive_exceptions.create("Pervasives.Exit"); - -function abs(x) { - if (x >= 0) { - return x; - } else { - return -x | 0; - } -} - -let min_int = -2147483648; - -function classify_float(x) { - if (isFinite(x)) { - if (Math.abs(x) >= 2.22507385850720138e-308) { - return "FP_normal"; - } else if (x !== 0) { - return "FP_subnormal"; - } else { - return "FP_zero"; - } - } else if (isNaN(x)) { - return "FP_nan"; - } else { - return "FP_infinite"; - } -} - -function char_of_int(n) { - if (n < 0 || n > 255) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "char_of_int", - Error: new Error() - }; - } - return n; -} - -function string_of_bool(b) { - if (b) { - return "true"; - } else { - return "false"; - } -} - -function bool_of_string(param) { - switch (param) { - case "false" : - return false; - case "true" : - return true; - default: - throw { - RE_EXN_ID: "Invalid_argument", - _1: "bool_of_string", - Error: new Error() - }; - } -} - -function bool_of_string_opt(param) { - switch (param) { - case "false" : - return false; - case "true" : - return true; - default: - return; - } -} - -function int_of_string_opt(s) { - let n = Number.parseInt(s); - if (n === NaN) { - return; - } else { - return n; - } -} - -function $at(l1, l2) { - if (l1 !== 0) { - return { - hd: l1.hd, - tl: $at(l1.tl, l2) - }; - } else { - return l2; - } -} - -let max_int = 2147483647; - -let infinity = Infinity; - -let neg_infinity = -Infinity; - -let max_float = 1.79769313486231571e+308; - -let min_float = 2.22507385850720138e-308; - -let epsilon_float = 2.22044604925031308e-16; - -export { - failwith, - invalid_arg, - Exit, - abs, - max_int, - min_int, - infinity, - neg_infinity, - max_float, - min_float, - epsilon_float, - classify_float, - char_of_int, - string_of_bool, - bool_of_string, - bool_of_string_opt, - int_of_string_opt, - $at, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_array.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_array.js deleted file mode 100644 index 61e5492..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_array.js +++ /dev/null @@ -1,35 +0,0 @@ - - - -function length(prim) { - return prim.length; -} - -function get(xs, index) { - if (index < 0 || index >= xs.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "index out of bounds", - Error: new Error() - }; - } - return xs[index]; -} - -function set(xs, index, newval) { - if (index < 0 || index >= xs.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "index out of bounds", - Error: new Error() - }; - } - xs[index] = newval; -} - -export { - length, - get, - set, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_array_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_array_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_array_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_bigint.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_bigint.js deleted file mode 100644 index baa6793..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_bigint.js +++ /dev/null @@ -1,57 +0,0 @@ - - - -function compare(x, y) { - if (x < y) { - return -1; - } else if (x === y) { - return 0; - } else { - return 1; - } -} - -function min(x, y) { - if (x < y) { - return x; - } else { - return y; - } -} - -function max(x, y) { - if (x > y) { - return x; - } else { - return y; - } -} - -function div(x, y) { - if (y === 0n) { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - return x / y; -} - -function mod_(x, y) { - if (y === 0n) { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - return x % y; -} - -export { - compare, - min, - max, - div, - mod_, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_bool.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_bool.js deleted file mode 100644 index 1a84998..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_bool.js +++ /dev/null @@ -1,39 +0,0 @@ - - - -function compare(x, y) { - if (x) { - if (y) { - return 0; - } else { - return 1; - } - } else if (y) { - return -1; - } else { - return 0; - } -} - -function min(x, y) { - if (x) { - return y; - } else { - return x; - } -} - -function max(x, y) { - if (x) { - return x; - } else { - return y; - } -} - -export { - compare, - min, - max, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_char_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_char_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_char_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_curry.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_curry.js deleted file mode 100644 index dc32d84..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_curry.js +++ /dev/null @@ -1,438 +0,0 @@ - - - -function app(_f, _args) { - while (true) { - let args = _args; - let f = _f; - let init_arity = f.length; - let arity = init_arity === 0 ? 1 : init_arity; - let len = args.length; - let d = arity - len | 0; - if (d === 0) { - return f.apply(null, args); - } - if (d >= 0) { - return x => app(f, args.concat([x])); - } - _args = args.slice(arity, len); - _f = f.apply(null, args.slice(0, arity)); - continue; - }; -} - -function __1(o) { - let arity = o.length; - if (arity === 1) { - return o; - } else { - return a0 => { - let arity = o.length; - if (arity === 1) { - return o(a0); - } else { - switch (arity) { - case 1 : - return o(a0); - case 2 : - return param => o(a0, param); - case 3 : - return (param, param$1) => o(a0, param, param$1); - case 4 : - return (param, param$1, param$2) => o(a0, param, param$1, param$2); - case 5 : - return (param, param$1, param$2, param$3) => o(a0, param, param$1, param$2, param$3); - case 6 : - return (param, param$1, param$2, param$3, param$4) => o(a0, param, param$1, param$2, param$3, param$4); - case 7 : - return (param, param$1, param$2, param$3, param$4, param$5) => o(a0, param, param$1, param$2, param$3, param$4, param$5); - default: - return app(o, [a0]); - } - } - }; - } -} - -function __2(o) { - let arity = o.length; - if (arity === 2) { - return o; - } else { - return (a0, a1) => { - let arity = o.length; - if (arity === 2) { - return o(a0, a1); - } else { - switch (arity) { - case 1 : - return app(o(a0), [a1]); - case 2 : - return o(a0, a1); - case 3 : - return param => o(a0, a1, param); - case 4 : - return (param, param$1) => o(a0, a1, param, param$1); - case 5 : - return (param, param$1, param$2) => o(a0, a1, param, param$1, param$2); - case 6 : - return (param, param$1, param$2, param$3) => o(a0, a1, param, param$1, param$2, param$3); - case 7 : - return (param, param$1, param$2, param$3, param$4) => o(a0, a1, param, param$1, param$2, param$3, param$4); - default: - return app(o, [ - a0, - a1 - ]); - } - } - }; - } -} - -function __3(o) { - let arity = o.length; - if (arity === 3) { - return o; - } else { - return (a0, a1, a2) => { - let arity = o.length; - if (arity === 3) { - return o(a0, a1, a2); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2 - ]); - case 2 : - return app(o(a0, a1), [a2]); - case 3 : - return o(a0, a1, a2); - case 4 : - return param => o(a0, a1, a2, param); - case 5 : - return (param, param$1) => o(a0, a1, a2, param, param$1); - case 6 : - return (param, param$1, param$2) => o(a0, a1, a2, param, param$1, param$2); - case 7 : - return (param, param$1, param$2, param$3) => o(a0, a1, a2, param, param$1, param$2, param$3); - default: - return app(o, [ - a0, - a1, - a2 - ]); - } - } - }; - } -} - -function __4(o) { - let arity = o.length; - if (arity === 4) { - return o; - } else { - return (a0, a1, a2, a3) => { - let arity = o.length; - if (arity === 4) { - return o(a0, a1, a2, a3); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3 - ]); - case 3 : - return app(o(a0, a1, a2), [a3]); - case 4 : - return o(a0, a1, a2, a3); - case 5 : - return param => o(a0, a1, a2, a3, param); - case 6 : - return (param, param$1) => o(a0, a1, a2, a3, param, param$1); - case 7 : - return (param, param$1, param$2) => o(a0, a1, a2, a3, param, param$1, param$2); - default: - return app(o, [ - a0, - a1, - a2, - a3 - ]); - } - } - }; - } -} - -function __5(o) { - let arity = o.length; - if (arity === 5) { - return o; - } else { - return (a0, a1, a2, a3, a4) => { - let arity = o.length; - if (arity === 5) { - return o(a0, a1, a2, a3, a4); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3, - a4 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3, - a4 - ]); - case 3 : - return app(o(a0, a1, a2), [ - a3, - a4 - ]); - case 4 : - return app(o(a0, a1, a2, a3), [a4]); - case 5 : - return o(a0, a1, a2, a3, a4); - case 6 : - return param => o(a0, a1, a2, a3, a4, param); - case 7 : - return (param, param$1) => o(a0, a1, a2, a3, a4, param, param$1); - default: - return app(o, [ - a0, - a1, - a2, - a3, - a4 - ]); - } - } - }; - } -} - -function __6(o) { - let arity = o.length; - if (arity === 6) { - return o; - } else { - return (a0, a1, a2, a3, a4, a5) => { - let arity = o.length; - if (arity === 6) { - return o(a0, a1, a2, a3, a4, a5); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3, - a4, - a5 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3, - a4, - a5 - ]); - case 3 : - return app(o(a0, a1, a2), [ - a3, - a4, - a5 - ]); - case 4 : - return app(o(a0, a1, a2, a3), [ - a4, - a5 - ]); - case 5 : - return app(o(a0, a1, a2, a3, a4), [a5]); - case 6 : - return o(a0, a1, a2, a3, a4, a5); - case 7 : - return param => o(a0, a1, a2, a3, a4, a5, param); - default: - return app(o, [ - a0, - a1, - a2, - a3, - a4, - a5 - ]); - } - } - }; - } -} - -function __7(o) { - let arity = o.length; - if (arity === 7) { - return o; - } else { - return (a0, a1, a2, a3, a4, a5, a6) => { - let arity = o.length; - if (arity === 7) { - return o(a0, a1, a2, a3, a4, a5, a6); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3, - a4, - a5, - a6 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3, - a4, - a5, - a6 - ]); - case 3 : - return app(o(a0, a1, a2), [ - a3, - a4, - a5, - a6 - ]); - case 4 : - return app(o(a0, a1, a2, a3), [ - a4, - a5, - a6 - ]); - case 5 : - return app(o(a0, a1, a2, a3, a4), [ - a5, - a6 - ]); - case 6 : - return app(o(a0, a1, a2, a3, a4, a5), [a6]); - case 7 : - return o(a0, a1, a2, a3, a4, a5, a6); - default: - return app(o, [ - a0, - a1, - a2, - a3, - a4, - a5, - a6 - ]); - } - } - }; - } -} - -function __8(o) { - let arity = o.length; - if (arity === 8) { - return o; - } else { - return (a0, a1, a2, a3, a4, a5, a6, a7) => { - let arity = o.length; - if (arity === 8) { - return o(a0, a1, a2, a3, a4, a5, a6, a7); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3, - a4, - a5, - a6, - a7 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3, - a4, - a5, - a6, - a7 - ]); - case 3 : - return app(o(a0, a1, a2), [ - a3, - a4, - a5, - a6, - a7 - ]); - case 4 : - return app(o(a0, a1, a2, a3), [ - a4, - a5, - a6, - a7 - ]); - case 5 : - return app(o(a0, a1, a2, a3, a4), [ - a5, - a6, - a7 - ]); - case 6 : - return app(o(a0, a1, a2, a3, a4, a5), [ - a6, - a7 - ]); - case 7 : - return app(o(a0, a1, a2, a3, a4, a5, a6), [a7]); - default: - return app(o, [ - a0, - a1, - a2, - a3, - a4, - a5, - a6, - a7 - ]); - } - } - }; - } -} - -export { - __1, - __2, - __3, - __4, - __5, - __6, - __7, - __8, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_dict.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_dict.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_dict.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_exceptions.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_exceptions.js deleted file mode 100644 index cadedef..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_exceptions.js +++ /dev/null @@ -1,43 +0,0 @@ - - - -function isExtension(e) { - if (e == null) { - return false; - } else { - return typeof e.RE_EXN_ID === "string"; - } -} - -function internalToException(e) { - if (isExtension(e)) { - return e; - } else { - return { - RE_EXN_ID: "JsExn", - _1: e - }; - } -} - -let idMap = {}; - -function create(str) { - let v = idMap[str]; - if (v !== undefined) { - let id = v + 1 | 0; - idMap[str] = id; - return str + ("/" + id); - } - idMap[str] = 1; - return str; -} - -let $$Error = "JsExn"; - -export { - $$Error, - create, - internalToException, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_float.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_float.js deleted file mode 100644 index b87b31c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_float.js +++ /dev/null @@ -1,39 +0,0 @@ - - - -function compare(x, y) { - if (x === y) { - return 0; - } else if (x < y) { - return -1; - } else if (x > y || x === x) { - return 1; - } else if (y === y) { - return -1; - } else { - return 0; - } -} - -function min(x, y) { - if (x < y) { - return x; - } else { - return y; - } -} - -function max(x, y) { - if (x > y) { - return x; - } else { - return y; - } -} - -export { - compare, - min, - max, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_float_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_float_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_float_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_hash.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_hash.js deleted file mode 100644 index 3c3fec5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_hash.js +++ /dev/null @@ -1,149 +0,0 @@ - - - -function push_back(q, v) { - let cell = { - content: v, - next: undefined - }; - let last = q.last; - if (last !== undefined) { - q.length = q.length + 1 | 0; - last.next = cell; - q.last = cell; - } else { - q.length = 1; - q.first = cell; - q.last = cell; - } -} - -function unsafe_pop(q) { - let cell = q.first; - if (cell !== undefined) { - let next = cell.next; - if (next === undefined) { - q.length = 0; - q.first = undefined; - q.last = undefined; - } else { - q.length = q.length - 1 | 0; - q.first = next; - } - return cell.content; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "Primitive_hash.res", - 73, - 12 - ], - Error: new Error() - }; -} - -function rotl32(x, n) { - return (x << n) | (x >>> (32 - n | 0)) | 0; -} - -function hash_mix_int(h, d) { - let d$1 = d; - d$1 = Math.imul(d$1, -862048943); - d$1 = rotl32(d$1, 15); - d$1 = Math.imul(d$1, 461845907); - let h$1 = h ^ d$1; - h$1 = rotl32(h$1, 13); - return (h$1 + (h$1 << 2) | 0) - 430675100 | 0; -} - -function hash_final_mix(h) { - let h$1 = h ^ (h >>> 16); - h$1 = Math.imul(h$1, -2048144789); - h$1 = h$1 ^ (h$1 >>> 13); - h$1 = Math.imul(h$1, -1028477387); - return h$1 ^ (h$1 >>> 16); -} - -function hash_mix_string(h, s) { - let len = s.length; - let block = (len / 4 | 0) - 1 | 0; - let hash = h; - for (let i = 0; i <= block; ++i) { - let j = (i << 2); - let w = s.charCodeAt(j) | (s.charCodeAt(j + 1 | 0) << 8) | (s.charCodeAt(j + 2 | 0) << 16) | (s.charCodeAt(j + 3 | 0) << 24); - hash = hash_mix_int(hash, w); - } - let modulo = len & 3; - if (modulo !== 0) { - let w$1 = modulo === 3 ? (s.charCodeAt(len - 1 | 0) << 16) | (s.charCodeAt(len - 2 | 0) << 8) | s.charCodeAt(len - 3 | 0) : ( - modulo === 2 ? (s.charCodeAt(len - 1 | 0) << 8) | s.charCodeAt(len - 2 | 0) : s.charCodeAt(len - 1 | 0) - ); - hash = hash_mix_int(hash, w$1); - } - hash = hash ^ len; - return hash; -} - -function hash(count, _limit, seed, obj) { - let s = seed; - if (typeof obj === "number") { - let u = obj | 0; - s = hash_mix_int(s, (u + u | 0) + 1 | 0); - return hash_final_mix(s); - } - if (typeof obj === "string") { - s = hash_mix_string(s, obj); - return hash_final_mix(s); - } - let queue = { - length: 0, - first: undefined, - last: undefined - }; - let num = count; - push_back(queue, obj); - num = num - 1 | 0; - while (queue.length !== 0 && num > 0) { - let obj$1 = unsafe_pop(queue); - if (typeof obj$1 === "number") { - let u$1 = obj$1 | 0; - s = hash_mix_int(s, (u$1 + u$1 | 0) + 1 | 0); - num = num - 1 | 0; - } else if (typeof obj$1 === "string") { - s = hash_mix_string(s, obj$1); - num = num - 1 | 0; - } else if (typeof obj$1 !== "boolean" && typeof obj$1 !== "undefined" && typeof obj$1 !== "symbol" && typeof obj$1 !== "function") { - let size = obj$1.length | 0; - if (size !== 0) { - let obj_tag = obj$1.TAG; - let tag = (size << 10) | obj_tag; - s = hash_mix_int(s, tag); - let v = size - 1 | 0; - let block = v < num ? v : num; - for (let i = 0; i <= block; ++i) { - push_back(queue, obj$1[i]); - } - } else { - let size$1 = (function(obj,cb){ - var size = 0 - for(var k in obj){ - cb(obj[k]) - ++ size - } - return size - })(obj$1, v => push_back(queue, v)); - s = hash_mix_int(s, (size$1 << 10) | 0); - } - } - }; - return hash_final_mix(s); -} - -export { - hash_mix_int, - hash_mix_string, - hash_final_mix, - hash, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_int.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_int.js deleted file mode 100644 index 7f638f0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_int.js +++ /dev/null @@ -1,57 +0,0 @@ - - - -function compare(x, y) { - if (x < y) { - return -1; - } else if (x === y) { - return 0; - } else { - return 1; - } -} - -function min(x, y) { - if (x < y) { - return x; - } else { - return y; - } -} - -function max(x, y) { - if (x > y) { - return x; - } else { - return y; - } -} - -function div(x, y) { - if (y === 0) { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - return x / y | 0; -} - -function mod_(x, y) { - if (y === 0) { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - return x % y; -} - -export { - compare, - min, - max, - div, - mod_, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_int_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_int_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_int_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_js_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_js_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_js_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_module.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_module.js deleted file mode 100644 index 7f6b99b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_module.js +++ /dev/null @@ -1,110 +0,0 @@ - - - -function init(loc, shape) { - let undef_module = param => { - throw { - RE_EXN_ID: "Undefined_recursive_module", - _1: loc, - Error: new Error() - }; - }; - let loop = (shape, struct_, idx) => { - if (typeof shape !== "object") { - switch (shape) { - case "Function" : - case "Lazy" : - struct_[idx] = undef_module; - return; - case "Class" : - struct_[idx] = [ - undef_module, - undef_module, - undef_module, - 0 - ]; - return; - } - } else { - if (shape.TAG !== "Module") { - struct_[idx] = shape._0; - return; - } - let comps = shape._0; - let v = {}; - struct_[idx] = v; - let len = comps.length; - for (let i = 0; i < len; ++i) { - let match = comps[i]; - loop(match[0], v, match[1]); - } - return; - } - }; - let res = {}; - let dummy_name = "dummy"; - loop(shape, res, dummy_name); - return res[dummy_name]; -} - -function update(shape, o, n) { - let aux = (shape, o, n, parent, i) => { - if (typeof shape !== "object") { - switch (shape) { - case "Function" : - parent[i] = n; - return; - case "Lazy" : - case "Class" : - Object.assign(o, n); - return; - } - } else { - if (shape.TAG !== "Module") { - return; - } - let comps = shape._0; - for (let i$1 = 0, i_finish = comps.length; i$1 < i_finish; ++i$1) { - let match = comps[i$1]; - let name = match[1]; - aux(match[0], o[name], n[name], o, name); - } - return; - } - }; - if (typeof shape !== "object") { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "Primitive_module.res", - 68, - 9 - ], - Error: new Error() - }; - } - if (shape.TAG === "Module") { - let comps = shape._0; - for (let i = 0, i_finish = comps.length; i < i_finish; ++i) { - let match = comps[i]; - let name = match[1]; - aux(match[0], o[name], n[name], o, name); - } - return; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "Primitive_module.res", - 68, - 9 - ], - Error: new Error() - }; -} - -export { - init, - update, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_object.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_object.js deleted file mode 100644 index 0c3337a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_object.js +++ /dev/null @@ -1,355 +0,0 @@ - - -import * as Primitive_bool from "./Primitive_bool.js"; -import * as Primitive_float from "./Primitive_float.js"; -import * as Primitive_string from "./Primitive_string.js"; - -let for_in = (function(o,foo){ - for (var x in o) { foo(x) }}); - -function updateDummy(prim0, prim1) { - Object.assign(prim0, prim1); -} - -function compare(a, b) { - if (a === b) { - return 0; - } - let a_type = typeof a; - let b_type = typeof b; - switch (a_type) { - case "bigint" : - if (b_type === "bigint") { - return Primitive_float.compare(a, b); - } - break; - case "boolean" : - if (b_type === "boolean") { - return Primitive_bool.compare(a, b); - } - break; - case "function" : - if (b_type === "function") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "compare: functional value", - Error: new Error() - }; - } - break; - case "number" : - if (b_type === "number") { - return Primitive_float.compare(a, b); - } - break; - case "string" : - if (b_type === "string") { - return Primitive_string.compare(a, b); - } else { - return 1; - } - case "undefined" : - return -1; - } - switch (b_type) { - case "string" : - return -1; - case "undefined" : - return 1; - default: - if (a_type === "boolean") { - return 1; - } - if (b_type === "boolean") { - return -1; - } - if (a_type === "function") { - return 1; - } - if (b_type === "function") { - return -1; - } - if (a_type === "number") { - if (b === null || b.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return 1; - } else { - return -1; - } - } - if (b_type === "number") { - if (a === null || a.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return -1; - } else { - return 1; - } - } - if (a === null) { - if (b.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return 1; - } else { - return -1; - } - } - if (b === null) { - if (a.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return -1; - } else { - return 1; - } - } - if (a.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - if (b.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return aux_obj_compare(a, b); - } else { - return -1; - } - } - let tag_a = a.TAG; - let tag_b = b.TAG; - if (tag_a !== tag_b) { - if (tag_a < tag_b) { - return -1; - } else { - return 1; - } - } - let len_a = a.length | 0; - let len_b = b.length | 0; - if (len_a === len_b) { - if (Array.isArray(a)) { - let _i = 0; - while (true) { - let i = _i; - if (i === len_a) { - return 0; - } - let res = compare(a[i], b[i]); - if (res !== 0) { - return res; - } - _i = i + 1 | 0; - continue; - }; - } else if ((a instanceof Date && b instanceof Date)) { - return (a - b); - } else { - return aux_obj_compare(a, b); - } - } else if (len_a < len_b) { - let _i$1 = 0; - while (true) { - let i$1 = _i$1; - if (i$1 === len_a) { - return -1; - } - let res$1 = compare(a[i$1], b[i$1]); - if (res$1 !== 0) { - return res$1; - } - _i$1 = i$1 + 1 | 0; - continue; - }; - } else { - let _i$2 = 0; - while (true) { - let i$2 = _i$2; - if (i$2 === len_b) { - return 1; - } - let res$2 = compare(a[i$2], b[i$2]); - if (res$2 !== 0) { - return res$2; - } - _i$2 = i$2 + 1 | 0; - continue; - }; - } - } -} - -function aux_obj_compare(a, b) { - let min_key_lhs = { - contents: undefined - }; - let min_key_rhs = { - contents: undefined - }; - let do_key = (param, key) => { - let min_key = param[2]; - let b = param[1]; - if (!(!Object.prototype.hasOwnProperty.call(b, key) || compare(param[0][key], b[key]) > 0)) { - return; - } - let mk = min_key.contents; - if (mk !== undefined && key >= mk) { - return; - } else { - min_key.contents = key; - return; - } - }; - let do_key_a = key => do_key([ - a, - b, - min_key_rhs - ], key); - let do_key_b = key => do_key([ - b, - a, - min_key_lhs - ], key); - for_in(a, do_key_a); - for_in(b, do_key_b); - let match = min_key_lhs.contents; - let match$1 = min_key_rhs.contents; - if (match !== undefined) { - if (match$1 !== undefined) { - return Primitive_string.compare(match, match$1); - } else { - return -1; - } - } else if (match$1 !== undefined) { - return 1; - } else { - return 0; - } -} - -function equal(a, b) { - if (a === b) { - return true; - } - let a_type = typeof a; - if (a_type === "string" || a_type === "number" || a_type === "bigint" || a_type === "boolean" || a_type === "undefined" || a === null) { - return false; - } - let b_type = typeof b; - if (a_type === "function" || b_type === "function") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "equal: functional value", - Error: new Error() - }; - } - if (b_type === "number" || b_type === "bigint" || b_type === "undefined" || b === null) { - return false; - } - let tag_a = a.TAG; - let tag_b = b.TAG; - if (tag_a !== tag_b) { - return false; - } - let len_a = a.length | 0; - let len_b = b.length | 0; - if (len_a === len_b) { - if (Array.isArray(a)) { - let _i = 0; - while (true) { - let i = _i; - if (i === len_a) { - return true; - } - if (!equal(a[i], b[i])) { - return false; - } - _i = i + 1 | 0; - continue; - }; - } else if ((a instanceof Date && b instanceof Date)) { - return !(a > b || a < b); - } else { - let result = { - contents: true - }; - let do_key_a = key => { - if (!Object.prototype.hasOwnProperty.call(b, key)) { - result.contents = false; - return; - } - }; - let do_key_b = key => { - if (!Object.prototype.hasOwnProperty.call(a, key) || !equal(b[key], a[key])) { - result.contents = false; - return; - } - }; - for_in(a, do_key_a); - if (result.contents) { - for_in(b, do_key_b); - } - return result.contents; - } - } else { - return false; - } -} - -function notequal(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a !== b; - } else { - return !equal(a, b); - } -} - -function greaterequal(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a >= b; - } else { - return compare(a, b) >= 0; - } -} - -function greaterthan(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a > b; - } else { - return compare(a, b) > 0; - } -} - -function lessequal(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a <= b; - } else { - return compare(a, b) <= 0; - } -} - -function lessthan(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a < b; - } else { - return compare(a, b) < 0; - } -} - -function min(x, y) { - if (compare(x, y) <= 0) { - return x; - } else { - return y; - } -} - -function max(x, y) { - if (compare(x, y) >= 0) { - return x; - } else { - return y; - } -} - -export { - updateDummy, - compare, - equal, - notequal, - greaterequal, - greaterthan, - lessthan, - lessequal, - min, - max, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_object_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_object_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_object_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_option.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_option.js deleted file mode 100644 index 7d3ab00..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_option.js +++ /dev/null @@ -1,86 +0,0 @@ - - - -function isNested(x) { - return x.BS_PRIVATE_NESTED_SOME_NONE !== undefined; -} - -function some(x) { - if (x === undefined) { - return { - BS_PRIVATE_NESTED_SOME_NONE: 0 - }; - } else if (x !== null && x.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return { - BS_PRIVATE_NESTED_SOME_NONE: x.BS_PRIVATE_NESTED_SOME_NONE + 1 | 0 - }; - } else { - return x; - } -} - -function fromNullable(x) { - if (x == null) { - return; - } else { - return some(x); - } -} - -function fromUndefined(x) { - if (x === undefined) { - return; - } else { - return some(x); - } -} - -function fromNull(x) { - if (x === null) { - return; - } else { - return some(x); - } -} - -function valFromOption(x) { - if (x === null || x.BS_PRIVATE_NESTED_SOME_NONE === undefined) { - return x; - } - let depth = x.BS_PRIVATE_NESTED_SOME_NONE; - if (depth === 0) { - return; - } else { - return { - BS_PRIVATE_NESTED_SOME_NONE: depth - 1 | 0 - }; - } -} - -function toUndefined(x) { - if (x === undefined) { - return; - } else { - return valFromOption(x); - } -} - -function unwrapPolyVar(x) { - if (x !== undefined) { - return x.VAL; - } else { - return x; - } -} - -export { - fromNullable, - fromUndefined, - fromNull, - valFromOption, - some, - isNested, - toUndefined, - unwrapPolyVar, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_promise.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_promise.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_promise.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_string.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_string.js deleted file mode 100644 index 1aa94d4..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_string.js +++ /dev/null @@ -1,52 +0,0 @@ - - - -function compare(s1, s2) { - if (s1 === s2) { - return 0; - } else if (s1 < s2) { - return -1; - } else { - return 1; - } -} - -function min(x, y) { - if (x < y) { - return x; - } else { - return y; - } -} - -function max(x, y) { - if (x > y) { - return x; - } else { - return y; - } -} - -function getChar(s, i) { - if (i >= s.length || i < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "index out of bounds", - Error: new Error() - }; - } - return s.codePointAt(i); -} - -function make(n, ch) { - return String.fromCodePoint(ch).repeat(n); -} - -export { - compare, - min, - max, - getChar, - make, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_string_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_string_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_string_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_util.js b/bots/sustainabot/bot-integration/rescript-runtime/Primitive_util.js deleted file mode 100644 index 6aef21e..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Primitive_util.js +++ /dev/null @@ -1,20 +0,0 @@ - - - -function raiseWhenNotFound(x) { - if (x == null) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - return x; -} - -let Js; - -export { - Js, - raiseWhenNotFound, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools.js b/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools.js deleted file mode 100644 index c7ca659..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools.js +++ /dev/null @@ -1,12 +0,0 @@ - - - -let Docgen; - -let ExtractCodeBlocks; - -export { - Docgen, - ExtractCodeBlocks, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools_Docgen.js b/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools_Docgen.js deleted file mode 100644 index 66f679a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools_Docgen.js +++ /dev/null @@ -1,11 +0,0 @@ - - - -function decodeFromJson(prim) { - return prim; -} - -export { - decodeFromJson, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools_ExtractCodeBlocks.js b/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools_ExtractCodeBlocks.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/RescriptTools_ExtractCodeBlocks.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib.js deleted file mode 100644 index ff17e73..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib.js +++ /dev/null @@ -1,181 +0,0 @@ - - -import * as Stdlib_Global from "./Stdlib_Global.js"; -import * as Stdlib_JsError from "./Stdlib_JsError.js"; -import * as Primitive_object from "./Primitive_object.js"; - -function assertEqual(a, b) { - if (!Primitive_object.notequal(a, b)) { - return; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "Stdlib.res", - 153, - 4 - ], - Error: new Error() - }; -} - -let TimeoutId = Stdlib_Global.TimeoutId; - -let IntervalId = Stdlib_Global.IntervalId; - -let $$Array; - -let $$BigInt; - -let Bool; - -let Console; - -let $$DataView; - -let $$Date; - -let Dict; - -let Exn; - -let $$Error; - -let Float; - -let Int; - -let $$Intl; - -let JsError; - -let JsExn; - -let $$JSON; - -let Lazy; - -let List; - -let $$Math; - -let Null; - -let Nullable; - -let $$Object; - -let Option; - -let Ordering; - -let Pair; - -let $$Promise; - -let $$RegExp; - -let Result; - -let $$String; - -let $$Symbol; - -let Type; - -let $$Iterator; - -let $$AsyncIterator; - -let $$Map; - -let $$WeakMap; - -let $$Set; - -let $$WeakSet; - -let $$ArrayBuffer; - -let $$TypedArray; - -let $$Float32Array; - -let $$Float64Array; - -let $$Int8Array; - -let $$Int16Array; - -let $$Int32Array; - -let $$Uint8Array; - -let $$Uint16Array; - -let $$Uint32Array; - -let $$Uint8ClampedArray; - -let $$BigInt64Array; - -let $$BigUint64Array; - -let panic = Stdlib_JsError.panic; - -export { - TimeoutId, - IntervalId, - $$Array, - $$BigInt, - Bool, - Console, - $$DataView, - $$Date, - Dict, - Exn, - $$Error, - Float, - Int, - $$Intl, - JsError, - JsExn, - $$JSON, - Lazy, - List, - $$Math, - Null, - Nullable, - $$Object, - Option, - Ordering, - Pair, - $$Promise, - $$RegExp, - Result, - $$String, - $$Symbol, - Type, - $$Iterator, - $$AsyncIterator, - $$Map, - $$WeakMap, - $$Set, - $$WeakSet, - $$ArrayBuffer, - $$TypedArray, - $$Float32Array, - $$Float64Array, - $$Int8Array, - $$Int16Array, - $$Int32Array, - $$Uint8Array, - $$Uint16Array, - $$Uint32Array, - $$Uint8ClampedArray, - $$BigInt64Array, - $$BigUint64Array, - panic, - assertEqual, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Array.js deleted file mode 100644 index a037673..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Array.js +++ /dev/null @@ -1,218 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function make(length, x) { - if (length <= 0) { - return []; - } - let arr = new Array(length); - arr.fill(x); - return arr; -} - -function fromInitializer(length, f) { - if (length <= 0) { - return []; - } - let arr = new Array(length); - for (let i = 0; i < length; ++i) { - arr[i] = f(i); - } - return arr; -} - -function isEmpty(arr) { - return arr.length === 0; -} - -function equal(a, b, eq) { - let len = a.length; - if (len === b.length) { - let _i = 0; - while (true) { - let i = _i; - if (i === len) { - return true; - } - if (!eq(a[i], b[i])) { - return false; - } - _i = i + 1 | 0; - continue; - }; - } else { - return false; - } -} - -function compare(a, b, cmp) { - let lenA = a.length; - let lenB = b.length; - if (lenA < lenB) { - return -1; - } else if (lenA > lenB) { - return 1; - } else { - let _i = 0; - while (true) { - let i = _i; - if (i === lenA) { - return 0; - } - let c = cmp(a[i], b[i]); - if (c !== 0) { - return c; - } - _i = i + 1 | 0; - continue; - }; - } -} - -function indexOfOpt(arr, item) { - let index = arr.indexOf(item); - if (index !== -1) { - return index; - } -} - -function lastIndexOfOpt(arr, item) { - let index = arr.lastIndexOf(item); - if (index !== -1) { - return index; - } -} - -function reduce(arr, init, f) { - return arr.reduce(f, init); -} - -function reduceWithIndex(arr, init, f) { - return arr.reduce(f, init); -} - -function reduceRight(arr, init, f) { - return arr.reduceRight(f, init); -} - -function reduceRightWithIndex(arr, init, f) { - return arr.reduceRight(f, init); -} - -function findIndexOpt(array, finder) { - let index = array.findIndex(finder); - if (index !== -1) { - return index; - } -} - -function findLastIndexOpt(array, finder) { - let index = array.findLastIndex(finder); - if (index !== -1) { - return index; - } -} - -function swapUnsafe(xs, i, j) { - let tmp = xs[i]; - xs[i] = xs[j]; - xs[j] = tmp; -} - -function random_int(min, max) { - return (Math.floor(Math.random() * (max - min | 0)) | 0) + min | 0; -} - -function shuffle(xs) { - let len = xs.length; - for (let i = 0; i < len; ++i) { - swapUnsafe(xs, i, random_int(i, len)); - } -} - -function toShuffled(xs) { - let result = xs.slice(); - shuffle(result); - return result; -} - -function filterMap(a, f) { - let l = a.length; - let r = new Array(l); - let j = 0; - for (let i = 0; i < l; ++i) { - let v = a[i]; - let v$1 = f(v); - if (v$1 !== undefined) { - r[j] = Primitive_option.valFromOption(v$1); - j = j + 1 | 0; - } - } - r.length = j; - return r; -} - -function keepSome(__x) { - return filterMap(__x, x => x); -} - -function filterMapWithIndex(a, f) { - let l = a.length; - let r = new Array(l); - let j = 0; - for (let i = 0; i < l; ++i) { - let v = a[i]; - let v$1 = f(v, i); - if (v$1 !== undefined) { - r[j] = Primitive_option.valFromOption(v$1); - j = j + 1 | 0; - } - } - r.length = j; - return r; -} - -function findMap(arr, f) { - let _i = 0; - while (true) { - let i = _i; - if (i === arr.length) { - return; - } - let r = f(arr[i]); - if (r !== undefined) { - return r; - } - _i = i + 1 | 0; - continue; - }; -} - -function last(a) { - return a[a.length - 1 | 0]; -} - -export { - make, - fromInitializer, - equal, - compare, - isEmpty, - indexOfOpt, - lastIndexOfOpt, - reduce, - reduceWithIndex, - reduceRight, - reduceRightWithIndex, - findIndexOpt, - findLastIndexOpt, - filterMap, - filterMapWithIndex, - keepSome, - toShuffled, - shuffle, - findMap, - last, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_ArrayBuffer.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_ArrayBuffer.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_ArrayBuffer.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_AsyncIterator.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_AsyncIterator.js deleted file mode 100644 index 2fb3590..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_AsyncIterator.js +++ /dev/null @@ -1,43 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function value(v) { - return { - done: false, - value: Primitive_option.some(v) - }; -} - -function done(finalValue) { - return { - done: true, - value: finalValue - }; -} - -async function forEach(iterator, f) { - let iteratorDone = false; - while (!iteratorDone) { - let match = await iterator.next(); - f(match.value); - iteratorDone = match.done; - }; -} - -let make = (function makeAsyncIterator(next) { - return { - next, - [Symbol.asyncIterator]() { - return this; - } - } -}); - -export { - make, - value, - done, - forEach, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigInt.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigInt.js deleted file mode 100644 index f7cb07f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigInt.js +++ /dev/null @@ -1,29 +0,0 @@ - - - -function fromString(value) { - try { - return BigInt(value); - } catch (exn) { - return; - } -} - -function fromFloat(value) { - try { - return BigInt(value); - } catch (exn) { - return; - } -} - -function toInt(t) { - return Number(t) | 0; -} - -export { - fromString, - fromFloat, - toInt, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigInt64Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigInt64Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigInt64Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigUint64Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigUint64Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_BigUint64Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Bool.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Bool.js deleted file mode 100644 index cc03a93..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Bool.js +++ /dev/null @@ -1,46 +0,0 @@ - - - -function toString(b) { - if (b) { - return "true"; - } else { - return "false"; - } -} - -function fromString(s) { - switch (s) { - case "false" : - return false; - case "true" : - return true; - default: - return; - } -} - -function fromStringOrThrow(param) { - switch (param) { - case "false" : - return false; - case "true" : - return true; - default: - throw { - RE_EXN_ID: "Invalid_argument", - _1: `Bool.fromStringOrThrow: value is neither "true" nor "false"`, - Error: new Error() - }; - } -} - -let fromStringExn = fromStringOrThrow; - -export { - toString, - fromString, - fromStringOrThrow, - fromStringExn, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Console.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Console.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Console.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_DataView.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_DataView.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_DataView.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Date.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Date.js deleted file mode 100644 index 8c66aa0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Date.js +++ /dev/null @@ -1,20 +0,0 @@ - - -import * as Primitive_float from "./Primitive_float.js"; - -let UTC = {}; - -function equal(a, b) { - return a.getTime() === b.getTime(); -} - -function compare(a, b) { - return Primitive_float.compare(a.getTime(), b.getTime()); -} - -export { - UTC, - equal, - compare, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Dict.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Dict.js deleted file mode 100644 index c57b1e1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Dict.js +++ /dev/null @@ -1,51 +0,0 @@ - - - -function $$delete$1(dict, string) { - delete(dict[string]); -} - -let forEach = ((dict, f) => { - for (var i in dict) { - f(dict[i]); - } -}); - -let forEachWithKey = ((dict, f) => { - for (var i in dict) { - f(dict[i], i); - } -}); - -let mapValues = ((dict, f) => { - var target = {}, i; - for (i in dict) { - target[i] = f(dict[i]); - } - return target; -}); - -let size = ((dict) => { - var size = 0, i; - for (i in dict) { - size++; - } - return size; -}); - -let isEmpty = ((dict) => { - for (var _ in dict) { - return false - } - return true -}); - -export { - $$delete$1 as $$delete, - size, - isEmpty, - forEach, - forEachWithKey, - mapValues, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Error.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Error.js deleted file mode 100644 index cbeb0ed..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Error.js +++ /dev/null @@ -1,38 +0,0 @@ - - -import * as Stdlib_Exn from "./Stdlib_Exn.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function fromException(exn) { - if (exn.RE_EXN_ID === Stdlib_Exn.$$Error) { - return Primitive_option.some(exn._1); - } -} - -let $$EvalError = {}; - -let $$RangeError = {}; - -let $$ReferenceError = {}; - -let $$SyntaxError = {}; - -let $$TypeError = {}; - -let $$URIError = {}; - -function panic(msg) { - throw new Error(`Panic! ` + msg); -} - -export { - fromException, - $$EvalError, - $$RangeError, - $$ReferenceError, - $$SyntaxError, - $$TypeError, - $$URIError, - panic, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Exn.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Exn.js deleted file mode 100644 index 3a3e777..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Exn.js +++ /dev/null @@ -1,52 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -let $$Error = "JsExn"; - -function asJsExn(exn) { - if (exn.RE_EXN_ID === $$Error) { - return Primitive_option.some(exn._1); - } -} - -function raiseError(str) { - throw new Error(str); -} - -function raiseEvalError(str) { - throw new EvalError(str); -} - -function raiseRangeError(str) { - throw new RangeError(str); -} - -function raiseReferenceError(str) { - throw new ReferenceError(str); -} - -function raiseSyntaxError(str) { - throw new SyntaxError(str); -} - -function raiseTypeError(str) { - throw new TypeError(str); -} - -function raiseUriError(str) { - throw new URIError(str); -} - -export { - $$Error, - asJsExn, - raiseError, - raiseEvalError, - raiseRangeError, - raiseReferenceError, - raiseSyntaxError, - raiseTypeError, - raiseUriError, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float.js deleted file mode 100644 index 7cb1e62..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float.js +++ /dev/null @@ -1,29 +0,0 @@ - - - -let Constants = {}; - -function fromString(i) { - let i$1 = parseFloat(i); - if (Number.isNaN(i$1)) { - return; - } else { - return i$1; - } -} - -function clamp(min, max, value) { - let value$1 = max !== undefined && max < value ? max : value; - if (min !== undefined && min > value$1) { - return min; - } else { - return value$1; - } -} - -export { - Constants, - fromString, - clamp, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float32Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float32Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float32Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float64Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float64Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Float64Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Global.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Global.js deleted file mode 100644 index 7dc66be..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Global.js +++ /dev/null @@ -1,12 +0,0 @@ - - - -let TimeoutId = {}; - -let IntervalId = {}; - -export { - TimeoutId, - IntervalId, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int.js deleted file mode 100644 index 50ae323..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int.js +++ /dev/null @@ -1,89 +0,0 @@ - - -import * as Stdlib_Array from "./Stdlib_Array.js"; - -function fromString(x, radix) { - let maybeInt = radix !== undefined ? parseInt(x, radix) : parseInt(x); - if (Number.isNaN(maybeInt) || maybeInt > 2147483647 || maybeInt < -2147483648) { - return; - } else { - return maybeInt | 0; - } -} - -function abs(x) { - if (x >= 0) { - return x; - } else { - return -x | 0; - } -} - -function range(start, end, optionsOpt) { - let options = optionsOpt !== undefined ? optionsOpt : ({}); - let isInverted = start > end; - let n = options.step; - let step; - if (n !== undefined) { - if (n !== 0) { - step = n; - } else { - if (start !== end) { - throw new RangeError("Incorrect range arguments"); - } - step = n; - } - } else { - step = isInverted ? -1 : 1; - } - let length; - if (isInverted === step >= 0) { - length = 0; - } else if (step === 0) { - length = options.inclusive === true ? 1 : 0; - } else { - let range$1 = isInverted ? start - end | 0 : end - start | 0; - let range$2 = options.inclusive === true ? range$1 + 1 | 0 : range$1; - length = Math.ceil(range$2 / abs(step)) | 0; - } - return Stdlib_Array.fromInitializer(length, i => start + (i * step | 0) | 0); -} - -function rangeWithOptions(start, end, options) { - return range(start, end, options); -} - -function clamp(min, max, value) { - let value$1 = max !== undefined && max < value ? max : value; - if (min !== undefined && min > value$1) { - return min; - } else { - return value$1; - } -} - -function lnot(x) { - return x ^ -1; -} - -let Bitwise = { - lnot: lnot -}; - -let Ref = {}; - -let Constants = { - minValue: -2147483648, - maxValue: 2147483647 -}; - -export { - Constants, - fromString, - range, - rangeWithOptions, - clamp, - Bitwise, - Ref, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int16Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int16Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int16Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int32Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int32Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int32Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int8Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int8Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Int8Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl.js deleted file mode 100644 index 17f2e18..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl.js +++ /dev/null @@ -1,36 +0,0 @@ - - - -let Common; - -let Collator; - -let DateTimeFormat; - -let ListFormat; - -let Locale; - -let NumberFormat; - -let PluralRules; - -let RelativeTimeFormat; - -let Segmenter; - -let Segments; - -export { - Common, - Collator, - DateTimeFormat, - ListFormat, - Locale, - NumberFormat, - PluralRules, - RelativeTimeFormat, - Segmenter, - Segments, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Collator.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Collator.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Collator.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Common.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Common.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Common.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_DateTimeFormat.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_DateTimeFormat.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_DateTimeFormat.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_ListFormat.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_ListFormat.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_ListFormat.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Locale.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Locale.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Locale.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_NumberFormat.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_NumberFormat.js deleted file mode 100644 index 4b29a9b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_NumberFormat.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Grouping; - -export { - Grouping, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_NumberFormat_Grouping.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_NumberFormat_Grouping.js deleted file mode 100644 index b224609..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_NumberFormat_Grouping.js +++ /dev/null @@ -1,35 +0,0 @@ - - -import * as Stdlib_Type from "./Stdlib_Type.js"; - -function parseJsValue(value) { - let value$1 = Stdlib_Type.Classify.classify(value); - if (typeof value$1 !== "object") { - return; - } - switch (value$1.TAG) { - case "Bool" : - return { - NAME: "bool", - VAL: value$1._0 - }; - case "String" : - switch (value$1._0) { - case "always" : - return "always"; - case "auto" : - return "auto"; - case "min2" : - return "min2"; - default: - return; - } - default: - return; - } -} - -export { - parseJsValue, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_PluralRules.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_PluralRules.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_PluralRules.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_RelativeTimeFormat.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_RelativeTimeFormat.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_RelativeTimeFormat.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Segmenter.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Segmenter.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Segmenter.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Segments.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Segments.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Intl_Segments.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Iterator.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Iterator.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Iterator.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JSON.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JSON.js deleted file mode 100644 index bb11e9b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JSON.js +++ /dev/null @@ -1,93 +0,0 @@ - - - -function classify(value) { - let match = Object.prototype.toString.call(value); - switch (match) { - case "[object Array]" : - return { - TAG: "Array", - _0: value - }; - case "[object Boolean]" : - return { - TAG: "Bool", - _0: value - }; - case "[object Null]" : - return "Null"; - case "[object Number]" : - return { - TAG: "Number", - _0: value - }; - case "[object String]" : - return { - TAG: "String", - _0: value - }; - default: - return { - TAG: "Object", - _0: value - }; - } -} - -let Classify = { - classify: classify -}; - -let Encode = {}; - -function bool(json) { - if (typeof json === "boolean") { - return json; - } -} - -function $$null(json) { - if (json === null) { - return null; - } -} - -function string(json) { - if (typeof json === "string") { - return json; - } -} - -function float(json) { - if (typeof json === "number") { - return json; - } -} - -function object(json) { - if (typeof json === "object" && json !== null && !Array.isArray(json)) { - return json; - } -} - -function array(json) { - if (Array.isArray(json)) { - return json; - } -} - -let Decode = { - bool: bool, - $$null: $$null, - string: string, - float: float, - object: object, - array: array -}; - -export { - Classify, - Encode, - Decode, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JsError.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JsError.js deleted file mode 100644 index b97281d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JsError.js +++ /dev/null @@ -1,70 +0,0 @@ - - - -function throwWithMessage(str) { - throw new Error(str); -} - -function throwWithMessage$1(s) { - throw new EvalError(s); -} - -let $$EvalError$1 = { - throwWithMessage: throwWithMessage$1 -}; - -function throwWithMessage$2(s) { - throw new RangeError(s); -} - -let $$RangeError$1 = { - throwWithMessage: throwWithMessage$2 -}; - -function throwWithMessage$3(s) { - throw new ReferenceError(s); -} - -let $$ReferenceError$1 = { - throwWithMessage: throwWithMessage$3 -}; - -function throwWithMessage$4(s) { - throw new SyntaxError(s); -} - -let $$SyntaxError$1 = { - throwWithMessage: throwWithMessage$4 -}; - -function throwWithMessage$5(s) { - throw new TypeError(s); -} - -let $$TypeError$1 = { - throwWithMessage: throwWithMessage$5 -}; - -function throwWithMessage$6(s) { - throw new URIError(s); -} - -let $$URIError$1 = { - throwWithMessage: throwWithMessage$6 -}; - -function panic(msg) { - throw new Error(`Panic! ` + msg); -} - -export { - $$EvalError$1 as $$EvalError, - $$RangeError$1 as $$RangeError, - $$ReferenceError$1 as $$ReferenceError, - $$SyntaxError$1 as $$SyntaxError, - $$TypeError$1 as $$TypeError, - $$URIError$1 as $$URIError, - throwWithMessage, - panic, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JsExn.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JsExn.js deleted file mode 100644 index 2a4f3fd..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_JsExn.js +++ /dev/null @@ -1,28 +0,0 @@ - - -import * as Primitive_option from "./Primitive_option.js"; - -function fromException(exn) { - if (exn.RE_EXN_ID === "JsExn") { - return Primitive_option.some(exn._1); - } -} - -let getOrUndefined = (fieldName => t => (t && typeof t[fieldName] === "string" ? t[fieldName] : undefined)); - -let stack = getOrUndefined("stack"); - -let message = getOrUndefined("message"); - -let name = getOrUndefined("name"); - -let fileName = getOrUndefined("fileName"); - -export { - fromException, - stack, - message, - name, - fileName, -} -/* stack Not a pure module */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Lazy.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Lazy.js deleted file mode 100644 index cc92e4c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Lazy.js +++ /dev/null @@ -1,83 +0,0 @@ - - -import * as Primitive_exceptions from "./Primitive_exceptions.js"; - -function is_val(l) { - return l.LAZY_DONE; -} - -let Undefined = /* @__PURE__ */Primitive_exceptions.create("Stdlib_Lazy.Undefined"); - -function forward_with_closure(blk, closure) { - let result = closure(); - blk.VAL = result; - blk.LAZY_DONE = true; - return result; -} - -function raise_undefined() { - throw { - RE_EXN_ID: Undefined, - Error: new Error() - }; -} - -function force(lzv) { - if (lzv.LAZY_DONE) { - return lzv.VAL; - } else { - let closure = lzv.VAL; - lzv.VAL = raise_undefined; - try { - return forward_with_closure(lzv, closure); - } catch (e) { - lzv.VAL = () => { - throw e; - }; - throw e; - } - } -} - -function force_val(lzv) { - if (lzv.LAZY_DONE) { - return lzv.VAL; - } else { - let closure = lzv.VAL; - lzv.VAL = raise_undefined; - return forward_with_closure(lzv, closure); - } -} - -function from_fun(closure) { - return { - LAZY_DONE: false, - VAL: closure - }; -} - -function from_val(value) { - return { - LAZY_DONE: true, - VAL: value - }; -} - -let make = from_fun; - -let get = force; - -let isEvaluated = is_val; - -export { - make, - get, - isEvaluated, - Undefined, - force, - force_val, - from_fun, - from_val, - is_val, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_List.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_List.js deleted file mode 100644 index 89ab1ce..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_List.js +++ /dev/null @@ -1,1366 +0,0 @@ - - -import * as Stdlib_Array from "./Stdlib_Array.js"; -import * as Primitive_int from "./Primitive_int.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function head(x) { - if (x !== 0) { - return Primitive_option.some(x.hd); - } -} - -function headOrThrow(x) { - if (x !== 0) { - return x.hd; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function tail(x) { - if (x !== 0) { - return x.tl; - } -} - -function tailOrThrow(x) { - if (x !== 0) { - return x.tl; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function add(xs, x) { - return { - hd: x, - tl: xs - }; -} - -function get(x, n) { - if (n < 0) { - return; - } else { - let _x = x; - let _n = n; - while (true) { - let n$1 = _n; - let x$1 = _x; - if (x$1 === 0) { - return; - } - if (n$1 === 0) { - return Primitive_option.some(x$1.hd); - } - _n = n$1 - 1 | 0; - _x = x$1.tl; - continue; - }; - } -} - -function getOrThrow(x, n) { - if (n < 0) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - let _x = x; - let _n = n; - while (true) { - let n$1 = _n; - let x$1 = _x; - if (x$1 !== 0) { - if (n$1 === 0) { - return x$1.hd; - } - _n = n$1 - 1 | 0; - _x = x$1.tl; - continue; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function partitionAux(p, _cell, _precX, _precY) { - while (true) { - let precY = _precY; - let precX = _precX; - let cell = _cell; - if (cell === 0) { - return; - } - let t = cell.tl; - let h = cell.hd; - let next = { - hd: h, - tl: /* [] */0 - }; - if (p(h)) { - precX.tl = next; - _precX = next; - _cell = t; - continue; - } - precY.tl = next; - _precY = next; - _cell = t; - continue; - }; -} - -function splitAux(_cell, _precX, _precY) { - while (true) { - let precY = _precY; - let precX = _precX; - let cell = _cell; - if (cell === 0) { - return; - } - let match = cell.hd; - let nextA = { - hd: match[0], - tl: /* [] */0 - }; - let nextB = { - hd: match[1], - tl: /* [] */0 - }; - precX.tl = nextA; - precY.tl = nextB; - _precY = nextB; - _precX = nextA; - _cell = cell.tl; - continue; - }; -} - -function copyAuxCont(_cellX, _prec) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return prec; - } - let next = { - hd: cellX.hd, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - continue; - }; -} - -function copyAuxWitFilter(f, _cellX, _prec) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return; - } - let t = cellX.tl; - let h = cellX.hd; - if (f(h)) { - let next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue; - } - _cellX = t; - continue; - }; -} - -function copyAuxWithFilterIndex(f, _cellX, _prec, _i) { - while (true) { - let i = _i; - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return; - } - let t = cellX.tl; - let h = cellX.hd; - if (f(h, i)) { - let next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _i = i + 1 | 0; - _prec = next; - _cellX = t; - continue; - } - _i = i + 1 | 0; - _cellX = t; - continue; - }; -} - -function copyAuxWitFilterMap(f, _cellX, _prec) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return; - } - let t = cellX.tl; - let h = f(cellX.hd); - if (h !== undefined) { - let next = { - hd: Primitive_option.valFromOption(h), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue; - } - _cellX = t; - continue; - }; -} - -function removeAssocAuxWithMap(_cellX, x, _prec, f) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return false; - } - let t = cellX.tl; - let h = cellX.hd; - if (f(h[0], x)) { - prec.tl = t; - return true; - } - let next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue; - }; -} - -function setAssocAuxWithMap(_cellX, x, k, _prec, eq) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return false; - } - let t = cellX.tl; - let h = cellX.hd; - if (eq(h[0], x)) { - prec.tl = { - hd: [ - x, - k - ], - tl: t - }; - return true; - } - let next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue; - }; -} - -function copyAuxWithMap(_cellX, _prec, f) { - while (true) { - let prec = _prec; - let cellX = _cellX; - if (cellX === 0) { - return; - } - let next = { - hd: f(cellX.hd), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - continue; - }; -} - -function zipAux(_cellX, _cellY, _prec) { - while (true) { - let prec = _prec; - let cellY = _cellY; - let cellX = _cellX; - if (cellX === 0) { - return; - } - if (cellY === 0) { - return; - } - let next = { - hd: [ - cellX.hd, - cellY.hd - ], - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellY = cellY.tl; - _cellX = cellX.tl; - continue; - }; -} - -function copyAuxWithMap2(f, _cellX, _cellY, _prec) { - while (true) { - let prec = _prec; - let cellY = _cellY; - let cellX = _cellX; - if (cellX === 0) { - return; - } - if (cellY === 0) { - return; - } - let next = { - hd: f(cellX.hd, cellY.hd), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellY = cellY.tl; - _cellX = cellX.tl; - continue; - }; -} - -function copyAuxWithMapI(f, _i, _cellX, _prec) { - while (true) { - let prec = _prec; - let cellX = _cellX; - let i = _i; - if (cellX === 0) { - return; - } - let next = { - hd: f(cellX.hd, i), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - _i = i + 1 | 0; - continue; - }; -} - -function takeAux(_n, _cell, _prec) { - while (true) { - let prec = _prec; - let cell = _cell; - let n = _n; - if (n === 0) { - return true; - } - if (cell === 0) { - return false; - } - let cell$1 = { - hd: cell.hd, - tl: /* [] */0 - }; - prec.tl = cell$1; - _prec = cell$1; - _cell = cell.tl; - _n = n - 1 | 0; - continue; - }; -} - -function splitAtAux(_n, _cell, _prec) { - while (true) { - let prec = _prec; - let cell = _cell; - let n = _n; - if (n === 0) { - return cell; - } - if (cell === 0) { - return; - } - let cell$1 = { - hd: cell.hd, - tl: /* [] */0 - }; - prec.tl = cell$1; - _prec = cell$1; - _cell = cell.tl; - _n = n - 1 | 0; - continue; - }; -} - -function take(lst, n) { - if (n < 0) { - return; - } - if (n === 0) { - return /* [] */0; - } - if (lst === 0) { - return; - } - let cell = { - hd: lst.hd, - tl: /* [] */0 - }; - let has = takeAux(n - 1 | 0, lst.tl, cell); - if (has) { - return cell; - } -} - -function drop(lst, n) { - if (n < 0) { - return; - } else { - let _l = lst; - let _n = n; - while (true) { - let n$1 = _n; - let l = _l; - if (n$1 === 0) { - return l; - } - if (l === 0) { - return; - } - _n = n$1 - 1 | 0; - _l = l.tl; - continue; - }; - } -} - -function splitAt(lst, n) { - if (n < 0) { - return; - } - if (n === 0) { - return [ - /* [] */0, - lst - ]; - } - if (lst === 0) { - return; - } - let cell = { - hd: lst.hd, - tl: /* [] */0 - }; - let rest = splitAtAux(n - 1 | 0, lst.tl, cell); - if (rest !== undefined) { - return [ - cell, - rest - ]; - } -} - -function concat(xs, ys) { - if (xs === 0) { - return ys; - } - let cell = { - hd: xs.hd, - tl: /* [] */0 - }; - copyAuxCont(xs.tl, cell).tl = ys; - return cell; -} - -function map(xs, f) { - if (xs === 0) { - return /* [] */0; - } - let cell = { - hd: f(xs.hd), - tl: /* [] */0 - }; - copyAuxWithMap(xs.tl, cell, f); - return cell; -} - -function zipBy(l1, l2, f) { - if (l1 === 0) { - return /* [] */0; - } - if (l2 === 0) { - return /* [] */0; - } - let cell = { - hd: f(l1.hd, l2.hd), - tl: /* [] */0 - }; - copyAuxWithMap2(f, l1.tl, l2.tl, cell); - return cell; -} - -function mapWithIndex(xs, f) { - if (xs === 0) { - return /* [] */0; - } - let cell = { - hd: f(xs.hd, 0), - tl: /* [] */0 - }; - copyAuxWithMapI(f, 1, xs.tl, cell); - return cell; -} - -function fromInitializer(n, f) { - if (n <= 0) { - return /* [] */0; - } - let headX = { - hd: f(0), - tl: /* [] */0 - }; - let cur = headX; - let i = 1; - while (i < n) { - let v = { - hd: f(i), - tl: /* [] */0 - }; - cur.tl = v; - cur = v; - i = i + 1 | 0; - }; - return headX; -} - -function make(n, v) { - if (n <= 0) { - return /* [] */0; - } - let headX = { - hd: v, - tl: /* [] */0 - }; - let cur = headX; - let i = 1; - while (i < n) { - let v$1 = { - hd: v, - tl: /* [] */0 - }; - cur.tl = v$1; - cur = v$1; - i = i + 1 | 0; - }; - return headX; -} - -function length(xs) { - let _x = xs; - let _acc = 0; - while (true) { - let acc = _acc; - let x = _x; - if (x === 0) { - return acc; - } - _acc = acc + 1 | 0; - _x = x.tl; - continue; - }; -} - -function fillAux(arr, _i, _x) { - while (true) { - let x = _x; - let i = _i; - if (x === 0) { - return; - } - arr[i] = x.hd; - _x = x.tl; - _i = i + 1 | 0; - continue; - }; -} - -function fromArray(a) { - let _i = a.length - 1 | 0; - let _res = /* [] */0; - while (true) { - let res = _res; - let i = _i; - if (i < 0) { - return res; - } - _res = { - hd: a[i], - tl: res - }; - _i = i - 1 | 0; - continue; - }; -} - -function toArray(x) { - let len = length(x); - let arr = new Array(len); - fillAux(arr, 0, x); - return arr; -} - -function shuffle(xs) { - let v = toArray(xs); - Stdlib_Array.shuffle(v); - return fromArray(v); -} - -function reverseConcat(_l1, _l2) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return l2; - } - _l2 = { - hd: l1.hd, - tl: l2 - }; - _l1 = l1.tl; - continue; - }; -} - -function reverse(l) { - return reverseConcat(l, /* [] */0); -} - -function flatAux(_prec, _xs) { - while (true) { - let xs = _xs; - let prec = _prec; - if (xs !== 0) { - _xs = xs.tl; - _prec = copyAuxCont(xs.hd, prec); - continue; - } - prec.tl = /* [] */0; - return; - }; -} - -function flat(_xs) { - while (true) { - let xs = _xs; - if (xs === 0) { - return /* [] */0; - } - let match = xs.hd; - if (match !== 0) { - let cell = { - hd: match.hd, - tl: /* [] */0 - }; - flatAux(copyAuxCont(match.tl, cell), xs.tl); - return cell; - } - _xs = xs.tl; - continue; - }; -} - -function concatMany(xs) { - let len = xs.length; - if (len === 1) { - return xs[0]; - } - if (len === 0) { - return /* [] */0; - } - let len$1 = xs.length; - let v = xs[len$1 - 1 | 0]; - for (let i = len$1 - 2 | 0; i >= 0; --i) { - v = concat(xs[i], v); - } - return v; -} - -function mapReverse(l, f) { - let _accu = /* [] */0; - let _xs = l; - while (true) { - let xs = _xs; - let accu = _accu; - if (xs === 0) { - return accu; - } - _xs = xs.tl; - _accu = { - hd: f(xs.hd), - tl: accu - }; - continue; - }; -} - -function forEach(_xs, f) { - while (true) { - let xs = _xs; - if (xs === 0) { - return; - } - f(xs.hd); - _xs = xs.tl; - continue; - }; -} - -function forEachWithIndex(l, f) { - let _xs = l; - let _i = 0; - while (true) { - let i = _i; - let xs = _xs; - if (xs === 0) { - return; - } - f(xs.hd, i); - _i = i + 1 | 0; - _xs = xs.tl; - continue; - }; -} - -function reduce(_l, _accu, f) { - while (true) { - let accu = _accu; - let l = _l; - if (l === 0) { - return accu; - } - _accu = f(accu, l.hd); - _l = l.tl; - continue; - }; -} - -function reduceReverseUnsafe(l, accu, f) { - if (l !== 0) { - return f(reduceReverseUnsafe(l.tl, accu, f), l.hd); - } else { - return accu; - } -} - -function reduceReverse(l, acc, f) { - let len = length(l); - if (len < 1000) { - return reduceReverseUnsafe(l, acc, f); - } else { - let a = toArray(l); - let r = acc; - for (let i = a.length - 1 | 0; i >= 0; --i) { - r = f(r, a[i]); - } - return r; - } -} - -function reduceWithIndex(l, acc, f) { - let _l = l; - let _acc = acc; - let _i = 0; - while (true) { - let i = _i; - let acc$1 = _acc; - let l$1 = _l; - if (l$1 === 0) { - return acc$1; - } - _i = i + 1 | 0; - _acc = f(acc$1, l$1.hd, i); - _l = l$1.tl; - continue; - }; -} - -function mapReverse2(l1, l2, f) { - let _l1 = l1; - let _l2 = l2; - let _accu = /* [] */0; - while (true) { - let accu = _accu; - let l2$1 = _l2; - let l1$1 = _l1; - if (l1$1 === 0) { - return accu; - } - if (l2$1 === 0) { - return accu; - } - _accu = { - hd: f(l1$1.hd, l2$1.hd), - tl: accu - }; - _l2 = l2$1.tl; - _l1 = l1$1.tl; - continue; - }; -} - -function forEach2(_l1, _l2, f) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return; - } - if (l2 === 0) { - return; - } - f(l1.hd, l2.hd); - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function reduce2(_l1, _l2, _accu, f) { - while (true) { - let accu = _accu; - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return accu; - } - if (l2 === 0) { - return accu; - } - _accu = f(accu, l1.hd, l2.hd); - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function reduceReverse2Unsafe(l1, l2, accu, f) { - if (l1 !== 0 && l2 !== 0) { - return f(reduceReverse2Unsafe(l1.tl, l2.tl, accu, f), l1.hd, l2.hd); - } else { - return accu; - } -} - -function reduceReverse2(l1, l2, acc, f) { - let len = length(l1); - if (len < 1000) { - return reduceReverse2Unsafe(l1, l2, acc, f); - } else { - let a = toArray(l1); - let b = toArray(l2); - let r = acc; - let len$1 = Primitive_int.min(a.length, b.length); - for (let i = len$1 - 1 | 0; i >= 0; --i) { - r = f(r, a[i], b[i]); - } - return r; - } -} - -function every(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return true; - } - if (!p(xs.hd)) { - return false; - } - _xs = xs.tl; - continue; - }; -} - -function some(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return false; - } - if (p(xs.hd)) { - return true; - } - _xs = xs.tl; - continue; - }; -} - -function every2(_l1, _l2, p) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return true; - } - if (l2 === 0) { - return true; - } - if (!p(l1.hd, l2.hd)) { - return false; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function compareLength(_l1, _l2) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - if (l2 !== 0) { - return -1; - } else { - return 0; - } - } - if (l2 === 0) { - return 1; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function compare(_l1, _l2, p) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - if (l2 !== 0) { - return -1; - } else { - return 0; - } - } - if (l2 === 0) { - return 1; - } - let c = p(l1.hd, l2.hd); - if (c !== 0) { - return c; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function equal(_l1, _l2, p) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return l2 === 0; - } - if (l2 === 0) { - return false; - } - if (!p(l1.hd, l2.hd)) { - return false; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function some2(_l1, _l2, p) { - while (true) { - let l2 = _l2; - let l1 = _l1; - if (l1 === 0) { - return false; - } - if (l2 === 0) { - return false; - } - if (p(l1.hd, l2.hd)) { - return true; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue; - }; -} - -function has(_xs, x, eq) { - while (true) { - let xs = _xs; - if (xs === 0) { - return false; - } - if (eq(xs.hd, x)) { - return true; - } - _xs = xs.tl; - continue; - }; -} - -function getAssoc(_xs, x, eq) { - while (true) { - let xs = _xs; - if (xs === 0) { - return; - } - let match = xs.hd; - if (eq(match[0], x)) { - return Primitive_option.some(match[1]); - } - _xs = xs.tl; - continue; - }; -} - -function hasAssoc(_xs, x, eq) { - while (true) { - let xs = _xs; - if (xs === 0) { - return false; - } - if (eq(xs.hd[0], x)) { - return true; - } - _xs = xs.tl; - continue; - }; -} - -function removeAssoc(xs, x, eq) { - if (xs === 0) { - return /* [] */0; - } - let l = xs.tl; - let pair = xs.hd; - if (eq(pair[0], x)) { - return l; - } - let cell = { - hd: pair, - tl: /* [] */0 - }; - let removed = removeAssocAuxWithMap(l, x, cell, eq); - if (removed) { - return cell; - } else { - return xs; - } -} - -function setAssoc(xs, x, k, eq) { - if (xs === 0) { - return { - hd: [ - x, - k - ], - tl: /* [] */0 - }; - } - let l = xs.tl; - let pair = xs.hd; - if (eq(pair[0], x)) { - return { - hd: [ - x, - k - ], - tl: l - }; - } - let cell = { - hd: pair, - tl: /* [] */0 - }; - let replaced = setAssocAuxWithMap(l, x, k, cell, eq); - if (replaced) { - return cell; - } else { - return { - hd: [ - x, - k - ], - tl: xs - }; - } -} - -function sort(xs, cmp) { - let arr = toArray(xs); - arr.sort(cmp); - return fromArray(arr); -} - -function find(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return; - } - let x = xs.hd; - if (p(x)) { - return Primitive_option.some(x); - } - _xs = xs.tl; - continue; - }; -} - -function filter(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return /* [] */0; - } - let t = xs.tl; - let h = xs.hd; - if (p(h)) { - let cell = { - hd: h, - tl: /* [] */0 - }; - copyAuxWitFilter(p, t, cell); - return cell; - } - _xs = t; - continue; - }; -} - -function filterWithIndex(xs, p) { - let _xs = xs; - let _i = 0; - while (true) { - let i = _i; - let xs$1 = _xs; - if (xs$1 === 0) { - return /* [] */0; - } - let t = xs$1.tl; - let h = xs$1.hd; - if (p(h, i)) { - let cell = { - hd: h, - tl: /* [] */0 - }; - copyAuxWithFilterIndex(p, t, cell, i + 1 | 0); - return cell; - } - _i = i + 1 | 0; - _xs = t; - continue; - }; -} - -function filterMap(_xs, p) { - while (true) { - let xs = _xs; - if (xs === 0) { - return /* [] */0; - } - let t = xs.tl; - let h = p(xs.hd); - if (h !== undefined) { - let cell = { - hd: Primitive_option.valFromOption(h), - tl: /* [] */0 - }; - copyAuxWitFilterMap(p, t, cell); - return cell; - } - _xs = t; - continue; - }; -} - -function partition(l, p) { - if (l === 0) { - return [ - /* [] */0, - /* [] */0 - ]; - } - let h = l.hd; - let nextX = { - hd: h, - tl: /* [] */0 - }; - let nextY = { - hd: h, - tl: /* [] */0 - }; - let b = p(h); - partitionAux(p, l.tl, nextX, nextY); - if (b) { - return [ - nextX, - nextY.tl - ]; - } else { - return [ - nextX.tl, - nextY - ]; - } -} - -function unzip(xs) { - if (xs === 0) { - return [ - /* [] */0, - /* [] */0 - ]; - } - let match = xs.hd; - let cellX = { - hd: match[0], - tl: /* [] */0 - }; - let cellY = { - hd: match[1], - tl: /* [] */0 - }; - splitAux(xs.tl, cellX, cellY); - return [ - cellX, - cellY - ]; -} - -function zip(l1, l2) { - if (l1 === 0) { - return /* [] */0; - } - if (l2 === 0) { - return /* [] */0; - } - let cell = { - hd: [ - l1.hd, - l2.hd - ], - tl: /* [] */0 - }; - zipAux(l1.tl, l2.tl, cell); - return cell; -} - -let size = length; - -let headExn = headOrThrow; - -let tailExn = tailOrThrow; - -let getExn = getOrThrow; - -let toShuffled = shuffle; - -export { - length, - size, - head, - headExn, - headOrThrow, - tail, - tailExn, - tailOrThrow, - add, - get, - getExn, - getOrThrow, - make, - fromInitializer, - shuffle, - toShuffled, - drop, - take, - splitAt, - concat, - concatMany, - reverseConcat, - flat, - map, - zip, - zipBy, - mapWithIndex, - fromArray, - toArray, - reverse, - mapReverse, - forEach, - forEachWithIndex, - reduce, - reduceWithIndex, - reduceReverse, - mapReverse2, - forEach2, - reduce2, - reduceReverse2, - every, - some, - every2, - some2, - compareLength, - compare, - equal, - has, - find, - filter, - filterWithIndex, - filterMap, - partition, - unzip, - getAssoc, - hasAssoc, - removeAssoc, - setAssoc, - sort, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Map.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Map.js deleted file mode 100644 index 27d7851..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Map.js +++ /dev/null @@ -1,11 +0,0 @@ - - - -function isEmpty(map) { - return map.size === 0; -} - -export { - isEmpty, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Math.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Math.js deleted file mode 100644 index 964eb21..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Math.js +++ /dev/null @@ -1,29 +0,0 @@ - - - -let Constants = {}; - -function floor(f) { - return Math.floor(f) | 0; -} - -function ceil(f) { - return Math.ceil(f) | 0; -} - -function random(min, max) { - let f = Math.random() * (max - min | 0); - return (Math.floor(f) | 0) + min | 0; -} - -let Int = { - floor: floor, - ceil: ceil, - random: random -}; - -export { - Constants, - Int, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Null.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Null.js deleted file mode 100644 index 436315a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Null.js +++ /dev/null @@ -1,91 +0,0 @@ - - -import * as Stdlib_Option from "./Stdlib_Option.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function fromOption(option) { - if (option !== undefined) { - return Primitive_option.valFromOption(option); - } else { - return null; - } -} - -function equal(a, b, eq) { - return Stdlib_Option.equal(a === null ? undefined : Primitive_option.some(a), b === null ? undefined : Primitive_option.some(b), eq); -} - -function compare(a, b, cmp) { - return Stdlib_Option.compare(a === null ? undefined : Primitive_option.some(a), b === null ? undefined : Primitive_option.some(b), cmp); -} - -function getOr(value, $$default) { - if (value !== null) { - return value; - } else { - return $$default; - } -} - -function getOrThrow(value) { - if (value !== null) { - return value; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Null.getOrThrow: value is null", - Error: new Error() - }; -} - -function forEach(value, f) { - if (value !== null) { - return f(value); - } -} - -function map(value, f) { - if (value !== null) { - return f(value); - } else { - return null; - } -} - -function mapOr(value, $$default, f) { - if (value !== null) { - return f(value); - } else { - return $$default; - } -} - -function flatMap(value, f) { - if (value !== null) { - return f(value); - } else { - return null; - } -} - -let getWithDefault = getOr; - -let getExn = getOrThrow; - -let mapWithDefault = mapOr; - -export { - equal, - compare, - fromOption, - getOr, - getWithDefault, - getExn, - getOrThrow, - forEach, - map, - mapOr, - mapWithDefault, - flatMap, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Nullable.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Nullable.js deleted file mode 100644 index 1d7b479..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Nullable.js +++ /dev/null @@ -1,89 +0,0 @@ - - -import * as Stdlib_Option from "./Stdlib_Option.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function fromOption(option) { - if (option !== undefined) { - return Primitive_option.valFromOption(option); - } -} - -function equal(a, b, eq) { - return Stdlib_Option.equal((a == null) ? undefined : Primitive_option.some(a), (b == null) ? undefined : Primitive_option.some(b), eq); -} - -function compare(a, b, cmp) { - return Stdlib_Option.compare((a == null) ? undefined : Primitive_option.some(a), (b == null) ? undefined : Primitive_option.some(b), cmp); -} - -function getOr(value, $$default) { - if (value == null) { - return $$default; - } else { - return value; - } -} - -function getOrThrow(value) { - if (!(value == null)) { - return value; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Nullable.getOrThrow: value is null or undefined", - Error: new Error() - }; -} - -function forEach(value, f) { - if (!(value == null)) { - return f(value); - } -} - -function map(value, f) { - if (value == null) { - return value; - } else { - return f(value); - } -} - -function mapOr(value, $$default, f) { - if (value == null) { - return $$default; - } else { - return f(value); - } -} - -function flatMap(value, f) { - if (value == null) { - return value; - } else { - return f(value); - } -} - -let getWithDefault = getOr; - -let getExn = getOrThrow; - -let mapWithDefault = mapOr; - -export { - equal, - compare, - fromOption, - getOr, - getWithDefault, - getExn, - getOrThrow, - forEach, - map, - mapOr, - mapWithDefault, - flatMap, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Object.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Object.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Object.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Option.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Option.js deleted file mode 100644 index 375b5cd..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Option.js +++ /dev/null @@ -1,220 +0,0 @@ - - -import * as Stdlib_JsError from "./Stdlib_JsError.js"; -import * as Primitive_option from "./Primitive_option.js"; - -function filter(opt, p) { - if (opt !== undefined && p(Primitive_option.valFromOption(opt))) { - return opt; - } -} - -function forEach(opt, f) { - if (opt !== undefined) { - return f(Primitive_option.valFromOption(opt)); - } -} - -function getOrThrow(x, message) { - if (x !== undefined) { - return Primitive_option.valFromOption(x); - } else { - return Stdlib_JsError.panic(message !== undefined ? message : "Option.getOrThrow called for None value"); - } -} - -function mapOr(opt, $$default, f) { - if (opt !== undefined) { - return f(Primitive_option.valFromOption(opt)); - } else { - return $$default; - } -} - -function map(opt, f) { - if (opt !== undefined) { - return Primitive_option.some(f(Primitive_option.valFromOption(opt))); - } -} - -function flatMap(opt, f) { - if (opt !== undefined) { - return f(Primitive_option.valFromOption(opt)); - } -} - -function getOr(opt, $$default) { - if (opt !== undefined) { - return Primitive_option.valFromOption(opt); - } else { - return $$default; - } -} - -function orElse(opt, other) { - if (opt !== undefined) { - return opt; - } else { - return other; - } -} - -function isSome(x) { - return x !== undefined; -} - -function isNone(x) { - return x === undefined; -} - -function equal(a, b, eq) { - if (a !== undefined) { - if (b !== undefined) { - return eq(Primitive_option.valFromOption(a), Primitive_option.valFromOption(b)); - } else { - return false; - } - } else { - return b === undefined; - } -} - -function compare(a, b, cmp) { - if (a !== undefined) { - if (b !== undefined) { - return cmp(Primitive_option.valFromOption(a), Primitive_option.valFromOption(b)); - } else { - return 1; - } - } else if (b !== undefined) { - return -1; - } else { - return 0; - } -} - -function all(options) { - let acc = []; - let hasNone = false; - let index = 0; - while (hasNone === false && index < options.length) { - let value = options[index]; - if (value !== undefined) { - acc.push(Primitive_option.valFromOption(value)); - index = index + 1 | 0; - } else { - hasNone = true; - } - }; - if (hasNone) { - return; - } else { - return acc; - } -} - -function all2(param) { - let b = param[1]; - let a = param[0]; - if (a !== undefined && b !== undefined) { - return [ - Primitive_option.valFromOption(a), - Primitive_option.valFromOption(b) - ]; - } -} - -function all3(param) { - let c = param[2]; - let b = param[1]; - let a = param[0]; - if (a !== undefined && b !== undefined && c !== undefined) { - return [ - Primitive_option.valFromOption(a), - Primitive_option.valFromOption(b), - Primitive_option.valFromOption(c) - ]; - } -} - -function all4(param) { - let d = param[3]; - let c = param[2]; - let b = param[1]; - let a = param[0]; - if (a !== undefined && b !== undefined && c !== undefined && d !== undefined) { - return [ - Primitive_option.valFromOption(a), - Primitive_option.valFromOption(b), - Primitive_option.valFromOption(c), - Primitive_option.valFromOption(d) - ]; - } -} - -function all5(param) { - let e = param[4]; - let d = param[3]; - let c = param[2]; - let b = param[1]; - let a = param[0]; - if (a !== undefined && b !== undefined && c !== undefined && d !== undefined && e !== undefined) { - return [ - Primitive_option.valFromOption(a), - Primitive_option.valFromOption(b), - Primitive_option.valFromOption(c), - Primitive_option.valFromOption(d), - Primitive_option.valFromOption(e) - ]; - } -} - -function all6(param) { - let f = param[5]; - let e = param[4]; - let d = param[3]; - let c = param[2]; - let b = param[1]; - let a = param[0]; - if (a !== undefined && b !== undefined && c !== undefined && d !== undefined && e !== undefined && f !== undefined) { - return [ - Primitive_option.valFromOption(a), - Primitive_option.valFromOption(b), - Primitive_option.valFromOption(c), - Primitive_option.valFromOption(d), - Primitive_option.valFromOption(e), - Primitive_option.valFromOption(f) - ]; - } -} - -let getExn = getOrThrow; - -let mapWithDefault = mapOr; - -let getWithDefault = getOr; - -export { - filter, - forEach, - getExn, - getOrThrow, - mapOr, - mapWithDefault, - map, - flatMap, - getOr, - getWithDefault, - orElse, - isSome, - isNone, - equal, - compare, - all, - all2, - all3, - all4, - all5, - all6, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Ordering.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Ordering.js deleted file mode 100644 index c249cde..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Ordering.js +++ /dev/null @@ -1,37 +0,0 @@ - - - -function isLess(ord) { - return ord < 0; -} - -function isEqual(ord) { - return ord === 0; -} - -function isGreater(ord) { - return ord > 0; -} - -function invert(ord) { - return - ord; -} - -function fromInt(n) { - if (n < 0) { - return -1; - } else if (n > 0) { - return 1; - } else { - return 0; - } -} - -export { - isLess, - isEqual, - isGreater, - invert, - fromInt, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Pair.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Pair.js deleted file mode 100644 index b41d7eb..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Pair.js +++ /dev/null @@ -1,25 +0,0 @@ - - - -function equal(param, param$1, eq1, eq2) { - if (eq1(param[0], param$1[0])) { - return eq2(param[1], param$1[1]); - } else { - return false; - } -} - -function compare(param, param$1, cmp1, cmp2) { - let result = cmp1(param[0], param$1[0]); - if (result !== 0) { - return result; - } else { - return cmp2(param[1], param$1[1]); - } -} - -export { - equal, - compare, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Promise.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Promise.js deleted file mode 100644 index 475b96b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Promise.js +++ /dev/null @@ -1,12 +0,0 @@ - - -import * as Primitive_exceptions from "./Primitive_exceptions.js"; - -function $$catch(promise, callback) { - return promise.catch(err => callback(Primitive_exceptions.internalToException(err))); -} - -export { - $$catch, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_RegExp.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_RegExp.js deleted file mode 100644 index e3ed577..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_RegExp.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Result = {}; - -export { - Result, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Result.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Result.js deleted file mode 100644 index 1ad161f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Result.js +++ /dev/null @@ -1,431 +0,0 @@ - - -import * as Stdlib_JsError from "./Stdlib_JsError.js"; - -function getOrThrow(x, message) { - if (x.TAG === "Ok") { - return x._0; - } else { - return Stdlib_JsError.panic(message !== undefined ? message : "Result.getOrThrow called for Error value"); - } -} - -function mapOr(opt, $$default, f) { - if (opt.TAG === "Ok") { - return f(opt._0); - } else { - return $$default; - } -} - -function map(opt, f) { - if (opt.TAG === "Ok") { - return { - TAG: "Ok", - _0: f(opt._0) - }; - } else { - return opt; - } -} - -function flatMap(opt, f) { - if (opt.TAG === "Ok") { - return f(opt._0); - } else { - return opt; - } -} - -function getOr(opt, $$default) { - if (opt.TAG === "Ok") { - return opt._0; - } else { - return $$default; - } -} - -function isOk(x) { - return x.TAG === "Ok"; -} - -function isError(x) { - return x.TAG !== "Ok"; -} - -function equal(a, b, eqOk, eqError) { - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - return eqOk(a._0, b._0); - } else { - return false; - } - } else if (b.TAG === "Ok") { - return false; - } else { - return eqError(a._0, b._0); - } -} - -function compare(a, b, cmpOk, cmpError) { - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - return cmpOk(a._0, b._0); - } else { - return 1; - } - } else if (b.TAG === "Ok") { - return -1; - } else { - return cmpError(a._0, b._0); - } -} - -function forEach(r, f) { - if (r.TAG === "Ok") { - return f(r._0); - } -} - -function mapError(r, f) { - if (r.TAG === "Ok") { - return r; - } else { - return { - TAG: "Error", - _0: f(r._0) - }; - } -} - -function all(results) { - let acc = []; - let returnValue; - let index = 0; - while (returnValue === undefined && index < results.length) { - let err = results[index]; - if (err.TAG === "Ok") { - acc.push(err._0); - index = index + 1 | 0; - } else { - returnValue = err; - } - }; - let error = returnValue; - if (error !== undefined) { - return error; - } else { - return { - TAG: "Ok", - _0: acc - }; - } -} - -function all2(param) { - let b = param[1]; - let a = param[0]; - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - return { - TAG: "Ok", - _0: [ - a._0, - b._0 - ] - }; - } else { - return { - TAG: "Error", - _0: b._0 - }; - } - } else { - return { - TAG: "Error", - _0: a._0 - }; - } -} - -function all3(param) { - let c = param[2]; - let b = param[1]; - let a = param[0]; - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - if (c.TAG === "Ok") { - return { - TAG: "Ok", - _0: [ - a._0, - b._0, - c._0 - ] - }; - } else { - return { - TAG: "Error", - _0: c._0 - }; - } - } else { - return { - TAG: "Error", - _0: b._0 - }; - } - } else { - return { - TAG: "Error", - _0: a._0 - }; - } -} - -function all4(param) { - let d = param[3]; - let c = param[2]; - let b = param[1]; - let a = param[0]; - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - if (c.TAG === "Ok") { - if (d.TAG === "Ok") { - return { - TAG: "Ok", - _0: [ - a._0, - b._0, - c._0, - d._0 - ] - }; - } else { - return { - TAG: "Error", - _0: d._0 - }; - } - } else { - return { - TAG: "Error", - _0: c._0 - }; - } - } else { - return { - TAG: "Error", - _0: b._0 - }; - } - } else { - return { - TAG: "Error", - _0: a._0 - }; - } -} - -function all5(param) { - let e = param[4]; - let d = param[3]; - let c = param[2]; - let b = param[1]; - let a = param[0]; - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - if (c.TAG === "Ok") { - if (d.TAG === "Ok") { - if (e.TAG === "Ok") { - return { - TAG: "Ok", - _0: [ - a._0, - b._0, - c._0, - d._0, - e._0 - ] - }; - } else { - return { - TAG: "Error", - _0: e._0 - }; - } - } else { - return { - TAG: "Error", - _0: d._0 - }; - } - } else { - return { - TAG: "Error", - _0: c._0 - }; - } - } else { - return { - TAG: "Error", - _0: b._0 - }; - } - } else { - return { - TAG: "Error", - _0: a._0 - }; - } -} - -function all6(param) { - let f = param[5]; - let e = param[4]; - let d = param[3]; - let c = param[2]; - let b = param[1]; - let a = param[0]; - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - if (c.TAG === "Ok") { - if (d.TAG === "Ok") { - if (e.TAG === "Ok") { - if (f.TAG === "Ok") { - return { - TAG: "Ok", - _0: [ - a._0, - b._0, - c._0, - d._0, - e._0, - f._0 - ] - }; - } else { - return { - TAG: "Error", - _0: f._0 - }; - } - } else { - return { - TAG: "Error", - _0: e._0 - }; - } - } else { - return { - TAG: "Error", - _0: d._0 - }; - } - } else { - return { - TAG: "Error", - _0: c._0 - }; - } - } else { - return { - TAG: "Error", - _0: b._0 - }; - } - } else { - return { - TAG: "Error", - _0: a._0 - }; - } -} - -async function mapOkAsync(res, f) { - let value = await res; - if (value.TAG === "Ok") { - return { - TAG: "Ok", - _0: f(value._0) - }; - } else { - return { - TAG: "Error", - _0: value._0 - }; - } -} - -async function mapErrorAsync(res, f) { - let value = await res; - if (value.TAG === "Ok") { - return { - TAG: "Ok", - _0: value._0 - }; - } else { - return { - TAG: "Error", - _0: f(value._0) - }; - } -} - -async function flatMapOkAsync(res, f) { - let value = await res; - if (value.TAG === "Ok") { - return await f(value._0); - } else { - return { - TAG: "Error", - _0: value._0 - }; - } -} - -async function flatMapErrorAsync(res, f) { - let value = await res; - if (value.TAG === "Ok") { - return { - TAG: "Ok", - _0: value._0 - }; - } else { - return await f(value._0); - } -} - -let getExn = getOrThrow; - -let mapWithDefault = mapOr; - -let getWithDefault = getOr; - -export { - getExn, - getOrThrow, - mapOr, - mapWithDefault, - map, - flatMap, - getOr, - getWithDefault, - isOk, - isError, - equal, - compare, - forEach, - mapError, - all, - all2, - all3, - all4, - all5, - all6, - mapOkAsync, - mapErrorAsync, - flatMapOkAsync, - flatMapErrorAsync, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Set.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Set.js deleted file mode 100644 index 469aca5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Set.js +++ /dev/null @@ -1,11 +0,0 @@ - - - -function isEmpty(set) { - return set.size === 0; -} - -export { - isEmpty, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_String.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_String.js deleted file mode 100644 index fe2fd6d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_String.js +++ /dev/null @@ -1,54 +0,0 @@ - - - -function charCodeAt(s, i) { - let c = s.charCodeAt(i); - if (Number.isNaN(c)) { - return; - } else { - return c | 0; - } -} - -function indexOfOpt(s, search) { - let index = s.indexOf(search); - if (index !== -1) { - return index; - } -} - -function lastIndexOfOpt(s, search) { - let index = s.lastIndexOf(search); - if (index !== -1) { - return index; - } -} - -function searchOpt(s, re) { - let index = s.search(re); - if (index !== -1) { - return index; - } -} - -function isEmpty(s) { - return s.length === 0; -} - -function capitalize(s) { - if (s.length === 0) { - return s; - } else { - return s[0].toUpperCase() + s.slice(1); - } -} - -export { - charCodeAt, - indexOfOpt, - lastIndexOfOpt, - searchOpt, - isEmpty, - capitalize, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Symbol.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Symbol.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Symbol.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Type.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Type.js deleted file mode 100644 index 9ee5d6e..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Type.js +++ /dev/null @@ -1,58 +0,0 @@ - - - -function classify(value) { - let match = Object.prototype.toString.call(value); - switch (match) { - case "[object BigInt]" : - return { - TAG: "BigInt", - _0: value - }; - case "[object Boolean]" : - return { - TAG: "Bool", - _0: value - }; - case "[object AsyncFunction]" : - case "[object Function]" : - case "[object GeneratorFunction]" : - return { - TAG: "Function", - _0: value - }; - case "[object Null]" : - return "Null"; - case "[object Number]" : - return { - TAG: "Number", - _0: value - }; - case "[object String]" : - return { - TAG: "String", - _0: value - }; - case "[object Symbol]" : - return { - TAG: "Symbol", - _0: value - }; - case "[object Undefined]" : - return "Undefined"; - default: - return { - TAG: "Object", - _0: value - }; - } -} - -let Classify = { - classify: classify -}; - -export { - Classify, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_TypedArray.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_TypedArray.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_TypedArray.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint16Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint16Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint16Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint32Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint32Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint32Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint8Array.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint8Array.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint8Array.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint8ClampedArray.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint8ClampedArray.js deleted file mode 100644 index cd16874..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_Uint8ClampedArray.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -let Constants = {}; - -export { - Constants, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_WeakMap.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_WeakMap.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_WeakMap.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_WeakSet.js b/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_WeakSet.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/Stdlib_WeakSet.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/arg.js b/bots/sustainabot/bot-integration/rescript-runtime/arg.js deleted file mode 100644 index 082ea58..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/arg.js +++ /dev/null @@ -1,717 +0,0 @@ - - -import * as Sys from "./sys.js"; -import * as Caml from "./caml.js"; -import * as List from "./list.js"; -import * as $$Array from "./array.js"; -import * as Curry from "./curry.js"; -import * as $$Buffer from "./buffer.js"; -import * as $$String from "./string.js"; -import * as Caml_obj from "./caml_obj.js"; -import * as Caml_array from "./caml_array.js"; -import * as Pervasives from "./pervasives.js"; -import * as Caml_format from "./caml_format.js"; -import * as Caml_string from "./caml_string.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -var Bad = /* @__PURE__ */Caml_exceptions.create("Arg.Bad"); - -var Help = /* @__PURE__ */Caml_exceptions.create("Arg.Help"); - -var Stop = /* @__PURE__ */Caml_exceptions.create("Arg.Stop"); - -function assoc3(x, _l) { - while(true) { - var l = _l; - if (l) { - var match = l.hd; - if (Caml_obj.equal(match[0], x)) { - return match[1]; - } - _l = l.tl; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function split(s) { - var i = $$String.index(s, /* '=' */61); - var len = s.length; - return [ - $$String.sub(s, 0, i), - $$String.sub(s, i + 1 | 0, len - (i + 1 | 0) | 0) - ]; -} - -function make_symlist(prefix, sep, suffix, l) { - if (l) { - return List.fold_left((function (x, y) { - return x + (sep + y); - }), prefix + l.hd, l.tl) + suffix; - } else { - return ""; - } -} - -function help_action(param) { - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Unknown", - _0: "-help" - }, - Error: new Error() - }; -} - -function add_help(speclist) { - var add1; - try { - assoc3("-help", speclist); - add1 = /* [] */0; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - add1 = { - hd: [ - "-help", - { - TAG: "Unit", - _0: help_action - }, - " Display this list of options" - ], - tl: /* [] */0 - }; - } else { - throw exn; - } - } - var add2; - try { - assoc3("--help", speclist); - add2 = /* [] */0; - } - catch (raw_exn$1){ - var exn$1 = Caml_js_exceptions.internalToOCamlException(raw_exn$1); - if (exn$1.RE_EXN_ID === "Not_found") { - add2 = { - hd: [ - "--help", - { - TAG: "Unit", - _0: help_action - }, - " Display this list of options" - ], - tl: /* [] */0 - }; - } else { - throw exn$1; - } - } - return Pervasives.$at(speclist, Pervasives.$at(add1, add2)); -} - -function usage_b(buf, speclist, errmsg) { - $$Buffer.add_string(buf, errmsg + "\n"); - List.iter((function (param) { - var doc = param[2]; - if (doc.length === 0) { - return ; - } - var spec = param[1]; - var key = param[0]; - if (spec.TAG !== "Symbol") { - return $$Buffer.add_string(buf, " " + key + " " + doc + "\n"); - } - var sym = make_symlist("{", "|", "}", spec._0); - return $$Buffer.add_string(buf, " " + key + " " + sym + doc + "\n"); - }), add_help(speclist)); -} - -function usage_string(speclist, errmsg) { - var b = $$Buffer.create(200); - usage_b(b, speclist, errmsg); - return $$Buffer.contents(b); -} - -function usage(speclist, errmsg) { - console.log(usage_string(speclist, errmsg)); -} - -var current = { - contents: 0 -}; - -function bool_of_string_opt(x) { - try { - return Pervasives.bool_of_string(x); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Invalid_argument") { - return ; - } - throw exn; - } -} - -function int_of_string_opt(x) { - try { - return Caml_format.int_of_string(x); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Failure") { - return ; - } - throw exn; - } -} - -function float_of_string_opt(x) { - try { - return Caml_format.float_of_string(x); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Failure") { - return ; - } - throw exn; - } -} - -function parse_and_expand_argv_dynamic_aux(allow_expand, current, argv, speclist, anonfun, errmsg) { - var initpos = current.contents; - var convert_error = function (error) { - var b = $$Buffer.create(200); - var progname = initpos < argv.contents.length ? Caml_array.get(argv.contents, initpos) : "(?)"; - switch (error.TAG) { - case "Unknown" : - var s = error._0; - switch (s) { - case "--help" : - case "-help" : - break; - default: - $$Buffer.add_string(b, progname + ": unknown option '" + s + "'.\n"); - } - break; - case "Wrong" : - $$Buffer.add_string(b, progname + ": wrong argument '" + error._1 + "'; option '" + error._0 + "' expects " + error._2 + ".\n"); - break; - case "Missing" : - $$Buffer.add_string(b, progname + ": option '" + error._0 + "' needs an argument.\n"); - break; - case "Message" : - $$Buffer.add_string(b, progname + ": " + error._0 + ".\n"); - break; - - } - usage_b(b, speclist.contents, errmsg); - if (Caml_obj.equal(error, { - TAG: "Unknown", - _0: "-help" - }) || Caml_obj.equal(error, { - TAG: "Unknown", - _0: "--help" - })) { - return { - RE_EXN_ID: Help, - _1: $$Buffer.contents(b) - }; - } else { - return { - RE_EXN_ID: Bad, - _1: $$Buffer.contents(b) - }; - } - }; - current.contents = current.contents + 1 | 0; - while(current.contents < argv.contents.length) { - try { - var s = Caml_array.get(argv.contents, current.contents); - if (s.length >= 1 && Caml_string.get(s, 0) === /* '-' */45) { - var match; - try { - match = [ - assoc3(s, speclist.contents), - undefined - ]; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - try { - var match$1 = split(s); - match = [ - assoc3(match$1[0], speclist.contents), - match$1[1] - ]; - } - catch (raw_exn$1){ - var exn$1 = Caml_js_exceptions.internalToOCamlException(raw_exn$1); - if (exn$1.RE_EXN_ID === "Not_found") { - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Unknown", - _0: s - }, - Error: new Error() - }; - } - throw exn$1; - } - } else { - throw exn; - } - } - var follow = match[1]; - var no_arg = (function(s,follow){ - return function no_arg(param) { - if (follow === undefined) { - return ; - } - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Wrong", - _0: s, - _1: follow, - _2: "no argument" - }, - Error: new Error() - }; - } - }(s,follow)); - var get_arg = (function(s,follow){ - return function get_arg(param) { - if (follow !== undefined) { - return follow; - } - if ((current.contents + 1 | 0) < argv.contents.length) { - return Caml_array.get(argv.contents, current.contents + 1 | 0); - } - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Missing", - _0: s - }, - Error: new Error() - }; - } - }(s,follow)); - var consume_arg = (function(follow){ - return function consume_arg(param) { - if (follow !== undefined) { - return ; - } else { - current.contents = current.contents + 1 | 0; - return ; - } - } - }(follow)); - var treat_action = (function(s){ - return function treat_action(f) { - switch (f.TAG) { - case "Unit" : - return Curry._1(f._0, undefined); - case "Bool" : - var arg = get_arg(); - var s$1 = bool_of_string_opt(arg); - if (s$1 !== undefined) { - Curry._1(f._0, s$1); - } else { - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Wrong", - _0: s, - _1: arg, - _2: "a boolean" - }, - Error: new Error() - }; - } - return consume_arg(); - case "Set" : - no_arg(); - f._0.contents = true; - return ; - case "Clear" : - no_arg(); - f._0.contents = false; - return ; - case "String" : - var arg$1 = get_arg(); - Curry._1(f._0, arg$1); - return consume_arg(); - case "Set_string" : - f._0.contents = get_arg(); - return consume_arg(); - case "Int" : - var arg$2 = get_arg(); - var x = int_of_string_opt(arg$2); - if (x !== undefined) { - Curry._1(f._0, x); - } else { - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Wrong", - _0: s, - _1: arg$2, - _2: "an integer" - }, - Error: new Error() - }; - } - return consume_arg(); - case "Set_int" : - var arg$3 = get_arg(); - var x$1 = int_of_string_opt(arg$3); - if (x$1 !== undefined) { - f._0.contents = x$1; - } else { - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Wrong", - _0: s, - _1: arg$3, - _2: "an integer" - }, - Error: new Error() - }; - } - return consume_arg(); - case "Float" : - var arg$4 = get_arg(); - var x$2 = float_of_string_opt(arg$4); - if (x$2 !== undefined) { - Curry._1(f._0, x$2); - } else { - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Wrong", - _0: s, - _1: arg$4, - _2: "a float" - }, - Error: new Error() - }; - } - return consume_arg(); - case "Set_float" : - var arg$5 = get_arg(); - var x$3 = float_of_string_opt(arg$5); - if (x$3 !== undefined) { - f._0.contents = x$3; - } else { - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Wrong", - _0: s, - _1: arg$5, - _2: "a float" - }, - Error: new Error() - }; - } - return consume_arg(); - case "Tuple" : - return List.iter(treat_action, f._0); - case "Symbol" : - var symb = f._0; - var arg$6 = get_arg(); - if (List.mem(arg$6, symb)) { - Curry._1(f._1, arg$6); - return consume_arg(); - } - throw { - RE_EXN_ID: Stop, - _1: { - TAG: "Wrong", - _0: s, - _1: arg$6, - _2: "one of: " + make_symlist("", " ", "", symb) - }, - Error: new Error() - }; - case "Rest" : - var f$1 = f._0; - while(current.contents < (argv.contents.length - 1 | 0)) { - Curry._1(f$1, Caml_array.get(argv.contents, current.contents + 1 | 0)); - consume_arg(); - }; - return ; - case "Expand" : - if (!allow_expand) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Arg.Expand is is only allowed with Arg.parse_and_expand_argv_dynamic", - Error: new Error() - }; - } - var arg$7 = get_arg(); - var newarg = Curry._1(f._0, arg$7); - consume_arg(); - var before = $$Array.sub(argv.contents, 0, current.contents + 1 | 0); - var after = $$Array.sub(argv.contents, current.contents + 1 | 0, (argv.contents.length - current.contents | 0) - 1 | 0); - argv.contents = Caml_array.concat({ - hd: before, - tl: { - hd: newarg, - tl: { - hd: after, - tl: /* [] */0 - } - } - }); - return ; - - } - } - }(s)); - treat_action(match[0]); - } else { - Curry._1(anonfun, s); - } - } - catch (raw_m){ - var m = Caml_js_exceptions.internalToOCamlException(raw_m); - if (m.RE_EXN_ID === Bad) { - throw convert_error({ - TAG: "Message", - _0: m._1 - }); - } - if (m.RE_EXN_ID === Stop) { - throw convert_error(m._1); - } - throw m; - } - current.contents = current.contents + 1 | 0; - }; -} - -function parse_and_expand_argv_dynamic(current, argv, speclist, anonfun, errmsg) { - parse_and_expand_argv_dynamic_aux(true, current, argv, speclist, anonfun, errmsg); -} - -function parse_argv_dynamic(currentOpt, argv, speclist, anonfun, errmsg) { - var current$1 = currentOpt !== undefined ? currentOpt : current; - parse_and_expand_argv_dynamic_aux(false, current$1, { - contents: argv - }, speclist, anonfun, errmsg); -} - -function parse_argv(currentOpt, argv, speclist, anonfun, errmsg) { - var current$1 = currentOpt !== undefined ? currentOpt : current; - parse_argv_dynamic(current$1, argv, { - contents: speclist - }, anonfun, errmsg); -} - -function parse(l, f, msg) { - try { - return parse_argv(undefined, Sys.argv, l, f, msg); - } - catch (raw_msg){ - var msg$1 = Caml_js_exceptions.internalToOCamlException(raw_msg); - if (msg$1.RE_EXN_ID === Bad) { - console.log(msg$1._1); - return Pervasives.exit(2); - } - if (msg$1.RE_EXN_ID === Help) { - console.log(msg$1._1); - return Pervasives.exit(0); - } - throw msg$1; - } -} - -function parse_dynamic(l, f, msg) { - try { - return parse_argv_dynamic(undefined, Sys.argv, l, f, msg); - } - catch (raw_msg){ - var msg$1 = Caml_js_exceptions.internalToOCamlException(raw_msg); - if (msg$1.RE_EXN_ID === Bad) { - console.log(msg$1._1); - return Pervasives.exit(2); - } - if (msg$1.RE_EXN_ID === Help) { - console.log(msg$1._1); - return Pervasives.exit(0); - } - throw msg$1; - } -} - -function parse_expand(l, f, msg) { - try { - var argv = { - contents: Sys.argv - }; - var spec = { - contents: l - }; - var current$1 = { - contents: current.contents - }; - return parse_and_expand_argv_dynamic(current$1, argv, spec, f, msg); - } - catch (raw_msg){ - var msg$1 = Caml_js_exceptions.internalToOCamlException(raw_msg); - if (msg$1.RE_EXN_ID === Bad) { - console.log(msg$1._1); - return Pervasives.exit(2); - } - if (msg$1.RE_EXN_ID === Help) { - console.log(msg$1._1); - return Pervasives.exit(0); - } - throw msg$1; - } -} - -function second_word(s) { - var len = s.length; - var loop = function (_n) { - while(true) { - var n = _n; - if (n >= len) { - return len; - } - if (Caml_string.get(s, n) !== /* ' ' */32) { - return n; - } - _n = n + 1 | 0; - continue ; - }; - }; - var n; - try { - n = $$String.index(s, /* '\t' */9); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - var exit = 0; - var n$1; - try { - n$1 = $$String.index(s, /* ' ' */32); - exit = 2; - } - catch (raw_exn$1){ - var exn$1 = Caml_js_exceptions.internalToOCamlException(raw_exn$1); - if (exn$1.RE_EXN_ID === "Not_found") { - return len; - } - throw exn$1; - } - if (exit === 2) { - return loop(n$1 + 1 | 0); - } - - } else { - throw exn; - } - } - return loop(n + 1 | 0); -} - -function max_arg_len(cur, param) { - var kwd = param[0]; - if (param[1].TAG === "Symbol") { - return Caml.int_max(cur, kwd.length); - } else { - return Caml.int_max(cur, kwd.length + second_word(param[2]) | 0); - } -} - -function replace_leading_tab(s) { - var seen = { - contents: false - }; - return $$String.map((function (c) { - if (c !== 9 || seen.contents) { - return c; - } else { - seen.contents = true; - return /* ' ' */32; - } - }), s); -} - -function align(limitOpt, speclist) { - var limit = limitOpt !== undefined ? limitOpt : Pervasives.max_int; - var completed = add_help(speclist); - var len = List.fold_left(max_arg_len, 0, completed); - var len$1 = len < limit ? len : limit; - return List.map((function (param) { - var spec = param[1]; - var kwd = param[0]; - if (param[2] === "") { - return param; - } - if (spec.TAG === "Symbol") { - var msg = param[2]; - var cutcol = second_word(msg); - var spaces = " ".repeat(Caml.int_max(0, len$1 - cutcol | 0) + 3 | 0); - return [ - kwd, - spec, - "\n" + (spaces + replace_leading_tab(msg)) - ]; - } - var msg$1 = param[2]; - var cutcol$1 = second_word(msg$1); - var kwd_len = kwd.length; - var diff = (len$1 - kwd_len | 0) - cutcol$1 | 0; - if (diff <= 0) { - return [ - kwd, - spec, - replace_leading_tab(msg$1) - ]; - } - var spaces$1 = " ".repeat(diff); - var prefix = $$String.sub(replace_leading_tab(msg$1), 0, cutcol$1); - var suffix = $$String.sub(msg$1, cutcol$1, msg$1.length - cutcol$1 | 0); - return [ - kwd, - spec, - prefix + (spaces$1 + suffix) - ]; - }), completed); -} - -export { - parse , - parse_dynamic , - parse_argv , - parse_argv_dynamic , - parse_and_expand_argv_dynamic , - parse_expand , - Help , - Bad , - usage , - usage_string , - align , - current , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/array.js b/bots/sustainabot/bot-integration/rescript-runtime/array.js deleted file mode 100644 index a471786..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/array.js +++ /dev/null @@ -1,511 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_obj from "./caml_obj.js"; -import * as Caml_array from "./caml_array.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -var make_float = Caml_array.make_float; - -var Floatarray = {}; - -function init(l, f) { - if (l === 0) { - return []; - } - if (l < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.init", - Error: new Error() - }; - } - var res = Caml_array.make(l, Curry._1(f, 0)); - for(var i = 1; i < l; ++i){ - res[i] = Curry._1(f, i); - } - return res; -} - -function make_matrix(sx, sy, init) { - var res = Caml_array.make(sx, []); - for(var x = 0; x < sx; ++x){ - res[x] = Caml_array.make(sy, init); - } - return res; -} - -function copy(a) { - var l = a.length; - if (l === 0) { - return []; - } else { - return Caml_array.sub(a, 0, l); - } -} - -function append(a1, a2) { - var l1 = a1.length; - if (l1 === 0) { - return copy(a2); - } else if (a2.length === 0) { - return Caml_array.sub(a1, 0, l1); - } else { - return a1.concat(a2); - } -} - -function sub(a, ofs, len) { - if (ofs < 0 || len < 0 || ofs > (a.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.sub", - Error: new Error() - }; - } - return Caml_array.sub(a, ofs, len); -} - -function fill(a, ofs, len, v) { - if (ofs < 0 || len < 0 || ofs > (a.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.fill", - Error: new Error() - }; - } - for(var i = ofs ,i_finish = ofs + len | 0; i < i_finish; ++i){ - a[i] = v; - } -} - -function blit(a1, ofs1, a2, ofs2, len) { - if (len < 0 || ofs1 < 0 || ofs1 > (a1.length - len | 0) || ofs2 < 0 || ofs2 > (a2.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.blit", - Error: new Error() - }; - } - Caml_array.blit(a1, ofs1, a2, ofs2, len); -} - -function iter(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._1(f, a[i]); - } -} - -function iter2(f, a, b) { - if (a.length !== b.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.iter2: arrays must have the same length", - Error: new Error() - }; - } - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._2(f, a[i], b[i]); - } -} - -function map(f, a) { - var l = a.length; - if (l === 0) { - return []; - } - var r = Caml_array.make(l, Curry._1(f, a[0])); - for(var i = 1; i < l; ++i){ - r[i] = Curry._1(f, a[i]); - } - return r; -} - -function map2(f, a, b) { - var la = a.length; - var lb = b.length; - if (la !== lb) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.map2: arrays must have the same length", - Error: new Error() - }; - } - if (la === 0) { - return []; - } - var r = Caml_array.make(la, Curry._2(f, a[0], b[0])); - for(var i = 1; i < la; ++i){ - r[i] = Curry._2(f, a[i], b[i]); - } - return r; -} - -function iteri(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._2(f, i, a[i]); - } -} - -function mapi(f, a) { - var l = a.length; - if (l === 0) { - return []; - } - var r = Caml_array.make(l, Curry._2(f, 0, a[0])); - for(var i = 1; i < l; ++i){ - r[i] = Curry._2(f, i, a[i]); - } - return r; -} - -function to_list(a) { - var _i = a.length - 1 | 0; - var _res = /* [] */0; - while(true) { - var res = _res; - var i = _i; - if (i < 0) { - return res; - } - _res = { - hd: a[i], - tl: res - }; - _i = i - 1 | 0; - continue ; - }; -} - -function list_length(_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (!param) { - return accu; - } - _param = param.tl; - _accu = accu + 1 | 0; - continue ; - }; -} - -function of_list(param) { - if (!param) { - return []; - } - var a = Caml_array.make(list_length(0, param), param.hd); - var _i = 1; - var _param = param.tl; - while(true) { - var param$1 = _param; - var i = _i; - if (!param$1) { - return a; - } - a[i] = param$1.hd; - _param = param$1.tl; - _i = i + 1 | 0; - continue ; - }; -} - -function fold_left(f, x, a) { - var r = x; - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - r = Curry._2(f, r, a[i]); - } - return r; -} - -function fold_right(f, a, x) { - var r = x; - for(var i = a.length - 1 | 0; i >= 0; --i){ - r = Curry._2(f, a[i], r); - } - return r; -} - -function exists(p, a) { - var n = a.length; - var _i = 0; - while(true) { - var i = _i; - if (i === n) { - return false; - } - if (Curry._1(p, a[i])) { - return true; - } - _i = i + 1 | 0; - continue ; - }; -} - -function for_all(p, a) { - var n = a.length; - var _i = 0; - while(true) { - var i = _i; - if (i === n) { - return true; - } - if (!Curry._1(p, a[i])) { - return false; - } - _i = i + 1 | 0; - continue ; - }; -} - -function mem(x, a) { - var n = a.length; - var _i = 0; - while(true) { - var i = _i; - if (i === n) { - return false; - } - if (Caml_obj.equal(a[i], x)) { - return true; - } - _i = i + 1 | 0; - continue ; - }; -} - -function memq(x, a) { - var n = a.length; - var _i = 0; - while(true) { - var i = _i; - if (i === n) { - return false; - } - if (x === a[i]) { - return true; - } - _i = i + 1 | 0; - continue ; - }; -} - -var Bottom = /* @__PURE__ */Caml_exceptions.create("Array.Bottom"); - -function sort(cmp, a) { - var maxson = function (l, i) { - var i31 = ((i + i | 0) + i | 0) + 1 | 0; - var x = i31; - if ((i31 + 2 | 0) < l) { - if (Curry._2(cmp, Caml_array.get(a, i31), Caml_array.get(a, i31 + 1 | 0)) < 0) { - x = i31 + 1 | 0; - } - if (Curry._2(cmp, Caml_array.get(a, x), Caml_array.get(a, i31 + 2 | 0)) < 0) { - x = i31 + 2 | 0; - } - return x; - } - if ((i31 + 1 | 0) < l && Curry._2(cmp, Caml_array.get(a, i31), Caml_array.get(a, i31 + 1 | 0)) < 0) { - return i31 + 1 | 0; - } - if (i31 < l) { - return i31; - } - throw { - RE_EXN_ID: Bottom, - _1: i, - Error: new Error() - }; - }; - var trickle = function (l, i, e) { - try { - var _i = i; - while(true) { - var i$1 = _i; - var j = maxson(l, i$1); - if (Curry._2(cmp, Caml_array.get(a, j), e) <= 0) { - return Caml_array.set(a, i$1, e); - } - Caml_array.set(a, i$1, Caml_array.get(a, j)); - _i = j; - continue ; - }; - } - catch (raw_i){ - var i$2 = Caml_js_exceptions.internalToOCamlException(raw_i); - if (i$2.RE_EXN_ID === Bottom) { - return Caml_array.set(a, i$2._1, e); - } - throw i$2; - } - }; - var bubble = function (l, i) { - try { - var _i = i; - while(true) { - var i$1 = _i; - var j = maxson(l, i$1); - Caml_array.set(a, i$1, Caml_array.get(a, j)); - _i = j; - continue ; - }; - } - catch (raw_i){ - var i$2 = Caml_js_exceptions.internalToOCamlException(raw_i); - if (i$2.RE_EXN_ID === Bottom) { - return i$2._1; - } - throw i$2; - } - }; - var trickleup = function (_i, e) { - while(true) { - var i = _i; - var father = (i - 1 | 0) / 3 | 0; - if (i === father) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "array.res", - 321, - 4 - ], - Error: new Error() - }; - } - if (Curry._2(cmp, Caml_array.get(a, father), e) >= 0) { - return Caml_array.set(a, i, e); - } - Caml_array.set(a, i, Caml_array.get(a, father)); - if (father <= 0) { - return Caml_array.set(a, 0, e); - } - _i = father; - continue ; - }; - }; - var l = a.length; - for(var i = ((l + 1 | 0) / 3 | 0) - 1 | 0; i >= 0; --i){ - trickle(l, i, Caml_array.get(a, i)); - } - for(var i$1 = l - 1 | 0; i$1 >= 2; --i$1){ - var e = Caml_array.get(a, i$1); - Caml_array.set(a, i$1, Caml_array.get(a, 0)); - trickleup(bubble(i$1, 0), e); - } - if (l <= 1) { - return ; - } - var e$1 = Caml_array.get(a, 1); - Caml_array.set(a, 1, Caml_array.get(a, 0)); - Caml_array.set(a, 0, e$1); -} - -function stable_sort(cmp, a) { - var merge = function (src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = Caml_array.get(a, src1ofs); - var _i2 = src2ofs; - var _s2 = Caml_array.get(src2, src2ofs); - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (Curry._2(cmp, s1, s2) <= 0) { - Caml_array.set(dst, d, s1); - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return blit(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); - } - _d = d + 1 | 0; - _s1 = Caml_array.get(a, i1$1); - _i1 = i1$1; - continue ; - } - Caml_array.set(dst, d, s2); - var i2$1 = i2 + 1 | 0; - if (i2$1 >= src2r) { - return blit(a, i1, dst, d + 1 | 0, src1r - i1 | 0); - } - _d = d + 1 | 0; - _s2 = Caml_array.get(src2, i2$1); - _i2 = i2$1; - continue ; - }; - }; - var isortto = function (srcofs, dst, dstofs, len) { - for(var i = 0; i < len; ++i){ - var e = Caml_array.get(a, srcofs + i | 0); - var j = (dstofs + i | 0) - 1 | 0; - while(j >= dstofs && Curry._2(cmp, Caml_array.get(dst, j), e) > 0) { - Caml_array.set(dst, j + 1 | 0, Caml_array.get(dst, j)); - j = j - 1 | 0; - }; - Caml_array.set(dst, j + 1 | 0, e); - } - }; - var sortto = function (srcofs, dst, dstofs, len) { - if (len <= 5) { - return isortto(srcofs, dst, dstofs, len); - } - var l1 = len / 2 | 0; - var l2 = len - l1 | 0; - sortto(srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); - sortto(srcofs, a, srcofs + l2 | 0, l1); - merge(srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs); - }; - var l = a.length; - if (l <= 5) { - return isortto(0, a, 0, l); - } - var l1 = l / 2 | 0; - var l2 = l - l1 | 0; - var t = Caml_array.make(l2, Caml_array.get(a, 0)); - sortto(l1, t, 0, l2); - sortto(0, a, l2, l1); - merge(l2, l1, t, 0, l2, a, 0); -} - -var create_matrix = make_matrix; - -var concat = Caml_array.concat; - -var fast_sort = stable_sort; - -export { - make_float , - init , - make_matrix , - create_matrix , - append , - concat , - sub , - copy , - fill , - blit , - to_list , - of_list , - iter , - iteri , - map , - mapi , - fold_left , - fold_right , - iter2 , - map2 , - for_all , - exists , - mem , - memq , - sort , - stable_sort , - fast_sort , - Floatarray , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/arrayLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/arrayLabels.js deleted file mode 100644 index 6b2e0e4..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/arrayLabels.js +++ /dev/null @@ -1,511 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_obj from "./caml_obj.js"; -import * as Caml_array from "./caml_array.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -var make_float = Caml_array.make_float; - -var Floatarray = {}; - -function init(l, f) { - if (l === 0) { - return []; - } - if (l < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.init", - Error: new Error() - }; - } - var res = Caml_array.make(l, Curry._1(f, 0)); - for(var i = 1; i < l; ++i){ - res[i] = Curry._1(f, i); - } - return res; -} - -function make_matrix(sx, sy, init) { - var res = Caml_array.make(sx, []); - for(var x = 0; x < sx; ++x){ - res[x] = Caml_array.make(sy, init); - } - return res; -} - -function copy(a) { - var l = a.length; - if (l === 0) { - return []; - } else { - return Caml_array.sub(a, 0, l); - } -} - -function append(a1, a2) { - var l1 = a1.length; - if (l1 === 0) { - return copy(a2); - } else if (a2.length === 0) { - return Caml_array.sub(a1, 0, l1); - } else { - return a1.concat(a2); - } -} - -function sub(a, ofs, len) { - if (ofs < 0 || len < 0 || ofs > (a.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.sub", - Error: new Error() - }; - } - return Caml_array.sub(a, ofs, len); -} - -function fill(a, ofs, len, v) { - if (ofs < 0 || len < 0 || ofs > (a.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.fill", - Error: new Error() - }; - } - for(var i = ofs ,i_finish = ofs + len | 0; i < i_finish; ++i){ - a[i] = v; - } -} - -function blit(a1, ofs1, a2, ofs2, len) { - if (len < 0 || ofs1 < 0 || ofs1 > (a1.length - len | 0) || ofs2 < 0 || ofs2 > (a2.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.blit", - Error: new Error() - }; - } - Caml_array.blit(a1, ofs1, a2, ofs2, len); -} - -function iter(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._1(f, a[i]); - } -} - -function iter2(f, a, b) { - if (a.length !== b.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.iter2: arrays must have the same length", - Error: new Error() - }; - } - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._2(f, a[i], b[i]); - } -} - -function map(f, a) { - var l = a.length; - if (l === 0) { - return []; - } - var r = Caml_array.make(l, Curry._1(f, a[0])); - for(var i = 1; i < l; ++i){ - r[i] = Curry._1(f, a[i]); - } - return r; -} - -function map2(f, a, b) { - var la = a.length; - var lb = b.length; - if (la !== lb) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Array.map2: arrays must have the same length", - Error: new Error() - }; - } - if (la === 0) { - return []; - } - var r = Caml_array.make(la, Curry._2(f, a[0], b[0])); - for(var i = 1; i < la; ++i){ - r[i] = Curry._2(f, a[i], b[i]); - } - return r; -} - -function iteri(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._2(f, i, a[i]); - } -} - -function mapi(f, a) { - var l = a.length; - if (l === 0) { - return []; - } - var r = Caml_array.make(l, Curry._2(f, 0, a[0])); - for(var i = 1; i < l; ++i){ - r[i] = Curry._2(f, i, a[i]); - } - return r; -} - -function to_list(a) { - var _i = a.length - 1 | 0; - var _res = /* [] */0; - while(true) { - var res = _res; - var i = _i; - if (i < 0) { - return res; - } - _res = { - hd: a[i], - tl: res - }; - _i = i - 1 | 0; - continue ; - }; -} - -function list_length(_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (!param) { - return accu; - } - _param = param.tl; - _accu = accu + 1 | 0; - continue ; - }; -} - -function of_list(param) { - if (!param) { - return []; - } - var a = Caml_array.make(list_length(0, param), param.hd); - var _i = 1; - var _param = param.tl; - while(true) { - var param$1 = _param; - var i = _i; - if (!param$1) { - return a; - } - a[i] = param$1.hd; - _param = param$1.tl; - _i = i + 1 | 0; - continue ; - }; -} - -function fold_left(f, x, a) { - var r = x; - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - r = Curry._2(f, r, a[i]); - } - return r; -} - -function fold_right(f, a, x) { - var r = x; - for(var i = a.length - 1 | 0; i >= 0; --i){ - r = Curry._2(f, a[i], r); - } - return r; -} - -function exists(p, a) { - var n = a.length; - var _i = 0; - while(true) { - var i = _i; - if (i === n) { - return false; - } - if (Curry._1(p, a[i])) { - return true; - } - _i = i + 1 | 0; - continue ; - }; -} - -function for_all(p, a) { - var n = a.length; - var _i = 0; - while(true) { - var i = _i; - if (i === n) { - return true; - } - if (!Curry._1(p, a[i])) { - return false; - } - _i = i + 1 | 0; - continue ; - }; -} - -function mem(x, a) { - var n = a.length; - var _i = 0; - while(true) { - var i = _i; - if (i === n) { - return false; - } - if (Caml_obj.equal(a[i], x)) { - return true; - } - _i = i + 1 | 0; - continue ; - }; -} - -function memq(x, a) { - var n = a.length; - var _i = 0; - while(true) { - var i = _i; - if (i === n) { - return false; - } - if (x === a[i]) { - return true; - } - _i = i + 1 | 0; - continue ; - }; -} - -var Bottom = /* @__PURE__ */Caml_exceptions.create("ArrayLabels.Bottom"); - -function sort(cmp, a) { - var maxson = function (l, i) { - var i31 = ((i + i | 0) + i | 0) + 1 | 0; - var x = i31; - if ((i31 + 2 | 0) < l) { - if (Curry._2(cmp, Caml_array.get(a, i31), Caml_array.get(a, i31 + 1 | 0)) < 0) { - x = i31 + 1 | 0; - } - if (Curry._2(cmp, Caml_array.get(a, x), Caml_array.get(a, i31 + 2 | 0)) < 0) { - x = i31 + 2 | 0; - } - return x; - } - if ((i31 + 1 | 0) < l && Curry._2(cmp, Caml_array.get(a, i31), Caml_array.get(a, i31 + 1 | 0)) < 0) { - return i31 + 1 | 0; - } - if (i31 < l) { - return i31; - } - throw { - RE_EXN_ID: Bottom, - _1: i, - Error: new Error() - }; - }; - var trickle = function (l, i, e) { - try { - var _i = i; - while(true) { - var i$1 = _i; - var j = maxson(l, i$1); - if (Curry._2(cmp, Caml_array.get(a, j), e) <= 0) { - return Caml_array.set(a, i$1, e); - } - Caml_array.set(a, i$1, Caml_array.get(a, j)); - _i = j; - continue ; - }; - } - catch (raw_i){ - var i$2 = Caml_js_exceptions.internalToOCamlException(raw_i); - if (i$2.RE_EXN_ID === Bottom) { - return Caml_array.set(a, i$2._1, e); - } - throw i$2; - } - }; - var bubble = function (l, i) { - try { - var _i = i; - while(true) { - var i$1 = _i; - var j = maxson(l, i$1); - Caml_array.set(a, i$1, Caml_array.get(a, j)); - _i = j; - continue ; - }; - } - catch (raw_i){ - var i$2 = Caml_js_exceptions.internalToOCamlException(raw_i); - if (i$2.RE_EXN_ID === Bottom) { - return i$2._1; - } - throw i$2; - } - }; - var trickleup = function (_i, e) { - while(true) { - var i = _i; - var father = (i - 1 | 0) / 3 | 0; - if (i === father) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "arrayLabels.res", - 321, - 4 - ], - Error: new Error() - }; - } - if (Curry._2(cmp, Caml_array.get(a, father), e) >= 0) { - return Caml_array.set(a, i, e); - } - Caml_array.set(a, i, Caml_array.get(a, father)); - if (father <= 0) { - return Caml_array.set(a, 0, e); - } - _i = father; - continue ; - }; - }; - var l = a.length; - for(var i = ((l + 1 | 0) / 3 | 0) - 1 | 0; i >= 0; --i){ - trickle(l, i, Caml_array.get(a, i)); - } - for(var i$1 = l - 1 | 0; i$1 >= 2; --i$1){ - var e = Caml_array.get(a, i$1); - Caml_array.set(a, i$1, Caml_array.get(a, 0)); - trickleup(bubble(i$1, 0), e); - } - if (l <= 1) { - return ; - } - var e$1 = Caml_array.get(a, 1); - Caml_array.set(a, 1, Caml_array.get(a, 0)); - Caml_array.set(a, 0, e$1); -} - -function stable_sort(cmp, a) { - var merge = function (src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = Caml_array.get(a, src1ofs); - var _i2 = src2ofs; - var _s2 = Caml_array.get(src2, src2ofs); - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (Curry._2(cmp, s1, s2) <= 0) { - Caml_array.set(dst, d, s1); - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return blit(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); - } - _d = d + 1 | 0; - _s1 = Caml_array.get(a, i1$1); - _i1 = i1$1; - continue ; - } - Caml_array.set(dst, d, s2); - var i2$1 = i2 + 1 | 0; - if (i2$1 >= src2r) { - return blit(a, i1, dst, d + 1 | 0, src1r - i1 | 0); - } - _d = d + 1 | 0; - _s2 = Caml_array.get(src2, i2$1); - _i2 = i2$1; - continue ; - }; - }; - var isortto = function (srcofs, dst, dstofs, len) { - for(var i = 0; i < len; ++i){ - var e = Caml_array.get(a, srcofs + i | 0); - var j = (dstofs + i | 0) - 1 | 0; - while(j >= dstofs && Curry._2(cmp, Caml_array.get(dst, j), e) > 0) { - Caml_array.set(dst, j + 1 | 0, Caml_array.get(dst, j)); - j = j - 1 | 0; - }; - Caml_array.set(dst, j + 1 | 0, e); - } - }; - var sortto = function (srcofs, dst, dstofs, len) { - if (len <= 5) { - return isortto(srcofs, dst, dstofs, len); - } - var l1 = len / 2 | 0; - var l2 = len - l1 | 0; - sortto(srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); - sortto(srcofs, a, srcofs + l2 | 0, l1); - merge(srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs); - }; - var l = a.length; - if (l <= 5) { - return isortto(0, a, 0, l); - } - var l1 = l / 2 | 0; - var l2 = l - l1 | 0; - var t = Caml_array.make(l2, Caml_array.get(a, 0)); - sortto(l1, t, 0, l2); - sortto(0, a, l2, l1); - merge(l2, l1, t, 0, l2, a, 0); -} - -var create_matrix = make_matrix; - -var concat = Caml_array.concat; - -var fast_sort = stable_sort; - -export { - init , - make_matrix , - create_matrix , - append , - concat , - sub , - copy , - fill , - blit , - to_list , - of_list , - iter , - map , - iteri , - mapi , - fold_left , - fold_right , - iter2 , - map2 , - exists , - for_all , - mem , - memq , - make_float , - sort , - stable_sort , - fast_sort , - Floatarray , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt.js deleted file mode 100644 index 84802e8..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt.js +++ /dev/null @@ -1,57 +0,0 @@ - - - -var Id; - -var $$Array; - -var SortArray; - -var MutableQueue; - -var MutableStack; - -var List; - -var $$Range; - -var $$Set; - -var $$Map; - -var MutableSet; - -var MutableMap; - -var HashSet; - -var HashMap; - -var $$Option; - -var Result; - -var Int; - -var Float; - -export { - Id , - $$Array , - SortArray , - MutableQueue , - MutableStack , - List , - $$Range , - $$Set , - $$Map , - MutableSet , - MutableMap , - HashSet , - HashMap , - $$Option , - Result , - Int , - Float , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Array.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Array.js deleted file mode 100644 index 899f399..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Array.js +++ /dev/null @@ -1,764 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Curry from "./curry.js"; -import * as Js_math from "./js_math.js"; -import * as Caml_option from "./caml_option.js"; - -function get(arr, i) { - if (i >= 0 && i < arr.length) { - return Caml_option.some(arr[i]); - } - -} - -function getExn(arr, i) { - if (!(i >= 0 && i < arr.length)) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "belt_Array.res", - 36, - 2 - ], - Error: new Error() - }; - } - return arr[i]; -} - -function set(arr, i, v) { - if (i >= 0 && i < arr.length) { - arr[i] = v; - return true; - } else { - return false; - } -} - -function setExn(arr, i, v) { - if (!(i >= 0 && i < arr.length)) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "belt_Array.res", - 49, - 2 - ], - Error: new Error() - }; - } - arr[i] = v; -} - -function swapUnsafe(xs, i, j) { - var tmp = xs[i]; - xs[i] = xs[j]; - xs[j] = tmp; -} - -function shuffleInPlace(xs) { - var len = xs.length; - for(var i = 0; i < len; ++i){ - swapUnsafe(xs, i, Js_math.random_int(i, len)); - } -} - -function shuffle(xs) { - var result = xs.slice(0); - shuffleInPlace(result); - return result; -} - -function reverseInPlace(xs) { - var len = xs.length; - var ofs = 0; - for(var i = 0 ,i_finish = len / 2 | 0; i < i_finish; ++i){ - swapUnsafe(xs, ofs + i | 0, ((ofs + len | 0) - i | 0) - 1 | 0); - } -} - -function reverse(xs) { - var len = xs.length; - var result = new Array(len); - for(var i = 0; i < len; ++i){ - result[i] = xs[(len - 1 | 0) - i | 0]; - } - return result; -} - -function make(l, f) { - if (l <= 0) { - return []; - } - var res = new Array(l); - for(var i = 0; i < l; ++i){ - res[i] = f; - } - return res; -} - -function makeByU(l, f) { - if (l <= 0) { - return []; - } - var res = new Array(l); - for(var i = 0; i < l; ++i){ - res[i] = f(i); - } - return res; -} - -function makeBy(l, f) { - return makeByU(l, Curry.__1(f)); -} - -function makeByAndShuffleU(l, f) { - var u = makeByU(l, f); - shuffleInPlace(u); - return u; -} - -function makeByAndShuffle(l, f) { - return makeByAndShuffleU(l, Curry.__1(f)); -} - -function range(start, finish) { - var cut = finish - start | 0; - if (cut < 0) { - return []; - } - var arr = new Array(cut + 1 | 0); - for(var i = 0; i <= cut; ++i){ - arr[i] = start + i | 0; - } - return arr; -} - -function rangeBy(start, finish, step) { - var cut = finish - start | 0; - if (cut < 0 || step <= 0) { - return []; - } - var nb = (cut / step | 0) + 1 | 0; - var arr = new Array(nb); - var cur = start; - for(var i = 0; i < nb; ++i){ - arr[i] = cur; - cur = cur + step | 0; - } - return arr; -} - -function zip(xs, ys) { - var lenx = xs.length; - var leny = ys.length; - var len = lenx < leny ? lenx : leny; - var s = new Array(len); - for(var i = 0; i < len; ++i){ - s[i] = [ - xs[i], - ys[i] - ]; - } - return s; -} - -function zipByU(xs, ys, f) { - var lenx = xs.length; - var leny = ys.length; - var len = lenx < leny ? lenx : leny; - var s = new Array(len); - for(var i = 0; i < len; ++i){ - s[i] = f(xs[i], ys[i]); - } - return s; -} - -function zipBy(xs, ys, f) { - return zipByU(xs, ys, Curry.__2(f)); -} - -function concat(a1, a2) { - var l1 = a1.length; - var l2 = a2.length; - var a1a2 = new Array(l1 + l2 | 0); - for(var i = 0; i < l1; ++i){ - a1a2[i] = a1[i]; - } - for(var i$1 = 0; i$1 < l2; ++i$1){ - a1a2[l1 + i$1 | 0] = a2[i$1]; - } - return a1a2; -} - -function concatMany(arrs) { - var lenArrs = arrs.length; - var totalLen = 0; - for(var i = 0; i < lenArrs; ++i){ - totalLen = totalLen + arrs[i].length | 0; - } - var result = new Array(totalLen); - totalLen = 0; - for(var j = 0; j < lenArrs; ++j){ - var cur = arrs[j]; - for(var k = 0 ,k_finish = cur.length; k < k_finish; ++k){ - result[totalLen] = cur[k]; - totalLen = totalLen + 1 | 0; - } - } - return result; -} - -function slice(a, offset, len) { - if (len <= 0) { - return []; - } - var lena = a.length; - var ofs = offset < 0 ? Caml.int_max(lena + offset | 0, 0) : offset; - var hasLen = lena - ofs | 0; - var copyLength = hasLen < len ? hasLen : len; - if (copyLength <= 0) { - return []; - } - var result = new Array(copyLength); - for(var i = 0; i < copyLength; ++i){ - result[i] = a[ofs + i | 0]; - } - return result; -} - -function sliceToEnd(a, offset) { - var lena = a.length; - var ofs = offset < 0 ? Caml.int_max(lena + offset | 0, 0) : offset; - var len = lena > ofs ? lena - ofs | 0 : 0; - var result = new Array(len); - for(var i = 0; i < len; ++i){ - result[i] = a[ofs + i | 0]; - } - return result; -} - -function fill(a, offset, len, v) { - if (len <= 0) { - return ; - } - var lena = a.length; - var ofs = offset < 0 ? Caml.int_max(lena + offset | 0, 0) : offset; - var hasLen = lena - ofs | 0; - var fillLength = hasLen < len ? hasLen : len; - if (fillLength <= 0) { - return ; - } - for(var i = ofs ,i_finish = ofs + fillLength | 0; i < i_finish; ++i){ - a[i] = v; - } -} - -function blitUnsafe(a1, srcofs1, a2, srcofs2, blitLength) { - if (srcofs2 <= srcofs1) { - for(var j = 0; j < blitLength; ++j){ - a2[j + srcofs2 | 0] = a1[j + srcofs1 | 0]; - } - return ; - } - for(var j$1 = blitLength - 1 | 0; j$1 >= 0; --j$1){ - a2[j$1 + srcofs2 | 0] = a1[j$1 + srcofs1 | 0]; - } -} - -function blit(a1, ofs1, a2, ofs2, len) { - var lena1 = a1.length; - var lena2 = a2.length; - var srcofs1 = ofs1 < 0 ? Caml.int_max(lena1 + ofs1 | 0, 0) : ofs1; - var srcofs2 = ofs2 < 0 ? Caml.int_max(lena2 + ofs2 | 0, 0) : ofs2; - var blitLength = Caml.int_min(len, Caml.int_min(lena1 - srcofs1 | 0, lena2 - srcofs2 | 0)); - if (srcofs2 <= srcofs1) { - for(var j = 0; j < blitLength; ++j){ - a2[j + srcofs2 | 0] = a1[j + srcofs1 | 0]; - } - return ; - } - for(var j$1 = blitLength - 1 | 0; j$1 >= 0; --j$1){ - a2[j$1 + srcofs2 | 0] = a1[j$1 + srcofs1 | 0]; - } -} - -function forEachU(a, f) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - f(a[i]); - } -} - -function forEach(a, f) { - forEachU(a, Curry.__1(f)); -} - -function mapU(a, f) { - var l = a.length; - var r = new Array(l); - for(var i = 0; i < l; ++i){ - r[i] = f(a[i]); - } - return r; -} - -function map(a, f) { - return mapU(a, Curry.__1(f)); -} - -function flatMapU(a, f) { - return concatMany(mapU(a, f)); -} - -function flatMap(a, f) { - return concatMany(mapU(a, Curry.__1(f))); -} - -function getByU(a, p) { - var l = a.length; - var i = 0; - var r; - while(r === undefined && i < l) { - var v = a[i]; - if (p(v)) { - r = Caml_option.some(v); - } - i = i + 1 | 0; - }; - return r; -} - -function getBy(a, p) { - return getByU(a, Curry.__1(p)); -} - -function getIndexByU(a, p) { - var l = a.length; - var i = 0; - var r; - while(r === undefined && i < l) { - var v = a[i]; - if (p(v)) { - r = i; - } - i = i + 1 | 0; - }; - return r; -} - -function getIndexBy(a, p) { - return getIndexByU(a, Curry.__1(p)); -} - -function keepU(a, f) { - var l = a.length; - var r = new Array(l); - var j = 0; - for(var i = 0; i < l; ++i){ - var v = a[i]; - if (f(v)) { - r[j] = v; - j = j + 1 | 0; - } - - } - r.length = j; - return r; -} - -function keep(a, f) { - return keepU(a, Curry.__1(f)); -} - -function keepWithIndexU(a, f) { - var l = a.length; - var r = new Array(l); - var j = 0; - for(var i = 0; i < l; ++i){ - var v = a[i]; - if (f(v, i)) { - r[j] = v; - j = j + 1 | 0; - } - - } - r.length = j; - return r; -} - -function keepWithIndex(a, f) { - return keepWithIndexU(a, Curry.__2(f)); -} - -function keepMapU(a, f) { - var l = a.length; - var r = new Array(l); - var j = 0; - for(var i = 0; i < l; ++i){ - var v = a[i]; - var v$1 = f(v); - if (v$1 !== undefined) { - r[j] = Caml_option.valFromOption(v$1); - j = j + 1 | 0; - } - - } - r.length = j; - return r; -} - -function keepMap(a, f) { - return keepMapU(a, Curry.__1(f)); -} - -function forEachWithIndexU(a, f) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - f(i, a[i]); - } -} - -function forEachWithIndex(a, f) { - forEachWithIndexU(a, Curry.__2(f)); -} - -function mapWithIndexU(a, f) { - var l = a.length; - var r = new Array(l); - for(var i = 0; i < l; ++i){ - r[i] = f(i, a[i]); - } - return r; -} - -function mapWithIndex(a, f) { - return mapWithIndexU(a, Curry.__2(f)); -} - -function reduceU(a, x, f) { - var r = x; - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - r = f(r, a[i]); - } - return r; -} - -function reduce(a, x, f) { - return reduceU(a, x, Curry.__2(f)); -} - -function reduceReverseU(a, x, f) { - var r = x; - for(var i = a.length - 1 | 0; i >= 0; --i){ - r = f(r, a[i]); - } - return r; -} - -function reduceReverse(a, x, f) { - return reduceReverseU(a, x, Curry.__2(f)); -} - -function reduceReverse2U(a, b, x, f) { - var r = x; - var len = Caml.int_min(a.length, b.length); - for(var i = len - 1 | 0; i >= 0; --i){ - r = f(r, a[i], b[i]); - } - return r; -} - -function reduceReverse2(a, b, x, f) { - return reduceReverse2U(a, b, x, Curry.__3(f)); -} - -function reduceWithIndexU(a, x, f) { - var r = x; - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - r = f(r, a[i], i); - } - return r; -} - -function reduceWithIndex(a, x, f) { - return reduceWithIndexU(a, x, Curry.__3(f)); -} - -function everyU(arr, b) { - var len = arr.length; - var _i = 0; - while(true) { - var i = _i; - if (i === len) { - return true; - } - if (!b(arr[i])) { - return false; - } - _i = i + 1 | 0; - continue ; - }; -} - -function every(arr, f) { - return everyU(arr, Curry.__1(f)); -} - -function someU(arr, b) { - var len = arr.length; - var _i = 0; - while(true) { - var i = _i; - if (i === len) { - return false; - } - if (b(arr[i])) { - return true; - } - _i = i + 1 | 0; - continue ; - }; -} - -function some(arr, f) { - return someU(arr, Curry.__1(f)); -} - -function everyAux2(arr1, arr2, _i, b, len) { - while(true) { - var i = _i; - if (i === len) { - return true; - } - if (!b(arr1[i], arr2[i])) { - return false; - } - _i = i + 1 | 0; - continue ; - }; -} - -function every2U(a, b, p) { - return everyAux2(a, b, 0, p, Caml.int_min(a.length, b.length)); -} - -function every2(a, b, p) { - return every2U(a, b, Curry.__2(p)); -} - -function some2U(a, b, p) { - var _i = 0; - var len = Caml.int_min(a.length, b.length); - while(true) { - var i = _i; - if (i === len) { - return false; - } - if (p(a[i], b[i])) { - return true; - } - _i = i + 1 | 0; - continue ; - }; -} - -function some2(a, b, p) { - return some2U(a, b, Curry.__2(p)); -} - -function eqU(a, b, p) { - var lena = a.length; - var lenb = b.length; - if (lena === lenb) { - return everyAux2(a, b, 0, p, lena); - } else { - return false; - } -} - -function eq(a, b, p) { - return eqU(a, b, Curry.__2(p)); -} - -function cmpU(a, b, p) { - var lena = a.length; - var lenb = b.length; - if (lena > lenb) { - return 1; - } else if (lena < lenb) { - return -1; - } else { - var _i = 0; - while(true) { - var i = _i; - if (i === lena) { - return 0; - } - var c = p(a[i], b[i]); - if (c !== 0) { - return c; - } - _i = i + 1 | 0; - continue ; - }; - } -} - -function cmp(a, b, p) { - return cmpU(a, b, Curry.__2(p)); -} - -function partitionU(a, f) { - var l = a.length; - var i = 0; - var j = 0; - var a1 = new Array(l); - var a2 = new Array(l); - for(var ii = 0; ii < l; ++ii){ - var v = a[ii]; - if (f(v)) { - a1[i] = v; - i = i + 1 | 0; - } else { - a2[j] = v; - j = j + 1 | 0; - } - } - a1.length = i; - a2.length = j; - return [ - a1, - a2 - ]; -} - -function partition(a, f) { - return partitionU(a, Curry.__1(f)); -} - -function unzip(a) { - var l = a.length; - var a1 = new Array(l); - var a2 = new Array(l); - for(var i = 0; i < l; ++i){ - var match = a[i]; - a1[i] = match[0]; - a2[i] = match[1]; - } - return [ - a1, - a2 - ]; -} - -function joinWithU(a, sep, toString) { - var l = a.length; - if (l === 0) { - return ""; - } - var lastIndex = l - 1 | 0; - var _i = 0; - var _res = ""; - while(true) { - var res = _res; - var i = _i; - if (i === lastIndex) { - return res + toString(a[i]); - } - _res = res + (toString(a[i]) + sep); - _i = i + 1 | 0; - continue ; - }; -} - -function joinWith(a, sep, toString) { - return joinWithU(a, sep, Curry.__1(toString)); -} - -function initU(n, f) { - var v = new Array(n); - for(var i = 0; i < n; ++i){ - v[i] = f(i); - } - return v; -} - -function init(n, f) { - return initU(n, Curry.__1(f)); -} - -export { - get , - getExn , - set , - setExn , - shuffleInPlace , - shuffle , - reverseInPlace , - reverse , - make , - range , - rangeBy , - makeByU , - makeBy , - makeByAndShuffleU , - makeByAndShuffle , - zip , - zipByU , - zipBy , - unzip , - concat , - concatMany , - slice , - sliceToEnd , - fill , - blit , - blitUnsafe , - forEachU , - forEach , - mapU , - map , - flatMapU , - flatMap , - getByU , - getBy , - getIndexByU , - getIndexBy , - keepU , - keep , - keepWithIndexU , - keepWithIndex , - keepMapU , - keepMap , - forEachWithIndexU , - forEachWithIndex , - mapWithIndexU , - mapWithIndex , - partitionU , - partition , - reduceU , - reduce , - reduceReverseU , - reduceReverse , - reduceReverse2U , - reduceReverse2 , - reduceWithIndexU , - reduceWithIndex , - joinWithU , - joinWith , - someU , - some , - everyU , - every , - every2U , - every2 , - some2U , - some2 , - cmpU , - cmp , - eqU , - eq , - initU , - init , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Float.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Float.js deleted file mode 100644 index 97b395d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Float.js +++ /dev/null @@ -1,16 +0,0 @@ - - - -function fromString(i) { - var i$1 = parseFloat(i); - if (isNaN(i$1)) { - return ; - } else { - return i$1; - } -} - -export { - fromString , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMap.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMap.js deleted file mode 100644 index 2ee1cc0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMap.js +++ /dev/null @@ -1,280 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; -import * as Belt_internalBuckets from "./belt_internalBuckets.js"; -import * as Belt_internalBucketsType from "./belt_internalBucketsType.js"; - -function size(h) { - return h.size; -} - -function copyBucketReHash(hash, h_buckets, ndata_tail, _old_bucket) { - while(true) { - var old_bucket = _old_bucket; - if (old_bucket === undefined) { - return ; - } - var nidx = hash(old_bucket.key) & (h_buckets.length - 1 | 0); - var tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue ; - }; -} - -function replaceInBucket(eq, key, info, _cell) { - while(true) { - var cell = _cell; - if (eq(cell.key, key)) { - cell.value = info; - return false; - } - var cell$1 = cell.next; - if (cell$1 === undefined) { - return true; - } - _cell = cell$1; - continue ; - }; -} - -function set0(h, key, value, eq, hash) { - var h_buckets = h.buckets; - var buckets_len = h_buckets.length; - var i = hash(key) & (buckets_len - 1 | 0); - var l = h_buckets[i]; - if (l !== undefined) { - if (replaceInBucket(eq, key, value, l)) { - h_buckets[i] = { - key: key, - value: value, - next: l - }; - h.size = h.size + 1 | 0; - } - - } else { - h_buckets[i] = { - key: key, - value: value, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - var odata = h.buckets; - var osize = odata.length; - var nsize = (osize << 1); - if (nsize < osize) { - return ; - } - var h_buckets$1 = new Array(nsize); - var ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for(var i$1 = 0; i$1 < osize; ++i$1){ - copyBucketReHash(hash, h_buckets$1, ndata_tail, odata[i$1]); - } - for(var i$2 = 0; i$2 < nsize; ++i$2){ - var tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - - } - return ; - } - -} - -function set(h, key, value) { - set0(h, key, value, h.eq, h.hash); -} - -function remove(h, key) { - var h_buckets = h.buckets; - var i = h.hash(key) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[i]; - if (bucket === undefined) { - return ; - } - var eq = h.eq; - if (eq(bucket.key, key)) { - h_buckets[i] = bucket.next; - h.size = h.size - 1 | 0; - return ; - } else { - var _prec = bucket; - var _bucket = bucket.next; - while(true) { - var bucket$1 = _bucket; - var prec = _prec; - if (bucket$1 === undefined) { - return ; - } - var cell_next = bucket$1.next; - if (eq(bucket$1.key, key)) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return ; - } - _bucket = cell_next; - _prec = bucket$1; - continue ; - }; - } -} - -function get(h, key) { - var h_buckets = h.buckets; - var nid = h.hash(key) & (h_buckets.length - 1 | 0); - var cell1 = h_buckets[nid]; - if (cell1 === undefined) { - return ; - } - var eq = h.eq; - if (eq(key, cell1.key)) { - return Caml_option.some(cell1.value); - } - var cell2 = cell1.next; - if (cell2 === undefined) { - return ; - } - if (eq(key, cell2.key)) { - return Caml_option.some(cell2.value); - } - var cell3 = cell2.next; - if (cell3 !== undefined) { - if (eq(key, cell3.key)) { - return Caml_option.some(cell3.value); - } else { - var _buckets = cell3.next; - while(true) { - var buckets = _buckets; - if (buckets === undefined) { - return ; - } - if (eq(key, buckets.key)) { - return Caml_option.some(buckets.value); - } - _buckets = buckets.next; - continue ; - }; - } - } - -} - -function has(h, key) { - var h_buckets = h.buckets; - var nid = h.hash(key) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[nid]; - if (bucket !== undefined) { - var _cell = bucket; - var eq = h.eq; - while(true) { - var cell = _cell; - if (eq(cell.key, key)) { - return true; - } - var nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue ; - }; - } else { - return false; - } -} - -function make(hintSize, id) { - return Belt_internalBucketsType.make(id.hash, id.eq, hintSize); -} - -function fromArray(arr, id) { - var hash = id.hash; - var eq = id.eq; - var len = arr.length; - var v = Belt_internalBucketsType.make(hash, eq, len); - for(var i = 0; i < len; ++i){ - var match = arr[i]; - set0(v, match[0], match[1], eq, hash); - } - return v; -} - -function mergeMany(h, arr) { - var hash = h.hash; - var eq = h.eq; - var len = arr.length; - for(var i = 0; i < len; ++i){ - var match = arr[i]; - set0(h, match[0], match[1], eq, hash); - } -} - -var Int; - -var $$String; - -var clear = Belt_internalBucketsType.clear; - -var isEmpty = Belt_internalBucketsType.isEmpty; - -var copy = Belt_internalBuckets.copy; - -var forEachU = Belt_internalBuckets.forEachU; - -var forEach = Belt_internalBuckets.forEach; - -var reduceU = Belt_internalBuckets.reduceU; - -var reduce = Belt_internalBuckets.reduce; - -var keepMapInPlaceU = Belt_internalBuckets.keepMapInPlaceU; - -var keepMapInPlace = Belt_internalBuckets.keepMapInPlace; - -var toArray = Belt_internalBuckets.toArray; - -var keysToArray = Belt_internalBuckets.keysToArray; - -var valuesToArray = Belt_internalBuckets.valuesToArray; - -var getBucketHistogram = Belt_internalBuckets.getBucketHistogram; - -var logStats = Belt_internalBuckets.logStats; - -export { - Int , - $$String , - make , - clear , - isEmpty , - set , - copy , - get , - has , - remove , - forEachU , - forEach , - reduceU , - reduce , - keepMapInPlaceU , - keepMapInPlace , - size , - toArray , - keysToArray , - valuesToArray , - fromArray , - mergeMany , - getBucketHistogram , - logStats , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMapInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMapInt.js deleted file mode 100644 index 86d6c6f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMapInt.js +++ /dev/null @@ -1,264 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; -import * as Caml_hash_primitive from "./caml_hash_primitive.js"; -import * as Belt_internalBuckets from "./belt_internalBuckets.js"; -import * as Belt_internalBucketsType from "./belt_internalBucketsType.js"; - -function copyBucketReHash(h_buckets, ndata_tail, _old_bucket) { - while(true) { - var old_bucket = _old_bucket; - if (old_bucket === undefined) { - return ; - } - var nidx = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, old_bucket.key)) & (h_buckets.length - 1 | 0); - var tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue ; - }; -} - -function replaceInBucket(key, info, _cell) { - while(true) { - var cell = _cell; - if (cell.key === key) { - cell.value = info; - return false; - } - var cell$1 = cell.next; - if (cell$1 === undefined) { - return true; - } - _cell = cell$1; - continue ; - }; -} - -function set(h, key, value) { - var h_buckets = h.buckets; - var buckets_len = h_buckets.length; - var i = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, key)) & (buckets_len - 1 | 0); - var l = h_buckets[i]; - if (l !== undefined) { - if (replaceInBucket(key, value, l)) { - h_buckets[i] = { - key: key, - value: value, - next: l - }; - h.size = h.size + 1 | 0; - } - - } else { - h_buckets[i] = { - key: key, - value: value, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - var odata = h.buckets; - var osize = odata.length; - var nsize = (osize << 1); - if (nsize < osize) { - return ; - } - var h_buckets$1 = new Array(nsize); - var ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for(var i$1 = 0; i$1 < osize; ++i$1){ - copyBucketReHash(h_buckets$1, ndata_tail, odata[i$1]); - } - for(var i$2 = 0; i$2 < nsize; ++i$2){ - var tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - - } - return ; - } - -} - -function remove(h, key) { - var h_buckets = h.buckets; - var i = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[i]; - if (bucket !== undefined) { - if (bucket.key === key) { - h_buckets[i] = bucket.next; - h.size = h.size - 1 | 0; - return ; - } else { - var _prec = bucket; - var _buckets = bucket.next; - while(true) { - var buckets = _buckets; - var prec = _prec; - if (buckets === undefined) { - return ; - } - var cell_next = buckets.next; - if (buckets.key === key) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return ; - } - _buckets = cell_next; - _prec = buckets; - continue ; - }; - } - } - -} - -function get(h, key) { - var h_buckets = h.buckets; - var nid = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - var cell1 = h_buckets[nid]; - if (cell1 === undefined) { - return ; - } - if (key === cell1.key) { - return Caml_option.some(cell1.value); - } - var cell2 = cell1.next; - if (cell2 === undefined) { - return ; - } - if (key === cell2.key) { - return Caml_option.some(cell2.value); - } - var cell3 = cell2.next; - if (cell3 !== undefined) { - if (key === cell3.key) { - return Caml_option.some(cell3.value); - } else { - var _buckets = cell3.next; - while(true) { - var buckets = _buckets; - if (buckets === undefined) { - return ; - } - if (key === buckets.key) { - return Caml_option.some(buckets.value); - } - _buckets = buckets.next; - continue ; - }; - } - } - -} - -function has(h, key) { - var h_buckets = h.buckets; - var nid = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[nid]; - if (bucket !== undefined) { - var _cell = bucket; - while(true) { - var cell = _cell; - if (cell.key === key) { - return true; - } - var nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue ; - }; - } else { - return false; - } -} - -function make(hintSize) { - return Belt_internalBucketsType.make(undefined, undefined, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr) { - var len = arr.length; - var v = Belt_internalBucketsType.make(undefined, undefined, len); - for(var i = 0; i < len; ++i){ - var match = arr[i]; - set(v, match[0], match[1]); - } - return v; -} - -function mergeMany(h, arr) { - var len = arr.length; - for(var i = 0; i < len; ++i){ - var match = arr[i]; - set(h, match[0], match[1]); - } -} - -var clear = Belt_internalBucketsType.clear; - -var isEmpty = Belt_internalBucketsType.isEmpty; - -var copy = Belt_internalBuckets.copy; - -var forEachU = Belt_internalBuckets.forEachU; - -var forEach = Belt_internalBuckets.forEach; - -var reduceU = Belt_internalBuckets.reduceU; - -var reduce = Belt_internalBuckets.reduce; - -var keepMapInPlaceU = Belt_internalBuckets.keepMapInPlaceU; - -var keepMapInPlace = Belt_internalBuckets.keepMapInPlace; - -var toArray = Belt_internalBuckets.toArray; - -var keysToArray = Belt_internalBuckets.keysToArray; - -var valuesToArray = Belt_internalBuckets.valuesToArray; - -var getBucketHistogram = Belt_internalBuckets.getBucketHistogram; - -var logStats = Belt_internalBuckets.logStats; - -export { - make , - clear , - isEmpty , - set , - copy , - get , - has , - remove , - forEachU , - forEach , - reduceU , - reduce , - keepMapInPlaceU , - keepMapInPlace , - size , - toArray , - keysToArray , - valuesToArray , - fromArray , - mergeMany , - getBucketHistogram , - logStats , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMapString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMapString.js deleted file mode 100644 index 81d0969..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashMapString.js +++ /dev/null @@ -1,264 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; -import * as Caml_hash_primitive from "./caml_hash_primitive.js"; -import * as Belt_internalBuckets from "./belt_internalBuckets.js"; -import * as Belt_internalBucketsType from "./belt_internalBucketsType.js"; - -function copyBucketReHash(h_buckets, ndata_tail, _old_bucket) { - while(true) { - var old_bucket = _old_bucket; - if (old_bucket === undefined) { - return ; - } - var nidx = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, old_bucket.key)) & (h_buckets.length - 1 | 0); - var tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue ; - }; -} - -function replaceInBucket(key, info, _cell) { - while(true) { - var cell = _cell; - if (cell.key === key) { - cell.value = info; - return false; - } - var cell$1 = cell.next; - if (cell$1 === undefined) { - return true; - } - _cell = cell$1; - continue ; - }; -} - -function set(h, key, value) { - var h_buckets = h.buckets; - var buckets_len = h_buckets.length; - var i = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, key)) & (buckets_len - 1 | 0); - var l = h_buckets[i]; - if (l !== undefined) { - if (replaceInBucket(key, value, l)) { - h_buckets[i] = { - key: key, - value: value, - next: l - }; - h.size = h.size + 1 | 0; - } - - } else { - h_buckets[i] = { - key: key, - value: value, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - var odata = h.buckets; - var osize = odata.length; - var nsize = (osize << 1); - if (nsize < osize) { - return ; - } - var h_buckets$1 = new Array(nsize); - var ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for(var i$1 = 0; i$1 < osize; ++i$1){ - copyBucketReHash(h_buckets$1, ndata_tail, odata[i$1]); - } - for(var i$2 = 0; i$2 < nsize; ++i$2){ - var tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - - } - return ; - } - -} - -function remove(h, key) { - var h_buckets = h.buckets; - var i = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[i]; - if (bucket !== undefined) { - if (bucket.key === key) { - h_buckets[i] = bucket.next; - h.size = h.size - 1 | 0; - return ; - } else { - var _prec = bucket; - var _buckets = bucket.next; - while(true) { - var buckets = _buckets; - var prec = _prec; - if (buckets === undefined) { - return ; - } - var cell_next = buckets.next; - if (buckets.key === key) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return ; - } - _buckets = cell_next; - _prec = buckets; - continue ; - }; - } - } - -} - -function get(h, key) { - var h_buckets = h.buckets; - var nid = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - var cell1 = h_buckets[nid]; - if (cell1 === undefined) { - return ; - } - if (key === cell1.key) { - return Caml_option.some(cell1.value); - } - var cell2 = cell1.next; - if (cell2 === undefined) { - return ; - } - if (key === cell2.key) { - return Caml_option.some(cell2.value); - } - var cell3 = cell2.next; - if (cell3 !== undefined) { - if (key === cell3.key) { - return Caml_option.some(cell3.value); - } else { - var _buckets = cell3.next; - while(true) { - var buckets = _buckets; - if (buckets === undefined) { - return ; - } - if (key === buckets.key) { - return Caml_option.some(buckets.value); - } - _buckets = buckets.next; - continue ; - }; - } - } - -} - -function has(h, key) { - var h_buckets = h.buckets; - var nid = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[nid]; - if (bucket !== undefined) { - var _cell = bucket; - while(true) { - var cell = _cell; - if (cell.key === key) { - return true; - } - var nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue ; - }; - } else { - return false; - } -} - -function make(hintSize) { - return Belt_internalBucketsType.make(undefined, undefined, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr) { - var len = arr.length; - var v = Belt_internalBucketsType.make(undefined, undefined, len); - for(var i = 0; i < len; ++i){ - var match = arr[i]; - set(v, match[0], match[1]); - } - return v; -} - -function mergeMany(h, arr) { - var len = arr.length; - for(var i = 0; i < len; ++i){ - var match = arr[i]; - set(h, match[0], match[1]); - } -} - -var clear = Belt_internalBucketsType.clear; - -var isEmpty = Belt_internalBucketsType.isEmpty; - -var copy = Belt_internalBuckets.copy; - -var forEachU = Belt_internalBuckets.forEachU; - -var forEach = Belt_internalBuckets.forEach; - -var reduceU = Belt_internalBuckets.reduceU; - -var reduce = Belt_internalBuckets.reduce; - -var keepMapInPlaceU = Belt_internalBuckets.keepMapInPlaceU; - -var keepMapInPlace = Belt_internalBuckets.keepMapInPlace; - -var toArray = Belt_internalBuckets.toArray; - -var keysToArray = Belt_internalBuckets.keysToArray; - -var valuesToArray = Belt_internalBuckets.valuesToArray; - -var getBucketHistogram = Belt_internalBuckets.getBucketHistogram; - -var logStats = Belt_internalBuckets.logStats; - -export { - make , - clear , - isEmpty , - set , - copy , - get , - has , - remove , - forEachU , - forEach , - reduceU , - reduce , - keepMapInPlaceU , - keepMapInPlace , - size , - toArray , - keysToArray , - valuesToArray , - fromArray , - mergeMany , - getBucketHistogram , - logStats , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSet.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSet.js deleted file mode 100644 index 035ed4d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSet.js +++ /dev/null @@ -1,222 +0,0 @@ - - -import * as Belt_internalSetBuckets from "./belt_internalSetBuckets.js"; -import * as Belt_internalBucketsType from "./belt_internalBucketsType.js"; - -function copyBucket(hash, h_buckets, ndata_tail, _old_bucket) { - while(true) { - var old_bucket = _old_bucket; - if (old_bucket === undefined) { - return ; - } - var nidx = hash(old_bucket.key) & (h_buckets.length - 1 | 0); - var tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue ; - }; -} - -function remove(h, key) { - var eq = h.eq; - var h_buckets = h.buckets; - var i = h.hash(key) & (h_buckets.length - 1 | 0); - var l = h_buckets[i]; - if (l === undefined) { - return ; - } - var next_cell = l.next; - if (eq(l.key, key)) { - h.size = h.size - 1 | 0; - h_buckets[i] = next_cell; - return ; - } else if (next_cell !== undefined) { - var _prec = l; - var _cell = next_cell; - while(true) { - var cell = _cell; - var prec = _prec; - var cell_next = cell.next; - if (eq(cell.key, key)) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return ; - } - if (cell_next === undefined) { - return ; - } - _cell = cell_next; - _prec = cell; - continue ; - }; - } else { - return ; - } -} - -function addBucket(h, key, _cell, eq) { - while(true) { - var cell = _cell; - if (eq(cell.key, key)) { - return ; - } - var n = cell.next; - if (n !== undefined) { - _cell = n; - continue ; - } - h.size = h.size + 1 | 0; - cell.next = { - key: key, - next: undefined - }; - return ; - }; -} - -function add0(h, key, hash, eq) { - var h_buckets = h.buckets; - var buckets_len = h_buckets.length; - var i = hash(key) & (buckets_len - 1 | 0); - var l = h_buckets[i]; - if (l !== undefined) { - addBucket(h, key, l, eq); - } else { - h.size = h.size + 1 | 0; - h_buckets[i] = { - key: key, - next: undefined - }; - } - if (h.size > (buckets_len << 1)) { - var odata = h.buckets; - var osize = odata.length; - var nsize = (osize << 1); - if (nsize < osize) { - return ; - } - var h_buckets$1 = new Array(nsize); - var ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for(var i$1 = 0; i$1 < osize; ++i$1){ - copyBucket(hash, h_buckets$1, ndata_tail, odata[i$1]); - } - for(var i$2 = 0; i$2 < nsize; ++i$2){ - var tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - - } - return ; - } - -} - -function add(h, key) { - add0(h, key, h.hash, h.eq); -} - -function has(h, key) { - var eq = h.eq; - var h_buckets = h.buckets; - var nid = h.hash(key) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[nid]; - if (bucket !== undefined) { - var _cell = bucket; - while(true) { - var cell = _cell; - if (eq(cell.key, key)) { - return true; - } - var nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue ; - }; - } else { - return false; - } -} - -function make(hintSize, id) { - return Belt_internalBucketsType.make(id.hash, id.eq, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr, id) { - var eq = id.eq; - var hash = id.hash; - var len = arr.length; - var v = Belt_internalBucketsType.make(hash, eq, len); - for(var i = 0; i < len; ++i){ - add0(v, arr[i], hash, eq); - } - return v; -} - -function mergeMany(h, arr) { - var eq = h.eq; - var hash = h.hash; - var len = arr.length; - for(var i = 0; i < len; ++i){ - add0(h, arr[i], hash, eq); - } -} - -var Int; - -var $$String; - -var clear = Belt_internalBucketsType.clear; - -var isEmpty = Belt_internalBucketsType.isEmpty; - -var copy = Belt_internalSetBuckets.copy; - -var forEachU = Belt_internalSetBuckets.forEachU; - -var forEach = Belt_internalSetBuckets.forEach; - -var reduceU = Belt_internalSetBuckets.reduceU; - -var reduce = Belt_internalSetBuckets.reduce; - -var logStats = Belt_internalSetBuckets.logStats; - -var toArray = Belt_internalSetBuckets.toArray; - -var getBucketHistogram = Belt_internalSetBuckets.getBucketHistogram; - -export { - Int , - $$String , - make , - clear , - isEmpty , - add , - copy , - has , - remove , - forEachU , - forEach , - reduceU , - reduce , - size , - logStats , - toArray , - fromArray , - mergeMany , - getBucketHistogram , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSetInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSetInt.js deleted file mode 100644 index e550d44..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSetInt.js +++ /dev/null @@ -1,207 +0,0 @@ - - -import * as Caml_hash_primitive from "./caml_hash_primitive.js"; -import * as Belt_internalSetBuckets from "./belt_internalSetBuckets.js"; -import * as Belt_internalBucketsType from "./belt_internalBucketsType.js"; - -function copyBucket(h_buckets, ndata_tail, _old_bucket) { - while(true) { - var old_bucket = _old_bucket; - if (old_bucket === undefined) { - return ; - } - var nidx = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, old_bucket.key)) & (h_buckets.length - 1 | 0); - var tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue ; - }; -} - -function remove(h, key) { - var h_buckets = h.buckets; - var i = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - var l = h_buckets[i]; - if (l === undefined) { - return ; - } - var next_cell = l.next; - if (l.key === key) { - h.size = h.size - 1 | 0; - h_buckets[i] = next_cell; - return ; - } else if (next_cell !== undefined) { - var _prec = l; - var _cell = next_cell; - while(true) { - var cell = _cell; - var prec = _prec; - var cell_next = cell.next; - if (cell.key === key) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return ; - } - if (cell_next === undefined) { - return ; - } - _cell = cell_next; - _prec = cell; - continue ; - }; - } else { - return ; - } -} - -function addBucket(h, key, _cell) { - while(true) { - var cell = _cell; - if (cell.key === key) { - return ; - } - var n = cell.next; - if (n !== undefined) { - _cell = n; - continue ; - } - h.size = h.size + 1 | 0; - cell.next = { - key: key, - next: undefined - }; - return ; - }; -} - -function add(h, key) { - var h_buckets = h.buckets; - var buckets_len = h_buckets.length; - var i = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, key)) & (buckets_len - 1 | 0); - var l = h_buckets[i]; - if (l !== undefined) { - addBucket(h, key, l); - } else { - h_buckets[i] = { - key: key, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - var odata = h.buckets; - var osize = odata.length; - var nsize = (osize << 1); - if (nsize < osize) { - return ; - } - var h_buckets$1 = new Array(nsize); - var ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for(var i$1 = 0; i$1 < osize; ++i$1){ - copyBucket(h_buckets$1, ndata_tail, odata[i$1]); - } - for(var i$2 = 0; i$2 < nsize; ++i$2){ - var tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - - } - return ; - } - -} - -function has(h, key) { - var h_buckets = h.buckets; - var nid = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_int(0, key)) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[nid]; - if (bucket !== undefined) { - var _cell = bucket; - while(true) { - var cell = _cell; - if (cell.key === key) { - return true; - } - var nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue ; - }; - } else { - return false; - } -} - -function make(hintSize) { - return Belt_internalBucketsType.make(undefined, undefined, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr) { - var len = arr.length; - var v = Belt_internalBucketsType.make(undefined, undefined, len); - for(var i = 0; i < len; ++i){ - add(v, arr[i]); - } - return v; -} - -function mergeMany(h, arr) { - var len = arr.length; - for(var i = 0; i < len; ++i){ - add(h, arr[i]); - } -} - -var clear = Belt_internalBucketsType.clear; - -var isEmpty = Belt_internalBucketsType.isEmpty; - -var copy = Belt_internalSetBuckets.copy; - -var forEachU = Belt_internalSetBuckets.forEachU; - -var forEach = Belt_internalSetBuckets.forEach; - -var reduceU = Belt_internalSetBuckets.reduceU; - -var reduce = Belt_internalSetBuckets.reduce; - -var logStats = Belt_internalSetBuckets.logStats; - -var toArray = Belt_internalSetBuckets.toArray; - -var getBucketHistogram = Belt_internalSetBuckets.getBucketHistogram; - -export { - make , - clear , - isEmpty , - add , - copy , - has , - remove , - forEachU , - forEach , - reduceU , - reduce , - size , - logStats , - toArray , - fromArray , - mergeMany , - getBucketHistogram , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSetString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSetString.js deleted file mode 100644 index f8ded06..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_HashSetString.js +++ /dev/null @@ -1,207 +0,0 @@ - - -import * as Caml_hash_primitive from "./caml_hash_primitive.js"; -import * as Belt_internalSetBuckets from "./belt_internalSetBuckets.js"; -import * as Belt_internalBucketsType from "./belt_internalBucketsType.js"; - -function copyBucket(h_buckets, ndata_tail, _old_bucket) { - while(true) { - var old_bucket = _old_bucket; - if (old_bucket === undefined) { - return ; - } - var nidx = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, old_bucket.key)) & (h_buckets.length - 1 | 0); - var tail = ndata_tail[nidx]; - if (tail !== undefined) { - tail.next = old_bucket; - } else { - h_buckets[nidx] = old_bucket; - } - ndata_tail[nidx] = old_bucket; - _old_bucket = old_bucket.next; - continue ; - }; -} - -function remove(h, key) { - var h_buckets = h.buckets; - var i = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - var l = h_buckets[i]; - if (l === undefined) { - return ; - } - var next_cell = l.next; - if (l.key === key) { - h.size = h.size - 1 | 0; - h_buckets[i] = next_cell; - return ; - } else if (next_cell !== undefined) { - var _prec = l; - var _cell = next_cell; - while(true) { - var cell = _cell; - var prec = _prec; - var cell_next = cell.next; - if (cell.key === key) { - prec.next = cell_next; - h.size = h.size - 1 | 0; - return ; - } - if (cell_next === undefined) { - return ; - } - _cell = cell_next; - _prec = cell; - continue ; - }; - } else { - return ; - } -} - -function addBucket(h, key, _cell) { - while(true) { - var cell = _cell; - if (cell.key === key) { - return ; - } - var n = cell.next; - if (n !== undefined) { - _cell = n; - continue ; - } - h.size = h.size + 1 | 0; - cell.next = { - key: key, - next: undefined - }; - return ; - }; -} - -function add(h, key) { - var h_buckets = h.buckets; - var buckets_len = h_buckets.length; - var i = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, key)) & (buckets_len - 1 | 0); - var l = h_buckets[i]; - if (l !== undefined) { - addBucket(h, key, l); - } else { - h_buckets[i] = { - key: key, - next: undefined - }; - h.size = h.size + 1 | 0; - } - if (h.size > (buckets_len << 1)) { - var odata = h.buckets; - var osize = odata.length; - var nsize = (osize << 1); - if (nsize < osize) { - return ; - } - var h_buckets$1 = new Array(nsize); - var ndata_tail = new Array(nsize); - h.buckets = h_buckets$1; - for(var i$1 = 0; i$1 < osize; ++i$1){ - copyBucket(h_buckets$1, ndata_tail, odata[i$1]); - } - for(var i$2 = 0; i$2 < nsize; ++i$2){ - var tail = ndata_tail[i$2]; - if (tail !== undefined) { - tail.next = undefined; - } - - } - return ; - } - -} - -function has(h, key) { - var h_buckets = h.buckets; - var nid = Caml_hash_primitive.hash_final_mix(Caml_hash_primitive.hash_mix_string(0, key)) & (h_buckets.length - 1 | 0); - var bucket = h_buckets[nid]; - if (bucket !== undefined) { - var _cell = bucket; - while(true) { - var cell = _cell; - if (cell.key === key) { - return true; - } - var nextCell = cell.next; - if (nextCell === undefined) { - return false; - } - _cell = nextCell; - continue ; - }; - } else { - return false; - } -} - -function make(hintSize) { - return Belt_internalBucketsType.make(undefined, undefined, hintSize); -} - -function size(h) { - return h.size; -} - -function fromArray(arr) { - var len = arr.length; - var v = Belt_internalBucketsType.make(undefined, undefined, len); - for(var i = 0; i < len; ++i){ - add(v, arr[i]); - } - return v; -} - -function mergeMany(h, arr) { - var len = arr.length; - for(var i = 0; i < len; ++i){ - add(h, arr[i]); - } -} - -var clear = Belt_internalBucketsType.clear; - -var isEmpty = Belt_internalBucketsType.isEmpty; - -var copy = Belt_internalSetBuckets.copy; - -var forEachU = Belt_internalSetBuckets.forEachU; - -var forEach = Belt_internalSetBuckets.forEach; - -var reduceU = Belt_internalSetBuckets.reduceU; - -var reduce = Belt_internalSetBuckets.reduce; - -var logStats = Belt_internalSetBuckets.logStats; - -var toArray = Belt_internalSetBuckets.toArray; - -var getBucketHistogram = Belt_internalSetBuckets.getBucketHistogram; - -export { - make , - clear , - isEmpty , - add , - copy , - has , - remove , - forEachU , - forEach , - reduceU , - reduce , - size , - logStats , - toArray , - fromArray , - mergeMany , - getBucketHistogram , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Id.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Id.js deleted file mode 100644 index 0c54f00..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Id.js +++ /dev/null @@ -1,71 +0,0 @@ - - -import * as Curry from "./curry.js"; - -function MakeComparableU(M) { - return M; -} - -function MakeComparable(M) { - var cmp = M.cmp; - var cmp$1 = Curry.__2(cmp); - return { - cmp: cmp$1 - }; -} - -function comparableU(cmp) { - return { - cmp: cmp - }; -} - -function comparable(cmp) { - var cmp$1 = Curry.__2(cmp); - return { - cmp: cmp$1 - }; -} - -function MakeHashableU(M) { - return M; -} - -function MakeHashable(M) { - var hash = M.hash; - var hash$1 = Curry.__1(hash); - var eq = M.eq; - var eq$1 = Curry.__2(eq); - return { - hash: hash$1, - eq: eq$1 - }; -} - -function hashableU(hash, eq) { - return { - hash: hash, - eq: eq - }; -} - -function hashable(hash, eq) { - var hash$1 = Curry.__1(hash); - var eq$1 = Curry.__2(eq); - return { - hash: hash$1, - eq: eq$1 - }; -} - -export { - MakeComparableU , - MakeComparable , - comparableU , - comparable , - MakeHashableU , - MakeHashable , - hashableU , - hashable , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Int.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Int.js deleted file mode 100644 index 18782ec..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Int.js +++ /dev/null @@ -1,16 +0,0 @@ - - - -function fromString(i) { - var i$1 = parseInt(i, 10); - if (isNaN(i$1)) { - return ; - } else { - return i$1; - } -} - -export { - fromString , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_List.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_List.js deleted file mode 100644 index 2b1e59e..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_List.js +++ /dev/null @@ -1,1512 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_Array from "./belt_Array.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_SortArray from "./belt_SortArray.js"; - -function head(x) { - if (x) { - return Caml_option.some(x.hd); - } - -} - -function headExn(x) { - if (x) { - return x.hd; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function tail(x) { - if (x) { - return x.tl; - } - -} - -function tailExn(x) { - if (x) { - return x.tl; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function add(xs, x) { - return { - hd: x, - tl: xs - }; -} - -function get(x, n) { - if (n < 0) { - return ; - } else { - var _x = x; - var _n = n; - while(true) { - var n$1 = _n; - var x$1 = _x; - if (!x$1) { - return ; - } - if (n$1 === 0) { - return Caml_option.some(x$1.hd); - } - _n = n$1 - 1 | 0; - _x = x$1.tl; - continue ; - }; - } -} - -function getExn(x, n) { - if (n < 0) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var _x = x; - var _n = n; - while(true) { - var n$1 = _n; - var x$1 = _x; - if (x$1) { - if (n$1 === 0) { - return x$1.hd; - } - _n = n$1 - 1 | 0; - _x = x$1.tl; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function partitionAux(p, _cell, _precX, _precY) { - while(true) { - var precY = _precY; - var precX = _precX; - var cell = _cell; - if (!cell) { - return ; - } - var t = cell.tl; - var h = cell.hd; - var next = { - hd: h, - tl: /* [] */0 - }; - if (p(h)) { - precX.tl = next; - _precX = next; - _cell = t; - continue ; - } - precY.tl = next; - _precY = next; - _cell = t; - continue ; - }; -} - -function splitAux(_cell, _precX, _precY) { - while(true) { - var precY = _precY; - var precX = _precX; - var cell = _cell; - if (!cell) { - return ; - } - var match = cell.hd; - var nextA = { - hd: match[0], - tl: /* [] */0 - }; - var nextB = { - hd: match[1], - tl: /* [] */0 - }; - precX.tl = nextA; - precY.tl = nextB; - _precY = nextB; - _precX = nextA; - _cell = cell.tl; - continue ; - }; -} - -function copyAuxCont(_cellX, _prec) { - while(true) { - var prec = _prec; - var cellX = _cellX; - if (!cellX) { - return prec; - } - var next = { - hd: cellX.hd, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - continue ; - }; -} - -function copyAuxWitFilter(f, _cellX, _prec) { - while(true) { - var prec = _prec; - var cellX = _cellX; - if (!cellX) { - return ; - } - var t = cellX.tl; - var h = cellX.hd; - if (f(h)) { - var next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue ; - } - _cellX = t; - continue ; - }; -} - -function copyAuxWithFilterIndex(f, _cellX, _prec, _i) { - while(true) { - var i = _i; - var prec = _prec; - var cellX = _cellX; - if (!cellX) { - return ; - } - var t = cellX.tl; - var h = cellX.hd; - if (f(h, i)) { - var next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _i = i + 1 | 0; - _prec = next; - _cellX = t; - continue ; - } - _i = i + 1 | 0; - _cellX = t; - continue ; - }; -} - -function copyAuxWitFilterMap(f, _cellX, _prec) { - while(true) { - var prec = _prec; - var cellX = _cellX; - if (!cellX) { - return ; - } - var t = cellX.tl; - var h = f(cellX.hd); - if (h !== undefined) { - var next = { - hd: Caml_option.valFromOption(h), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue ; - } - _cellX = t; - continue ; - }; -} - -function removeAssocAuxWithMap(_cellX, x, _prec, f) { - while(true) { - var prec = _prec; - var cellX = _cellX; - if (!cellX) { - return false; - } - var t = cellX.tl; - var h = cellX.hd; - if (f(h[0], x)) { - prec.tl = t; - return true; - } - var next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue ; - }; -} - -function setAssocAuxWithMap(_cellX, x, k, _prec, eq) { - while(true) { - var prec = _prec; - var cellX = _cellX; - if (!cellX) { - return false; - } - var t = cellX.tl; - var h = cellX.hd; - if (eq(h[0], x)) { - prec.tl = { - hd: [ - x, - k - ], - tl: t - }; - return true; - } - var next = { - hd: h, - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = t; - continue ; - }; -} - -function copyAuxWithMap(_cellX, _prec, f) { - while(true) { - var prec = _prec; - var cellX = _cellX; - if (!cellX) { - return ; - } - var next = { - hd: f(cellX.hd), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - continue ; - }; -} - -function zipAux(_cellX, _cellY, _prec) { - while(true) { - var prec = _prec; - var cellY = _cellY; - var cellX = _cellX; - if (!cellX) { - return ; - } - if (!cellY) { - return ; - } - var next = { - hd: [ - cellX.hd, - cellY.hd - ], - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellY = cellY.tl; - _cellX = cellX.tl; - continue ; - }; -} - -function copyAuxWithMap2(f, _cellX, _cellY, _prec) { - while(true) { - var prec = _prec; - var cellY = _cellY; - var cellX = _cellX; - if (!cellX) { - return ; - } - if (!cellY) { - return ; - } - var next = { - hd: f(cellX.hd, cellY.hd), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellY = cellY.tl; - _cellX = cellX.tl; - continue ; - }; -} - -function copyAuxWithMapI(f, _i, _cellX, _prec) { - while(true) { - var prec = _prec; - var cellX = _cellX; - var i = _i; - if (!cellX) { - return ; - } - var next = { - hd: f(i, cellX.hd), - tl: /* [] */0 - }; - prec.tl = next; - _prec = next; - _cellX = cellX.tl; - _i = i + 1 | 0; - continue ; - }; -} - -function takeAux(_n, _cell, _prec) { - while(true) { - var prec = _prec; - var cell = _cell; - var n = _n; - if (n === 0) { - return true; - } - if (!cell) { - return false; - } - var cell$1 = { - hd: cell.hd, - tl: /* [] */0 - }; - prec.tl = cell$1; - _prec = cell$1; - _cell = cell.tl; - _n = n - 1 | 0; - continue ; - }; -} - -function splitAtAux(_n, _cell, _prec) { - while(true) { - var prec = _prec; - var cell = _cell; - var n = _n; - if (n === 0) { - return cell; - } - if (!cell) { - return ; - } - var cell$1 = { - hd: cell.hd, - tl: /* [] */0 - }; - prec.tl = cell$1; - _prec = cell$1; - _cell = cell.tl; - _n = n - 1 | 0; - continue ; - }; -} - -function take(lst, n) { - if (n < 0) { - return ; - } - if (n === 0) { - return /* [] */0; - } - if (!lst) { - return ; - } - var cell = { - hd: lst.hd, - tl: /* [] */0 - }; - var has = takeAux(n - 1 | 0, lst.tl, cell); - if (has) { - return cell; - } - -} - -function drop(lst, n) { - if (n < 0) { - return ; - } else { - var _l = lst; - var _n = n; - while(true) { - var n$1 = _n; - var l = _l; - if (n$1 === 0) { - return l; - } - if (!l) { - return ; - } - _n = n$1 - 1 | 0; - _l = l.tl; - continue ; - }; - } -} - -function splitAt(lst, n) { - if (n < 0) { - return ; - } - if (n === 0) { - return [ - /* [] */0, - lst - ]; - } - if (!lst) { - return ; - } - var cell = { - hd: lst.hd, - tl: /* [] */0 - }; - var rest = splitAtAux(n - 1 | 0, lst.tl, cell); - if (rest !== undefined) { - return [ - cell, - rest - ]; - } - -} - -function concat(xs, ys) { - if (!xs) { - return ys; - } - var cell = { - hd: xs.hd, - tl: /* [] */0 - }; - copyAuxCont(xs.tl, cell).tl = ys; - return cell; -} - -function mapU(xs, f) { - if (!xs) { - return /* [] */0; - } - var cell = { - hd: f(xs.hd), - tl: /* [] */0 - }; - copyAuxWithMap(xs.tl, cell, f); - return cell; -} - -function map(xs, f) { - return mapU(xs, Curry.__1(f)); -} - -function zipByU(l1, l2, f) { - if (!l1) { - return /* [] */0; - } - if (!l2) { - return /* [] */0; - } - var cell = { - hd: f(l1.hd, l2.hd), - tl: /* [] */0 - }; - copyAuxWithMap2(f, l1.tl, l2.tl, cell); - return cell; -} - -function zipBy(l1, l2, f) { - return zipByU(l1, l2, Curry.__2(f)); -} - -function mapWithIndexU(xs, f) { - if (!xs) { - return /* [] */0; - } - var cell = { - hd: f(0, xs.hd), - tl: /* [] */0 - }; - copyAuxWithMapI(f, 1, xs.tl, cell); - return cell; -} - -function mapWithIndex(xs, f) { - return mapWithIndexU(xs, Curry.__2(f)); -} - -function makeByU(n, f) { - if (n <= 0) { - return /* [] */0; - } - var headX = { - hd: f(0), - tl: /* [] */0 - }; - var cur = headX; - var i = 1; - while(i < n) { - var v = { - hd: f(i), - tl: /* [] */0 - }; - cur.tl = v; - cur = v; - i = i + 1 | 0; - }; - return headX; -} - -function makeBy(n, f) { - return makeByU(n, Curry.__1(f)); -} - -function make(n, v) { - if (n <= 0) { - return /* [] */0; - } - var headX = { - hd: v, - tl: /* [] */0 - }; - var cur = headX; - var i = 1; - while(i < n) { - var v$1 = { - hd: v, - tl: /* [] */0 - }; - cur.tl = v$1; - cur = v$1; - i = i + 1 | 0; - }; - return headX; -} - -function length(xs) { - var _x = xs; - var _acc = 0; - while(true) { - var acc = _acc; - var x = _x; - if (!x) { - return acc; - } - _acc = acc + 1 | 0; - _x = x.tl; - continue ; - }; -} - -function fillAux(arr, _i, _x) { - while(true) { - var x = _x; - var i = _i; - if (!x) { - return ; - } - arr[i] = x.hd; - _x = x.tl; - _i = i + 1 | 0; - continue ; - }; -} - -function fromArray(a) { - var _i = a.length - 1 | 0; - var _res = /* [] */0; - while(true) { - var res = _res; - var i = _i; - if (i < 0) { - return res; - } - _res = { - hd: a[i], - tl: res - }; - _i = i - 1 | 0; - continue ; - }; -} - -function toArray(x) { - var len = length(x); - var arr = new Array(len); - fillAux(arr, 0, x); - return arr; -} - -function shuffle(xs) { - var v = toArray(xs); - Belt_Array.shuffleInPlace(v); - return fromArray(v); -} - -function reverseConcat(_l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - return l2; - } - _l2 = { - hd: l1.hd, - tl: l2 - }; - _l1 = l1.tl; - continue ; - }; -} - -function reverse(l) { - return reverseConcat(l, /* [] */0); -} - -function flattenAux(_prec, _xs) { - while(true) { - var xs = _xs; - var prec = _prec; - if (xs) { - _xs = xs.tl; - _prec = copyAuxCont(xs.hd, prec); - continue ; - } - prec.tl = /* [] */0; - return ; - }; -} - -function flatten(_xs) { - while(true) { - var xs = _xs; - if (!xs) { - return /* [] */0; - } - var match = xs.hd; - if (match) { - var cell = { - hd: match.hd, - tl: /* [] */0 - }; - flattenAux(copyAuxCont(match.tl, cell), xs.tl); - return cell; - } - _xs = xs.tl; - continue ; - }; -} - -function concatMany(xs) { - var len = xs.length; - if (len === 1) { - return xs[0]; - } - if (len === 0) { - return /* [] */0; - } - var len$1 = xs.length; - var v = xs[len$1 - 1 | 0]; - for(var i = len$1 - 2 | 0; i >= 0; --i){ - v = concat(xs[i], v); - } - return v; -} - -function mapReverseU(l, f) { - var _accu = /* [] */0; - var _xs = l; - while(true) { - var xs = _xs; - var accu = _accu; - if (!xs) { - return accu; - } - _xs = xs.tl; - _accu = { - hd: f(xs.hd), - tl: accu - }; - continue ; - }; -} - -function mapReverse(l, f) { - return mapReverseU(l, Curry.__1(f)); -} - -function forEachU(_xs, f) { - while(true) { - var xs = _xs; - if (!xs) { - return ; - } - f(xs.hd); - _xs = xs.tl; - continue ; - }; -} - -function forEach(xs, f) { - forEachU(xs, Curry.__1(f)); -} - -function forEachWithIndexU(l, f) { - var _xs = l; - var _i = 0; - while(true) { - var i = _i; - var xs = _xs; - if (!xs) { - return ; - } - f(i, xs.hd); - _i = i + 1 | 0; - _xs = xs.tl; - continue ; - }; -} - -function forEachWithIndex(l, f) { - forEachWithIndexU(l, Curry.__2(f)); -} - -function reduceU(_l, _accu, f) { - while(true) { - var accu = _accu; - var l = _l; - if (!l) { - return accu; - } - _accu = f(accu, l.hd); - _l = l.tl; - continue ; - }; -} - -function reduce(l, accu, f) { - return reduceU(l, accu, Curry.__2(f)); -} - -function reduceReverseUnsafeU(l, accu, f) { - if (l) { - return f(reduceReverseUnsafeU(l.tl, accu, f), l.hd); - } else { - return accu; - } -} - -function reduceReverseU(l, acc, f) { - var len = length(l); - if (len < 1000) { - return reduceReverseUnsafeU(l, acc, f); - } else { - return Belt_Array.reduceReverseU(toArray(l), acc, f); - } -} - -function reduceReverse(l, accu, f) { - return reduceReverseU(l, accu, Curry.__2(f)); -} - -function reduceWithIndexU(l, acc, f) { - var _l = l; - var _acc = acc; - var _i = 0; - while(true) { - var i = _i; - var acc$1 = _acc; - var l$1 = _l; - if (!l$1) { - return acc$1; - } - _i = i + 1 | 0; - _acc = f(acc$1, l$1.hd, i); - _l = l$1.tl; - continue ; - }; -} - -function reduceWithIndex(l, acc, f) { - return reduceWithIndexU(l, acc, Curry.__3(f)); -} - -function mapReverse2U(l1, l2, f) { - var _l1 = l1; - var _l2 = l2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1$1 = _l1; - if (!l1$1) { - return accu; - } - if (!l2$1) { - return accu; - } - _accu = { - hd: f(l1$1.hd, l2$1.hd), - tl: accu - }; - _l2 = l2$1.tl; - _l1 = l1$1.tl; - continue ; - }; -} - -function mapReverse2(l1, l2, f) { - return mapReverse2U(l1, l2, Curry.__2(f)); -} - -function forEach2U(_l1, _l2, f) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - return ; - } - if (!l2) { - return ; - } - f(l1.hd, l2.hd); - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function forEach2(l1, l2, f) { - forEach2U(l1, l2, Curry.__2(f)); -} - -function reduce2U(_l1, _l2, _accu, f) { - while(true) { - var accu = _accu; - var l2 = _l2; - var l1 = _l1; - if (!l1) { - return accu; - } - if (!l2) { - return accu; - } - _accu = f(accu, l1.hd, l2.hd); - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function reduce2(l1, l2, acc, f) { - return reduce2U(l1, l2, acc, Curry.__3(f)); -} - -function reduceReverse2UnsafeU(l1, l2, accu, f) { - if (l1 && l2) { - return f(reduceReverse2UnsafeU(l1.tl, l2.tl, accu, f), l1.hd, l2.hd); - } else { - return accu; - } -} - -function reduceReverse2U(l1, l2, acc, f) { - var len = length(l1); - if (len < 1000) { - return reduceReverse2UnsafeU(l1, l2, acc, f); - } else { - return Belt_Array.reduceReverse2U(toArray(l1), toArray(l2), acc, f); - } -} - -function reduceReverse2(l1, l2, acc, f) { - return reduceReverse2U(l1, l2, acc, Curry.__3(f)); -} - -function everyU(_xs, p) { - while(true) { - var xs = _xs; - if (!xs) { - return true; - } - if (!p(xs.hd)) { - return false; - } - _xs = xs.tl; - continue ; - }; -} - -function every(xs, p) { - return everyU(xs, Curry.__1(p)); -} - -function someU(_xs, p) { - while(true) { - var xs = _xs; - if (!xs) { - return false; - } - if (p(xs.hd)) { - return true; - } - _xs = xs.tl; - continue ; - }; -} - -function some(xs, p) { - return someU(xs, Curry.__1(p)); -} - -function every2U(_l1, _l2, p) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - return true; - } - if (!l2) { - return true; - } - if (!p(l1.hd, l2.hd)) { - return false; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function every2(l1, l2, p) { - return every2U(l1, l2, Curry.__2(p)); -} - -function cmpByLength(_l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - if (l2) { - return -1; - } else { - return 0; - } - } - if (!l2) { - return 1; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function cmpU(_l1, _l2, p) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - if (l2) { - return -1; - } else { - return 0; - } - } - if (!l2) { - return 1; - } - var c = p(l1.hd, l2.hd); - if (c !== 0) { - return c; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function cmp(l1, l2, f) { - return cmpU(l1, l2, Curry.__2(f)); -} - -function eqU(_l1, _l2, p) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - if (l2) { - return false; - } else { - return true; - } - } - if (!l2) { - return false; - } - if (!p(l1.hd, l2.hd)) { - return false; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function eq(l1, l2, f) { - return eqU(l1, l2, Curry.__2(f)); -} - -function some2U(_l1, _l2, p) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - return false; - } - if (!l2) { - return false; - } - if (p(l1.hd, l2.hd)) { - return true; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function some2(l1, l2, p) { - return some2U(l1, l2, Curry.__2(p)); -} - -function hasU(_xs, x, eq) { - while(true) { - var xs = _xs; - if (!xs) { - return false; - } - if (eq(xs.hd, x)) { - return true; - } - _xs = xs.tl; - continue ; - }; -} - -function has(xs, x, eq) { - return hasU(xs, x, Curry.__2(eq)); -} - -function getAssocU(_xs, x, eq) { - while(true) { - var xs = _xs; - if (!xs) { - return ; - } - var match = xs.hd; - if (eq(match[0], x)) { - return Caml_option.some(match[1]); - } - _xs = xs.tl; - continue ; - }; -} - -function getAssoc(xs, x, eq) { - return getAssocU(xs, x, Curry.__2(eq)); -} - -function hasAssocU(_xs, x, eq) { - while(true) { - var xs = _xs; - if (!xs) { - return false; - } - if (eq(xs.hd[0], x)) { - return true; - } - _xs = xs.tl; - continue ; - }; -} - -function hasAssoc(xs, x, eq) { - return hasAssocU(xs, x, Curry.__2(eq)); -} - -function removeAssocU(xs, x, eq) { - if (!xs) { - return /* [] */0; - } - var l = xs.tl; - var pair = xs.hd; - if (eq(pair[0], x)) { - return l; - } - var cell = { - hd: pair, - tl: /* [] */0 - }; - var removed = removeAssocAuxWithMap(l, x, cell, eq); - if (removed) { - return cell; - } else { - return xs; - } -} - -function removeAssoc(xs, x, eq) { - return removeAssocU(xs, x, Curry.__2(eq)); -} - -function setAssocU(xs, x, k, eq) { - if (!xs) { - return { - hd: [ - x, - k - ], - tl: /* [] */0 - }; - } - var l = xs.tl; - var pair = xs.hd; - if (eq(pair[0], x)) { - return { - hd: [ - x, - k - ], - tl: l - }; - } - var cell = { - hd: pair, - tl: /* [] */0 - }; - var replaced = setAssocAuxWithMap(l, x, k, cell, eq); - if (replaced) { - return cell; - } else { - return { - hd: [ - x, - k - ], - tl: xs - }; - } -} - -function setAssoc(xs, x, k, eq) { - return setAssocU(xs, x, k, Curry.__2(eq)); -} - -function sortU(xs, cmp) { - var arr = toArray(xs); - Belt_SortArray.stableSortInPlaceByU(arr, cmp); - return fromArray(arr); -} - -function sort(xs, cmp) { - return sortU(xs, Curry.__2(cmp)); -} - -function getByU(_xs, p) { - while(true) { - var xs = _xs; - if (!xs) { - return ; - } - var x = xs.hd; - if (p(x)) { - return Caml_option.some(x); - } - _xs = xs.tl; - continue ; - }; -} - -function getBy(xs, p) { - return getByU(xs, Curry.__1(p)); -} - -function keepU(_xs, p) { - while(true) { - var xs = _xs; - if (!xs) { - return /* [] */0; - } - var t = xs.tl; - var h = xs.hd; - if (p(h)) { - var cell = { - hd: h, - tl: /* [] */0 - }; - copyAuxWitFilter(p, t, cell); - return cell; - } - _xs = t; - continue ; - }; -} - -function keep(xs, p) { - return keepU(xs, Curry.__1(p)); -} - -function keepWithIndexU(xs, p) { - var _xs = xs; - var _i = 0; - while(true) { - var i = _i; - var xs$1 = _xs; - if (!xs$1) { - return /* [] */0; - } - var t = xs$1.tl; - var h = xs$1.hd; - if (p(h, i)) { - var cell = { - hd: h, - tl: /* [] */0 - }; - copyAuxWithFilterIndex(p, t, cell, i + 1 | 0); - return cell; - } - _i = i + 1 | 0; - _xs = t; - continue ; - }; -} - -function keepWithIndex(xs, p) { - return keepWithIndexU(xs, Curry.__2(p)); -} - -function keepMapU(_xs, p) { - while(true) { - var xs = _xs; - if (!xs) { - return /* [] */0; - } - var t = xs.tl; - var h = p(xs.hd); - if (h !== undefined) { - var cell = { - hd: Caml_option.valFromOption(h), - tl: /* [] */0 - }; - copyAuxWitFilterMap(p, t, cell); - return cell; - } - _xs = t; - continue ; - }; -} - -function keepMap(xs, p) { - return keepMapU(xs, Curry.__1(p)); -} - -function partitionU(l, p) { - if (!l) { - return [ - /* [] */0, - /* [] */0 - ]; - } - var h = l.hd; - var nextX = { - hd: h, - tl: /* [] */0 - }; - var nextY = { - hd: h, - tl: /* [] */0 - }; - var b = p(h); - partitionAux(p, l.tl, nextX, nextY); - if (b) { - return [ - nextX, - nextY.tl - ]; - } else { - return [ - nextX.tl, - nextY - ]; - } -} - -function partition(l, p) { - return partitionU(l, Curry.__1(p)); -} - -function unzip(xs) { - if (!xs) { - return [ - /* [] */0, - /* [] */0 - ]; - } - var match = xs.hd; - var cellX = { - hd: match[0], - tl: /* [] */0 - }; - var cellY = { - hd: match[1], - tl: /* [] */0 - }; - splitAux(xs.tl, cellX, cellY); - return [ - cellX, - cellY - ]; -} - -function zip(l1, l2) { - if (!l1) { - return /* [] */0; - } - if (!l2) { - return /* [] */0; - } - var cell = { - hd: [ - l1.hd, - l2.hd - ], - tl: /* [] */0 - }; - zipAux(l1.tl, l2.tl, cell); - return cell; -} - -var size = length; - -var filter = keep; - -var filterWithIndex = keepWithIndex; - -export { - length , - size , - head , - headExn , - tail , - tailExn , - add , - get , - getExn , - make , - makeByU , - makeBy , - shuffle , - drop , - take , - splitAt , - concat , - concatMany , - reverseConcat , - flatten , - mapU , - map , - zip , - zipByU , - zipBy , - mapWithIndexU , - mapWithIndex , - fromArray , - toArray , - reverse , - mapReverseU , - mapReverse , - forEachU , - forEach , - forEachWithIndexU , - forEachWithIndex , - reduceU , - reduce , - reduceWithIndexU , - reduceWithIndex , - reduceReverseU , - reduceReverse , - mapReverse2U , - mapReverse2 , - forEach2U , - forEach2 , - reduce2U , - reduce2 , - reduceReverse2U , - reduceReverse2 , - everyU , - every , - someU , - some , - every2U , - every2 , - some2U , - some2 , - cmpByLength , - cmpU , - cmp , - eqU , - eq , - hasU , - has , - getByU , - getBy , - keepU , - keep , - filter , - keepWithIndexU , - keepWithIndex , - filterWithIndex , - keepMapU , - keepMap , - partitionU , - partition , - unzip , - getAssocU , - getAssoc , - hasAssocU , - hasAssoc , - removeAssocU , - removeAssoc , - setAssocU , - setAssoc , - sortU , - sort , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Map.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Map.js deleted file mode 100644 index c62b4dc..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Map.js +++ /dev/null @@ -1,376 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_MapDict from "./belt_MapDict.js"; - -function fromArray(data, id) { - var cmp = id.cmp; - return { - cmp: cmp, - data: Belt_MapDict.fromArray(data, cmp) - }; -} - -function remove(m, x) { - var odata = m.data; - var cmp = m.cmp; - var newData = Belt_MapDict.remove(odata, x, cmp); - if (newData === odata) { - return m; - } else { - return { - cmp: cmp, - data: newData - }; - } -} - -function removeMany(m, x) { - var cmp = m.cmp; - var newData = Belt_MapDict.removeMany(m.data, x, cmp); - return { - cmp: cmp, - data: newData - }; -} - -function set(m, key, d) { - var cmp = m.cmp; - return { - cmp: cmp, - data: Belt_MapDict.set(m.data, key, d, cmp) - }; -} - -function mergeMany(m, e) { - var cmp = m.cmp; - return { - cmp: cmp, - data: Belt_MapDict.mergeMany(m.data, e, cmp) - }; -} - -function updateU(m, key, f) { - var cmp = m.cmp; - return { - cmp: cmp, - data: Belt_MapDict.updateU(m.data, key, f, cmp) - }; -} - -function update(m, key, f) { - return updateU(m, key, Curry.__1(f)); -} - -function split(m, x) { - var cmp = m.cmp; - var match = Belt_MapDict.split(m.data, x, cmp); - var match$1 = match[0]; - return [ - [ - { - cmp: cmp, - data: match$1[0] - }, - { - cmp: cmp, - data: match$1[1] - } - ], - match[1] - ]; -} - -function mergeU(s1, s2, f) { - var cmp = s1.cmp; - return { - cmp: cmp, - data: Belt_MapDict.mergeU(s1.data, s2.data, f, cmp) - }; -} - -function merge(s1, s2, f) { - return mergeU(s1, s2, Curry.__3(f)); -} - -function make(id) { - return { - cmp: id.cmp, - data: undefined - }; -} - -function isEmpty(map) { - return Belt_MapDict.isEmpty(map.data); -} - -function findFirstByU(m, f) { - return Belt_MapDict.findFirstByU(m.data, f); -} - -function findFirstBy(m, f) { - return Belt_MapDict.findFirstByU(m.data, Curry.__2(f)); -} - -function forEachU(m, f) { - Belt_MapDict.forEachU(m.data, f); -} - -function forEach(m, f) { - Belt_MapDict.forEachU(m.data, Curry.__2(f)); -} - -function reduceU(m, acc, f) { - return Belt_MapDict.reduceU(m.data, acc, f); -} - -function reduce(m, acc, f) { - return reduceU(m, acc, Curry.__3(f)); -} - -function everyU(m, f) { - return Belt_MapDict.everyU(m.data, f); -} - -function every(m, f) { - return Belt_MapDict.everyU(m.data, Curry.__2(f)); -} - -function someU(m, f) { - return Belt_MapDict.someU(m.data, f); -} - -function some(m, f) { - return Belt_MapDict.someU(m.data, Curry.__2(f)); -} - -function keepU(m, f) { - return { - cmp: m.cmp, - data: Belt_MapDict.keepU(m.data, f) - }; -} - -function keep(m, f) { - return keepU(m, Curry.__2(f)); -} - -function partitionU(m, p) { - var cmp = m.cmp; - var match = Belt_MapDict.partitionU(m.data, p); - return [ - { - cmp: cmp, - data: match[0] - }, - { - cmp: cmp, - data: match[1] - } - ]; -} - -function partition(m, p) { - return partitionU(m, Curry.__2(p)); -} - -function mapU(m, f) { - return { - cmp: m.cmp, - data: Belt_MapDict.mapU(m.data, f) - }; -} - -function map(m, f) { - return mapU(m, Curry.__1(f)); -} - -function mapWithKeyU(m, f) { - return { - cmp: m.cmp, - data: Belt_MapDict.mapWithKeyU(m.data, f) - }; -} - -function mapWithKey(m, f) { - return mapWithKeyU(m, Curry.__2(f)); -} - -function size(map) { - return Belt_MapDict.size(map.data); -} - -function toList(map) { - return Belt_MapDict.toList(map.data); -} - -function toArray(m) { - return Belt_MapDict.toArray(m.data); -} - -function keysToArray(m) { - return Belt_MapDict.keysToArray(m.data); -} - -function valuesToArray(m) { - return Belt_MapDict.valuesToArray(m.data); -} - -function minKey(m) { - return Belt_MapDict.minKey(m.data); -} - -function minKeyUndefined(m) { - return Belt_MapDict.minKeyUndefined(m.data); -} - -function maxKey(m) { - return Belt_MapDict.maxKey(m.data); -} - -function maxKeyUndefined(m) { - return Belt_MapDict.maxKeyUndefined(m.data); -} - -function minimum(m) { - return Belt_MapDict.minimum(m.data); -} - -function minUndefined(m) { - return Belt_MapDict.minUndefined(m.data); -} - -function maximum(m) { - return Belt_MapDict.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_MapDict.maxUndefined(m.data); -} - -function get(map, x) { - return Belt_MapDict.get(map.data, x, map.cmp); -} - -function getUndefined(map, x) { - return Belt_MapDict.getUndefined(map.data, x, map.cmp); -} - -function getWithDefault(map, x, def) { - return Belt_MapDict.getWithDefault(map.data, x, def, map.cmp); -} - -function getExn(map, x) { - return Belt_MapDict.getExn(map.data, x, map.cmp); -} - -function has(map, x) { - return Belt_MapDict.has(map.data, x, map.cmp); -} - -function checkInvariantInternal(m) { - Belt_MapDict.checkInvariantInternal(m.data); -} - -function eqU(m1, m2, veq) { - return Belt_MapDict.eqU(m1.data, m2.data, m1.cmp, veq); -} - -function eq(m1, m2, veq) { - return eqU(m1, m2, Curry.__2(veq)); -} - -function cmpU(m1, m2, vcmp) { - return Belt_MapDict.cmpU(m1.data, m2.data, m1.cmp, vcmp); -} - -function cmp(m1, m2, vcmp) { - return cmpU(m1, m2, Curry.__2(vcmp)); -} - -function getData(m) { - return m.data; -} - -function getId(m) { - var cmp = m.cmp; - return { - cmp: cmp - }; -} - -function packIdData(id, data) { - return { - cmp: id.cmp, - data: data - }; -} - -var Int; - -var $$String; - -var Dict; - -export { - Int , - $$String , - Dict , - make , - isEmpty , - has , - cmpU , - cmp , - eqU , - eq , - findFirstByU , - findFirstBy , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - size , - toArray , - toList , - fromArray , - keysToArray , - valuesToArray , - minKey , - minKeyUndefined , - maxKey , - maxKeyUndefined , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getWithDefault , - getExn , - remove , - removeMany , - set , - updateU , - update , - mergeMany , - mergeU , - merge , - keepU , - keep , - partitionU , - partition , - split , - mapU , - map , - mapWithKeyU , - mapWithKey , - getData , - getId , - packIdData , - checkInvariantInternal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MapDict.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MapDict.js deleted file mode 100644 index 2d93c85..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MapDict.js +++ /dev/null @@ -1,417 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_internalAVLtree from "./belt_internalAVLtree.js"; - -function set(t, newK, newD, cmp) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(newK, newD); - } - var k = t.k; - var c = cmp(newK, k); - if (c === 0) { - return Belt_internalAVLtree.updateValue(t, newD); - } - var l = t.l; - var r = t.r; - var v = t.v; - if (c < 0) { - return Belt_internalAVLtree.bal(set(l, newK, newD, cmp), k, v, r); - } else { - return Belt_internalAVLtree.bal(l, k, v, set(r, newK, newD, cmp)); - } -} - -function updateU(t, newK, f, cmp) { - if (t !== undefined) { - var k = t.k; - var c = cmp(newK, k); - if (c === 0) { - var newD = f(Caml_option.some(t.v)); - if (newD !== undefined) { - return Belt_internalAVLtree.updateValue(t, Caml_option.valFromOption(newD)); - } - var l = t.l; - var r = t.r; - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var kr = { - contents: r.k - }; - var vr = { - contents: r.v - }; - var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - var l$1 = t.l; - var r$2 = t.r; - var v = t.v; - if (c < 0) { - var ll = updateU(l$1, newK, f, cmp); - if (l$1 === ll) { - return t; - } else { - return Belt_internalAVLtree.bal(ll, k, v, r$2); - } - } - var rr = updateU(r$2, newK, f, cmp); - if (r$2 === rr) { - return t; - } else { - return Belt_internalAVLtree.bal(l$1, k, v, rr); - } - } - var newD$1 = f(undefined); - if (newD$1 !== undefined) { - return Belt_internalAVLtree.singleton(newK, Caml_option.valFromOption(newD$1)); - } else { - return t; - } -} - -function update(t, newK, f, cmp) { - return updateU(t, newK, Curry.__1(f), cmp); -} - -function removeAux0(n, x, cmp) { - var v = n.k; - var l = n.l; - var r = n.r; - var c = cmp(x, v); - if (c === 0) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var kr = { - contents: r.k - }; - var vr = { - contents: r.v - }; - var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - if (c < 0) { - if (l === undefined) { - return n; - } - var ll = removeAux0(l, x, cmp); - if (ll === l) { - return n; - } else { - return Belt_internalAVLtree.bal(ll, v, n.v, r); - } - } - if (r === undefined) { - return n; - } - var rr = removeAux0(r, x, cmp); - if (rr === r) { - return n; - } else { - return Belt_internalAVLtree.bal(l, v, n.v, rr); - } -} - -function remove(n, x, cmp) { - if (n !== undefined) { - return removeAux0(n, x, cmp); - } - -} - -function mergeMany(h, arr, cmp) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var match = arr[i]; - v = set(v, match[0], match[1], cmp); - } - return v; -} - -function splitAuxPivot(n, x, pres, cmp) { - var v = n.k; - var d = n.v; - var l = n.l; - var r = n.r; - var c = cmp(x, v); - if (c === 0) { - pres.contents = Caml_option.some(d); - return [ - l, - r - ]; - } - if (c < 0) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - var match = splitAuxPivot(l, x, pres, cmp); - return [ - match[0], - Belt_internalAVLtree.join(match[1], v, d, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - var match$1 = splitAuxPivot(r, x, pres, cmp); - return [ - Belt_internalAVLtree.join(l, v, d, match$1[0]), - match$1[1] - ]; -} - -function split(n, x, cmp) { - if (n === undefined) { - return [ - [ - undefined, - undefined - ], - undefined - ]; - } - var pres = { - contents: undefined - }; - var v = splitAuxPivot(n, x, pres, cmp); - return [ - v, - pres.contents - ]; -} - -function mergeU(s1, s2, f, cmp) { - if (s1 === undefined) { - if (s2 !== undefined) { - return Belt_internalAVLtree.keepMapU(s2, (function (k, v) { - return f(k, undefined, Caml_option.some(v)); - })); - } else { - return ; - } - } - if (s2 === undefined) { - return Belt_internalAVLtree.keepMapU(s1, (function (k, v) { - return f(k, Caml_option.some(v), undefined); - })); - } - if (s1.h >= s2.h) { - var v1 = s1.k; - var d1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var d2 = { - contents: undefined - }; - var match = splitAuxPivot(s2, v1, d2, cmp); - var d2$1 = d2.contents; - var newLeft = mergeU(l1, match[0], f, cmp); - var newD = f(v1, Caml_option.some(d1), d2$1); - var newRight = mergeU(r1, match[1], f, cmp); - return Belt_internalAVLtree.concatOrJoin(newLeft, v1, newD, newRight); - } - var v2 = s2.k; - var d2$2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - var d1$1 = { - contents: undefined - }; - var match$1 = splitAuxPivot(s1, v2, d1$1, cmp); - var d1$2 = d1$1.contents; - var newLeft$1 = mergeU(match$1[0], l2, f, cmp); - var newD$1 = f(v2, d1$2, Caml_option.some(d2$2)); - var newRight$1 = mergeU(match$1[1], r2, f, cmp); - return Belt_internalAVLtree.concatOrJoin(newLeft$1, v2, newD$1, newRight$1); -} - -function merge(s1, s2, f, cmp) { - return mergeU(s1, s2, Curry.__3(f), cmp); -} - -function removeMany(t, keys, cmp) { - var len = keys.length; - if (t !== undefined) { - var _t = t; - var _i = 0; - while(true) { - var i = _i; - var t$1 = _t; - if (i >= len) { - return t$1; - } - var ele = keys[i]; - var u = removeAux0(t$1, ele, cmp); - if (u === undefined) { - return u; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; - } - -} - -var empty; - -var isEmpty = Belt_internalAVLtree.isEmpty; - -var has = Belt_internalAVLtree.has; - -var cmpU = Belt_internalAVLtree.cmpU; - -var cmp = Belt_internalAVLtree.cmp; - -var eqU = Belt_internalAVLtree.eqU; - -var eq = Belt_internalAVLtree.eq; - -var findFirstByU = Belt_internalAVLtree.findFirstByU; - -var findFirstBy = Belt_internalAVLtree.findFirstBy; - -var forEachU = Belt_internalAVLtree.forEachU; - -var forEach = Belt_internalAVLtree.forEach; - -var reduceU = Belt_internalAVLtree.reduceU; - -var reduce = Belt_internalAVLtree.reduce; - -var everyU = Belt_internalAVLtree.everyU; - -var every = Belt_internalAVLtree.every; - -var someU = Belt_internalAVLtree.someU; - -var some = Belt_internalAVLtree.some; - -var size = Belt_internalAVLtree.size; - -var toList = Belt_internalAVLtree.toList; - -var toArray = Belt_internalAVLtree.toArray; - -var fromArray = Belt_internalAVLtree.fromArray; - -var keysToArray = Belt_internalAVLtree.keysToArray; - -var valuesToArray = Belt_internalAVLtree.valuesToArray; - -var minKey = Belt_internalAVLtree.minKey; - -var minKeyUndefined = Belt_internalAVLtree.minKeyUndefined; - -var maxKey = Belt_internalAVLtree.maxKey; - -var maxKeyUndefined = Belt_internalAVLtree.maxKeyUndefined; - -var minimum = Belt_internalAVLtree.minimum; - -var minUndefined = Belt_internalAVLtree.minUndefined; - -var maximum = Belt_internalAVLtree.maximum; - -var maxUndefined = Belt_internalAVLtree.maxUndefined; - -var get = Belt_internalAVLtree.get; - -var getUndefined = Belt_internalAVLtree.getUndefined; - -var getWithDefault = Belt_internalAVLtree.getWithDefault; - -var getExn = Belt_internalAVLtree.getExn; - -var checkInvariantInternal = Belt_internalAVLtree.checkInvariantInternal; - -var keepU = Belt_internalAVLtree.keepSharedU; - -var keep = Belt_internalAVLtree.keepShared; - -var partitionU = Belt_internalAVLtree.partitionSharedU; - -var partition = Belt_internalAVLtree.partitionShared; - -var mapU = Belt_internalAVLtree.mapU; - -var map = Belt_internalAVLtree.map; - -var mapWithKeyU = Belt_internalAVLtree.mapWithKeyU; - -var mapWithKey = Belt_internalAVLtree.mapWithKey; - -export { - empty , - isEmpty , - has , - cmpU , - cmp , - eqU , - eq , - findFirstByU , - findFirstBy , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - size , - toList , - toArray , - fromArray , - keysToArray , - valuesToArray , - minKey , - minKeyUndefined , - maxKey , - maxKeyUndefined , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getWithDefault , - getExn , - checkInvariantInternal , - remove , - removeMany , - set , - updateU , - update , - mergeU , - merge , - mergeMany , - keepU , - keep , - partitionU , - partition , - split , - mapU , - map , - mapWithKeyU , - mapWithKey , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MapInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MapInt.js deleted file mode 100644 index 97f186d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MapInt.js +++ /dev/null @@ -1,307 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_internalMapInt from "./belt_internalMapInt.js"; -import * as Belt_internalAVLtree from "./belt_internalAVLtree.js"; - -function set(t, newK, newD) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(newK, newD); - } - var k = t.k; - if (newK === k) { - return Belt_internalAVLtree.updateValue(t, newD); - } - var v = t.v; - if (newK < k) { - return Belt_internalAVLtree.bal(set(t.l, newK, newD), k, v, t.r); - } else { - return Belt_internalAVLtree.bal(t.l, k, v, set(t.r, newK, newD)); - } -} - -function updateU(t, x, f) { - if (t !== undefined) { - var k = t.k; - if (x === k) { - var data = f(Caml_option.some(t.v)); - if (data !== undefined) { - return Belt_internalAVLtree.updateValue(t, Caml_option.valFromOption(data)); - } - var l = t.l; - var r = t.r; - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var kr = { - contents: r.k - }; - var vr = { - contents: r.v - }; - var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - var v = t.v; - var l$1 = t.l; - var r$2 = t.r; - if (x < k) { - var ll = updateU(l$1, x, f); - if (l$1 === ll) { - return t; - } else { - return Belt_internalAVLtree.bal(ll, k, v, r$2); - } - } - var rr = updateU(r$2, x, f); - if (r$2 === rr) { - return t; - } else { - return Belt_internalAVLtree.bal(l$1, k, v, rr); - } - } - var data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Caml_option.valFromOption(data$1)); - } else { - return t; - } -} - -function update(t, x, f) { - return updateU(t, x, Curry.__1(f)); -} - -function removeAux(n, x) { - var v = n.k; - var l = n.l; - var r = n.r; - if (x === v) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var kr = { - contents: r.k - }; - var vr = { - contents: r.v - }; - var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - if (x < v) { - if (l === undefined) { - return n; - } - var ll = removeAux(l, x); - if (ll === l) { - return n; - } else { - return Belt_internalAVLtree.bal(ll, v, n.v, r); - } - } - if (r === undefined) { - return n; - } - var rr = removeAux(r, x); - return Belt_internalAVLtree.bal(l, v, n.v, rr); -} - -function remove(n, x) { - if (n !== undefined) { - return removeAux(n, x); - } - -} - -function removeMany(t, keys) { - var len = keys.length; - if (t !== undefined) { - var _t = t; - var _i = 0; - while(true) { - var i = _i; - var t$1 = _t; - if (i >= len) { - return t$1; - } - var ele = keys[i]; - var u = removeAux(t$1, ele); - if (u === undefined) { - return u; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; - } - -} - -function mergeMany(h, arr) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var match = arr[i]; - v = set(v, match[0], match[1]); - } - return v; -} - -var empty; - -var isEmpty = Belt_internalAVLtree.isEmpty; - -var has = Belt_internalMapInt.has; - -var cmpU = Belt_internalMapInt.cmpU; - -var cmp = Belt_internalMapInt.cmp; - -var eqU = Belt_internalMapInt.eqU; - -var eq = Belt_internalMapInt.eq; - -var findFirstByU = Belt_internalAVLtree.findFirstByU; - -var findFirstBy = Belt_internalAVLtree.findFirstBy; - -var forEachU = Belt_internalAVLtree.forEachU; - -var forEach = Belt_internalAVLtree.forEach; - -var reduceU = Belt_internalAVLtree.reduceU; - -var reduce = Belt_internalAVLtree.reduce; - -var everyU = Belt_internalAVLtree.everyU; - -var every = Belt_internalAVLtree.every; - -var someU = Belt_internalAVLtree.someU; - -var some = Belt_internalAVLtree.some; - -var size = Belt_internalAVLtree.size; - -var toList = Belt_internalAVLtree.toList; - -var toArray = Belt_internalAVLtree.toArray; - -var fromArray = Belt_internalMapInt.fromArray; - -var keysToArray = Belt_internalAVLtree.keysToArray; - -var valuesToArray = Belt_internalAVLtree.valuesToArray; - -var minKey = Belt_internalAVLtree.minKey; - -var minKeyUndefined = Belt_internalAVLtree.minKeyUndefined; - -var maxKey = Belt_internalAVLtree.maxKey; - -var maxKeyUndefined = Belt_internalAVLtree.maxKeyUndefined; - -var minimum = Belt_internalAVLtree.minimum; - -var minUndefined = Belt_internalAVLtree.minUndefined; - -var maximum = Belt_internalAVLtree.maximum; - -var maxUndefined = Belt_internalAVLtree.maxUndefined; - -var get = Belt_internalMapInt.get; - -var getUndefined = Belt_internalMapInt.getUndefined; - -var getWithDefault = Belt_internalMapInt.getWithDefault; - -var getExn = Belt_internalMapInt.getExn; - -var checkInvariantInternal = Belt_internalAVLtree.checkInvariantInternal; - -var mergeU = Belt_internalMapInt.mergeU; - -var merge = Belt_internalMapInt.merge; - -var keepU = Belt_internalAVLtree.keepSharedU; - -var keep = Belt_internalAVLtree.keepShared; - -var partitionU = Belt_internalAVLtree.partitionSharedU; - -var partition = Belt_internalAVLtree.partitionShared; - -var split = Belt_internalMapInt.split; - -var mapU = Belt_internalAVLtree.mapU; - -var map = Belt_internalAVLtree.map; - -var mapWithKeyU = Belt_internalAVLtree.mapWithKeyU; - -var mapWithKey = Belt_internalAVLtree.mapWithKey; - -export { - empty , - isEmpty , - has , - cmpU , - cmp , - eqU , - eq , - findFirstByU , - findFirstBy , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - size , - toList , - toArray , - fromArray , - keysToArray , - valuesToArray , - minKey , - minKeyUndefined , - maxKey , - maxKeyUndefined , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getWithDefault , - getExn , - checkInvariantInternal , - remove , - removeMany , - set , - updateU , - update , - mergeU , - merge , - mergeMany , - keepU , - keep , - partitionU , - partition , - split , - mapU , - map , - mapWithKeyU , - mapWithKey , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MapString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MapString.js deleted file mode 100644 index b6e5e05..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MapString.js +++ /dev/null @@ -1,307 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_internalAVLtree from "./belt_internalAVLtree.js"; -import * as Belt_internalMapString from "./belt_internalMapString.js"; - -function set(t, newK, newD) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(newK, newD); - } - var k = t.k; - if (newK === k) { - return Belt_internalAVLtree.updateValue(t, newD); - } - var v = t.v; - if (newK < k) { - return Belt_internalAVLtree.bal(set(t.l, newK, newD), k, v, t.r); - } else { - return Belt_internalAVLtree.bal(t.l, k, v, set(t.r, newK, newD)); - } -} - -function updateU(t, x, f) { - if (t !== undefined) { - var k = t.k; - if (x === k) { - var data = f(Caml_option.some(t.v)); - if (data !== undefined) { - return Belt_internalAVLtree.updateValue(t, Caml_option.valFromOption(data)); - } - var l = t.l; - var r = t.r; - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var kr = { - contents: r.k - }; - var vr = { - contents: r.v - }; - var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - var v = t.v; - var l$1 = t.l; - var r$2 = t.r; - if (x < k) { - var ll = updateU(l$1, x, f); - if (l$1 === ll) { - return t; - } else { - return Belt_internalAVLtree.bal(ll, k, v, r$2); - } - } - var rr = updateU(r$2, x, f); - if (r$2 === rr) { - return t; - } else { - return Belt_internalAVLtree.bal(l$1, k, v, rr); - } - } - var data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Caml_option.valFromOption(data$1)); - } else { - return t; - } -} - -function update(t, x, f) { - return updateU(t, x, Curry.__1(f)); -} - -function removeAux(n, x) { - var v = n.k; - var l = n.l; - var r = n.r; - if (x === v) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var kr = { - contents: r.k - }; - var vr = { - contents: r.v - }; - var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); - } - if (x < v) { - if (l === undefined) { - return n; - } - var ll = removeAux(l, x); - if (ll === l) { - return n; - } else { - return Belt_internalAVLtree.bal(ll, v, n.v, r); - } - } - if (r === undefined) { - return n; - } - var rr = removeAux(r, x); - return Belt_internalAVLtree.bal(l, v, n.v, rr); -} - -function remove(n, x) { - if (n !== undefined) { - return removeAux(n, x); - } - -} - -function removeMany(t, keys) { - var len = keys.length; - if (t !== undefined) { - var _t = t; - var _i = 0; - while(true) { - var i = _i; - var t$1 = _t; - if (i >= len) { - return t$1; - } - var ele = keys[i]; - var u = removeAux(t$1, ele); - if (u === undefined) { - return u; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; - } - -} - -function mergeMany(h, arr) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var match = arr[i]; - v = set(v, match[0], match[1]); - } - return v; -} - -var empty; - -var isEmpty = Belt_internalAVLtree.isEmpty; - -var has = Belt_internalMapString.has; - -var cmpU = Belt_internalMapString.cmpU; - -var cmp = Belt_internalMapString.cmp; - -var eqU = Belt_internalMapString.eqU; - -var eq = Belt_internalMapString.eq; - -var findFirstByU = Belt_internalAVLtree.findFirstByU; - -var findFirstBy = Belt_internalAVLtree.findFirstBy; - -var forEachU = Belt_internalAVLtree.forEachU; - -var forEach = Belt_internalAVLtree.forEach; - -var reduceU = Belt_internalAVLtree.reduceU; - -var reduce = Belt_internalAVLtree.reduce; - -var everyU = Belt_internalAVLtree.everyU; - -var every = Belt_internalAVLtree.every; - -var someU = Belt_internalAVLtree.someU; - -var some = Belt_internalAVLtree.some; - -var size = Belt_internalAVLtree.size; - -var toList = Belt_internalAVLtree.toList; - -var toArray = Belt_internalAVLtree.toArray; - -var fromArray = Belt_internalMapString.fromArray; - -var keysToArray = Belt_internalAVLtree.keysToArray; - -var valuesToArray = Belt_internalAVLtree.valuesToArray; - -var minKey = Belt_internalAVLtree.minKey; - -var minKeyUndefined = Belt_internalAVLtree.minKeyUndefined; - -var maxKey = Belt_internalAVLtree.maxKey; - -var maxKeyUndefined = Belt_internalAVLtree.maxKeyUndefined; - -var minimum = Belt_internalAVLtree.minimum; - -var minUndefined = Belt_internalAVLtree.minUndefined; - -var maximum = Belt_internalAVLtree.maximum; - -var maxUndefined = Belt_internalAVLtree.maxUndefined; - -var get = Belt_internalMapString.get; - -var getUndefined = Belt_internalMapString.getUndefined; - -var getWithDefault = Belt_internalMapString.getWithDefault; - -var getExn = Belt_internalMapString.getExn; - -var checkInvariantInternal = Belt_internalAVLtree.checkInvariantInternal; - -var mergeU = Belt_internalMapString.mergeU; - -var merge = Belt_internalMapString.merge; - -var keepU = Belt_internalAVLtree.keepSharedU; - -var keep = Belt_internalAVLtree.keepShared; - -var partitionU = Belt_internalAVLtree.partitionSharedU; - -var partition = Belt_internalAVLtree.partitionShared; - -var split = Belt_internalMapString.split; - -var mapU = Belt_internalAVLtree.mapU; - -var map = Belt_internalAVLtree.map; - -var mapWithKeyU = Belt_internalAVLtree.mapWithKeyU; - -var mapWithKey = Belt_internalAVLtree.mapWithKey; - -export { - empty , - isEmpty , - has , - cmpU , - cmp , - eqU , - eq , - findFirstByU , - findFirstBy , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - size , - toList , - toArray , - fromArray , - keysToArray , - valuesToArray , - minKey , - minKeyUndefined , - maxKey , - maxKeyUndefined , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getWithDefault , - getExn , - checkInvariantInternal , - remove , - removeMany , - set , - updateU , - update , - mergeU , - merge , - mergeMany , - keepU , - keep , - partitionU , - partition , - split , - mapU , - map , - mapWithKeyU , - mapWithKey , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMap.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMap.js deleted file mode 100644 index f12cf3f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMap.js +++ /dev/null @@ -1,395 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_internalAVLtree from "./belt_internalAVLtree.js"; - -function removeMutateAux(nt, x, cmp) { - var k = nt.k; - var c = cmp(x, k); - if (c === 0) { - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLtree.balMutate(nt); - } else { - return l; - } - } else if (r !== undefined) { - return r; - } else { - return l; - } - } - if (c < 0) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeMutateAux(l$1, x, cmp); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeMutateAux(r$1, x, cmp); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, k) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var newRoot = removeMutateAux(oldRoot, k, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function removeArrayMutateAux(_t, xs, _i, len, cmp) { - while(true) { - var i = _i; - var t = _t; - if (i >= len) { - return t; - } - var ele = xs[i]; - var u = removeMutateAux(t, ele, cmp); - if (u === undefined) { - return ; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; -} - -function removeMany(d, xs) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var len = xs.length; - var newRoot = removeArrayMutateAux(oldRoot, xs, 0, len, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function updateDone(t, x, f, cmp) { - if (t !== undefined) { - var k = t.k; - var c = cmp(x, k); - if (c === 0) { - var data = f(Caml_option.some(t.v)); - if (data !== undefined) { - t.v = Caml_option.valFromOption(data); - return t; - } - var l = t.l; - var r = t.r; - if (l !== undefined) { - if (r !== undefined) { - t.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(t, r); - return Belt_internalAVLtree.balMutate(t); - } else { - return l; - } - } else if (r !== undefined) { - return r; - } else { - return l; - } - } - if (c < 0) { - t.l = updateDone(t.l, x, f, cmp); - } else { - t.r = updateDone(t.r, x, f, cmp); - } - return Belt_internalAVLtree.balMutate(t); - } - var data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Caml_option.valFromOption(data$1)); - } else { - return t; - } -} - -function updateU(t, x, f) { - var oldRoot = t.data; - var newRoot = updateDone(oldRoot, x, f, t.cmp); - if (newRoot !== oldRoot) { - t.data = newRoot; - return ; - } - -} - -function update(t, x, f) { - updateU(t, x, Curry.__1(f)); -} - -function make(id) { - return { - cmp: id.cmp, - data: undefined - }; -} - -function clear(m) { - m.data = undefined; -} - -function isEmpty(d) { - var x = d.data; - return x === undefined; -} - -function minKey(m) { - return Belt_internalAVLtree.minKey(m.data); -} - -function minKeyUndefined(m) { - return Belt_internalAVLtree.minKeyUndefined(m.data); -} - -function maxKey(m) { - return Belt_internalAVLtree.maxKey(m.data); -} - -function maxKeyUndefined(m) { - return Belt_internalAVLtree.maxKeyUndefined(m.data); -} - -function minimum(m) { - return Belt_internalAVLtree.minimum(m.data); -} - -function minUndefined(m) { - return Belt_internalAVLtree.minUndefined(m.data); -} - -function maximum(m) { - return Belt_internalAVLtree.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_internalAVLtree.maxUndefined(m.data); -} - -function forEachU(d, f) { - Belt_internalAVLtree.forEachU(d.data, f); -} - -function forEach(d, f) { - Belt_internalAVLtree.forEachU(d.data, Curry.__2(f)); -} - -function reduceU(d, acc, cb) { - return Belt_internalAVLtree.reduceU(d.data, acc, cb); -} - -function reduce(d, acc, cb) { - return reduceU(d, acc, Curry.__3(cb)); -} - -function everyU(d, p) { - return Belt_internalAVLtree.everyU(d.data, p); -} - -function every(d, p) { - return Belt_internalAVLtree.everyU(d.data, Curry.__2(p)); -} - -function someU(d, p) { - return Belt_internalAVLtree.someU(d.data, p); -} - -function some(d, p) { - return Belt_internalAVLtree.someU(d.data, Curry.__2(p)); -} - -function size(d) { - return Belt_internalAVLtree.size(d.data); -} - -function toList(d) { - return Belt_internalAVLtree.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLtree.toArray(d.data); -} - -function keysToArray(d) { - return Belt_internalAVLtree.keysToArray(d.data); -} - -function valuesToArray(d) { - return Belt_internalAVLtree.valuesToArray(d.data); -} - -function checkInvariantInternal(d) { - Belt_internalAVLtree.checkInvariantInternal(d.data); -} - -function cmpU(m1, m2, cmp) { - return Belt_internalAVLtree.cmpU(m1.data, m2.data, m1.cmp, cmp); -} - -function cmp(m1, m2, cmp$1) { - return cmpU(m1, m2, Curry.__2(cmp$1)); -} - -function eqU(m1, m2, cmp) { - return Belt_internalAVLtree.eqU(m1.data, m2.data, m1.cmp, cmp); -} - -function eq(m1, m2, cmp) { - return eqU(m1, m2, Curry.__2(cmp)); -} - -function mapU(m, f) { - return { - cmp: m.cmp, - data: Belt_internalAVLtree.mapU(m.data, f) - }; -} - -function map(m, f) { - return mapU(m, Curry.__1(f)); -} - -function mapWithKeyU(m, f) { - return { - cmp: m.cmp, - data: Belt_internalAVLtree.mapWithKeyU(m.data, f) - }; -} - -function mapWithKey(m, f) { - return mapWithKeyU(m, Curry.__2(f)); -} - -function get(m, x) { - return Belt_internalAVLtree.get(m.data, x, m.cmp); -} - -function getUndefined(m, x) { - return Belt_internalAVLtree.getUndefined(m.data, x, m.cmp); -} - -function getWithDefault(m, x, def) { - return Belt_internalAVLtree.getWithDefault(m.data, x, def, m.cmp); -} - -function getExn(m, x) { - return Belt_internalAVLtree.getExn(m.data, x, m.cmp); -} - -function has(m, x) { - return Belt_internalAVLtree.has(m.data, x, m.cmp); -} - -function fromArray(data, id) { - var cmp = id.cmp; - return { - cmp: cmp, - data: Belt_internalAVLtree.fromArray(data, cmp) - }; -} - -function set(m, e, v) { - var oldRoot = m.data; - var newRoot = Belt_internalAVLtree.updateMutate(oldRoot, e, v, m.cmp); - if (newRoot !== oldRoot) { - m.data = newRoot; - return ; - } - -} - -function mergeManyAux(t, xs, cmp) { - var v = t; - for(var i = 0 ,i_finish = xs.length; i < i_finish; ++i){ - var match = xs[i]; - v = Belt_internalAVLtree.updateMutate(v, match[0], match[1], cmp); - } - return v; -} - -function mergeMany(d, xs) { - var oldRoot = d.data; - var newRoot = mergeManyAux(oldRoot, xs, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -var Int; - -var $$String; - -export { - Int , - $$String , - make , - clear , - isEmpty , - has , - cmpU , - cmp , - eqU , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - size , - toList , - toArray , - fromArray , - keysToArray , - valuesToArray , - minKey , - minKeyUndefined , - maxKey , - maxKeyUndefined , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getWithDefault , - getExn , - checkInvariantInternal , - remove , - removeMany , - set , - updateU , - update , - mergeMany , - mapU , - map , - mapWithKeyU , - mapWithKey , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMapInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMapInt.js deleted file mode 100644 index 6dbcb14..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMapInt.js +++ /dev/null @@ -1,362 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_internalMapInt from "./belt_internalMapInt.js"; -import * as Belt_internalAVLtree from "./belt_internalAVLtree.js"; - -function make(param) { - return { - data: undefined - }; -} - -function isEmpty(m) { - var x = m.data; - return x === undefined; -} - -function clear(m) { - m.data = undefined; -} - -function minKeyUndefined(m) { - return Belt_internalAVLtree.minKeyUndefined(m.data); -} - -function minKey(m) { - return Belt_internalAVLtree.minKey(m.data); -} - -function maxKeyUndefined(m) { - return Belt_internalAVLtree.maxKeyUndefined(m.data); -} - -function maxKey(m) { - return Belt_internalAVLtree.maxKey(m.data); -} - -function minimum(m) { - return Belt_internalAVLtree.minimum(m.data); -} - -function minUndefined(m) { - return Belt_internalAVLtree.minUndefined(m.data); -} - -function maximum(m) { - return Belt_internalAVLtree.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_internalAVLtree.maxUndefined(m.data); -} - -function set(m, k, v) { - var old_data = m.data; - var v$1 = Belt_internalMapInt.addMutate(old_data, k, v); - if (v$1 !== old_data) { - m.data = v$1; - return ; - } - -} - -function forEachU(d, f) { - Belt_internalAVLtree.forEachU(d.data, f); -} - -function forEach(d, f) { - Belt_internalAVLtree.forEachU(d.data, Curry.__2(f)); -} - -function mapU(d, f) { - return { - data: Belt_internalAVLtree.mapU(d.data, f) - }; -} - -function map(d, f) { - return mapU(d, Curry.__1(f)); -} - -function mapWithKeyU(d, f) { - return { - data: Belt_internalAVLtree.mapWithKeyU(d.data, f) - }; -} - -function mapWithKey(d, f) { - return mapWithKeyU(d, Curry.__2(f)); -} - -function reduceU(d, acc, f) { - return Belt_internalAVLtree.reduceU(d.data, acc, f); -} - -function reduce(d, acc, f) { - return reduceU(d, acc, Curry.__3(f)); -} - -function everyU(d, f) { - return Belt_internalAVLtree.everyU(d.data, f); -} - -function every(d, f) { - return Belt_internalAVLtree.everyU(d.data, Curry.__2(f)); -} - -function someU(d, f) { - return Belt_internalAVLtree.someU(d.data, f); -} - -function some(d, f) { - return Belt_internalAVLtree.someU(d.data, Curry.__2(f)); -} - -function size(d) { - return Belt_internalAVLtree.size(d.data); -} - -function toList(d) { - return Belt_internalAVLtree.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLtree.toArray(d.data); -} - -function keysToArray(d) { - return Belt_internalAVLtree.keysToArray(d.data); -} - -function valuesToArray(d) { - return Belt_internalAVLtree.valuesToArray(d.data); -} - -function checkInvariantInternal(d) { - Belt_internalAVLtree.checkInvariantInternal(d.data); -} - -function has(d, v) { - return Belt_internalMapInt.has(d.data, v); -} - -function removeMutateAux(nt, x) { - var k = nt.k; - if (x === k) { - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLtree.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeMutateAux(l$1, x); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeMutateAux(r$1, x); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var newRoot = removeMutateAux(oldRoot, v); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function updateDone(t, x, f) { - if (t !== undefined) { - var k = t.k; - if (k === x) { - var data = f(Caml_option.some(t.v)); - if (data !== undefined) { - t.v = Caml_option.valFromOption(data); - return t; - } - var l = t.l; - var r = t.r; - if (l !== undefined) { - if (r !== undefined) { - t.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(t, r); - return Belt_internalAVLtree.balMutate(t); - } else { - return l; - } - } else { - return r; - } - } - var l$1 = t.l; - var r$1 = t.r; - if (x < k) { - var ll = updateDone(l$1, x, f); - t.l = ll; - } else { - t.r = updateDone(r$1, x, f); - } - return Belt_internalAVLtree.balMutate(t); - } - var data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Caml_option.valFromOption(data$1)); - } else { - return t; - } -} - -function updateU(t, x, f) { - var oldRoot = t.data; - var newRoot = updateDone(oldRoot, x, f); - if (newRoot !== oldRoot) { - t.data = newRoot; - return ; - } - -} - -function update(t, x, f) { - updateU(t, x, Curry.__1(f)); -} - -function removeArrayMutateAux(_t, xs, _i, len) { - while(true) { - var i = _i; - var t = _t; - if (i >= len) { - return t; - } - var ele = xs[i]; - var u = removeMutateAux(t, ele); - if (u === undefined) { - return ; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; -} - -function removeMany(d, xs) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var len = xs.length; - var newRoot = removeArrayMutateAux(oldRoot, xs, 0, len); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function fromArray(xs) { - return { - data: Belt_internalMapInt.fromArray(xs) - }; -} - -function cmpU(d0, d1, f) { - return Belt_internalMapInt.cmpU(d0.data, d1.data, f); -} - -function cmp(d0, d1, f) { - return cmpU(d0, d1, Curry.__2(f)); -} - -function eqU(d0, d1, f) { - return Belt_internalMapInt.eqU(d0.data, d1.data, f); -} - -function eq(d0, d1, f) { - return eqU(d0, d1, Curry.__2(f)); -} - -function get(d, x) { - return Belt_internalMapInt.get(d.data, x); -} - -function getUndefined(d, x) { - return Belt_internalMapInt.getUndefined(d.data, x); -} - -function getWithDefault(d, x, def) { - return Belt_internalMapInt.getWithDefault(d.data, x, def); -} - -function getExn(d, x) { - return Belt_internalMapInt.getExn(d.data, x); -} - -export { - make , - clear , - isEmpty , - has , - cmpU , - cmp , - eqU , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - size , - toList , - toArray , - fromArray , - keysToArray , - valuesToArray , - minKey , - minKeyUndefined , - maxKey , - maxKeyUndefined , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getWithDefault , - getExn , - checkInvariantInternal , - remove , - removeMany , - set , - updateU , - update , - mapU , - map , - mapWithKeyU , - mapWithKey , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMapString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMapString.js deleted file mode 100644 index 8d1fe7a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableMapString.js +++ /dev/null @@ -1,362 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_internalAVLtree from "./belt_internalAVLtree.js"; -import * as Belt_internalMapString from "./belt_internalMapString.js"; - -function make(param) { - return { - data: undefined - }; -} - -function isEmpty(m) { - var x = m.data; - return x === undefined; -} - -function clear(m) { - m.data = undefined; -} - -function minKeyUndefined(m) { - return Belt_internalAVLtree.minKeyUndefined(m.data); -} - -function minKey(m) { - return Belt_internalAVLtree.minKey(m.data); -} - -function maxKeyUndefined(m) { - return Belt_internalAVLtree.maxKeyUndefined(m.data); -} - -function maxKey(m) { - return Belt_internalAVLtree.maxKey(m.data); -} - -function minimum(m) { - return Belt_internalAVLtree.minimum(m.data); -} - -function minUndefined(m) { - return Belt_internalAVLtree.minUndefined(m.data); -} - -function maximum(m) { - return Belt_internalAVLtree.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_internalAVLtree.maxUndefined(m.data); -} - -function set(m, k, v) { - var old_data = m.data; - var v$1 = Belt_internalMapString.addMutate(old_data, k, v); - if (v$1 !== old_data) { - m.data = v$1; - return ; - } - -} - -function forEachU(d, f) { - Belt_internalAVLtree.forEachU(d.data, f); -} - -function forEach(d, f) { - Belt_internalAVLtree.forEachU(d.data, Curry.__2(f)); -} - -function mapU(d, f) { - return { - data: Belt_internalAVLtree.mapU(d.data, f) - }; -} - -function map(d, f) { - return mapU(d, Curry.__1(f)); -} - -function mapWithKeyU(d, f) { - return { - data: Belt_internalAVLtree.mapWithKeyU(d.data, f) - }; -} - -function mapWithKey(d, f) { - return mapWithKeyU(d, Curry.__2(f)); -} - -function reduceU(d, acc, f) { - return Belt_internalAVLtree.reduceU(d.data, acc, f); -} - -function reduce(d, acc, f) { - return reduceU(d, acc, Curry.__3(f)); -} - -function everyU(d, f) { - return Belt_internalAVLtree.everyU(d.data, f); -} - -function every(d, f) { - return Belt_internalAVLtree.everyU(d.data, Curry.__2(f)); -} - -function someU(d, f) { - return Belt_internalAVLtree.someU(d.data, f); -} - -function some(d, f) { - return Belt_internalAVLtree.someU(d.data, Curry.__2(f)); -} - -function size(d) { - return Belt_internalAVLtree.size(d.data); -} - -function toList(d) { - return Belt_internalAVLtree.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLtree.toArray(d.data); -} - -function keysToArray(d) { - return Belt_internalAVLtree.keysToArray(d.data); -} - -function valuesToArray(d) { - return Belt_internalAVLtree.valuesToArray(d.data); -} - -function checkInvariantInternal(d) { - Belt_internalAVLtree.checkInvariantInternal(d.data); -} - -function has(d, v) { - return Belt_internalMapString.has(d.data, v); -} - -function removeMutateAux(nt, x) { - var k = nt.k; - if (x === k) { - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLtree.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeMutateAux(l$1, x); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeMutateAux(r$1, x); - return Belt_internalAVLtree.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var newRoot = removeMutateAux(oldRoot, v); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function updateDone(t, x, f) { - if (t !== undefined) { - var k = t.k; - if (k === x) { - var data = f(Caml_option.some(t.v)); - if (data !== undefined) { - t.v = Caml_option.valFromOption(data); - return t; - } - var l = t.l; - var r = t.r; - if (l !== undefined) { - if (r !== undefined) { - t.r = Belt_internalAVLtree.removeMinAuxWithRootMutate(t, r); - return Belt_internalAVLtree.balMutate(t); - } else { - return l; - } - } else { - return r; - } - } - var l$1 = t.l; - var r$1 = t.r; - if (x < k) { - var ll = updateDone(l$1, x, f); - t.l = ll; - } else { - t.r = updateDone(r$1, x, f); - } - return Belt_internalAVLtree.balMutate(t); - } - var data$1 = f(undefined); - if (data$1 !== undefined) { - return Belt_internalAVLtree.singleton(x, Caml_option.valFromOption(data$1)); - } else { - return t; - } -} - -function updateU(t, x, f) { - var oldRoot = t.data; - var newRoot = updateDone(oldRoot, x, f); - if (newRoot !== oldRoot) { - t.data = newRoot; - return ; - } - -} - -function update(t, x, f) { - updateU(t, x, Curry.__1(f)); -} - -function removeArrayMutateAux(_t, xs, _i, len) { - while(true) { - var i = _i; - var t = _t; - if (i >= len) { - return t; - } - var ele = xs[i]; - var u = removeMutateAux(t, ele); - if (u === undefined) { - return ; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; -} - -function removeMany(d, xs) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var len = xs.length; - var newRoot = removeArrayMutateAux(oldRoot, xs, 0, len); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function fromArray(xs) { - return { - data: Belt_internalMapString.fromArray(xs) - }; -} - -function cmpU(d0, d1, f) { - return Belt_internalMapString.cmpU(d0.data, d1.data, f); -} - -function cmp(d0, d1, f) { - return cmpU(d0, d1, Curry.__2(f)); -} - -function eqU(d0, d1, f) { - return Belt_internalMapString.eqU(d0.data, d1.data, f); -} - -function eq(d0, d1, f) { - return eqU(d0, d1, Curry.__2(f)); -} - -function get(d, x) { - return Belt_internalMapString.get(d.data, x); -} - -function getUndefined(d, x) { - return Belt_internalMapString.getUndefined(d.data, x); -} - -function getWithDefault(d, x, def) { - return Belt_internalMapString.getWithDefault(d.data, x, def); -} - -function getExn(d, x) { - return Belt_internalMapString.getExn(d.data, x); -} - -export { - make , - clear , - isEmpty , - has , - cmpU , - cmp , - eqU , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - size , - toList , - toArray , - fromArray , - keysToArray , - valuesToArray , - minKey , - minKeyUndefined , - maxKey , - maxKeyUndefined , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getWithDefault , - getExn , - checkInvariantInternal , - remove , - removeMany , - set , - updateU , - update , - mapU , - map , - mapWithKeyU , - mapWithKey , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableQueue.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableQueue.js deleted file mode 100644 index eca9b3e..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableQueue.js +++ /dev/null @@ -1,299 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; - -function make(param) { - return { - length: 0, - first: undefined, - last: undefined - }; -} - -function clear(q) { - q.length = 0; - q.first = undefined; - q.last = undefined; -} - -function add(q, x) { - var cell = { - content: x, - next: undefined - }; - var last = q.last; - if (last !== undefined) { - q.length = q.length + 1 | 0; - last.next = cell; - q.last = cell; - } else { - q.length = 1; - q.first = cell; - q.last = cell; - } -} - -function peek(q) { - var v = q.first; - if (v !== undefined) { - return Caml_option.some(v.content); - } - -} - -function peekUndefined(q) { - var v = q.first; - if (v !== undefined) { - return v.content; - } - -} - -function peekExn(q) { - var v = q.first; - if (v !== undefined) { - return v.content; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function pop(q) { - var x = q.first; - if (x === undefined) { - return ; - } - var next = x.next; - if (next === undefined) { - clear(q); - return Caml_option.some(x.content); - } else { - q.length = q.length - 1 | 0; - q.first = next; - return Caml_option.some(x.content); - } -} - -function popExn(q) { - var x = q.first; - if (x !== undefined) { - var next = x.next; - if (next === undefined) { - clear(q); - return x.content; - } else { - q.length = q.length - 1 | 0; - q.first = next; - return x.content; - } - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function popUndefined(q) { - var x = q.first; - if (x === undefined) { - return ; - } - var next = x.next; - if (next === undefined) { - clear(q); - return x.content; - } else { - q.length = q.length - 1 | 0; - q.first = next; - return x.content; - } -} - -function copy(q) { - var qRes = { - length: q.length, - first: undefined, - last: undefined - }; - var _prev; - var _cell = q.first; - while(true) { - var cell = _cell; - var prev = _prev; - if (cell !== undefined) { - var content = cell.content; - var res = { - content: content, - next: undefined - }; - if (prev !== undefined) { - prev.next = res; - } else { - qRes.first = res; - } - _cell = cell.next; - _prev = res; - continue ; - } - qRes.last = prev; - return qRes; - }; -} - -function mapU(q, f) { - var qRes = { - length: q.length, - first: undefined, - last: undefined - }; - var _prev; - var _cell = q.first; - while(true) { - var cell = _cell; - var prev = _prev; - if (cell !== undefined) { - var content = f(cell.content); - var res = { - content: content, - next: undefined - }; - if (prev !== undefined) { - prev.next = res; - } else { - qRes.first = res; - } - _cell = cell.next; - _prev = res; - continue ; - } - qRes.last = prev; - return qRes; - }; -} - -function map(q, f) { - return mapU(q, Curry.__1(f)); -} - -function isEmpty(q) { - return q.length === 0; -} - -function size(q) { - return q.length; -} - -function forEachU(q, f) { - var _cell = q.first; - while(true) { - var cell = _cell; - if (cell === undefined) { - return ; - } - f(cell.content); - _cell = cell.next; - continue ; - }; -} - -function forEach(q, f) { - forEachU(q, Curry.__1(f)); -} - -function reduceU(q, accu, f) { - var _accu = accu; - var _cell = q.first; - while(true) { - var cell = _cell; - var accu$1 = _accu; - if (cell === undefined) { - return accu$1; - } - var accu$2 = f(accu$1, cell.content); - _cell = cell.next; - _accu = accu$2; - continue ; - }; -} - -function reduce(q, accu, f) { - return reduceU(q, accu, Curry.__2(f)); -} - -function transfer(q1, q2) { - if (q1.length <= 0) { - return ; - } - var l = q2.last; - if (l !== undefined) { - q2.length = q2.length + q1.length | 0; - l.next = q1.first; - q2.last = q1.last; - return clear(q1); - } else { - q2.length = q1.length; - q2.first = q1.first; - q2.last = q1.last; - return clear(q1); - } -} - -function fillAux(_i, arr, _cell) { - while(true) { - var cell = _cell; - var i = _i; - if (cell === undefined) { - return ; - } - arr[i] = cell.content; - _cell = cell.next; - _i = i + 1 | 0; - continue ; - }; -} - -function toArray(x) { - var v = new Array(x.length); - fillAux(0, v, x.first); - return v; -} - -function fromArray(arr) { - var q = { - length: 0, - first: undefined, - last: undefined - }; - for(var i = 0 ,i_finish = arr.length; i < i_finish; ++i){ - add(q, arr[i]); - } - return q; -} - -export { - make , - clear , - isEmpty , - fromArray , - add , - peek , - peekUndefined , - peekExn , - pop , - popUndefined , - popExn , - copy , - size , - mapU , - map , - forEachU , - forEach , - reduceU , - reduce , - transfer , - toArray , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSet.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSet.js deleted file mode 100644 index 8c200c5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSet.js +++ /dev/null @@ -1,538 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_SortArray from "./belt_SortArray.js"; -import * as Belt_internalAVLset from "./belt_internalAVLset.js"; - -function remove0(nt, x, cmp) { - var k = nt.v; - var c = cmp(x, k); - if (c === 0) { - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (c < 0) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = remove0(l$1, x, cmp); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = remove0(r$1, x, cmp); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var newRoot = remove0(oldRoot, v, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function removeMany0(_t, xs, _i, len, cmp) { - while(true) { - var i = _i; - var t = _t; - if (i >= len) { - return t; - } - var ele = xs[i]; - var u = remove0(t, ele, cmp); - if (u === undefined) { - return ; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; -} - -function removeMany(d, xs) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var len = xs.length; - d.data = removeMany0(oldRoot, xs, 0, len, d.cmp); -} - -function removeCheck0(nt, x, removed, cmp) { - var k = nt.v; - var c = cmp(x, k); - if (c === 0) { - removed.contents = true; - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (c < 0) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeCheck0(l$1, x, removed, cmp); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeCheck0(r$1, x, removed, cmp); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function removeCheck(d, v) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return false; - } - var removed = { - contents: false - }; - var newRoot = removeCheck0(oldRoot, v, removed, d.cmp); - if (newRoot !== oldRoot) { - d.data = newRoot; - } - return removed.contents; -} - -function addCheck0(t, x, added, cmp) { - if (t !== undefined) { - var k = t.v; - var c = cmp(x, k); - if (c === 0) { - return t; - } - var l = t.l; - var r = t.r; - if (c < 0) { - var ll = addCheck0(l, x, added, cmp); - t.l = ll; - } else { - t.r = addCheck0(r, x, added, cmp); - } - return Belt_internalAVLset.balMutate(t); - } - added.contents = true; - return Belt_internalAVLset.singleton(x); -} - -function addCheck(m, e) { - var oldRoot = m.data; - var added = { - contents: false - }; - var newRoot = addCheck0(oldRoot, e, added, m.cmp); - if (newRoot !== oldRoot) { - m.data = newRoot; - } - return added.contents; -} - -function add(m, e) { - var oldRoot = m.data; - var newRoot = Belt_internalAVLset.addMutate(m.cmp, oldRoot, e); - if (newRoot !== oldRoot) { - m.data = newRoot; - return ; - } - -} - -function addArrayMutate(t, xs, cmp) { - var v = t; - for(var i = 0 ,i_finish = xs.length; i < i_finish; ++i){ - v = Belt_internalAVLset.addMutate(cmp, v, xs[i]); - } - return v; -} - -function mergeMany(d, xs) { - d.data = addArrayMutate(d.data, xs, d.cmp); -} - -function make(id) { - return { - cmp: id.cmp, - data: undefined - }; -} - -function isEmpty(d) { - var n = d.data; - return n === undefined; -} - -function minimum(d) { - return Belt_internalAVLset.minimum(d.data); -} - -function minUndefined(d) { - return Belt_internalAVLset.minUndefined(d.data); -} - -function maximum(d) { - return Belt_internalAVLset.maximum(d.data); -} - -function maxUndefined(d) { - return Belt_internalAVLset.maxUndefined(d.data); -} - -function forEachU(d, f) { - Belt_internalAVLset.forEachU(d.data, f); -} - -function forEach(d, f) { - Belt_internalAVLset.forEachU(d.data, Curry.__1(f)); -} - -function reduceU(d, acc, cb) { - return Belt_internalAVLset.reduceU(d.data, acc, cb); -} - -function reduce(d, acc, cb) { - return reduceU(d, acc, Curry.__2(cb)); -} - -function everyU(d, p) { - return Belt_internalAVLset.everyU(d.data, p); -} - -function every(d, p) { - return Belt_internalAVLset.everyU(d.data, Curry.__1(p)); -} - -function someU(d, p) { - return Belt_internalAVLset.someU(d.data, p); -} - -function some(d, p) { - return Belt_internalAVLset.someU(d.data, Curry.__1(p)); -} - -function size(d) { - return Belt_internalAVLset.size(d.data); -} - -function toList(d) { - return Belt_internalAVLset.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLset.toArray(d.data); -} - -function fromSortedArrayUnsafe(xs, id) { - return { - cmp: id.cmp, - data: Belt_internalAVLset.fromSortedArrayUnsafe(xs) - }; -} - -function checkInvariantInternal(d) { - Belt_internalAVLset.checkInvariantInternal(d.data); -} - -function fromArray(data, id) { - var cmp = id.cmp; - return { - cmp: cmp, - data: Belt_internalAVLset.fromArray(data, cmp) - }; -} - -function cmp(d0, d1) { - return Belt_internalAVLset.cmp(d0.data, d1.data, d0.cmp); -} - -function eq(d0, d1) { - return Belt_internalAVLset.eq(d0.data, d1.data, d0.cmp); -} - -function get(d, x) { - return Belt_internalAVLset.get(d.data, x, d.cmp); -} - -function getUndefined(d, x) { - return Belt_internalAVLset.getUndefined(d.data, x, d.cmp); -} - -function getExn(d, x) { - return Belt_internalAVLset.getExn(d.data, x, d.cmp); -} - -function split(d, key) { - var arr = Belt_internalAVLset.toArray(d.data); - var cmp = d.cmp; - var i = Belt_SortArray.binarySearchByU(arr, key, cmp); - var len = arr.length; - if (i >= 0) { - return [ - [ - { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, i) - }, - { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(arr, i + 1 | 0, (len - i | 0) - 1 | 0) - } - ], - true - ]; - } - var next = (-i | 0) - 1 | 0; - return [ - [ - { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, next) - }, - { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(arr, next, len - next | 0) - } - ], - false - ]; -} - -function keepU(d, p) { - return { - cmp: d.cmp, - data: Belt_internalAVLset.keepCopyU(d.data, p) - }; -} - -function keep(d, p) { - return keepU(d, Curry.__1(p)); -} - -function partitionU(d, p) { - var cmp = d.cmp; - var match = Belt_internalAVLset.partitionCopyU(d.data, p); - return [ - { - cmp: cmp, - data: match[0] - }, - { - cmp: cmp, - data: match[1] - } - ]; -} - -function partition(d, p) { - return partitionU(d, Curry.__1(p)); -} - -function subset(a, b) { - return Belt_internalAVLset.subset(a.data, b.data, a.cmp); -} - -function intersect(a, b) { - var cmp = a.cmp; - var match = a.data; - var match$1 = b.data; - if (match === undefined) { - return { - cmp: cmp, - data: undefined - }; - } - if (match$1 === undefined) { - return { - cmp: cmp, - data: undefined - }; - } - var sizea = Belt_internalAVLset.lengthNode(match); - var sizeb = Belt_internalAVLset.lengthNode(match$1); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(match, 0, tmp); - Belt_internalAVLset.fillArray(match$1, sizea, tmp); - if (cmp(tmp[sizea - 1 | 0], tmp[sizea]) < 0 || cmp(tmp[totalSize - 1 | 0], tmp[0]) < 0) { - return { - cmp: cmp, - data: undefined - }; - } - var tmp2 = new Array(sizea < sizeb ? sizea : sizeb); - var k = Belt_SortArray.intersectU(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0, cmp); - return { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function diff(a, b) { - var cmp = a.cmp; - var dataa = a.data; - var match = b.data; - if (dataa === undefined) { - return { - cmp: cmp, - data: undefined - }; - } - if (match === undefined) { - return { - cmp: cmp, - data: Belt_internalAVLset.copy(dataa) - }; - } - var sizea = Belt_internalAVLset.lengthNode(dataa); - var sizeb = Belt_internalAVLset.lengthNode(match); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa, 0, tmp); - Belt_internalAVLset.fillArray(match, sizea, tmp); - if (cmp(tmp[sizea - 1 | 0], tmp[sizea]) < 0 || cmp(tmp[totalSize - 1 | 0], tmp[0]) < 0) { - return { - cmp: cmp, - data: Belt_internalAVLset.copy(dataa) - }; - } - var tmp2 = new Array(sizea); - var k = Belt_SortArray.diffU(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0, cmp); - return { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function union(a, b) { - var cmp = a.cmp; - var dataa = a.data; - var datab = b.data; - if (dataa === undefined) { - return { - cmp: cmp, - data: Belt_internalAVLset.copy(datab) - }; - } - if (datab === undefined) { - return { - cmp: cmp, - data: Belt_internalAVLset.copy(dataa) - }; - } - var sizea = Belt_internalAVLset.lengthNode(dataa); - var sizeb = Belt_internalAVLset.lengthNode(datab); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa, 0, tmp); - Belt_internalAVLset.fillArray(datab, sizea, tmp); - if (cmp(tmp[sizea - 1 | 0], tmp[sizea]) < 0) { - return { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(tmp, 0, totalSize) - }; - } - var tmp2 = new Array(totalSize); - var k = Belt_SortArray.unionU(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0, cmp); - return { - cmp: cmp, - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function has(d, x) { - return Belt_internalAVLset.has(d.data, x, d.cmp); -} - -function copy(d) { - return { - cmp: d.cmp, - data: Belt_internalAVLset.copy(d.data) - }; -} - -var Int; - -var $$String; - -export { - Int , - $$String , - make , - fromArray , - fromSortedArrayUnsafe , - copy , - isEmpty , - has , - add , - addCheck , - mergeMany , - remove , - removeCheck , - removeMany , - union , - intersect , - diff , - subset , - cmp , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - keepU , - keep , - partitionU , - partition , - size , - toList , - toArray , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getExn , - split , - checkInvariantInternal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSetInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSetInt.js deleted file mode 100644 index 9e74892..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSetInt.js +++ /dev/null @@ -1,501 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_SortArrayInt from "./belt_SortArrayInt.js"; -import * as Belt_internalAVLset from "./belt_internalAVLset.js"; -import * as Belt_internalSetInt from "./belt_internalSetInt.js"; - -function remove0(nt, x) { - var k = nt.v; - if (x === k) { - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = remove0(l$1, x); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = remove0(r$1, x); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var newRoot = remove0(oldRoot, v); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function removeMany0(_t, xs, _i, len) { - while(true) { - var i = _i; - var t = _t; - if (i >= len) { - return t; - } - var ele = xs[i]; - var u = remove0(t, ele); - if (u === undefined) { - return ; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; -} - -function removeMany(d, xs) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var len = xs.length; - d.data = removeMany0(oldRoot, xs, 0, len); -} - -function removeCheck0(nt, x, removed) { - var k = nt.v; - if (x === k) { - removed.contents = true; - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeCheck0(l$1, x, removed); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeCheck0(r$1, x, removed); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function removeCheck(d, v) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return false; - } - var removed = { - contents: false - }; - var newRoot = removeCheck0(oldRoot, v, removed); - if (newRoot !== oldRoot) { - d.data = newRoot; - } - return removed.contents; -} - -function addCheck0(t, x, added) { - if (t !== undefined) { - var k = t.v; - if (x === k) { - return t; - } - var l = t.l; - var r = t.r; - if (x < k) { - var ll = addCheck0(l, x, added); - t.l = ll; - } else { - t.r = addCheck0(r, x, added); - } - return Belt_internalAVLset.balMutate(t); - } - added.contents = true; - return Belt_internalAVLset.singleton(x); -} - -function addCheck(m, e) { - var oldRoot = m.data; - var added = { - contents: false - }; - var newRoot = addCheck0(oldRoot, e, added); - if (newRoot !== oldRoot) { - m.data = newRoot; - } - return added.contents; -} - -function add(d, k) { - var oldRoot = d.data; - var v = Belt_internalSetInt.addMutate(oldRoot, k); - if (v !== oldRoot) { - d.data = v; - return ; - } - -} - -function addArrayMutate(t, xs) { - var v = t; - for(var i = 0 ,i_finish = xs.length; i < i_finish; ++i){ - v = Belt_internalSetInt.addMutate(v, xs[i]); - } - return v; -} - -function mergeMany(d, arr) { - d.data = addArrayMutate(d.data, arr); -} - -function make(param) { - return { - data: undefined - }; -} - -function isEmpty(d) { - var n = d.data; - return n === undefined; -} - -function minimum(d) { - return Belt_internalAVLset.minimum(d.data); -} - -function minUndefined(d) { - return Belt_internalAVLset.minUndefined(d.data); -} - -function maximum(d) { - return Belt_internalAVLset.maximum(d.data); -} - -function maxUndefined(d) { - return Belt_internalAVLset.maxUndefined(d.data); -} - -function forEachU(d, f) { - Belt_internalAVLset.forEachU(d.data, f); -} - -function forEach(d, f) { - Belt_internalAVLset.forEachU(d.data, Curry.__1(f)); -} - -function reduceU(d, acc, cb) { - return Belt_internalAVLset.reduceU(d.data, acc, cb); -} - -function reduce(d, acc, cb) { - return reduceU(d, acc, Curry.__2(cb)); -} - -function everyU(d, p) { - return Belt_internalAVLset.everyU(d.data, p); -} - -function every(d, p) { - return Belt_internalAVLset.everyU(d.data, Curry.__1(p)); -} - -function someU(d, p) { - return Belt_internalAVLset.someU(d.data, p); -} - -function some(d, p) { - return Belt_internalAVLset.someU(d.data, Curry.__1(p)); -} - -function size(d) { - return Belt_internalAVLset.size(d.data); -} - -function toList(d) { - return Belt_internalAVLset.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLset.toArray(d.data); -} - -function fromSortedArrayUnsafe(xs) { - return { - data: Belt_internalAVLset.fromSortedArrayUnsafe(xs) - }; -} - -function checkInvariantInternal(d) { - Belt_internalAVLset.checkInvariantInternal(d.data); -} - -function fromArray(xs) { - return { - data: Belt_internalSetInt.fromArray(xs) - }; -} - -function cmp(d0, d1) { - return Belt_internalSetInt.cmp(d0.data, d1.data); -} - -function eq(d0, d1) { - return Belt_internalSetInt.eq(d0.data, d1.data); -} - -function get(d, x) { - return Belt_internalSetInt.get(d.data, x); -} - -function getUndefined(d, x) { - return Belt_internalSetInt.getUndefined(d.data, x); -} - -function getExn(d, x) { - return Belt_internalSetInt.getExn(d.data, x); -} - -function split(d, key) { - var arr = Belt_internalAVLset.toArray(d.data); - var i = Belt_SortArrayInt.binarySearch(arr, key); - var len = arr.length; - if (i >= 0) { - return [ - [ - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, i) - }, - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, i + 1 | 0, (len - i | 0) - 1 | 0) - } - ], - true - ]; - } - var next = (-i | 0) - 1 | 0; - return [ - [ - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, next) - }, - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, next, len - next | 0) - } - ], - false - ]; -} - -function keepU(d, p) { - return { - data: Belt_internalAVLset.keepCopyU(d.data, p) - }; -} - -function keep(d, p) { - return keepU(d, Curry.__1(p)); -} - -function partitionU(d, p) { - var match = Belt_internalAVLset.partitionCopyU(d.data, p); - return [ - { - data: match[0] - }, - { - data: match[1] - } - ]; -} - -function partition(d, p) { - return partitionU(d, Curry.__1(p)); -} - -function subset(a, b) { - return Belt_internalSetInt.subset(a.data, b.data); -} - -function intersect(dataa, datab) { - var dataa$1 = dataa.data; - var datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: undefined - }; - } - if (datab$1 === undefined) { - return { - data: undefined - }; - } - var sizea = Belt_internalAVLset.lengthNode(dataa$1); - var sizeb = Belt_internalAVLset.lengthNode(datab$1); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea] || tmp[totalSize - 1 | 0] < tmp[0]) { - return { - data: undefined - }; - } - var tmp2 = new Array(sizea < sizeb ? sizea : sizeb); - var k = Belt_SortArrayInt.intersect(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function diff(dataa, datab) { - var dataa$1 = dataa.data; - var datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: undefined - }; - } - if (datab$1 === undefined) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - var sizea = Belt_internalAVLset.lengthNode(dataa$1); - var sizeb = Belt_internalAVLset.lengthNode(datab$1); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea] || tmp[totalSize - 1 | 0] < tmp[0]) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - var tmp2 = new Array(sizea); - var k = Belt_SortArrayInt.diff(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function union(dataa, datab) { - var dataa$1 = dataa.data; - var datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: Belt_internalAVLset.copy(datab$1) - }; - } - if (datab$1 === undefined) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - var sizea = Belt_internalAVLset.lengthNode(dataa$1); - var sizeb = Belt_internalAVLset.lengthNode(datab$1); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea]) { - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp, 0, totalSize) - }; - } - var tmp2 = new Array(totalSize); - var k = Belt_SortArrayInt.union(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function has(d, x) { - return Belt_internalSetInt.has(d.data, x); -} - -function copy(d) { - return { - data: Belt_internalAVLset.copy(d.data) - }; -} - -export { - make , - fromArray , - fromSortedArrayUnsafe , - copy , - isEmpty , - has , - add , - addCheck , - mergeMany , - remove , - removeCheck , - removeMany , - union , - intersect , - diff , - subset , - cmp , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - keepU , - keep , - partitionU , - partition , - size , - toList , - toArray , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getExn , - split , - checkInvariantInternal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSetString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSetString.js deleted file mode 100644 index a129f52..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableSetString.js +++ /dev/null @@ -1,501 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_internalAVLset from "./belt_internalAVLset.js"; -import * as Belt_SortArrayString from "./belt_SortArrayString.js"; -import * as Belt_internalSetString from "./belt_internalSetString.js"; - -function remove0(nt, x) { - var k = nt.v; - if (x === k) { - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = remove0(l$1, x); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = remove0(r$1, x); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function remove(d, v) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var newRoot = remove0(oldRoot, v); - if (newRoot !== oldRoot) { - d.data = newRoot; - return ; - } - -} - -function removeMany0(_t, xs, _i, len) { - while(true) { - var i = _i; - var t = _t; - if (i >= len) { - return t; - } - var ele = xs[i]; - var u = remove0(t, ele); - if (u === undefined) { - return ; - } - _i = i + 1 | 0; - _t = u; - continue ; - }; -} - -function removeMany(d, xs) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return ; - } - var len = xs.length; - d.data = removeMany0(oldRoot, xs, 0, len); -} - -function removeCheck0(nt, x, removed) { - var k = nt.v; - if (x === k) { - removed.contents = true; - var l = nt.l; - var r = nt.r; - if (l !== undefined) { - if (r !== undefined) { - nt.r = Belt_internalAVLset.removeMinAuxWithRootMutate(nt, r); - return Belt_internalAVLset.balMutate(nt); - } else { - return l; - } - } else { - return r; - } - } - if (x < k) { - var l$1 = nt.l; - if (l$1 !== undefined) { - nt.l = removeCheck0(l$1, x, removed); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } - } - var r$1 = nt.r; - if (r$1 !== undefined) { - nt.r = removeCheck0(r$1, x, removed); - return Belt_internalAVLset.balMutate(nt); - } else { - return nt; - } -} - -function removeCheck(d, v) { - var oldRoot = d.data; - if (oldRoot === undefined) { - return false; - } - var removed = { - contents: false - }; - var newRoot = removeCheck0(oldRoot, v, removed); - if (newRoot !== oldRoot) { - d.data = newRoot; - } - return removed.contents; -} - -function addCheck0(t, x, added) { - if (t !== undefined) { - var k = t.v; - if (x === k) { - return t; - } - var l = t.l; - var r = t.r; - if (x < k) { - var ll = addCheck0(l, x, added); - t.l = ll; - } else { - t.r = addCheck0(r, x, added); - } - return Belt_internalAVLset.balMutate(t); - } - added.contents = true; - return Belt_internalAVLset.singleton(x); -} - -function addCheck(m, e) { - var oldRoot = m.data; - var added = { - contents: false - }; - var newRoot = addCheck0(oldRoot, e, added); - if (newRoot !== oldRoot) { - m.data = newRoot; - } - return added.contents; -} - -function add(d, k) { - var oldRoot = d.data; - var v = Belt_internalSetString.addMutate(oldRoot, k); - if (v !== oldRoot) { - d.data = v; - return ; - } - -} - -function addArrayMutate(t, xs) { - var v = t; - for(var i = 0 ,i_finish = xs.length; i < i_finish; ++i){ - v = Belt_internalSetString.addMutate(v, xs[i]); - } - return v; -} - -function mergeMany(d, arr) { - d.data = addArrayMutate(d.data, arr); -} - -function make(param) { - return { - data: undefined - }; -} - -function isEmpty(d) { - var n = d.data; - return n === undefined; -} - -function minimum(d) { - return Belt_internalAVLset.minimum(d.data); -} - -function minUndefined(d) { - return Belt_internalAVLset.minUndefined(d.data); -} - -function maximum(d) { - return Belt_internalAVLset.maximum(d.data); -} - -function maxUndefined(d) { - return Belt_internalAVLset.maxUndefined(d.data); -} - -function forEachU(d, f) { - Belt_internalAVLset.forEachU(d.data, f); -} - -function forEach(d, f) { - Belt_internalAVLset.forEachU(d.data, Curry.__1(f)); -} - -function reduceU(d, acc, cb) { - return Belt_internalAVLset.reduceU(d.data, acc, cb); -} - -function reduce(d, acc, cb) { - return reduceU(d, acc, Curry.__2(cb)); -} - -function everyU(d, p) { - return Belt_internalAVLset.everyU(d.data, p); -} - -function every(d, p) { - return Belt_internalAVLset.everyU(d.data, Curry.__1(p)); -} - -function someU(d, p) { - return Belt_internalAVLset.someU(d.data, p); -} - -function some(d, p) { - return Belt_internalAVLset.someU(d.data, Curry.__1(p)); -} - -function size(d) { - return Belt_internalAVLset.size(d.data); -} - -function toList(d) { - return Belt_internalAVLset.toList(d.data); -} - -function toArray(d) { - return Belt_internalAVLset.toArray(d.data); -} - -function fromSortedArrayUnsafe(xs) { - return { - data: Belt_internalAVLset.fromSortedArrayUnsafe(xs) - }; -} - -function checkInvariantInternal(d) { - Belt_internalAVLset.checkInvariantInternal(d.data); -} - -function fromArray(xs) { - return { - data: Belt_internalSetString.fromArray(xs) - }; -} - -function cmp(d0, d1) { - return Belt_internalSetString.cmp(d0.data, d1.data); -} - -function eq(d0, d1) { - return Belt_internalSetString.eq(d0.data, d1.data); -} - -function get(d, x) { - return Belt_internalSetString.get(d.data, x); -} - -function getUndefined(d, x) { - return Belt_internalSetString.getUndefined(d.data, x); -} - -function getExn(d, x) { - return Belt_internalSetString.getExn(d.data, x); -} - -function split(d, key) { - var arr = Belt_internalAVLset.toArray(d.data); - var i = Belt_SortArrayString.binarySearch(arr, key); - var len = arr.length; - if (i >= 0) { - return [ - [ - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, i) - }, - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, i + 1 | 0, (len - i | 0) - 1 | 0) - } - ], - true - ]; - } - var next = (-i | 0) - 1 | 0; - return [ - [ - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, 0, next) - }, - { - data: Belt_internalAVLset.fromSortedArrayAux(arr, next, len - next | 0) - } - ], - false - ]; -} - -function keepU(d, p) { - return { - data: Belt_internalAVLset.keepCopyU(d.data, p) - }; -} - -function keep(d, p) { - return keepU(d, Curry.__1(p)); -} - -function partitionU(d, p) { - var match = Belt_internalAVLset.partitionCopyU(d.data, p); - return [ - { - data: match[0] - }, - { - data: match[1] - } - ]; -} - -function partition(d, p) { - return partitionU(d, Curry.__1(p)); -} - -function subset(a, b) { - return Belt_internalSetString.subset(a.data, b.data); -} - -function intersect(dataa, datab) { - var dataa$1 = dataa.data; - var datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: undefined - }; - } - if (datab$1 === undefined) { - return { - data: undefined - }; - } - var sizea = Belt_internalAVLset.lengthNode(dataa$1); - var sizeb = Belt_internalAVLset.lengthNode(datab$1); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea] || tmp[totalSize - 1 | 0] < tmp[0]) { - return { - data: undefined - }; - } - var tmp2 = new Array(sizea < sizeb ? sizea : sizeb); - var k = Belt_SortArrayString.intersect(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function diff(dataa, datab) { - var dataa$1 = dataa.data; - var datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: undefined - }; - } - if (datab$1 === undefined) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - var sizea = Belt_internalAVLset.lengthNode(dataa$1); - var sizeb = Belt_internalAVLset.lengthNode(datab$1); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea] || tmp[totalSize - 1 | 0] < tmp[0]) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - var tmp2 = new Array(sizea); - var k = Belt_SortArrayString.diff(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function union(dataa, datab) { - var dataa$1 = dataa.data; - var datab$1 = datab.data; - if (dataa$1 === undefined) { - return { - data: Belt_internalAVLset.copy(datab$1) - }; - } - if (datab$1 === undefined) { - return { - data: Belt_internalAVLset.copy(dataa$1) - }; - } - var sizea = Belt_internalAVLset.lengthNode(dataa$1); - var sizeb = Belt_internalAVLset.lengthNode(datab$1); - var totalSize = sizea + sizeb | 0; - var tmp = new Array(totalSize); - Belt_internalAVLset.fillArray(dataa$1, 0, tmp); - Belt_internalAVLset.fillArray(datab$1, sizea, tmp); - if (tmp[sizea - 1 | 0] < tmp[sizea]) { - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp, 0, totalSize) - }; - } - var tmp2 = new Array(totalSize); - var k = Belt_SortArrayString.union(tmp, 0, sizea, tmp, sizea, sizeb, tmp2, 0); - return { - data: Belt_internalAVLset.fromSortedArrayAux(tmp2, 0, k) - }; -} - -function has(d, x) { - return Belt_internalSetString.has(d.data, x); -} - -function copy(d) { - return { - data: Belt_internalAVLset.copy(d.data) - }; -} - -export { - make , - fromArray , - fromSortedArrayUnsafe , - copy , - isEmpty , - has , - add , - addCheck , - mergeMany , - remove , - removeCheck , - removeMany , - union , - intersect , - diff , - subset , - cmp , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - keepU , - keep , - partitionU , - partition , - size , - toList , - toArray , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getExn , - split , - checkInvariantInternal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableStack.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableStack.js deleted file mode 100644 index e93726d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_MutableStack.js +++ /dev/null @@ -1,137 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; - -function make(param) { - return { - root: undefined - }; -} - -function clear(s) { - s.root = undefined; -} - -function copy(s) { - return { - root: s.root - }; -} - -function push(s, x) { - s.root = { - head: x, - tail: s.root - }; -} - -function topUndefined(s) { - var x = s.root; - if (x !== undefined) { - return x.head; - } - -} - -function top(s) { - var x = s.root; - if (x !== undefined) { - return Caml_option.some(x.head); - } - -} - -function isEmpty(s) { - return s.root === undefined; -} - -function popUndefined(s) { - var x = s.root; - if (x !== undefined) { - s.root = x.tail; - return x.head; - } - -} - -function pop(s) { - var x = s.root; - if (x !== undefined) { - s.root = x.tail; - return Caml_option.some(x.head); - } - -} - -function size(s) { - var x = s.root; - if (x !== undefined) { - var _x = x; - var _acc = 0; - while(true) { - var acc = _acc; - var x$1 = _x; - var x$2 = x$1.tail; - if (x$2 === undefined) { - return acc + 1 | 0; - } - _acc = acc + 1 | 0; - _x = x$2; - continue ; - }; - } else { - return 0; - } -} - -function forEachU(s, f) { - var _s = s.root; - while(true) { - var s$1 = _s; - if (s$1 === undefined) { - return ; - } - f(s$1.head); - _s = s$1.tail; - continue ; - }; -} - -function forEach(s, f) { - forEachU(s, Curry.__1(f)); -} - -function dynamicPopIterU(s, f) { - while(true) { - var match = s.root; - if (match === undefined) { - return ; - } - s.root = match.tail; - f(match.head); - continue ; - }; -} - -function dynamicPopIter(s, f) { - dynamicPopIterU(s, Curry.__1(f)); -} - -export { - make , - clear , - copy , - push , - popUndefined , - pop , - topUndefined , - top , - isEmpty , - size , - forEachU , - forEach , - dynamicPopIterU , - dynamicPopIter , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Option.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Option.js deleted file mode 100644 index 44fe68a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Option.js +++ /dev/null @@ -1,151 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; - -function keepU(opt, p) { - if (opt !== undefined && p(Caml_option.valFromOption(opt))) { - return opt; - } - -} - -function keep(opt, p) { - return keepU(opt, Curry.__1(p)); -} - -function forEachU(opt, f) { - if (opt !== undefined) { - return f(Caml_option.valFromOption(opt)); - } - -} - -function forEach(opt, f) { - forEachU(opt, Curry.__1(f)); -} - -function getExn(x) { - if (x !== undefined) { - return Caml_option.valFromOption(x); - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function mapWithDefaultU(opt, $$default, f) { - if (opt !== undefined) { - return f(Caml_option.valFromOption(opt)); - } else { - return $$default; - } -} - -function mapWithDefault(opt, $$default, f) { - return mapWithDefaultU(opt, $$default, Curry.__1(f)); -} - -function mapU(opt, f) { - if (opt !== undefined) { - return Caml_option.some(f(Caml_option.valFromOption(opt))); - } - -} - -function map(opt, f) { - return mapU(opt, Curry.__1(f)); -} - -function flatMapU(opt, f) { - if (opt !== undefined) { - return f(Caml_option.valFromOption(opt)); - } - -} - -function flatMap(opt, f) { - return flatMapU(opt, Curry.__1(f)); -} - -function getWithDefault(opt, $$default) { - if (opt !== undefined) { - return Caml_option.valFromOption(opt); - } else { - return $$default; - } -} - -function orElse(opt, other) { - if (opt !== undefined) { - return opt; - } else { - return other; - } -} - -function isSome(x) { - return x !== undefined; -} - -function isNone(x) { - return x === undefined; -} - -function eqU(a, b, f) { - if (a !== undefined) { - if (b !== undefined) { - return f(Caml_option.valFromOption(a), Caml_option.valFromOption(b)); - } else { - return false; - } - } else { - return b === undefined; - } -} - -function eq(a, b, f) { - return eqU(a, b, Curry.__2(f)); -} - -function cmpU(a, b, f) { - if (a !== undefined) { - if (b !== undefined) { - return f(Caml_option.valFromOption(a), Caml_option.valFromOption(b)); - } else { - return 1; - } - } else if (b !== undefined) { - return -1; - } else { - return 0; - } -} - -function cmp(a, b, f) { - return cmpU(a, b, Curry.__2(f)); -} - -export { - keepU , - keep , - forEachU , - forEach , - getExn , - mapWithDefaultU , - mapWithDefault , - mapU , - map , - flatMapU , - flatMap , - getWithDefault , - orElse , - isSome , - isNone , - eqU , - eq , - cmpU , - cmp , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Range.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Range.js deleted file mode 100644 index 37290f0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Range.js +++ /dev/null @@ -1,109 +0,0 @@ - - -import * as Curry from "./curry.js"; - -function forEachU(s, f, action) { - for(var i = s; i <= f; ++i){ - action(i); - } -} - -function forEach(s, f, action) { - forEachU(s, f, Curry.__1(action)); -} - -function everyU(_s, f, p) { - while(true) { - var s = _s; - if (s > f) { - return true; - } - if (!p(s)) { - return false; - } - _s = s + 1 | 0; - continue ; - }; -} - -function every(s, f, p) { - return everyU(s, f, Curry.__1(p)); -} - -function everyByU(s, f, step, p) { - if (step > 0) { - var _s = s; - while(true) { - var s$1 = _s; - if (s$1 > f) { - return true; - } - if (!p(s$1)) { - return false; - } - _s = s$1 + step | 0; - continue ; - }; - } else { - return true; - } -} - -function everyBy(s, f, step, p) { - return everyByU(s, f, step, Curry.__1(p)); -} - -function someU(_s, f, p) { - while(true) { - var s = _s; - if (s > f) { - return false; - } - if (p(s)) { - return true; - } - _s = s + 1 | 0; - continue ; - }; -} - -function some(s, f, p) { - return someU(s, f, Curry.__1(p)); -} - -function someByU(s, f, step, p) { - if (step > 0) { - var _s = s; - while(true) { - var s$1 = _s; - if (s$1 > f) { - return false; - } - if (p(s$1)) { - return true; - } - _s = s$1 + step | 0; - continue ; - }; - } else { - return false; - } -} - -function someBy(s, f, step, p) { - return someByU(s, f, step, Curry.__1(p)); -} - -export { - forEachU , - forEach , - everyU , - every , - everyByU , - everyBy , - someU , - some , - someByU , - someBy , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Result.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Result.js deleted file mode 100644 index f31cdd5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Result.js +++ /dev/null @@ -1,136 +0,0 @@ - - -import * as Curry from "./curry.js"; - -function getExn(x) { - if (x.TAG === "Ok") { - return x._0; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -function mapWithDefaultU(opt, $$default, f) { - if (opt.TAG === "Ok") { - return f(opt._0); - } else { - return $$default; - } -} - -function mapWithDefault(opt, $$default, f) { - return mapWithDefaultU(opt, $$default, Curry.__1(f)); -} - -function mapU(opt, f) { - if (opt.TAG === "Ok") { - return { - TAG: "Ok", - _0: f(opt._0) - }; - } else { - return { - TAG: "Error", - _0: opt._0 - }; - } -} - -function map(opt, f) { - return mapU(opt, Curry.__1(f)); -} - -function flatMapU(opt, f) { - if (opt.TAG === "Ok") { - return f(opt._0); - } else { - return { - TAG: "Error", - _0: opt._0 - }; - } -} - -function flatMap(opt, f) { - return flatMapU(opt, Curry.__1(f)); -} - -function getWithDefault(opt, $$default) { - if (opt.TAG === "Ok") { - return opt._0; - } else { - return $$default; - } -} - -function isOk(x) { - if (x.TAG === "Ok") { - return true; - } else { - return false; - } -} - -function isError(x) { - if (x.TAG === "Ok") { - return false; - } else { - return true; - } -} - -function eqU(a, b, f) { - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - return f(a._0, b._0); - } else { - return false; - } - } else if (b.TAG === "Ok") { - return false; - } else { - return true; - } -} - -function eq(a, b, f) { - return eqU(a, b, Curry.__2(f)); -} - -function cmpU(a, b, f) { - if (a.TAG === "Ok") { - if (b.TAG === "Ok") { - return f(a._0, b._0); - } else { - return 1; - } - } else if (b.TAG === "Ok") { - return -1; - } else { - return 0; - } -} - -function cmp(a, b, f) { - return cmpU(a, b, Curry.__2(f)); -} - -export { - getExn , - mapWithDefaultU , - mapWithDefault , - mapU , - map , - flatMapU , - flatMap , - getWithDefault , - isOk , - isError , - eqU , - eq , - cmpU , - cmp , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_Set.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_Set.js deleted file mode 100644 index 48b0311..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_Set.js +++ /dev/null @@ -1,314 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_SetDict from "./belt_SetDict.js"; - -function fromArray(data, id) { - var cmp = id.cmp; - return { - cmp: cmp, - data: Belt_SetDict.fromArray(data, cmp) - }; -} - -function remove(m, e) { - var data = m.data; - var cmp = m.cmp; - var newData = Belt_SetDict.remove(data, e, cmp); - if (newData === data) { - return m; - } else { - return { - cmp: cmp, - data: newData - }; - } -} - -function add(m, e) { - var data = m.data; - var cmp = m.cmp; - var newData = Belt_SetDict.add(data, e, cmp); - if (newData === data) { - return m; - } else { - return { - cmp: cmp, - data: newData - }; - } -} - -function mergeMany(m, e) { - var cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.mergeMany(m.data, e, cmp) - }; -} - -function removeMany(m, e) { - var cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.removeMany(m.data, e, cmp) - }; -} - -function union(m, n) { - var cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.union(m.data, n.data, cmp) - }; -} - -function intersect(m, n) { - var cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.intersect(m.data, n.data, cmp) - }; -} - -function diff(m, n) { - var cmp = m.cmp; - return { - cmp: cmp, - data: Belt_SetDict.diff(m.data, n.data, cmp) - }; -} - -function subset(m, n) { - var cmp = m.cmp; - return Belt_SetDict.subset(m.data, n.data, cmp); -} - -function split(m, e) { - var cmp = m.cmp; - var match = Belt_SetDict.split(m.data, e, cmp); - var match$1 = match[0]; - return [ - [ - { - cmp: cmp, - data: match$1[0] - }, - { - cmp: cmp, - data: match$1[1] - } - ], - match[1] - ]; -} - -function make(id) { - return { - cmp: id.cmp, - data: undefined - }; -} - -function isEmpty(m) { - return Belt_SetDict.isEmpty(m.data); -} - -function cmp(m, n) { - var cmp$1 = m.cmp; - return Belt_SetDict.cmp(m.data, n.data, cmp$1); -} - -function eq(m, n) { - return Belt_SetDict.eq(m.data, n.data, m.cmp); -} - -function forEachU(m, f) { - Belt_SetDict.forEachU(m.data, f); -} - -function forEach(m, f) { - Belt_SetDict.forEachU(m.data, Curry.__1(f)); -} - -function reduceU(m, acc, f) { - return Belt_SetDict.reduceU(m.data, acc, f); -} - -function reduce(m, acc, f) { - return reduceU(m, acc, Curry.__2(f)); -} - -function everyU(m, f) { - return Belt_SetDict.everyU(m.data, f); -} - -function every(m, f) { - return Belt_SetDict.everyU(m.data, Curry.__1(f)); -} - -function someU(m, f) { - return Belt_SetDict.someU(m.data, f); -} - -function some(m, f) { - return Belt_SetDict.someU(m.data, Curry.__1(f)); -} - -function keepU(m, f) { - return { - cmp: m.cmp, - data: Belt_SetDict.keepU(m.data, f) - }; -} - -function keep(m, f) { - return keepU(m, Curry.__1(f)); -} - -function partitionU(m, f) { - var match = Belt_SetDict.partitionU(m.data, f); - var cmp = m.cmp; - return [ - { - cmp: cmp, - data: match[0] - }, - { - cmp: cmp, - data: match[1] - } - ]; -} - -function partition(m, f) { - return partitionU(m, Curry.__1(f)); -} - -function size(m) { - return Belt_SetDict.size(m.data); -} - -function toList(m) { - return Belt_SetDict.toList(m.data); -} - -function toArray(m) { - return Belt_SetDict.toArray(m.data); -} - -function minimum(m) { - return Belt_SetDict.minimum(m.data); -} - -function minUndefined(m) { - return Belt_SetDict.minUndefined(m.data); -} - -function maximum(m) { - return Belt_SetDict.maximum(m.data); -} - -function maxUndefined(m) { - return Belt_SetDict.maxUndefined(m.data); -} - -function get(m, e) { - return Belt_SetDict.get(m.data, e, m.cmp); -} - -function getUndefined(m, e) { - return Belt_SetDict.getUndefined(m.data, e, m.cmp); -} - -function getExn(m, e) { - return Belt_SetDict.getExn(m.data, e, m.cmp); -} - -function has(m, e) { - return Belt_SetDict.has(m.data, e, m.cmp); -} - -function fromSortedArrayUnsafe(xs, id) { - return { - cmp: id.cmp, - data: Belt_SetDict.fromSortedArrayUnsafe(xs) - }; -} - -function getData(m) { - return m.data; -} - -function getId(m) { - var cmp = m.cmp; - return { - cmp: cmp - }; -} - -function packIdData(id, data) { - return { - cmp: id.cmp, - data: data - }; -} - -function checkInvariantInternal(d) { - Belt_SetDict.checkInvariantInternal(d.data); -} - -var Int; - -var $$String; - -var Dict; - -export { - Int , - $$String , - Dict , - make , - fromArray , - fromSortedArrayUnsafe , - isEmpty , - has , - add , - mergeMany , - remove , - removeMany , - union , - intersect , - diff , - subset , - cmp , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - keepU , - keep , - partitionU , - partition , - size , - toArray , - toList , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getExn , - split , - checkInvariantInternal , - getData , - getId , - packIdData , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_SetDict.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_SetDict.js deleted file mode 100644 index c003562..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_SetDict.js +++ /dev/null @@ -1,362 +0,0 @@ - - -import * as Belt_internalAVLset from "./belt_internalAVLset.js"; - -function add(t, x, cmp) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - var k = t.v; - var c = cmp(x, k); - if (c === 0) { - return t; - } - var l = t.l; - var r = t.r; - if (c < 0) { - var ll = add(l, x, cmp); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, k, r); - } - } - var rr = add(r, x, cmp); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, k, rr); - } -} - -function remove(t, x, cmp) { - if (t === undefined) { - return t; - } - var v = t.v; - var l = t.l; - var r = t.r; - var c = cmp(x, v); - if (c === 0) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var v$1 = { - contents: r.v - }; - var r$1 = Belt_internalAVLset.removeMinAuxWithRef(r, v$1); - return Belt_internalAVLset.bal(l, v$1.contents, r$1); - } - if (c < 0) { - var ll = remove(l, x, cmp); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - var rr = remove(r, x, cmp); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function mergeMany(h, arr, cmp) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var key = arr[i]; - v = add(v, key, cmp); - } - return v; -} - -function removeMany(h, arr, cmp) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var key = arr[i]; - v = remove(v, key, cmp); - } - return v; -} - -function splitAuxNoPivot(cmp, n, x) { - var v = n.v; - var l = n.l; - var r = n.r; - var c = cmp(x, v); - if (c === 0) { - return [ - l, - r - ]; - } - if (c < 0) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - var match = splitAuxNoPivot(cmp, l, x); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - var match$1 = splitAuxNoPivot(cmp, r, x); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function splitAuxPivot(cmp, n, x, pres) { - var v = n.v; - var l = n.l; - var r = n.r; - var c = cmp(x, v); - if (c === 0) { - pres.contents = true; - return [ - l, - r - ]; - } - if (c < 0) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - var match = splitAuxPivot(cmp, l, x, pres); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - var match$1 = splitAuxPivot(cmp, r, x, pres); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function split(t, x, cmp) { - if (t === undefined) { - return [ - [ - undefined, - undefined - ], - false - ]; - } - var pres = { - contents: false - }; - var v = splitAuxPivot(cmp, t, x, pres); - return [ - v, - pres.contents - ]; -} - -function union(s1, s2, cmp) { - if (s1 === undefined) { - return s2; - } - if (s2 === undefined) { - return s1; - } - var h1 = s1.h; - var h2 = s2.h; - if (h1 >= h2) { - if (h2 === 1) { - return add(s1, s2.v, cmp); - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var match = splitAuxNoPivot(cmp, s2, v1); - return Belt_internalAVLset.joinShared(union(l1, match[0], cmp), v1, union(r1, match[1], cmp)); - } - if (h1 === 1) { - return add(s2, s1.v, cmp); - } - var v2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - var match$1 = splitAuxNoPivot(cmp, s1, v2); - return Belt_internalAVLset.joinShared(union(match$1[0], l2, cmp), v2, union(match$1[1], r2, cmp)); -} - -function intersect(s1, s2, cmp) { - if (s1 === undefined) { - return ; - } - if (s2 === undefined) { - return ; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var pres = { - contents: false - }; - var match = splitAuxPivot(cmp, s2, v1, pres); - var ll = intersect(l1, match[0], cmp); - var rr = intersect(r1, match[1], cmp); - if (pres.contents) { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } else { - return Belt_internalAVLset.concatShared(ll, rr); - } -} - -function diff(s1, s2, cmp) { - if (s1 === undefined) { - return s1; - } - if (s2 === undefined) { - return s1; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var pres = { - contents: false - }; - var match = splitAuxPivot(cmp, s2, v1, pres); - var ll = diff(l1, match[0], cmp); - var rr = diff(r1, match[1], cmp); - if (pres.contents) { - return Belt_internalAVLset.concatShared(ll, rr); - } else { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } -} - -var empty; - -var fromArray = Belt_internalAVLset.fromArray; - -var fromSortedArrayUnsafe = Belt_internalAVLset.fromSortedArrayUnsafe; - -var isEmpty = Belt_internalAVLset.isEmpty; - -var has = Belt_internalAVLset.has; - -var subset = Belt_internalAVLset.subset; - -var cmp = Belt_internalAVLset.cmp; - -var eq = Belt_internalAVLset.eq; - -var forEachU = Belt_internalAVLset.forEachU; - -var forEach = Belt_internalAVLset.forEach; - -var reduceU = Belt_internalAVLset.reduceU; - -var reduce = Belt_internalAVLset.reduce; - -var everyU = Belt_internalAVLset.everyU; - -var every = Belt_internalAVLset.every; - -var someU = Belt_internalAVLset.someU; - -var some = Belt_internalAVLset.some; - -var keepU = Belt_internalAVLset.keepSharedU; - -var keep = Belt_internalAVLset.keepShared; - -var partitionU = Belt_internalAVLset.partitionSharedU; - -var partition = Belt_internalAVLset.partitionShared; - -var size = Belt_internalAVLset.size; - -var toList = Belt_internalAVLset.toList; - -var toArray = Belt_internalAVLset.toArray; - -var minimum = Belt_internalAVLset.minimum; - -var minUndefined = Belt_internalAVLset.minUndefined; - -var maximum = Belt_internalAVLset.maximum; - -var maxUndefined = Belt_internalAVLset.maxUndefined; - -var get = Belt_internalAVLset.get; - -var getUndefined = Belt_internalAVLset.getUndefined; - -var getExn = Belt_internalAVLset.getExn; - -var checkInvariantInternal = Belt_internalAVLset.checkInvariantInternal; - -export { - empty , - fromArray , - fromSortedArrayUnsafe , - isEmpty , - has , - add , - mergeMany , - remove , - removeMany , - union , - intersect , - diff , - subset , - cmp , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - keepU , - keep , - partitionU , - partition , - size , - toList , - toArray , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getExn , - split , - checkInvariantInternal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_SetInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_SetInt.js deleted file mode 100644 index be6bc9f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_SetInt.js +++ /dev/null @@ -1,359 +0,0 @@ - - -import * as Belt_internalAVLset from "./belt_internalAVLset.js"; -import * as Belt_internalSetInt from "./belt_internalSetInt.js"; - -function add(t, x) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - var v = t.v; - if (x === v) { - return t; - } - var l = t.l; - var r = t.r; - if (x < v) { - var ll = add(l, x); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - var rr = add(r, x); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function mergeMany(h, arr) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var key = arr[i]; - v = add(v, key); - } - return v; -} - -function remove(t, x) { - if (t === undefined) { - return t; - } - var v = t.v; - var l = t.l; - var r = t.r; - if (x === v) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var v$1 = { - contents: r.v - }; - var r$1 = Belt_internalAVLset.removeMinAuxWithRef(r, v$1); - return Belt_internalAVLset.bal(l, v$1.contents, r$1); - } - if (x < v) { - var ll = remove(l, x); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - var rr = remove(r, x); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function removeMany(h, arr) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var key = arr[i]; - v = remove(v, key); - } - return v; -} - -function splitAuxNoPivot(n, x) { - var v = n.v; - var l = n.l; - var r = n.r; - if (x === v) { - return [ - l, - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - var match = splitAuxNoPivot(l, x); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - var match$1 = splitAuxNoPivot(r, x); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function splitAuxPivot(n, x, pres) { - var v = n.v; - var l = n.l; - var r = n.r; - if (x === v) { - pres.contents = true; - return [ - l, - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - var match = splitAuxPivot(l, x, pres); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - var match$1 = splitAuxPivot(r, x, pres); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function split(t, x) { - if (t === undefined) { - return [ - [ - undefined, - undefined - ], - false - ]; - } - var pres = { - contents: false - }; - var v = splitAuxPivot(t, x, pres); - return [ - v, - pres.contents - ]; -} - -function union(s1, s2) { - if (s1 === undefined) { - return s2; - } - if (s2 === undefined) { - return s1; - } - var h1 = s1.h; - var h2 = s2.h; - if (h1 >= h2) { - if (h2 === 1) { - return add(s1, s2.v); - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var match = splitAuxNoPivot(s2, v1); - return Belt_internalAVLset.joinShared(union(l1, match[0]), v1, union(r1, match[1])); - } - if (h1 === 1) { - return add(s2, s1.v); - } - var v2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - var match$1 = splitAuxNoPivot(s1, v2); - return Belt_internalAVLset.joinShared(union(match$1[0], l2), v2, union(match$1[1], r2)); -} - -function intersect(s1, s2) { - if (s1 === undefined) { - return ; - } - if (s2 === undefined) { - return ; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var pres = { - contents: false - }; - var match = splitAuxPivot(s2, v1, pres); - var ll = intersect(l1, match[0]); - var rr = intersect(r1, match[1]); - if (pres.contents) { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } else { - return Belt_internalAVLset.concatShared(ll, rr); - } -} - -function diff(s1, s2) { - if (s1 === undefined) { - return s1; - } - if (s2 === undefined) { - return s1; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var pres = { - contents: false - }; - var match = splitAuxPivot(s2, v1, pres); - var ll = diff(l1, match[0]); - var rr = diff(r1, match[1]); - if (pres.contents) { - return Belt_internalAVLset.concatShared(ll, rr); - } else { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } -} - -var empty; - -var fromArray = Belt_internalSetInt.fromArray; - -var fromSortedArrayUnsafe = Belt_internalAVLset.fromSortedArrayUnsafe; - -var isEmpty = Belt_internalAVLset.isEmpty; - -var has = Belt_internalSetInt.has; - -var subset = Belt_internalSetInt.subset; - -var cmp = Belt_internalSetInt.cmp; - -var eq = Belt_internalSetInt.eq; - -var forEachU = Belt_internalAVLset.forEachU; - -var forEach = Belt_internalAVLset.forEach; - -var reduceU = Belt_internalAVLset.reduceU; - -var reduce = Belt_internalAVLset.reduce; - -var everyU = Belt_internalAVLset.everyU; - -var every = Belt_internalAVLset.every; - -var someU = Belt_internalAVLset.someU; - -var some = Belt_internalAVLset.some; - -var keepU = Belt_internalAVLset.keepSharedU; - -var keep = Belt_internalAVLset.keepShared; - -var partitionU = Belt_internalAVLset.partitionSharedU; - -var partition = Belt_internalAVLset.partitionShared; - -var size = Belt_internalAVLset.size; - -var toList = Belt_internalAVLset.toList; - -var toArray = Belt_internalAVLset.toArray; - -var minimum = Belt_internalAVLset.minimum; - -var minUndefined = Belt_internalAVLset.minUndefined; - -var maximum = Belt_internalAVLset.maximum; - -var maxUndefined = Belt_internalAVLset.maxUndefined; - -var get = Belt_internalSetInt.get; - -var getUndefined = Belt_internalSetInt.getUndefined; - -var getExn = Belt_internalSetInt.getExn; - -var checkInvariantInternal = Belt_internalAVLset.checkInvariantInternal; - -export { - empty , - fromArray , - fromSortedArrayUnsafe , - isEmpty , - has , - add , - mergeMany , - remove , - removeMany , - union , - intersect , - diff , - subset , - cmp , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - keepU , - keep , - partitionU , - partition , - size , - toList , - toArray , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getExn , - split , - checkInvariantInternal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_SetString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_SetString.js deleted file mode 100644 index 6236c00..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_SetString.js +++ /dev/null @@ -1,359 +0,0 @@ - - -import * as Belt_internalAVLset from "./belt_internalAVLset.js"; -import * as Belt_internalSetString from "./belt_internalSetString.js"; - -function add(t, x) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - var v = t.v; - if (x === v) { - return t; - } - var l = t.l; - var r = t.r; - if (x < v) { - var ll = add(l, x); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - var rr = add(r, x); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function mergeMany(h, arr) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var key = arr[i]; - v = add(v, key); - } - return v; -} - -function remove(t, x) { - if (t === undefined) { - return t; - } - var v = t.v; - var l = t.l; - var r = t.r; - if (x === v) { - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var v$1 = { - contents: r.v - }; - var r$1 = Belt_internalAVLset.removeMinAuxWithRef(r, v$1); - return Belt_internalAVLset.bal(l, v$1.contents, r$1); - } - if (x < v) { - var ll = remove(l, x); - if (ll === l) { - return t; - } else { - return Belt_internalAVLset.bal(ll, v, r); - } - } - var rr = remove(r, x); - if (rr === r) { - return t; - } else { - return Belt_internalAVLset.bal(l, v, rr); - } -} - -function removeMany(h, arr) { - var len = arr.length; - var v = h; - for(var i = 0; i < len; ++i){ - var key = arr[i]; - v = remove(v, key); - } - return v; -} - -function splitAuxNoPivot(n, x) { - var v = n.v; - var l = n.l; - var r = n.r; - if (x === v) { - return [ - l, - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - var match = splitAuxNoPivot(l, x); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - var match$1 = splitAuxNoPivot(r, x); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function splitAuxPivot(n, x, pres) { - var v = n.v; - var l = n.l; - var r = n.r; - if (x === v) { - pres.contents = true; - return [ - l, - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - n - ]; - } - var match = splitAuxPivot(l, x, pres); - return [ - match[0], - Belt_internalAVLset.joinShared(match[1], v, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined - ]; - } - var match$1 = splitAuxPivot(r, x, pres); - return [ - Belt_internalAVLset.joinShared(l, v, match$1[0]), - match$1[1] - ]; -} - -function split(t, x) { - if (t === undefined) { - return [ - [ - undefined, - undefined - ], - false - ]; - } - var pres = { - contents: false - }; - var v = splitAuxPivot(t, x, pres); - return [ - v, - pres.contents - ]; -} - -function union(s1, s2) { - if (s1 === undefined) { - return s2; - } - if (s2 === undefined) { - return s1; - } - var h1 = s1.h; - var h2 = s2.h; - if (h1 >= h2) { - if (h2 === 1) { - return add(s1, s2.v); - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var match = splitAuxNoPivot(s2, v1); - return Belt_internalAVLset.joinShared(union(l1, match[0]), v1, union(r1, match[1])); - } - if (h1 === 1) { - return add(s2, s1.v); - } - var v2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - var match$1 = splitAuxNoPivot(s1, v2); - return Belt_internalAVLset.joinShared(union(match$1[0], l2), v2, union(match$1[1], r2)); -} - -function intersect(s1, s2) { - if (s1 === undefined) { - return ; - } - if (s2 === undefined) { - return ; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var pres = { - contents: false - }; - var match = splitAuxPivot(s2, v1, pres); - var ll = intersect(l1, match[0]); - var rr = intersect(r1, match[1]); - if (pres.contents) { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } else { - return Belt_internalAVLset.concatShared(ll, rr); - } -} - -function diff(s1, s2) { - if (s1 === undefined) { - return s1; - } - if (s2 === undefined) { - return s1; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var pres = { - contents: false - }; - var match = splitAuxPivot(s2, v1, pres); - var ll = diff(l1, match[0]); - var rr = diff(r1, match[1]); - if (pres.contents) { - return Belt_internalAVLset.concatShared(ll, rr); - } else { - return Belt_internalAVLset.joinShared(ll, v1, rr); - } -} - -var empty; - -var fromArray = Belt_internalSetString.fromArray; - -var fromSortedArrayUnsafe = Belt_internalAVLset.fromSortedArrayUnsafe; - -var isEmpty = Belt_internalAVLset.isEmpty; - -var has = Belt_internalSetString.has; - -var subset = Belt_internalSetString.subset; - -var cmp = Belt_internalSetString.cmp; - -var eq = Belt_internalSetString.eq; - -var forEachU = Belt_internalAVLset.forEachU; - -var forEach = Belt_internalAVLset.forEach; - -var reduceU = Belt_internalAVLset.reduceU; - -var reduce = Belt_internalAVLset.reduce; - -var everyU = Belt_internalAVLset.everyU; - -var every = Belt_internalAVLset.every; - -var someU = Belt_internalAVLset.someU; - -var some = Belt_internalAVLset.some; - -var keepU = Belt_internalAVLset.keepSharedU; - -var keep = Belt_internalAVLset.keepShared; - -var partitionU = Belt_internalAVLset.partitionSharedU; - -var partition = Belt_internalAVLset.partitionShared; - -var size = Belt_internalAVLset.size; - -var toList = Belt_internalAVLset.toList; - -var toArray = Belt_internalAVLset.toArray; - -var minimum = Belt_internalAVLset.minimum; - -var minUndefined = Belt_internalAVLset.minUndefined; - -var maximum = Belt_internalAVLset.maximum; - -var maxUndefined = Belt_internalAVLset.maxUndefined; - -var get = Belt_internalSetString.get; - -var getUndefined = Belt_internalSetString.getUndefined; - -var getExn = Belt_internalSetString.getExn; - -var checkInvariantInternal = Belt_internalAVLset.checkInvariantInternal; - -export { - empty , - fromArray , - fromSortedArrayUnsafe , - isEmpty , - has , - add , - mergeMany , - remove , - removeMany , - union , - intersect , - diff , - subset , - cmp , - eq , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - keepU , - keep , - partitionU , - partition , - size , - toList , - toArray , - minimum , - minUndefined , - maximum , - maxUndefined , - get , - getUndefined , - getExn , - split , - checkInvariantInternal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArray.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArray.js deleted file mode 100644 index 44b1458..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArray.js +++ /dev/null @@ -1,427 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_Array from "./belt_Array.js"; - -function sortedLengthAuxMore(xs, _prec, _acc, len, lt) { - while(true) { - var acc = _acc; - var prec = _prec; - if (acc >= len) { - return acc; - } - var v = xs[acc]; - if (!lt(v, prec)) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue ; - }; -} - -function strictlySortedLengthU(xs, lt) { - var len = xs.length; - if (len === 0 || len === 1) { - return len; - } - var x0 = xs[0]; - var x1 = xs[1]; - if (lt(x0, x1)) { - var _prec = x1; - var _acc = 2; - while(true) { - var acc = _acc; - var prec = _prec; - if (acc >= len) { - return acc; - } - var v = xs[acc]; - if (!lt(prec, v)) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue ; - }; - } else if (lt(x1, x0)) { - return -sortedLengthAuxMore(xs, x1, 2, len, lt) | 0; - } else { - return 1; - } -} - -function strictlySortedLength(xs, lt) { - return strictlySortedLengthU(xs, Curry.__2(lt)); -} - -function isSortedU(a, cmp) { - var len = a.length; - if (len === 0) { - return true; - } else { - var _i = 0; - var last_bound = len - 1 | 0; - while(true) { - var i = _i; - if (i === last_bound) { - return true; - } - if (cmp(a[i], a[i + 1 | 0]) > 0) { - return false; - } - _i = i + 1 | 0; - continue ; - }; - } -} - -function isSorted(a, cmp) { - return isSortedU(a, Curry.__2(cmp)); -} - -function merge(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (cmp(s1, s2) <= 0) { - dst[d] = s1; - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return Belt_Array.blitUnsafe(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); - } - _d = d + 1 | 0; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - dst[d] = s2; - var i2$1 = i2 + 1 | 0; - if (i2$1 >= src2r) { - return Belt_Array.blitUnsafe(src, i1, dst, d + 1 | 0, src1r - i1 | 0); - } - _d = d + 1 | 0; - _s2 = src2[i2$1]; - _i2 = i2$1; - continue ; - }; -} - -function unionU(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - var c = cmp(s1, s2); - if (c < 0) { - dst[d] = s1; - var i1$1 = i1 + 1 | 0; - var d$1 = d + 1 | 0; - if (i1$1 < src1r) { - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - Belt_Array.blitUnsafe(src2, i2, dst, d$1, src2r - i2 | 0); - return (d$1 + src2r | 0) - i2 | 0; - } - if (c === 0) { - dst[d] = s1; - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - var d$2 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - Belt_Array.blitUnsafe(src2, i2$1, dst, d$2, src2r - i2$1 | 0); - return (d$2 + src2r | 0) - i2$1 | 0; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d$2, src1r - i1$2 | 0); - return (d$2 + src1r | 0) - i1$2 | 0; - } - } - _d = d$2; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - dst[d] = s2; - var i2$2 = i2 + 1 | 0; - var d$3 = d + 1 | 0; - if (i2$2 < src2r) { - _d = d$3; - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - } - Belt_Array.blitUnsafe(src, i1, dst, d$3, src1r - i1 | 0); - return (d$3 + src1r | 0) - i1 | 0; - }; -} - -function union(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - return unionU(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, Curry.__2(cmp)); -} - -function intersectU(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - var c = cmp(s1, s2); - if (c < 0) { - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d; - } - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - if (c === 0) { - dst[d] = s1; - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - var d$1 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - return d$1; - } - _d = d$1; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - var i2$2 = i2 + 1 | 0; - if (i2$2 >= src2r) { - return d; - } - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - }; -} - -function intersect(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - return intersectU(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, Curry.__2(cmp)); -} - -function diffU(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - var c = cmp(s1, s2); - if (c < 0) { - dst[d] = s1; - var d$1 = d + 1 | 0; - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d$1; - } - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - if (c === 0) { - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - return d; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d, src1r - i1$2 | 0); - return (d + src1r | 0) - i1$2 | 0; - } - } - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - var i2$2 = i2 + 1 | 0; - if (i2$2 < src2r) { - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - } - Belt_Array.blitUnsafe(src, i1, dst, d, src1r - i1 | 0); - return (d + src1r | 0) - i1 | 0; - }; -} - -function diff(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp) { - return diffU(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, Curry.__2(cmp)); -} - -function insertionSort(src, srcofs, dst, dstofs, len, cmp) { - for(var i = 0; i < len; ++i){ - var e = src[srcofs + i | 0]; - var j = (dstofs + i | 0) - 1 | 0; - while(j >= dstofs && cmp(dst[j], e) > 0) { - dst[j + 1 | 0] = dst[j]; - j = j - 1 | 0; - }; - dst[j + 1 | 0] = e; - } -} - -function sortTo(src, srcofs, dst, dstofs, len, cmp) { - if (len <= 5) { - return insertionSort(src, srcofs, dst, dstofs, len, cmp); - } - var l1 = len / 2 | 0; - var l2 = len - l1 | 0; - sortTo(src, srcofs + l1 | 0, dst, dstofs + l1 | 0, l2, cmp); - sortTo(src, srcofs, src, srcofs + l2 | 0, l1, cmp); - merge(src, srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs, cmp); -} - -function stableSortInPlaceByU(a, cmp) { - var l = a.length; - if (l <= 5) { - return insertionSort(a, 0, a, 0, l, cmp); - } - var l1 = l / 2 | 0; - var l2 = l - l1 | 0; - var t = new Array(l2); - sortTo(a, l1, t, 0, l2, cmp); - sortTo(a, 0, a, l2, l1, cmp); - merge(a, l2, l1, t, 0, l2, a, 0, cmp); -} - -function stableSortInPlaceBy(a, cmp) { - stableSortInPlaceByU(a, Curry.__2(cmp)); -} - -function stableSortByU(a, cmp) { - var b = a.slice(0); - stableSortInPlaceByU(b, cmp); - return b; -} - -function stableSortBy(a, cmp) { - return stableSortByU(a, Curry.__2(cmp)); -} - -function binarySearchByU(sorted, key, cmp) { - var len = sorted.length; - if (len === 0) { - return -1; - } - var lo = sorted[0]; - var c = cmp(key, lo); - if (c < 0) { - return -1; - } - var hi = sorted[len - 1 | 0]; - var c2 = cmp(key, hi); - if (c2 > 0) { - return -(len + 1 | 0) | 0; - } else { - var _lo = 0; - var _hi = len - 1 | 0; - while(true) { - var hi$1 = _hi; - var lo$1 = _lo; - var mid = (lo$1 + hi$1 | 0) / 2 | 0; - var midVal = sorted[mid]; - var c$1 = cmp(key, midVal); - if (c$1 === 0) { - return mid; - } - if (c$1 < 0) { - if (hi$1 === mid) { - if (cmp(sorted[lo$1], key) === 0) { - return lo$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _hi = mid; - continue ; - } - if (lo$1 === mid) { - if (cmp(sorted[hi$1], key) === 0) { - return hi$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _lo = mid; - continue ; - }; - } -} - -function binarySearchBy(sorted, key, cmp) { - return binarySearchByU(sorted, key, Curry.__2(cmp)); -} - -var Int; - -var $$String; - -export { - Int , - $$String , - strictlySortedLengthU , - strictlySortedLength , - isSortedU , - isSorted , - stableSortInPlaceByU , - stableSortInPlaceBy , - stableSortByU , - stableSortBy , - binarySearchByU , - binarySearchBy , - unionU , - union , - intersectU , - intersect , - diffU , - diff , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArrayInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArrayInt.js deleted file mode 100644 index fa13cac..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArrayInt.js +++ /dev/null @@ -1,374 +0,0 @@ - - -import * as Belt_Array from "./belt_Array.js"; - -function sortedLengthAuxMore(xs, _prec, _acc, len) { - while(true) { - var acc = _acc; - var prec = _prec; - if (acc >= len) { - return acc; - } - var v = xs[acc]; - if (prec <= v) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue ; - }; -} - -function strictlySortedLength(xs) { - var len = xs.length; - if (len === 0 || len === 1) { - return len; - } - var x0 = xs[0]; - var x1 = xs[1]; - if (x0 < x1) { - var _prec = x1; - var _acc = 2; - while(true) { - var acc = _acc; - var prec = _prec; - if (acc >= len) { - return acc; - } - var v = xs[acc]; - if (prec >= v) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue ; - }; - } else if (x0 > x1) { - return -sortedLengthAuxMore(xs, x1, 2, len) | 0; - } else { - return 1; - } -} - -function isSorted(a) { - var len = a.length; - if (len === 0) { - return true; - } else { - var _i = 0; - var last_bound = len - 1 | 0; - while(true) { - var i = _i; - if (i === last_bound) { - return true; - } - if (a[i] > a[i + 1 | 0]) { - return false; - } - _i = i + 1 | 0; - continue ; - }; - } -} - -function merge(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (s1 <= s2) { - dst[d] = s1; - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return Belt_Array.blitUnsafe(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); - } - _d = d + 1 | 0; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - dst[d] = s2; - var i2$1 = i2 + 1 | 0; - if (i2$1 >= src2r) { - return Belt_Array.blitUnsafe(src, i1, dst, d + 1 | 0, src1r - i1 | 0); - } - _d = d + 1 | 0; - _s2 = src2[i2$1]; - _i2 = i2$1; - continue ; - }; -} - -function union(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (s1 < s2) { - dst[d] = s1; - var i1$1 = i1 + 1 | 0; - var d$1 = d + 1 | 0; - if (i1$1 < src1r) { - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - Belt_Array.blitUnsafe(src2, i2, dst, d$1, src2r - i2 | 0); - return (d$1 + src2r | 0) - i2 | 0; - } - if (s1 === s2) { - dst[d] = s1; - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - var d$2 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - Belt_Array.blitUnsafe(src2, i2$1, dst, d$2, src2r - i2$1 | 0); - return (d$2 + src2r | 0) - i2$1 | 0; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d$2, src1r - i1$2 | 0); - return (d$2 + src1r | 0) - i1$2 | 0; - } - } - _d = d$2; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - dst[d] = s2; - var i2$2 = i2 + 1 | 0; - var d$3 = d + 1 | 0; - if (i2$2 < src2r) { - _d = d$3; - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - } - Belt_Array.blitUnsafe(src, i1, dst, d$3, src1r - i1 | 0); - return (d$3 + src1r | 0) - i1 | 0; - }; -} - -function intersect(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (s1 < s2) { - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d; - } - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - if (s1 === s2) { - dst[d] = s1; - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - var d$1 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - return d$1; - } - _d = d$1; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - var i2$2 = i2 + 1 | 0; - if (i2$2 >= src2r) { - return d; - } - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - }; -} - -function diff(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (s1 < s2) { - dst[d] = s1; - var d$1 = d + 1 | 0; - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d$1; - } - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - if (s1 === s2) { - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - return d; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d, src1r - i1$2 | 0); - return (d + src1r | 0) - i1$2 | 0; - } - } - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - var i2$2 = i2 + 1 | 0; - if (i2$2 < src2r) { - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - } - Belt_Array.blitUnsafe(src, i1, dst, d, src1r - i1 | 0); - return (d + src1r | 0) - i1 | 0; - }; -} - -function insertionSort(src, srcofs, dst, dstofs, len) { - for(var i = 0; i < len; ++i){ - var e = src[srcofs + i | 0]; - var j = (dstofs + i | 0) - 1 | 0; - while(j >= dstofs && dst[j] > e) { - dst[j + 1 | 0] = dst[j]; - j = j - 1 | 0; - }; - dst[j + 1 | 0] = e; - } -} - -function sortTo(src, srcofs, dst, dstofs, len) { - if (len <= 5) { - return insertionSort(src, srcofs, dst, dstofs, len); - } - var l1 = len / 2 | 0; - var l2 = len - l1 | 0; - sortTo(src, srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); - sortTo(src, srcofs, src, srcofs + l2 | 0, l1); - merge(src, srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs); -} - -function stableSortInPlace(a) { - var l = a.length; - if (l <= 5) { - return insertionSort(a, 0, a, 0, l); - } - var l1 = l / 2 | 0; - var l2 = l - l1 | 0; - var t = new Array(l2); - sortTo(a, l1, t, 0, l2); - sortTo(a, 0, a, l2, l1); - merge(a, l2, l1, t, 0, l2, a, 0); -} - -function stableSort(a) { - var b = a.slice(0); - stableSortInPlace(b); - return b; -} - -function binarySearch(sorted, key) { - var len = sorted.length; - if (len === 0) { - return -1; - } - var lo = sorted[0]; - if (key < lo) { - return -1; - } - var hi = sorted[len - 1 | 0]; - if (key > hi) { - return -(len + 1 | 0) | 0; - } else { - var _lo = 0; - var _hi = len - 1 | 0; - while(true) { - var hi$1 = _hi; - var lo$1 = _lo; - var mid = (lo$1 + hi$1 | 0) / 2 | 0; - var midVal = sorted[mid]; - if (key === midVal) { - return mid; - } - if (key < midVal) { - if (hi$1 === mid) { - if (sorted[lo$1] === key) { - return lo$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _hi = mid; - continue ; - } - if (lo$1 === mid) { - if (sorted[hi$1] === key) { - return hi$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _lo = mid; - continue ; - }; - } -} - -export { - strictlySortedLength , - isSorted , - stableSortInPlace , - stableSort , - binarySearch , - union , - intersect , - diff , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArrayString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArrayString.js deleted file mode 100644 index fa13cac..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_SortArrayString.js +++ /dev/null @@ -1,374 +0,0 @@ - - -import * as Belt_Array from "./belt_Array.js"; - -function sortedLengthAuxMore(xs, _prec, _acc, len) { - while(true) { - var acc = _acc; - var prec = _prec; - if (acc >= len) { - return acc; - } - var v = xs[acc]; - if (prec <= v) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue ; - }; -} - -function strictlySortedLength(xs) { - var len = xs.length; - if (len === 0 || len === 1) { - return len; - } - var x0 = xs[0]; - var x1 = xs[1]; - if (x0 < x1) { - var _prec = x1; - var _acc = 2; - while(true) { - var acc = _acc; - var prec = _prec; - if (acc >= len) { - return acc; - } - var v = xs[acc]; - if (prec >= v) { - return acc; - } - _acc = acc + 1 | 0; - _prec = v; - continue ; - }; - } else if (x0 > x1) { - return -sortedLengthAuxMore(xs, x1, 2, len) | 0; - } else { - return 1; - } -} - -function isSorted(a) { - var len = a.length; - if (len === 0) { - return true; - } else { - var _i = 0; - var last_bound = len - 1 | 0; - while(true) { - var i = _i; - if (i === last_bound) { - return true; - } - if (a[i] > a[i + 1 | 0]) { - return false; - } - _i = i + 1 | 0; - continue ; - }; - } -} - -function merge(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (s1 <= s2) { - dst[d] = s1; - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return Belt_Array.blitUnsafe(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); - } - _d = d + 1 | 0; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - dst[d] = s2; - var i2$1 = i2 + 1 | 0; - if (i2$1 >= src2r) { - return Belt_Array.blitUnsafe(src, i1, dst, d + 1 | 0, src1r - i1 | 0); - } - _d = d + 1 | 0; - _s2 = src2[i2$1]; - _i2 = i2$1; - continue ; - }; -} - -function union(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (s1 < s2) { - dst[d] = s1; - var i1$1 = i1 + 1 | 0; - var d$1 = d + 1 | 0; - if (i1$1 < src1r) { - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - Belt_Array.blitUnsafe(src2, i2, dst, d$1, src2r - i2 | 0); - return (d$1 + src2r | 0) - i2 | 0; - } - if (s1 === s2) { - dst[d] = s1; - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - var d$2 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - Belt_Array.blitUnsafe(src2, i2$1, dst, d$2, src2r - i2$1 | 0); - return (d$2 + src2r | 0) - i2$1 | 0; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d$2, src1r - i1$2 | 0); - return (d$2 + src1r | 0) - i1$2 | 0; - } - } - _d = d$2; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - dst[d] = s2; - var i2$2 = i2 + 1 | 0; - var d$3 = d + 1 | 0; - if (i2$2 < src2r) { - _d = d$3; - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - } - Belt_Array.blitUnsafe(src, i1, dst, d$3, src1r - i1 | 0); - return (d$3 + src1r | 0) - i1 | 0; - }; -} - -function intersect(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (s1 < s2) { - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d; - } - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - if (s1 === s2) { - dst[d] = s1; - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - var d$1 = d + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - return d$1; - } - _d = d$1; - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - var i2$2 = i2 + 1 | 0; - if (i2$2 >= src2r) { - return d; - } - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - }; -} - -function diff(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { - var src1r = src1ofs + src1len | 0; - var src2r = src2ofs + src2len | 0; - var _i1 = src1ofs; - var _s1 = src[src1ofs]; - var _i2 = src2ofs; - var _s2 = src2[src2ofs]; - var _d = dstofs; - while(true) { - var d = _d; - var s2 = _s2; - var i2 = _i2; - var s1 = _s1; - var i1 = _i1; - if (s1 < s2) { - dst[d] = s1; - var d$1 = d + 1 | 0; - var i1$1 = i1 + 1 | 0; - if (i1$1 >= src1r) { - return d$1; - } - _d = d$1; - _s1 = src[i1$1]; - _i1 = i1$1; - continue ; - } - if (s1 === s2) { - var i1$2 = i1 + 1 | 0; - var i2$1 = i2 + 1 | 0; - if (!(i1$2 < src1r && i2$1 < src2r)) { - if (i1$2 === src1r) { - return d; - } else { - Belt_Array.blitUnsafe(src, i1$2, dst, d, src1r - i1$2 | 0); - return (d + src1r | 0) - i1$2 | 0; - } - } - _s2 = src2[i2$1]; - _i2 = i2$1; - _s1 = src[i1$2]; - _i1 = i1$2; - continue ; - } - var i2$2 = i2 + 1 | 0; - if (i2$2 < src2r) { - _s2 = src2[i2$2]; - _i2 = i2$2; - continue ; - } - Belt_Array.blitUnsafe(src, i1, dst, d, src1r - i1 | 0); - return (d + src1r | 0) - i1 | 0; - }; -} - -function insertionSort(src, srcofs, dst, dstofs, len) { - for(var i = 0; i < len; ++i){ - var e = src[srcofs + i | 0]; - var j = (dstofs + i | 0) - 1 | 0; - while(j >= dstofs && dst[j] > e) { - dst[j + 1 | 0] = dst[j]; - j = j - 1 | 0; - }; - dst[j + 1 | 0] = e; - } -} - -function sortTo(src, srcofs, dst, dstofs, len) { - if (len <= 5) { - return insertionSort(src, srcofs, dst, dstofs, len); - } - var l1 = len / 2 | 0; - var l2 = len - l1 | 0; - sortTo(src, srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); - sortTo(src, srcofs, src, srcofs + l2 | 0, l1); - merge(src, srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs); -} - -function stableSortInPlace(a) { - var l = a.length; - if (l <= 5) { - return insertionSort(a, 0, a, 0, l); - } - var l1 = l / 2 | 0; - var l2 = l - l1 | 0; - var t = new Array(l2); - sortTo(a, l1, t, 0, l2); - sortTo(a, 0, a, l2, l1); - merge(a, l2, l1, t, 0, l2, a, 0); -} - -function stableSort(a) { - var b = a.slice(0); - stableSortInPlace(b); - return b; -} - -function binarySearch(sorted, key) { - var len = sorted.length; - if (len === 0) { - return -1; - } - var lo = sorted[0]; - if (key < lo) { - return -1; - } - var hi = sorted[len - 1 | 0]; - if (key > hi) { - return -(len + 1 | 0) | 0; - } else { - var _lo = 0; - var _hi = len - 1 | 0; - while(true) { - var hi$1 = _hi; - var lo$1 = _lo; - var mid = (lo$1 + hi$1 | 0) / 2 | 0; - var midVal = sorted[mid]; - if (key === midVal) { - return mid; - } - if (key < midVal) { - if (hi$1 === mid) { - if (sorted[lo$1] === key) { - return lo$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _hi = mid; - continue ; - } - if (lo$1 === mid) { - if (sorted[hi$1] === key) { - return hi$1; - } else { - return -(hi$1 + 1 | 0) | 0; - } - } - _lo = mid; - continue ; - }; - } -} - -export { - strictlySortedLength , - isSorted , - stableSortInPlace , - stableSort , - binarySearch , - union , - intersect , - diff , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalAVLset.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalAVLset.js deleted file mode 100644 index fa889cc..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalAVLset.js +++ /dev/null @@ -1,940 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_SortArray from "./belt_SortArray.js"; - -function copy(n) { - if (n !== undefined) { - return { - v: n.v, - h: n.h, - l: copy(n.l), - r: copy(n.r) - }; - } else { - return n; - } -} - -function create(l, v, r) { - var hl = l !== undefined ? l.h : 0; - var hr = r !== undefined ? r.h : 0; - return { - v: v, - h: ( - hl >= hr ? hl : hr - ) + 1 | 0, - l: l, - r: r - }; -} - -function singleton(x) { - return { - v: x, - h: 1, - l: undefined, - r: undefined - }; -} - -function heightGe(l, r) { - if (r !== undefined) { - if (l !== undefined) { - return l.h >= r.h; - } else { - return false; - } - } else { - return true; - } -} - -function bal(l, v, r) { - var hl = l !== undefined ? l.h : 0; - var hr = r !== undefined ? r.h : 0; - if (hl > (hr + 2 | 0)) { - var ll = l.l; - var lr = l.r; - if (heightGe(ll, lr)) { - return create(ll, l.v, create(lr, v, r)); - } else { - return create(create(ll, l.v, lr.l), lr.v, create(lr.r, v, r)); - } - } - if (hr <= (hl + 2 | 0)) { - return { - v: v, - h: ( - hl >= hr ? hl : hr - ) + 1 | 0, - l: l, - r: r - }; - } - var rl = r.l; - var rr = r.r; - if (heightGe(rr, rl)) { - return create(create(l, v, rl), r.v, rr); - } else { - return create(create(l, v, rl.l), rl.v, create(rl.r, r.v, rr)); - } -} - -function min0Aux(_n) { - while(true) { - var n = _n; - var n$1 = n.l; - if (n$1 === undefined) { - return n.v; - } - _n = n$1; - continue ; - }; -} - -function minimum(n) { - if (n !== undefined) { - return Caml_option.some(min0Aux(n)); - } - -} - -function minUndefined(n) { - if (n !== undefined) { - return min0Aux(n); - } - -} - -function max0Aux(_n) { - while(true) { - var n = _n; - var n$1 = n.r; - if (n$1 === undefined) { - return n.v; - } - _n = n$1; - continue ; - }; -} - -function maximum(n) { - if (n !== undefined) { - return Caml_option.some(max0Aux(n)); - } - -} - -function maxUndefined(n) { - if (n !== undefined) { - return max0Aux(n); - } - -} - -function removeMinAuxWithRef(n, v) { - var ln = n.l; - if (ln !== undefined) { - return bal(removeMinAuxWithRef(ln, v), n.v, n.r); - } else { - v.contents = n.v; - return n.r; - } -} - -function isEmpty(n) { - return n === undefined; -} - -function stackAllLeft(_v, _s) { - while(true) { - var s = _s; - var v = _v; - if (v === undefined) { - return s; - } - _s = { - hd: v, - tl: s - }; - _v = v.l; - continue ; - }; -} - -function forEachU(_n, f) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - forEachU(n.l, f); - f(n.v); - _n = n.r; - continue ; - }; -} - -function forEach(n, f) { - forEachU(n, Curry.__1(f)); -} - -function reduceU(_s, _accu, f) { - while(true) { - var accu = _accu; - var s = _s; - if (s === undefined) { - return accu; - } - _accu = f(reduceU(s.l, accu, f), s.v); - _s = s.r; - continue ; - }; -} - -function reduce(s, accu, f) { - return reduceU(s, accu, Curry.__2(f)); -} - -function everyU(_n, p) { - while(true) { - var n = _n; - if (n === undefined) { - return true; - } - if (!p(n.v)) { - return false; - } - if (!everyU(n.l, p)) { - return false; - } - _n = n.r; - continue ; - }; -} - -function every(n, p) { - return everyU(n, Curry.__1(p)); -} - -function someU(_n, p) { - while(true) { - var n = _n; - if (n === undefined) { - return false; - } - if (p(n.v)) { - return true; - } - if (someU(n.l, p)) { - return true; - } - _n = n.r; - continue ; - }; -} - -function some(n, p) { - return someU(n, Curry.__1(p)); -} - -function addMinElement(n, v) { - if (n !== undefined) { - return bal(addMinElement(n.l, v), n.v, n.r); - } else { - return singleton(v); - } -} - -function addMaxElement(n, v) { - if (n !== undefined) { - return bal(n.l, n.v, addMaxElement(n.r, v)); - } else { - return singleton(v); - } -} - -function joinShared(ln, v, rn) { - if (ln === undefined) { - return addMinElement(rn, v); - } - if (rn === undefined) { - return addMaxElement(ln, v); - } - var lh = ln.h; - var rh = rn.h; - if (lh > (rh + 2 | 0)) { - return bal(ln.l, ln.v, joinShared(ln.r, v, rn)); - } else if (rh > (lh + 2 | 0)) { - return bal(joinShared(ln, v, rn.l), rn.v, rn.r); - } else { - return create(ln, v, rn); - } -} - -function concatShared(t1, t2) { - if (t1 === undefined) { - return t2; - } - if (t2 === undefined) { - return t1; - } - var v = { - contents: t2.v - }; - var t2r = removeMinAuxWithRef(t2, v); - return joinShared(t1, v.contents, t2r); -} - -function partitionSharedU(n, p) { - if (n === undefined) { - return [ - undefined, - undefined - ]; - } - var value = n.v; - var match = partitionSharedU(n.l, p); - var lf = match[1]; - var lt = match[0]; - var pv = p(value); - var match$1 = partitionSharedU(n.r, p); - var rf = match$1[1]; - var rt = match$1[0]; - if (pv) { - return [ - joinShared(lt, value, rt), - concatShared(lf, rf) - ]; - } else { - return [ - concatShared(lt, rt), - joinShared(lf, value, rf) - ]; - } -} - -function partitionShared(n, p) { - return partitionSharedU(n, Curry.__1(p)); -} - -function lengthNode(n) { - var l = n.l; - var r = n.r; - var sizeL = l !== undefined ? lengthNode(l) : 0; - var sizeR = r !== undefined ? lengthNode(r) : 0; - return (1 + sizeL | 0) + sizeR | 0; -} - -function size(n) { - if (n !== undefined) { - return lengthNode(n); - } else { - return 0; - } -} - -function toListAux(_n, _accu) { - while(true) { - var accu = _accu; - var n = _n; - if (n === undefined) { - return accu; - } - _accu = { - hd: n.v, - tl: toListAux(n.r, accu) - }; - _n = n.l; - continue ; - }; -} - -function toList(s) { - return toListAux(s, /* [] */0); -} - -function checkInvariantInternal(_v) { - while(true) { - var v = _v; - if (v === undefined) { - return ; - } - var l = v.l; - var r = v.r; - var diff = ( - l !== undefined ? l.h : 0 - ) - ( - r !== undefined ? r.h : 0 - ) | 0; - if (!(diff <= 2 && diff >= -2)) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "belt_internalAVLset.res", - 319, - 4 - ], - Error: new Error() - }; - } - checkInvariantInternal(l); - _v = r; - continue ; - }; -} - -function fillArray(_n, _i, arr) { - while(true) { - var i = _i; - var n = _n; - var v = n.v; - var l = n.l; - var r = n.r; - var next = l !== undefined ? fillArray(l, i, arr) : i; - arr[next] = v; - var rnext = next + 1 | 0; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue ; - }; -} - -function fillArrayWithPartition(_n, cursor, arr, p) { - while(true) { - var n = _n; - var v = n.v; - var l = n.l; - var r = n.r; - if (l !== undefined) { - fillArrayWithPartition(l, cursor, arr, p); - } - if (p(v)) { - var c = cursor.forward; - arr[c] = v; - cursor.forward = c + 1 | 0; - } else { - var c$1 = cursor.backward; - arr[c$1] = v; - cursor.backward = c$1 - 1 | 0; - } - if (r === undefined) { - return ; - } - _n = r; - continue ; - }; -} - -function fillArrayWithFilter(_n, _i, arr, p) { - while(true) { - var i = _i; - var n = _n; - var v = n.v; - var l = n.l; - var r = n.r; - var next = l !== undefined ? fillArrayWithFilter(l, i, arr, p) : i; - var rnext = p(v) ? (arr[next] = v, next + 1 | 0) : next; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue ; - }; -} - -function toArray(n) { - if (n === undefined) { - return []; - } - var size = lengthNode(n); - var v = new Array(size); - fillArray(n, 0, v); - return v; -} - -function fromSortedArrayRevAux(arr, off, len) { - switch (len) { - case 0 : - return ; - case 1 : - return singleton(arr[off]); - case 2 : - var x0 = arr[off]; - var x1 = arr[off - 1 | 0]; - return { - v: x1, - h: 2, - l: singleton(x0), - r: undefined - }; - case 3 : - var x0$1 = arr[off]; - var x1$1 = arr[off - 1 | 0]; - var x2 = arr[off - 2 | 0]; - return { - v: x1$1, - h: 2, - l: singleton(x0$1), - r: singleton(x2) - }; - default: - var nl = len / 2 | 0; - var left = fromSortedArrayRevAux(arr, off, nl); - var mid = arr[off - nl | 0]; - var right = fromSortedArrayRevAux(arr, (off - nl | 0) - 1 | 0, (len - nl | 0) - 1 | 0); - return create(left, mid, right); - } -} - -function fromSortedArrayAux(arr, off, len) { - switch (len) { - case 0 : - return ; - case 1 : - return singleton(arr[off]); - case 2 : - var x0 = arr[off]; - var x1 = arr[off + 1 | 0]; - return { - v: x1, - h: 2, - l: singleton(x0), - r: undefined - }; - case 3 : - var x0$1 = arr[off]; - var x1$1 = arr[off + 1 | 0]; - var x2 = arr[off + 2 | 0]; - return { - v: x1$1, - h: 2, - l: singleton(x0$1), - r: singleton(x2) - }; - default: - var nl = len / 2 | 0; - var left = fromSortedArrayAux(arr, off, nl); - var mid = arr[off + nl | 0]; - var right = fromSortedArrayAux(arr, (off + nl | 0) + 1 | 0, (len - nl | 0) - 1 | 0); - return create(left, mid, right); - } -} - -function fromSortedArrayUnsafe(arr) { - return fromSortedArrayAux(arr, 0, arr.length); -} - -function keepSharedU(n, p) { - if (n === undefined) { - return ; - } - var v = n.v; - var l = n.l; - var r = n.r; - var newL = keepSharedU(l, p); - var pv = p(v); - var newR = keepSharedU(r, p); - if (pv) { - if (l === newL && r === newR) { - return n; - } else { - return joinShared(newL, v, newR); - } - } else { - return concatShared(newL, newR); - } -} - -function keepShared(n, p) { - return keepSharedU(n, Curry.__1(p)); -} - -function keepCopyU(n, p) { - if (n === undefined) { - return ; - } - var size = lengthNode(n); - var v = new Array(size); - var last = fillArrayWithFilter(n, 0, v, p); - return fromSortedArrayAux(v, 0, last); -} - -function keepCopy(n, p) { - return keepCopyU(n, Curry.__1(p)); -} - -function partitionCopyU(n, p) { - if (n === undefined) { - return [ - undefined, - undefined - ]; - } - var size = lengthNode(n); - var v = new Array(size); - var backward = size - 1 | 0; - var cursor = { - forward: 0, - backward: backward - }; - fillArrayWithPartition(n, cursor, v, p); - var forwardLen = cursor.forward; - return [ - fromSortedArrayAux(v, 0, forwardLen), - fromSortedArrayRevAux(v, backward, size - forwardLen | 0) - ]; -} - -function partitionCopy(n, p) { - return partitionCopyU(n, Curry.__1(p)); -} - -function has(_t, x, cmp) { - while(true) { - var t = _t; - if (t === undefined) { - return false; - } - var v = t.v; - var c = cmp(x, v); - if (c === 0) { - return true; - } - _t = c < 0 ? t.l : t.r; - continue ; - }; -} - -function cmp(s1, s2, cmp$1) { - var len1 = size(s1); - var len2 = size(s2); - if (len1 === len2) { - var _e1 = stackAllLeft(s1, /* [] */0); - var _e2 = stackAllLeft(s2, /* [] */0); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return 0; - } - if (!e2) { - return 0; - } - var h2 = e2.hd; - var h1 = e1.hd; - var c = cmp$1(h1.v, h2.v); - if (c !== 0) { - return c; - } - _e2 = stackAllLeft(h2.r, e2.tl); - _e1 = stackAllLeft(h1.r, e1.tl); - continue ; - }; - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eq(s1, s2, c) { - return cmp(s1, s2, c) === 0; -} - -function subset(_s1, _s2, cmp) { - while(true) { - var s2 = _s2; - var s1 = _s1; - if (s1 === undefined) { - return true; - } - if (s2 === undefined) { - return false; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var v2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - var c = cmp(v1, v2); - if (c === 0) { - if (!subset(l1, l2, cmp)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue ; - } - if (c < 0) { - if (!subset(create(l1, v1, undefined), l2, cmp)) { - return false; - } - _s1 = r1; - continue ; - } - if (!subset(create(undefined, v1, r1), r2, cmp)) { - return false; - } - _s1 = l1; - continue ; - }; -} - -function get(_n, x, cmp) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.v; - var c = cmp(x, v); - if (c === 0) { - return Caml_option.some(v); - } - _n = c < 0 ? n.l : n.r; - continue ; - }; -} - -function getUndefined(_n, x, cmp) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.v; - var c = cmp(x, v); - if (c === 0) { - return v; - } - _n = c < 0 ? n.l : n.r; - continue ; - }; -} - -function getExn(_n, x, cmp) { - while(true) { - var n = _n; - if (n !== undefined) { - var v = n.v; - var c = cmp(x, v); - if (c === 0) { - return v; - } - _n = c < 0 ? n.l : n.r; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function rotateWithLeftChild(k2) { - var k1 = k2.l; - k2.l = k1.r; - k1.r = k2; - var n = k2.l; - var hlk2 = n !== undefined ? n.h : 0; - var n$1 = k2.r; - var hrk2 = n$1 !== undefined ? n$1.h : 0; - k2.h = ( - hlk2 > hrk2 ? hlk2 : hrk2 - ) + 1 | 0; - var n$2 = k1.l; - var hlk1 = n$2 !== undefined ? n$2.h : 0; - var hk2 = k2.h; - k1.h = ( - hlk1 > hk2 ? hlk1 : hk2 - ) + 1 | 0; - return k1; -} - -function rotateWithRightChild(k1) { - var k2 = k1.r; - k1.r = k2.l; - k2.l = k1; - var n = k1.l; - var hlk1 = n !== undefined ? n.h : 0; - var n$1 = k1.r; - var hrk1 = n$1 !== undefined ? n$1.h : 0; - k1.h = ( - hlk1 > hrk1 ? hlk1 : hrk1 - ) + 1 | 0; - var n$2 = k2.r; - var hrk2 = n$2 !== undefined ? n$2.h : 0; - var hk1 = k1.h; - k2.h = ( - hrk2 > hk1 ? hrk2 : hk1 - ) + 1 | 0; - return k2; -} - -function doubleWithLeftChild(k3) { - var k3l = k3.l; - var v = rotateWithRightChild(k3l); - k3.l = v; - return rotateWithLeftChild(k3); -} - -function doubleWithRightChild(k2) { - var k2r = k2.r; - var v = rotateWithLeftChild(k2r); - k2.r = v; - return rotateWithRightChild(k2); -} - -function heightUpdateMutate(t) { - var n = t.l; - var hlt = n !== undefined ? n.h : 0; - var n$1 = t.r; - var hrt = n$1 !== undefined ? n$1.h : 0; - t.h = ( - hlt > hrt ? hlt : hrt - ) + 1 | 0; - return t; -} - -function balMutate(nt) { - var l = nt.l; - var r = nt.r; - var hl = l !== undefined ? l.h : 0; - var hr = r !== undefined ? r.h : 0; - if (hl > (2 + hr | 0)) { - var ll = l.l; - var lr = l.r; - if (heightGe(ll, lr)) { - return heightUpdateMutate(rotateWithLeftChild(nt)); - } else { - return heightUpdateMutate(doubleWithLeftChild(nt)); - } - } - if (hr > (2 + hl | 0)) { - var rl = r.l; - var rr = r.r; - if (heightGe(rr, rl)) { - return heightUpdateMutate(rotateWithRightChild(nt)); - } else { - return heightUpdateMutate(doubleWithRightChild(nt)); - } - } - nt.h = ( - hl > hr ? hl : hr - ) + 1 | 0; - return nt; -} - -function addMutate(cmp, t, x) { - if (t === undefined) { - return singleton(x); - } - var k = t.v; - var c = cmp(x, k); - if (c === 0) { - return t; - } - var l = t.l; - var r = t.r; - if (c < 0) { - var ll = addMutate(cmp, l, x); - t.l = ll; - } else { - t.r = addMutate(cmp, r, x); - } - return balMutate(t); -} - -function fromArray(xs, cmp) { - var len = xs.length; - if (len === 0) { - return ; - } - var next = Belt_SortArray.strictlySortedLengthU(xs, (function (x, y) { - return cmp(x, y) < 0; - })); - var result; - if (next >= 0) { - result = fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for(var i = next; i < len; ++i){ - result = addMutate(cmp, result, xs[i]); - } - return result; -} - -function removeMinAuxWithRootMutate(nt, n) { - var ln = n.l; - var rn = n.r; - if (ln !== undefined) { - n.l = removeMinAuxWithRootMutate(nt, ln); - return balMutate(n); - } else { - nt.v = n.v; - return rn; - } -} - -export { - copy , - create , - bal , - singleton , - minimum , - minUndefined , - maximum , - maxUndefined , - removeMinAuxWithRef , - isEmpty , - stackAllLeft , - forEachU , - forEach , - reduceU , - reduce , - everyU , - every , - someU , - some , - joinShared , - concatShared , - keepSharedU , - keepShared , - keepCopyU , - keepCopy , - partitionSharedU , - partitionShared , - partitionCopyU , - partitionCopy , - lengthNode , - size , - toList , - checkInvariantInternal , - fillArray , - toArray , - fromSortedArrayAux , - fromSortedArrayRevAux , - fromSortedArrayUnsafe , - has , - cmp , - eq , - subset , - get , - getUndefined , - getExn , - fromArray , - addMutate , - balMutate , - removeMinAuxWithRootMutate , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalAVLtree.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalAVLtree.js deleted file mode 100644 index b3ec80e..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalAVLtree.js +++ /dev/null @@ -1,1146 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_SortArray from "./belt_SortArray.js"; - -function treeHeight(n) { - if (n !== undefined) { - return n.h; - } else { - return 0; - } -} - -function copy(n) { - if (n !== undefined) { - return { - k: n.k, - v: n.v, - h: n.h, - l: copy(n.l), - r: copy(n.r) - }; - } else { - return n; - } -} - -function create(l, x, d, r) { - var hl = treeHeight(l); - var hr = treeHeight(r); - return { - k: x, - v: d, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0, - l: l, - r: r - }; -} - -function singleton(x, d) { - return { - k: x, - v: d, - h: 1, - l: undefined, - r: undefined - }; -} - -function heightGe(l, r) { - if (r !== undefined) { - if (l !== undefined) { - return l.h >= r.h; - } else { - return false; - } - } else { - return true; - } -} - -function updateValue(n, newValue) { - if (n.v === newValue) { - return n; - } else { - return { - k: n.k, - v: newValue, - h: n.h, - l: n.l, - r: n.r - }; - } -} - -function bal(l, x, d, r) { - var hl = l !== undefined ? l.h : 0; - var hr = r !== undefined ? r.h : 0; - if (hl > (hr + 2 | 0)) { - var ll = l.l; - var lr = l.r; - if (treeHeight(ll) >= treeHeight(lr)) { - return create(ll, l.k, l.v, create(lr, x, d, r)); - } else { - return create(create(ll, l.k, l.v, lr.l), lr.k, lr.v, create(lr.r, x, d, r)); - } - } - if (hr <= (hl + 2 | 0)) { - return { - k: x, - v: d, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0, - l: l, - r: r - }; - } - var rl = r.l; - var rr = r.r; - if (treeHeight(rr) >= treeHeight(rl)) { - return create(create(l, x, d, rl), r.k, r.v, rr); - } else { - return create(create(l, x, d, rl.l), rl.k, rl.v, create(rl.r, r.k, r.v, rr)); - } -} - -function minKey0Aux(_n) { - while(true) { - var n = _n; - var n$1 = n.l; - if (n$1 === undefined) { - return n.k; - } - _n = n$1; - continue ; - }; -} - -function minKey(n) { - if (n !== undefined) { - return Caml_option.some(minKey0Aux(n)); - } - -} - -function minKeyUndefined(n) { - if (n !== undefined) { - return minKey0Aux(n); - } - -} - -function maxKey0Aux(_n) { - while(true) { - var n = _n; - var n$1 = n.r; - if (n$1 === undefined) { - return n.k; - } - _n = n$1; - continue ; - }; -} - -function maxKey(n) { - if (n !== undefined) { - return Caml_option.some(maxKey0Aux(n)); - } - -} - -function maxKeyUndefined(n) { - if (n !== undefined) { - return maxKey0Aux(n); - } - -} - -function minKV0Aux(_n) { - while(true) { - var n = _n; - var n$1 = n.l; - if (n$1 === undefined) { - return [ - n.k, - n.v - ]; - } - _n = n$1; - continue ; - }; -} - -function minimum(n) { - if (n !== undefined) { - return minKV0Aux(n); - } - -} - -function minUndefined(n) { - if (n !== undefined) { - return minKV0Aux(n); - } - -} - -function maxKV0Aux(_n) { - while(true) { - var n = _n; - var n$1 = n.r; - if (n$1 === undefined) { - return [ - n.k, - n.v - ]; - } - _n = n$1; - continue ; - }; -} - -function maximum(n) { - if (n !== undefined) { - return maxKV0Aux(n); - } - -} - -function maxUndefined(n) { - if (n !== undefined) { - return maxKV0Aux(n); - } - -} - -function removeMinAuxWithRef(n, kr, vr) { - var ln = n.l; - if (ln !== undefined) { - return bal(removeMinAuxWithRef(ln, kr, vr), n.k, n.v, n.r); - } else { - kr.contents = n.k; - vr.contents = n.v; - return n.r; - } -} - -function isEmpty(x) { - return x === undefined; -} - -function stackAllLeft(_v, _s) { - while(true) { - var s = _s; - var v = _v; - if (v === undefined) { - return s; - } - _s = { - hd: v, - tl: s - }; - _v = v.l; - continue ; - }; -} - -function findFirstByU(n, p) { - if (n === undefined) { - return ; - } - var left = findFirstByU(n.l, p); - if (left !== undefined) { - return left; - } - var v = n.k; - var d = n.v; - var pvd = p(v, d); - if (pvd) { - return [ - v, - d - ]; - } - var right = findFirstByU(n.r, p); - if (right !== undefined) { - return right; - } - -} - -function findFirstBy(n, p) { - return findFirstByU(n, Curry.__2(p)); -} - -function forEachU(_n, f) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - forEachU(n.l, f); - f(n.k, n.v); - _n = n.r; - continue ; - }; -} - -function forEach(n, f) { - forEachU(n, Curry.__2(f)); -} - -function mapU(n, f) { - if (n === undefined) { - return ; - } - var newLeft = mapU(n.l, f); - var newD = f(n.v); - var newRight = mapU(n.r, f); - return { - k: n.k, - v: newD, - h: n.h, - l: newLeft, - r: newRight - }; -} - -function map(n, f) { - return mapU(n, Curry.__1(f)); -} - -function mapWithKeyU(n, f) { - if (n === undefined) { - return ; - } - var key = n.k; - var newLeft = mapWithKeyU(n.l, f); - var newD = f(key, n.v); - var newRight = mapWithKeyU(n.r, f); - return { - k: key, - v: newD, - h: n.h, - l: newLeft, - r: newRight - }; -} - -function mapWithKey(n, f) { - return mapWithKeyU(n, Curry.__2(f)); -} - -function reduceU(_m, _accu, f) { - while(true) { - var accu = _accu; - var m = _m; - if (m === undefined) { - return accu; - } - var v = m.k; - var d = m.v; - var l = m.l; - var r = m.r; - _accu = f(reduceU(l, accu, f), v, d); - _m = r; - continue ; - }; -} - -function reduce(m, accu, f) { - return reduceU(m, accu, Curry.__3(f)); -} - -function everyU(_n, p) { - while(true) { - var n = _n; - if (n === undefined) { - return true; - } - if (!p(n.k, n.v)) { - return false; - } - if (!everyU(n.l, p)) { - return false; - } - _n = n.r; - continue ; - }; -} - -function every(n, p) { - return everyU(n, Curry.__2(p)); -} - -function someU(_n, p) { - while(true) { - var n = _n; - if (n === undefined) { - return false; - } - if (p(n.k, n.v)) { - return true; - } - if (someU(n.l, p)) { - return true; - } - _n = n.r; - continue ; - }; -} - -function some(n, p) { - return someU(n, Curry.__2(p)); -} - -function addMinElement(n, k, v) { - if (n !== undefined) { - return bal(addMinElement(n.l, k, v), n.k, n.v, n.r); - } else { - return singleton(k, v); - } -} - -function addMaxElement(n, k, v) { - if (n !== undefined) { - return bal(n.l, n.k, n.v, addMaxElement(n.r, k, v)); - } else { - return singleton(k, v); - } -} - -function join(ln, v, d, rn) { - if (ln === undefined) { - return addMinElement(rn, v, d); - } - if (rn === undefined) { - return addMaxElement(ln, v, d); - } - var lv = ln.k; - var ld = ln.v; - var lh = ln.h; - var ll = ln.l; - var lr = ln.r; - var rv = rn.k; - var rd = rn.v; - var rh = rn.h; - var rl = rn.l; - var rr = rn.r; - if (lh > (rh + 2 | 0)) { - return bal(ll, lv, ld, join(lr, v, d, rn)); - } else if (rh > (lh + 2 | 0)) { - return bal(join(ln, v, d, rl), rv, rd, rr); - } else { - return create(ln, v, d, rn); - } -} - -function concat(t1, t2) { - if (t1 === undefined) { - return t2; - } - if (t2 === undefined) { - return t1; - } - var kr = { - contents: t2.k - }; - var vr = { - contents: t2.v - }; - var t2r = removeMinAuxWithRef(t2, kr, vr); - return join(t1, kr.contents, vr.contents, t2r); -} - -function concatOrJoin(t1, v, d, t2) { - if (d !== undefined) { - return join(t1, v, Caml_option.valFromOption(d), t2); - } else { - return concat(t1, t2); - } -} - -function keepSharedU(n, p) { - if (n === undefined) { - return ; - } - var v = n.k; - var d = n.v; - var newLeft = keepSharedU(n.l, p); - var pvd = p(v, d); - var newRight = keepSharedU(n.r, p); - if (pvd) { - return join(newLeft, v, d, newRight); - } else { - return concat(newLeft, newRight); - } -} - -function keepShared(n, p) { - return keepSharedU(n, Curry.__2(p)); -} - -function keepMapU(n, p) { - if (n === undefined) { - return ; - } - var v = n.k; - var d = n.v; - var newLeft = keepMapU(n.l, p); - var pvd = p(v, d); - var newRight = keepMapU(n.r, p); - if (pvd !== undefined) { - return join(newLeft, v, Caml_option.valFromOption(pvd), newRight); - } else { - return concat(newLeft, newRight); - } -} - -function keepMap(n, p) { - return keepMapU(n, Curry.__2(p)); -} - -function partitionSharedU(n, p) { - if (n === undefined) { - return [ - undefined, - undefined - ]; - } - var key = n.k; - var value = n.v; - var match = partitionSharedU(n.l, p); - var lf = match[1]; - var lt = match[0]; - var pvd = p(key, value); - var match$1 = partitionSharedU(n.r, p); - var rf = match$1[1]; - var rt = match$1[0]; - if (pvd) { - return [ - join(lt, key, value, rt), - concat(lf, rf) - ]; - } else { - return [ - concat(lt, rt), - join(lf, key, value, rf) - ]; - } -} - -function partitionShared(n, p) { - return partitionSharedU(n, Curry.__2(p)); -} - -function lengthNode(n) { - var l = n.l; - var r = n.r; - var sizeL = l !== undefined ? lengthNode(l) : 0; - var sizeR = r !== undefined ? lengthNode(r) : 0; - return (1 + sizeL | 0) + sizeR | 0; -} - -function size(n) { - if (n !== undefined) { - return lengthNode(n); - } else { - return 0; - } -} - -function toListAux(_n, _accu) { - while(true) { - var accu = _accu; - var n = _n; - if (n === undefined) { - return accu; - } - var k = n.k; - var v = n.v; - var l = n.l; - var r = n.r; - _accu = { - hd: [ - k, - v - ], - tl: toListAux(r, accu) - }; - _n = l; - continue ; - }; -} - -function toList(s) { - return toListAux(s, /* [] */0); -} - -function checkInvariantInternal(_v) { - while(true) { - var v = _v; - if (v === undefined) { - return ; - } - var l = v.l; - var r = v.r; - var diff = treeHeight(l) - treeHeight(r) | 0; - if (!(diff <= 2 && diff >= -2)) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "belt_internalAVLtree.res", - 457, - 4 - ], - Error: new Error() - }; - } - checkInvariantInternal(l); - _v = r; - continue ; - }; -} - -function fillArrayKey(_n, _i, arr) { - while(true) { - var i = _i; - var n = _n; - var v = n.k; - var l = n.l; - var r = n.r; - var next = l !== undefined ? fillArrayKey(l, i, arr) : i; - arr[next] = v; - var rnext = next + 1 | 0; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue ; - }; -} - -function fillArrayValue(_n, _i, arr) { - while(true) { - var i = _i; - var n = _n; - var l = n.l; - var r = n.r; - var next = l !== undefined ? fillArrayValue(l, i, arr) : i; - arr[next] = n.v; - var rnext = next + 1 | 0; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue ; - }; -} - -function fillArray(_n, _i, arr) { - while(true) { - var i = _i; - var n = _n; - var l = n.l; - var v = n.k; - var r = n.r; - var next = l !== undefined ? fillArray(l, i, arr) : i; - arr[next] = [ - v, - n.v - ]; - var rnext = next + 1 | 0; - if (r === undefined) { - return rnext; - } - _i = rnext; - _n = r; - continue ; - }; -} - -function toArray(n) { - if (n === undefined) { - return []; - } - var size = lengthNode(n); - var v = new Array(size); - fillArray(n, 0, v); - return v; -} - -function keysToArray(n) { - if (n === undefined) { - return []; - } - var size = lengthNode(n); - var v = new Array(size); - fillArrayKey(n, 0, v); - return v; -} - -function valuesToArray(n) { - if (n === undefined) { - return []; - } - var size = lengthNode(n); - var v = new Array(size); - fillArrayValue(n, 0, v); - return v; -} - -function fromSortedArrayRevAux(arr, off, len) { - switch (len) { - case 0 : - return ; - case 1 : - var match = arr[off]; - return singleton(match[0], match[1]); - case 2 : - var match_0 = arr[off]; - var match_1 = arr[off - 1 | 0]; - var match$1 = match_1; - var match$2 = match_0; - return { - k: match$1[0], - v: match$1[1], - h: 2, - l: singleton(match$2[0], match$2[1]), - r: undefined - }; - case 3 : - var match_0$1 = arr[off]; - var match_1$1 = arr[off - 1 | 0]; - var match_2 = arr[off - 2 | 0]; - var match$3 = match_2; - var match$4 = match_1$1; - var match$5 = match_0$1; - return { - k: match$4[0], - v: match$4[1], - h: 2, - l: singleton(match$5[0], match$5[1]), - r: singleton(match$3[0], match$3[1]) - }; - default: - var nl = len / 2 | 0; - var left = fromSortedArrayRevAux(arr, off, nl); - var match$6 = arr[off - nl | 0]; - var right = fromSortedArrayRevAux(arr, (off - nl | 0) - 1 | 0, (len - nl | 0) - 1 | 0); - return create(left, match$6[0], match$6[1], right); - } -} - -function fromSortedArrayAux(arr, off, len) { - switch (len) { - case 0 : - return ; - case 1 : - var match = arr[off]; - return singleton(match[0], match[1]); - case 2 : - var match_0 = arr[off]; - var match_1 = arr[off + 1 | 0]; - var match$1 = match_1; - var match$2 = match_0; - return { - k: match$1[0], - v: match$1[1], - h: 2, - l: singleton(match$2[0], match$2[1]), - r: undefined - }; - case 3 : - var match_0$1 = arr[off]; - var match_1$1 = arr[off + 1 | 0]; - var match_2 = arr[off + 2 | 0]; - var match$3 = match_2; - var match$4 = match_1$1; - var match$5 = match_0$1; - return { - k: match$4[0], - v: match$4[1], - h: 2, - l: singleton(match$5[0], match$5[1]), - r: singleton(match$3[0], match$3[1]) - }; - default: - var nl = len / 2 | 0; - var left = fromSortedArrayAux(arr, off, nl); - var match$6 = arr[off + nl | 0]; - var right = fromSortedArrayAux(arr, (off + nl | 0) + 1 | 0, (len - nl | 0) - 1 | 0); - return create(left, match$6[0], match$6[1], right); - } -} - -function fromSortedArrayUnsafe(arr) { - return fromSortedArrayAux(arr, 0, arr.length); -} - -function cmpU(s1, s2, kcmp, vcmp) { - var len1 = size(s1); - var len2 = size(s2); - if (len1 === len2) { - var _e1 = stackAllLeft(s1, /* [] */0); - var _e2 = stackAllLeft(s2, /* [] */0); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return 0; - } - if (!e2) { - return 0; - } - var h2 = e2.hd; - var h1 = e1.hd; - var c = kcmp(h1.k, h2.k); - if (c !== 0) { - return c; - } - var cx = vcmp(h1.v, h2.v); - if (cx !== 0) { - return cx; - } - _e2 = stackAllLeft(h2.r, e2.tl); - _e1 = stackAllLeft(h1.r, e1.tl); - continue ; - }; - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function cmp(s1, s2, kcmp, vcmp) { - return cmpU(s1, s2, kcmp, Curry.__2(vcmp)); -} - -function eqU(s1, s2, kcmp, veq) { - var len1 = size(s1); - var len2 = size(s2); - if (len1 === len2) { - var _e1 = stackAllLeft(s1, /* [] */0); - var _e2 = stackAllLeft(s2, /* [] */0); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return true; - } - if (!e2) { - return true; - } - var h2 = e2.hd; - var h1 = e1.hd; - if (!(kcmp(h1.k, h2.k) === 0 && veq(h1.v, h2.v))) { - return false; - } - _e2 = stackAllLeft(h2.r, e2.tl); - _e1 = stackAllLeft(h1.r, e1.tl); - continue ; - }; - } else { - return false; - } -} - -function eq(s1, s2, kcmp, veq) { - return eqU(s1, s2, kcmp, Curry.__2(veq)); -} - -function get(_n, x, cmp) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.k; - var c = cmp(x, v); - if (c === 0) { - return Caml_option.some(n.v); - } - _n = c < 0 ? n.l : n.r; - continue ; - }; -} - -function getUndefined(_n, x, cmp) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.k; - var c = cmp(x, v); - if (c === 0) { - return n.v; - } - _n = c < 0 ? n.l : n.r; - continue ; - }; -} - -function getExn(_n, x, cmp) { - while(true) { - var n = _n; - if (n !== undefined) { - var v = n.k; - var c = cmp(x, v); - if (c === 0) { - return n.v; - } - _n = c < 0 ? n.l : n.r; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function getWithDefault(_n, x, def, cmp) { - while(true) { - var n = _n; - if (n === undefined) { - return def; - } - var v = n.k; - var c = cmp(x, v); - if (c === 0) { - return n.v; - } - _n = c < 0 ? n.l : n.r; - continue ; - }; -} - -function has(_n, x, cmp) { - while(true) { - var n = _n; - if (n === undefined) { - return false; - } - var v = n.k; - var c = cmp(x, v); - if (c === 0) { - return true; - } - _n = c < 0 ? n.l : n.r; - continue ; - }; -} - -function rotateWithLeftChild(k2) { - var k1 = k2.l; - k2.l = k1.r; - k1.r = k2; - var hlk2 = treeHeight(k2.l); - var hrk2 = treeHeight(k2.r); - k2.h = ( - hlk2 > hrk2 ? hlk2 : hrk2 - ) + 1 | 0; - var hlk1 = treeHeight(k1.l); - var hk2 = k2.h; - k1.h = ( - hlk1 > hk2 ? hlk1 : hk2 - ) + 1 | 0; - return k1; -} - -function rotateWithRightChild(k1) { - var k2 = k1.r; - k1.r = k2.l; - k2.l = k1; - var hlk1 = treeHeight(k1.l); - var hrk1 = treeHeight(k1.r); - k1.h = ( - hlk1 > hrk1 ? hlk1 : hrk1 - ) + 1 | 0; - var hrk2 = treeHeight(k2.r); - var hk1 = k1.h; - k2.h = ( - hrk2 > hk1 ? hrk2 : hk1 - ) + 1 | 0; - return k2; -} - -function doubleWithLeftChild(k3) { - var x = k3.l; - var v = rotateWithRightChild(x); - k3.l = v; - return rotateWithLeftChild(k3); -} - -function doubleWithRightChild(k2) { - var x = k2.r; - var v = rotateWithLeftChild(x); - k2.r = v; - return rotateWithRightChild(k2); -} - -function heightUpdateMutate(t) { - var hlt = treeHeight(t.l); - var hrt = treeHeight(t.r); - t.h = ( - hlt > hrt ? hlt : hrt - ) + 1 | 0; - return t; -} - -function balMutate(nt) { - var l = nt.l; - var r = nt.r; - var hl = treeHeight(l); - var hr = treeHeight(r); - if (hl > (2 + hr | 0)) { - var ll = l.l; - var lr = l.r; - if (heightGe(ll, lr)) { - return heightUpdateMutate(rotateWithLeftChild(nt)); - } else { - return heightUpdateMutate(doubleWithLeftChild(nt)); - } - } - if (hr > (2 + hl | 0)) { - var rl = r.l; - var rr = r.r; - if (heightGe(rr, rl)) { - return heightUpdateMutate(rotateWithRightChild(nt)); - } else { - return heightUpdateMutate(doubleWithRightChild(nt)); - } - } - nt.h = ( - hl > hr ? hl : hr - ) + 1 | 0; - return nt; -} - -function updateMutate(t, x, data, cmp) { - if (t === undefined) { - return singleton(x, data); - } - var k = t.k; - var c = cmp(x, k); - if (c === 0) { - t.v = data; - return t; - } - var l = t.l; - var r = t.r; - if (c < 0) { - var ll = updateMutate(l, x, data, cmp); - t.l = ll; - } else { - t.r = updateMutate(r, x, data, cmp); - } - return balMutate(t); -} - -function fromArray(xs, cmp) { - var len = xs.length; - if (len === 0) { - return ; - } - var next = Belt_SortArray.strictlySortedLengthU(xs, (function (param, param$1) { - return cmp(param[0], param$1[0]) < 0; - })); - var result; - if (next >= 0) { - result = fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for(var i = next; i < len; ++i){ - var match = xs[i]; - result = updateMutate(result, match[0], match[1], cmp); - } - return result; -} - -function removeMinAuxWithRootMutate(nt, n) { - var rn = n.r; - var ln = n.l; - if (ln !== undefined) { - n.l = removeMinAuxWithRootMutate(nt, ln); - return balMutate(n); - } else { - nt.k = n.k; - nt.v = n.v; - return rn; - } -} - -export { - copy , - create , - bal , - singleton , - updateValue , - minKey , - minKeyUndefined , - maxKey , - maxKeyUndefined , - minimum , - minUndefined , - maximum , - maxUndefined , - removeMinAuxWithRef , - isEmpty , - stackAllLeft , - findFirstByU , - findFirstBy , - forEachU , - forEach , - mapU , - map , - mapWithKeyU , - mapWithKey , - reduceU , - reduce , - everyU , - every , - someU , - some , - join , - concat , - concatOrJoin , - keepSharedU , - keepShared , - keepMapU , - keepMap , - partitionSharedU , - partitionShared , - lengthNode , - size , - toList , - checkInvariantInternal , - fillArray , - toArray , - keysToArray , - valuesToArray , - fromSortedArrayAux , - fromSortedArrayRevAux , - fromSortedArrayUnsafe , - cmpU , - cmp , - eqU , - eq , - get , - getUndefined , - getWithDefault , - getExn , - has , - fromArray , - updateMutate , - balMutate , - removeMinAuxWithRootMutate , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalBuckets.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalBuckets.js deleted file mode 100644 index 3026422..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalBuckets.js +++ /dev/null @@ -1,287 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_Array from "./belt_Array.js"; -import * as Caml_option from "./caml_option.js"; - -function copyBucket(c) { - if (c === undefined) { - return c; - } - var head = { - key: c.key, - value: c.value, - next: undefined - }; - copyAuxCont(c.next, head); - return head; -} - -function copyAuxCont(_c, _prec) { - while(true) { - var prec = _prec; - var c = _c; - if (c === undefined) { - return ; - } - var ncopy = { - key: c.key, - value: c.value, - next: undefined - }; - prec.next = ncopy; - _prec = ncopy; - _c = c.next; - continue ; - }; -} - -function copyBuckets(buckets) { - var len = buckets.length; - var newBuckets = new Array(len); - for(var i = 0; i < len; ++i){ - newBuckets[i] = copyBucket(buckets[i]); - } - return newBuckets; -} - -function copy(x) { - return { - size: x.size, - buckets: copyBuckets(x.buckets), - hash: x.hash, - eq: x.eq - }; -} - -function bucketLength(_accu, _buckets) { - while(true) { - var buckets = _buckets; - var accu = _accu; - if (buckets === undefined) { - return accu; - } - _buckets = buckets.next; - _accu = accu + 1 | 0; - continue ; - }; -} - -function do_bucket_iter(f, _buckets) { - while(true) { - var buckets = _buckets; - if (buckets === undefined) { - return ; - } - f(buckets.key, buckets.value); - _buckets = buckets.next; - continue ; - }; -} - -function forEachU(h, f) { - var d = h.buckets; - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - do_bucket_iter(f, d[i]); - } -} - -function forEach(h, f) { - forEachU(h, Curry.__2(f)); -} - -function do_bucket_fold(f, _b, _accu) { - while(true) { - var accu = _accu; - var b = _b; - if (b === undefined) { - return accu; - } - _accu = f(accu, b.key, b.value); - _b = b.next; - continue ; - }; -} - -function reduceU(h, init, f) { - var d = h.buckets; - var accu = init; - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - accu = do_bucket_fold(f, d[i], accu); - } - return accu; -} - -function reduce(h, init, f) { - return reduceU(h, init, Curry.__3(f)); -} - -function getMaxBucketLength(h) { - return Belt_Array.reduceU(h.buckets, 0, (function (m, b) { - var len = bucketLength(0, b); - if (m > len) { - return m; - } else { - return len; - } - })); -} - -function getBucketHistogram(h) { - var mbl = getMaxBucketLength(h); - var histo = Belt_Array.makeByU(mbl + 1 | 0, (function (param) { - return 0; - })); - Belt_Array.forEachU(h.buckets, (function (b) { - var l = bucketLength(0, b); - histo[l] = histo[l] + 1 | 0; - })); - return histo; -} - -function logStats(h) { - var histogram = getBucketHistogram(h); - console.log({ - bindings: h.size, - buckets: h.buckets.length, - histogram: histogram - }); -} - -function filterMapInplaceBucket(f, h, i, _prec, _cell) { - while(true) { - var cell = _cell; - var prec = _prec; - var n = cell.next; - var data = f(cell.key, cell.value); - if (data !== undefined) { - if (prec !== undefined) { - cell.next = cell; - } else { - h.buckets[i] = cell; - } - cell.value = Caml_option.valFromOption(data); - if (n === undefined) { - cell.next = n; - return ; - } - _cell = n; - _prec = cell; - continue ; - } - h.size = h.size - 1 | 0; - if (n === undefined) { - if (prec !== undefined) { - prec.next = n; - } else { - h.buckets[i] = prec; - } - return ; - } - _cell = n; - continue ; - }; -} - -function keepMapInPlaceU(h, f) { - var h_buckets = h.buckets; - for(var i = 0 ,i_finish = h_buckets.length; i < i_finish; ++i){ - var v = h_buckets[i]; - if (v !== undefined) { - filterMapInplaceBucket(f, h, i, undefined, v); - } - - } -} - -function keepMapInPlace(h, f) { - keepMapInPlaceU(h, Curry.__2(f)); -} - -function fillArray(_i, arr, _cell) { - while(true) { - var cell = _cell; - var i = _i; - arr[i] = [ - cell.key, - cell.value - ]; - var v = cell.next; - if (v === undefined) { - return i + 1 | 0; - } - _cell = v; - _i = i + 1 | 0; - continue ; - }; -} - -function fillArrayMap(_i, arr, _cell, f) { - while(true) { - var cell = _cell; - var i = _i; - arr[i] = f(cell); - var v = cell.next; - if (v === undefined) { - return i + 1 | 0; - } - _cell = v; - _i = i + 1 | 0; - continue ; - }; -} - -function linear(h, f) { - var d = h.buckets; - var current = 0; - var arr = new Array(h.size); - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - var cell = d[i]; - if (cell !== undefined) { - current = fillArrayMap(current, arr, cell, f); - } - - } - return arr; -} - -function keysToArray(h) { - return linear(h, (function (x) { - return x.key; - })); -} - -function valuesToArray(h) { - return linear(h, (function (x) { - return x.value; - })); -} - -function toArray(h) { - return linear(h, (function (x) { - return [ - x.key, - x.value - ]; - })); -} - -var C; - -export { - C , - copy , - forEachU , - forEach , - reduceU , - reduce , - logStats , - keepMapInPlaceU , - keepMapInPlace , - fillArray , - keysToArray , - valuesToArray , - toArray , - getBucketHistogram , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalBucketsType.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalBucketsType.js deleted file mode 100644 index 2a1c30d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalBucketsType.js +++ /dev/null @@ -1,49 +0,0 @@ - - - -function power_2_above(_x, n) { - while(true) { - var x = _x; - if (x >= n) { - return x; - } - if ((x << 1) < x) { - return x; - } - _x = (x << 1); - continue ; - }; -} - -function make(hash, eq, hintSize) { - var s = power_2_above(16, hintSize); - return { - size: 0, - buckets: new Array(s), - hash: hash, - eq: eq - }; -} - -function clear(h) { - h.size = 0; - var h_buckets = h.buckets; - var len = h_buckets.length; - for(var i = 0; i < len; ++i){ - h_buckets[i] = undefined; - } -} - -function isEmpty(h) { - return h.size === 0; -} - -var emptyOpt; - -export { - emptyOpt , - make , - clear , - isEmpty , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalMapInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalMapInt.js deleted file mode 100644 index e8eb3b0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalMapInt.js +++ /dev/null @@ -1,365 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_SortArray from "./belt_SortArray.js"; -import * as Belt_internalAVLtree from "./belt_internalAVLtree.js"; - -function add(t, x, data) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(x, data); - } - var k = t.k; - if (x === k) { - return Belt_internalAVLtree.updateValue(t, data); - } - var v = t.v; - if (x < k) { - return Belt_internalAVLtree.bal(add(t.l, x, data), k, v, t.r); - } else { - return Belt_internalAVLtree.bal(t.l, k, v, add(t.r, x, data)); - } -} - -function get(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.k; - if (x === v) { - return Caml_option.some(n.v); - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function getUndefined(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function getExn(_n, x) { - while(true) { - var n = _n; - if (n !== undefined) { - var v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function getWithDefault(_n, x, def) { - while(true) { - var n = _n; - if (n === undefined) { - return def; - } - var v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function has(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return false; - } - var v = n.k; - if (x === v) { - return true; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function remove(n, x) { - if (n === undefined) { - return n; - } - var v = n.k; - var l = n.l; - var r = n.r; - if (x !== v) { - if (x < v) { - return Belt_internalAVLtree.bal(remove(l, x), v, n.v, r); - } else { - return Belt_internalAVLtree.bal(l, v, n.v, remove(r, x)); - } - } - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var kr = { - contents: r.k - }; - var vr = { - contents: r.v - }; - var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); -} - -function splitAux(x, n) { - var v = n.k; - var d = n.v; - var l = n.l; - var r = n.r; - if (x === v) { - return [ - l, - Caml_option.some(d), - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - undefined, - n - ]; - } - var match = splitAux(x, l); - return [ - match[0], - match[1], - Belt_internalAVLtree.join(match[2], v, d, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined, - undefined - ]; - } - var match$1 = splitAux(x, r); - return [ - Belt_internalAVLtree.join(l, v, d, match$1[0]), - match$1[1], - match$1[2] - ]; -} - -function split(x, n) { - if (n !== undefined) { - return splitAux(x, n); - } else { - return [ - undefined, - undefined, - undefined - ]; - } -} - -function mergeU(s1, s2, f) { - if (s1 !== undefined) { - if (s1.h >= ( - s2 !== undefined ? s2.h : 0 - )) { - var v1 = s1.k; - var d1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var match = split(v1, s2); - return Belt_internalAVLtree.concatOrJoin(mergeU(l1, match[0], f), v1, f(v1, Caml_option.some(d1), match[1]), mergeU(r1, match[2], f)); - } - - } else if (s2 === undefined) { - return ; - } - var v2 = s2.k; - var d2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - var match$1 = split(v2, s1); - return Belt_internalAVLtree.concatOrJoin(mergeU(match$1[0], l2, f), v2, f(v2, match$1[1], Caml_option.some(d2)), mergeU(match$1[2], r2, f)); -} - -function merge(s1, s2, f) { - return mergeU(s1, s2, Curry.__3(f)); -} - -function compareAux(_e1, _e2, vcmp) { - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return 0; - } - if (!e2) { - return 0; - } - var h2 = e2.hd; - var h1 = e1.hd; - var c = Caml.int_compare(h1.k, h2.k); - if (c !== 0) { - return c; - } - var cx = vcmp(h1.v, h2.v); - if (cx !== 0) { - return cx; - } - _e2 = Belt_internalAVLtree.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLtree.stackAllLeft(h1.r, e1.tl); - continue ; - }; -} - -function cmpU(s1, s2, cmp) { - var len1 = Belt_internalAVLtree.size(s1); - var len2 = Belt_internalAVLtree.size(s2); - if (len1 === len2) { - return compareAux(Belt_internalAVLtree.stackAllLeft(s1, /* [] */0), Belt_internalAVLtree.stackAllLeft(s2, /* [] */0), cmp); - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function cmp(s1, s2, f) { - return cmpU(s1, s2, Curry.__2(f)); -} - -function eqAux(_e1, _e2, eq) { - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return true; - } - if (!e2) { - return true; - } - var h2 = e2.hd; - var h1 = e1.hd; - if (!(h1.k === h2.k && eq(h1.v, h2.v))) { - return false; - } - _e2 = Belt_internalAVLtree.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLtree.stackAllLeft(h1.r, e1.tl); - continue ; - }; -} - -function eqU(s1, s2, eq) { - var len1 = Belt_internalAVLtree.size(s1); - var len2 = Belt_internalAVLtree.size(s2); - if (len1 === len2) { - return eqAux(Belt_internalAVLtree.stackAllLeft(s1, /* [] */0), Belt_internalAVLtree.stackAllLeft(s2, /* [] */0), eq); - } else { - return false; - } -} - -function eq(s1, s2, f) { - return eqU(s1, s2, Curry.__2(f)); -} - -function addMutate(t, x, data) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(x, data); - } - var k = t.k; - if (x === k) { - t.k = x; - t.v = data; - return t; - } - var l = t.l; - var r = t.r; - if (x < k) { - var ll = addMutate(l, x, data); - t.l = ll; - } else { - t.r = addMutate(r, x, data); - } - return Belt_internalAVLtree.balMutate(t); -} - -function fromArray(xs) { - var len = xs.length; - if (len === 0) { - return ; - } - var next = Belt_SortArray.strictlySortedLengthU(xs, (function (param, param$1) { - return param[0] < param$1[0]; - })); - var result; - if (next >= 0) { - result = Belt_internalAVLtree.fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = Belt_internalAVLtree.fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for(var i = next; i < len; ++i){ - var match = xs[i]; - result = addMutate(result, match[0], match[1]); - } - return result; -} - -var N; - -var A; - -var S; - -export { - N , - A , - S , - add , - get , - getUndefined , - getExn , - getWithDefault , - has , - remove , - splitAux , - split , - mergeU , - merge , - compareAux , - cmpU , - cmp , - eqAux , - eqU , - eq , - addMutate , - fromArray , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalMapString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalMapString.js deleted file mode 100644 index 8c0a4c3..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalMapString.js +++ /dev/null @@ -1,365 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Belt_SortArray from "./belt_SortArray.js"; -import * as Belt_internalAVLtree from "./belt_internalAVLtree.js"; - -function add(t, x, data) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(x, data); - } - var k = t.k; - if (x === k) { - return Belt_internalAVLtree.updateValue(t, data); - } - var v = t.v; - if (x < k) { - return Belt_internalAVLtree.bal(add(t.l, x, data), k, v, t.r); - } else { - return Belt_internalAVLtree.bal(t.l, k, v, add(t.r, x, data)); - } -} - -function get(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.k; - if (x === v) { - return Caml_option.some(n.v); - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function getUndefined(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function getExn(_n, x) { - while(true) { - var n = _n; - if (n !== undefined) { - var v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function getWithDefault(_n, x, def) { - while(true) { - var n = _n; - if (n === undefined) { - return def; - } - var v = n.k; - if (x === v) { - return n.v; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function has(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return false; - } - var v = n.k; - if (x === v) { - return true; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function remove(n, x) { - if (n === undefined) { - return n; - } - var v = n.k; - var l = n.l; - var r = n.r; - if (x !== v) { - if (x < v) { - return Belt_internalAVLtree.bal(remove(l, x), v, n.v, r); - } else { - return Belt_internalAVLtree.bal(l, v, n.v, remove(r, x)); - } - } - if (l === undefined) { - return r; - } - if (r === undefined) { - return l; - } - var kr = { - contents: r.k - }; - var vr = { - contents: r.v - }; - var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr); - return Belt_internalAVLtree.bal(l, kr.contents, vr.contents, r$1); -} - -function splitAux(x, n) { - var v = n.k; - var d = n.v; - var l = n.l; - var r = n.r; - if (x === v) { - return [ - l, - Caml_option.some(d), - r - ]; - } - if (x < v) { - if (l === undefined) { - return [ - undefined, - undefined, - n - ]; - } - var match = splitAux(x, l); - return [ - match[0], - match[1], - Belt_internalAVLtree.join(match[2], v, d, r) - ]; - } - if (r === undefined) { - return [ - n, - undefined, - undefined - ]; - } - var match$1 = splitAux(x, r); - return [ - Belt_internalAVLtree.join(l, v, d, match$1[0]), - match$1[1], - match$1[2] - ]; -} - -function split(x, n) { - if (n !== undefined) { - return splitAux(x, n); - } else { - return [ - undefined, - undefined, - undefined - ]; - } -} - -function mergeU(s1, s2, f) { - if (s1 !== undefined) { - if (s1.h >= ( - s2 !== undefined ? s2.h : 0 - )) { - var v1 = s1.k; - var d1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var match = split(v1, s2); - return Belt_internalAVLtree.concatOrJoin(mergeU(l1, match[0], f), v1, f(v1, Caml_option.some(d1), match[1]), mergeU(r1, match[2], f)); - } - - } else if (s2 === undefined) { - return ; - } - var v2 = s2.k; - var d2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - var match$1 = split(v2, s1); - return Belt_internalAVLtree.concatOrJoin(mergeU(match$1[0], l2, f), v2, f(v2, match$1[1], Caml_option.some(d2)), mergeU(match$1[2], r2, f)); -} - -function merge(s1, s2, f) { - return mergeU(s1, s2, Curry.__3(f)); -} - -function compareAux(_e1, _e2, vcmp) { - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return 0; - } - if (!e2) { - return 0; - } - var h2 = e2.hd; - var h1 = e1.hd; - var c = Caml.string_compare(h1.k, h2.k); - if (c !== 0) { - return c; - } - var cx = vcmp(h1.v, h2.v); - if (cx !== 0) { - return cx; - } - _e2 = Belt_internalAVLtree.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLtree.stackAllLeft(h1.r, e1.tl); - continue ; - }; -} - -function cmpU(s1, s2, cmp) { - var len1 = Belt_internalAVLtree.size(s1); - var len2 = Belt_internalAVLtree.size(s2); - if (len1 === len2) { - return compareAux(Belt_internalAVLtree.stackAllLeft(s1, /* [] */0), Belt_internalAVLtree.stackAllLeft(s2, /* [] */0), cmp); - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function cmp(s1, s2, f) { - return cmpU(s1, s2, Curry.__2(f)); -} - -function eqAux(_e1, _e2, eq) { - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return true; - } - if (!e2) { - return true; - } - var h2 = e2.hd; - var h1 = e1.hd; - if (!(h1.k === h2.k && eq(h1.v, h2.v))) { - return false; - } - _e2 = Belt_internalAVLtree.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLtree.stackAllLeft(h1.r, e1.tl); - continue ; - }; -} - -function eqU(s1, s2, eq) { - var len1 = Belt_internalAVLtree.size(s1); - var len2 = Belt_internalAVLtree.size(s2); - if (len1 === len2) { - return eqAux(Belt_internalAVLtree.stackAllLeft(s1, /* [] */0), Belt_internalAVLtree.stackAllLeft(s2, /* [] */0), eq); - } else { - return false; - } -} - -function eq(s1, s2, f) { - return eqU(s1, s2, Curry.__2(f)); -} - -function addMutate(t, x, data) { - if (t === undefined) { - return Belt_internalAVLtree.singleton(x, data); - } - var k = t.k; - if (x === k) { - t.k = x; - t.v = data; - return t; - } - var l = t.l; - var r = t.r; - if (x < k) { - var ll = addMutate(l, x, data); - t.l = ll; - } else { - t.r = addMutate(r, x, data); - } - return Belt_internalAVLtree.balMutate(t); -} - -function fromArray(xs) { - var len = xs.length; - if (len === 0) { - return ; - } - var next = Belt_SortArray.strictlySortedLengthU(xs, (function (param, param$1) { - return param[0] < param$1[0]; - })); - var result; - if (next >= 0) { - result = Belt_internalAVLtree.fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = Belt_internalAVLtree.fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for(var i = next; i < len; ++i){ - var match = xs[i]; - result = addMutate(result, match[0], match[1]); - } - return result; -} - -var N; - -var A; - -var S; - -export { - N , - A , - S , - add , - get , - getUndefined , - getExn , - getWithDefault , - has , - remove , - splitAux , - split , - mergeU , - merge , - compareAux , - cmpU , - cmp , - eqAux , - eqU , - eq , - addMutate , - fromArray , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetBuckets.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetBuckets.js deleted file mode 100644 index ae76208..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetBuckets.js +++ /dev/null @@ -1,191 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Belt_Array from "./belt_Array.js"; - -function copyAuxCont(_c, _prec) { - while(true) { - var prec = _prec; - var c = _c; - if (c === undefined) { - return ; - } - var ncopy = { - key: c.key, - next: undefined - }; - prec.next = ncopy; - _prec = ncopy; - _c = c.next; - continue ; - }; -} - -function copyBucket(c) { - if (c === undefined) { - return c; - } - var head = { - key: c.key, - next: undefined - }; - copyAuxCont(c.next, head); - return head; -} - -function copyBuckets(buckets) { - var len = buckets.length; - var newBuckets = new Array(len); - for(var i = 0; i < len; ++i){ - newBuckets[i] = copyBucket(buckets[i]); - } - return newBuckets; -} - -function copy(x) { - return { - size: x.size, - buckets: copyBuckets(x.buckets), - hash: x.hash, - eq: x.eq - }; -} - -function bucketLength(_accu, _buckets) { - while(true) { - var buckets = _buckets; - var accu = _accu; - if (buckets === undefined) { - return accu; - } - _buckets = buckets.next; - _accu = accu + 1 | 0; - continue ; - }; -} - -function doBucketIter(f, _buckets) { - while(true) { - var buckets = _buckets; - if (buckets === undefined) { - return ; - } - f(buckets.key); - _buckets = buckets.next; - continue ; - }; -} - -function forEachU(h, f) { - var d = h.buckets; - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - doBucketIter(f, d[i]); - } -} - -function forEach(h, f) { - forEachU(h, Curry.__1(f)); -} - -function fillArray(_i, arr, _cell) { - while(true) { - var cell = _cell; - var i = _i; - arr[i] = cell.key; - var v = cell.next; - if (v === undefined) { - return i + 1 | 0; - } - _cell = v; - _i = i + 1 | 0; - continue ; - }; -} - -function toArray(h) { - var d = h.buckets; - var current = 0; - var arr = new Array(h.size); - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - var cell = d[i]; - if (cell !== undefined) { - current = fillArray(current, arr, cell); - } - - } - return arr; -} - -function doBucketFold(f, _b, _accu) { - while(true) { - var accu = _accu; - var b = _b; - if (b === undefined) { - return accu; - } - _accu = f(accu, b.key); - _b = b.next; - continue ; - }; -} - -function reduceU(h, init, f) { - var d = h.buckets; - var accu = init; - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - accu = doBucketFold(f, d[i], accu); - } - return accu; -} - -function reduce(h, init, f) { - return reduceU(h, init, Curry.__2(f)); -} - -function getMaxBucketLength(h) { - return Belt_Array.reduceU(h.buckets, 0, (function (m, b) { - var len = bucketLength(0, b); - if (m > len) { - return m; - } else { - return len; - } - })); -} - -function getBucketHistogram(h) { - var mbl = getMaxBucketLength(h); - var histo = Belt_Array.makeByU(mbl + 1 | 0, (function (param) { - return 0; - })); - Belt_Array.forEachU(h.buckets, (function (b) { - var l = bucketLength(0, b); - histo[l] = histo[l] + 1 | 0; - })); - return histo; -} - -function logStats(h) { - var histogram = getBucketHistogram(h); - console.log({ - bindings: h.size, - buckets: h.buckets.length, - histogram: histogram - }); -} - -var C; - -export { - C , - copy , - forEachU , - forEach , - fillArray , - toArray , - reduceU , - reduce , - logStats , - getBucketHistogram , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetInt.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetInt.js deleted file mode 100644 index 6a271f0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetInt.js +++ /dev/null @@ -1,209 +0,0 @@ - - -import * as Belt_SortArrayInt from "./belt_SortArrayInt.js"; -import * as Belt_internalAVLset from "./belt_internalAVLset.js"; - -function has(_t, x) { - while(true) { - var t = _t; - if (t === undefined) { - return false; - } - var v = t.v; - if (x === v) { - return true; - } - _t = x < v ? t.l : t.r; - continue ; - }; -} - -function compareAux(_e1, _e2) { - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return 0; - } - if (!e2) { - return 0; - } - var h2 = e2.hd; - var h1 = e1.hd; - var k1 = h1.v; - var k2 = h2.v; - if (k1 !== k2) { - if (k1 < k2) { - return -1; - } else { - return 1; - } - } - _e2 = Belt_internalAVLset.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLset.stackAllLeft(h1.r, e1.tl); - continue ; - }; -} - -function cmp(s1, s2) { - var len1 = Belt_internalAVLset.size(s1); - var len2 = Belt_internalAVLset.size(s2); - if (len1 === len2) { - return compareAux(Belt_internalAVLset.stackAllLeft(s1, /* [] */0), Belt_internalAVLset.stackAllLeft(s2, /* [] */0)); - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eq(s1, s2) { - return cmp(s1, s2) === 0; -} - -function subset(_s1, _s2) { - while(true) { - var s2 = _s2; - var s1 = _s1; - if (s1 === undefined) { - return true; - } - if (s2 === undefined) { - return false; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var v2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - if (v1 === v2) { - if (!subset(l1, l2)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue ; - } - if (v1 < v2) { - if (!subset(Belt_internalAVLset.create(l1, v1, undefined), l2)) { - return false; - } - _s1 = r1; - continue ; - } - if (!subset(Belt_internalAVLset.create(undefined, v1, r1), r2)) { - return false; - } - _s1 = l1; - continue ; - }; -} - -function get(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function getUndefined(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function getExn(_n, x) { - while(true) { - var n = _n; - if (n !== undefined) { - var v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function addMutate(t, x) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - var k = t.v; - if (x === k) { - return t; - } - var l = t.l; - var r = t.r; - if (x < k) { - t.l = addMutate(l, x); - } else { - t.r = addMutate(r, x); - } - return Belt_internalAVLset.balMutate(t); -} - -function fromArray(xs) { - var len = xs.length; - if (len === 0) { - return ; - } - var next = Belt_SortArrayInt.strictlySortedLength(xs); - var result; - if (next >= 0) { - result = Belt_internalAVLset.fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = Belt_internalAVLset.fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for(var i = next; i < len; ++i){ - result = addMutate(result, xs[i]); - } - return result; -} - -var S; - -var N; - -var A; - -export { - S , - N , - A , - has , - compareAux , - cmp , - eq , - subset , - get , - getUndefined , - getExn , - addMutate , - fromArray , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetString.js b/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetString.js deleted file mode 100644 index bd5096a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/belt_internalSetString.js +++ /dev/null @@ -1,209 +0,0 @@ - - -import * as Belt_internalAVLset from "./belt_internalAVLset.js"; -import * as Belt_SortArrayString from "./belt_SortArrayString.js"; - -function has(_t, x) { - while(true) { - var t = _t; - if (t === undefined) { - return false; - } - var v = t.v; - if (x === v) { - return true; - } - _t = x < v ? t.l : t.r; - continue ; - }; -} - -function compareAux(_e1, _e2) { - while(true) { - var e2 = _e2; - var e1 = _e1; - if (!e1) { - return 0; - } - if (!e2) { - return 0; - } - var h2 = e2.hd; - var h1 = e1.hd; - var k1 = h1.v; - var k2 = h2.v; - if (k1 !== k2) { - if (k1 < k2) { - return -1; - } else { - return 1; - } - } - _e2 = Belt_internalAVLset.stackAllLeft(h2.r, e2.tl); - _e1 = Belt_internalAVLset.stackAllLeft(h1.r, e1.tl); - continue ; - }; -} - -function cmp(s1, s2) { - var len1 = Belt_internalAVLset.size(s1); - var len2 = Belt_internalAVLset.size(s2); - if (len1 === len2) { - return compareAux(Belt_internalAVLset.stackAllLeft(s1, /* [] */0), Belt_internalAVLset.stackAllLeft(s2, /* [] */0)); - } else if (len1 < len2) { - return -1; - } else { - return 1; - } -} - -function eq(s1, s2) { - return cmp(s1, s2) === 0; -} - -function subset(_s1, _s2) { - while(true) { - var s2 = _s2; - var s1 = _s1; - if (s1 === undefined) { - return true; - } - if (s2 === undefined) { - return false; - } - var v1 = s1.v; - var l1 = s1.l; - var r1 = s1.r; - var v2 = s2.v; - var l2 = s2.l; - var r2 = s2.r; - if (v1 === v2) { - if (!subset(l1, l2)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue ; - } - if (v1 < v2) { - if (!subset(Belt_internalAVLset.create(l1, v1, undefined), l2)) { - return false; - } - _s1 = r1; - continue ; - } - if (!subset(Belt_internalAVLset.create(undefined, v1, r1), r2)) { - return false; - } - _s1 = l1; - continue ; - }; -} - -function get(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function getUndefined(_n, x) { - while(true) { - var n = _n; - if (n === undefined) { - return ; - } - var v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue ; - }; -} - -function getExn(_n, x) { - while(true) { - var n = _n; - if (n !== undefined) { - var v = n.v; - if (x === v) { - return v; - } - _n = x < v ? n.l : n.r; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function addMutate(t, x) { - if (t === undefined) { - return Belt_internalAVLset.singleton(x); - } - var k = t.v; - if (x === k) { - return t; - } - var l = t.l; - var r = t.r; - if (x < k) { - t.l = addMutate(l, x); - } else { - t.r = addMutate(r, x); - } - return Belt_internalAVLset.balMutate(t); -} - -function fromArray(xs) { - var len = xs.length; - if (len === 0) { - return ; - } - var next = Belt_SortArrayString.strictlySortedLength(xs); - var result; - if (next >= 0) { - result = Belt_internalAVLset.fromSortedArrayAux(xs, 0, next); - } else { - next = -next | 0; - result = Belt_internalAVLset.fromSortedArrayRevAux(xs, next - 1 | 0, next); - } - for(var i = next; i < len; ++i){ - result = addMutate(result, xs[i]); - } - return result; -} - -var S; - -var N; - -var A; - -export { - S , - N , - A , - has , - compareAux , - cmp , - eq , - subset , - get , - getUndefined , - getExn , - addMutate , - fromArray , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/buffer.js b/bots/sustainabot/bot-integration/rescript-runtime/buffer.js deleted file mode 100644 index 8ef660c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/buffer.js +++ /dev/null @@ -1,477 +0,0 @@ - - -import * as Bytes from "./bytes.js"; -import * as Curry from "./curry.js"; -import * as $$String from "./string.js"; -import * as Caml_bytes from "./caml_bytes.js"; -import * as Caml_string from "./caml_string.js"; - -function create(n) { - var n$1 = n < 1 ? 1 : n; - var s = Caml_bytes.create(n$1); - return { - buffer: s, - position: 0, - length: n$1, - initial_buffer: s - }; -} - -function contents(b) { - return Bytes.sub_string(b.buffer, 0, b.position); -} - -function to_bytes(b) { - return Bytes.sub(b.buffer, 0, b.position); -} - -function sub(b, ofs, len) { - if (ofs < 0 || len < 0 || ofs > (b.position - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Buffer.sub", - Error: new Error() - }; - } - return Bytes.sub_string(b.buffer, ofs, len); -} - -function blit(src, srcoff, dst, dstoff, len) { - if (len < 0 || srcoff < 0 || srcoff > (src.position - len | 0) || dstoff < 0 || dstoff > (dst.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Buffer.blit", - Error: new Error() - }; - } - Bytes.blit(src.buffer, srcoff, dst, dstoff, len); -} - -function nth(b, ofs) { - if (ofs < 0 || ofs >= b.position) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Buffer.nth", - Error: new Error() - }; - } - return b.buffer[ofs]; -} - -function length(b) { - return b.position; -} - -function clear(b) { - b.position = 0; -} - -function reset(b) { - b.position = 0; - b.buffer = b.initial_buffer; - b.length = b.buffer.length; -} - -function resize(b, more) { - var len = b.length; - var new_len = len; - while((b.position + more | 0) > new_len) { - new_len = (new_len << 1); - }; - var new_buffer = Caml_bytes.create(new_len); - Bytes.blit(b.buffer, 0, new_buffer, 0, b.position); - b.buffer = new_buffer; - b.length = new_len; -} - -function add_char(b, c) { - var pos = b.position; - if (pos >= b.length) { - resize(b, 1); - } - b.buffer[pos] = c; - b.position = pos + 1 | 0; -} - -function add_utf_8_uchar(b, u) { - var u$1 = u; - if (u$1 < 0) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "buffer.res", - 98, - 18 - ], - Error: new Error() - }; - } - if (u$1 <= 127) { - return add_char(b, u$1); - } - if (u$1 <= 2047) { - var pos = b.position; - if ((pos + 2 | 0) > b.length) { - resize(b, 2); - } - b.buffer[pos] = 192 | (u$1 >>> 6); - b.buffer[pos + 1 | 0] = 128 | u$1 & 63; - b.position = pos + 2 | 0; - return ; - } - if (u$1 <= 65535) { - var pos$1 = b.position; - if ((pos$1 + 3 | 0) > b.length) { - resize(b, 3); - } - b.buffer[pos$1] = 224 | (u$1 >>> 12); - b.buffer[pos$1 + 1 | 0] = 128 | (u$1 >>> 6) & 63; - b.buffer[pos$1 + 2 | 0] = 128 | u$1 & 63; - b.position = pos$1 + 3 | 0; - return ; - } - if (u$1 <= 1114111) { - var pos$2 = b.position; - if ((pos$2 + 4 | 0) > b.length) { - resize(b, 4); - } - b.buffer[pos$2] = 240 | (u$1 >>> 18); - b.buffer[pos$2 + 1 | 0] = 128 | (u$1 >>> 12) & 63; - b.buffer[pos$2 + 2 | 0] = 128 | (u$1 >>> 6) & 63; - b.buffer[pos$2 + 3 | 0] = 128 | u$1 & 63; - b.position = pos$2 + 4 | 0; - return ; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "buffer.res", - 127, - 9 - ], - Error: new Error() - }; -} - -function add_utf_16be_uchar(b, u) { - var u$1 = u; - if (u$1 < 0) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "buffer.res", - 132, - 18 - ], - Error: new Error() - }; - } - if (u$1 <= 65535) { - var pos = b.position; - if ((pos + 2 | 0) > b.length) { - resize(b, 2); - } - b.buffer[pos] = (u$1 >>> 8); - b.buffer[pos + 1 | 0] = u$1 & 255; - b.position = pos + 2 | 0; - return ; - } - if (u$1 <= 1114111) { - var u$p = u$1 - 65536 | 0; - var hi = 55296 | (u$p >>> 10); - var lo = 56320 | u$p & 1023; - var pos$1 = b.position; - if ((pos$1 + 4 | 0) > b.length) { - resize(b, 4); - } - b.buffer[pos$1] = (hi >>> 8); - b.buffer[pos$1 + 1 | 0] = hi & 255; - b.buffer[pos$1 + 2 | 0] = (lo >>> 8); - b.buffer[pos$1 + 3 | 0] = lo & 255; - b.position = pos$1 + 4 | 0; - return ; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "buffer.res", - 154, - 9 - ], - Error: new Error() - }; -} - -function add_utf_16le_uchar(b, u) { - var u$1 = u; - if (u$1 < 0) { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "buffer.res", - 159, - 18 - ], - Error: new Error() - }; - } - if (u$1 <= 65535) { - var pos = b.position; - if ((pos + 2 | 0) > b.length) { - resize(b, 2); - } - b.buffer[pos] = u$1 & 255; - b.buffer[pos + 1 | 0] = (u$1 >>> 8); - b.position = pos + 2 | 0; - return ; - } - if (u$1 <= 1114111) { - var u$p = u$1 - 65536 | 0; - var hi = 55296 | (u$p >>> 10); - var lo = 56320 | u$p & 1023; - var pos$1 = b.position; - if ((pos$1 + 4 | 0) > b.length) { - resize(b, 4); - } - b.buffer[pos$1] = hi & 255; - b.buffer[pos$1 + 1 | 0] = (hi >>> 8); - b.buffer[pos$1 + 2 | 0] = lo & 255; - b.buffer[pos$1 + 3 | 0] = (lo >>> 8); - b.position = pos$1 + 4 | 0; - return ; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "buffer.res", - 181, - 9 - ], - Error: new Error() - }; -} - -function add_substring(b, s, offset, len) { - if (offset < 0 || len < 0 || offset > (s.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Buffer.add_substring/add_subbytes", - Error: new Error() - }; - } - var new_position = b.position + len | 0; - if (new_position > b.length) { - resize(b, len); - } - Bytes.blit_string(s, offset, b.buffer, b.position, len); - b.position = new_position; -} - -function add_subbytes(b, s, offset, len) { - add_substring(b, Bytes.unsafe_to_string(s), offset, len); -} - -function add_string(b, s) { - var len = s.length; - var new_position = b.position + len | 0; - if (new_position > b.length) { - resize(b, len); - } - Bytes.blit_string(s, 0, b.buffer, b.position, len); - b.position = new_position; -} - -function add_bytes(b, s) { - add_string(b, Bytes.unsafe_to_string(s)); -} - -function add_buffer(b, bs) { - add_subbytes(b, bs.buffer, 0, bs.position); -} - -function closing(param) { - if (param === 40) { - return /* ')' */41; - } - if (param === 123) { - return /* '}' */125; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "buffer.res", - 216, - 9 - ], - Error: new Error() - }; -} - -function advance_to_closing(opening, closing, k, s, start) { - var _k = k; - var _i = start; - var lim = s.length; - while(true) { - var i = _i; - var k$1 = _k; - if (i >= lim) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (Caml_string.get(s, i) === opening) { - _i = i + 1 | 0; - _k = k$1 + 1 | 0; - continue ; - } - if (Caml_string.get(s, i) === closing) { - if (k$1 === 0) { - return i; - } - _i = i + 1 | 0; - _k = k$1 - 1 | 0; - continue ; - } - _i = i + 1 | 0; - continue ; - }; -} - -function advance_to_non_alpha(s, start) { - var _i = start; - var lim = s.length; - while(true) { - var i = _i; - if (i >= lim) { - return lim; - } - var match = Caml_string.get(s, i); - if (match >= 91) { - if (match >= 97) { - if (match >= 123) { - return i; - } - - } else if (match !== 95) { - return i; - } - - } else if (match >= 58) { - if (match < 65) { - return i; - } - - } else if (match < 48) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function find_ident(s, start, lim) { - if (start >= lim) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var c = Caml_string.get(s, start); - if (c !== 40 && c !== 123) { - var stop = advance_to_non_alpha(s, start + 1 | 0); - return [ - $$String.sub(s, start, stop - start | 0), - stop - ]; - } - var new_start = start + 1 | 0; - var stop$1 = advance_to_closing(c, closing(c), 0, s, new_start); - return [ - $$String.sub(s, new_start, (stop$1 - start | 0) - 1 | 0), - stop$1 + 1 | 0 - ]; -} - -function add_substitute(b, f, s) { - var lim = s.length; - var _previous = /* ' ' */32; - var _i = 0; - while(true) { - var i = _i; - var previous = _previous; - if (i >= lim) { - if (previous === /* '\\' */92) { - return add_char(b, previous); - } else { - return ; - } - } - var current = Caml_string.get(s, i); - if (current !== 36) { - if (previous === /* '\\' */92) { - add_char(b, /* '\\' */92); - add_char(b, current); - _i = i + 1 | 0; - _previous = /* ' ' */32; - continue ; - } - if (current !== 92) { - add_char(b, current); - _i = i + 1 | 0; - _previous = current; - continue ; - } - _i = i + 1 | 0; - _previous = current; - continue ; - } - if (previous === /* '\\' */92) { - add_char(b, current); - _i = i + 1 | 0; - _previous = /* ' ' */32; - continue ; - } - var j = i + 1 | 0; - var match = find_ident(s, j, lim); - add_string(b, Curry._1(f, match[0])); - _i = match[1]; - _previous = /* ' ' */32; - continue ; - }; -} - -function truncate(b, len) { - if (len < 0 || len > b.position) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Buffer.truncate", - Error: new Error() - }; - } - b.position = len; -} - -export { - create , - contents , - to_bytes , - sub , - blit , - nth , - length , - clear , - reset , - add_char , - add_utf_8_uchar , - add_utf_16le_uchar , - add_utf_16be_uchar , - add_string , - add_bytes , - add_substring , - add_subbytes , - add_substitute , - add_buffer , - truncate , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/bytes.js b/bots/sustainabot/bot-integration/rescript-runtime/bytes.js deleted file mode 100644 index c009825..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/bytes.js +++ /dev/null @@ -1,704 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Char from "./char.js"; -import * as Curry from "./curry.js"; -import * as Caml_bytes from "./caml_bytes.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -function unsafe_fill(s, i, l, c) { - if (l <= 0) { - return ; - } - for(var k = i ,k_finish = l + i | 0; k < k_finish; ++k){ - s[k] = c; - } -} - -function unsafe_blit(s1, i1, s2, i2, len) { - if (len <= 0) { - return ; - } - if (s1 === s2) { - if (i1 < i2) { - var range_a = (s1.length - i2 | 0) - 1 | 0; - var range_b = len - 1 | 0; - var range = range_a > range_b ? range_b : range_a; - for(var j = range; j >= 0; --j){ - s1[i2 + j | 0] = s1[i1 + j | 0]; - } - return ; - } - if (i1 <= i2) { - return ; - } - var range_a$1 = (s1.length - i1 | 0) - 1 | 0; - var range_b$1 = len - 1 | 0; - var range$1 = range_a$1 > range_b$1 ? range_b$1 : range_a$1; - for(var k = 0; k <= range$1; ++k){ - s1[i2 + k | 0] = s1[i1 + k | 0]; - } - return ; - } - var off1 = s1.length - i1 | 0; - if (len <= off1) { - for(var i = 0; i < len; ++i){ - s2[i2 + i | 0] = s1[i1 + i | 0]; - } - return ; - } - for(var i$1 = 0; i$1 < off1; ++i$1){ - s2[i2 + i$1 | 0] = s1[i1 + i$1 | 0]; - } - for(var i$2 = off1; i$2 < len; ++i$2){ - s2[i2 + i$2 | 0] = /* '\000' */0; - } -} - -function make(n, c) { - var s = Caml_bytes.create(n); - unsafe_fill(s, 0, n, c); - return s; -} - -function init(n, f) { - var s = Caml_bytes.create(n); - for(var i = 0; i < n; ++i){ - s[i] = Curry._1(f, i); - } - return s; -} - -var empty = []; - -function copy(s) { - var len = s.length; - var r = Caml_bytes.create(len); - unsafe_blit(s, 0, r, 0, len); - return r; -} - -function to_string(a) { - var i = 0; - var len = a.length; - var s = ""; - var s_len = len; - if (i === 0 && len <= 4096 && len === a.length) { - return String.fromCharCode.apply(null, a); - } - var offset = 0; - while(s_len > 0) { - var next = s_len < 1024 ? s_len : 1024; - var tmp_bytes = new Array(next); - for(var k = 0; k < next; ++k){ - tmp_bytes[k] = a[k + offset | 0]; - } - s = s + String.fromCharCode.apply(null, tmp_bytes); - s_len = s_len - next | 0; - offset = offset + next | 0; - }; - return s; -} - -function of_string(s) { - var len = s.length; - var res = new Array(len); - for(var i = 0; i < len; ++i){ - res[i] = s.codePointAt(i); - } - return res; -} - -function sub(s, ofs, len) { - if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.sub / Bytes.sub", - Error: new Error() - }; - } - var r = Caml_bytes.create(len); - unsafe_blit(s, ofs, r, 0, len); - return r; -} - -function sub_string(b, ofs, len) { - return to_string(sub(b, ofs, len)); -} - -function $plus$plus(a, b) { - var c = a + b | 0; - var match = a < 0; - var match$1 = b < 0; - var match$2 = c < 0; - if (match) { - if (!match$1) { - return c; - } - if (match$2) { - return c; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Bytes.extend", - Error: new Error() - }; - } - if (match$1) { - return c; - } - if (match$2) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Bytes.extend", - Error: new Error() - }; - } - return c; -} - -function extend(s, left, right) { - var len = $plus$plus($plus$plus(s.length, left), right); - var r = Caml_bytes.create(len); - var match = left < 0 ? [ - -left | 0, - 0 - ] : [ - 0, - left - ]; - var dstoff = match[1]; - var srcoff = match[0]; - var cpylen = Caml.int_min(s.length - srcoff | 0, len - dstoff | 0); - if (cpylen > 0) { - unsafe_blit(s, srcoff, r, dstoff, cpylen); - } - return r; -} - -function fill(s, ofs, len, c) { - if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.fill / Bytes.fill", - Error: new Error() - }; - } - unsafe_fill(s, ofs, len, c); -} - -function blit(s1, ofs1, s2, ofs2, len) { - if (len < 0 || ofs1 < 0 || ofs1 > (s1.length - len | 0) || ofs2 < 0 || ofs2 > (s2.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Bytes.blit", - Error: new Error() - }; - } - unsafe_blit(s1, ofs1, s2, ofs2, len); -} - -function blit_string(s1, ofs1, s2, ofs2, len) { - if (len < 0 || ofs1 < 0 || ofs1 > (s1.length - len | 0) || ofs2 < 0 || ofs2 > (s2.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.blit / Bytes.blit_string", - Error: new Error() - }; - } - if (len <= 0) { - return ; - } - var off1 = s1.length - ofs1 | 0; - if (len <= off1) { - for(var i = 0; i < len; ++i){ - s2[ofs2 + i | 0] = s1.codePointAt(ofs1 + i | 0); - } - return ; - } - for(var i$1 = 0; i$1 < off1; ++i$1){ - s2[ofs2 + i$1 | 0] = s1.codePointAt(ofs1 + i$1 | 0); - } - for(var i$2 = off1; i$2 < len; ++i$2){ - s2[ofs2 + i$2 | 0] = /* '\000' */0; - } -} - -function iter(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._1(f, a[i]); - } -} - -function iteri(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._2(f, i, a[i]); - } -} - -function ensure_ge(x, y) { - if (x >= y) { - return x; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Bytes.concat", - Error: new Error() - }; -} - -function sum_lengths(_acc, seplen, _param) { - while(true) { - var param = _param; - var acc = _acc; - if (!param) { - return acc; - } - var tl = param.tl; - var hd = param.hd; - if (!tl) { - return hd.length + acc | 0; - } - _param = tl; - _acc = ensure_ge((hd.length + seplen | 0) + acc | 0, acc); - continue ; - }; -} - -function concat(sep, param) { - if (!param) { - return empty; - } - var seplen = sep.length; - var dst = Caml_bytes.create(sum_lengths(0, seplen, param)); - var _pos = 0; - var _param = param; - while(true) { - var param$1 = _param; - var pos = _pos; - if (!param$1) { - return dst; - } - var tl = param$1.tl; - var hd = param$1.hd; - if (tl) { - unsafe_blit(hd, 0, dst, pos, hd.length); - unsafe_blit(sep, 0, dst, pos + hd.length | 0, seplen); - _param = tl; - _pos = (pos + hd.length | 0) + seplen | 0; - continue ; - } - unsafe_blit(hd, 0, dst, pos, hd.length); - return dst; - }; -} - -function cat(s1, s2) { - var l1 = s1.length; - var l2 = s2.length; - var r = Caml_bytes.create(l1 + l2 | 0); - unsafe_blit(s1, 0, r, 0, l1); - unsafe_blit(s2, 0, r, l1, l2); - return r; -} - -function is_space(param) { - if (param > 13 || param < 9) { - return param === 32; - } else { - return param !== 11; - } -} - -function trim(s) { - var len = s.length; - var i = 0; - while(i < len && is_space(s[i])) { - i = i + 1 | 0; - }; - var j = len - 1 | 0; - while(j >= i && is_space(s[j])) { - j = j - 1 | 0; - }; - if (j >= i) { - return sub(s, i, (j - i | 0) + 1 | 0); - } else { - return empty; - } -} - -function escaped(s) { - var n = 0; - for(var i = 0 ,i_finish = s.length; i < i_finish; ++i){ - var match = s[i]; - n = n + ( - match >= 32 ? ( - match > 92 || match < 34 ? ( - match >= 127 ? 4 : 1 - ) : ( - match > 91 || match < 35 ? 2 : 1 - ) - ) : ( - match >= 11 ? ( - match !== 13 ? 4 : 2 - ) : ( - match >= 8 ? 2 : 4 - ) - ) - ) | 0; - } - if (n === s.length) { - return copy(s); - } - var s$p = Caml_bytes.create(n); - n = 0; - for(var i$1 = 0 ,i_finish$1 = s.length; i$1 < i_finish$1; ++i$1){ - var c = s[i$1]; - var exit = 0; - if (c >= 35) { - if (c !== 92) { - if (c >= 127) { - exit = 1; - } else { - s$p[n] = c; - } - } else { - exit = 2; - } - } else if (c >= 32) { - if (c >= 34) { - exit = 2; - } else { - s$p[n] = c; - } - } else if (c >= 14) { - exit = 1; - } else { - switch (c) { - case 8 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = /* 'b' */98; - break; - case 9 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = /* 't' */116; - break; - case 10 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = /* 'n' */110; - break; - case 0 : - case 1 : - case 2 : - case 3 : - case 4 : - case 5 : - case 6 : - case 7 : - case 11 : - case 12 : - exit = 1; - break; - case 13 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = /* 'r' */114; - break; - - } - } - switch (exit) { - case 1 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = 48 + (c / 100 | 0) | 0; - n = n + 1 | 0; - s$p[n] = 48 + (c / 10 | 0) % 10 | 0; - n = n + 1 | 0; - s$p[n] = 48 + c % 10 | 0; - break; - case 2 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = c; - break; - - } - n = n + 1 | 0; - } - return s$p; -} - -function map(f, s) { - var l = s.length; - if (l === 0) { - return s; - } - var r = Caml_bytes.create(l); - for(var i = 0; i < l; ++i){ - r[i] = Curry._1(f, s[i]); - } - return r; -} - -function mapi(f, s) { - var l = s.length; - if (l === 0) { - return s; - } - var r = Caml_bytes.create(l); - for(var i = 0; i < l; ++i){ - r[i] = Curry._2(f, i, s[i]); - } - return r; -} - -function uppercase_ascii(s) { - return map(Char.uppercase_ascii, s); -} - -function lowercase_ascii(s) { - return map(Char.lowercase_ascii, s); -} - -function apply1(f, s) { - if (s.length === 0) { - return s; - } - var r = copy(s); - r[0] = Curry._1(f, s[0]); - return r; -} - -function capitalize_ascii(s) { - return apply1(Char.uppercase_ascii, s); -} - -function uncapitalize_ascii(s) { - return apply1(Char.lowercase_ascii, s); -} - -function index_rec(s, lim, _i, c) { - while(true) { - var i = _i; - if (i >= lim) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (s[i] === c) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function index(s, c) { - return index_rec(s, s.length, 0, c); -} - -function index_rec_opt(s, lim, _i, c) { - while(true) { - var i = _i; - if (i >= lim) { - return ; - } - if (s[i] === c) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function index_opt(s, c) { - return index_rec_opt(s, s.length, 0, c); -} - -function index_from(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.index_from / Bytes.index_from", - Error: new Error() - }; - } - return index_rec(s, l, i, c); -} - -function index_from_opt(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.index_from_opt / Bytes.index_from_opt", - Error: new Error() - }; - } - return index_rec_opt(s, l, i, c); -} - -function rindex_rec(s, _i, c) { - while(true) { - var i = _i; - if (i < 0) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (s[i] === c) { - return i; - } - _i = i - 1 | 0; - continue ; - }; -} - -function rindex(s, c) { - return rindex_rec(s, s.length - 1 | 0, c); -} - -function rindex_from(s, i, c) { - if (i < -1 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rindex_from / Bytes.rindex_from", - Error: new Error() - }; - } - return rindex_rec(s, i, c); -} - -function rindex_rec_opt(s, _i, c) { - while(true) { - var i = _i; - if (i < 0) { - return ; - } - if (s[i] === c) { - return i; - } - _i = i - 1 | 0; - continue ; - }; -} - -function rindex_opt(s, c) { - return rindex_rec_opt(s, s.length - 1 | 0, c); -} - -function rindex_from_opt(s, i, c) { - if (i < -1 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rindex_from_opt / Bytes.rindex_from_opt", - Error: new Error() - }; - } - return rindex_rec_opt(s, i, c); -} - -function contains_from(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.contains_from / Bytes.contains_from", - Error: new Error() - }; - } - try { - index_rec(s, l, i, c); - return true; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return false; - } - throw exn; - } -} - -function contains(s, c) { - return contains_from(s, 0, c); -} - -function rcontains_from(s, i, c) { - if (i < 0 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rcontains_from / Bytes.rcontains_from", - Error: new Error() - }; - } - try { - rindex_rec(s, i, c); - return true; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return false; - } - throw exn; - } -} - -var compare = Caml_bytes.bytes_compare; - -var equal = Caml_bytes.bytes_equal; - -var unsafe_to_string = to_string; - -var unsafe_of_string = of_string; - -export { - make , - init , - empty , - copy , - of_string , - to_string , - sub , - sub_string , - extend , - fill , - blit , - blit_string , - concat , - cat , - iter , - iteri , - map , - mapi , - trim , - escaped , - index , - index_opt , - rindex , - rindex_opt , - index_from , - index_from_opt , - rindex_from , - rindex_from_opt , - contains , - contains_from , - rcontains_from , - uppercase_ascii , - lowercase_ascii , - capitalize_ascii , - uncapitalize_ascii , - compare , - equal , - unsafe_to_string , - unsafe_of_string , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/bytesLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/bytesLabels.js deleted file mode 100644 index c009825..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/bytesLabels.js +++ /dev/null @@ -1,704 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Char from "./char.js"; -import * as Curry from "./curry.js"; -import * as Caml_bytes from "./caml_bytes.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -function unsafe_fill(s, i, l, c) { - if (l <= 0) { - return ; - } - for(var k = i ,k_finish = l + i | 0; k < k_finish; ++k){ - s[k] = c; - } -} - -function unsafe_blit(s1, i1, s2, i2, len) { - if (len <= 0) { - return ; - } - if (s1 === s2) { - if (i1 < i2) { - var range_a = (s1.length - i2 | 0) - 1 | 0; - var range_b = len - 1 | 0; - var range = range_a > range_b ? range_b : range_a; - for(var j = range; j >= 0; --j){ - s1[i2 + j | 0] = s1[i1 + j | 0]; - } - return ; - } - if (i1 <= i2) { - return ; - } - var range_a$1 = (s1.length - i1 | 0) - 1 | 0; - var range_b$1 = len - 1 | 0; - var range$1 = range_a$1 > range_b$1 ? range_b$1 : range_a$1; - for(var k = 0; k <= range$1; ++k){ - s1[i2 + k | 0] = s1[i1 + k | 0]; - } - return ; - } - var off1 = s1.length - i1 | 0; - if (len <= off1) { - for(var i = 0; i < len; ++i){ - s2[i2 + i | 0] = s1[i1 + i | 0]; - } - return ; - } - for(var i$1 = 0; i$1 < off1; ++i$1){ - s2[i2 + i$1 | 0] = s1[i1 + i$1 | 0]; - } - for(var i$2 = off1; i$2 < len; ++i$2){ - s2[i2 + i$2 | 0] = /* '\000' */0; - } -} - -function make(n, c) { - var s = Caml_bytes.create(n); - unsafe_fill(s, 0, n, c); - return s; -} - -function init(n, f) { - var s = Caml_bytes.create(n); - for(var i = 0; i < n; ++i){ - s[i] = Curry._1(f, i); - } - return s; -} - -var empty = []; - -function copy(s) { - var len = s.length; - var r = Caml_bytes.create(len); - unsafe_blit(s, 0, r, 0, len); - return r; -} - -function to_string(a) { - var i = 0; - var len = a.length; - var s = ""; - var s_len = len; - if (i === 0 && len <= 4096 && len === a.length) { - return String.fromCharCode.apply(null, a); - } - var offset = 0; - while(s_len > 0) { - var next = s_len < 1024 ? s_len : 1024; - var tmp_bytes = new Array(next); - for(var k = 0; k < next; ++k){ - tmp_bytes[k] = a[k + offset | 0]; - } - s = s + String.fromCharCode.apply(null, tmp_bytes); - s_len = s_len - next | 0; - offset = offset + next | 0; - }; - return s; -} - -function of_string(s) { - var len = s.length; - var res = new Array(len); - for(var i = 0; i < len; ++i){ - res[i] = s.codePointAt(i); - } - return res; -} - -function sub(s, ofs, len) { - if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.sub / Bytes.sub", - Error: new Error() - }; - } - var r = Caml_bytes.create(len); - unsafe_blit(s, ofs, r, 0, len); - return r; -} - -function sub_string(b, ofs, len) { - return to_string(sub(b, ofs, len)); -} - -function $plus$plus(a, b) { - var c = a + b | 0; - var match = a < 0; - var match$1 = b < 0; - var match$2 = c < 0; - if (match) { - if (!match$1) { - return c; - } - if (match$2) { - return c; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Bytes.extend", - Error: new Error() - }; - } - if (match$1) { - return c; - } - if (match$2) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Bytes.extend", - Error: new Error() - }; - } - return c; -} - -function extend(s, left, right) { - var len = $plus$plus($plus$plus(s.length, left), right); - var r = Caml_bytes.create(len); - var match = left < 0 ? [ - -left | 0, - 0 - ] : [ - 0, - left - ]; - var dstoff = match[1]; - var srcoff = match[0]; - var cpylen = Caml.int_min(s.length - srcoff | 0, len - dstoff | 0); - if (cpylen > 0) { - unsafe_blit(s, srcoff, r, dstoff, cpylen); - } - return r; -} - -function fill(s, ofs, len, c) { - if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.fill / Bytes.fill", - Error: new Error() - }; - } - unsafe_fill(s, ofs, len, c); -} - -function blit(s1, ofs1, s2, ofs2, len) { - if (len < 0 || ofs1 < 0 || ofs1 > (s1.length - len | 0) || ofs2 < 0 || ofs2 > (s2.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Bytes.blit", - Error: new Error() - }; - } - unsafe_blit(s1, ofs1, s2, ofs2, len); -} - -function blit_string(s1, ofs1, s2, ofs2, len) { - if (len < 0 || ofs1 < 0 || ofs1 > (s1.length - len | 0) || ofs2 < 0 || ofs2 > (s2.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.blit / Bytes.blit_string", - Error: new Error() - }; - } - if (len <= 0) { - return ; - } - var off1 = s1.length - ofs1 | 0; - if (len <= off1) { - for(var i = 0; i < len; ++i){ - s2[ofs2 + i | 0] = s1.codePointAt(ofs1 + i | 0); - } - return ; - } - for(var i$1 = 0; i$1 < off1; ++i$1){ - s2[ofs2 + i$1 | 0] = s1.codePointAt(ofs1 + i$1 | 0); - } - for(var i$2 = off1; i$2 < len; ++i$2){ - s2[ofs2 + i$2 | 0] = /* '\000' */0; - } -} - -function iter(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._1(f, a[i]); - } -} - -function iteri(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - Curry._2(f, i, a[i]); - } -} - -function ensure_ge(x, y) { - if (x >= y) { - return x; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Bytes.concat", - Error: new Error() - }; -} - -function sum_lengths(_acc, seplen, _param) { - while(true) { - var param = _param; - var acc = _acc; - if (!param) { - return acc; - } - var tl = param.tl; - var hd = param.hd; - if (!tl) { - return hd.length + acc | 0; - } - _param = tl; - _acc = ensure_ge((hd.length + seplen | 0) + acc | 0, acc); - continue ; - }; -} - -function concat(sep, param) { - if (!param) { - return empty; - } - var seplen = sep.length; - var dst = Caml_bytes.create(sum_lengths(0, seplen, param)); - var _pos = 0; - var _param = param; - while(true) { - var param$1 = _param; - var pos = _pos; - if (!param$1) { - return dst; - } - var tl = param$1.tl; - var hd = param$1.hd; - if (tl) { - unsafe_blit(hd, 0, dst, pos, hd.length); - unsafe_blit(sep, 0, dst, pos + hd.length | 0, seplen); - _param = tl; - _pos = (pos + hd.length | 0) + seplen | 0; - continue ; - } - unsafe_blit(hd, 0, dst, pos, hd.length); - return dst; - }; -} - -function cat(s1, s2) { - var l1 = s1.length; - var l2 = s2.length; - var r = Caml_bytes.create(l1 + l2 | 0); - unsafe_blit(s1, 0, r, 0, l1); - unsafe_blit(s2, 0, r, l1, l2); - return r; -} - -function is_space(param) { - if (param > 13 || param < 9) { - return param === 32; - } else { - return param !== 11; - } -} - -function trim(s) { - var len = s.length; - var i = 0; - while(i < len && is_space(s[i])) { - i = i + 1 | 0; - }; - var j = len - 1 | 0; - while(j >= i && is_space(s[j])) { - j = j - 1 | 0; - }; - if (j >= i) { - return sub(s, i, (j - i | 0) + 1 | 0); - } else { - return empty; - } -} - -function escaped(s) { - var n = 0; - for(var i = 0 ,i_finish = s.length; i < i_finish; ++i){ - var match = s[i]; - n = n + ( - match >= 32 ? ( - match > 92 || match < 34 ? ( - match >= 127 ? 4 : 1 - ) : ( - match > 91 || match < 35 ? 2 : 1 - ) - ) : ( - match >= 11 ? ( - match !== 13 ? 4 : 2 - ) : ( - match >= 8 ? 2 : 4 - ) - ) - ) | 0; - } - if (n === s.length) { - return copy(s); - } - var s$p = Caml_bytes.create(n); - n = 0; - for(var i$1 = 0 ,i_finish$1 = s.length; i$1 < i_finish$1; ++i$1){ - var c = s[i$1]; - var exit = 0; - if (c >= 35) { - if (c !== 92) { - if (c >= 127) { - exit = 1; - } else { - s$p[n] = c; - } - } else { - exit = 2; - } - } else if (c >= 32) { - if (c >= 34) { - exit = 2; - } else { - s$p[n] = c; - } - } else if (c >= 14) { - exit = 1; - } else { - switch (c) { - case 8 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = /* 'b' */98; - break; - case 9 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = /* 't' */116; - break; - case 10 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = /* 'n' */110; - break; - case 0 : - case 1 : - case 2 : - case 3 : - case 4 : - case 5 : - case 6 : - case 7 : - case 11 : - case 12 : - exit = 1; - break; - case 13 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = /* 'r' */114; - break; - - } - } - switch (exit) { - case 1 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = 48 + (c / 100 | 0) | 0; - n = n + 1 | 0; - s$p[n] = 48 + (c / 10 | 0) % 10 | 0; - n = n + 1 | 0; - s$p[n] = 48 + c % 10 | 0; - break; - case 2 : - s$p[n] = /* '\\' */92; - n = n + 1 | 0; - s$p[n] = c; - break; - - } - n = n + 1 | 0; - } - return s$p; -} - -function map(f, s) { - var l = s.length; - if (l === 0) { - return s; - } - var r = Caml_bytes.create(l); - for(var i = 0; i < l; ++i){ - r[i] = Curry._1(f, s[i]); - } - return r; -} - -function mapi(f, s) { - var l = s.length; - if (l === 0) { - return s; - } - var r = Caml_bytes.create(l); - for(var i = 0; i < l; ++i){ - r[i] = Curry._2(f, i, s[i]); - } - return r; -} - -function uppercase_ascii(s) { - return map(Char.uppercase_ascii, s); -} - -function lowercase_ascii(s) { - return map(Char.lowercase_ascii, s); -} - -function apply1(f, s) { - if (s.length === 0) { - return s; - } - var r = copy(s); - r[0] = Curry._1(f, s[0]); - return r; -} - -function capitalize_ascii(s) { - return apply1(Char.uppercase_ascii, s); -} - -function uncapitalize_ascii(s) { - return apply1(Char.lowercase_ascii, s); -} - -function index_rec(s, lim, _i, c) { - while(true) { - var i = _i; - if (i >= lim) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (s[i] === c) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function index(s, c) { - return index_rec(s, s.length, 0, c); -} - -function index_rec_opt(s, lim, _i, c) { - while(true) { - var i = _i; - if (i >= lim) { - return ; - } - if (s[i] === c) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function index_opt(s, c) { - return index_rec_opt(s, s.length, 0, c); -} - -function index_from(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.index_from / Bytes.index_from", - Error: new Error() - }; - } - return index_rec(s, l, i, c); -} - -function index_from_opt(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.index_from_opt / Bytes.index_from_opt", - Error: new Error() - }; - } - return index_rec_opt(s, l, i, c); -} - -function rindex_rec(s, _i, c) { - while(true) { - var i = _i; - if (i < 0) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (s[i] === c) { - return i; - } - _i = i - 1 | 0; - continue ; - }; -} - -function rindex(s, c) { - return rindex_rec(s, s.length - 1 | 0, c); -} - -function rindex_from(s, i, c) { - if (i < -1 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rindex_from / Bytes.rindex_from", - Error: new Error() - }; - } - return rindex_rec(s, i, c); -} - -function rindex_rec_opt(s, _i, c) { - while(true) { - var i = _i; - if (i < 0) { - return ; - } - if (s[i] === c) { - return i; - } - _i = i - 1 | 0; - continue ; - }; -} - -function rindex_opt(s, c) { - return rindex_rec_opt(s, s.length - 1 | 0, c); -} - -function rindex_from_opt(s, i, c) { - if (i < -1 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rindex_from_opt / Bytes.rindex_from_opt", - Error: new Error() - }; - } - return rindex_rec_opt(s, i, c); -} - -function contains_from(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.contains_from / Bytes.contains_from", - Error: new Error() - }; - } - try { - index_rec(s, l, i, c); - return true; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return false; - } - throw exn; - } -} - -function contains(s, c) { - return contains_from(s, 0, c); -} - -function rcontains_from(s, i, c) { - if (i < 0 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rcontains_from / Bytes.rcontains_from", - Error: new Error() - }; - } - try { - rindex_rec(s, i, c); - return true; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return false; - } - throw exn; - } -} - -var compare = Caml_bytes.bytes_compare; - -var equal = Caml_bytes.bytes_equal; - -var unsafe_to_string = to_string; - -var unsafe_of_string = of_string; - -export { - make , - init , - empty , - copy , - of_string , - to_string , - sub , - sub_string , - extend , - fill , - blit , - blit_string , - concat , - cat , - iter , - iteri , - map , - mapi , - trim , - escaped , - index , - index_opt , - rindex , - rindex_opt , - index_from , - index_from_opt , - rindex_from , - rindex_from_opt , - contains , - contains_from , - rcontains_from , - uppercase_ascii , - lowercase_ascii , - capitalize_ascii , - uncapitalize_ascii , - compare , - equal , - unsafe_to_string , - unsafe_of_string , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/callback.js b/bots/sustainabot/bot-integration/rescript-runtime/callback.js deleted file mode 100644 index 246e962..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/callback.js +++ /dev/null @@ -1,16 +0,0 @@ - - - -function register(param, param$1) { - -} - -function register_exception(param, param$1) { - -} - -export { - register , - register_exception , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml.js b/bots/sustainabot/bot-integration/rescript-runtime/caml.js deleted file mode 100644 index 1ed4011..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml.js +++ /dev/null @@ -1,207 +0,0 @@ - - - -function int_compare(x, y) { - if (x < y) { - return -1; - } else if (x === y) { - return 0; - } else { - return 1; - } -} - -function bool_compare(x, y) { - if (x) { - if (y) { - return 0; - } else { - return 1; - } - } else if (y) { - return -1; - } else { - return 0; - } -} - -function float_compare(x, y) { - if (x === y) { - return 0; - } else if (x < y) { - return -1; - } else if (x > y || x === x) { - return 1; - } else if (y === y) { - return -1; - } else { - return 0; - } -} - -function bigint_compare(x, y) { - if (x < y) { - return -1; - } else if (x === y) { - return 0; - } else { - return 1; - } -} - -function string_compare(s1, s2) { - if (s1 === s2) { - return 0; - } else if (s1 < s2) { - return -1; - } else { - return 1; - } -} - -function bool_min(x, y) { - if (x) { - return y; - } else { - return x; - } -} - -function int_min(x, y) { - if (x < y) { - return x; - } else { - return y; - } -} - -function float_min(x, y) { - if (x < y) { - return x; - } else { - return y; - } -} - -function string_min(x, y) { - if (x < y) { - return x; - } else { - return y; - } -} - -function bool_max(x, y) { - if (x) { - return x; - } else { - return y; - } -} - -function int_max(x, y) { - if (x > y) { - return x; - } else { - return y; - } -} - -function float_max(x, y) { - if (x > y) { - return x; - } else { - return y; - } -} - -function string_max(x, y) { - if (x > y) { - return x; - } else { - return y; - } -} - -function i64_eq(x, y) { - if (x[1] === y[1]) { - return x[0] === y[0]; - } else { - return false; - } -} - -function i64_ge(param, param$1) { - var other_hi = param$1[0]; - var hi = param[0]; - if (hi > other_hi) { - return true; - } else if (hi < other_hi) { - return false; - } else { - return param[1] >= param$1[1]; - } -} - -function i64_neq(x, y) { - return !i64_eq(x, y); -} - -function i64_lt(x, y) { - return !i64_ge(x, y); -} - -function i64_gt(x, y) { - if (x[0] > y[0]) { - return true; - } else if (x[0] < y[0]) { - return false; - } else { - return x[1] > y[1]; - } -} - -function i64_le(x, y) { - return !i64_gt(x, y); -} - -function i64_min(x, y) { - if (i64_ge(x, y)) { - return y; - } else { - return x; - } -} - -function i64_max(x, y) { - if (i64_gt(x, y)) { - return x; - } else { - return y; - } -} - -export { - int_compare , - bool_compare , - float_compare , - bigint_compare , - string_compare , - bool_min , - int_min , - float_min , - string_min , - bool_max , - int_max , - float_max , - string_max , - i64_eq , - i64_neq , - i64_lt , - i64_gt , - i64_le , - i64_ge , - i64_min , - i64_max , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_array.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_array.js deleted file mode 100644 index a24867b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_array.js +++ /dev/null @@ -1,122 +0,0 @@ - - - -function sub(x, offset, len) { - var result = new Array(len); - var j = 0; - var i = offset; - while(j < len) { - result[j] = x[i]; - j = j + 1 | 0; - i = i + 1 | 0; - }; - return result; -} - -function len(_acc, _l) { - while(true) { - var l = _l; - var acc = _acc; - if (!l) { - return acc; - } - _l = l.tl; - _acc = l.hd.length + acc | 0; - continue ; - }; -} - -function fill(arr, _i, _l) { - while(true) { - var l = _l; - var i = _i; - if (!l) { - return ; - } - var x = l.hd; - var l$1 = x.length; - var k = i; - var j = 0; - while(j < l$1) { - arr[k] = x[j]; - k = k + 1 | 0; - j = j + 1 | 0; - }; - _l = l.tl; - _i = k; - continue ; - }; -} - -function concat(l) { - var v = len(0, l); - var result = new Array(v); - fill(result, 0, l); - return result; -} - -function set(xs, index, newval) { - if (index < 0 || index >= xs.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "index out of bounds", - Error: new Error() - }; - } - xs[index] = newval; -} - -function get(xs, index) { - if (index < 0 || index >= xs.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "index out of bounds", - Error: new Error() - }; - } - return xs[index]; -} - -function make(len, init) { - var b = new Array(len); - for(var i = 0; i < len; ++i){ - b[i] = init; - } - return b; -} - -function make_float(len) { - var b = new Array(len); - for(var i = 0; i < len; ++i){ - b[i] = 0; - } - return b; -} - -function blit(a1, i1, a2, i2, len) { - if (i2 <= i1) { - for(var j = 0; j < len; ++j){ - a2[j + i2 | 0] = a1[j + i1 | 0]; - } - return ; - } - for(var j$1 = len - 1 | 0; j$1 >= 0; --j$1){ - a2[j$1 + i2 | 0] = a1[j$1 + i1 | 0]; - } -} - -function dup(prim) { - return prim.slice(0); -} - -export { - dup , - sub , - concat , - make , - make_float , - blit , - get , - set , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_array_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_array_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_array_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_bigint.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_bigint.js deleted file mode 100644 index fa5d6c8..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_bigint.js +++ /dev/null @@ -1,28 +0,0 @@ - - - -function div(x, y) { - if (y === 0n) { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - return x / y; -} - -function mod_(x, y) { - if (y === 0n) { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - return x % y; -} - -export { - div , - mod_ , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_bigint_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_bigint_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_bigint_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_bytes.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_bytes.js deleted file mode 100644 index 757efb0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_bytes.js +++ /dev/null @@ -1,122 +0,0 @@ - - - -function set(s, i, ch) { - if (i < 0 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "index out of bounds", - Error: new Error() - }; - } - s[i] = ch; -} - -function get(s, i) { - if (i < 0 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "index out of bounds", - Error: new Error() - }; - } - return s[i]; -} - -function create(len) { - if (len < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.create", - Error: new Error() - }; - } - var result = new Array(len); - for(var i = 0; i < len; ++i){ - result[i] = /* '\000' */0; - } - return result; -} - -function bytes_compare_aux(s1, s2, _off, len, def) { - while(true) { - var off = _off; - if (off >= len) { - return def; - } - var a = s1[off]; - var b = s2[off]; - if (a > b) { - return 1; - } - if (a < b) { - return -1; - } - _off = off + 1 | 0; - continue ; - }; -} - -function bytes_compare(s1, s2) { - var len1 = s1.length; - var len2 = s2.length; - if (len1 === len2) { - return bytes_compare_aux(s1, s2, 0, len1, 0); - } else if (len1 < len2) { - return bytes_compare_aux(s1, s2, 0, len1, -1); - } else { - return bytes_compare_aux(s1, s2, 0, len2, 1); - } -} - -function bytes_equal(s1, s2) { - var len1 = s1.length; - var len2 = s2.length; - if (len1 === len2) { - var _off = 0; - while(true) { - var off = _off; - if (off === len1) { - return true; - } - var a = s1[off]; - var b = s2[off]; - if (a !== b) { - return false; - } - _off = off + 1 | 0; - continue ; - }; - } else { - return false; - } -} - -function bytes_greaterthan(s1, s2) { - return bytes_compare(s1, s2) > 0; -} - -function bytes_greaterequal(s1, s2) { - return bytes_compare(s1, s2) >= 0; -} - -function bytes_lessthan(s1, s2) { - return bytes_compare(s1, s2) < 0; -} - -function bytes_lessequal(s1, s2) { - return bytes_compare(s1, s2) <= 0; -} - -export { - create , - get , - set , - bytes_compare , - bytes_greaterthan , - bytes_greaterequal , - bytes_lessthan , - bytes_lessequal , - bytes_equal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_exceptions.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_exceptions.js deleted file mode 100644 index 8fc9945..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_exceptions.js +++ /dev/null @@ -1,37 +0,0 @@ - - - -var idMap = new Map(); - -function create(str) { - var v = idMap.get(str); - var id; - if (v !== undefined) { - var id$1 = v + 1 | 0; - idMap.set(str, id$1); - id = id$1; - } else { - idMap.set(str, 1); - id = 1; - } - return str + ("/" + id); -} - -function is_extension(e) { - if (e == null) { - return false; - } else { - return typeof e.RE_EXN_ID === "string"; - } -} - -function exn_slot_name(x) { - return x.RE_EXN_ID; -} - -export { - create , - is_extension , - exn_slot_name , -} -/* idMap Not a pure module */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_external_polyfill.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_external_polyfill.js deleted file mode 100644 index 818c834..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_external_polyfill.js +++ /dev/null @@ -1,32 +0,0 @@ - - - -var getGlobalThis = (function(){ - if (typeof globalThis !== 'undefined') return globalThis; - if (typeof self !== 'undefined') return self; - if (typeof window !== 'undefined') return window; - if (typeof global !== 'undefined') return global; - if (typeof this !== 'undefined') return this; - throw new Error('Unable to locate global this'); -}); - -var resolve = (function(s){ - var myGlobal = getGlobalThis(); - if (myGlobal[s] === undefined){ - throw new Error(s + " not polyfilled by ReScript yet\n") - } - return myGlobal[s] -}); - -var register = (function(s,fn){ - var myGlobal = getGlobalThis(); - myGlobal[s] = fn - return 0 -}); - -export { - getGlobalThis , - resolve , - register , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_float.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_float.js deleted file mode 100644 index 41c0ad0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_float.js +++ /dev/null @@ -1,129 +0,0 @@ - - - -var int_float_of_bits = (function(x){ - return new Float32Array(new Int32Array([x]).buffer)[0] - }); - -var int_bits_of_float = (function(x){ - return new Int32Array(new Float32Array([x]).buffer)[0] -}); - -function modf_float(x) { - if (!isFinite(x)) { - if (isNaN(x)) { - return [ - NaN, - NaN - ]; - } else { - return [ - 1 / x, - x - ]; - } - } - var neg = 1 / x < 0; - var x$1 = Math.abs(x); - var i = Math.floor(x$1); - var f = x$1 - i; - if (neg) { - return [ - - f, - - i - ]; - } else { - return [ - f, - i - ]; - } -} - -function ldexp_float(x, exp) { - var x$p = x; - var exp$p = exp; - if (exp$p > 1023) { - exp$p = exp$p - 1023; - x$p = x$p * Math.pow(2, 1023); - if (exp$p > 1023) { - exp$p = exp$p - 1023; - x$p = x$p * Math.pow(2, 1023); - } - - } else if (exp$p < -1023) { - exp$p = exp$p + 1023; - x$p = x$p * Math.pow(2, -1023); - } - return x$p * Math.pow(2, exp$p); -} - -function frexp_float(x) { - if (x === 0 || !isFinite(x)) { - return [ - x, - 0 - ]; - } - var neg = x < 0; - var x$p = Math.abs(x); - var exp = Math.floor(Math.LOG2E * Math.log(x$p)) + 1; - x$p = x$p * Math.pow(2, - exp); - if (x$p < 0.5) { - x$p = x$p * 2; - exp = exp - 1; - } - if (neg) { - x$p = - x$p; - } - return [ - x$p, - exp | 0 - ]; -} - -function copysign_float(x, y) { - var x$1 = Math.abs(x); - var y$1 = y === 0 ? 1 / y : y; - if (y$1 < 0) { - return - x$1; - } else { - return x$1; - } -} - -function expm1_float(x) { - var y = Math.exp(x); - var z = y - 1; - if (Math.abs(x) > 1) { - return z; - } else if (z === 0) { - return x; - } else { - return x * z / Math.log(y); - } -} - -function hypot_float(x, y) { - var x0 = Math.abs(x); - var y0 = Math.abs(y); - var a = x0 > y0 ? x0 : y0; - var b = ( - x0 < y0 ? x0 : y0 - ) / ( - a !== 0 ? a : 1 - ); - return a * Math.sqrt(1 + b * b); -} - -export { - int_float_of_bits , - int_bits_of_float , - modf_float , - ldexp_float , - frexp_float , - copysign_float , - expm1_float , - hypot_float , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_float_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_float_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_float_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_format.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_format.js deleted file mode 100644 index a67a4a5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_format.js +++ /dev/null @@ -1,803 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Caml_int64 from "./caml_int64.js"; - -function parse_digit(c) { - if (c >= 65) { - if (c >= 97) { - if (c >= 123) { - return -1; - } else { - return c - 87 | 0; - } - } else if (c >= 91) { - return -1; - } else { - return c - 55 | 0; - } - } else if (c > 57 || c < 48) { - return -1; - } else { - return c - /* '0' */48 | 0; - } -} - -function int_of_string_base(param) { - switch (param) { - case "Oct" : - return 8; - case "Hex" : - return 16; - case "Dec" : - return 10; - case "Bin" : - return 2; - - } -} - -function parse_sign_and_base(s) { - var sign = 1; - var base = "Dec"; - var i = 0; - var match = s.codePointAt(i); - switch (match) { - case 43 : - i = i + 1 | 0; - break; - case 45 : - sign = -1; - i = i + 1 | 0; - break; - default: - - } - if (s.codePointAt(i) === /* '0' */48) { - var match$1 = s.codePointAt(i + 1 | 0); - if (match$1 >= 89) { - if (match$1 >= 111) { - if (match$1 < 121) { - switch (match$1) { - case 111 : - base = "Oct"; - i = i + 2 | 0; - break; - case 117 : - i = i + 2 | 0; - break; - case 112 : - case 113 : - case 114 : - case 115 : - case 116 : - case 118 : - case 119 : - break; - case 120 : - base = "Hex"; - i = i + 2 | 0; - break; - - } - } - - } else if (match$1 === 98) { - base = "Bin"; - i = i + 2 | 0; - } - - } else if (match$1 !== 66) { - if (match$1 >= 79) { - switch (match$1) { - case 79 : - base = "Oct"; - i = i + 2 | 0; - break; - case 85 : - i = i + 2 | 0; - break; - case 80 : - case 81 : - case 82 : - case 83 : - case 84 : - case 86 : - case 87 : - break; - case 88 : - base = "Hex"; - i = i + 2 | 0; - break; - - } - } - - } else { - base = "Bin"; - i = i + 2 | 0; - } - } - return [ - i, - sign, - base - ]; -} - -function int_of_string(s) { - var match = parse_sign_and_base(s); - var i = match[0]; - var base = int_of_string_base(match[2]); - var threshold = 4294967295; - var len = s.length; - var c = i < len ? s.codePointAt(i) : /* '\000' */0; - var d = parse_digit(c); - if (d < 0 || d >= base) { - throw { - RE_EXN_ID: "Failure", - _1: "int_of_string", - Error: new Error() - }; - } - var aux = function (_acc, _k) { - while(true) { - var k = _k; - var acc = _acc; - if (k === len) { - return acc; - } - var a = s.codePointAt(k); - if (a === /* '_' */95) { - _k = k + 1 | 0; - continue ; - } - var v = parse_digit(a); - if (v < 0 || v >= base) { - throw { - RE_EXN_ID: "Failure", - _1: "int_of_string", - Error: new Error() - }; - } - var acc$1 = base * acc + v; - if (acc$1 > threshold) { - throw { - RE_EXN_ID: "Failure", - _1: "int_of_string", - Error: new Error() - }; - } - _k = k + 1 | 0; - _acc = acc$1; - continue ; - }; - }; - var res = match[1] * aux(d, i + 1 | 0); - var or_res = res | 0; - if (base === 10 && res !== or_res) { - throw { - RE_EXN_ID: "Failure", - _1: "int_of_string", - Error: new Error() - }; - } - return or_res; -} - -function int64_of_string(s) { - var match = parse_sign_and_base(s); - var hbase = match[2]; - var i = match[0]; - var base = Caml_int64.of_int32(int_of_string_base(hbase)); - var sign = Caml_int64.of_int32(match[1]); - var threshold; - switch (hbase) { - case "Oct" : - threshold = [ - 536870911, - 4294967295 - ]; - break; - case "Hex" : - threshold = [ - 268435455, - 4294967295 - ]; - break; - case "Dec" : - threshold = [ - 429496729, - 2576980377 - ]; - break; - case "Bin" : - threshold = Caml_int64.max_int; - break; - - } - var len = s.length; - var c = i < len ? s.codePointAt(i) : /* '\000' */0; - var d = Caml_int64.of_int32(parse_digit(c)); - if (Caml.i64_lt(d, Caml_int64.zero) || Caml.i64_ge(d, base)) { - throw { - RE_EXN_ID: "Failure", - _1: "int64_of_string", - Error: new Error() - }; - } - var aux = function (_acc, _k) { - while(true) { - var k = _k; - var acc = _acc; - if (k === len) { - return acc; - } - var a = s.codePointAt(k); - if (a === /* '_' */95) { - _k = k + 1 | 0; - continue ; - } - var v = Caml_int64.of_int32(parse_digit(a)); - if (Caml.i64_lt(v, Caml_int64.zero) || Caml.i64_ge(v, base) || Caml.i64_gt(acc, threshold)) { - throw { - RE_EXN_ID: "Failure", - _1: "int64_of_string", - Error: new Error() - }; - } - var acc$1 = Caml_int64.add(Caml_int64.mul(base, acc), v); - _k = k + 1 | 0; - _acc = acc$1; - continue ; - }; - }; - var res = Caml_int64.mul(sign, aux(d, i + 1 | 0)); - var or_res = Caml_int64.or_(res, Caml_int64.zero); - if (Caml.i64_eq(base, [ - 0, - 10 - ]) && Caml.i64_neq(res, or_res)) { - throw { - RE_EXN_ID: "Failure", - _1: "int64_of_string", - Error: new Error() - }; - } - return or_res; -} - -function int_of_base(param) { - switch (param) { - case "Oct" : - return 8; - case "Hex" : - return 16; - case "Dec" : - return 10; - - } -} - -function lowercase(c) { - if (c >= /* 'A' */65 && c <= /* 'Z' */90 || c >= /* '\192' */192 && c <= /* '\214' */214 || c >= /* '\216' */216 && c <= /* '\222' */222) { - return c + 32 | 0; - } else { - return c; - } -} - -function parse_format(fmt) { - var len = fmt.length; - if (len > 31) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "format_int: format too long", - Error: new Error() - }; - } - var f = { - justify: "+", - signstyle: "-", - filter: " ", - alternate: false, - base: "Dec", - signedconv: false, - width: 0, - uppercase: false, - sign: 1, - prec: -1, - conv: "f" - }; - var _i = 0; - while(true) { - var i = _i; - if (i >= len) { - return f; - } - var c = fmt.codePointAt(i); - var exit = 0; - if (c >= 69) { - if (c >= 88) { - if (c >= 121) { - exit = 1; - } else { - switch (c) { - case 88 : - f.base = "Hex"; - f.uppercase = true; - _i = i + 1 | 0; - continue ; - case 101 : - case 102 : - case 103 : - exit = 5; - break; - case 100 : - case 105 : - exit = 4; - break; - case 111 : - f.base = "Oct"; - _i = i + 1 | 0; - continue ; - case 117 : - f.base = "Dec"; - _i = i + 1 | 0; - continue ; - case 89 : - case 90 : - case 91 : - case 92 : - case 93 : - case 94 : - case 95 : - case 96 : - case 97 : - case 98 : - case 99 : - case 104 : - case 106 : - case 107 : - case 108 : - case 109 : - case 110 : - case 112 : - case 113 : - case 114 : - case 115 : - case 116 : - case 118 : - case 119 : - exit = 1; - break; - case 120 : - f.base = "Hex"; - _i = i + 1 | 0; - continue ; - - } - } - } else if (c >= 72) { - exit = 1; - } else { - f.signedconv = true; - f.uppercase = true; - f.conv = String.fromCharCode(lowercase(c)); - _i = i + 1 | 0; - continue ; - } - } else { - switch (c) { - case 35 : - f.alternate = true; - _i = i + 1 | 0; - continue ; - case 32 : - case 43 : - exit = 2; - break; - case 45 : - f.justify = "-"; - _i = i + 1 | 0; - continue ; - case 46 : - f.prec = 0; - var j = i + 1 | 0; - while((function(j){ - return function () { - var w = fmt.codePointAt(j) - /* '0' */48 | 0; - return w >= 0 && w <= 9; - } - }(j))()) { - f.prec = (Math.imul(f.prec, 10) + fmt.codePointAt(j) | 0) - /* '0' */48 | 0; - j = j + 1 | 0; - }; - _i = j; - continue ; - case 48 : - f.filter = "0"; - _i = i + 1 | 0; - continue ; - case 49 : - case 50 : - case 51 : - case 52 : - case 53 : - case 54 : - case 55 : - case 56 : - case 57 : - exit = 3; - break; - default: - exit = 1; - } - } - switch (exit) { - case 1 : - _i = i + 1 | 0; - continue ; - case 2 : - f.signstyle = String.fromCharCode(c); - _i = i + 1 | 0; - continue ; - case 3 : - f.width = 0; - var j$1 = i; - while((function(j$1){ - return function () { - var w = fmt.codePointAt(j$1) - /* '0' */48 | 0; - return w >= 0 && w <= 9; - } - }(j$1))()) { - f.width = (Math.imul(f.width, 10) + fmt.codePointAt(j$1) | 0) - /* '0' */48 | 0; - j$1 = j$1 + 1 | 0; - }; - _i = j$1; - continue ; - case 4 : - f.signedconv = true; - f.base = "Dec"; - _i = i + 1 | 0; - continue ; - case 5 : - f.signedconv = true; - f.conv = String.fromCharCode(c); - _i = i + 1 | 0; - continue ; - - } - }; -} - -function finish_formatting(config, rawbuffer) { - var justify = config.justify; - var signstyle = config.signstyle; - var filter = config.filter; - var alternate = config.alternate; - var base = config.base; - var signedconv = config.signedconv; - var width = config.width; - var uppercase = config.uppercase; - var sign = config.sign; - var len = rawbuffer.length; - if (signedconv && (sign < 0 || signstyle !== "-")) { - len = len + 1 | 0; - } - if (alternate) { - if (base === "Oct") { - len = len + 1 | 0; - } else if (base === "Hex") { - len = len + 2 | 0; - } - - } - var buffer = ""; - if (justify === "+" && filter === " ") { - for(var _for = len; _for < width; ++_for){ - buffer = buffer + filter; - } - } - if (signedconv) { - if (sign < 0) { - buffer = buffer + "-"; - } else if (signstyle !== "-") { - buffer = buffer + signstyle; - } - - } - if (alternate && base === "Oct") { - buffer = buffer + "0"; - } - if (alternate && base === "Hex") { - buffer = buffer + "0x"; - } - if (justify === "+" && filter === "0") { - for(var _for$1 = len; _for$1 < width; ++_for$1){ - buffer = buffer + filter; - } - } - buffer = uppercase ? buffer + rawbuffer.toUpperCase() : buffer + rawbuffer; - if (justify === "-") { - for(var _for$2 = len; _for$2 < width; ++_for$2){ - buffer = buffer + " "; - } - } - return buffer; -} - -function format_int(fmt, i) { - if (fmt === "%d") { - return String(i); - } - var f = parse_format(fmt); - var i$1 = i < 0 ? ( - f.signedconv ? (f.sign = -1, (-i >>> 0)) : (i >>> 0) - ) : i; - var s = i$1.toString(int_of_base(f.base)); - if (f.prec >= 0) { - f.filter = " "; - var n = f.prec - s.length | 0; - if (n > 0) { - s = "0".repeat(n) + s; - } - - } - return finish_formatting(f, s); -} - -function dec_of_pos_int64(x) { - if (!Caml.i64_lt(x, Caml_int64.zero)) { - return Caml_int64.to_string(x); - } - var wbase = [ - 0, - 10 - ]; - var y = Caml_int64.discard_sign(x); - var match = Caml_int64.div_mod(y, wbase); - var match$1 = Caml_int64.div_mod(Caml_int64.add([ - 0, - 8 - ], match[1]), wbase); - var quotient = Caml_int64.add(Caml_int64.add([ - 214748364, - 3435973836 - ], match[0]), match$1[0]); - return Caml_int64.to_string(quotient) + "0123456789"[Caml_int64.to_int32(match$1[1])]; -} - -function oct_of_int64(x) { - var s = ""; - var wbase = [ - 0, - 8 - ]; - var cvtbl = "01234567"; - if (Caml.i64_lt(x, Caml_int64.zero)) { - var y = Caml_int64.discard_sign(x); - var match = Caml_int64.div_mod(y, wbase); - var quotient = Caml_int64.add([ - 268435456, - 0 - ], match[0]); - var modulus = match[1]; - s = cvtbl[Caml_int64.to_int32(modulus)] + s; - while(Caml.i64_neq(quotient, Caml_int64.zero)) { - var match$1 = Caml_int64.div_mod(quotient, wbase); - quotient = match$1[0]; - modulus = match$1[1]; - s = cvtbl[Caml_int64.to_int32(modulus)] + s; - }; - } else { - var match$2 = Caml_int64.div_mod(x, wbase); - var quotient$1 = match$2[0]; - var modulus$1 = match$2[1]; - s = cvtbl[Caml_int64.to_int32(modulus$1)] + s; - while(Caml.i64_neq(quotient$1, Caml_int64.zero)) { - var match$3 = Caml_int64.div_mod(quotient$1, wbase); - quotient$1 = match$3[0]; - modulus$1 = match$3[1]; - s = cvtbl[Caml_int64.to_int32(modulus$1)] + s; - }; - } - return s; -} - -function int64_format(fmt, x) { - if (fmt === "%d") { - return Caml_int64.to_string(x); - } - var f = parse_format(fmt); - var x$1 = f.signedconv && Caml.i64_lt(x, Caml_int64.zero) ? (f.sign = -1, Caml_int64.neg(x)) : x; - var match = f.base; - var s; - switch (match) { - case "Oct" : - s = oct_of_int64(x$1); - break; - case "Hex" : - s = Caml_int64.to_hex(x$1); - break; - case "Dec" : - s = dec_of_pos_int64(x$1); - break; - - } - var fill_s; - if (f.prec >= 0) { - f.filter = " "; - var n = f.prec - s.length | 0; - fill_s = n > 0 ? "0".repeat(n) + s : s; - } else { - fill_s = s; - } - return finish_formatting(f, fill_s); -} - -function format_float(fmt, x) { - var f = parse_format(fmt); - var prec = f.prec < 0 ? 6 : f.prec; - var x$1 = x < 0 ? (f.sign = -1, - x) : x; - var s = ""; - if (isNaN(x$1)) { - s = "nan"; - f.filter = " "; - } else if (isFinite(x$1)) { - var match = f.conv; - switch (match) { - case "e" : - s = x$1.toExponential(prec); - var i = s.length; - if (s.codePointAt(i - 3 | 0) === /* 'e' */101) { - s = s.slice(0, i - 1 | 0) + ("0" + s.slice(i - 1 | 0)); - } - break; - case "f" : - s = x$1.toFixed(prec); - break; - case "g" : - var prec$1 = prec !== 0 ? prec : 1; - s = x$1.toExponential(prec$1 - 1 | 0); - var j = s.indexOf("e"); - var exp = Number(s.slice(j + 1 | 0)) | 0; - if (exp < -4 || x$1 >= 1e21 || x$1.toFixed().length > prec$1) { - var i$1 = j - 1 | 0; - while(s.codePointAt(i$1) === /* '0' */48) { - i$1 = i$1 - 1 | 0; - }; - if (s.codePointAt(i$1) === /* '.' */46) { - i$1 = i$1 - 1 | 0; - } - s = s.slice(0, i$1 + 1 | 0) + s.slice(j); - var i$2 = s.length; - if (s.codePointAt(i$2 - 3 | 0) === /* 'e' */101) { - s = s.slice(0, i$2 - 1 | 0) + ("0" + s.slice(i$2 - 1 | 0)); - } - - } else { - var p = prec$1; - if (exp < 0) { - p = p - (exp + 1 | 0) | 0; - s = x$1.toFixed(p); - } else { - while((function () { - s = x$1.toFixed(p); - return s.length > (prec$1 + 1 | 0); - })()) { - p = p - 1 | 0; - }; - } - if (p !== 0) { - var k = s.length - 1 | 0; - while(s.codePointAt(k) === /* '0' */48) { - k = k - 1 | 0; - }; - if (s.codePointAt(k) === /* '.' */46) { - k = k - 1 | 0; - } - s = s.slice(0, k + 1 | 0); - } - - } - break; - default: - - } - } else { - s = "inf"; - f.filter = " "; - } - return finish_formatting(f, s); -} - -var hexstring_of_float = (function(x,prec,style){ - if (!isFinite(x)) { - if (isNaN(x)) return "nan"; - return x > 0 ? "infinity":"-infinity"; - } - var sign = (x==0 && 1/x == -Infinity)?1:(x>=0)?0:1; - if(sign) x = -x; - var exp = 0; - if (x == 0) { } - else if (x < 1) { - while (x < 1 && exp > -1022) { x *= 2; exp-- } - } else { - while (x >= 2) { x /= 2; exp++ } - } - var exp_sign = exp < 0 ? '' : '+'; - var sign_str = ''; - if (sign) sign_str = '-' - else { - switch(style){ - case 43 /* '+' */: sign_str = '+'; break; - case 32 /* ' ' */: sign_str = ' '; break; - default: break; - } - } - if (prec >= 0 && prec < 13) { - /* If a precision is given, and is small, round mantissa accordingly */ - var cst = Math.pow(2,prec * 4); - x = Math.round(x * cst) / cst; - } - var x_str = x.toString(16); - if(prec >= 0){ - var idx = x_str.indexOf('.'); - if(idx<0) { - x_str += '.' + '0'.repeat(prec); - } - else { - var size = idx+1+prec; - if(x_str.length < size) - x_str += '0'.repeat(size - x_str.length); - else - x_str = x_str.substr(0,size); - } - } - return (sign_str + '0x' + x_str + 'p' + exp_sign + exp.toString(10)); -}); - -var float_of_string = (function(s,exn){ - - var res = +s; - if ((s.length > 0) && (res === res)) - return res; - s = s.replace(/_/g, ""); - res = +s; - if (((s.length > 0) && (res === res)) || /^[+-]?nan$/i.test(s)) { - return res; - }; - var m = /^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(s); - // 1 2 3 4 - if(m){ - var m3 = m[3].replace(/0+$/,''); - var mantissa = parseInt(m[1] + m[2] + m3, 16); - var exponent = (m[4]|0) - 4*m3.length; - res = mantissa * Math.pow(2, exponent); - return res; - } - if (/^\+?inf(inity)?$/i.test(s)) - return Infinity; - if (/^-inf(inity)?$/i.test(s)) - return -Infinity; - throw exn; -}); - -function float_of_string$1(s) { - return float_of_string(s, { - RE_EXN_ID: "Failure", - _1: "float_of_string" - }); -} - -export { - format_float , - hexstring_of_float , - format_int , - float_of_string$1 as float_of_string, - int64_format , - int_of_string , - int64_of_string , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_hash.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_hash.js deleted file mode 100644 index 1dc3c4f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_hash.js +++ /dev/null @@ -1,101 +0,0 @@ - - -import * as Caml_hash_primitive from "./caml_hash_primitive.js"; - -function push_back(q, v) { - var cell = { - content: v, - next: undefined - }; - var last = q.last; - if (last !== undefined) { - q.length = q.length + 1 | 0; - last.next = cell; - q.last = cell; - } else { - q.length = 1; - q.first = cell; - q.last = cell; - } -} - -function unsafe_pop(q) { - var cell = q.first; - var next = cell.next; - if (next === undefined) { - q.length = 0; - q.first = undefined; - q.last = undefined; - } else { - q.length = q.length - 1 | 0; - q.first = next; - } - return cell.content; -} - -function hash(count, _limit, seed, obj) { - var s = seed; - if (typeof obj === "number") { - var u = obj | 0; - s = Caml_hash_primitive.hash_mix_int(s, (u + u | 0) + 1 | 0); - return Caml_hash_primitive.hash_final_mix(s); - } - if (typeof obj === "string") { - s = Caml_hash_primitive.hash_mix_string(s, obj); - return Caml_hash_primitive.hash_final_mix(s); - } - var queue = { - length: 0, - first: undefined, - last: undefined - }; - var num = count; - push_back(queue, obj); - num = num - 1 | 0; - while(queue.length !== 0 && num > 0) { - var obj$1 = unsafe_pop(queue); - if (typeof obj$1 === "number") { - var u$1 = obj$1 | 0; - s = Caml_hash_primitive.hash_mix_int(s, (u$1 + u$1 | 0) + 1 | 0); - num = num - 1 | 0; - } else if (typeof obj$1 === "string") { - s = Caml_hash_primitive.hash_mix_string(s, obj$1); - num = num - 1 | 0; - } else if (typeof obj$1 !== "boolean" && typeof obj$1 !== "undefined" && typeof obj$1 !== "symbol" && typeof obj$1 !== "function") { - var size = obj$1.length | 0; - if (size !== 0) { - var obj_tag = obj$1.TAG; - var tag = (size << 10) | obj_tag; - if (obj_tag === 248) { - s = Caml_hash_primitive.hash_mix_int(s, obj$1[1]); - } else { - s = Caml_hash_primitive.hash_mix_int(s, tag); - var v = size - 1 | 0; - var block = v < num ? v : num; - for(var i = 0; i <= block; ++i){ - push_back(queue, obj$1[i]); - } - } - } else { - var size$1 = (function(obj,cb){ - var size = 0 - for(var k in obj){ - cb(obj[k]) - ++ size - } - return size - })(obj$1, (function (v) { - push_back(queue, v); - })); - s = Caml_hash_primitive.hash_mix_int(s, (size$1 << 10) | 0); - } - } - - }; - return Caml_hash_primitive.hash_final_mix(s); -} - -export { - hash , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_hash_primitive.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_hash_primitive.js deleted file mode 100644 index a99e4d2..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_hash_primitive.js +++ /dev/null @@ -1,51 +0,0 @@ - - - -function rotl32(x, n) { - return (x << n) | (x >>> (32 - n | 0)) | 0; -} - -function hash_mix_int(h, d) { - var d$1 = d; - d$1 = Math.imul(d$1, -862048943); - d$1 = rotl32(d$1, 15); - d$1 = Math.imul(d$1, 461845907); - var h$1 = h ^ d$1; - h$1 = rotl32(h$1, 13); - return (h$1 + (h$1 << 2) | 0) - 430675100 | 0; -} - -function hash_final_mix(h) { - var h$1 = h ^ (h >>> 16); - h$1 = Math.imul(h$1, -2048144789); - h$1 = h$1 ^ (h$1 >>> 13); - h$1 = Math.imul(h$1, -1028477387); - return h$1 ^ (h$1 >>> 16); -} - -function hash_mix_string(h, s) { - var len = s.length; - var block = (len / 4 | 0) - 1 | 0; - var hash = h; - for(var i = 0; i <= block; ++i){ - var j = (i << 2); - var w = s.charCodeAt(j) | (s.charCodeAt(j + 1 | 0) << 8) | (s.charCodeAt(j + 2 | 0) << 16) | (s.charCodeAt(j + 3 | 0) << 24); - hash = hash_mix_int(hash, w); - } - var modulo = len & 3; - if (modulo !== 0) { - var w$1 = modulo === 3 ? (s.charCodeAt(len - 1 | 0) << 16) | (s.charCodeAt(len - 2 | 0) << 8) | s.charCodeAt(len - 3 | 0) : ( - modulo === 2 ? (s.charCodeAt(len - 1 | 0) << 8) | s.charCodeAt(len - 2 | 0) : s.charCodeAt(len - 1 | 0) - ); - hash = hash_mix_int(hash, w$1); - } - hash = hash ^ len; - return hash; -} - -export { - hash_mix_int , - hash_mix_string , - hash_final_mix , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_int32.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_int32.js deleted file mode 100644 index cca893a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_int32.js +++ /dev/null @@ -1,28 +0,0 @@ - - - -function div(x, y) { - if (y === 0) { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - return x / y | 0; -} - -function mod_(x, y) { - if (y === 0) { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - return x % y; -} - -export { - div , - mod_ , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_int64.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_int64.js deleted file mode 100644 index 220d8eb..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_int64.js +++ /dev/null @@ -1,606 +0,0 @@ - - -import * as Caml from "./caml.js"; - -function mk(lo, hi) { - return [ - hi, - (lo >>> 0) - ]; -} - -var min_int = [ - -2147483648, - 0 -]; - -var max_int = [ - 2147483647, - 4294967295 -]; - -var one = [ - 0, - 1 -]; - -var zero = [ - 0, - 0 -]; - -var neg_one = [ - -1, - 4294967295 -]; - -function neg_signed(x) { - return (x & -2147483648) !== 0; -} - -function non_neg_signed(x) { - return (x & -2147483648) === 0; -} - -function succ(param) { - var x_lo = param[1]; - var x_hi = param[0]; - var lo = x_lo + 1 | 0; - return [ - x_hi + ( - lo === 0 ? 1 : 0 - ) | 0, - (lo >>> 0) - ]; -} - -function neg(param) { - var other_lo = (param[1] ^ -1) + 1 | 0; - return [ - (param[0] ^ -1) + ( - other_lo === 0 ? 1 : 0 - ) | 0, - (other_lo >>> 0) - ]; -} - -function add_aux(param, y_lo, y_hi) { - var x_lo = param[1]; - var lo = x_lo + y_lo | 0; - var overflow = neg_signed(x_lo) && (neg_signed(y_lo) || non_neg_signed(lo)) || neg_signed(y_lo) && non_neg_signed(lo) ? 1 : 0; - return [ - param[0] + y_hi + overflow | 0, - (lo >>> 0) - ]; -} - -function add(self, param) { - return add_aux(self, param[1], param[0]); -} - -function equal(x, y) { - if (x[1] === y[1]) { - return x[0] === y[0]; - } else { - return false; - } -} - -function equal_null(x, y) { - if (y !== null) { - return Caml.i64_eq(x, y); - } else { - return false; - } -} - -function equal_undefined(x, y) { - if (y !== undefined) { - return Caml.i64_eq(x, y); - } else { - return false; - } -} - -function equal_nullable(x, y) { - if (y == null) { - return false; - } else { - return Caml.i64_eq(x, y); - } -} - -function sub_aux(x, lo, hi) { - var y_lo = ((lo ^ -1) + 1 >>> 0); - var y_hi = (hi ^ -1) + ( - y_lo === 0 ? 1 : 0 - ) | 0; - return add_aux(x, y_lo, y_hi); -} - -function sub(self, param) { - return sub_aux(self, param[1], param[0]); -} - -function lsl_(x, numBits) { - if (numBits === 0) { - return x; - } - var lo = x[1]; - if (numBits >= 32) { - return [ - (lo << (numBits - 32 | 0)), - 0 - ]; - } else { - return [ - (lo >>> (32 - numBits | 0)) | (x[0] << numBits), - ((lo << numBits) >>> 0) - ]; - } -} - -function lsr_(x, numBits) { - if (numBits === 0) { - return x; - } - var hi = x[0]; - var offset = numBits - 32 | 0; - if (offset === 0) { - return [ - 0, - (hi >>> 0) - ]; - } else if (offset > 0) { - return [ - 0, - (hi >>> offset) - ]; - } else { - return [ - (hi >>> numBits), - (((hi << (-offset | 0)) | (x[1] >>> numBits)) >>> 0) - ]; - } -} - -function asr_(x, numBits) { - if (numBits === 0) { - return x; - } - var hi = x[0]; - if (numBits < 32) { - return [ - (hi >> numBits), - (((hi << (32 - numBits | 0)) | (x[1] >>> numBits)) >>> 0) - ]; - } else { - return [ - hi >= 0 ? 0 : -1, - ((hi >> (numBits - 32 | 0)) >>> 0) - ]; - } -} - -function is_zero(x) { - if (x[0] !== 0) { - return false; - } else { - return x[1] === 0; - } -} - -function mul(_this, _other) { - while(true) { - var other = _other; - var $$this = _this; - var lo; - var this_hi = $$this[0]; - var exit = 0; - var exit$1 = 0; - var exit$2 = 0; - if (this_hi !== 0) { - exit$2 = 4; - } else { - if ($$this[1] === 0) { - return zero; - } - exit$2 = 4; - } - if (exit$2 === 4) { - if (other[0] !== 0) { - exit$1 = 3; - } else { - if (other[1] === 0) { - return zero; - } - exit$1 = 3; - } - } - if (exit$1 === 3) { - if (this_hi !== -2147483648 || $$this[1] !== 0) { - exit = 2; - } else { - lo = other[1]; - } - } - if (exit === 2) { - var other_hi = other[0]; - var lo$1 = $$this[1]; - var exit$3 = 0; - if (other_hi !== -2147483648 || other[1] !== 0) { - exit$3 = 3; - } else { - lo = lo$1; - } - if (exit$3 === 3) { - var other_lo = other[1]; - if (this_hi < 0) { - if (other_hi >= 0) { - return neg(mul(neg($$this), other)); - } - _other = neg(other); - _this = neg($$this); - continue ; - } - if (other_hi < 0) { - return neg(mul($$this, neg(other))); - } - var a48 = (this_hi >>> 16); - var a32 = this_hi & 65535; - var a16 = (lo$1 >>> 16); - var a00 = lo$1 & 65535; - var b48 = (other_hi >>> 16); - var b32 = other_hi & 65535; - var b16 = (other_lo >>> 16); - var b00 = other_lo & 65535; - var c48 = 0; - var c32 = 0; - var c16 = 0; - var c00 = a00 * b00; - c16 = (c00 >>> 16) + a16 * b00; - c32 = (c16 >>> 16); - c16 = (c16 & 65535) + a00 * b16; - c32 = c32 + (c16 >>> 16) + a32 * b00; - c48 = (c32 >>> 16); - c32 = (c32 & 65535) + a16 * b16; - c48 = c48 + (c32 >>> 16); - c32 = (c32 & 65535) + a00 * b32; - c48 = c48 + (c32 >>> 16); - c32 = c32 & 65535; - c48 = c48 + (a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48) & 65535; - return [ - c32 | (c48 << 16), - ((c00 & 65535 | ((c16 & 65535) << 16)) >>> 0) - ]; - } - - } - if ((lo & 1) === 0) { - return zero; - } else { - return min_int; - } - }; -} - -function xor(param, param$1) { - return [ - param[0] ^ param$1[0], - ((param[1] ^ param$1[1]) >>> 0) - ]; -} - -function or_(param, param$1) { - return [ - param[0] | param$1[0], - ((param[1] | param$1[1]) >>> 0) - ]; -} - -function and_(param, param$1) { - return [ - param[0] & param$1[0], - ((param[1] & param$1[1]) >>> 0) - ]; -} - -function to_float(param) { - return param[0] * 0x100000000 + param[1]; -} - -function of_float(x) { - if (isNaN(x) || !isFinite(x)) { - return zero; - } - if (x <= -9.22337203685477581e+18) { - return min_int; - } - if (x + 1 >= 9.22337203685477581e+18) { - return max_int; - } - if (x < 0) { - return neg(of_float(- x)); - } - var hi = x / 4294967296 | 0; - var lo = x % 4294967296 | 0; - return [ - hi, - (lo >>> 0) - ]; -} - -function isSafeInteger(param) { - var hi = param[0]; - var top11Bits = (hi >> 21); - if (top11Bits === 0) { - return true; - } else if (top11Bits === -1) { - return !(param[1] === 0 && hi === -2097152); - } else { - return false; - } -} - -function to_string(self) { - if (isSafeInteger(self)) { - return String(to_float(self)); - } - if (self[0] < 0) { - if (Caml.i64_eq(self, min_int)) { - return "-9223372036854775808"; - } else { - return "-" + to_string(neg(self)); - } - } - var approx_div1 = of_float(Math.floor(to_float(self) / 10)); - var lo = approx_div1[1]; - var hi = approx_div1[0]; - var match = sub_aux(sub_aux(self, (lo << 3), (lo >>> 29) | (hi << 3)), (lo << 1), (lo >>> 31) | (hi << 1)); - var rem_lo = match[1]; - var rem_hi = match[0]; - if (rem_lo === 0 && rem_hi === 0) { - return to_string(approx_div1) + "0"; - } - if (rem_hi < 0) { - var rem_lo$1 = ((rem_lo ^ -1) + 1 >>> 0); - var delta = Math.ceil(rem_lo$1 / 10); - var remainder = 10 * delta - rem_lo$1; - return to_string(sub_aux(approx_div1, delta | 0, 0)) + String(remainder | 0); - } - var delta$1 = Math.floor(rem_lo / 10); - var remainder$1 = rem_lo - 10 * delta$1; - return to_string(add_aux(approx_div1, delta$1 | 0, 0)) + String(remainder$1 | 0); -} - -function div(_self, _other) { - while(true) { - var other = _other; - var self = _self; - var self_hi = self[0]; - var exit = 0; - var exit$1 = 0; - if (other[0] !== 0 || other[1] !== 0) { - exit$1 = 2; - } else { - throw { - RE_EXN_ID: "Division_by_zero", - Error: new Error() - }; - } - if (exit$1 === 2) { - if (self_hi !== -2147483648) { - if (self_hi !== 0) { - exit = 1; - } else { - if (self[1] === 0) { - return zero; - } - exit = 1; - } - } else if (self[1] !== 0) { - exit = 1; - } else { - if (Caml.i64_eq(other, one) || Caml.i64_eq(other, neg_one)) { - return self; - } - if (Caml.i64_eq(other, min_int)) { - return one; - } - var half_this = asr_(self, 1); - var approx = lsl_(div(half_this, other), 1); - var exit$2 = 0; - if (approx[0] !== 0) { - exit$2 = 3; - } else { - if (approx[1] === 0) { - if (other[0] < 0) { - return one; - } else { - return neg(one); - } - } - exit$2 = 3; - } - if (exit$2 === 3) { - var rem = sub(self, mul(other, approx)); - return add(approx, div(rem, other)); - } - - } - } - if (exit === 1) { - var other_hi = other[0]; - var exit$3 = 0; - if (other_hi !== -2147483648) { - exit$3 = 2; - } else { - if (other[1] === 0) { - return zero; - } - exit$3 = 2; - } - if (exit$3 === 2) { - if (self_hi < 0) { - if (other_hi >= 0) { - return neg(div(neg(self), other)); - } - _other = neg(other); - _self = neg(self); - continue ; - } - if (other_hi < 0) { - return neg(div(self, neg(other))); - } - var res = zero; - var rem$1 = self; - while(Caml.i64_ge(rem$1, other)) { - var b = Math.floor(to_float(rem$1) / to_float(other)); - var approx$1 = 1 > b ? 1 : b; - var log2 = Math.ceil(Math.log(approx$1) / Math.LN2); - var delta = log2 <= 48 ? 1 : Math.pow(2, log2 - 48); - var approxRes = of_float(approx$1); - var approxRem = mul(approxRes, other); - while(approxRem[0] < 0 || Caml.i64_gt(approxRem, rem$1)) { - approx$1 = approx$1 - delta; - approxRes = of_float(approx$1); - approxRem = mul(approxRes, other); - }; - if (is_zero(approxRes)) { - approxRes = one; - } - res = add(res, approxRes); - rem$1 = sub(rem$1, approxRem); - }; - return res; - } - - } - - }; -} - -function mod_(self, other) { - return sub(self, mul(div(self, other), other)); -} - -function div_mod(self, other) { - var quotient = div(self, other); - return [ - quotient, - sub(self, mul(quotient, other)) - ]; -} - -function compare(self, other) { - var y = other[0]; - var x = self[0]; - var v = x < y ? -1 : ( - x === y ? 0 : 1 - ); - if (v !== 0) { - return v; - } - var y$1 = other[1]; - var x$1 = self[1]; - if (x$1 < y$1) { - return -1; - } else if (x$1 === y$1) { - return 0; - } else { - return 1; - } -} - -function of_int32(lo) { - return [ - lo < 0 ? -1 : 0, - (lo >>> 0) - ]; -} - -function to_int32(x) { - return x[1] | 0; -} - -function to_hex(x) { - var x_lo = x[1]; - var x_hi = x[0]; - var aux = function (v) { - return (v >>> 0).toString(16); - }; - if (x_hi === 0 && x_lo === 0) { - return "0"; - } - if (x_lo === 0) { - return aux(x_hi) + "00000000"; - } - if (x_hi === 0) { - return aux(x_lo); - } - var lo = aux(x_lo); - var pad = 8 - lo.length | 0; - if (pad <= 0) { - return aux(x_hi) + lo; - } else { - return aux(x_hi) + ("0".repeat(pad) + lo); - } -} - -function discard_sign(x) { - return [ - 2147483647 & x[0], - x[1] - ]; -} - -function float_of_bits(x) { - return (function(lo,hi){ return (new Float64Array(new Int32Array([lo,hi]).buffer))[0]})(x[1], x[0]); -} - -function bits_of_float(x) { - var match = (function(x){return new Int32Array(new Float64Array([x]).buffer)})(x); - return [ - match[1], - (match[0] >>> 0) - ]; -} - -export { - mk , - succ , - min_int , - max_int , - one , - zero , - neg_one , - of_int32 , - to_int32 , - add , - neg , - sub , - lsl_ , - lsr_ , - asr_ , - is_zero , - mul , - xor , - or_ , - and_ , - equal , - equal_null , - equal_undefined , - equal_nullable , - to_float , - of_float , - div , - mod_ , - compare , - float_of_bits , - bits_of_float , - div_mod , - to_hex , - discard_sign , - to_string , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_int64_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_int64_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_int64_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_js_exceptions.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_js_exceptions.js deleted file mode 100644 index 91f383c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_js_exceptions.js +++ /dev/null @@ -1,31 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; - -var $$Error = "JsError"; - -function internalToOCamlException(e) { - if (Caml_exceptions.is_extension(e)) { - return e; - } else { - return { - RE_EXN_ID: "JsError", - _1: e - }; - } -} - -function as_js_exn(exn) { - if (exn.RE_EXN_ID === $$Error) { - return Caml_option.some(exn._1); - } - -} - -export { - $$Error , - internalToOCamlException , - as_js_exn , -} -/* Caml_exceptions Not a pure module */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_lexer.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_lexer.js deleted file mode 100644 index 542de28..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_lexer.js +++ /dev/null @@ -1,258 +0,0 @@ - - - -/***********************************************************************/ -/* */ -/* Objective Caml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* $Id: lexing.c 6045 2004-01-01 16:42:43Z doligez $ */ - -/* The table-driven automaton for lexers generated by camllex. */ - -function caml_lex_array(s) { - var l = s.length / 2; - var a = new Array(l); - // when s.charCodeAt(2 * i + 1 ) > 128 (0x80) - // a[i] < 0 - // for(var i = 0 ; i <= 0xffff; ++i) { if (i << 16 >> 16 !==i){console.log(i<<16>>16, 'vs',i)}} - // - for (var i = 0; i < l; i++) - a[i] = (s.charCodeAt(2 * i) | (s.charCodeAt(2 * i + 1) << 8)) << 16 >> 16; - return a; -} -; - -var caml_lex_engine_aux = (function (tbl, start_state, lexbuf, exn){ - - if (!Array.isArray(tbl.lex_default)) { - tbl.lex_base = caml_lex_array(tbl.lex_base); - tbl.lex_backtrk = caml_lex_array(tbl.lex_backtrk); - tbl.lex_check = caml_lex_array(tbl.lex_check); - tbl.lex_trans = caml_lex_array(tbl.lex_trans); - tbl.lex_default = caml_lex_array(tbl.lex_default); - } - var c; - var state = start_state; - //var buffer = bytes_of_string(lexbuf.lex_buffer); - var buffer = lexbuf.lex_buffer; - if (state >= 0) { - /* First entry */ - lexbuf.lex_last_pos = lexbuf.lex_start_pos = lexbuf.lex_curr_pos; - lexbuf.lex_last_action = -1; - } - else { - /* Reentry after refill */ - state = -state - 1; - } - for (;;) { - /* Lookup base address or action number for current state */ - var base = tbl.lex_base[state]; - if (base < 0) - return -base - 1; - /* See if it's a backtrack point */ - var backtrk = tbl.lex_backtrk[state]; - if (backtrk >= 0) { - lexbuf.lex_last_pos = lexbuf.lex_curr_pos; - lexbuf.lex_last_action = backtrk; - } - /* See if we need a refill */ - if (lexbuf.lex_curr_pos >= lexbuf.lex_buffer_len) { - if (lexbuf.lex_eof_reached === 0) - return -state - 1; - else - c = 256; - } - else { - /* Read next input char */ - c = buffer[lexbuf.lex_curr_pos]; - lexbuf.lex_curr_pos++; - } - /* Determine next state */ - if (tbl.lex_check[base + c] === state) { - state = tbl.lex_trans[base + c]; - } - else { - state = tbl.lex_default[state]; - } - /* If no transition on this char, return to last backtrack point */ - if (state < 0) { - lexbuf.lex_curr_pos = lexbuf.lex_last_pos; - if (lexbuf.lex_last_action == -1) - throw exn - else - return lexbuf.lex_last_action; - } - else { - /* Erase the EOF condition only if the EOF pseudo-character was - consumed by the automaton (i.e. there was no backtrack above) - */ - if (c == 256) - lexbuf.lex_eof_reached = 0; - } - } -}); - -var empty_token_lit = "lexing: empty token"; - -function lex_engine(tbls, i, buf) { - return caml_lex_engine_aux(tbls, i, buf, { - RE_EXN_ID: "Failure", - _1: empty_token_lit - }); -} - -/***********************************************/ -/* New lexer engine, with memory of positions */ -/***********************************************/ - -/** - * s -> Lexing.lex_tables.lex_code - * mem -> Lexing.lexbuf.lex_mem (* int array *) - */ - -function caml_lex_run_mem(s, i, mem, curr_pos) { - for (;;) { - var dst = s.charCodeAt(i); - i++; - if (dst == 0xff) - return; - var src = s.charCodeAt(i); - i++; - if (src == 0xff) - mem[dst] = curr_pos; - else - mem[dst] = mem[src]; - } -} - - -/** - * s -> Lexing.lex_tables.lex_code - * mem -> Lexing.lexbuf.lex_mem (* int array *) - */ - -function caml_lex_run_tag(s, i, mem) { - for (;;) { - var dst = s.charCodeAt(i); - i++; - if (dst == 0xff) - return; - var src = s.charCodeAt(i); - i++; - if (src == 0xff) - mem[dst] = -1; - else - mem[dst] = mem[src]; - } -} -; - -var caml_new_lex_engine_aux = (function (tbl, start_state, lexbuf, exn) { - - if (!Array.isArray(tbl.lex_default)) { - tbl.lex_base = caml_lex_array(tbl.lex_base); - tbl.lex_backtrk = caml_lex_array(tbl.lex_backtrk); - tbl.lex_check = caml_lex_array(tbl.lex_check); - tbl.lex_trans = caml_lex_array(tbl.lex_trans); - tbl.lex_default = caml_lex_array(tbl.lex_default); - } - if(!Array.isArray(tbl.lex_default_code)){ - tbl.lex_base_code = caml_lex_array(tbl.lex_base_code); - tbl.lex_backtrk_code = caml_lex_array(tbl.lex_backtrk_code); - tbl.lex_check_code = caml_lex_array(tbl.lex_check_code); - tbl.lex_trans_code = caml_lex_array(tbl.lex_trans_code); - tbl.lex_default_code = caml_lex_array(tbl.lex_default_code); - } - var c, state = start_state; - //var buffer = caml_bytes_of_string(lexbuf.lex_buffer); - var buffer = lexbuf.lex_buffer; - if (state >= 0) { - /* First entry */ - lexbuf.lex_last_pos = lexbuf.lex_start_pos = lexbuf.lex_curr_pos; - lexbuf.lex_last_action = -1; - } - else { - /* Reentry after refill */ - state = -state - 1; - } - for (;;) { - /* Lookup base address or action number for current state */ - var base = tbl.lex_base[state]; - if (base < 0) { - var pc_off = tbl.lex_base_code[state]; - caml_lex_run_tag(tbl.lex_code, pc_off, lexbuf.lex_mem); - return -base - 1; - } - /* See if it's a backtrack point */ - var backtrk = tbl.lex_backtrk[state]; - if (backtrk >= 0) { - var pc_off = tbl.lex_backtrk_code[state]; - caml_lex_run_tag(tbl.lex_code, pc_off, lexbuf.lex_mem); - lexbuf.lex_last_pos = lexbuf.lex_curr_pos; - lexbuf.lex_last_action = backtrk; - } - /* See if we need a refill */ - if (lexbuf.lex_curr_pos >= lexbuf.lex_buffer_len) { - if (lexbuf.lex_eof_reached == 0) - return -state - 1; - else - c = 256; - } - else { - /* Read next input char */ - c = buffer[lexbuf.lex_curr_pos]; - lexbuf.lex_curr_pos++; - } - /* Determine next state */ - var pstate = state; - if (tbl.lex_check[base + c] == state) - state = tbl.lex_trans[base + c]; - else - state = tbl.lex_default[state]; - /* If no transition on this char, return to last backtrack point */ - if (state < 0) { - lexbuf.lex_curr_pos = lexbuf.lex_last_pos; - if (lexbuf.lex_last_action == -1) - throw exn; - else - return lexbuf.lex_last_action; - } - else { - /* If some transition, get and perform memory moves */ - var base_code = tbl.lex_base_code[pstate], pc_off; - if (tbl.lex_check_code[base_code + c] == pstate) - pc_off = tbl.lex_trans_code[base_code + c]; - else - pc_off = tbl.lex_default_code[pstate]; - if (pc_off > 0) - caml_lex_run_mem(tbl.lex_code, pc_off, lexbuf.lex_mem, lexbuf.lex_curr_pos); - /* Erase the EOF condition only if the EOF pseudo-character was - consumed by the automaton (i.e. there was no backtrack above) - */ - if (c == 256) - lexbuf.lex_eof_reached = 0; - } - } - }); - -function new_lex_engine(tbl, i, buf) { - return caml_new_lex_engine_aux(tbl, i, buf, { - RE_EXN_ID: "Failure", - _1: empty_token_lit - }); -} - -export { - lex_engine , - new_lex_engine , -} -/* Not a pure module */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_md5.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_md5.js deleted file mode 100644 index 17fb4d8..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_md5.js +++ /dev/null @@ -1,168 +0,0 @@ - - - -function cmn(q, a, b, x, s, t) { - var a$1 = ((a + q | 0) + x | 0) + t | 0; - return ((a$1 << s) | (a$1 >>> (32 - s | 0)) | 0) + b | 0; -} - -function f(a, b, c, d, x, s, t) { - return cmn(b & c | (b ^ -1) & d, a, b, x, s, t); -} - -function g(a, b, c, d, x, s, t) { - return cmn(b & d | c & (d ^ -1), a, b, x, s, t); -} - -function h(a, b, c, d, x, s, t) { - return cmn(b ^ c ^ d, a, b, x, s, t); -} - -function i(a, b, c, d, x, s, t) { - return cmn(c ^ (b | d ^ -1), a, b, x, s, t); -} - -function cycle(x, k) { - var a = x[0]; - var b = x[1]; - var c = x[2]; - var d = x[3]; - a = f(a, b, c, d, k[0], 7, -680876936); - d = f(d, a, b, c, k[1], 12, -389564586); - c = f(c, d, a, b, k[2], 17, 606105819); - b = f(b, c, d, a, k[3], 22, -1044525330); - a = f(a, b, c, d, k[4], 7, -176418897); - d = f(d, a, b, c, k[5], 12, 1200080426); - c = f(c, d, a, b, k[6], 17, -1473231341); - b = f(b, c, d, a, k[7], 22, -45705983); - a = f(a, b, c, d, k[8], 7, 1770035416); - d = f(d, a, b, c, k[9], 12, -1958414417); - c = f(c, d, a, b, k[10], 17, -42063); - b = f(b, c, d, a, k[11], 22, -1990404162); - a = f(a, b, c, d, k[12], 7, 1804603682); - d = f(d, a, b, c, k[13], 12, -40341101); - c = f(c, d, a, b, k[14], 17, -1502002290); - b = f(b, c, d, a, k[15], 22, 1236535329); - a = g(a, b, c, d, k[1], 5, -165796510); - d = g(d, a, b, c, k[6], 9, -1069501632); - c = g(c, d, a, b, k[11], 14, 643717713); - b = g(b, c, d, a, k[0], 20, -373897302); - a = g(a, b, c, d, k[5], 5, -701558691); - d = g(d, a, b, c, k[10], 9, 38016083); - c = g(c, d, a, b, k[15], 14, -660478335); - b = g(b, c, d, a, k[4], 20, -405537848); - a = g(a, b, c, d, k[9], 5, 568446438); - d = g(d, a, b, c, k[14], 9, -1019803690); - c = g(c, d, a, b, k[3], 14, -187363961); - b = g(b, c, d, a, k[8], 20, 1163531501); - a = g(a, b, c, d, k[13], 5, -1444681467); - d = g(d, a, b, c, k[2], 9, -51403784); - c = g(c, d, a, b, k[7], 14, 1735328473); - b = g(b, c, d, a, k[12], 20, -1926607734); - a = h(a, b, c, d, k[5], 4, -378558); - d = h(d, a, b, c, k[8], 11, -2022574463); - c = h(c, d, a, b, k[11], 16, 1839030562); - b = h(b, c, d, a, k[14], 23, -35309556); - a = h(a, b, c, d, k[1], 4, -1530992060); - d = h(d, a, b, c, k[4], 11, 1272893353); - c = h(c, d, a, b, k[7], 16, -155497632); - b = h(b, c, d, a, k[10], 23, -1094730640); - a = h(a, b, c, d, k[13], 4, 681279174); - d = h(d, a, b, c, k[0], 11, -358537222); - c = h(c, d, a, b, k[3], 16, -722521979); - b = h(b, c, d, a, k[6], 23, 76029189); - a = h(a, b, c, d, k[9], 4, -640364487); - d = h(d, a, b, c, k[12], 11, -421815835); - c = h(c, d, a, b, k[15], 16, 530742520); - b = h(b, c, d, a, k[2], 23, -995338651); - a = i(a, b, c, d, k[0], 6, -198630844); - d = i(d, a, b, c, k[7], 10, 1126891415); - c = i(c, d, a, b, k[14], 15, -1416354905); - b = i(b, c, d, a, k[5], 21, -57434055); - a = i(a, b, c, d, k[12], 6, 1700485571); - d = i(d, a, b, c, k[3], 10, -1894986606); - c = i(c, d, a, b, k[10], 15, -1051523); - b = i(b, c, d, a, k[1], 21, -2054922799); - a = i(a, b, c, d, k[8], 6, 1873313359); - d = i(d, a, b, c, k[15], 10, -30611744); - c = i(c, d, a, b, k[6], 15, -1560198380); - b = i(b, c, d, a, k[13], 21, 1309151649); - a = i(a, b, c, d, k[4], 6, -145523070); - d = i(d, a, b, c, k[11], 10, -1120210379); - c = i(c, d, a, b, k[2], 15, 718787259); - b = i(b, c, d, a, k[9], 21, -343485551); - x[0] = a + x[0] | 0; - x[1] = b + x[1] | 0; - x[2] = c + x[2] | 0; - x[3] = d + x[3] | 0; -} - -var state = [ - 1732584193, - -271733879, - -1732584194, - 271733878 -]; - -var md5blk = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 -]; - -function md5_string(s, start, len) { - var s$1 = s.slice(start, len); - var n = s$1.length; - state[0] = 1732584193; - state[1] = -271733879; - state[2] = -1732584194; - state[3] = 271733878; - for(var i = 0; i <= 15; ++i){ - md5blk[i] = 0; - } - var i_end = n / 64 | 0; - for(var i$1 = 1; i$1 <= i_end; ++i$1){ - for(var j = 0; j <= 15; ++j){ - var k = ((i$1 << 6) - 64 | 0) + (j << 2) | 0; - md5blk[j] = ((s$1.charCodeAt(k) + (s$1.charCodeAt(k + 1 | 0) << 8) | 0) + (s$1.charCodeAt(k + 2 | 0) << 16) | 0) + (s$1.charCodeAt(k + 3 | 0) << 24) | 0; - } - cycle(state, md5blk); - } - var s_tail = s$1.slice((i_end << 6)); - for(var kk = 0; kk <= 15; ++kk){ - md5blk[kk] = 0; - } - var i_end$1 = s_tail.length - 1 | 0; - for(var i$2 = 0; i$2 <= i_end$1; ++i$2){ - md5blk[i$2 / 4 | 0] = md5blk[i$2 / 4 | 0] | (s_tail.charCodeAt(i$2) << (i$2 % 4 << 3)); - } - var i$3 = i_end$1 + 1 | 0; - md5blk[i$3 / 4 | 0] = md5blk[i$3 / 4 | 0] | (128 << (i$3 % 4 << 3)); - if (i$3 > 55) { - cycle(state, md5blk); - for(var i$4 = 0; i$4 <= 15; ++i$4){ - md5blk[i$4] = 0; - } - } - md5blk[14] = (n << 3); - cycle(state, md5blk); - return String.fromCharCode(state[0] & 255, (state[0] >> 8) & 255, (state[0] >> 16) & 255, (state[0] >> 24) & 255, state[1] & 255, (state[1] >> 8) & 255, (state[1] >> 16) & 255, (state[1] >> 24) & 255, state[2] & 255, (state[2] >> 8) & 255, (state[2] >> 16) & 255, (state[2] >> 24) & 255, state[3] & 255, (state[3] >> 8) & 255, (state[3] >> 16) & 255, (state[3] >> 24) & 255); -} - -export { - md5_string , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_module.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_module.js deleted file mode 100644 index 5ec8926..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_module.js +++ /dev/null @@ -1,117 +0,0 @@ - - -import * as Caml_obj from "./caml_obj.js"; - -function init_mod(loc, shape) { - var undef_module = function (param) { - throw { - RE_EXN_ID: "Undefined_recursive_module", - _1: loc, - Error: new Error() - }; - }; - var loop = function (shape, struct_, idx) { - if (typeof shape !== "object") { - switch (shape) { - case "Function" : - struct_[idx] = undef_module; - return ; - case "Lazy" : - struct_[idx] = { - LAZY_DONE: true, - VAL: undef_module - }; - return ; - case "Class" : - struct_[idx] = [ - undef_module, - undef_module, - undef_module, - 0 - ]; - return ; - - } - } else { - if (shape.TAG === "Module") { - var comps = shape._0; - var v = {}; - struct_[idx] = v; - var len = comps.length; - for(var i = 0; i < len; ++i){ - var match = comps[i]; - loop(match[0], v, match[1]); - } - return ; - } - struct_[idx] = shape._0; - return ; - } - }; - var res = {}; - var dummy_name = "dummy"; - loop(shape, res, dummy_name); - return res[dummy_name]; -} - -function update_mod(shape, o, n) { - var aux = function (shape, o, n, parent, i) { - if (typeof shape !== "object") { - switch (shape) { - case "Function" : - parent[i] = n; - return ; - case "Lazy" : - case "Class" : - return Caml_obj.update_dummy(o, n); - - } - } else { - if (shape.TAG !== "Module") { - return ; - } - var comps = shape._0; - for(var i$1 = 0 ,i_finish = comps.length; i$1 < i_finish; ++i$1){ - var match = comps[i$1]; - var name = match[1]; - aux(match[0], o[name], n[name], o, name); - } - return ; - } - }; - if (typeof shape !== "object") { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "caml_module.res", - 109, - 9 - ], - Error: new Error() - }; - } - if (shape.TAG === "Module") { - var comps = shape._0; - for(var i = 0 ,i_finish = comps.length; i < i_finish; ++i){ - var match = comps[i]; - var name = match[1]; - aux(match[0], o[name], n[name], o, name); - } - return ; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "caml_module.res", - 109, - 9 - ], - Error: new Error() - }; -} - -export { - init_mod , - update_mod , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_nativeint_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_nativeint_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_nativeint_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_obj.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_obj.js deleted file mode 100644 index 786e24a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_obj.js +++ /dev/null @@ -1,438 +0,0 @@ - - -import * as Caml from "./caml.js"; - -var for_in = (function(o,foo){ - for (var x in o) { foo(x) }}); - -var obj_dup = (function(x){ - if(Array.isArray(x)){ - var len = x.length - var v = new Array(len) - for(var i = 0 ; i < len ; ++i){ - v[i] = x[i] - } - if(x.TAG !== undefined){ - v.TAG = x.TAG // TODO this can be removed eventually - } - return v - } - return Object.assign({},x) -}); - -var update_dummy = (function(x,y){ - var k - if(Array.isArray(y)){ - for(k = 0; k < y.length ; ++k){ - x[k] = y[k] - } - if(y.TAG !== undefined){ - x.TAG = y.TAG - } - } else { - for (var k in y){ - x[k] = y[k] - } - } -}); - -function compare(a, b) { - if (a === b) { - return 0; - } - var a_type = typeof a; - var b_type = typeof b; - switch (a_type) { - case "bigint" : - if (b_type === "bigint") { - return Caml.float_compare(a, b); - } - break; - case "boolean" : - if (b_type === "boolean") { - return Caml.bool_compare(a, b); - } - break; - case "function" : - if (b_type === "function") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "compare: functional value", - Error: new Error() - }; - } - break; - case "number" : - if (b_type === "number") { - return Caml.float_compare(a, b); - } - break; - case "string" : - if (b_type === "string") { - return Caml.string_compare(a, b); - } else { - return 1; - } - case "undefined" : - return -1; - default: - - } - switch (b_type) { - case "string" : - return -1; - case "undefined" : - return 1; - default: - if (a_type === "boolean") { - return 1; - } - if (b_type === "boolean") { - return -1; - } - if (a_type === "function") { - return 1; - } - if (b_type === "function") { - return -1; - } - if (a_type === "number") { - if (b === null || b.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return 1; - } else { - return -1; - } - } - if (b_type === "number") { - if (a === null || a.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return -1; - } else { - return 1; - } - } - if (a === null) { - if (b.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return 1; - } else { - return -1; - } - } - if (b === null) { - if (a.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return -1; - } else { - return 1; - } - } - if (a.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - if (b.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return aux_obj_compare(a, b); - } else { - return -1; - } - } - var tag_a = a.TAG; - var tag_b = b.TAG; - if (tag_a === 248) { - return Caml.int_compare(a[1], b[1]); - } - if (tag_a === 251) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "equal: abstract value", - Error: new Error() - }; - } - if (tag_a !== tag_b) { - if (tag_a < tag_b) { - return -1; - } else { - return 1; - } - } - var len_a = a.length | 0; - var len_b = b.length | 0; - if (len_a === len_b) { - if (Array.isArray(a)) { - var _i = 0; - while(true) { - var i = _i; - if (i === len_a) { - return 0; - } - var res = compare(a[i], b[i]); - if (res !== 0) { - return res; - } - _i = i + 1 | 0; - continue ; - }; - } else if ((a instanceof Date && b instanceof Date)) { - return (a - b); - } else { - return aux_obj_compare(a, b); - } - } else if (len_a < len_b) { - var _i$1 = 0; - while(true) { - var i$1 = _i$1; - if (i$1 === len_a) { - return -1; - } - var res$1 = compare(a[i$1], b[i$1]); - if (res$1 !== 0) { - return res$1; - } - _i$1 = i$1 + 1 | 0; - continue ; - }; - } else { - var _i$2 = 0; - while(true) { - var i$2 = _i$2; - if (i$2 === len_b) { - return 1; - } - var res$2 = compare(a[i$2], b[i$2]); - if (res$2 !== 0) { - return res$2; - } - _i$2 = i$2 + 1 | 0; - continue ; - }; - } - } -} - -function aux_obj_compare(a, b) { - var min_key_lhs = { - contents: undefined - }; - var min_key_rhs = { - contents: undefined - }; - var do_key = function (param, key) { - var min_key = param[2]; - var b = param[1]; - if (!(!Object.prototype.hasOwnProperty.call(b, key) || compare(param[0][key], b[key]) > 0)) { - return ; - } - var mk = min_key.contents; - if (mk !== undefined && key >= mk) { - return ; - } else { - min_key.contents = key; - return ; - } - }; - var partial_arg = [ - a, - b, - min_key_rhs - ]; - var do_key_a = function (param) { - return do_key(partial_arg, param); - }; - var partial_arg$1 = [ - b, - a, - min_key_lhs - ]; - var do_key_b = function (param) { - return do_key(partial_arg$1, param); - }; - for_in(a, do_key_a); - for_in(b, do_key_b); - var match = min_key_lhs.contents; - var match$1 = min_key_rhs.contents; - if (match !== undefined) { - if (match$1 !== undefined) { - return Caml.string_compare(match, match$1); - } else { - return -1; - } - } else if (match$1 !== undefined) { - return 1; - } else { - return 0; - } -} - -function equal(a, b) { - if (a === b) { - return true; - } - var a_type = typeof a; - if (a_type === "string" || a_type === "number" || a_type === "bigint" || a_type === "boolean" || a_type === "undefined" || a === null) { - return false; - } - var b_type = typeof b; - if (a_type === "function" || b_type === "function") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "equal: functional value", - Error: new Error() - }; - } - if (b_type === "number" || b_type === "bigint" || b_type === "undefined" || b === null) { - return false; - } - var tag_a = a.TAG; - var tag_b = b.TAG; - if (tag_a === 248) { - return a[1] === b[1]; - } - if (tag_a === 251) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "equal: abstract value", - Error: new Error() - }; - } - if (tag_a !== tag_b) { - return false; - } - var len_a = a.length | 0; - var len_b = b.length | 0; - if (len_a === len_b) { - if (Array.isArray(a)) { - var _i = 0; - while(true) { - var i = _i; - if (i === len_a) { - return true; - } - if (!equal(a[i], b[i])) { - return false; - } - _i = i + 1 | 0; - continue ; - }; - } else if ((a instanceof Date && b instanceof Date)) { - return !(a > b || a < b); - } else { - var result = { - contents: true - }; - var do_key_a = function (key) { - if (!Object.prototype.hasOwnProperty.call(b, key)) { - result.contents = false; - return ; - } - - }; - var do_key_b = function (key) { - if (!Object.prototype.hasOwnProperty.call(a, key) || !equal(b[key], a[key])) { - result.contents = false; - return ; - } - - }; - for_in(a, do_key_a); - if (result.contents) { - for_in(b, do_key_b); - } - return result.contents; - } - } else { - return false; - } -} - -function equal_null(x, y) { - if (y !== null) { - return equal(x, y); - } else { - return x === y; - } -} - -function equal_undefined(x, y) { - if (y !== undefined) { - return equal(x, y); - } else { - return x === y; - } -} - -function equal_nullable(x, y) { - if (y == null) { - return x === y; - } else { - return equal(x, y); - } -} - -function notequal(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a !== b; - } else { - return !equal(a, b); - } -} - -function greaterequal(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a >= b; - } else { - return compare(a, b) >= 0; - } -} - -function greaterthan(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a > b; - } else { - return compare(a, b) > 0; - } -} - -function lessequal(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a <= b; - } else { - return compare(a, b) <= 0; - } -} - -function lessthan(a, b) { - if ((typeof a === "number" || typeof a === "bigint") && (typeof b === "number" || typeof b === "bigint")) { - return a < b; - } else { - return compare(a, b) < 0; - } -} - -function min(x, y) { - if (compare(x, y) <= 0) { - return x; - } else { - return y; - } -} - -function max(x, y) { - if (compare(x, y) >= 0) { - return x; - } else { - return y; - } -} - -export { - obj_dup , - update_dummy , - compare , - equal , - equal_null , - equal_undefined , - equal_nullable , - notequal , - greaterequal , - greaterthan , - lessthan , - lessequal , - min , - max , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_option.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_option.js deleted file mode 100644 index e7e4934..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_option.js +++ /dev/null @@ -1,86 +0,0 @@ - - - -function isNested(x) { - return x.BS_PRIVATE_NESTED_SOME_NONE !== undefined; -} - -function some(x) { - if (x === undefined) { - return { - BS_PRIVATE_NESTED_SOME_NONE: 0 - }; - } else if (x !== null && x.BS_PRIVATE_NESTED_SOME_NONE !== undefined) { - return { - BS_PRIVATE_NESTED_SOME_NONE: x.BS_PRIVATE_NESTED_SOME_NONE + 1 | 0 - }; - } else { - return x; - } -} - -function nullable_to_opt(x) { - if (x == null) { - return ; - } else { - return some(x); - } -} - -function undefined_to_opt(x) { - if (x === undefined) { - return ; - } else { - return some(x); - } -} - -function null_to_opt(x) { - if (x === null) { - return ; - } else { - return some(x); - } -} - -function valFromOption(x) { - if (!(x !== null && x.BS_PRIVATE_NESTED_SOME_NONE !== undefined)) { - return x; - } - var depth = x.BS_PRIVATE_NESTED_SOME_NONE; - if (depth === 0) { - return ; - } else { - return { - BS_PRIVATE_NESTED_SOME_NONE: depth - 1 | 0 - }; - } -} - -function option_get(x) { - if (x === undefined) { - return ; - } else { - return valFromOption(x); - } -} - -function option_unwrap(x) { - if (x !== undefined) { - return x.VAL; - } else { - return x; - } -} - -export { - nullable_to_opt , - undefined_to_opt , - null_to_opt , - valFromOption , - some , - isNested , - option_get , - option_unwrap , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_parser.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_parser.js deleted file mode 100644 index 7869ec5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_parser.js +++ /dev/null @@ -1,303 +0,0 @@ - - - -/***********************************************************************/ -/* */ -/* Objective Caml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* $Id: parsing.c 8983 2008-08-06 09:38:25Z xleroy $ */ - -/* The PDA automaton for parsers generated by camlyacc */ - -/* The pushdown automata */ - -/** - * caml_lex_array("abcd") - * [25185, 25699] - * @param s - * @returns {any[]} - * TODO: duplicated with module {!Caml_lex} - */ -function caml_lex_array(s) { - var l = s.length / 2; - var a = new Array(l); - for (var i = 0; i < l; i++) - a[i] = (s.charCodeAt(2 * i) | (s.charCodeAt(2 * i + 1) << 8)) << 16 >> 16; - return a; -} -/** - * Note that TS enum is not friendly to Closure compiler - * @enum{number} - */ -var Automata = { - START: 0, - LOOP: 6, - TOKEN_READ: 1, - TEST_SHIFT: 7, - ERROR_DETECTED: 5, - SHIFT: 8, - SHIFT_RECOVER: 9, - STACK_GROWN_1: 2, - REDUCE: 10, - STACK_GROWN_2: 3, - SEMANTIC_ACTION_COMPUTED: 4 -}; -/** - * @enum{number} - */ -var Result = { - READ_TOKEN: 0, - RAISE_PARSE_ERROR: 1, - GROW_STACKS_1: 2, - GROW_STACKS_2: 3, - COMPUTE_SEMANTIC_ACTION: 4, - CALL_ERROR_FUNCTION: 5 -}; -var PARSER_TRACE = false; -; - -var parse_engine = (function (tables /* parser_table */, env /* parser_env */, cmd /* parser_input*/, arg /* Obj.t*/) { - var ERRCODE = 256; - //var START = 0; - //var TOKEN_READ = 1; - //var STACKS_GROWN_1 = 2; - //var STACKS_GROWN_2 = 3; - //var SEMANTIC_ACTION_COMPUTED = 4; - //var ERROR_DETECTED = 5; - //var loop = 6; - //var testshift = 7; - //var shift = 8; - //var shift_recover = 9; - //var reduce = 10; - // Parsing.parser_env - var env_s_stack = 's_stack'; // array - var env_v_stack = 'v_stack'; // array - var env_symb_start_stack = 'symb_start_stack'; // array - var env_symb_end_stack = 'symb_end_stack'; // array - var env_stacksize = 'stacksize'; - var env_stackbase = 'stackbase'; - var env_curr_char = 'curr_char'; - var env_lval = 'lval'; // Obj.t - var env_symb_start = 'symb_start'; // position - var env_symb_end = 'symb_end'; // position - var env_asp = 'asp'; - var env_rule_len = 'rule_len'; - var env_rule_number = 'rule_number'; - var env_sp = 'sp'; - var env_state = 'state'; - var env_errflag = 'errflag'; - // Parsing.parse_tables - // var _tbl_actions = 1; - var tbl_transl_const = 'transl_const'; // array - var tbl_transl_block = 'transl_block'; // array - var tbl_lhs = 'lhs'; - var tbl_len = 'len'; - var tbl_defred = 'defred'; - var tbl_dgoto = 'dgoto'; - var tbl_sindex = 'sindex'; - var tbl_rindex = 'rindex'; - var tbl_gindex = 'gindex'; - var tbl_tablesize = 'tablesize'; - var tbl_table = 'table'; - var tbl_check = 'check'; - // var _tbl_error_function = 14; - // var _tbl_names_const = 15; - // var _tbl_names_block = 16; - if (!tables.preprocessed) { - tables.defred = caml_lex_array(tables[tbl_defred]); - tables.sindex = caml_lex_array(tables[tbl_sindex]); - tables.check = caml_lex_array(tables[tbl_check]); - tables.rindex = caml_lex_array(tables[tbl_rindex]); - tables.table = caml_lex_array(tables[tbl_table]); - tables.len = caml_lex_array(tables[tbl_len]); - tables.lhs = caml_lex_array(tables[tbl_lhs]); - tables.gindex = caml_lex_array(tables[tbl_gindex]); - tables.dgoto = caml_lex_array(tables[tbl_dgoto]); - tables.preprocessed = true; - } - var res; - var n, n1, n2, state1; - // RESTORE - var sp = env[env_sp]; - var state = env[env_state]; - var errflag = env[env_errflag]; - exit: for (;;) { - //console.error("State", Automata[cmd]); - switch (cmd) { - case Automata.START: - state = 0; - errflag = 0; - // Fall through - case Automata.LOOP: - n = tables.defred[state]; - if (n != 0) { - cmd = Automata.REDUCE; - break; - } - if (env[env_curr_char] >= 0) { - cmd = Automata.TEST_SHIFT; - break; - } - res = Result.READ_TOKEN; - break exit; - /* The ML code calls the lexer and updates */ - /* symb_start and symb_end */ - case Automata.TOKEN_READ: - if (typeof arg !== 'number') { - env[env_curr_char] = tables[tbl_transl_block][arg.TAG | 0 /* + 1 */]; - env[env_lval] = arg._0; // token carries payload - } - else { - env[env_curr_char] = tables[tbl_transl_const][arg /* + 1 */]; - env[env_lval] = 0; // const token - } - if (PARSER_TRACE) { - console.error("State %d, read token", state, arg); - } - // Fall through - case Automata.TEST_SHIFT: - n1 = tables.sindex[state]; - n2 = n1 + env[env_curr_char]; - if (n1 != 0 && n2 >= 0 && n2 <= tables[tbl_tablesize] && - tables.check[n2] == env[env_curr_char]) { - cmd = Automata.SHIFT; - break; - } - n1 = tables.rindex[state]; - n2 = n1 + env[env_curr_char]; - if (n1 != 0 && n2 >= 0 && n2 <= tables[tbl_tablesize] && - tables.check[n2] == env[env_curr_char]) { - n = tables.table[n2]; - cmd = Automata.REDUCE; - break; - } - if (errflag <= 0) { - res = Result.CALL_ERROR_FUNCTION; - break exit; - } - // Fall through - /* The ML code calls the error function */ - case Automata.ERROR_DETECTED: - if (errflag < 3) { - errflag = 3; - for (;;) { - state1 = env[env_s_stack][sp /* + 1*/]; - n1 = tables.sindex[state1]; - n2 = n1 + ERRCODE; - if (n1 != 0 && n2 >= 0 && n2 <= tables[tbl_tablesize] && - tables.check[n2] == ERRCODE) { - cmd = Automata.SHIFT_RECOVER; - break; - } - else { - if (sp <= env[env_stackbase]) - return Result.RAISE_PARSE_ERROR; - /* The ML code raises Parse_error */ - sp--; - } - } - } - else { - if (env[env_curr_char] == 0) - return Result.RAISE_PARSE_ERROR; - /* The ML code raises Parse_error */ - env[env_curr_char] = -1; - cmd = Automata.LOOP; - break; - } - // Fall through - case Automata.SHIFT: - env[env_curr_char] = -1; - if (errflag > 0) - errflag--; - // Fall through - case Automata.SHIFT_RECOVER: - if (PARSER_TRACE) { - console.error("State %d: shift to state %d", state, tables.table[n2]); - } - state = tables.table[n2]; - sp++; - if (sp >= env[env_stacksize]) { - res = Result.GROW_STACKS_1; - break exit; - } - // Fall through - /* The ML code resizes the stacks */ - case Automata.STACK_GROWN_1: - env[env_s_stack][sp /* + 1 */] = state; - env[env_v_stack][sp /* + 1 */] = env[env_lval]; - env[env_symb_start_stack][sp /* + 1 */] = env[env_symb_start]; - env[env_symb_end_stack][sp /* + 1 */] = env[env_symb_end]; - cmd = Automata.LOOP; - break; - case Automata.REDUCE: - if (PARSER_TRACE) { - console.error("State %d : reduce by rule %d", state, n); - } - var m = tables.len[n]; - env[env_asp] = sp; - env[env_rule_number] = n; - env[env_rule_len] = m; - sp = sp - m + 1; - m = tables.lhs[n]; - state1 = env[env_s_stack][sp - 1]; // - n1 = tables.gindex[m]; - n2 = n1 + state1; - if (n1 != 0 && n2 >= 0 && n2 <= tables[tbl_tablesize] && - tables.check[n2] == state1) - state = tables.table[n2]; - else - state = tables.dgoto[m]; - if (sp >= env[env_stacksize]) { - res = Result.GROW_STACKS_2; - break exit; - } - // Fall through - /* The ML code resizes the stacks */ - case Automata.STACK_GROWN_2: - res = Result.COMPUTE_SEMANTIC_ACTION; - break exit; - /* The ML code calls the semantic action */ - case Automata.SEMANTIC_ACTION_COMPUTED: - env[env_s_stack][sp /* + 1 */] = state; - env[env_v_stack][sp /* + 1*/] = arg; - var asp = env[env_asp]; - env[env_symb_end_stack][sp /* + 1*/] = env[env_symb_end_stack][asp /* + 1*/]; - if (sp > asp) { - /* This is an epsilon production. Take symb_start equal to symb_end. */ - env[env_symb_start_stack][sp /* + 1*/] = env[env_symb_end_stack][asp /*+ 1*/]; - } - cmd = Automata.LOOP; - break; - /* Should not happen */ - default: - return Result.RAISE_PARSE_ERROR; - } - } - // SAVE - env[env_sp] = sp; - env[env_state] = state; - env[env_errflag] = errflag; - return res; -}); - -var set_parser_trace = (function (v) { - var old = PARSER_TRACE; - PARSER_TRACE = v; - return old; -}); - -export { - parse_engine , - set_parser_trace , -} -/* Not a pure module */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_splice_call.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_splice_call.js deleted file mode 100644 index fdc44ff..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_splice_call.js +++ /dev/null @@ -1,52 +0,0 @@ - - - -var spliceApply = (function(fn,args){ - var i, argLen; - argLen = args.length - var applied = [] - for(i = 0; i < argLen - 1; ++i){ - applied.push(args[i]) - } - var lastOne = args[argLen - 1] - for(i = 0; i < lastOne.length; ++i ){ - applied.push(lastOne[i]) - } - return fn.apply(null,applied) -}); - -var spliceNewApply = (function (ctor,args){ - var i, argLen; - argLen = args.length - var applied = [null] // Function.prototype.bind.apply(fn, args) requires the first element in \`args\` to be \`null\` - for(i = 0; i < argLen - 1; ++i){ - applied.push(args[i]) - } - var lastOne = args[argLen - 1] - for(i = 0; i < lastOne.length; ++i ){ - applied.push(lastOne[i]) - } - var C = Function.prototype.bind.apply(ctor, applied) - return new C() -}); - -var spliceObjApply = (function(obj,name,args){ - var i, argLen; - argLen = args.length - var applied = [] - for(i = 0; i < argLen - 1; ++i){ - applied.push(args[i]) - } - var lastOne = args[argLen - 1] - for(i = 0; i < lastOne.length; ++i ){ - applied.push(lastOne[i]) - } - return (obj[name]).apply(obj,applied) -}); - -export { - spliceApply , - spliceNewApply , - spliceObjApply , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_string.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_string.js deleted file mode 100644 index af9d98b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_string.js +++ /dev/null @@ -1,23 +0,0 @@ - - - -function get(s, i) { - if (i >= s.length || i < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "index out of bounds", - Error: new Error() - }; - } - return s.codePointAt(i); -} - -function make(n, ch) { - return String.fromCharCode(ch).repeat(n); -} - -export { - get , - make , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_string_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_string_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_string_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_sys.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_sys.js deleted file mode 100644 index bcd9f42..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_sys.js +++ /dev/null @@ -1,99 +0,0 @@ - - - -function sys_getenv(s) { - if (typeof process === "undefined" || process.env === undefined) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var x = process.env[s]; - if (x !== undefined) { - return x; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; -} - -var os_type = (function(_){ - if(typeof process !== 'undefined' && process.platform === 'win32'){ - return "Win32" - } - else { - return "Unix" - } -}); - -function sys_time(param) { - if (typeof process === "undefined" || process.uptime === undefined) { - return -1; - } else { - return process.uptime(); - } -} - -var sys_getcwd = (function(param){ - if (typeof process === "undefined" || process.cwd === undefined){ - return "/" - } - return process.cwd() - }); - -function sys_get_argv(param) { - if (typeof process === "undefined") { - return [ - "", - [""] - ]; - } - var argv = process.argv; - if (argv == null) { - return [ - "", - [""] - ]; - } else { - return [ - argv[0], - argv - ]; - } -} - -function sys_exit(exit_code) { - if (typeof process !== "undefined") { - return process.exit(exit_code); - } - -} - -function sys_is_directory(_s) { - throw { - RE_EXN_ID: "Failure", - _1: "sys_is_directory not implemented", - Error: new Error() - }; -} - -function sys_file_exists(_s) { - throw { - RE_EXN_ID: "Failure", - _1: "sys_file_exists not implemented", - Error: new Error() - }; -} - -export { - sys_getenv , - sys_time , - os_type , - sys_getcwd , - sys_get_argv , - sys_exit , - sys_is_directory , - sys_file_exists , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/caml_undefined_extern.js b/bots/sustainabot/bot-integration/rescript-runtime/caml_undefined_extern.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/caml_undefined_extern.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/camlinternalLazy.js b/bots/sustainabot/bot-integration/rescript-runtime/camlinternalLazy.js deleted file mode 100644 index 697cd9e..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/camlinternalLazy.js +++ /dev/null @@ -1,59 +0,0 @@ - - -import * as Caml_exceptions from "./caml_exceptions.js"; - -function is_val(l) { - return l.LAZY_DONE; -} - -var Undefined = /* @__PURE__ */Caml_exceptions.create("CamlinternalLazy.Undefined"); - -function forward_with_closure(blk, closure) { - var result = closure(); - blk.VAL = result; - blk.LAZY_DONE = true; - return result; -} - -function raise_undefined() { - throw { - RE_EXN_ID: Undefined, - Error: new Error() - }; -} - -function force(lzv) { - if (lzv.LAZY_DONE) { - return lzv.VAL; - } else { - var closure = lzv.VAL; - lzv.VAL = raise_undefined; - try { - return forward_with_closure(lzv, closure); - } - catch (e){ - lzv.VAL = (function () { - throw e; - }); - throw e; - } - } -} - -function force_val(lzv) { - if (lzv.LAZY_DONE) { - return lzv.VAL; - } else { - var closure = lzv.VAL; - lzv.VAL = raise_undefined; - return forward_with_closure(lzv, closure); - } -} - -export { - Undefined , - force , - force_val , - is_val , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/camlinternalMod.js b/bots/sustainabot/bot-integration/rescript-runtime/camlinternalMod.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/camlinternalMod.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/char.js b/bots/sustainabot/bot-integration/rescript-runtime/char.js deleted file mode 100644 index 1b68800..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/char.js +++ /dev/null @@ -1,126 +0,0 @@ - - -import * as Bytes from "./bytes.js"; - -function chr(n) { - if (n < 0 || n > 255) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Char.chr", - Error: new Error() - }; - } - return n; -} - -function escaped(param) { - var exit = 0; - if (param >= 40) { - if (param === 92) { - return "\\\\"; - } - exit = param >= 127 ? 1 : 2; - } else if (param >= 32) { - if (param >= 39) { - return "\\'"; - } - exit = 2; - } else if (param >= 14) { - exit = 1; - } else { - switch (param) { - case 8 : - return "\\b"; - case 9 : - return "\\t"; - case 10 : - return "\\n"; - case 0 : - case 1 : - case 2 : - case 3 : - case 4 : - case 5 : - case 6 : - case 7 : - case 11 : - case 12 : - exit = 1; - break; - case 13 : - return "\\r"; - - } - } - switch (exit) { - case 1 : - var s = [ - 0, - 0, - 0, - 0 - ]; - s[0] = /* '\\' */92; - s[1] = 48 + (param / 100 | 0) | 0; - s[2] = 48 + (param / 10 | 0) % 10 | 0; - s[3] = 48 + param % 10 | 0; - return Bytes.to_string(s); - case 2 : - var s$1 = [0]; - s$1[0] = param; - return Bytes.to_string(s$1); - - } -} - -function lowercase(c) { - if (c >= /* 'A' */65 && c <= /* 'Z' */90 || c >= /* '\192' */192 && c <= /* '\214' */214 || c >= /* '\216' */216 && c <= /* '\222' */222) { - return c + 32 | 0; - } else { - return c; - } -} - -function uppercase(c) { - if (c >= /* 'a' */97 && c <= /* 'z' */122 || c >= /* '\224' */224 && c <= /* '\246' */246 || c >= /* '\248' */248 && c <= /* '\254' */254) { - return c - 32 | 0; - } else { - return c; - } -} - -function lowercase_ascii(c) { - if (c >= /* 'A' */65 && c <= /* 'Z' */90) { - return c + 32 | 0; - } else { - return c; - } -} - -function uppercase_ascii(c) { - if (c >= /* 'a' */97 && c <= /* 'z' */122) { - return c - 32 | 0; - } else { - return c; - } -} - -function compare(c1, c2) { - return c1 - c2 | 0; -} - -function equal(c1, c2) { - return (c1 - c2 | 0) === 0; -} - -export { - chr , - escaped , - lowercase , - uppercase , - lowercase_ascii , - uppercase_ascii , - compare , - equal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/complex.js b/bots/sustainabot/bot-integration/rescript-runtime/complex.js deleted file mode 100644 index 9543070..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/complex.js +++ /dev/null @@ -1,176 +0,0 @@ - - - -var one = { - re: 1.0, - im: 0.0 -}; - -function add(x, y) { - return { - re: x.re + y.re, - im: x.im + y.im - }; -} - -function sub(x, y) { - return { - re: x.re - y.re, - im: x.im - y.im - }; -} - -function neg(x) { - return { - re: - x.re, - im: - x.im - }; -} - -function conj(x) { - return { - re: x.re, - im: - x.im - }; -} - -function mul(x, y) { - return { - re: x.re * y.re - x.im * y.im, - im: x.re * y.im + x.im * y.re - }; -} - -function div(x, y) { - if (Math.abs(y.re) >= Math.abs(y.im)) { - var r = y.im / y.re; - var d = y.re + r * y.im; - return { - re: (x.re + r * x.im) / d, - im: (x.im - r * x.re) / d - }; - } - var r$1 = y.re / y.im; - var d$1 = y.im + r$1 * y.re; - return { - re: (r$1 * x.re + x.im) / d$1, - im: (r$1 * x.im - x.re) / d$1 - }; -} - -function inv(x) { - return div(one, x); -} - -function norm2(x) { - return x.re * x.re + x.im * x.im; -} - -function norm(x) { - var r = Math.abs(x.re); - var i = Math.abs(x.im); - if (r === 0.0) { - return i; - } - if (i === 0.0) { - return r; - } - if (r >= i) { - var q = i / r; - return r * Math.sqrt(1.0 + q * q); - } - var q$1 = r / i; - return i * Math.sqrt(1.0 + q$1 * q$1); -} - -function arg(x) { - return Math.atan2(x.im, x.re); -} - -function polar(n, a) { - return { - re: Math.cos(a) * n, - im: Math.sin(a) * n - }; -} - -function sqrt(x) { - if (x.re === 0.0 && x.im === 0.0) { - return { - re: 0.0, - im: 0.0 - }; - } - var r = Math.abs(x.re); - var i = Math.abs(x.im); - var w; - if (r >= i) { - var q = i / r; - w = Math.sqrt(r) * Math.sqrt(0.5 * (1.0 + Math.sqrt(1.0 + q * q))); - } else { - var q$1 = r / i; - w = Math.sqrt(i) * Math.sqrt(0.5 * (q$1 + Math.sqrt(1.0 + q$1 * q$1))); - } - if (x.re >= 0.0) { - return { - re: w, - im: 0.5 * x.im / w - }; - } else { - return { - re: 0.5 * i / w, - im: x.im >= 0.0 ? w : - w - }; - } -} - -function exp(x) { - var e = Math.exp(x.re); - return { - re: e * Math.cos(x.im), - im: e * Math.sin(x.im) - }; -} - -function log(x) { - return { - re: Math.log(norm(x)), - im: Math.atan2(x.im, x.re) - }; -} - -function pow(x, y) { - return exp(mul(y, log(x))); -} - -var zero = { - re: 0.0, - im: 0.0 -}; - -var i = { - re: 0.0, - im: 1.0 -}; - -export { - zero , - one , - i , - neg , - conj , - add , - sub , - mul , - inv , - div , - sqrt , - norm2 , - norm , - arg , - polar , - exp , - log , - pow , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/curry.js b/bots/sustainabot/bot-integration/rescript-runtime/curry.js deleted file mode 100644 index a8baf0b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/curry.js +++ /dev/null @@ -1,526 +0,0 @@ - - -import * as Caml_array from "./caml_array.js"; - -function app(_f, _args) { - while(true) { - var args = _args; - var f = _f; - var init_arity = f.length; - var arity = init_arity === 0 ? 1 : init_arity; - var len = args.length; - var d = arity - len | 0; - if (d === 0) { - return f.apply(null, args); - } - if (d >= 0) { - return (function(f,args){ - return function (x) { - return app(f, args.concat([x])); - } - }(f,args)); - } - _args = Caml_array.sub(args, arity, -d | 0); - _f = f.apply(null, Caml_array.sub(args, 0, arity)); - continue ; - }; -} - -function _1(o, a0) { - var arity = o.length; - if (arity === 1) { - return o(a0); - } else { - switch (arity) { - case 1 : - return o(a0); - case 2 : - return function (param) { - return o(a0, param); - }; - case 3 : - return function (param, param$1) { - return o(a0, param, param$1); - }; - case 4 : - return function (param, param$1, param$2) { - return o(a0, param, param$1, param$2); - }; - case 5 : - return function (param, param$1, param$2, param$3) { - return o(a0, param, param$1, param$2, param$3); - }; - case 6 : - return function (param, param$1, param$2, param$3, param$4) { - return o(a0, param, param$1, param$2, param$3, param$4); - }; - case 7 : - return function (param, param$1, param$2, param$3, param$4, param$5) { - return o(a0, param, param$1, param$2, param$3, param$4, param$5); - }; - default: - return app(o, [a0]); - } - } -} - -function __1(o) { - var arity = o.length; - if (arity === 1) { - return o; - } else { - return function (a0) { - return _1(o, a0); - }; - } -} - -function _2(o, a0, a1) { - var arity = o.length; - if (arity === 2) { - return o(a0, a1); - } else { - switch (arity) { - case 1 : - return app(o(a0), [a1]); - case 2 : - return o(a0, a1); - case 3 : - return function (param) { - return o(a0, a1, param); - }; - case 4 : - return function (param, param$1) { - return o(a0, a1, param, param$1); - }; - case 5 : - return function (param, param$1, param$2) { - return o(a0, a1, param, param$1, param$2); - }; - case 6 : - return function (param, param$1, param$2, param$3) { - return o(a0, a1, param, param$1, param$2, param$3); - }; - case 7 : - return function (param, param$1, param$2, param$3, param$4) { - return o(a0, a1, param, param$1, param$2, param$3, param$4); - }; - default: - return app(o, [ - a0, - a1 - ]); - } - } -} - -function __2(o) { - var arity = o.length; - if (arity === 2) { - return o; - } else { - return function (a0, a1) { - return _2(o, a0, a1); - }; - } -} - -function _3(o, a0, a1, a2) { - var arity = o.length; - if (arity === 3) { - return o(a0, a1, a2); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2 - ]); - case 2 : - return app(o(a0, a1), [a2]); - case 3 : - return o(a0, a1, a2); - case 4 : - return function (param) { - return o(a0, a1, a2, param); - }; - case 5 : - return function (param, param$1) { - return o(a0, a1, a2, param, param$1); - }; - case 6 : - return function (param, param$1, param$2) { - return o(a0, a1, a2, param, param$1, param$2); - }; - case 7 : - return function (param, param$1, param$2, param$3) { - return o(a0, a1, a2, param, param$1, param$2, param$3); - }; - default: - return app(o, [ - a0, - a1, - a2 - ]); - } - } -} - -function __3(o) { - var arity = o.length; - if (arity === 3) { - return o; - } else { - return function (a0, a1, a2) { - return _3(o, a0, a1, a2); - }; - } -} - -function _4(o, a0, a1, a2, a3) { - var arity = o.length; - if (arity === 4) { - return o(a0, a1, a2, a3); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3 - ]); - case 3 : - return app(o(a0, a1, a2), [a3]); - case 4 : - return o(a0, a1, a2, a3); - case 5 : - return function (param) { - return o(a0, a1, a2, a3, param); - }; - case 6 : - return function (param, param$1) { - return o(a0, a1, a2, a3, param, param$1); - }; - case 7 : - return function (param, param$1, param$2) { - return o(a0, a1, a2, a3, param, param$1, param$2); - }; - default: - return app(o, [ - a0, - a1, - a2, - a3 - ]); - } - } -} - -function __4(o) { - var arity = o.length; - if (arity === 4) { - return o; - } else { - return function (a0, a1, a2, a3) { - return _4(o, a0, a1, a2, a3); - }; - } -} - -function _5(o, a0, a1, a2, a3, a4) { - var arity = o.length; - if (arity === 5) { - return o(a0, a1, a2, a3, a4); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3, - a4 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3, - a4 - ]); - case 3 : - return app(o(a0, a1, a2), [ - a3, - a4 - ]); - case 4 : - return app(o(a0, a1, a2, a3), [a4]); - case 5 : - return o(a0, a1, a2, a3, a4); - case 6 : - return function (param) { - return o(a0, a1, a2, a3, a4, param); - }; - case 7 : - return function (param, param$1) { - return o(a0, a1, a2, a3, a4, param, param$1); - }; - default: - return app(o, [ - a0, - a1, - a2, - a3, - a4 - ]); - } - } -} - -function __5(o) { - var arity = o.length; - if (arity === 5) { - return o; - } else { - return function (a0, a1, a2, a3, a4) { - return _5(o, a0, a1, a2, a3, a4); - }; - } -} - -function _6(o, a0, a1, a2, a3, a4, a5) { - var arity = o.length; - if (arity === 6) { - return o(a0, a1, a2, a3, a4, a5); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3, - a4, - a5 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3, - a4, - a5 - ]); - case 3 : - return app(o(a0, a1, a2), [ - a3, - a4, - a5 - ]); - case 4 : - return app(o(a0, a1, a2, a3), [ - a4, - a5 - ]); - case 5 : - return app(o(a0, a1, a2, a3, a4), [a5]); - case 6 : - return o(a0, a1, a2, a3, a4, a5); - case 7 : - return function (param) { - return o(a0, a1, a2, a3, a4, a5, param); - }; - default: - return app(o, [ - a0, - a1, - a2, - a3, - a4, - a5 - ]); - } - } -} - -function __6(o) { - var arity = o.length; - if (arity === 6) { - return o; - } else { - return function (a0, a1, a2, a3, a4, a5) { - return _6(o, a0, a1, a2, a3, a4, a5); - }; - } -} - -function _7(o, a0, a1, a2, a3, a4, a5, a6) { - var arity = o.length; - if (arity === 7) { - return o(a0, a1, a2, a3, a4, a5, a6); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3, - a4, - a5, - a6 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3, - a4, - a5, - a6 - ]); - case 3 : - return app(o(a0, a1, a2), [ - a3, - a4, - a5, - a6 - ]); - case 4 : - return app(o(a0, a1, a2, a3), [ - a4, - a5, - a6 - ]); - case 5 : - return app(o(a0, a1, a2, a3, a4), [ - a5, - a6 - ]); - case 6 : - return app(o(a0, a1, a2, a3, a4, a5), [a6]); - case 7 : - return o(a0, a1, a2, a3, a4, a5, a6); - default: - return app(o, [ - a0, - a1, - a2, - a3, - a4, - a5, - a6 - ]); - } - } -} - -function __7(o) { - var arity = o.length; - if (arity === 7) { - return o; - } else { - return function (a0, a1, a2, a3, a4, a5, a6) { - return _7(o, a0, a1, a2, a3, a4, a5, a6); - }; - } -} - -function _8(o, a0, a1, a2, a3, a4, a5, a6, a7) { - var arity = o.length; - if (arity === 8) { - return o(a0, a1, a2, a3, a4, a5, a6, a7); - } else { - switch (arity) { - case 1 : - return app(o(a0), [ - a1, - a2, - a3, - a4, - a5, - a6, - a7 - ]); - case 2 : - return app(o(a0, a1), [ - a2, - a3, - a4, - a5, - a6, - a7 - ]); - case 3 : - return app(o(a0, a1, a2), [ - a3, - a4, - a5, - a6, - a7 - ]); - case 4 : - return app(o(a0, a1, a2, a3), [ - a4, - a5, - a6, - a7 - ]); - case 5 : - return app(o(a0, a1, a2, a3, a4), [ - a5, - a6, - a7 - ]); - case 6 : - return app(o(a0, a1, a2, a3, a4, a5), [ - a6, - a7 - ]); - case 7 : - return app(o(a0, a1, a2, a3, a4, a5, a6), [a7]); - default: - return app(o, [ - a0, - a1, - a2, - a3, - a4, - a5, - a6, - a7 - ]); - } - } -} - -function __8(o) { - var arity = o.length; - if (arity === 8) { - return o; - } else { - return function (a0, a1, a2, a3, a4, a5, a6, a7) { - return _8(o, a0, a1, a2, a3, a4, a5, a6, a7); - }; - } -} - -export { - app , - _1 , - __1 , - _2 , - __2 , - _3 , - __3 , - _4 , - __4 , - _5 , - __5 , - _6 , - __6 , - _7 , - __7 , - _8 , - __8 , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/digest.js b/bots/sustainabot/bot-integration/rescript-runtime/digest.js deleted file mode 100644 index 9a65040..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/digest.js +++ /dev/null @@ -1,118 +0,0 @@ - - -import * as Char from "./char.js"; -import * as Bytes from "./bytes.js"; -import * as $$String from "./string.js"; -import * as Caml_md5 from "./caml_md5.js"; -import * as Caml_bytes from "./caml_bytes.js"; -import * as Caml_string from "./caml_string.js"; - -function string(str) { - return Caml_md5.md5_string(str, 0, str.length); -} - -function bytes(b) { - return string(Bytes.unsafe_to_string(b)); -} - -function substring(str, ofs, len) { - if (ofs < 0 || len < 0 || ofs > (str.length - len | 0)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Digest.substring", - Error: new Error() - }; - } - return Caml_md5.md5_string(str, ofs, len); -} - -function subbytes(b, ofs, len) { - return substring(Bytes.unsafe_to_string(b), ofs, len); -} - -function char_hex(n) { - return n + ( - n < 10 ? /* '0' */48 : 87 - ) | 0; -} - -function to_hex(d) { - if (d.length !== 16) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Digest.to_hex", - Error: new Error() - }; - } - var result = Caml_bytes.create(32); - for(var i = 0; i <= 15; ++i){ - var x = Caml_string.get(d, i); - result[(i << 1)] = char_hex((x >>> 4)); - result[(i << 1) + 1 | 0] = char_hex(x & 15); - } - return Bytes.unsafe_to_string(result); -} - -function from_hex(s) { - if (s.length !== 32) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Digest.from_hex", - Error: new Error() - }; - } - var digit = function (c) { - if (c >= 65) { - if (c >= 97) { - if (c >= 103) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Digest.from_hex", - Error: new Error() - }; - } - return (c - /* 'a' */97 | 0) + 10 | 0; - } - if (c >= 71) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Digest.from_hex", - Error: new Error() - }; - } - return (c - /* 'A' */65 | 0) + 10 | 0; - } - if (c > 57 || c < 48) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Digest.from_hex", - Error: new Error() - }; - } - return c - /* '0' */48 | 0; - }; - var $$byte = function (i) { - return (digit(Caml_string.get(s, i)) << 4) + digit(Caml_string.get(s, i + 1 | 0)) | 0; - }; - var result = Caml_bytes.create(16); - for(var i = 0; i <= 15; ++i){ - Caml_bytes.set(result, i, Char.chr($$byte((i << 1)))); - } - return Bytes.unsafe_to_string(result); -} - -var compare = $$String.compare; - -var equal = $$String.equal; - -export { - compare , - equal , - string , - bytes , - substring , - subbytes , - to_hex , - from_hex , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/dom.js b/bots/sustainabot/bot-integration/rescript-runtime/dom.js deleted file mode 100644 index 34f06c4..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/dom.js +++ /dev/null @@ -1,12 +0,0 @@ - - - -var $$Storage; - -var Storage2; - -export { - $$Storage , - Storage2 , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/dom_storage.js b/bots/sustainabot/bot-integration/rescript-runtime/dom_storage.js deleted file mode 100644 index 57370b0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/dom_storage.js +++ /dev/null @@ -1,27 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; - -function getItem(s, obj) { - return Caml_option.null_to_opt(obj.getItem(s)); -} - -function setItem(k, v, obj) { - obj.setItem(k, v); -} - -function removeItem(s, obj) { - obj.removeItem(s); -} - -function key(i, obj) { - return Caml_option.null_to_opt(obj.key(i)); -} - -export { - getItem , - setItem , - removeItem , - key , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/dom_storage2.js b/bots/sustainabot/bot-integration/rescript-runtime/dom_storage2.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/dom_storage2.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/filename.js b/bots/sustainabot/bot-integration/rescript-runtime/filename.js deleted file mode 100644 index ce05362..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/filename.js +++ /dev/null @@ -1,496 +0,0 @@ - - -import * as Sys from "./sys.js"; -import * as Bytes from "./bytes.js"; -import * as Curry from "./curry.js"; -import * as $$Buffer from "./buffer.js"; -import * as $$String from "./string.js"; -import * as Caml_sys from "./caml_sys.js"; -import * as Caml_string from "./caml_string.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -function generic_basename(is_dir_sep, current_dir_name, name) { - if (name === "") { - return current_dir_name; - } else { - var _n = name.length - 1 | 0; - while(true) { - var n = _n; - if (n < 0) { - return $$String.sub(name, 0, 1); - } - if (!Curry._2(is_dir_sep, name, n)) { - var _n$1 = n; - var p = n + 1 | 0; - while(true) { - var n$1 = _n$1; - if (n$1 < 0) { - return $$String.sub(name, 0, p); - } - if (Curry._2(is_dir_sep, name, n$1)) { - return $$String.sub(name, n$1 + 1 | 0, (p - n$1 | 0) - 1 | 0); - } - _n$1 = n$1 - 1 | 0; - continue ; - }; - } - _n = n - 1 | 0; - continue ; - }; - } -} - -function generic_dirname(is_dir_sep, current_dir_name, name) { - if (name === "") { - return current_dir_name; - } else { - var _n = name.length - 1 | 0; - while(true) { - var n = _n; - if (n < 0) { - return $$String.sub(name, 0, 1); - } - if (!Curry._2(is_dir_sep, name, n)) { - var _n$1 = n; - while(true) { - var n$1 = _n$1; - if (n$1 < 0) { - return current_dir_name; - } - if (Curry._2(is_dir_sep, name, n$1)) { - var _n$2 = n$1; - while(true) { - var n$2 = _n$2; - if (n$2 < 0) { - return $$String.sub(name, 0, 1); - } - if (!Curry._2(is_dir_sep, name, n$2)) { - return $$String.sub(name, 0, n$2 + 1 | 0); - } - _n$2 = n$2 - 1 | 0; - continue ; - }; - } - _n$1 = n$1 - 1 | 0; - continue ; - }; - } - _n = n - 1 | 0; - continue ; - }; - } -} - -var current_dir_name = "."; - -function is_dir_sep(s, i) { - return Caml_string.get(s, i) === /* '/' */47; -} - -function is_relative(n) { - if (n.length < 1) { - return true; - } else { - return Caml_string.get(n, 0) !== /* '/' */47; - } -} - -function is_implicit(n) { - if (is_relative(n) && (n.length < 2 || $$String.sub(n, 0, 2) !== "./")) { - if (n.length < 3) { - return true; - } else { - return $$String.sub(n, 0, 3) !== "../"; - } - } else { - return false; - } -} - -function check_suffix(name, suff) { - if (name.length >= suff.length) { - return $$String.sub(name, name.length - suff.length | 0, suff.length) === suff; - } else { - return false; - } -} - -var temp_dir_name; - -try { - temp_dir_name = Caml_sys.sys_getenv("TMPDIR"); -} -catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - temp_dir_name = "/tmp"; - } else { - throw exn; - } -} - -function quote(param) { - var quotequote = "'\\''"; - var l = param.length; - var b = $$Buffer.create(l + 20 | 0); - $$Buffer.add_char(b, /* '\'' */39); - for(var i = 0; i < l; ++i){ - if (Caml_string.get(param, i) === /* '\'' */39) { - $$Buffer.add_string(b, quotequote); - } else { - $$Buffer.add_char(b, Caml_string.get(param, i)); - } - } - $$Buffer.add_char(b, /* '\'' */39); - return $$Buffer.contents(b); -} - -function basename(param) { - return generic_basename(is_dir_sep, current_dir_name, param); -} - -function dirname(param) { - return generic_dirname(is_dir_sep, current_dir_name, param); -} - -var current_dir_name$1 = "."; - -function is_dir_sep$1(s, i) { - var c = Caml_string.get(s, i); - if (c === /* '/' */47 || c === /* '\\' */92) { - return true; - } else { - return c === /* ':' */58; - } -} - -function is_relative$1(n) { - if ((n.length < 1 || Caml_string.get(n, 0) !== /* '/' */47) && (n.length < 1 || Caml_string.get(n, 0) !== /* '\\' */92)) { - if (n.length < 2) { - return true; - } else { - return Caml_string.get(n, 1) !== /* ':' */58; - } - } else { - return false; - } -} - -function is_implicit$1(n) { - if (is_relative$1(n) && (n.length < 2 || $$String.sub(n, 0, 2) !== "./") && (n.length < 2 || $$String.sub(n, 0, 2) !== ".\\") && (n.length < 3 || $$String.sub(n, 0, 3) !== "../")) { - if (n.length < 3) { - return true; - } else { - return $$String.sub(n, 0, 3) !== "..\\"; - } - } else { - return false; - } -} - -function check_suffix$1(name, suff) { - if (name.length < suff.length) { - return false; - } - var s = $$String.sub(name, name.length - suff.length | 0, suff.length); - return Bytes.unsafe_to_string(Bytes.lowercase_ascii(Bytes.unsafe_of_string(s))) === Bytes.unsafe_to_string(Bytes.lowercase_ascii(Bytes.unsafe_of_string(suff))); -} - -var temp_dir_name$1; - -try { - temp_dir_name$1 = Caml_sys.sys_getenv("TEMP"); -} -catch (raw_exn$1){ - var exn$1 = Caml_js_exceptions.internalToOCamlException(raw_exn$1); - if (exn$1.RE_EXN_ID === "Not_found") { - temp_dir_name$1 = "."; - } else { - throw exn$1; - } -} - -function quote$1(s) { - var l = s.length; - var b = $$Buffer.create(l + 20 | 0); - $$Buffer.add_char(b, /* '"' */34); - var loop = function (_i) { - while(true) { - var i = _i; - if (i === l) { - return $$Buffer.add_char(b, /* '"' */34); - } - var c = Caml_string.get(s, i); - if (c === 34) { - return loop_bs(0, i); - } - if (c === 92) { - return loop_bs(0, i); - } - $$Buffer.add_char(b, c); - _i = i + 1 | 0; - continue ; - }; - }; - var loop_bs = function (_n, _i) { - while(true) { - var i = _i; - var n = _n; - if (i === l) { - $$Buffer.add_char(b, /* '"' */34); - return add_bs(n); - } - var match = Caml_string.get(s, i); - if (match !== 34) { - if (match !== 92) { - add_bs(n); - return loop(i); - } - _i = i + 1 | 0; - _n = n + 1 | 0; - continue ; - } - add_bs((n << 1) + 1 | 0); - $$Buffer.add_char(b, /* '"' */34); - return loop(i + 1 | 0); - }; - }; - var add_bs = function (n) { - for(var _j = 1; _j <= n; ++_j){ - $$Buffer.add_char(b, /* '\\' */92); - } - }; - loop(0); - return $$Buffer.contents(b); -} - -function has_drive(s) { - var is_letter = function (param) { - if (param >= 91) { - return !(param > 122 || param < 97); - } else { - return param >= 65; - } - }; - if (s.length >= 2 && is_letter(Caml_string.get(s, 0))) { - return Caml_string.get(s, 1) === /* ':' */58; - } else { - return false; - } -} - -function drive_and_path(s) { - if (has_drive(s)) { - return [ - $$String.sub(s, 0, 2), - $$String.sub(s, 2, s.length - 2 | 0) - ]; - } else { - return [ - "", - s - ]; - } -} - -function dirname$1(s) { - var match = drive_and_path(s); - var dir = generic_dirname(is_dir_sep$1, current_dir_name$1, match[1]); - return match[0] + dir; -} - -function basename$1(s) { - var match = drive_and_path(s); - return generic_basename(is_dir_sep$1, current_dir_name$1, match[1]); -} - -var current_dir_name$2 = "."; - -function basename$2(param) { - return generic_basename(is_dir_sep$1, current_dir_name$2, param); -} - -function dirname$2(param) { - return generic_dirname(is_dir_sep$1, current_dir_name$2, param); -} - -var match; - -switch (Sys.os_type) { - case "Cygwin" : - match = [ - current_dir_name$2, - "..", - "/", - is_dir_sep$1, - is_relative$1, - is_implicit$1, - check_suffix$1, - temp_dir_name, - quote, - basename$2, - dirname$2 - ]; - break; - case "Win32" : - match = [ - current_dir_name$1, - "..", - "\\", - is_dir_sep$1, - is_relative$1, - is_implicit$1, - check_suffix$1, - temp_dir_name$1, - quote$1, - basename$1, - dirname$1 - ]; - break; - default: - match = [ - current_dir_name, - "..", - "/", - is_dir_sep, - is_relative, - is_implicit, - check_suffix, - temp_dir_name, - quote, - basename, - dirname - ]; -} - -var temp_dir_name$2 = match[7]; - -var is_dir_sep$2 = match[3]; - -var dir_sep = match[2]; - -function concat(dirname, filename) { - var l = dirname.length; - if (l === 0 || Curry._2(is_dir_sep$2, dirname, l - 1 | 0)) { - return dirname + filename; - } else { - return dirname + (dir_sep + filename); - } -} - -function chop_suffix(name, suff) { - var n = name.length - suff.length | 0; - if (n < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Filename.chop_suffix", - Error: new Error() - }; - } - return $$String.sub(name, 0, n); -} - -function extension_len(name) { - var _i = name.length - 1 | 0; - while(true) { - var i = _i; - if (i < 0 || Curry._2(is_dir_sep$2, name, i)) { - return 0; - } - if (Caml_string.get(name, i) === /* '.' */46) { - var _i$1 = i - 1 | 0; - while(true) { - var i$1 = _i$1; - if (i$1 < 0 || Curry._2(is_dir_sep$2, name, i$1)) { - return 0; - } - if (Caml_string.get(name, i$1) !== /* '.' */46) { - return name.length - i | 0; - } - _i$1 = i$1 - 1 | 0; - continue ; - }; - } - _i = i - 1 | 0; - continue ; - }; -} - -function extension(name) { - var l = extension_len(name); - if (l === 0) { - return ""; - } else { - return $$String.sub(name, name.length - l | 0, l); - } -} - -function chop_extension(name) { - var l = extension_len(name); - if (l === 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Filename.chop_extension", - Error: new Error() - }; - } - return $$String.sub(name, 0, name.length - l | 0); -} - -function remove_extension(name) { - var l = extension_len(name); - if (l === 0) { - return name; - } else { - return $$String.sub(name, 0, name.length - l | 0); - } -} - -var current_temp_dir_name = { - contents: temp_dir_name$2 -}; - -function set_temp_dir_name(s) { - current_temp_dir_name.contents = s; -} - -function get_temp_dir_name(param) { - return current_temp_dir_name.contents; -} - -var current_dir_name$3 = match[0]; - -var parent_dir_name = match[1]; - -var is_relative$2 = match[4]; - -var is_implicit$2 = match[5]; - -var check_suffix$2 = match[6]; - -var basename$3 = match[9]; - -var dirname$3 = match[10]; - -var quote$2 = match[8]; - -export { - current_dir_name$3 as current_dir_name, - parent_dir_name , - dir_sep , - concat , - is_relative$2 as is_relative, - is_implicit$2 as is_implicit, - check_suffix$2 as check_suffix, - chop_suffix , - extension , - remove_extension , - chop_extension , - basename$3 as basename, - dirname$3 as dirname, - get_temp_dir_name , - set_temp_dir_name , - temp_dir_name$2 as temp_dir_name, - quote$2 as quote, -} -/* temp_dir_name Not a pure module */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/genlex.js b/bots/sustainabot/bot-integration/rescript-runtime/genlex.js deleted file mode 100644 index 362e361..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/genlex.js +++ /dev/null @@ -1,654 +0,0 @@ - - -import * as Char from "./char.js"; -import * as List from "./list.js"; -import * as Bytes from "./bytes.js"; -import * as Stream from "./stream.js"; -import * as Hashtbl from "./hashtbl.js"; -import * as Caml_bytes from "./caml_bytes.js"; -import * as Caml_format from "./caml_format.js"; -import * as Caml_string from "./caml_string.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -var initial_buffer = Caml_bytes.create(32); - -var buffer = { - contents: initial_buffer -}; - -var bufpos = { - contents: 0 -}; - -function reset_buffer(param) { - buffer.contents = initial_buffer; - bufpos.contents = 0; -} - -function store(c) { - if (bufpos.contents >= buffer.contents.length) { - var newbuffer = Caml_bytes.create((bufpos.contents << 1)); - Bytes.blit(buffer.contents, 0, newbuffer, 0, bufpos.contents); - buffer.contents = newbuffer; - } - Caml_bytes.set(buffer.contents, bufpos.contents, c); - bufpos.contents = bufpos.contents + 1 | 0; -} - -function get_string(param) { - var s = Bytes.sub_string(buffer.contents, 0, bufpos.contents); - buffer.contents = initial_buffer; - return s; -} - -function make_lexer(keywords) { - var kwd_table = Hashtbl.create(undefined, 17); - List.iter((function (s) { - Hashtbl.add(kwd_table, s, { - TAG: "Kwd", - _0: s - }); - }), keywords); - var ident_or_keyword = function (id) { - try { - return Hashtbl.find(kwd_table, id); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return { - TAG: "Ident", - _0: id - }; - } - throw exn; - } - }; - var keyword_or_error = function (c) { - var s = Caml_string.make(1, c); - try { - return Hashtbl.find(kwd_table, s); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - throw { - RE_EXN_ID: Stream.$$Error, - _1: "Illegal character " + s, - Error: new Error() - }; - } - throw exn; - } - }; - var next_token = function (strm__) { - while(true) { - var c = Stream.peek(strm__); - if (c === undefined) { - return ; - } - var exit = 0; - if (c < 124) { - if (c > 122 || c < 65) { - if (c >= 123) { - exit = 1; - } else { - switch (c) { - case 9 : - case 10 : - case 12 : - case 13 : - case 26 : - case 32 : - Stream.junk(strm__); - continue ; - case 34 : - Stream.junk(strm__); - reset_buffer(); - return { - TAG: "String", - _0: string(strm__) - }; - case 39 : - Stream.junk(strm__); - var c$1; - try { - c$1 = $$char(strm__); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === Stream.Failure) { - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - } - throw exn; - } - var match = Stream.peek(strm__); - if (match !== undefined) { - if (match !== 39) { - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - } - Stream.junk(strm__); - return { - TAG: "Char", - _0: c$1 - }; - } - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - case 40 : - Stream.junk(strm__); - var match$1 = Stream.peek(strm__); - if (match$1 === 42) { - Stream.junk(strm__); - comment(strm__); - return next_token(strm__); - } else { - return keyword_or_error(/* '(' */40); - } - case 45 : - Stream.junk(strm__); - var c$2 = Stream.peek(strm__); - if (c$2 !== undefined && !(c$2 > 57 || c$2 < 48)) { - Stream.junk(strm__); - reset_buffer(); - store(/* '-' */45); - store(c$2); - return number(strm__); - } else { - reset_buffer(); - store(/* '-' */45); - return ident2(strm__); - } - case 48 : - case 49 : - case 50 : - case 51 : - case 52 : - case 53 : - case 54 : - case 55 : - case 56 : - case 57 : - exit = 4; - break; - case 0 : - case 1 : - case 2 : - case 3 : - case 4 : - case 5 : - case 6 : - case 7 : - case 8 : - case 11 : - case 14 : - case 15 : - case 16 : - case 17 : - case 18 : - case 19 : - case 20 : - case 21 : - case 22 : - case 23 : - case 24 : - case 25 : - case 27 : - case 28 : - case 29 : - case 30 : - case 31 : - case 41 : - case 44 : - case 46 : - case 59 : - exit = 1; - break; - case 33 : - case 35 : - case 36 : - case 37 : - case 38 : - case 42 : - case 43 : - case 47 : - case 58 : - case 60 : - case 61 : - case 62 : - case 63 : - case 64 : - exit = 3; - break; - - } - } - } else { - switch (c) { - case 92 : - case 94 : - exit = 3; - break; - case 91 : - case 93 : - case 96 : - exit = 1; - break; - default: - exit = 2; - } - } - } else { - exit = c >= 127 ? ( - c > 255 || c < 192 ? 1 : 2 - ) : ( - c !== 125 ? 3 : 1 - ); - } - switch (exit) { - case 1 : - Stream.junk(strm__); - return keyword_or_error(c); - case 2 : - Stream.junk(strm__); - reset_buffer(); - store(c); - while(true) { - var c$3 = Stream.peek(strm__); - if (c$3 === undefined) { - return ident_or_keyword(get_string()); - } - if (c$3 >= 91) { - if (c$3 > 122 || c$3 < 95) { - if (c$3 > 255 || c$3 < 192) { - return ident_or_keyword(get_string()); - } - - } else if (c$3 === 96) { - return ident_or_keyword(get_string()); - } - - } else if (c$3 >= 48) { - if (!(c$3 > 64 || c$3 < 58)) { - return ident_or_keyword(get_string()); - } - - } else if (c$3 !== 39) { - return ident_or_keyword(get_string()); - } - Stream.junk(strm__); - store(c$3); - continue ; - }; - case 3 : - Stream.junk(strm__); - reset_buffer(); - store(c); - return ident2(strm__); - case 4 : - Stream.junk(strm__); - reset_buffer(); - store(c); - return number(strm__); - - } - }; - }; - var ident2 = function (strm__) { - while(true) { - var c = Stream.peek(strm__); - if (c === undefined) { - return ident_or_keyword(get_string()); - } - if (c >= 94) { - if (c > 125 || c < 95) { - if (c >= 127) { - return ident_or_keyword(get_string()); - } - - } else if (c !== 124) { - return ident_or_keyword(get_string()); - } - - } else if (c >= 65) { - if (c !== 92) { - return ident_or_keyword(get_string()); - } - - } else { - if (c < 33) { - return ident_or_keyword(get_string()); - } - switch (c) { - case 34 : - case 39 : - case 40 : - case 41 : - case 44 : - case 46 : - case 48 : - case 49 : - case 50 : - case 51 : - case 52 : - case 53 : - case 54 : - case 55 : - case 56 : - case 57 : - case 59 : - return ident_or_keyword(get_string()); - case 33 : - case 35 : - case 36 : - case 37 : - case 38 : - case 42 : - case 43 : - case 45 : - case 47 : - case 58 : - case 60 : - case 61 : - case 62 : - case 63 : - case 64 : - break; - - } - } - Stream.junk(strm__); - store(c); - continue ; - }; - }; - var number = function (strm__) { - while(true) { - var c = Stream.peek(strm__); - if (c !== undefined) { - if (c >= 58) { - if (!(c !== 69 && c !== 101)) { - Stream.junk(strm__); - store(/* 'E' */69); - return exponent_part(strm__); - } - - } else if (c !== 46) { - if (c >= 48) { - Stream.junk(strm__); - store(c); - continue ; - } - - } else { - Stream.junk(strm__); - store(/* '.' */46); - while(true) { - var c$1 = Stream.peek(strm__); - if (c$1 !== undefined) { - if (c$1 > 101 || c$1 < 69) { - if (!(c$1 > 57 || c$1 < 48)) { - Stream.junk(strm__); - store(c$1); - continue ; - } - - } else if (c$1 > 100 || c$1 < 70) { - Stream.junk(strm__); - store(/* 'E' */69); - return exponent_part(strm__); - } - - } - return { - TAG: "Float", - _0: Caml_format.float_of_string(get_string()) - }; - }; - } - } - return { - TAG: "Int", - _0: Caml_format.int_of_string(get_string()) - }; - }; - }; - var exponent_part = function (strm__) { - var c = Stream.peek(strm__); - if (c !== undefined && !(c !== 43 && c !== 45)) { - Stream.junk(strm__); - store(c); - return end_exponent_part(strm__); - } else { - return end_exponent_part(strm__); - } - }; - var end_exponent_part = function (strm__) { - while(true) { - var c = Stream.peek(strm__); - if (c === undefined) { - return { - TAG: "Float", - _0: Caml_format.float_of_string(get_string()) - }; - } - if (c > 57 || c < 48) { - return { - TAG: "Float", - _0: Caml_format.float_of_string(get_string()) - }; - } - Stream.junk(strm__); - store(c); - continue ; - }; - }; - var string = function (strm__) { - while(true) { - var c = Stream.peek(strm__); - if (c !== undefined) { - if (c !== 34) { - if (c !== 92) { - Stream.junk(strm__); - store(c); - continue ; - } - Stream.junk(strm__); - var c$1; - try { - c$1 = $$escape(strm__); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === Stream.Failure) { - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - } - throw exn; - } - store(c$1); - continue ; - } - Stream.junk(strm__); - return get_string(); - } - throw { - RE_EXN_ID: Stream.Failure, - Error: new Error() - }; - }; - }; - var $$char = function (strm__) { - var c = Stream.peek(strm__); - if (c !== undefined) { - if (c !== 92) { - Stream.junk(strm__); - return c; - } - Stream.junk(strm__); - try { - return $$escape(strm__); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === Stream.Failure) { - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - } - throw exn; - } - } else { - throw { - RE_EXN_ID: Stream.Failure, - Error: new Error() - }; - } - }; - var $$escape = function (strm__) { - var c1 = Stream.peek(strm__); - if (c1 !== undefined) { - if (c1 >= 58) { - switch (c1) { - case 110 : - Stream.junk(strm__); - return /* '\n' */10; - case 114 : - Stream.junk(strm__); - return /* '\r' */13; - case 116 : - Stream.junk(strm__); - return /* '\t' */9; - default: - Stream.junk(strm__); - return c1; - } - } else { - if (c1 >= 48) { - Stream.junk(strm__); - var c2 = Stream.peek(strm__); - if (c2 !== undefined) { - if (c2 > 57 || c2 < 48) { - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - } - Stream.junk(strm__); - var c3 = Stream.peek(strm__); - if (c3 !== undefined) { - if (c3 > 57 || c3 < 48) { - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - } - Stream.junk(strm__); - return Char.chr((Math.imul(c1 - 48 | 0, 100) + Math.imul(c2 - 48 | 0, 10) | 0) + (c3 - 48 | 0) | 0); - } - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - } - throw { - RE_EXN_ID: Stream.$$Error, - _1: "", - Error: new Error() - }; - } - Stream.junk(strm__); - return c1; - } - } else { - throw { - RE_EXN_ID: Stream.Failure, - Error: new Error() - }; - } - }; - var comment = function (strm__) { - while(true) { - var match = Stream.peek(strm__); - if (match !== undefined) { - switch (match) { - case 40 : - Stream.junk(strm__); - var match$1 = Stream.peek(strm__); - if (match$1 !== undefined) { - if (match$1 !== 42) { - Stream.junk(strm__); - return comment(strm__); - } else { - Stream.junk(strm__); - comment(strm__); - return comment(strm__); - } - } - throw { - RE_EXN_ID: Stream.Failure, - Error: new Error() - }; - case 42 : - Stream.junk(strm__); - while(true) { - var match$2 = Stream.peek(strm__); - if (match$2 !== undefined) { - if (match$2 !== 41) { - if (match$2 !== 42) { - Stream.junk(strm__); - return comment(strm__); - } - Stream.junk(strm__); - continue ; - } - Stream.junk(strm__); - return ; - } - throw { - RE_EXN_ID: Stream.Failure, - Error: new Error() - }; - }; - default: - Stream.junk(strm__); - continue ; - } - } else { - throw { - RE_EXN_ID: Stream.Failure, - Error: new Error() - }; - } - }; - }; - return function (input) { - return Stream.from(function (_count) { - return next_token(input); - }); - }; -} - -export { - make_lexer , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/hashtbl.js b/bots/sustainabot/bot-integration/rescript-runtime/hashtbl.js deleted file mode 100644 index 621cc7b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/hashtbl.js +++ /dev/null @@ -1,1123 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as $$Array from "./array.js"; -import * as Curry from "./curry.js"; -import * as Random from "./random.js"; -import * as Caml_obj from "./caml_obj.js"; -import * as Caml_hash from "./caml_hash.js"; -import * as Caml_array from "./caml_array.js"; -import * as Pervasives from "./pervasives.js"; -import * as Caml_option from "./caml_option.js"; -import * as CamlinternalLazy from "./camlinternalLazy.js"; - -function hash(x) { - return Caml_hash.hash(10, 100, 0, x); -} - -function hash_param(n1, n2, x) { - return Caml_hash.hash(n1, n2, 0, x); -} - -function seeded_hash(seed, x) { - return Caml_hash.hash(10, 100, seed, x); -} - -function flip_ongoing_traversal(h) { - h.initial_size = -h.initial_size | 0; -} - -var randomized = { - contents: false -}; - -function randomize(param) { - randomized.contents = true; -} - -function is_randomized(param) { - return randomized.contents; -} - -var prng = { - LAZY_DONE: false, - VAL: (function () { - return Random.State.make_self_init(); - }) -}; - -function power_2_above(_x, n) { - while(true) { - var x = _x; - if (x >= n) { - return x; - } - if ((x << 1) < x) { - return x; - } - _x = (x << 1); - continue ; - }; -} - -function create(randomOpt, initial_size) { - var random = randomOpt !== undefined ? randomOpt : randomized.contents; - var s = power_2_above(16, initial_size); - var seed = random ? Random.State.bits(CamlinternalLazy.force(prng)) : 0; - return { - size: 0, - data: Caml_array.make(s, "Empty"), - seed: seed, - initial_size: s - }; -} - -function clear(h) { - h.size = 0; - var len = h.data.length; - for(var i = 0; i < len; ++i){ - Caml_array.set(h.data, i, "Empty"); - } -} - -function reset(h) { - var len = h.data.length; - if (len === Pervasives.abs(h.initial_size)) { - return clear(h); - } else { - h.size = 0; - h.data = Caml_array.make(Pervasives.abs(h.initial_size), "Empty"); - return ; - } -} - -function copy_bucketlist(param) { - if (typeof param !== "object") { - return "Empty"; - } - var key = param.key; - var data = param.data; - var next = param.next; - var loop = function (_prec, _param) { - while(true) { - var param = _param; - var prec = _prec; - if (typeof param !== "object") { - return ; - } - var key = param.key; - var data = param.data; - var next = param.next; - var r = { - TAG: "Cons", - key: key, - data: data, - next: next - }; - if (typeof prec !== "object") { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "hashtbl.res", - 110, - 19 - ], - Error: new Error() - }; - } - prec.next = r; - _param = next; - _prec = r; - continue ; - }; - }; - var r = { - TAG: "Cons", - key: key, - data: data, - next: next - }; - loop(r, next); - return r; -} - -function copy(h) { - return { - size: h.size, - data: $$Array.map(copy_bucketlist, h.data), - seed: h.seed, - initial_size: h.initial_size - }; -} - -function length(h) { - return h.size; -} - -function resize(indexfun, h) { - var odata = h.data; - var osize = odata.length; - var nsize = (osize << 1); - if (nsize < osize) { - return ; - } - var ndata = Caml_array.make(nsize, "Empty"); - var ndata_tail = Caml_array.make(nsize, "Empty"); - var inplace = h.initial_size >= 0; - h.data = ndata; - var insert_bucket = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var key = param.key; - var data = param.data; - var next = param.next; - var cell = inplace ? param : ({ - TAG: "Cons", - key: key, - data: data, - next: "Empty" - }); - var nidx = Curry._2(indexfun, h, key); - var tail = Caml_array.get(ndata_tail, nidx); - if (typeof tail !== "object") { - Caml_array.set(ndata, nidx, cell); - } else { - tail.next = cell; - } - Caml_array.set(ndata_tail, nidx, cell); - _param = next; - continue ; - }; - }; - for(var i = 0; i < osize; ++i){ - insert_bucket(Caml_array.get(odata, i)); - } - if (!inplace) { - return ; - } - for(var i$1 = 0; i$1 < nsize; ++i$1){ - var tail = Caml_array.get(ndata_tail, i$1); - if (typeof tail === "object") { - tail.next = "Empty"; - } - - } -} - -function key_index(h, key) { - return Caml_hash.hash(10, 100, h.seed, key) & (h.data.length - 1 | 0); -} - -function add(h, key, data) { - var i = key_index(h, key); - var bucket = { - TAG: "Cons", - key: key, - data: data, - next: Caml_array.get(h.data, i) - }; - Caml_array.set(h.data, i, bucket); - h.size = h.size + 1 | 0; - if (h.size > (h.data.length << 1)) { - return resize(key_index, h); - } - -} - -function remove(h, key) { - var i = key_index(h, key); - var _prec = "Empty"; - var _param = Caml_array.get(h.data, i); - while(true) { - var param = _param; - var prec = _prec; - if (typeof param !== "object") { - return ; - } - var k = param.key; - var next = param.next; - if (Caml_obj.equal(k, key)) { - h.size = h.size - 1 | 0; - if (typeof prec !== "object") { - return Caml_array.set(h.data, i, next); - } else { - prec.next = next; - return ; - } - } - _param = next; - _prec = param; - continue ; - }; -} - -function find(h, key) { - var match = Caml_array.get(h.data, key_index(h, key)); - if (typeof match !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k1 = match.key; - var d1 = match.data; - var next1 = match.next; - if (Caml_obj.equal(key, k1)) { - return d1; - } - if (typeof next1 !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k2 = next1.key; - var d2 = next1.data; - var next2 = next1.next; - if (Caml_obj.equal(key, k2)) { - return d2; - } - if (typeof next2 !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k3 = next2.key; - var d3 = next2.data; - var next3 = next2.next; - if (Caml_obj.equal(key, k3)) { - return d3; - } else { - var _param = next3; - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k = param.key; - var data = param.data; - var next = param.next; - if (Caml_obj.equal(key, k)) { - return data; - } - _param = next; - continue ; - }; - } -} - -function find_opt(h, key) { - var match = Caml_array.get(h.data, key_index(h, key)); - if (typeof match !== "object") { - return ; - } - var k1 = match.key; - var d1 = match.data; - var next1 = match.next; - if (Caml_obj.equal(key, k1)) { - return Caml_option.some(d1); - } - if (typeof next1 !== "object") { - return ; - } - var k2 = next1.key; - var d2 = next1.data; - var next2 = next1.next; - if (Caml_obj.equal(key, k2)) { - return Caml_option.some(d2); - } - if (typeof next2 !== "object") { - return ; - } - var k3 = next2.key; - var d3 = next2.data; - var next3 = next2.next; - if (Caml_obj.equal(key, k3)) { - return Caml_option.some(d3); - } else { - var _param = next3; - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var k = param.key; - var data = param.data; - var next = param.next; - if (Caml_obj.equal(key, k)) { - return Caml_option.some(data); - } - _param = next; - continue ; - }; - } -} - -function find_all(h, key) { - var find_in_bucket = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return /* [] */0; - } - var k = param.key; - var data = param.data; - var next = param.next; - if (Caml_obj.equal(k, key)) { - return { - hd: data, - tl: find_in_bucket(next) - }; - } - _param = next; - continue ; - }; - }; - return find_in_bucket(Caml_array.get(h.data, key_index(h, key))); -} - -function replace_bucket(key, data, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - var k = param.key; - var next = param.next; - if (Caml_obj.equal(k, key)) { - param.key = key; - param.data = data; - return false; - } - _param = next; - continue ; - }; -} - -function replace(h, key, data) { - var i = key_index(h, key); - var l = Caml_array.get(h.data, i); - if (replace_bucket(key, data, l)) { - Caml_array.set(h.data, i, { - TAG: "Cons", - key: key, - data: data, - next: l - }); - h.size = h.size + 1 | 0; - if (h.size > (h.data.length << 1)) { - return resize(key_index, h); - } else { - return ; - } - } - -} - -function mem(h, key) { - var _param = Caml_array.get(h.data, key_index(h, key)); - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var k = param.key; - var next = param.next; - if (Caml_obj.equal(k, key)) { - return true; - } - _param = next; - continue ; - }; -} - -function iter(f, h) { - var do_bucket = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var key = param.key; - var data = param.data; - var next = param.next; - Curry._2(f, key, data); - _param = next; - continue ; - }; - }; - var old_trav = h.initial_size < 0; - if (!old_trav) { - flip_ongoing_traversal(h); - } - try { - var d = h.data; - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - do_bucket(Caml_array.get(d, i)); - } - if (!old_trav) { - return flip_ongoing_traversal(h); - } else { - return ; - } - } - catch (exn){ - if (old_trav) { - throw exn; - } - flip_ongoing_traversal(h); - throw exn; - } -} - -function filter_map_inplace_bucket(f, h, i, _prec, _param) { - while(true) { - var param = _param; - var prec = _prec; - if (typeof param !== "object") { - if (typeof prec !== "object") { - return Caml_array.set(h.data, i, "Empty"); - } else { - prec.next = "Empty"; - return ; - } - } - var key = param.key; - var data = param.data; - var next = param.next; - var data$1 = Curry._2(f, key, data); - if (data$1 !== undefined) { - if (typeof prec !== "object") { - Caml_array.set(h.data, i, param); - } else { - prec.next = param; - } - param.data = Caml_option.valFromOption(data$1); - _param = next; - _prec = param; - continue ; - } - h.size = h.size - 1 | 0; - _param = next; - continue ; - }; -} - -function filter_map_inplace(f, h) { - var d = h.data; - var old_trav = h.initial_size < 0; - if (!old_trav) { - flip_ongoing_traversal(h); - } - try { - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - filter_map_inplace_bucket(f, h, i, "Empty", Caml_array.get(h.data, i)); - } - return ; - } - catch (exn){ - if (old_trav) { - throw exn; - } - flip_ongoing_traversal(h); - throw exn; - } -} - -function fold(f, h, init) { - var do_bucket = function (_b, _accu) { - while(true) { - var accu = _accu; - var b = _b; - if (typeof b !== "object") { - return accu; - } - var key = b.key; - var data = b.data; - var next = b.next; - _accu = Curry._3(f, key, data, accu); - _b = next; - continue ; - }; - }; - var old_trav = h.initial_size < 0; - if (!old_trav) { - flip_ongoing_traversal(h); - } - try { - var d = h.data; - var accu = init; - for(var i = 0 ,i_finish = d.length; i < i_finish; ++i){ - accu = do_bucket(Caml_array.get(d, i), accu); - } - if (!old_trav) { - flip_ongoing_traversal(h); - } - return accu; - } - catch (exn){ - if (old_trav) { - throw exn; - } - flip_ongoing_traversal(h); - throw exn; - } -} - -function bucket_length(_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (typeof param !== "object") { - return accu; - } - var next = param.next; - _param = next; - _accu = accu + 1 | 0; - continue ; - }; -} - -function stats(h) { - var mbl = $$Array.fold_left((function (m, b) { - return Caml.int_max(m, bucket_length(0, b)); - }), 0, h.data); - var histo = Caml_array.make(mbl + 1 | 0, 0); - $$Array.iter((function (b) { - var l = bucket_length(0, b); - Caml_array.set(histo, l, Caml_array.get(histo, l) + 1 | 0); - }), h.data); - return { - num_bindings: h.size, - num_buckets: h.data.length, - max_bucket_length: mbl, - bucket_histogram: histo - }; -} - -function MakeSeeded(H) { - var key_index = function (h, key) { - return Curry._2(H.hash, h.seed, key) & (h.data.length - 1 | 0); - }; - var add = function (h, key, data) { - var i = key_index(h, key); - var bucket = { - TAG: "Cons", - key: key, - data: data, - next: Caml_array.get(h.data, i) - }; - Caml_array.set(h.data, i, bucket); - h.size = h.size + 1 | 0; - if (h.size > (h.data.length << 1)) { - return resize(key_index, h); - } - - }; - var remove = function (h, key) { - var i = key_index(h, key); - var _prec = "Empty"; - var _param = Caml_array.get(h.data, i); - while(true) { - var param = _param; - var prec = _prec; - if (typeof param !== "object") { - return ; - } - var k = param.key; - var next = param.next; - if (Curry._2(H.equal, k, key)) { - h.size = h.size - 1 | 0; - if (typeof prec !== "object") { - return Caml_array.set(h.data, i, next); - } else { - prec.next = next; - return ; - } - } - _param = next; - _prec = param; - continue ; - }; - }; - var find = function (h, key) { - var match = Caml_array.get(h.data, key_index(h, key)); - if (typeof match !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k1 = match.key; - var d1 = match.data; - var next1 = match.next; - if (Curry._2(H.equal, key, k1)) { - return d1; - } - if (typeof next1 !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k2 = next1.key; - var d2 = next1.data; - var next2 = next1.next; - if (Curry._2(H.equal, key, k2)) { - return d2; - } - if (typeof next2 !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k3 = next2.key; - var d3 = next2.data; - var next3 = next2.next; - if (Curry._2(H.equal, key, k3)) { - return d3; - } else { - var _param = next3; - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k = param.key; - var data = param.data; - var next = param.next; - if (Curry._2(H.equal, key, k)) { - return data; - } - _param = next; - continue ; - }; - } - }; - var find_opt = function (h, key) { - var match = Caml_array.get(h.data, key_index(h, key)); - if (typeof match !== "object") { - return ; - } - var k1 = match.key; - var d1 = match.data; - var next1 = match.next; - if (Curry._2(H.equal, key, k1)) { - return Caml_option.some(d1); - } - if (typeof next1 !== "object") { - return ; - } - var k2 = next1.key; - var d2 = next1.data; - var next2 = next1.next; - if (Curry._2(H.equal, key, k2)) { - return Caml_option.some(d2); - } - if (typeof next2 !== "object") { - return ; - } - var k3 = next2.key; - var d3 = next2.data; - var next3 = next2.next; - if (Curry._2(H.equal, key, k3)) { - return Caml_option.some(d3); - } else { - var _param = next3; - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var k = param.key; - var data = param.data; - var next = param.next; - if (Curry._2(H.equal, key, k)) { - return Caml_option.some(data); - } - _param = next; - continue ; - }; - } - }; - var find_all = function (h, key) { - var find_in_bucket = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return /* [] */0; - } - var k = param.key; - var d = param.data; - var next = param.next; - if (Curry._2(H.equal, k, key)) { - return { - hd: d, - tl: find_in_bucket(next) - }; - } - _param = next; - continue ; - }; - }; - return find_in_bucket(Caml_array.get(h.data, key_index(h, key))); - }; - var replace_bucket = function (key, data, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - var k = param.key; - var next = param.next; - if (Curry._2(H.equal, k, key)) { - param.key = key; - param.data = data; - return false; - } - _param = next; - continue ; - }; - }; - var replace = function (h, key, data) { - var i = key_index(h, key); - var l = Caml_array.get(h.data, i); - if (replace_bucket(key, data, l)) { - Caml_array.set(h.data, i, { - TAG: "Cons", - key: key, - data: data, - next: l - }); - h.size = h.size + 1 | 0; - if (h.size > (h.data.length << 1)) { - return resize(key_index, h); - } else { - return ; - } - } - - }; - var mem = function (h, key) { - var _param = Caml_array.get(h.data, key_index(h, key)); - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var k = param.key; - var next = param.next; - if (Curry._2(H.equal, k, key)) { - return true; - } - _param = next; - continue ; - }; - }; - return { - create: create, - clear: clear, - reset: reset, - copy: copy, - add: add, - remove: remove, - find: find, - find_opt: find_opt, - find_all: find_all, - replace: replace, - mem: mem, - iter: iter, - filter_map_inplace: filter_map_inplace, - fold: fold, - length: length, - stats: stats - }; -} - -function Make(H) { - var equal = H.equal; - var key_index = function (h, key) { - return Curry._1(H.hash, key) & (h.data.length - 1 | 0); - }; - var add = function (h, key, data) { - var i = key_index(h, key); - var bucket = { - TAG: "Cons", - key: key, - data: data, - next: Caml_array.get(h.data, i) - }; - Caml_array.set(h.data, i, bucket); - h.size = h.size + 1 | 0; - if (h.size > (h.data.length << 1)) { - return resize(key_index, h); - } - - }; - var remove = function (h, key) { - var i = key_index(h, key); - var _prec = "Empty"; - var _param = Caml_array.get(h.data, i); - while(true) { - var param = _param; - var prec = _prec; - if (typeof param !== "object") { - return ; - } - var k = param.key; - var next = param.next; - if (Curry._2(equal, k, key)) { - h.size = h.size - 1 | 0; - if (typeof prec !== "object") { - return Caml_array.set(h.data, i, next); - } else { - prec.next = next; - return ; - } - } - _param = next; - _prec = param; - continue ; - }; - }; - var find = function (h, key) { - var match = Caml_array.get(h.data, key_index(h, key)); - if (typeof match !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k1 = match.key; - var d1 = match.data; - var next1 = match.next; - if (Curry._2(equal, key, k1)) { - return d1; - } - if (typeof next1 !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k2 = next1.key; - var d2 = next1.data; - var next2 = next1.next; - if (Curry._2(equal, key, k2)) { - return d2; - } - if (typeof next2 !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k3 = next2.key; - var d3 = next2.data; - var next3 = next2.next; - if (Curry._2(equal, key, k3)) { - return d3; - } else { - var _param = next3; - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k = param.key; - var data = param.data; - var next = param.next; - if (Curry._2(equal, key, k)) { - return data; - } - _param = next; - continue ; - }; - } - }; - var find_opt = function (h, key) { - var match = Caml_array.get(h.data, key_index(h, key)); - if (typeof match !== "object") { - return ; - } - var k1 = match.key; - var d1 = match.data; - var next1 = match.next; - if (Curry._2(equal, key, k1)) { - return Caml_option.some(d1); - } - if (typeof next1 !== "object") { - return ; - } - var k2 = next1.key; - var d2 = next1.data; - var next2 = next1.next; - if (Curry._2(equal, key, k2)) { - return Caml_option.some(d2); - } - if (typeof next2 !== "object") { - return ; - } - var k3 = next2.key; - var d3 = next2.data; - var next3 = next2.next; - if (Curry._2(equal, key, k3)) { - return Caml_option.some(d3); - } else { - var _param = next3; - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var k = param.key; - var data = param.data; - var next = param.next; - if (Curry._2(equal, key, k)) { - return Caml_option.some(data); - } - _param = next; - continue ; - }; - } - }; - var find_all = function (h, key) { - var find_in_bucket = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return /* [] */0; - } - var k = param.key; - var d = param.data; - var next = param.next; - if (Curry._2(equal, k, key)) { - return { - hd: d, - tl: find_in_bucket(next) - }; - } - _param = next; - continue ; - }; - }; - return find_in_bucket(Caml_array.get(h.data, key_index(h, key))); - }; - var replace_bucket = function (key, data, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - var k = param.key; - var next = param.next; - if (Curry._2(equal, k, key)) { - param.key = key; - param.data = data; - return false; - } - _param = next; - continue ; - }; - }; - var replace = function (h, key, data) { - var i = key_index(h, key); - var l = Caml_array.get(h.data, i); - if (replace_bucket(key, data, l)) { - Caml_array.set(h.data, i, { - TAG: "Cons", - key: key, - data: data, - next: l - }); - h.size = h.size + 1 | 0; - if (h.size > (h.data.length << 1)) { - return resize(key_index, h); - } else { - return ; - } - } - - }; - var mem = function (h, key) { - var _param = Caml_array.get(h.data, key_index(h, key)); - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var k = param.key; - var next = param.next; - if (Curry._2(equal, k, key)) { - return true; - } - _param = next; - continue ; - }; - }; - var create$1 = function (sz) { - return create(false, sz); - }; - return { - create: create$1, - clear: clear, - reset: reset, - copy: copy, - add: add, - remove: remove, - find: find, - find_opt: find_opt, - find_all: find_all, - replace: replace, - mem: mem, - iter: iter, - filter_map_inplace: filter_map_inplace, - fold: fold, - length: length, - stats: stats - }; -} - -var seeded_hash_param = Caml_hash.hash; - -export { - create , - clear , - reset , - copy , - add , - find , - find_opt , - find_all , - mem , - remove , - replace , - iter , - filter_map_inplace , - fold , - length , - randomize , - is_randomized , - stats , - Make , - MakeSeeded , - hash , - seeded_hash , - hash_param , - seeded_hash_param , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/hashtblLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/hashtblLabels.js deleted file mode 100644 index 89a91cb..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/hashtblLabels.js +++ /dev/null @@ -1,170 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Hashtbl from "./hashtbl.js"; - -var add = Hashtbl.add; - -var replace = Hashtbl.replace; - -function iter(f, tbl) { - Hashtbl.iter(Curry.__2(f), tbl); -} - -function filter_map_inplace(f, tbl) { - Hashtbl.filter_map_inplace(Curry.__2(f), tbl); -} - -function fold(f, tbl, init) { - return Hashtbl.fold(Curry.__3(f), tbl, init); -} - -function MakeSeeded(H) { - var include = Hashtbl.MakeSeeded(H); - var add = include.add; - var replace = include.replace; - var iter = include.iter; - var filter_map_inplace = include.filter_map_inplace; - var fold = include.fold; - var add$1 = Curry.__3(add); - var replace$1 = Curry.__3(replace); - var iter$1 = function (f, tbl) { - Curry._2(iter, Curry.__2(f), tbl); - }; - var filter_map_inplace$1 = function (f, tbl) { - Curry._2(filter_map_inplace, Curry.__2(f), tbl); - }; - var fold$1 = function (f, tbl, init) { - return Curry._3(fold, Curry.__3(f), tbl, init); - }; - return { - create: include.create, - clear: include.clear, - reset: include.reset, - copy: include.copy, - add: add$1, - remove: include.remove, - find: include.find, - find_opt: include.find_opt, - find_all: include.find_all, - replace: replace$1, - mem: include.mem, - iter: iter$1, - filter_map_inplace: filter_map_inplace$1, - fold: fold$1, - length: include.length, - stats: include.stats - }; -} - -function Make(H) { - var hash = function (_seed, x) { - return Curry._1(H.hash, x); - }; - var H_equal = H.equal; - var H$1 = { - equal: H_equal, - hash: hash - }; - var include = Hashtbl.MakeSeeded(H$1); - var create = include.create; - var add = include.add; - var replace = include.replace; - var iter = include.iter; - var filter_map_inplace = include.filter_map_inplace; - var fold = include.fold; - var add$1 = Curry.__3(add); - var replace$1 = Curry.__3(replace); - var iter$1 = function (f, tbl) { - Curry._2(iter, Curry.__2(f), tbl); - }; - var filter_map_inplace$1 = function (f, tbl) { - Curry._2(filter_map_inplace, Curry.__2(f), tbl); - }; - var fold$1 = function (f, tbl, init) { - return Curry._3(fold, Curry.__3(f), tbl, init); - }; - var create$1 = function (sz) { - return Curry._2(create, false, sz); - }; - return { - create: create$1, - clear: include.clear, - reset: include.reset, - copy: include.copy, - add: add$1, - remove: include.remove, - find: include.find, - find_opt: include.find_opt, - find_all: include.find_all, - replace: replace$1, - mem: include.mem, - iter: iter$1, - filter_map_inplace: filter_map_inplace$1, - fold: fold$1, - length: include.length, - stats: include.stats - }; -} - -var create = Hashtbl.create; - -var clear = Hashtbl.clear; - -var reset = Hashtbl.reset; - -var copy = Hashtbl.copy; - -var find = Hashtbl.find; - -var find_opt = Hashtbl.find_opt; - -var find_all = Hashtbl.find_all; - -var mem = Hashtbl.mem; - -var remove = Hashtbl.remove; - -var length = Hashtbl.length; - -var randomize = Hashtbl.randomize; - -var is_randomized = Hashtbl.is_randomized; - -var stats = Hashtbl.stats; - -var hash = Hashtbl.hash; - -var seeded_hash = Hashtbl.seeded_hash; - -var hash_param = Hashtbl.hash_param; - -var seeded_hash_param = Hashtbl.seeded_hash_param; - -export { - create , - clear , - reset , - copy , - find , - find_opt , - find_all , - mem , - remove , - length , - randomize , - is_randomized , - stats , - hash , - seeded_hash , - hash_param , - seeded_hash_param , - add , - replace , - iter , - filter_map_inplace , - fold , - MakeSeeded , - Make , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/int32.js b/bots/sustainabot/bot-integration/rescript-runtime/int32.js deleted file mode 100644 index fb5e78c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/int32.js +++ /dev/null @@ -1,75 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Caml_format from "./caml_format.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -function succ(n) { - return n + 1 | 0; -} - -function pred(n) { - return n - 1 | 0; -} - -function abs(n) { - if (n >= 0) { - return n; - } else { - return -n | 0; - } -} - -function lognot(n) { - return n ^ -1; -} - -function to_string(n) { - return Caml_format.format_int("%d", n); -} - -function of_string_opt(s) { - try { - return Caml_format.int_of_string(s); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Failure") { - return ; - } - throw exn; - } -} - -var compare = Caml.int_compare; - -function equal(x, y) { - return x === y; -} - -var zero = 0; - -var one = 1; - -var minus_one = -1; - -var max_int = 2147483647; - -var min_int = -2147483648; - -export { - zero , - one , - minus_one , - succ , - pred , - abs , - max_int , - min_int , - lognot , - of_string_opt , - to_string , - compare , - equal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/int64.js b/bots/sustainabot/bot-integration/rescript-runtime/int64.js deleted file mode 100644 index 6dfc36c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/int64.js +++ /dev/null @@ -1,70 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Caml_int64 from "./caml_int64.js"; -import * as Caml_format from "./caml_format.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -function pred(n) { - return Caml_int64.sub(n, Caml_int64.one); -} - -function abs(n) { - if (Caml.i64_ge(n, Caml_int64.zero)) { - return n; - } else { - return Caml_int64.neg(n); - } -} - -function lognot(n) { - return Caml_int64.xor(n, Caml_int64.neg_one); -} - -function of_string_opt(s) { - try { - return Caml_format.int64_of_string(s); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Failure") { - return ; - } - throw exn; - } -} - -var compare = Caml_int64.compare; - -var equal = Caml_int64.equal; - -var zero = Caml_int64.zero; - -var one = Caml_int64.one; - -var minus_one = Caml_int64.neg_one; - -var succ = Caml_int64.succ; - -var max_int = Caml_int64.max_int; - -var min_int = Caml_int64.min_int; - -var to_string = Caml_int64.to_string; - -export { - zero , - one , - minus_one , - succ , - pred , - abs , - max_int , - min_int , - lognot , - of_string_opt , - to_string , - compare , - equal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js.js b/bots/sustainabot/bot-integration/rescript-runtime/js.js deleted file mode 100644 index 0851782..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js.js +++ /dev/null @@ -1,117 +0,0 @@ - - - -var Internal = {}; - -var MapperRt; - -var Null; - -var Undefined; - -var Nullable; - -var Null_undefined; - -var Exn; - -var $$Array; - -var Array2; - -var $$String; - -var String2; - -var Re; - -var $$Promise; - -var Promise2; - -var $$Date; - -var Dict; - -var Global; - -var Json; - -var $$Math; - -var Obj; - -var Typed_array; - -var TypedArray2; - -var Types; - -var Float; - -var Int; - -var $$BigInt; - -var $$File; - -var $$Blob; - -var $$Option; - -var Result; - -var List; - -var Vector; - -var Console; - -var $$Set; - -var $$WeakSet; - -var $$Map; - -var $$WeakMap; - -export { - MapperRt , - Internal , - Null , - Undefined , - Nullable , - Null_undefined , - Exn , - $$Array , - Array2 , - $$String , - String2 , - Re , - $$Promise , - Promise2 , - $$Date , - Dict , - Global , - Json , - $$Math , - Obj , - Typed_array , - TypedArray2 , - Types , - Float , - Int , - $$BigInt , - $$File , - $$Blob , - $$Option , - Result , - List , - Vector , - Console , - $$Set , - $$WeakSet , - $$Map , - $$WeakMap , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_OO.js b/bots/sustainabot/bot-integration/rescript-runtime/js_OO.js deleted file mode 100644 index 2233497..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_OO.js +++ /dev/null @@ -1,9 +0,0 @@ - - - -var Callback = {}; - -export { - Callback , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_array.js b/bots/sustainabot/bot-integration/rescript-runtime/js_array.js deleted file mode 100644 index 2f0d54c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_array.js +++ /dev/null @@ -1,223 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Caml_splice_call from "./caml_splice_call.js"; - -function copyWithin(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function push(arg1, obj) { - return obj.push(arg1); -} - -function pushMany(arg1, obj) { - return Caml_splice_call.spliceObjApply(obj, "push", [arg1]); -} - -function sortInPlaceWith(arg1, obj) { - return obj.sort(Curry.__2(arg1)); -} - -function spliceInPlace(pos, remove, add, obj) { - return Caml_splice_call.spliceObjApply(obj, "splice", [ - pos, - remove, - add - ]); -} - -function removeFromInPlace(pos, obj) { - return obj.splice(pos); -} - -function removeCountInPlace(pos, count, obj) { - return obj.splice(pos, count); -} - -function unshift(arg1, obj) { - return obj.unshift(arg1); -} - -function unshiftMany(arg1, obj) { - return Caml_splice_call.spliceObjApply(obj, "unshift", [arg1]); -} - -function concat(arg1, obj) { - return obj.concat(arg1); -} - -function concatMany(arg1, obj) { - return Caml_splice_call.spliceObjApply(obj, "concat", [arg1]); -} - -function includes(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom(arg1, obj) { - return obj.slice(arg1); -} - -function every(arg1, obj) { - return obj.every(Curry.__1(arg1)); -} - -function everyi(arg1, obj) { - return obj.every(Curry.__2(arg1)); -} - -function filter(arg1, obj) { - return obj.filter(Curry.__1(arg1)); -} - -function filteri(arg1, obj) { - return obj.filter(Curry.__2(arg1)); -} - -function find(arg1, obj) { - return Caml_option.undefined_to_opt(obj.find(Curry.__1(arg1))); -} - -function findi(arg1, obj) { - return Caml_option.undefined_to_opt(obj.find(Curry.__2(arg1))); -} - -function findIndex(arg1, obj) { - return obj.findIndex(Curry.__1(arg1)); -} - -function findIndexi(arg1, obj) { - return obj.findIndex(Curry.__2(arg1)); -} - -function forEach(arg1, obj) { - obj.forEach(Curry.__1(arg1)); -} - -function forEachi(arg1, obj) { - obj.forEach(Curry.__2(arg1)); -} - -function map(arg1, obj) { - return obj.map(Curry.__1(arg1)); -} - -function mapi(arg1, obj) { - return obj.map(Curry.__2(arg1)); -} - -function reduce(arg1, arg2, obj) { - return obj.reduce(Curry.__2(arg1), arg2); -} - -function reducei(arg1, arg2, obj) { - return obj.reduce(Curry.__3(arg1), arg2); -} - -function reduceRight(arg1, arg2, obj) { - return obj.reduceRight(Curry.__2(arg1), arg2); -} - -function reduceRighti(arg1, arg2, obj) { - return obj.reduceRight(Curry.__3(arg1), arg2); -} - -function some(arg1, obj) { - return obj.some(Curry.__1(arg1)); -} - -function somei(arg1, obj) { - return obj.some(Curry.__2(arg1)); -} - -export { - copyWithin , - copyWithinFrom , - copyWithinFromRange , - fillInPlace , - fillFromInPlace , - fillRangeInPlace , - push , - pushMany , - sortInPlaceWith , - spliceInPlace , - removeFromInPlace , - removeCountInPlace , - unshift , - unshiftMany , - concat , - concatMany , - includes , - indexOf , - indexOfFrom , - joinWith , - lastIndexOf , - lastIndexOfFrom , - slice , - sliceFrom , - every , - everyi , - filter , - filteri , - find , - findi , - findIndex , - findIndexi , - forEach , - forEachi , - map , - mapi , - reduce , - reducei , - reduceRight , - reduceRighti , - some , - somei , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_array2.js b/bots/sustainabot/bot-integration/rescript-runtime/js_array2.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_array2.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_bigint.js b/bots/sustainabot/bot-integration/rescript-runtime/js_bigint.js deleted file mode 100644 index 7255018..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_bigint.js +++ /dev/null @@ -1,11 +0,0 @@ - - - -function lnot(x) { - return x ^ -1n; -} - -export { - lnot , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_blob.js b/bots/sustainabot/bot-integration/rescript-runtime/js_blob.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_blob.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_cast.js b/bots/sustainabot/bot-integration/rescript-runtime/js_cast.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_cast.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_console.js b/bots/sustainabot/bot-integration/rescript-runtime/js_console.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_console.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_date.js b/bots/sustainabot/bot-integration/rescript-runtime/js_date.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_date.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_dict.js b/bots/sustainabot/bot-integration/rescript-runtime/js_dict.js deleted file mode 100644 index 2be9823..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_dict.js +++ /dev/null @@ -1,85 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; - -function get(dict, k) { - if ((k in dict)) { - return Caml_option.some(dict[k]); - } - -} - -var unsafeDeleteKey = (function (dict,key){ - delete dict[key]; - }); - -function entries(dict) { - var keys = Object.keys(dict); - var l = keys.length; - var values = new Array(l); - for(var i = 0; i < l; ++i){ - var key = keys[i]; - values[i] = [ - key, - dict[key] - ]; - } - return values; -} - -function values(dict) { - var keys = Object.keys(dict); - var l = keys.length; - var values$1 = new Array(l); - for(var i = 0; i < l; ++i){ - values$1[i] = dict[keys[i]]; - } - return values$1; -} - -function fromList(entries) { - var dict = {}; - var _x = entries; - while(true) { - var x = _x; - if (!x) { - return dict; - } - var match = x.hd; - dict[match[0]] = match[1]; - _x = x.tl; - continue ; - }; -} - -function fromArray(entries) { - var dict = {}; - var l = entries.length; - for(var i = 0; i < l; ++i){ - var match = entries[i]; - dict[match[0]] = match[1]; - } - return dict; -} - -function map(f, source) { - var target = {}; - var keys = Object.keys(source); - var l = keys.length; - for(var i = 0; i < l; ++i){ - var key = keys[i]; - target[key] = f(source[key]); - } - return target; -} - -export { - get , - unsafeDeleteKey , - entries , - values , - fromList , - fromArray , - map , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_exn.js b/bots/sustainabot/bot-integration/rescript-runtime/js_exn.js deleted file mode 100644 index 8894fa6..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_exn.js +++ /dev/null @@ -1,44 +0,0 @@ - - - -function raiseError(str) { - throw new Error(str); -} - -function raiseEvalError(str) { - throw new EvalError(str); -} - -function raiseRangeError(str) { - throw new RangeError(str); -} - -function raiseReferenceError(str) { - throw new ReferenceError(str); -} - -function raiseSyntaxError(str) { - throw new SyntaxError(str); -} - -function raiseTypeError(str) { - throw new TypeError(str); -} - -function raiseUriError(str) { - throw new URIError(str); -} - -var $$Error$1 = "JsError"; - -export { - $$Error$1 as $$Error, - raiseError , - raiseEvalError , - raiseRangeError , - raiseReferenceError , - raiseSyntaxError , - raiseTypeError , - raiseUriError , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_file.js b/bots/sustainabot/bot-integration/rescript-runtime/js_file.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_file.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_float.js b/bots/sustainabot/bot-integration/rescript-runtime/js_float.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_float.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_global.js b/bots/sustainabot/bot-integration/rescript-runtime/js_global.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_global.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_int.js b/bots/sustainabot/bot-integration/rescript-runtime/js_int.js deleted file mode 100644 index 78b6290..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_int.js +++ /dev/null @@ -1,17 +0,0 @@ - - - -function equal(x, y) { - return x === y; -} - -var max = 2147483647; - -var min = -2147483648; - -export { - equal , - max , - min , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_json.js b/bots/sustainabot/bot-integration/rescript-runtime/js_json.js deleted file mode 100644 index 61c6fbc..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_json.js +++ /dev/null @@ -1,174 +0,0 @@ - - - -var Kind = {}; - -function classify(x) { - var ty = typeof x; - if (ty === "string") { - return { - TAG: "JSONString", - _0: x - }; - } else if (ty === "number") { - return { - TAG: "JSONNumber", - _0: x - }; - } else if (ty === "boolean") { - if (x === true) { - return "JSONTrue"; - } else { - return "JSONFalse"; - } - } else if (x === null) { - return "JSONNull"; - } else if (Array.isArray(x)) { - return { - TAG: "JSONArray", - _0: x - }; - } else { - return { - TAG: "JSONObject", - _0: x - }; - } -} - -function test(x, v) { - switch (v) { - case "String" : - return typeof x === "string"; - case "Number" : - return typeof x === "number"; - case "Object" : - if (x !== null && typeof x === "object") { - return !Array.isArray(x); - } else { - return false; - } - case "Array" : - return Array.isArray(x); - case "Boolean" : - return typeof x === "boolean"; - case "Null" : - return x === null; - - } -} - -function decodeString(json) { - if (typeof json === "string") { - return json; - } - -} - -function decodeNumber(json) { - if (typeof json === "number") { - return json; - } - -} - -function decodeObject(json) { - if (typeof json === "object" && !Array.isArray(json) && json !== null) { - return json; - } - -} - -function decodeArray(json) { - if (Array.isArray(json)) { - return json; - } - -} - -function decodeBoolean(json) { - if (typeof json === "boolean") { - return json; - } - -} - -function decodeNull(json) { - if (json === null) { - return null; - } - -} - -var patch = (function (json) { - var x = [json]; - var q = [{ kind: 0, i: 0, parent: x }]; - while (q.length !== 0) { - // begin pop the stack - var cur = q[q.length - 1]; - if (cur.kind === 0) { - cur.val = cur.parent[cur.i]; // patch the undefined value for array - if (++cur.i === cur.parent.length) { - q.pop(); - } - } else { - q.pop(); - } - // finish - var task = cur.val; - if (typeof task === "object") { - if (Array.isArray(task) && task.length !== 0) { - q.push({ kind: 0, i: 0, parent: task, val: undefined }); - } else { - for (var k in task) { - if (k === "RE_PRIVATE_NONE") { - if (cur.kind === 0) { - cur.parent[cur.i - 1] = undefined; - } else { - cur.parent[cur.i] = undefined; - } - continue; - } - q.push({ kind: 1, i: k, parent: task, val: task[k] }); - } - } - } - } - return x[0]; -}); - -function serializeExn(x) { - return (function(obj){ - var output= JSON.stringify(obj,function(_,value){ - if(value===undefined){ - return {RE_PRIVATE_NONE : true} - } - return value - }); - - if(output === undefined){ - // JSON.stringify will raise TypeError when it detects cylic objects - throw new TypeError("output is undefined") - } - return output - })(x); -} - -function deserializeUnsafe(s) { - return patch(JSON.parse(s)); -} - -export { - Kind , - classify , - test , - decodeString , - decodeNumber , - decodeObject , - decodeArray , - decodeBoolean , - decodeNull , - deserializeUnsafe , - serializeExn , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_list.js b/bots/sustainabot/bot-integration/rescript-runtime/js_list.js deleted file mode 100644 index 36e5387..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_list.js +++ /dev/null @@ -1,333 +0,0 @@ - - -import * as Js_vector from "./js_vector.js"; -import * as Caml_option from "./caml_option.js"; - -function length(l) { - var _len = 0; - var _x = l; - while(true) { - var x = _x; - var len = _len; - if (!x) { - return len; - } - _x = x.tl; - _len = len + 1 | 0; - continue ; - }; -} - -function cons(x, xs) { - return { - hd: x, - tl: xs - }; -} - -function isEmpty(x) { - return x === /* [] */0; -} - -function hd(x) { - if (x) { - return Caml_option.some(x.hd); - } - -} - -function tl(x) { - if (x) { - return x.tl; - } - -} - -function nth(l, n) { - if (n < 0) { - return ; - } - var _l = l; - var _n = n; - while(true) { - var n$1 = _n; - var l$1 = _l; - if (!l$1) { - return ; - } - if (n$1 === 0) { - return Caml_option.some(l$1.hd); - } - _n = n$1 - 1 | 0; - _l = l$1.tl; - continue ; - }; -} - -function revAppend(_l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - return l2; - } - _l2 = { - hd: l1.hd, - tl: l2 - }; - _l1 = l1.tl; - continue ; - }; -} - -function rev(l) { - return revAppend(l, /* [] */0); -} - -function mapRevAux(f, _acc, _ls) { - while(true) { - var ls = _ls; - var acc = _acc; - if (!ls) { - return acc; - } - _ls = ls.tl; - _acc = { - hd: f(ls.hd), - tl: acc - }; - continue ; - }; -} - -function mapRev(f, ls) { - return mapRevAux(f, /* [] */0, ls); -} - -function map(f, ls) { - return revAppend(mapRevAux(f, /* [] */0, ls), /* [] */0); -} - -function iter(f, _x) { - while(true) { - var x = _x; - if (!x) { - return ; - } - f(x.hd); - _x = x.tl; - continue ; - }; -} - -function iteri(f, l) { - var _i = 0; - var _x = l; - while(true) { - var x = _x; - var i = _i; - if (!x) { - return ; - } - f(i, x.hd); - _x = x.tl; - _i = i + 1 | 0; - continue ; - }; -} - -function foldLeft(f, _accu, _l) { - while(true) { - var l = _l; - var accu = _accu; - if (!l) { - return accu; - } - _l = l.tl; - _accu = f(accu, l.hd); - continue ; - }; -} - -function tailLoop(f, _acc, _x) { - while(true) { - var x = _x; - var acc = _acc; - if (!x) { - return acc; - } - _x = x.tl; - _acc = f(x.hd, acc); - continue ; - }; -} - -function foldRight(f, l, init) { - var loop = function (n, x) { - if (!x) { - return init; - } - var t = x.tl; - var h = x.hd; - if (n < 1000) { - return f(h, loop(n + 1 | 0, t)); - } else { - return f(h, tailLoop(f, init, revAppend(t, /* [] */0))); - } - }; - return loop(0, l); -} - -function flatten(lx) { - var _acc = /* [] */0; - var _lx = lx; - while(true) { - var lx$1 = _lx; - var acc = _acc; - if (!lx$1) { - return revAppend(acc, /* [] */0); - } - _lx = lx$1.tl; - _acc = revAppend(lx$1.hd, acc); - continue ; - }; -} - -function filterRevAux(f, _acc, _xs) { - while(true) { - var xs = _xs; - var acc = _acc; - if (!xs) { - return acc; - } - var ys = xs.tl; - var y = xs.hd; - if (f(y)) { - _xs = ys; - _acc = { - hd: y, - tl: acc - }; - continue ; - } - _xs = ys; - continue ; - }; -} - -function filter(f, xs) { - return revAppend(filterRevAux(f, /* [] */0, xs), /* [] */0); -} - -function filterMapRevAux(f, _acc, _xs) { - while(true) { - var xs = _xs; - var acc = _acc; - if (!xs) { - return acc; - } - var ys = xs.tl; - var z = f(xs.hd); - if (z !== undefined) { - _xs = ys; - _acc = { - hd: Caml_option.valFromOption(z), - tl: acc - }; - continue ; - } - _xs = ys; - continue ; - }; -} - -function filterMap(f, xs) { - return revAppend(filterMapRevAux(f, /* [] */0, xs), /* [] */0); -} - -function countBy(f, xs) { - var _acc = 0; - var _xs = xs; - while(true) { - var xs$1 = _xs; - var acc = _acc; - if (!xs$1) { - return acc; - } - _xs = xs$1.tl; - _acc = f(xs$1.hd) ? acc + 1 | 0 : acc; - continue ; - }; -} - -function init(n, f) { - return Js_vector.toList(Js_vector.init(n, f)); -} - -function toVector(xs) { - if (!xs) { - return []; - } - var a = new Array(length(xs)); - var _i = 0; - var _x = xs; - while(true) { - var x = _x; - var i = _i; - if (!x) { - return a; - } - a[i] = x.hd; - _x = x.tl; - _i = i + 1 | 0; - continue ; - }; -} - -function equal(cmp, _xs, _ys) { - while(true) { - var ys = _ys; - var xs = _xs; - if (!xs) { - if (ys) { - return false; - } else { - return true; - } - } - if (!ys) { - return false; - } - if (!cmp(xs.hd, ys.hd)) { - return false; - } - _ys = ys.tl; - _xs = xs.tl; - continue ; - }; -} - -export { - length , - cons , - isEmpty , - hd , - tl , - nth , - revAppend , - rev , - mapRev , - map , - iter , - iteri , - foldLeft , - foldRight , - flatten , - filter , - filterMap , - countBy , - init , - toVector , - equal , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_map.js b/bots/sustainabot/bot-integration/rescript-runtime/js_map.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_map.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_mapperRt.js b/bots/sustainabot/bot-integration/rescript-runtime/js_mapperRt.js deleted file mode 100644 index 3e451d5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_mapperRt.js +++ /dev/null @@ -1,54 +0,0 @@ - - - -function raiseWhenNotFound(x) { - if (x == null) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - return x; -} - -function fromInt(len, xs, $$enum) { - var _i = 0; - while(true) { - var i = _i; - if (i === len) { - return ; - } - var k = xs[i]; - if (k === $$enum) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function fromIntAssert(len, xs, $$enum) { - var _i = 0; - while(true) { - var i = _i; - if (i === len) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var k = xs[i]; - if (k === $$enum) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -export { - raiseWhenNotFound , - fromInt , - fromIntAssert , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_math.js b/bots/sustainabot/bot-integration/rescript-runtime/js_math.js deleted file mode 100644 index 6a108fc..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_math.js +++ /dev/null @@ -1,50 +0,0 @@ - - -import * as Js_int from "./js_int.js"; - -function unsafe_ceil(prim) { - return Math.ceil(prim); -} - -function ceil_int(f) { - if (f > Js_int.max) { - return Js_int.max; - } else if (f < Js_int.min) { - return Js_int.min; - } else { - return Math.ceil(f); - } -} - -function unsafe_floor(prim) { - return Math.floor(prim); -} - -function floor_int(f) { - if (f > Js_int.max) { - return Js_int.max; - } else if (f < Js_int.min) { - return Js_int.min; - } else { - return Math.floor(f); - } -} - -function random_int(min, max) { - return floor_int(Math.random() * (max - min | 0)) + min | 0; -} - -var ceil = ceil_int; - -var floor = floor_int; - -export { - unsafe_ceil , - ceil_int , - ceil , - unsafe_floor , - floor_int , - floor , - random_int , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_null.js b/bots/sustainabot/bot-integration/rescript-runtime/js_null.js deleted file mode 100644 index cebc484..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_null.js +++ /dev/null @@ -1,49 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; - -function test(x) { - return x === null; -} - -function getExn(f) { - if (f !== null) { - return f; - } - throw new Error("Js.Null.getExn"); -} - -function bind(x, f) { - if (x !== null) { - return f(x); - } else { - return null; - } -} - -function iter(x, f) { - if (x !== null) { - return f(x); - } - -} - -function fromOption(x) { - if (x !== undefined) { - return Caml_option.valFromOption(x); - } else { - return null; - } -} - -var from_opt = fromOption; - -export { - test , - getExn , - bind , - iter , - fromOption , - from_opt , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_null_undefined.js b/bots/sustainabot/bot-integration/rescript-runtime/js_null_undefined.js deleted file mode 100644 index e529600..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_null_undefined.js +++ /dev/null @@ -1,35 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; - -function bind(x, f) { - if (x == null) { - return x; - } else { - return f(x); - } -} - -function iter(x, f) { - if (!(x == null)) { - return f(x); - } - -} - -function fromOption(x) { - if (x !== undefined) { - return Caml_option.valFromOption(x); - } - -} - -var from_opt = fromOption; - -export { - bind , - iter , - fromOption , - from_opt , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_obj.js b/bots/sustainabot/bot-integration/rescript-runtime/js_obj.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_obj.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_option.js b/bots/sustainabot/bot-integration/rescript-runtime/js_option.js deleted file mode 100644 index b9e70f2..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_option.js +++ /dev/null @@ -1,103 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; - -function some(x) { - return Caml_option.some(x); -} - -function isSome(x) { - return x !== undefined; -} - -function isSomeValue(eq, v, x) { - if (x !== undefined) { - return eq(v, Caml_option.valFromOption(x)); - } else { - return false; - } -} - -function isNone(x) { - return x === undefined; -} - -function getExn(x) { - if (x !== undefined) { - return Caml_option.valFromOption(x); - } - throw new Error("getExn"); -} - -function equal(eq, a, b) { - if (a !== undefined) { - if (b !== undefined) { - return eq(Caml_option.valFromOption(a), Caml_option.valFromOption(b)); - } else { - return false; - } - } else { - return b === undefined; - } -} - -function andThen(f, x) { - if (x !== undefined) { - return f(Caml_option.valFromOption(x)); - } - -} - -function map(f, x) { - if (x !== undefined) { - return Caml_option.some(f(Caml_option.valFromOption(x))); - } - -} - -function getWithDefault(a, x) { - if (x !== undefined) { - return Caml_option.valFromOption(x); - } else { - return a; - } -} - -function filter(f, x) { - if (x === undefined) { - return ; - } - var x$1 = Caml_option.valFromOption(x); - if (f(x$1)) { - return Caml_option.some(x$1); - } - -} - -function firstSome(a, b) { - if (a !== undefined) { - return a; - } else if (b !== undefined) { - return b; - } else { - return ; - } -} - -var $$default = getWithDefault; - -export { - some , - isSome , - isSomeValue , - isNone , - getExn , - equal , - andThen , - map , - getWithDefault , - $$default as default, - filter , - firstSome , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_promise.js b/bots/sustainabot/bot-integration/rescript-runtime/js_promise.js deleted file mode 100644 index bc5a3ca..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_promise.js +++ /dev/null @@ -1,17 +0,0 @@ - - -import * as Curry from "./curry.js"; - -function then_(arg1, obj) { - return obj.then(Curry.__1(arg1)); -} - -function $$catch(arg1, obj) { - return obj.catch(Curry.__1(arg1)); -} - -export { - then_ , - $$catch , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_promise2.js b/bots/sustainabot/bot-integration/rescript-runtime/js_promise2.js deleted file mode 100644 index 0015d9d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_promise2.js +++ /dev/null @@ -1,16 +0,0 @@ - - - -var then = (function(p, cont) { - return Promise.resolve(p).then(cont) - }); - -var $$catch = (function(p, cont) { - return Promise.resolve(p).catch(cont) - }); - -export { - then , - $$catch , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_re.js b/bots/sustainabot/bot-integration/rescript-runtime/js_re.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_re.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_result.js b/bots/sustainabot/bot-integration/rescript-runtime/js_result.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_result.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_set.js b/bots/sustainabot/bot-integration/rescript-runtime/js_set.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_set.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_string.js b/bots/sustainabot/bot-integration/rescript-runtime/js_string.js deleted file mode 100644 index 07545ca..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_string.js +++ /dev/null @@ -1,199 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as Caml_splice_call from "./caml_splice_call.js"; - -function charAt(arg1, obj) { - return obj.charAt(arg1); -} - -function charCodeAt(arg1, obj) { - return obj.charCodeAt(arg1); -} - -function codePointAt(arg1, obj) { - return obj.codePointAt(arg1); -} - -function concat(arg1, obj) { - return obj.concat(arg1); -} - -function concatMany(arg1, obj) { - return Caml_splice_call.spliceObjApply(obj, "concat", [arg1]); -} - -function endsWith(arg1, obj) { - return obj.endsWith(arg1); -} - -function endsWithFrom(arg1, arg2, obj) { - return obj.endsWith(arg1, arg2); -} - -function includes(arg1, obj) { - return obj.includes(arg1); -} - -function includesFrom(arg1, arg2, obj) { - return obj.includes(arg1, arg2); -} - -function indexOf(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom(arg1, arg2, obj) { - return obj.indexOf(arg1, arg2); -} - -function lastIndexOf(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom(arg1, arg2, obj) { - return obj.lastIndexOf(arg1, arg2); -} - -function localeCompare(arg1, obj) { - return obj.localeCompare(arg1); -} - -function match_(arg1, obj) { - return Caml_option.null_to_opt(obj.match(arg1)); -} - -function normalizeByForm(arg1, obj) { - return obj.normalize(arg1); -} - -function repeat(arg1, obj) { - return obj.repeat(arg1); -} - -function replace(arg1, arg2, obj) { - return obj.replace(arg1, arg2); -} - -function replaceByRe(arg1, arg2, obj) { - return obj.replace(arg1, arg2); -} - -function unsafeReplaceBy0(arg1, arg2, obj) { - return obj.replace(arg1, Curry.__3(arg2)); -} - -function unsafeReplaceBy1(arg1, arg2, obj) { - return obj.replace(arg1, Curry.__4(arg2)); -} - -function unsafeReplaceBy2(arg1, arg2, obj) { - return obj.replace(arg1, Curry.__5(arg2)); -} - -function unsafeReplaceBy3(arg1, arg2, obj) { - return obj.replace(arg1, Curry.__6(arg2)); -} - -function search(arg1, obj) { - return obj.search(arg1); -} - -function slice(from, to_, obj) { - return obj.slice(from, to_); -} - -function sliceToEnd(from, obj) { - return obj.slice(from); -} - -function split(arg1, obj) { - return obj.split(arg1); -} - -function splitAtMost(arg1, limit, obj) { - return obj.split(arg1, limit); -} - -function splitByRe(arg1, obj) { - return obj.split(arg1); -} - -function splitByReAtMost(arg1, limit, obj) { - return obj.split(arg1, limit); -} - -function startsWith(arg1, obj) { - return obj.startsWith(arg1); -} - -function startsWithFrom(arg1, arg2, obj) { - return obj.startsWith(arg1, arg2); -} - -function substr(from, obj) { - return obj.substr(from); -} - -function substrAtMost(from, length, obj) { - return obj.substr(from, length); -} - -function substring(from, to_, obj) { - return obj.substring(from, to_); -} - -function substringToEnd(from, obj) { - return obj.substring(from); -} - -function anchor(arg1, obj) { - return obj.anchor(arg1); -} - -function link(arg1, obj) { - return obj.link(arg1); -} - -export { - charAt , - charCodeAt , - codePointAt , - concat , - concatMany , - endsWith , - endsWithFrom , - includes , - includesFrom , - indexOf , - indexOfFrom , - lastIndexOf , - lastIndexOfFrom , - localeCompare , - match_ , - normalizeByForm , - repeat , - replace , - replaceByRe , - unsafeReplaceBy0 , - unsafeReplaceBy1 , - unsafeReplaceBy2 , - unsafeReplaceBy3 , - search , - slice , - sliceToEnd , - split , - splitAtMost , - splitByRe , - splitByReAtMost , - startsWith , - startsWithFrom , - substr , - substrAtMost , - substring , - substringToEnd , - anchor , - link , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_string2.js b/bots/sustainabot/bot-integration/rescript-runtime/js_string2.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_string2.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_typed_array.js b/bots/sustainabot/bot-integration/rescript-runtime/js_typed_array.js deleted file mode 100644 index da8e263..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_typed_array.js +++ /dev/null @@ -1,1733 +0,0 @@ - - - -function slice(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom(arg1, obj) { - return obj.slice(arg1); -} - -var $$ArrayBuffer = { - slice: slice, - sliceFrom: sliceFrom -}; - -function setArray(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith(arg1, obj) { - return obj.sort(arg1); -} - -function includes(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$1(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$1(arg1, obj) { - return obj.slice(arg1); -} - -function subarray(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom(arg1, obj) { - return obj.subarray(arg1); -} - -function every(arg1, obj) { - return obj.every(arg1); -} - -function everyi(arg1, obj) { - return obj.every(arg1); -} - -function filter(arg1, obj) { - return obj.filter(arg1); -} - -function filteri(arg1, obj) { - return obj.filter(arg1); -} - -function find(arg1, obj) { - return obj.find(arg1); -} - -function findi(arg1, obj) { - return obj.find(arg1); -} - -function findIndex(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi(arg1, obj) { - obj.forEach(arg1); -} - -function map(arg1, obj) { - return obj.map(arg1); -} - -function mapi(arg1, obj) { - return obj.map(arg1); -} - -function reduce(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some(arg1, obj) { - return obj.some(arg1); -} - -function somei(arg1, obj) { - return obj.some(arg1); -} - -var $$Int8Array = { - setArray: setArray, - setArrayOffset: setArrayOffset, - copyWithin: copyWithin, - copyWithinFrom: copyWithinFrom, - copyWithinFromRange: copyWithinFromRange, - fillInPlace: fillInPlace, - fillFromInPlace: fillFromInPlace, - fillRangeInPlace: fillRangeInPlace, - sortInPlaceWith: sortInPlaceWith, - includes: includes, - indexOf: indexOf, - indexOfFrom: indexOfFrom, - joinWith: joinWith, - lastIndexOf: lastIndexOf, - lastIndexOfFrom: lastIndexOfFrom, - slice: slice$1, - sliceFrom: sliceFrom$1, - subarray: subarray, - subarrayFrom: subarrayFrom, - every: every, - everyi: everyi, - filter: filter, - filteri: filteri, - find: find, - findi: findi, - findIndex: findIndex, - findIndexi: findIndexi, - forEach: forEach, - forEachi: forEachi, - map: map, - mapi: mapi, - reduce: reduce, - reducei: reducei, - reduceRight: reduceRight, - reduceRighti: reduceRighti, - some: some, - somei: somei -}; - -function setArray$1(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset$1(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin$1(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom$1(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange$1(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace$1(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace$1(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace$1(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith$1(arg1, obj) { - return obj.sort(arg1); -} - -function includes$1(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf$1(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom$1(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith$1(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf$1(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom$1(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$2(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$2(arg1, obj) { - return obj.slice(arg1); -} - -function subarray$1(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom$1(arg1, obj) { - return obj.subarray(arg1); -} - -function every$1(arg1, obj) { - return obj.every(arg1); -} - -function everyi$1(arg1, obj) { - return obj.every(arg1); -} - -function filter$1(arg1, obj) { - return obj.filter(arg1); -} - -function filteri$1(arg1, obj) { - return obj.filter(arg1); -} - -function find$1(arg1, obj) { - return obj.find(arg1); -} - -function findi$1(arg1, obj) { - return obj.find(arg1); -} - -function findIndex$1(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi$1(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach$1(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi$1(arg1, obj) { - obj.forEach(arg1); -} - -function map$1(arg1, obj) { - return obj.map(arg1); -} - -function mapi$1(arg1, obj) { - return obj.map(arg1); -} - -function reduce$1(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei$1(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight$1(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti$1(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some$1(arg1, obj) { - return obj.some(arg1); -} - -function somei$1(arg1, obj) { - return obj.some(arg1); -} - -var $$Uint8Array = { - setArray: setArray$1, - setArrayOffset: setArrayOffset$1, - copyWithin: copyWithin$1, - copyWithinFrom: copyWithinFrom$1, - copyWithinFromRange: copyWithinFromRange$1, - fillInPlace: fillInPlace$1, - fillFromInPlace: fillFromInPlace$1, - fillRangeInPlace: fillRangeInPlace$1, - sortInPlaceWith: sortInPlaceWith$1, - includes: includes$1, - indexOf: indexOf$1, - indexOfFrom: indexOfFrom$1, - joinWith: joinWith$1, - lastIndexOf: lastIndexOf$1, - lastIndexOfFrom: lastIndexOfFrom$1, - slice: slice$2, - sliceFrom: sliceFrom$2, - subarray: subarray$1, - subarrayFrom: subarrayFrom$1, - every: every$1, - everyi: everyi$1, - filter: filter$1, - filteri: filteri$1, - find: find$1, - findi: findi$1, - findIndex: findIndex$1, - findIndexi: findIndexi$1, - forEach: forEach$1, - forEachi: forEachi$1, - map: map$1, - mapi: mapi$1, - reduce: reduce$1, - reducei: reducei$1, - reduceRight: reduceRight$1, - reduceRighti: reduceRighti$1, - some: some$1, - somei: somei$1 -}; - -function setArray$2(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset$2(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin$2(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom$2(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange$2(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace$2(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace$2(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace$2(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith$2(arg1, obj) { - return obj.sort(arg1); -} - -function includes$2(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf$2(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom$2(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith$2(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf$2(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom$2(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$3(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$3(arg1, obj) { - return obj.slice(arg1); -} - -function subarray$2(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom$2(arg1, obj) { - return obj.subarray(arg1); -} - -function every$2(arg1, obj) { - return obj.every(arg1); -} - -function everyi$2(arg1, obj) { - return obj.every(arg1); -} - -function filter$2(arg1, obj) { - return obj.filter(arg1); -} - -function filteri$2(arg1, obj) { - return obj.filter(arg1); -} - -function find$2(arg1, obj) { - return obj.find(arg1); -} - -function findi$2(arg1, obj) { - return obj.find(arg1); -} - -function findIndex$2(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi$2(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach$2(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi$2(arg1, obj) { - obj.forEach(arg1); -} - -function map$2(arg1, obj) { - return obj.map(arg1); -} - -function mapi$2(arg1, obj) { - return obj.map(arg1); -} - -function reduce$2(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei$2(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight$2(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti$2(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some$2(arg1, obj) { - return obj.some(arg1); -} - -function somei$2(arg1, obj) { - return obj.some(arg1); -} - -var $$Uint8ClampedArray = { - setArray: setArray$2, - setArrayOffset: setArrayOffset$2, - copyWithin: copyWithin$2, - copyWithinFrom: copyWithinFrom$2, - copyWithinFromRange: copyWithinFromRange$2, - fillInPlace: fillInPlace$2, - fillFromInPlace: fillFromInPlace$2, - fillRangeInPlace: fillRangeInPlace$2, - sortInPlaceWith: sortInPlaceWith$2, - includes: includes$2, - indexOf: indexOf$2, - indexOfFrom: indexOfFrom$2, - joinWith: joinWith$2, - lastIndexOf: lastIndexOf$2, - lastIndexOfFrom: lastIndexOfFrom$2, - slice: slice$3, - sliceFrom: sliceFrom$3, - subarray: subarray$2, - subarrayFrom: subarrayFrom$2, - every: every$2, - everyi: everyi$2, - filter: filter$2, - filteri: filteri$2, - find: find$2, - findi: findi$2, - findIndex: findIndex$2, - findIndexi: findIndexi$2, - forEach: forEach$2, - forEachi: forEachi$2, - map: map$2, - mapi: mapi$2, - reduce: reduce$2, - reducei: reducei$2, - reduceRight: reduceRight$2, - reduceRighti: reduceRighti$2, - some: some$2, - somei: somei$2 -}; - -function setArray$3(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset$3(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin$3(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom$3(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange$3(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace$3(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace$3(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace$3(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith$3(arg1, obj) { - return obj.sort(arg1); -} - -function includes$3(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf$3(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom$3(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith$3(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf$3(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom$3(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$4(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$4(arg1, obj) { - return obj.slice(arg1); -} - -function subarray$3(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom$3(arg1, obj) { - return obj.subarray(arg1); -} - -function every$3(arg1, obj) { - return obj.every(arg1); -} - -function everyi$3(arg1, obj) { - return obj.every(arg1); -} - -function filter$3(arg1, obj) { - return obj.filter(arg1); -} - -function filteri$3(arg1, obj) { - return obj.filter(arg1); -} - -function find$3(arg1, obj) { - return obj.find(arg1); -} - -function findi$3(arg1, obj) { - return obj.find(arg1); -} - -function findIndex$3(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi$3(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach$3(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi$3(arg1, obj) { - obj.forEach(arg1); -} - -function map$3(arg1, obj) { - return obj.map(arg1); -} - -function mapi$3(arg1, obj) { - return obj.map(arg1); -} - -function reduce$3(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei$3(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight$3(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti$3(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some$3(arg1, obj) { - return obj.some(arg1); -} - -function somei$3(arg1, obj) { - return obj.some(arg1); -} - -var $$Int16Array = { - setArray: setArray$3, - setArrayOffset: setArrayOffset$3, - copyWithin: copyWithin$3, - copyWithinFrom: copyWithinFrom$3, - copyWithinFromRange: copyWithinFromRange$3, - fillInPlace: fillInPlace$3, - fillFromInPlace: fillFromInPlace$3, - fillRangeInPlace: fillRangeInPlace$3, - sortInPlaceWith: sortInPlaceWith$3, - includes: includes$3, - indexOf: indexOf$3, - indexOfFrom: indexOfFrom$3, - joinWith: joinWith$3, - lastIndexOf: lastIndexOf$3, - lastIndexOfFrom: lastIndexOfFrom$3, - slice: slice$4, - sliceFrom: sliceFrom$4, - subarray: subarray$3, - subarrayFrom: subarrayFrom$3, - every: every$3, - everyi: everyi$3, - filter: filter$3, - filteri: filteri$3, - find: find$3, - findi: findi$3, - findIndex: findIndex$3, - findIndexi: findIndexi$3, - forEach: forEach$3, - forEachi: forEachi$3, - map: map$3, - mapi: mapi$3, - reduce: reduce$3, - reducei: reducei$3, - reduceRight: reduceRight$3, - reduceRighti: reduceRighti$3, - some: some$3, - somei: somei$3 -}; - -function setArray$4(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset$4(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin$4(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom$4(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange$4(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace$4(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace$4(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace$4(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith$4(arg1, obj) { - return obj.sort(arg1); -} - -function includes$4(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf$4(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom$4(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith$4(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf$4(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom$4(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$5(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$5(arg1, obj) { - return obj.slice(arg1); -} - -function subarray$4(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom$4(arg1, obj) { - return obj.subarray(arg1); -} - -function every$4(arg1, obj) { - return obj.every(arg1); -} - -function everyi$4(arg1, obj) { - return obj.every(arg1); -} - -function filter$4(arg1, obj) { - return obj.filter(arg1); -} - -function filteri$4(arg1, obj) { - return obj.filter(arg1); -} - -function find$4(arg1, obj) { - return obj.find(arg1); -} - -function findi$4(arg1, obj) { - return obj.find(arg1); -} - -function findIndex$4(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi$4(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach$4(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi$4(arg1, obj) { - obj.forEach(arg1); -} - -function map$4(arg1, obj) { - return obj.map(arg1); -} - -function mapi$4(arg1, obj) { - return obj.map(arg1); -} - -function reduce$4(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei$4(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight$4(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti$4(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some$4(arg1, obj) { - return obj.some(arg1); -} - -function somei$4(arg1, obj) { - return obj.some(arg1); -} - -var $$Uint16Array = { - setArray: setArray$4, - setArrayOffset: setArrayOffset$4, - copyWithin: copyWithin$4, - copyWithinFrom: copyWithinFrom$4, - copyWithinFromRange: copyWithinFromRange$4, - fillInPlace: fillInPlace$4, - fillFromInPlace: fillFromInPlace$4, - fillRangeInPlace: fillRangeInPlace$4, - sortInPlaceWith: sortInPlaceWith$4, - includes: includes$4, - indexOf: indexOf$4, - indexOfFrom: indexOfFrom$4, - joinWith: joinWith$4, - lastIndexOf: lastIndexOf$4, - lastIndexOfFrom: lastIndexOfFrom$4, - slice: slice$5, - sliceFrom: sliceFrom$5, - subarray: subarray$4, - subarrayFrom: subarrayFrom$4, - every: every$4, - everyi: everyi$4, - filter: filter$4, - filteri: filteri$4, - find: find$4, - findi: findi$4, - findIndex: findIndex$4, - findIndexi: findIndexi$4, - forEach: forEach$4, - forEachi: forEachi$4, - map: map$4, - mapi: mapi$4, - reduce: reduce$4, - reducei: reducei$4, - reduceRight: reduceRight$4, - reduceRighti: reduceRighti$4, - some: some$4, - somei: somei$4 -}; - -function setArray$5(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset$5(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin$5(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom$5(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange$5(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace$5(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace$5(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace$5(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith$5(arg1, obj) { - return obj.sort(arg1); -} - -function includes$5(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf$5(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom$5(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith$5(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf$5(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom$5(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$6(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$6(arg1, obj) { - return obj.slice(arg1); -} - -function subarray$5(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom$5(arg1, obj) { - return obj.subarray(arg1); -} - -function every$5(arg1, obj) { - return obj.every(arg1); -} - -function everyi$5(arg1, obj) { - return obj.every(arg1); -} - -function filter$5(arg1, obj) { - return obj.filter(arg1); -} - -function filteri$5(arg1, obj) { - return obj.filter(arg1); -} - -function find$5(arg1, obj) { - return obj.find(arg1); -} - -function findi$5(arg1, obj) { - return obj.find(arg1); -} - -function findIndex$5(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi$5(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach$5(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi$5(arg1, obj) { - obj.forEach(arg1); -} - -function map$5(arg1, obj) { - return obj.map(arg1); -} - -function mapi$5(arg1, obj) { - return obj.map(arg1); -} - -function reduce$5(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei$5(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight$5(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti$5(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some$5(arg1, obj) { - return obj.some(arg1); -} - -function somei$5(arg1, obj) { - return obj.some(arg1); -} - -var $$Int32Array = { - setArray: setArray$5, - setArrayOffset: setArrayOffset$5, - copyWithin: copyWithin$5, - copyWithinFrom: copyWithinFrom$5, - copyWithinFromRange: copyWithinFromRange$5, - fillInPlace: fillInPlace$5, - fillFromInPlace: fillFromInPlace$5, - fillRangeInPlace: fillRangeInPlace$5, - sortInPlaceWith: sortInPlaceWith$5, - includes: includes$5, - indexOf: indexOf$5, - indexOfFrom: indexOfFrom$5, - joinWith: joinWith$5, - lastIndexOf: lastIndexOf$5, - lastIndexOfFrom: lastIndexOfFrom$5, - slice: slice$6, - sliceFrom: sliceFrom$6, - subarray: subarray$5, - subarrayFrom: subarrayFrom$5, - every: every$5, - everyi: everyi$5, - filter: filter$5, - filteri: filteri$5, - find: find$5, - findi: findi$5, - findIndex: findIndex$5, - findIndexi: findIndexi$5, - forEach: forEach$5, - forEachi: forEachi$5, - map: map$5, - mapi: mapi$5, - reduce: reduce$5, - reducei: reducei$5, - reduceRight: reduceRight$5, - reduceRighti: reduceRighti$5, - some: some$5, - somei: somei$5 -}; - -function setArray$6(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset$6(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin$6(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom$6(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange$6(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace$6(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace$6(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace$6(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith$6(arg1, obj) { - return obj.sort(arg1); -} - -function includes$6(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf$6(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom$6(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith$6(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf$6(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom$6(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$7(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$7(arg1, obj) { - return obj.slice(arg1); -} - -function subarray$6(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom$6(arg1, obj) { - return obj.subarray(arg1); -} - -function every$6(arg1, obj) { - return obj.every(arg1); -} - -function everyi$6(arg1, obj) { - return obj.every(arg1); -} - -function filter$6(arg1, obj) { - return obj.filter(arg1); -} - -function filteri$6(arg1, obj) { - return obj.filter(arg1); -} - -function find$6(arg1, obj) { - return obj.find(arg1); -} - -function findi$6(arg1, obj) { - return obj.find(arg1); -} - -function findIndex$6(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi$6(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach$6(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi$6(arg1, obj) { - obj.forEach(arg1); -} - -function map$6(arg1, obj) { - return obj.map(arg1); -} - -function mapi$6(arg1, obj) { - return obj.map(arg1); -} - -function reduce$6(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei$6(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight$6(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti$6(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some$6(arg1, obj) { - return obj.some(arg1); -} - -function somei$6(arg1, obj) { - return obj.some(arg1); -} - -var $$Uint32Array = { - setArray: setArray$6, - setArrayOffset: setArrayOffset$6, - copyWithin: copyWithin$6, - copyWithinFrom: copyWithinFrom$6, - copyWithinFromRange: copyWithinFromRange$6, - fillInPlace: fillInPlace$6, - fillFromInPlace: fillFromInPlace$6, - fillRangeInPlace: fillRangeInPlace$6, - sortInPlaceWith: sortInPlaceWith$6, - includes: includes$6, - indexOf: indexOf$6, - indexOfFrom: indexOfFrom$6, - joinWith: joinWith$6, - lastIndexOf: lastIndexOf$6, - lastIndexOfFrom: lastIndexOfFrom$6, - slice: slice$7, - sliceFrom: sliceFrom$7, - subarray: subarray$6, - subarrayFrom: subarrayFrom$6, - every: every$6, - everyi: everyi$6, - filter: filter$6, - filteri: filteri$6, - find: find$6, - findi: findi$6, - findIndex: findIndex$6, - findIndexi: findIndexi$6, - forEach: forEach$6, - forEachi: forEachi$6, - map: map$6, - mapi: mapi$6, - reduce: reduce$6, - reducei: reducei$6, - reduceRight: reduceRight$6, - reduceRighti: reduceRighti$6, - some: some$6, - somei: somei$6 -}; - -function setArray$7(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset$7(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin$7(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom$7(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange$7(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace$7(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace$7(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace$7(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith$7(arg1, obj) { - return obj.sort(arg1); -} - -function includes$7(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf$7(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom$7(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith$7(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf$7(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom$7(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$8(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$8(arg1, obj) { - return obj.slice(arg1); -} - -function subarray$7(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom$7(arg1, obj) { - return obj.subarray(arg1); -} - -function every$7(arg1, obj) { - return obj.every(arg1); -} - -function everyi$7(arg1, obj) { - return obj.every(arg1); -} - -function filter$7(arg1, obj) { - return obj.filter(arg1); -} - -function filteri$7(arg1, obj) { - return obj.filter(arg1); -} - -function find$7(arg1, obj) { - return obj.find(arg1); -} - -function findi$7(arg1, obj) { - return obj.find(arg1); -} - -function findIndex$7(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi$7(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach$7(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi$7(arg1, obj) { - obj.forEach(arg1); -} - -function map$7(arg1, obj) { - return obj.map(arg1); -} - -function mapi$7(arg1, obj) { - return obj.map(arg1); -} - -function reduce$7(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei$7(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight$7(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti$7(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some$7(arg1, obj) { - return obj.some(arg1); -} - -function somei$7(arg1, obj) { - return obj.some(arg1); -} - -var $$Float32Array = { - setArray: setArray$7, - setArrayOffset: setArrayOffset$7, - copyWithin: copyWithin$7, - copyWithinFrom: copyWithinFrom$7, - copyWithinFromRange: copyWithinFromRange$7, - fillInPlace: fillInPlace$7, - fillFromInPlace: fillFromInPlace$7, - fillRangeInPlace: fillRangeInPlace$7, - sortInPlaceWith: sortInPlaceWith$7, - includes: includes$7, - indexOf: indexOf$7, - indexOfFrom: indexOfFrom$7, - joinWith: joinWith$7, - lastIndexOf: lastIndexOf$7, - lastIndexOfFrom: lastIndexOfFrom$7, - slice: slice$8, - sliceFrom: sliceFrom$8, - subarray: subarray$7, - subarrayFrom: subarrayFrom$7, - every: every$7, - everyi: everyi$7, - filter: filter$7, - filteri: filteri$7, - find: find$7, - findi: findi$7, - findIndex: findIndex$7, - findIndexi: findIndexi$7, - forEach: forEach$7, - forEachi: forEachi$7, - map: map$7, - mapi: mapi$7, - reduce: reduce$7, - reducei: reducei$7, - reduceRight: reduceRight$7, - reduceRighti: reduceRighti$7, - some: some$7, - somei: somei$7 -}; - -function setArray$8(arg1, obj) { - obj.set(arg1); -} - -function setArrayOffset$8(arg1, arg2, obj) { - obj.set(arg1, arg2); -} - -function copyWithin$8(to_, obj) { - return obj.copyWithin(to_); -} - -function copyWithinFrom$8(to_, from, obj) { - return obj.copyWithin(to_, from); -} - -function copyWithinFromRange$8(to_, start, end_, obj) { - return obj.copyWithin(to_, start, end_); -} - -function fillInPlace$8(arg1, obj) { - return obj.fill(arg1); -} - -function fillFromInPlace$8(arg1, from, obj) { - return obj.fill(arg1, from); -} - -function fillRangeInPlace$8(arg1, start, end_, obj) { - return obj.fill(arg1, start, end_); -} - -function sortInPlaceWith$8(arg1, obj) { - return obj.sort(arg1); -} - -function includes$8(arg1, obj) { - return obj.includes(arg1); -} - -function indexOf$8(arg1, obj) { - return obj.indexOf(arg1); -} - -function indexOfFrom$8(arg1, from, obj) { - return obj.indexOf(arg1, from); -} - -function joinWith$8(arg1, obj) { - return obj.join(arg1); -} - -function lastIndexOf$8(arg1, obj) { - return obj.lastIndexOf(arg1); -} - -function lastIndexOfFrom$8(arg1, from, obj) { - return obj.lastIndexOf(arg1, from); -} - -function slice$9(start, end_, obj) { - return obj.slice(start, end_); -} - -function sliceFrom$9(arg1, obj) { - return obj.slice(arg1); -} - -function subarray$8(start, end_, obj) { - return obj.subarray(start, end_); -} - -function subarrayFrom$8(arg1, obj) { - return obj.subarray(arg1); -} - -function every$8(arg1, obj) { - return obj.every(arg1); -} - -function everyi$8(arg1, obj) { - return obj.every(arg1); -} - -function filter$8(arg1, obj) { - return obj.filter(arg1); -} - -function filteri$8(arg1, obj) { - return obj.filter(arg1); -} - -function find$8(arg1, obj) { - return obj.find(arg1); -} - -function findi$8(arg1, obj) { - return obj.find(arg1); -} - -function findIndex$8(arg1, obj) { - return obj.findIndex(arg1); -} - -function findIndexi$8(arg1, obj) { - return obj.findIndex(arg1); -} - -function forEach$8(arg1, obj) { - obj.forEach(arg1); -} - -function forEachi$8(arg1, obj) { - obj.forEach(arg1); -} - -function map$8(arg1, obj) { - return obj.map(arg1); -} - -function mapi$8(arg1, obj) { - return obj.map(arg1); -} - -function reduce$8(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reducei$8(arg1, arg2, obj) { - return obj.reduce(arg1, arg2); -} - -function reduceRight$8(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function reduceRighti$8(arg1, arg2, obj) { - return obj.reduceRight(arg1, arg2); -} - -function some$8(arg1, obj) { - return obj.some(arg1); -} - -function somei$8(arg1, obj) { - return obj.some(arg1); -} - -var $$Float64Array = { - setArray: setArray$8, - setArrayOffset: setArrayOffset$8, - copyWithin: copyWithin$8, - copyWithinFrom: copyWithinFrom$8, - copyWithinFromRange: copyWithinFromRange$8, - fillInPlace: fillInPlace$8, - fillFromInPlace: fillFromInPlace$8, - fillRangeInPlace: fillRangeInPlace$8, - sortInPlaceWith: sortInPlaceWith$8, - includes: includes$8, - indexOf: indexOf$8, - indexOfFrom: indexOfFrom$8, - joinWith: joinWith$8, - lastIndexOf: lastIndexOf$8, - lastIndexOfFrom: lastIndexOfFrom$8, - slice: slice$9, - sliceFrom: sliceFrom$9, - subarray: subarray$8, - subarrayFrom: subarrayFrom$8, - every: every$8, - everyi: everyi$8, - filter: filter$8, - filteri: filteri$8, - find: find$8, - findi: findi$8, - findIndex: findIndex$8, - findIndexi: findIndexi$8, - forEach: forEach$8, - forEachi: forEachi$8, - map: map$8, - mapi: mapi$8, - reduce: reduce$8, - reducei: reducei$8, - reduceRight: reduceRight$8, - reduceRighti: reduceRighti$8, - some: some$8, - somei: somei$8 -}; - -var $$DataView = {}; - -var Int32_array; - -var Float32_array; - -var Float64_array; - -export { - $$ArrayBuffer , - $$Int8Array , - $$Uint8Array , - $$Uint8ClampedArray , - $$Int16Array , - $$Uint16Array , - $$Int32Array , - Int32_array , - $$Uint32Array , - $$Float32Array , - Float32_array , - $$Float64Array , - Float64_array , - $$DataView , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_typed_array2.js b/bots/sustainabot/bot-integration/rescript-runtime/js_typed_array2.js deleted file mode 100644 index dc062b0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_typed_array2.js +++ /dev/null @@ -1,39 +0,0 @@ - - - -var $$ArrayBuffer = {}; - -var $$Int8Array = {}; - -var $$Uint8Array = {}; - -var $$Uint8ClampedArray = {}; - -var $$Int16Array = {}; - -var $$Uint16Array = {}; - -var $$Int32Array = {}; - -var $$Uint32Array = {}; - -var $$Float32Array = {}; - -var $$Float64Array = {}; - -var $$DataView = {}; - -export { - $$ArrayBuffer , - $$Int8Array , - $$Uint8Array , - $$Uint8ClampedArray , - $$Int16Array , - $$Uint16Array , - $$Int32Array , - $$Uint32Array , - $$Float32Array , - $$Float64Array , - $$DataView , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_types.js b/bots/sustainabot/bot-integration/rescript-runtime/js_types.js deleted file mode 100644 index c6dcb9c..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_types.js +++ /dev/null @@ -1,77 +0,0 @@ - - - -function classify(x) { - var ty = typeof x; - if (ty === "undefined") { - return "JSUndefined"; - } else if (x === null) { - return "JSNull"; - } else if (ty === "number") { - return { - TAG: "JSNumber", - _0: x - }; - } else if (ty === "bigint") { - return { - TAG: "JSBigInt", - _0: x - }; - } else if (ty === "string") { - return { - TAG: "JSString", - _0: x - }; - } else if (ty === "boolean") { - if (x === true) { - return "JSTrue"; - } else { - return "JSFalse"; - } - } else if (ty === "symbol") { - return { - TAG: "JSSymbol", - _0: x - }; - } else if (ty === "function") { - return { - TAG: "JSFunction", - _0: x - }; - } else { - return { - TAG: "JSObject", - _0: x - }; - } -} - -function test(x, v) { - switch (v) { - case "Undefined" : - return typeof x === "undefined"; - case "Null" : - return x === null; - case "Boolean" : - return typeof x === "boolean"; - case "Number" : - return typeof x === "number"; - case "String" : - return typeof x === "string"; - case "Function" : - return typeof x === "function"; - case "Object" : - return typeof x === "object"; - case "Symbol" : - return typeof x === "symbol"; - case "BigInt" : - return typeof x === "bigint"; - - } -} - -export { - test , - classify , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_undefined.js b/bots/sustainabot/bot-integration/rescript-runtime/js_undefined.js deleted file mode 100644 index 7f208fe..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_undefined.js +++ /dev/null @@ -1,52 +0,0 @@ - - -import * as Caml_option from "./caml_option.js"; - -function test(x) { - return x === undefined; -} - -function testAny(x) { - return x === undefined; -} - -function getExn(f) { - if (f !== undefined) { - return f; - } - throw new Error("Js.Undefined.getExn"); -} - -function bind(x, f) { - if (x !== undefined) { - return f(x); - } - -} - -function iter(x, f) { - if (x !== undefined) { - return f(x); - } - -} - -function fromOption(x) { - if (x !== undefined) { - return Caml_option.valFromOption(x); - } - -} - -var from_opt = fromOption; - -export { - test , - testAny , - getExn , - bind , - iter , - fromOption , - from_opt , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_vector.js b/bots/sustainabot/bot-integration/rescript-runtime/js_vector.js deleted file mode 100644 index 67200d0..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_vector.js +++ /dev/null @@ -1,134 +0,0 @@ - - - -function filterInPlace(p, a) { - var i = 0; - var j = 0; - while(i < a.length) { - var v = a[i]; - if (p(v)) { - a[j] = v; - j = j + 1 | 0; - } - i = i + 1 | 0; - }; - a.splice(j); -} - -function empty(a) { - a.splice(0); -} - -function pushBack(x, xs) { - xs.push(x); -} - -function memByRef(x, xs) { - return xs.indexOf(x) >= 0; -} - -function iter(f, xs) { - for(var i = 0 ,i_finish = xs.length; i < i_finish; ++i){ - f(xs[i]); - } -} - -function iteri(f, a) { - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - f(i, a[i]); - } -} - -function toList(a) { - var _i = a.length - 1 | 0; - var _res = /* [] */0; - while(true) { - var res = _res; - var i = _i; - if (i < 0) { - return res; - } - _res = { - hd: a[i], - tl: res - }; - _i = i - 1 | 0; - continue ; - }; -} - -function init(n, f) { - var v = new Array(n); - for(var i = 0; i < n; ++i){ - v[i] = f(i); - } - return v; -} - -function copy(x) { - var len = x.length; - var b = new Array(len); - for(var i = 0; i < len; ++i){ - b[i] = x[i]; - } - return b; -} - -function map(f, a) { - var l = a.length; - var r = new Array(l); - for(var i = 0; i < l; ++i){ - r[i] = f(a[i]); - } - return r; -} - -function foldLeft(f, x, a) { - var r = x; - for(var i = 0 ,i_finish = a.length; i < i_finish; ++i){ - r = f(r, a[i]); - } - return r; -} - -function foldRight(f, a, x) { - var r = x; - for(var i = a.length - 1 | 0; i >= 0; --i){ - r = f(a[i], r); - } - return r; -} - -function mapi(f, a) { - var l = a.length; - if (l === 0) { - return []; - } - var r = new Array(l); - for(var i = 0; i < l; ++i){ - r[i] = f(i, a[i]); - } - return r; -} - -function append(x, a) { - return a.concat([x]); -} - -export { - filterInPlace , - empty , - pushBack , - copy , - memByRef , - iter , - iteri , - toList , - map , - mapi , - foldLeft , - foldRight , - init , - append , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_weakmap.js b/bots/sustainabot/bot-integration/rescript-runtime/js_weakmap.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_weakmap.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/js_weakset.js b/bots/sustainabot/bot-integration/rescript-runtime/js_weakset.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/js_weakset.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxC.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxC.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxC.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMC.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMC.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMC.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMStyle.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMStyle.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMStyle.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMU.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMU.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxDOMU.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxEventC.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxEventC.js deleted file mode 100644 index 986f617..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxEventC.js +++ /dev/null @@ -1,59 +0,0 @@ - - - -function MakeEventWithType(Type) { - return {}; -} - -var Synthetic = {}; - -var Clipboard = {}; - -var Composition = {}; - -var Keyboard = {}; - -var Focus = {}; - -var Form = {}; - -var Mouse = {}; - -var Pointer = {}; - -var $$Selection = {}; - -var $$Touch = {}; - -var UI = {}; - -var Wheel = {}; - -var Media = {}; - -var $$Image = {}; - -var $$Animation = {}; - -var Transition = {}; - -export { - MakeEventWithType , - Synthetic , - Clipboard , - Composition , - Keyboard , - Focus , - Form , - Mouse , - Pointer , - $$Selection , - $$Touch , - UI , - Wheel , - Media , - $$Image , - $$Animation , - Transition , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxEventU.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxEventU.js deleted file mode 100644 index 986f617..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxEventU.js +++ /dev/null @@ -1,59 +0,0 @@ - - - -function MakeEventWithType(Type) { - return {}; -} - -var Synthetic = {}; - -var Clipboard = {}; - -var Composition = {}; - -var Keyboard = {}; - -var Focus = {}; - -var Form = {}; - -var Mouse = {}; - -var Pointer = {}; - -var $$Selection = {}; - -var $$Touch = {}; - -var UI = {}; - -var Wheel = {}; - -var Media = {}; - -var $$Image = {}; - -var $$Animation = {}; - -var Transition = {}; - -export { - MakeEventWithType , - Synthetic , - Clipboard , - Composition , - Keyboard , - Focus , - Form , - Mouse , - Pointer , - $$Selection , - $$Touch , - UI , - Wheel , - Media , - $$Image , - $$Animation , - Transition , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxPPXReactSupportC.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxPPXReactSupportC.js deleted file mode 100644 index 3a19f48..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxPPXReactSupportC.js +++ /dev/null @@ -1,29 +0,0 @@ - - -import * as React from "react"; -import * as Caml_splice_call from "./caml_splice_call.js"; - -function createElementWithKey(key, component, props) { - return React.createElement(component, key !== undefined ? Object.assign({ - key: key - }, props) : props); -} - -function createElementVariadicWithKey(key, component, props, elements) { - return Caml_splice_call.spliceApply(React.createElement, [ - component, - key !== undefined ? Object.assign({ - key: key - }, props) : props, - elements - ]); -} - -var Jsx; - -export { - Jsx , - createElementWithKey , - createElementVariadicWithKey , -} -/* react Not a pure module */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxPPXReactSupportU.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxPPXReactSupportU.js deleted file mode 100644 index 3a19f48..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxPPXReactSupportU.js +++ /dev/null @@ -1,29 +0,0 @@ - - -import * as React from "react"; -import * as Caml_splice_call from "./caml_splice_call.js"; - -function createElementWithKey(key, component, props) { - return React.createElement(component, key !== undefined ? Object.assign({ - key: key - }, props) : props); -} - -function createElementVariadicWithKey(key, component, props, elements) { - return Caml_splice_call.spliceApply(React.createElement, [ - component, - key !== undefined ? Object.assign({ - key: key - }, props) : props, - elements - ]); -} - -var Jsx; - -export { - Jsx , - createElementWithKey , - createElementVariadicWithKey , -} -/* react Not a pure module */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/jsxU.js b/bots/sustainabot/bot-integration/rescript-runtime/jsxU.js deleted file mode 100644 index ae1b9f1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/jsxU.js +++ /dev/null @@ -1 +0,0 @@ -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/lazy.js b/bots/sustainabot/bot-integration/rescript-runtime/lazy.js deleted file mode 100644 index 28fba1a..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/lazy.js +++ /dev/null @@ -1,44 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as CamlinternalLazy from "./camlinternalLazy.js"; - -function from_fun(f) { - return { - LAZY_DONE: false, - VAL: (function () { - return Curry._1(f, undefined); - }) - }; -} - -function from_val(v) { - return { - LAZY_DONE: true, - VAL: v - }; -} - -var Undefined = CamlinternalLazy.Undefined; - -var force_val = CamlinternalLazy.force_val; - -var is_val = CamlinternalLazy.is_val; - -var lazy_from_fun = from_fun; - -var lazy_from_val = from_val; - -var lazy_is_val = CamlinternalLazy.is_val; - -export { - Undefined , - force_val , - from_fun , - from_val , - is_val , - lazy_from_fun , - lazy_from_val , - lazy_is_val , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/lexing.js b/bots/sustainabot/bot-integration/rescript-runtime/lexing.js deleted file mode 100644 index 66ffdc2..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/lexing.js +++ /dev/null @@ -1,217 +0,0 @@ - - -import * as Bytes from "./bytes.js"; -import * as Curry from "./curry.js"; -import * as Caml_array from "./caml_array.js"; -import * as Caml_bytes from "./caml_bytes.js"; -import * as Caml_lexer from "./caml_lexer.js"; - -function engine(tbl, state, buf) { - var result = Caml_lexer.lex_engine(tbl, state, buf); - if (result >= 0) { - buf.lex_start_p = buf.lex_curr_p; - var init = buf.lex_curr_p; - buf.lex_curr_p = { - pos_fname: init.pos_fname, - pos_lnum: init.pos_lnum, - pos_bol: init.pos_bol, - pos_cnum: buf.lex_abs_pos + buf.lex_curr_pos | 0 - }; - } - return result; -} - -function new_engine(tbl, state, buf) { - var result = Caml_lexer.new_lex_engine(tbl, state, buf); - if (result >= 0) { - buf.lex_start_p = buf.lex_curr_p; - var init = buf.lex_curr_p; - buf.lex_curr_p = { - pos_fname: init.pos_fname, - pos_lnum: init.pos_lnum, - pos_bol: init.pos_bol, - pos_cnum: buf.lex_abs_pos + buf.lex_curr_pos | 0 - }; - } - return result; -} - -var zero_pos = { - pos_fname: "", - pos_lnum: 1, - pos_bol: 0, - pos_cnum: 0 -}; - -function from_function(f) { - var partial_arg = Caml_bytes.create(512); - return { - refill_buff: (function (param) { - var read = Curry._2(f, partial_arg, partial_arg.length); - var n = read > 0 ? read : (param.lex_eof_reached = true, 0); - if ((param.lex_buffer_len + n | 0) > param.lex_buffer.length) { - if (((param.lex_buffer_len - param.lex_start_pos | 0) + n | 0) <= param.lex_buffer.length) { - Bytes.blit(param.lex_buffer, param.lex_start_pos, param.lex_buffer, 0, param.lex_buffer_len - param.lex_start_pos | 0); - } else { - var newlen = (param.lex_buffer.length << 1); - if (((param.lex_buffer_len - param.lex_start_pos | 0) + n | 0) > newlen) { - throw { - RE_EXN_ID: "Failure", - _1: "Lexing.lex_refill: cannot grow buffer", - Error: new Error() - }; - } - var newbuf = Caml_bytes.create(newlen); - Bytes.blit(param.lex_buffer, param.lex_start_pos, newbuf, 0, param.lex_buffer_len - param.lex_start_pos | 0); - param.lex_buffer = newbuf; - } - var s = param.lex_start_pos; - param.lex_abs_pos = param.lex_abs_pos + s | 0; - param.lex_curr_pos = param.lex_curr_pos - s | 0; - param.lex_start_pos = 0; - param.lex_last_pos = param.lex_last_pos - s | 0; - param.lex_buffer_len = param.lex_buffer_len - s | 0; - var t = param.lex_mem; - for(var i = 0 ,i_finish = t.length; i < i_finish; ++i){ - var v = Caml_array.get(t, i); - if (v >= 0) { - Caml_array.set(t, i, v - s | 0); - } - - } - } - Bytes.blit(partial_arg, 0, param.lex_buffer, param.lex_buffer_len, n); - param.lex_buffer_len = param.lex_buffer_len + n | 0; - }), - lex_buffer: Caml_bytes.create(1024), - lex_buffer_len: 0, - lex_abs_pos: 0, - lex_start_pos: 0, - lex_curr_pos: 0, - lex_last_pos: 0, - lex_last_action: 0, - lex_eof_reached: false, - lex_mem: [], - lex_start_p: zero_pos, - lex_curr_p: zero_pos - }; -} - -function from_string(s) { - return { - refill_buff: (function (lexbuf) { - lexbuf.lex_eof_reached = true; - }), - lex_buffer: Bytes.of_string(s), - lex_buffer_len: s.length, - lex_abs_pos: 0, - lex_start_pos: 0, - lex_curr_pos: 0, - lex_last_pos: 0, - lex_last_action: 0, - lex_eof_reached: true, - lex_mem: [], - lex_start_p: zero_pos, - lex_curr_p: zero_pos - }; -} - -function lexeme(lexbuf) { - var len = lexbuf.lex_curr_pos - lexbuf.lex_start_pos | 0; - return Bytes.sub_string(lexbuf.lex_buffer, lexbuf.lex_start_pos, len); -} - -function sub_lexeme(lexbuf, i1, i2) { - var len = i2 - i1 | 0; - return Bytes.sub_string(lexbuf.lex_buffer, i1, len); -} - -function sub_lexeme_opt(lexbuf, i1, i2) { - if (i1 < 0) { - return ; - } - var len = i2 - i1 | 0; - return Bytes.sub_string(lexbuf.lex_buffer, i1, len); -} - -function sub_lexeme_char(lexbuf, i) { - return Caml_bytes.get(lexbuf.lex_buffer, i); -} - -function sub_lexeme_char_opt(lexbuf, i) { - if (i >= 0) { - return Caml_bytes.get(lexbuf.lex_buffer, i); - } - -} - -function lexeme_char(lexbuf, i) { - return Caml_bytes.get(lexbuf.lex_buffer, lexbuf.lex_start_pos + i | 0); -} - -function lexeme_start(lexbuf) { - return lexbuf.lex_start_p.pos_cnum; -} - -function lexeme_end(lexbuf) { - return lexbuf.lex_curr_p.pos_cnum; -} - -function lexeme_start_p(lexbuf) { - return lexbuf.lex_start_p; -} - -function lexeme_end_p(lexbuf) { - return lexbuf.lex_curr_p; -} - -function new_line(lexbuf) { - var lcp = lexbuf.lex_curr_p; - lexbuf.lex_curr_p = { - pos_fname: lcp.pos_fname, - pos_lnum: lcp.pos_lnum + 1 | 0, - pos_bol: lcp.pos_cnum, - pos_cnum: lcp.pos_cnum - }; -} - -function flush_input(lb) { - lb.lex_curr_pos = 0; - lb.lex_abs_pos = 0; - var init = lb.lex_curr_p; - lb.lex_curr_p = { - pos_fname: init.pos_fname, - pos_lnum: init.pos_lnum, - pos_bol: init.pos_bol, - pos_cnum: 0 - }; - lb.lex_buffer_len = 0; -} - -var dummy_pos = { - pos_fname: "", - pos_lnum: 0, - pos_bol: 0, - pos_cnum: -1 -}; - -export { - dummy_pos , - from_string , - from_function , - lexeme , - lexeme_char , - lexeme_start , - lexeme_end , - lexeme_start_p , - lexeme_end_p , - new_line , - flush_input , - sub_lexeme , - sub_lexeme_opt , - sub_lexeme_char , - sub_lexeme_char_opt , - engine , - new_engine , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/list.js b/bots/sustainabot/bot-integration/rescript-runtime/list.js deleted file mode 100644 index 3303234..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/list.js +++ /dev/null @@ -1,1713 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_obj from "./caml_obj.js"; -import * as Pervasives from "./pervasives.js"; -import * as Caml_option from "./caml_option.js"; - -function length(l) { - var _len = 0; - var _param = l; - while(true) { - var param = _param; - var len = _len; - if (!param) { - return len; - } - _param = param.tl; - _len = len + 1 | 0; - continue ; - }; -} - -function cons(a, l) { - return { - hd: a, - tl: l - }; -} - -function hd(param) { - if (param) { - return param.hd; - } - throw { - RE_EXN_ID: "Failure", - _1: "hd", - Error: new Error() - }; -} - -function tl(param) { - if (param) { - return param.tl; - } - throw { - RE_EXN_ID: "Failure", - _1: "tl", - Error: new Error() - }; -} - -function nth(l, n) { - if (n < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.nth", - Error: new Error() - }; - } - var _l = l; - var _n = n; - while(true) { - var n$1 = _n; - var l$1 = _l; - if (l$1) { - if (n$1 === 0) { - return l$1.hd; - } - _n = n$1 - 1 | 0; - _l = l$1.tl; - continue ; - } - throw { - RE_EXN_ID: "Failure", - _1: "nth", - Error: new Error() - }; - }; -} - -function nth_opt(l, n) { - if (n < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.nth", - Error: new Error() - }; - } - var _l = l; - var _n = n; - while(true) { - var n$1 = _n; - var l$1 = _l; - if (!l$1) { - return ; - } - if (n$1 === 0) { - return Caml_option.some(l$1.hd); - } - _n = n$1 - 1 | 0; - _l = l$1.tl; - continue ; - }; -} - -function rev_append(_l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - return l2; - } - _l2 = { - hd: l1.hd, - tl: l2 - }; - _l1 = l1.tl; - continue ; - }; -} - -function rev(l) { - return rev_append(l, /* [] */0); -} - -function init_tailrec_aux(_acc, _i, n, f) { - while(true) { - var i = _i; - var acc = _acc; - if (i >= n) { - return acc; - } - _i = i + 1 | 0; - _acc = { - hd: Curry._1(f, i), - tl: acc - }; - continue ; - }; -} - -function init_aux(i, n, f) { - if (i >= n) { - return /* [] */0; - } - var r = Curry._1(f, i); - return { - hd: r, - tl: init_aux(i + 1 | 0, n, f) - }; -} - -function init(len, f) { - if (len < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.init", - Error: new Error() - }; - } - if (len > 10000) { - return rev_append(init_tailrec_aux(/* [] */0, 0, len, f), /* [] */0); - } else { - return init_aux(0, len, f); - } -} - -function flatten(param) { - if (param) { - return Pervasives.$at(param.hd, flatten(param.tl)); - } else { - return /* [] */0; - } -} - -function map(f, param) { - if (!param) { - return /* [] */0; - } - var r = Curry._1(f, param.hd); - return { - hd: r, - tl: map(f, param.tl) - }; -} - -function mapi(i, f, param) { - if (!param) { - return /* [] */0; - } - var r = Curry._2(f, i, param.hd); - return { - hd: r, - tl: mapi(i + 1 | 0, f, param.tl) - }; -} - -function mapi$1(f, l) { - return mapi(0, f, l); -} - -function rev_map(f, l) { - var _accu = /* [] */0; - var _param = l; - while(true) { - var param = _param; - var accu = _accu; - if (!param) { - return accu; - } - _param = param.tl; - _accu = { - hd: Curry._1(f, param.hd), - tl: accu - }; - continue ; - }; -} - -function iter(f, _param) { - while(true) { - var param = _param; - if (!param) { - return ; - } - Curry._1(f, param.hd); - _param = param.tl; - continue ; - }; -} - -function iteri(f, l) { - var _i = 0; - var _param = l; - while(true) { - var param = _param; - var i = _i; - if (!param) { - return ; - } - Curry._2(f, i, param.hd); - _param = param.tl; - _i = i + 1 | 0; - continue ; - }; -} - -function fold_left(f, _accu, _l) { - while(true) { - var l = _l; - var accu = _accu; - if (!l) { - return accu; - } - _l = l.tl; - _accu = Curry._2(f, accu, l.hd); - continue ; - }; -} - -function fold_right(f, l, accu) { - if (l) { - return Curry._2(f, l.hd, fold_right(f, l.tl, accu)); - } else { - return accu; - } -} - -function map2(f, l1, l2) { - if (l1) { - if (l2) { - var r = Curry._2(f, l1.hd, l2.hd); - return { - hd: r, - tl: map2(f, l1.tl, l2.tl) - }; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.map2", - Error: new Error() - }; - } - if (!l2) { - return /* [] */0; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.map2", - Error: new Error() - }; -} - -function rev_map2(f, l1, l2) { - var _accu = /* [] */0; - var _l1 = l1; - var _l2 = l2; - while(true) { - var l2$1 = _l2; - var l1$1 = _l1; - var accu = _accu; - if (l1$1) { - if (l2$1) { - _l2 = l2$1.tl; - _l1 = l1$1.tl; - _accu = { - hd: Curry._2(f, l1$1.hd, l2$1.hd), - tl: accu - }; - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.rev_map2", - Error: new Error() - }; - } - if (l2$1) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.rev_map2", - Error: new Error() - }; - } - return accu; - }; -} - -function iter2(f, _l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (l1) { - if (l2) { - Curry._2(f, l1.hd, l2.hd); - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.iter2", - Error: new Error() - }; - } - if (!l2) { - return ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.iter2", - Error: new Error() - }; - }; -} - -function fold_left2(f, _accu, _l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - var accu = _accu; - if (l1) { - if (l2) { - _l2 = l2.tl; - _l1 = l1.tl; - _accu = Curry._3(f, accu, l1.hd, l2.hd); - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.fold_left2", - Error: new Error() - }; - } - if (l2) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.fold_left2", - Error: new Error() - }; - } - return accu; - }; -} - -function fold_right2(f, l1, l2, accu) { - if (l1) { - if (l2) { - return Curry._3(f, l1.hd, l2.hd, fold_right2(f, l1.tl, l2.tl, accu)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.fold_right2", - Error: new Error() - }; - } - if (l2) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.fold_right2", - Error: new Error() - }; - } - return accu; -} - -function for_all(p, _param) { - while(true) { - var param = _param; - if (!param) { - return true; - } - if (!Curry._1(p, param.hd)) { - return false; - } - _param = param.tl; - continue ; - }; -} - -function exists(p, _param) { - while(true) { - var param = _param; - if (!param) { - return false; - } - if (Curry._1(p, param.hd)) { - return true; - } - _param = param.tl; - continue ; - }; -} - -function for_all2(p, _l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (l1) { - if (l2) { - if (!Curry._2(p, l1.hd, l2.hd)) { - return false; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.for_all2", - Error: new Error() - }; - } - if (!l2) { - return true; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.for_all2", - Error: new Error() - }; - }; -} - -function exists2(p, _l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (l1) { - if (l2) { - if (Curry._2(p, l1.hd, l2.hd)) { - return true; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.exists2", - Error: new Error() - }; - } - if (!l2) { - return false; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.exists2", - Error: new Error() - }; - }; -} - -function mem(x, _param) { - while(true) { - var param = _param; - if (!param) { - return false; - } - if (Caml_obj.equal(param.hd, x)) { - return true; - } - _param = param.tl; - continue ; - }; -} - -function memq(x, _param) { - while(true) { - var param = _param; - if (!param) { - return false; - } - if (param.hd === x) { - return true; - } - _param = param.tl; - continue ; - }; -} - -function assoc(x, _param) { - while(true) { - var param = _param; - if (param) { - var match = param.hd; - if (Caml_obj.equal(match[0], x)) { - return match[1]; - } - _param = param.tl; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function assoc_opt(x, _param) { - while(true) { - var param = _param; - if (!param) { - return ; - } - var match = param.hd; - if (Caml_obj.equal(match[0], x)) { - return Caml_option.some(match[1]); - } - _param = param.tl; - continue ; - }; -} - -function assq(x, _param) { - while(true) { - var param = _param; - if (param) { - var match = param.hd; - if (match[0] === x) { - return match[1]; - } - _param = param.tl; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function assq_opt(x, _param) { - while(true) { - var param = _param; - if (!param) { - return ; - } - var match = param.hd; - if (match[0] === x) { - return Caml_option.some(match[1]); - } - _param = param.tl; - continue ; - }; -} - -function mem_assoc(x, _param) { - while(true) { - var param = _param; - if (!param) { - return false; - } - if (Caml_obj.equal(param.hd[0], x)) { - return true; - } - _param = param.tl; - continue ; - }; -} - -function mem_assq(x, _param) { - while(true) { - var param = _param; - if (!param) { - return false; - } - if (param.hd[0] === x) { - return true; - } - _param = param.tl; - continue ; - }; -} - -function remove_assoc(x, param) { - if (!param) { - return /* [] */0; - } - var l = param.tl; - var pair = param.hd; - if (Caml_obj.equal(pair[0], x)) { - return l; - } else { - return { - hd: pair, - tl: remove_assoc(x, l) - }; - } -} - -function remove_assq(x, param) { - if (!param) { - return /* [] */0; - } - var l = param.tl; - var pair = param.hd; - if (pair[0] === x) { - return l; - } else { - return { - hd: pair, - tl: remove_assq(x, l) - }; - } -} - -function find(p, _param) { - while(true) { - var param = _param; - if (param) { - var x = param.hd; - if (Curry._1(p, x)) { - return x; - } - _param = param.tl; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function find_opt(p, _param) { - while(true) { - var param = _param; - if (!param) { - return ; - } - var x = param.hd; - if (Curry._1(p, x)) { - return Caml_option.some(x); - } - _param = param.tl; - continue ; - }; -} - -function find_all(p) { - return function (param) { - var _accu = /* [] */0; - var _param = param; - while(true) { - var param$1 = _param; - var accu = _accu; - if (!param$1) { - return rev_append(accu, /* [] */0); - } - var l = param$1.tl; - var x = param$1.hd; - if (Curry._1(p, x)) { - _param = l; - _accu = { - hd: x, - tl: accu - }; - continue ; - } - _param = l; - continue ; - }; - }; -} - -function partition(p, l) { - var _yes = /* [] */0; - var _no = /* [] */0; - var _param = l; - while(true) { - var param = _param; - var no = _no; - var yes = _yes; - if (!param) { - return [ - rev_append(yes, /* [] */0), - rev_append(no, /* [] */0) - ]; - } - var l$1 = param.tl; - var x = param.hd; - if (Curry._1(p, x)) { - _param = l$1; - _yes = { - hd: x, - tl: yes - }; - continue ; - } - _param = l$1; - _no = { - hd: x, - tl: no - }; - continue ; - }; -} - -function split(param) { - if (!param) { - return [ - /* [] */0, - /* [] */0 - ]; - } - var match = param.hd; - var match$1 = split(param.tl); - return [ - { - hd: match[0], - tl: match$1[0] - }, - { - hd: match[1], - tl: match$1[1] - } - ]; -} - -function combine(l1, l2) { - if (l1) { - if (l2) { - return { - hd: [ - l1.hd, - l2.hd - ], - tl: combine(l1.tl, l2.tl) - }; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.combine", - Error: new Error() - }; - } - if (!l2) { - return /* [] */0; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.combine", - Error: new Error() - }; -} - -function merge(cmp, l1, l2) { - if (!l1) { - return l2; - } - if (!l2) { - return l1; - } - var h2 = l2.hd; - var h1 = l1.hd; - if (Curry._2(cmp, h1, h2) <= 0) { - return { - hd: h1, - tl: merge(cmp, l1.tl, l2) - }; - } else { - return { - hd: h2, - tl: merge(cmp, l1, l2.tl) - }; - } -} - -function chop(_k, _l) { - while(true) { - var l = _l; - var k = _k; - if (k === 0) { - return l; - } - if (l) { - _l = l.tl; - _k = k - 1 | 0; - continue ; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "list.res", - 420, - 11 - ], - Error: new Error() - }; - }; -} - -function stable_sort(cmp, l) { - var sort = function (n, l) { - if (n !== 2) { - if (n === 3 && l) { - var match = l.tl; - if (match) { - var match$1 = match.tl; - if (match$1) { - var x3 = match$1.hd; - var x2 = match.hd; - var x1 = l.hd; - if (Curry._2(cmp, x1, x2) <= 0) { - if (Curry._2(cmp, x2, x3) <= 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } else if (Curry._2(cmp, x1, x3) <= 0) { - return { - hd: x1, - tl: { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } - } else if (Curry._2(cmp, x1, x3) <= 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } else if (Curry._2(cmp, x2, x3) <= 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } - } - - } - - } - - } else if (l) { - var match$2 = l.tl; - if (match$2) { - var x2$1 = match$2.hd; - var x1$1 = l.hd; - if (Curry._2(cmp, x1$1, x2$1) <= 0) { - return { - hd: x1$1, - tl: { - hd: x2$1, - tl: /* [] */0 - } - }; - } else { - return { - hd: x2$1, - tl: { - hd: x1$1, - tl: /* [] */0 - } - }; - } - } - - } - var n1 = (n >> 1); - var n2 = n - n1 | 0; - var l2 = chop(n1, l); - var s1 = rev_sort(n1, l); - var s2 = rev_sort(n2, l2); - var _l1 = s1; - var _l2 = s2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1 = _l1; - if (!l1) { - return rev_append(l2$1, accu); - } - if (!l2$1) { - return rev_append(l1, accu); - } - var h2 = l2$1.hd; - var h1 = l1.hd; - if (Curry._2(cmp, h1, h2) > 0) { - _accu = { - hd: h1, - tl: accu - }; - _l1 = l1.tl; - continue ; - } - _accu = { - hd: h2, - tl: accu - }; - _l2 = l2$1.tl; - continue ; - }; - }; - var rev_sort = function (n, l) { - if (n !== 2) { - if (n === 3 && l) { - var match = l.tl; - if (match) { - var match$1 = match.tl; - if (match$1) { - var x3 = match$1.hd; - var x2 = match.hd; - var x1 = l.hd; - if (Curry._2(cmp, x1, x2) > 0) { - if (Curry._2(cmp, x2, x3) > 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } else if (Curry._2(cmp, x1, x3) > 0) { - return { - hd: x1, - tl: { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } - } else if (Curry._2(cmp, x1, x3) > 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } else if (Curry._2(cmp, x2, x3) > 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } - } - - } - - } - - } else if (l) { - var match$2 = l.tl; - if (match$2) { - var x2$1 = match$2.hd; - var x1$1 = l.hd; - if (Curry._2(cmp, x1$1, x2$1) > 0) { - return { - hd: x1$1, - tl: { - hd: x2$1, - tl: /* [] */0 - } - }; - } else { - return { - hd: x2$1, - tl: { - hd: x1$1, - tl: /* [] */0 - } - }; - } - } - - } - var n1 = (n >> 1); - var n2 = n - n1 | 0; - var l2 = chop(n1, l); - var s1 = sort(n1, l); - var s2 = sort(n2, l2); - var _l1 = s1; - var _l2 = s2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1 = _l1; - if (!l1) { - return rev_append(l2$1, accu); - } - if (!l2$1) { - return rev_append(l1, accu); - } - var h2 = l2$1.hd; - var h1 = l1.hd; - if (Curry._2(cmp, h1, h2) <= 0) { - _accu = { - hd: h1, - tl: accu - }; - _l1 = l1.tl; - continue ; - } - _accu = { - hd: h2, - tl: accu - }; - _l2 = l2$1.tl; - continue ; - }; - }; - var len = length(l); - if (len < 2) { - return l; - } else { - return sort(len, l); - } -} - -function sort_uniq(cmp, l) { - var sort = function (n, l) { - if (n !== 2) { - if (n === 3 && l) { - var match = l.tl; - if (match) { - var match$1 = match.tl; - if (match$1) { - var x3 = match$1.hd; - var x2 = match.hd; - var x1 = l.hd; - var c = Curry._2(cmp, x1, x2); - if (c === 0) { - var c$1 = Curry._2(cmp, x2, x3); - if (c$1 === 0) { - return { - hd: x2, - tl: /* [] */0 - }; - } else if (c$1 < 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } - } - if (c < 0) { - var c$2 = Curry._2(cmp, x2, x3); - if (c$2 === 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } - if (c$2 < 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } - var c$3 = Curry._2(cmp, x1, x3); - if (c$3 === 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } else if (c$3 < 0) { - return { - hd: x1, - tl: { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } - } - var c$4 = Curry._2(cmp, x1, x3); - if (c$4 === 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - }; - } - if (c$4 < 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } - var c$5 = Curry._2(cmp, x2, x3); - if (c$5 === 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - }; - } else if (c$5 < 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } - } - - } - - } - - } else if (l) { - var match$2 = l.tl; - if (match$2) { - var x2$1 = match$2.hd; - var x1$1 = l.hd; - var c$6 = Curry._2(cmp, x1$1, x2$1); - if (c$6 === 0) { - return { - hd: x1$1, - tl: /* [] */0 - }; - } else if (c$6 < 0) { - return { - hd: x1$1, - tl: { - hd: x2$1, - tl: /* [] */0 - } - }; - } else { - return { - hd: x2$1, - tl: { - hd: x1$1, - tl: /* [] */0 - } - }; - } - } - - } - var n1 = (n >> 1); - var n2 = n - n1 | 0; - var l2 = chop(n1, l); - var s1 = rev_sort(n1, l); - var s2 = rev_sort(n2, l2); - var _l1 = s1; - var _l2 = s2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1 = _l1; - if (!l1) { - return rev_append(l2$1, accu); - } - if (!l2$1) { - return rev_append(l1, accu); - } - var t2 = l2$1.tl; - var h2 = l2$1.hd; - var t1 = l1.tl; - var h1 = l1.hd; - var c$7 = Curry._2(cmp, h1, h2); - if (c$7 === 0) { - _accu = { - hd: h1, - tl: accu - }; - _l2 = t2; - _l1 = t1; - continue ; - } - if (c$7 > 0) { - _accu = { - hd: h1, - tl: accu - }; - _l1 = t1; - continue ; - } - _accu = { - hd: h2, - tl: accu - }; - _l2 = t2; - continue ; - }; - }; - var rev_sort = function (n, l) { - if (n !== 2) { - if (n === 3 && l) { - var match = l.tl; - if (match) { - var match$1 = match.tl; - if (match$1) { - var x3 = match$1.hd; - var x2 = match.hd; - var x1 = l.hd; - var c = Curry._2(cmp, x1, x2); - if (c === 0) { - var c$1 = Curry._2(cmp, x2, x3); - if (c$1 === 0) { - return { - hd: x2, - tl: /* [] */0 - }; - } else if (c$1 > 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } - } - if (c > 0) { - var c$2 = Curry._2(cmp, x2, x3); - if (c$2 === 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } - if (c$2 > 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } - var c$3 = Curry._2(cmp, x1, x3); - if (c$3 === 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } else if (c$3 > 0) { - return { - hd: x1, - tl: { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } - } - var c$4 = Curry._2(cmp, x1, x3); - if (c$4 === 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - }; - } - if (c$4 > 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } - var c$5 = Curry._2(cmp, x2, x3); - if (c$5 === 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - }; - } else if (c$5 > 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } - } - - } - - } - - } else if (l) { - var match$2 = l.tl; - if (match$2) { - var x2$1 = match$2.hd; - var x1$1 = l.hd; - var c$6 = Curry._2(cmp, x1$1, x2$1); - if (c$6 === 0) { - return { - hd: x1$1, - tl: /* [] */0 - }; - } else if (c$6 > 0) { - return { - hd: x1$1, - tl: { - hd: x2$1, - tl: /* [] */0 - } - }; - } else { - return { - hd: x2$1, - tl: { - hd: x1$1, - tl: /* [] */0 - } - }; - } - } - - } - var n1 = (n >> 1); - var n2 = n - n1 | 0; - var l2 = chop(n1, l); - var s1 = sort(n1, l); - var s2 = sort(n2, l2); - var _l1 = s1; - var _l2 = s2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1 = _l1; - if (!l1) { - return rev_append(l2$1, accu); - } - if (!l2$1) { - return rev_append(l1, accu); - } - var t2 = l2$1.tl; - var h2 = l2$1.hd; - var t1 = l1.tl; - var h1 = l1.hd; - var c$7 = Curry._2(cmp, h1, h2); - if (c$7 === 0) { - _accu = { - hd: h1, - tl: accu - }; - _l2 = t2; - _l1 = t1; - continue ; - } - if (c$7 < 0) { - _accu = { - hd: h1, - tl: accu - }; - _l1 = t1; - continue ; - } - _accu = { - hd: h2, - tl: accu - }; - _l2 = t2; - continue ; - }; - }; - var len = length(l); - if (len < 2) { - return l; - } else { - return sort(len, l); - } -} - -function compare_lengths(_l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - if (l2) { - return -1; - } else { - return 0; - } - } - if (!l2) { - return 1; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function compare_length_with(_l, _n) { - while(true) { - var n = _n; - var l = _l; - if (!l) { - if (n === 0) { - return 0; - } else if (n > 0) { - return -1; - } else { - return 1; - } - } - if (n <= 0) { - return 1; - } - _n = n - 1 | 0; - _l = l.tl; - continue ; - }; -} - -var append = Pervasives.$at; - -var concat = flatten; - -var filter = find_all; - -var sort = stable_sort; - -var fast_sort = stable_sort; - -export { - length , - compare_lengths , - compare_length_with , - cons , - hd , - tl , - nth , - nth_opt , - rev , - init , - append , - rev_append , - concat , - flatten , - iter , - iteri , - map , - mapi$1 as mapi, - rev_map , - fold_left , - fold_right , - iter2 , - map2 , - rev_map2 , - fold_left2 , - fold_right2 , - for_all , - exists , - for_all2 , - exists2 , - mem , - memq , - find , - find_opt , - filter , - find_all , - partition , - assoc , - assoc_opt , - assq , - assq_opt , - mem_assoc , - mem_assq , - remove_assoc , - remove_assq , - split , - combine , - sort , - stable_sort , - fast_sort , - sort_uniq , - merge , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/listLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/listLabels.js deleted file mode 100644 index 25e0b60..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/listLabels.js +++ /dev/null @@ -1,1713 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_obj from "./caml_obj.js"; -import * as Pervasives from "./pervasives.js"; -import * as Caml_option from "./caml_option.js"; - -function length(l) { - var _len = 0; - var _param = l; - while(true) { - var param = _param; - var len = _len; - if (!param) { - return len; - } - _param = param.tl; - _len = len + 1 | 0; - continue ; - }; -} - -function cons(a, l) { - return { - hd: a, - tl: l - }; -} - -function hd(param) { - if (param) { - return param.hd; - } - throw { - RE_EXN_ID: "Failure", - _1: "hd", - Error: new Error() - }; -} - -function tl(param) { - if (param) { - return param.tl; - } - throw { - RE_EXN_ID: "Failure", - _1: "tl", - Error: new Error() - }; -} - -function nth(l, n) { - if (n < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.nth", - Error: new Error() - }; - } - var _l = l; - var _n = n; - while(true) { - var n$1 = _n; - var l$1 = _l; - if (l$1) { - if (n$1 === 0) { - return l$1.hd; - } - _n = n$1 - 1 | 0; - _l = l$1.tl; - continue ; - } - throw { - RE_EXN_ID: "Failure", - _1: "nth", - Error: new Error() - }; - }; -} - -function nth_opt(l, n) { - if (n < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.nth", - Error: new Error() - }; - } - var _l = l; - var _n = n; - while(true) { - var n$1 = _n; - var l$1 = _l; - if (!l$1) { - return ; - } - if (n$1 === 0) { - return Caml_option.some(l$1.hd); - } - _n = n$1 - 1 | 0; - _l = l$1.tl; - continue ; - }; -} - -function rev_append(_l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - return l2; - } - _l2 = { - hd: l1.hd, - tl: l2 - }; - _l1 = l1.tl; - continue ; - }; -} - -function rev(l) { - return rev_append(l, /* [] */0); -} - -function init_tailrec_aux(_acc, _i, n, f) { - while(true) { - var i = _i; - var acc = _acc; - if (i >= n) { - return acc; - } - _i = i + 1 | 0; - _acc = { - hd: Curry._1(f, i), - tl: acc - }; - continue ; - }; -} - -function init_aux(i, n, f) { - if (i >= n) { - return /* [] */0; - } - var r = Curry._1(f, i); - return { - hd: r, - tl: init_aux(i + 1 | 0, n, f) - }; -} - -function init(len, f) { - if (len < 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.init", - Error: new Error() - }; - } - if (len > 10000) { - return rev_append(init_tailrec_aux(/* [] */0, 0, len, f), /* [] */0); - } else { - return init_aux(0, len, f); - } -} - -function flatten(param) { - if (param) { - return Pervasives.$at(param.hd, flatten(param.tl)); - } else { - return /* [] */0; - } -} - -function map(f, param) { - if (!param) { - return /* [] */0; - } - var r = Curry._1(f, param.hd); - return { - hd: r, - tl: map(f, param.tl) - }; -} - -function mapi(i, f, param) { - if (!param) { - return /* [] */0; - } - var r = Curry._2(f, i, param.hd); - return { - hd: r, - tl: mapi(i + 1 | 0, f, param.tl) - }; -} - -function mapi$1(f, l) { - return mapi(0, f, l); -} - -function rev_map(f, l) { - var _accu = /* [] */0; - var _param = l; - while(true) { - var param = _param; - var accu = _accu; - if (!param) { - return accu; - } - _param = param.tl; - _accu = { - hd: Curry._1(f, param.hd), - tl: accu - }; - continue ; - }; -} - -function iter(f, _param) { - while(true) { - var param = _param; - if (!param) { - return ; - } - Curry._1(f, param.hd); - _param = param.tl; - continue ; - }; -} - -function iteri(f, l) { - var _i = 0; - var _param = l; - while(true) { - var param = _param; - var i = _i; - if (!param) { - return ; - } - Curry._2(f, i, param.hd); - _param = param.tl; - _i = i + 1 | 0; - continue ; - }; -} - -function fold_left(f, _accu, _l) { - while(true) { - var l = _l; - var accu = _accu; - if (!l) { - return accu; - } - _l = l.tl; - _accu = Curry._2(f, accu, l.hd); - continue ; - }; -} - -function fold_right(f, l, accu) { - if (l) { - return Curry._2(f, l.hd, fold_right(f, l.tl, accu)); - } else { - return accu; - } -} - -function map2(f, l1, l2) { - if (l1) { - if (l2) { - var r = Curry._2(f, l1.hd, l2.hd); - return { - hd: r, - tl: map2(f, l1.tl, l2.tl) - }; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.map2", - Error: new Error() - }; - } - if (!l2) { - return /* [] */0; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.map2", - Error: new Error() - }; -} - -function rev_map2(f, l1, l2) { - var _accu = /* [] */0; - var _l1 = l1; - var _l2 = l2; - while(true) { - var l2$1 = _l2; - var l1$1 = _l1; - var accu = _accu; - if (l1$1) { - if (l2$1) { - _l2 = l2$1.tl; - _l1 = l1$1.tl; - _accu = { - hd: Curry._2(f, l1$1.hd, l2$1.hd), - tl: accu - }; - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.rev_map2", - Error: new Error() - }; - } - if (l2$1) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.rev_map2", - Error: new Error() - }; - } - return accu; - }; -} - -function iter2(f, _l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (l1) { - if (l2) { - Curry._2(f, l1.hd, l2.hd); - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.iter2", - Error: new Error() - }; - } - if (!l2) { - return ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.iter2", - Error: new Error() - }; - }; -} - -function fold_left2(f, _accu, _l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - var accu = _accu; - if (l1) { - if (l2) { - _l2 = l2.tl; - _l1 = l1.tl; - _accu = Curry._3(f, accu, l1.hd, l2.hd); - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.fold_left2", - Error: new Error() - }; - } - if (l2) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.fold_left2", - Error: new Error() - }; - } - return accu; - }; -} - -function fold_right2(f, l1, l2, accu) { - if (l1) { - if (l2) { - return Curry._3(f, l1.hd, l2.hd, fold_right2(f, l1.tl, l2.tl, accu)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.fold_right2", - Error: new Error() - }; - } - if (l2) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.fold_right2", - Error: new Error() - }; - } - return accu; -} - -function for_all(p, _param) { - while(true) { - var param = _param; - if (!param) { - return true; - } - if (!Curry._1(p, param.hd)) { - return false; - } - _param = param.tl; - continue ; - }; -} - -function exists(p, _param) { - while(true) { - var param = _param; - if (!param) { - return false; - } - if (Curry._1(p, param.hd)) { - return true; - } - _param = param.tl; - continue ; - }; -} - -function for_all2(p, _l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (l1) { - if (l2) { - if (!Curry._2(p, l1.hd, l2.hd)) { - return false; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.for_all2", - Error: new Error() - }; - } - if (!l2) { - return true; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.for_all2", - Error: new Error() - }; - }; -} - -function exists2(p, _l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (l1) { - if (l2) { - if (Curry._2(p, l1.hd, l2.hd)) { - return true; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.exists2", - Error: new Error() - }; - } - if (!l2) { - return false; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.exists2", - Error: new Error() - }; - }; -} - -function mem(x, _set) { - while(true) { - var set = _set; - if (!set) { - return false; - } - if (Caml_obj.equal(set.hd, x)) { - return true; - } - _set = set.tl; - continue ; - }; -} - -function memq(x, _set) { - while(true) { - var set = _set; - if (!set) { - return false; - } - if (set.hd === x) { - return true; - } - _set = set.tl; - continue ; - }; -} - -function assoc(x, _param) { - while(true) { - var param = _param; - if (param) { - var match = param.hd; - if (Caml_obj.equal(match[0], x)) { - return match[1]; - } - _param = param.tl; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function assoc_opt(x, _param) { - while(true) { - var param = _param; - if (!param) { - return ; - } - var match = param.hd; - if (Caml_obj.equal(match[0], x)) { - return Caml_option.some(match[1]); - } - _param = param.tl; - continue ; - }; -} - -function assq(x, _param) { - while(true) { - var param = _param; - if (param) { - var match = param.hd; - if (match[0] === x) { - return match[1]; - } - _param = param.tl; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function assq_opt(x, _param) { - while(true) { - var param = _param; - if (!param) { - return ; - } - var match = param.hd; - if (match[0] === x) { - return Caml_option.some(match[1]); - } - _param = param.tl; - continue ; - }; -} - -function mem_assoc(x, _map) { - while(true) { - var map = _map; - if (!map) { - return false; - } - if (Caml_obj.equal(map.hd[0], x)) { - return true; - } - _map = map.tl; - continue ; - }; -} - -function mem_assq(x, _map) { - while(true) { - var map = _map; - if (!map) { - return false; - } - if (map.hd[0] === x) { - return true; - } - _map = map.tl; - continue ; - }; -} - -function remove_assoc(x, param) { - if (!param) { - return /* [] */0; - } - var l = param.tl; - var pair = param.hd; - if (Caml_obj.equal(pair[0], x)) { - return l; - } else { - return { - hd: pair, - tl: remove_assoc(x, l) - }; - } -} - -function remove_assq(x, param) { - if (!param) { - return /* [] */0; - } - var l = param.tl; - var pair = param.hd; - if (pair[0] === x) { - return l; - } else { - return { - hd: pair, - tl: remove_assq(x, l) - }; - } -} - -function find(p, _param) { - while(true) { - var param = _param; - if (param) { - var x = param.hd; - if (Curry._1(p, x)) { - return x; - } - _param = param.tl; - continue ; - } - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - }; -} - -function find_opt(p, _param) { - while(true) { - var param = _param; - if (!param) { - return ; - } - var x = param.hd; - if (Curry._1(p, x)) { - return Caml_option.some(x); - } - _param = param.tl; - continue ; - }; -} - -function find_all(p) { - return function (param) { - var _accu = /* [] */0; - var _param = param; - while(true) { - var param$1 = _param; - var accu = _accu; - if (!param$1) { - return rev_append(accu, /* [] */0); - } - var l = param$1.tl; - var x = param$1.hd; - if (Curry._1(p, x)) { - _param = l; - _accu = { - hd: x, - tl: accu - }; - continue ; - } - _param = l; - continue ; - }; - }; -} - -function partition(p, l) { - var _yes = /* [] */0; - var _no = /* [] */0; - var _param = l; - while(true) { - var param = _param; - var no = _no; - var yes = _yes; - if (!param) { - return [ - rev_append(yes, /* [] */0), - rev_append(no, /* [] */0) - ]; - } - var l$1 = param.tl; - var x = param.hd; - if (Curry._1(p, x)) { - _param = l$1; - _yes = { - hd: x, - tl: yes - }; - continue ; - } - _param = l$1; - _no = { - hd: x, - tl: no - }; - continue ; - }; -} - -function split(param) { - if (!param) { - return [ - /* [] */0, - /* [] */0 - ]; - } - var match = param.hd; - var match$1 = split(param.tl); - return [ - { - hd: match[0], - tl: match$1[0] - }, - { - hd: match[1], - tl: match$1[1] - } - ]; -} - -function combine(l1, l2) { - if (l1) { - if (l2) { - return { - hd: [ - l1.hd, - l2.hd - ], - tl: combine(l1.tl, l2.tl) - }; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.combine", - Error: new Error() - }; - } - if (!l2) { - return /* [] */0; - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "List.combine", - Error: new Error() - }; -} - -function merge(cmp, l1, l2) { - if (!l1) { - return l2; - } - if (!l2) { - return l1; - } - var h2 = l2.hd; - var h1 = l1.hd; - if (Curry._2(cmp, h1, h2) <= 0) { - return { - hd: h1, - tl: merge(cmp, l1.tl, l2) - }; - } else { - return { - hd: h2, - tl: merge(cmp, l1, l2.tl) - }; - } -} - -function chop(_k, _l) { - while(true) { - var l = _l; - var k = _k; - if (k === 0) { - return l; - } - if (l) { - _l = l.tl; - _k = k - 1 | 0; - continue ; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "listLabels.res", - 420, - 11 - ], - Error: new Error() - }; - }; -} - -function stable_sort(cmp, l) { - var sort = function (n, l) { - if (n !== 2) { - if (n === 3 && l) { - var match = l.tl; - if (match) { - var match$1 = match.tl; - if (match$1) { - var x3 = match$1.hd; - var x2 = match.hd; - var x1 = l.hd; - if (Curry._2(cmp, x1, x2) <= 0) { - if (Curry._2(cmp, x2, x3) <= 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } else if (Curry._2(cmp, x1, x3) <= 0) { - return { - hd: x1, - tl: { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } - } else if (Curry._2(cmp, x1, x3) <= 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } else if (Curry._2(cmp, x2, x3) <= 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } - } - - } - - } - - } else if (l) { - var match$2 = l.tl; - if (match$2) { - var x2$1 = match$2.hd; - var x1$1 = l.hd; - if (Curry._2(cmp, x1$1, x2$1) <= 0) { - return { - hd: x1$1, - tl: { - hd: x2$1, - tl: /* [] */0 - } - }; - } else { - return { - hd: x2$1, - tl: { - hd: x1$1, - tl: /* [] */0 - } - }; - } - } - - } - var n1 = (n >> 1); - var n2 = n - n1 | 0; - var l2 = chop(n1, l); - var s1 = rev_sort(n1, l); - var s2 = rev_sort(n2, l2); - var _l1 = s1; - var _l2 = s2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1 = _l1; - if (!l1) { - return rev_append(l2$1, accu); - } - if (!l2$1) { - return rev_append(l1, accu); - } - var h2 = l2$1.hd; - var h1 = l1.hd; - if (Curry._2(cmp, h1, h2) > 0) { - _accu = { - hd: h1, - tl: accu - }; - _l1 = l1.tl; - continue ; - } - _accu = { - hd: h2, - tl: accu - }; - _l2 = l2$1.tl; - continue ; - }; - }; - var rev_sort = function (n, l) { - if (n !== 2) { - if (n === 3 && l) { - var match = l.tl; - if (match) { - var match$1 = match.tl; - if (match$1) { - var x3 = match$1.hd; - var x2 = match.hd; - var x1 = l.hd; - if (Curry._2(cmp, x1, x2) > 0) { - if (Curry._2(cmp, x2, x3) > 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } else if (Curry._2(cmp, x1, x3) > 0) { - return { - hd: x1, - tl: { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } - } else if (Curry._2(cmp, x1, x3) > 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } else if (Curry._2(cmp, x2, x3) > 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } - } - - } - - } - - } else if (l) { - var match$2 = l.tl; - if (match$2) { - var x2$1 = match$2.hd; - var x1$1 = l.hd; - if (Curry._2(cmp, x1$1, x2$1) > 0) { - return { - hd: x1$1, - tl: { - hd: x2$1, - tl: /* [] */0 - } - }; - } else { - return { - hd: x2$1, - tl: { - hd: x1$1, - tl: /* [] */0 - } - }; - } - } - - } - var n1 = (n >> 1); - var n2 = n - n1 | 0; - var l2 = chop(n1, l); - var s1 = sort(n1, l); - var s2 = sort(n2, l2); - var _l1 = s1; - var _l2 = s2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1 = _l1; - if (!l1) { - return rev_append(l2$1, accu); - } - if (!l2$1) { - return rev_append(l1, accu); - } - var h2 = l2$1.hd; - var h1 = l1.hd; - if (Curry._2(cmp, h1, h2) <= 0) { - _accu = { - hd: h1, - tl: accu - }; - _l1 = l1.tl; - continue ; - } - _accu = { - hd: h2, - tl: accu - }; - _l2 = l2$1.tl; - continue ; - }; - }; - var len = length(l); - if (len < 2) { - return l; - } else { - return sort(len, l); - } -} - -function sort_uniq(cmp, l) { - var sort = function (n, l) { - if (n !== 2) { - if (n === 3 && l) { - var match = l.tl; - if (match) { - var match$1 = match.tl; - if (match$1) { - var x3 = match$1.hd; - var x2 = match.hd; - var x1 = l.hd; - var c = Curry._2(cmp, x1, x2); - if (c === 0) { - var c$1 = Curry._2(cmp, x2, x3); - if (c$1 === 0) { - return { - hd: x2, - tl: /* [] */0 - }; - } else if (c$1 < 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } - } - if (c < 0) { - var c$2 = Curry._2(cmp, x2, x3); - if (c$2 === 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } - if (c$2 < 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } - var c$3 = Curry._2(cmp, x1, x3); - if (c$3 === 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } else if (c$3 < 0) { - return { - hd: x1, - tl: { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } - } - var c$4 = Curry._2(cmp, x1, x3); - if (c$4 === 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - }; - } - if (c$4 < 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } - var c$5 = Curry._2(cmp, x2, x3); - if (c$5 === 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - }; - } else if (c$5 < 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } - } - - } - - } - - } else if (l) { - var match$2 = l.tl; - if (match$2) { - var x2$1 = match$2.hd; - var x1$1 = l.hd; - var c$6 = Curry._2(cmp, x1$1, x2$1); - if (c$6 === 0) { - return { - hd: x1$1, - tl: /* [] */0 - }; - } else if (c$6 < 0) { - return { - hd: x1$1, - tl: { - hd: x2$1, - tl: /* [] */0 - } - }; - } else { - return { - hd: x2$1, - tl: { - hd: x1$1, - tl: /* [] */0 - } - }; - } - } - - } - var n1 = (n >> 1); - var n2 = n - n1 | 0; - var l2 = chop(n1, l); - var s1 = rev_sort(n1, l); - var s2 = rev_sort(n2, l2); - var _l1 = s1; - var _l2 = s2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1 = _l1; - if (!l1) { - return rev_append(l2$1, accu); - } - if (!l2$1) { - return rev_append(l1, accu); - } - var t2 = l2$1.tl; - var h2 = l2$1.hd; - var t1 = l1.tl; - var h1 = l1.hd; - var c$7 = Curry._2(cmp, h1, h2); - if (c$7 === 0) { - _accu = { - hd: h1, - tl: accu - }; - _l2 = t2; - _l1 = t1; - continue ; - } - if (c$7 > 0) { - _accu = { - hd: h1, - tl: accu - }; - _l1 = t1; - continue ; - } - _accu = { - hd: h2, - tl: accu - }; - _l2 = t2; - continue ; - }; - }; - var rev_sort = function (n, l) { - if (n !== 2) { - if (n === 3 && l) { - var match = l.tl; - if (match) { - var match$1 = match.tl; - if (match$1) { - var x3 = match$1.hd; - var x2 = match.hd; - var x1 = l.hd; - var c = Curry._2(cmp, x1, x2); - if (c === 0) { - var c$1 = Curry._2(cmp, x2, x3); - if (c$1 === 0) { - return { - hd: x2, - tl: /* [] */0 - }; - } else if (c$1 > 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } - } - if (c > 0) { - var c$2 = Curry._2(cmp, x2, x3); - if (c$2 === 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } - if (c$2 > 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } - var c$3 = Curry._2(cmp, x1, x3); - if (c$3 === 0) { - return { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - }; - } else if (c$3 > 0) { - return { - hd: x1, - tl: { - hd: x3, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x1, - tl: { - hd: x2, - tl: /* [] */0 - } - } - }; - } - } - var c$4 = Curry._2(cmp, x1, x3); - if (c$4 === 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - }; - } - if (c$4 > 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: { - hd: x3, - tl: /* [] */0 - } - } - }; - } - var c$5 = Curry._2(cmp, x2, x3); - if (c$5 === 0) { - return { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - }; - } else if (c$5 > 0) { - return { - hd: x2, - tl: { - hd: x3, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } else { - return { - hd: x3, - tl: { - hd: x2, - tl: { - hd: x1, - tl: /* [] */0 - } - } - }; - } - } - - } - - } - - } else if (l) { - var match$2 = l.tl; - if (match$2) { - var x2$1 = match$2.hd; - var x1$1 = l.hd; - var c$6 = Curry._2(cmp, x1$1, x2$1); - if (c$6 === 0) { - return { - hd: x1$1, - tl: /* [] */0 - }; - } else if (c$6 > 0) { - return { - hd: x1$1, - tl: { - hd: x2$1, - tl: /* [] */0 - } - }; - } else { - return { - hd: x2$1, - tl: { - hd: x1$1, - tl: /* [] */0 - } - }; - } - } - - } - var n1 = (n >> 1); - var n2 = n - n1 | 0; - var l2 = chop(n1, l); - var s1 = sort(n1, l); - var s2 = sort(n2, l2); - var _l1 = s1; - var _l2 = s2; - var _accu = /* [] */0; - while(true) { - var accu = _accu; - var l2$1 = _l2; - var l1 = _l1; - if (!l1) { - return rev_append(l2$1, accu); - } - if (!l2$1) { - return rev_append(l1, accu); - } - var t2 = l2$1.tl; - var h2 = l2$1.hd; - var t1 = l1.tl; - var h1 = l1.hd; - var c$7 = Curry._2(cmp, h1, h2); - if (c$7 === 0) { - _accu = { - hd: h1, - tl: accu - }; - _l2 = t2; - _l1 = t1; - continue ; - } - if (c$7 < 0) { - _accu = { - hd: h1, - tl: accu - }; - _l1 = t1; - continue ; - } - _accu = { - hd: h2, - tl: accu - }; - _l2 = t2; - continue ; - }; - }; - var len = length(l); - if (len < 2) { - return l; - } else { - return sort(len, l); - } -} - -function compare_lengths(_l1, _l2) { - while(true) { - var l2 = _l2; - var l1 = _l1; - if (!l1) { - if (l2) { - return -1; - } else { - return 0; - } - } - if (!l2) { - return 1; - } - _l2 = l2.tl; - _l1 = l1.tl; - continue ; - }; -} - -function compare_length_with(_l, _n) { - while(true) { - var n = _n; - var l = _l; - if (!l) { - if (n === 0) { - return 0; - } else if (n > 0) { - return -1; - } else { - return 1; - } - } - if (n <= 0) { - return 1; - } - _n = n - 1 | 0; - _l = l.tl; - continue ; - }; -} - -var append = Pervasives.$at; - -var concat = flatten; - -var filter = find_all; - -var sort = stable_sort; - -var fast_sort = stable_sort; - -export { - length , - hd , - compare_lengths , - compare_length_with , - cons , - tl , - nth , - nth_opt , - rev , - init , - append , - rev_append , - concat , - flatten , - iter , - iteri , - map , - mapi$1 as mapi, - rev_map , - fold_left , - fold_right , - iter2 , - map2 , - rev_map2 , - fold_left2 , - fold_right2 , - for_all , - exists , - for_all2 , - exists2 , - mem , - memq , - find , - find_opt , - filter , - find_all , - partition , - assoc , - assoc_opt , - assq , - assq_opt , - mem_assoc , - mem_assq , - remove_assoc , - remove_assq , - split , - combine , - sort , - stable_sort , - fast_sort , - sort_uniq , - merge , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/map.js b/bots/sustainabot/bot-integration/rescript-runtime/map.js deleted file mode 100644 index 24f7f3f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/map.js +++ /dev/null @@ -1,951 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; - -function Make(funarg) { - var height = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return param.h; - } - }; - var create = function (l, x, d, r) { - var hl = height(l); - var hr = height(r); - return { - TAG: "Node", - l: l, - v: x, - d: d, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - }; - var singleton = function (x, d) { - return { - TAG: "Node", - l: "Empty", - v: x, - d: d, - r: "Empty", - h: 1 - }; - }; - var bal = function (l, x, d, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - if (hl > (hr + 2 | 0)) { - if (typeof l !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - var lr = l.r; - var ld = l.d; - var lv = l.v; - var ll = l.l; - if (height(ll) >= height(lr)) { - return create(ll, lv, ld, create(lr, x, d, r)); - } - if (typeof lr === "object") { - return create(create(ll, lv, ld, lr.l), lr.v, lr.d, create(lr.r, x, d, r)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - if (hr <= (hl + 2 | 0)) { - return { - TAG: "Node", - l: l, - v: x, - d: d, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - } - if (typeof r !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - var rr = r.r; - var rd = r.d; - var rv = r.v; - var rl = r.l; - if (height(rr) >= height(rl)) { - return create(create(l, x, d, rl), rv, rd, rr); - } - if (typeof rl === "object") { - return create(create(l, x, d, rl.l), rl.v, rl.d, create(rl.r, rv, rd, rr)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - }; - var is_empty = function (param) { - if (typeof param !== "object") { - return true; - } else { - return false; - } - }; - var add = function (x, data, param) { - if (typeof param !== "object") { - return { - TAG: "Node", - l: "Empty", - v: x, - d: data, - r: "Empty", - h: 1 - }; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - if (d === data) { - return param; - } else { - return { - TAG: "Node", - l: l, - v: x, - d: data, - r: r, - h: param.h - }; - } - } - if (c < 0) { - var ll = add(x, data, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = add(x, data, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var find = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var c = Curry._2(funarg.compare, x, param.v); - if (c === 0) { - return param.d; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var find_first = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - var _v0 = v; - var _d0 = param.d; - var _param$1 = param.l; - while(true) { - var param$1 = _param$1; - var d0 = _d0; - var v0 = _v0; - if (typeof param$1 !== "object") { - return [ - v0, - d0 - ]; - } - var v$1 = param$1.v; - if (Curry._1(f, v$1)) { - _param$1 = param$1.l; - _d0 = param$1.d; - _v0 = v$1; - continue ; - } - _param$1 = param$1.r; - continue ; - }; - } - _param = param.r; - continue ; - }; - }; - var find_first_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - var _v0 = v; - var _d0 = param.d; - var _param$1 = param.l; - while(true) { - var param$1 = _param$1; - var d0 = _d0; - var v0 = _v0; - if (typeof param$1 !== "object") { - return [ - v0, - d0 - ]; - } - var v$1 = param$1.v; - if (Curry._1(f, v$1)) { - _param$1 = param$1.l; - _d0 = param$1.d; - _v0 = v$1; - continue ; - } - _param$1 = param$1.r; - continue ; - }; - } - _param = param.r; - continue ; - }; - }; - var find_last = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - var _v0 = v; - var _d0 = param.d; - var _param$1 = param.r; - while(true) { - var param$1 = _param$1; - var d0 = _d0; - var v0 = _v0; - if (typeof param$1 !== "object") { - return [ - v0, - d0 - ]; - } - var v$1 = param$1.v; - if (Curry._1(f, v$1)) { - _param$1 = param$1.r; - _d0 = param$1.d; - _v0 = v$1; - continue ; - } - _param$1 = param$1.l; - continue ; - }; - } - _param = param.l; - continue ; - }; - }; - var find_last_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - var _v0 = v; - var _d0 = param.d; - var _param$1 = param.r; - while(true) { - var param$1 = _param$1; - var d0 = _d0; - var v0 = _v0; - if (typeof param$1 !== "object") { - return [ - v0, - d0 - ]; - } - var v$1 = param$1.v; - if (Curry._1(f, v$1)) { - _param$1 = param$1.r; - _d0 = param$1.d; - _v0 = v$1; - continue ; - } - _param$1 = param$1.l; - continue ; - }; - } - _param = param.l; - continue ; - }; - }; - var find_opt = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var c = Curry._2(funarg.compare, x, param.v); - if (c === 0) { - return Caml_option.some(param.d); - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var mem = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var c = Curry._2(funarg.compare, x, param.v); - if (c === 0) { - return true; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var min_binding = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return [ - param.v, - param.d - ]; - } - _param = l; - continue ; - }; - }; - var min_binding_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var l = param.l; - if (typeof l !== "object") { - return [ - param.v, - param.d - ]; - } - _param = l; - continue ; - }; - }; - var max_binding = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var r = param.r; - if (typeof r !== "object") { - return [ - param.v, - param.d - ]; - } - _param = r; - continue ; - }; - }; - var max_binding_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var r = param.r; - if (typeof r !== "object") { - return [ - param.v, - param.d - ]; - } - _param = r; - continue ; - }; - }; - var remove_min_binding = function (param) { - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.remove_min_elt", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.r; - } else { - return bal(remove_min_binding(l), param.v, param.d, param.r); - } - }; - var merge = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } - if (typeof t2 !== "object") { - return t1; - } - var match = min_binding(t2); - return bal(t1, match[0], match[1], remove_min_binding(t2)); - }; - var remove = function (x, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return merge(l, r); - } - if (c < 0) { - var ll = remove(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = remove(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var update = function (x, f, param) { - if (typeof param !== "object") { - var data = Curry._1(f, undefined); - if (data !== undefined) { - return { - TAG: "Node", - l: "Empty", - v: x, - d: Caml_option.valFromOption(data), - r: "Empty", - h: 1 - }; - } else { - return "Empty"; - } - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - var data$1 = Curry._1(f, Caml_option.some(d)); - if (data$1 === undefined) { - return merge(l, r); - } - var data$2 = Caml_option.valFromOption(data$1); - if (d === data$2) { - return param; - } else { - return { - TAG: "Node", - l: l, - v: x, - d: data$2, - r: r, - h: param.h - }; - } - } - if (c < 0) { - var ll = update(x, f, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = update(x, f, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var iter = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - iter(f, param.l); - Curry._2(f, param.v, param.d); - _param = param.r; - continue ; - }; - }; - var map = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var l$p = map(f, param.l); - var d$p = Curry._1(f, param.d); - var r$p = map(f, param.r); - return { - TAG: "Node", - l: l$p, - v: param.v, - d: d$p, - r: r$p, - h: param.h - }; - }; - var mapi = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var v = param.v; - var l$p = mapi(f, param.l); - var d$p = Curry._2(f, v, param.d); - var r$p = mapi(f, param.r); - return { - TAG: "Node", - l: l$p, - v: v, - d: d$p, - r: r$p, - h: param.h - }; - }; - var fold = function (f, _m, _accu) { - while(true) { - var accu = _accu; - var m = _m; - if (typeof m !== "object") { - return accu; - } - _accu = Curry._3(f, m.v, m.d, fold(f, m.l, accu)); - _m = m.r; - continue ; - }; - }; - var for_all = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - if (!Curry._2(p, param.v, param.d)) { - return false; - } - if (!for_all(p, param.l)) { - return false; - } - _param = param.r; - continue ; - }; - }; - var exists = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - if (Curry._2(p, param.v, param.d)) { - return true; - } - if (exists(p, param.l)) { - return true; - } - _param = param.r; - continue ; - }; - }; - var add_min_binding = function (k, x, param) { - if (typeof param !== "object") { - return singleton(k, x); - } else { - return bal(add_min_binding(k, x, param.l), param.v, param.d, param.r); - } - }; - var add_max_binding = function (k, x, param) { - if (typeof param !== "object") { - return singleton(k, x); - } else { - return bal(param.l, param.v, param.d, add_max_binding(k, x, param.r)); - } - }; - var join = function (l, v, d, r) { - if (typeof l !== "object") { - return add_min_binding(v, d, r); - } - var lh = l.h; - if (typeof r !== "object") { - return add_max_binding(v, d, l); - } - var rh = r.h; - if (lh > (rh + 2 | 0)) { - return bal(l.l, l.v, l.d, join(l.r, v, d, r)); - } else if (rh > (lh + 2 | 0)) { - return bal(join(l, v, d, r.l), r.v, r.d, r.r); - } else { - return create(l, v, d, r); - } - }; - var concat = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } - if (typeof t2 !== "object") { - return t1; - } - var match = min_binding(t2); - return join(t1, match[0], match[1], remove_min_binding(t2)); - }; - var concat_or_join = function (t1, v, d, t2) { - if (d !== undefined) { - return join(t1, v, Caml_option.valFromOption(d), t2); - } else { - return concat(t1, t2); - } - }; - var split = function (x, param) { - if (typeof param !== "object") { - return [ - "Empty", - undefined, - "Empty" - ]; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return [ - l, - Caml_option.some(d), - r - ]; - } - if (c < 0) { - var match = split(x, l); - return [ - match[0], - match[1], - join(match[2], v, d, r) - ]; - } - var match$1 = split(x, r); - return [ - join(l, v, d, match$1[0]), - match$1[1], - match$1[2] - ]; - }; - var merge$1 = function (f, s1, s2) { - if (typeof s1 !== "object") { - if (typeof s2 !== "object") { - return "Empty"; - } - - } else { - var v1 = s1.v; - if (s1.h >= height(s2)) { - var match = split(v1, s2); - return concat_or_join(merge$1(f, s1.l, match[0]), v1, Curry._3(f, v1, Caml_option.some(s1.d), match[1]), merge$1(f, s1.r, match[2])); - } - - } - if (typeof s2 !== "object") { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "map.res", - 552, - 11 - ], - Error: new Error() - }; - } - var v2 = s2.v; - var match$1 = split(v2, s1); - return concat_or_join(merge$1(f, match$1[0], s2.l), v2, Curry._3(f, v2, match$1[1], Caml_option.some(s2.d)), merge$1(f, match$1[2], s2.r)); - }; - var union = function (f, s1, s2) { - if (typeof s1 !== "object") { - return s2; - } - var d1 = s1.d; - var v1 = s1.v; - if (typeof s2 !== "object") { - return s1; - } - var d2 = s2.d; - var v2 = s2.v; - if (s1.h >= s2.h) { - var match = split(v1, s2); - var d2$1 = match[1]; - var l = union(f, s1.l, match[0]); - var r = union(f, s1.r, match[2]); - if (d2$1 !== undefined) { - return concat_or_join(l, v1, Curry._3(f, v1, d1, Caml_option.valFromOption(d2$1)), r); - } else { - return join(l, v1, d1, r); - } - } - var match$1 = split(v2, s1); - var d1$1 = match$1[1]; - var l$1 = union(f, match$1[0], s2.l); - var r$1 = union(f, match$1[2], s2.r); - if (d1$1 !== undefined) { - return concat_or_join(l$1, v2, Curry._3(f, v2, Caml_option.valFromOption(d1$1), d2), r$1); - } else { - return join(l$1, v2, d2, r$1); - } - }; - var filter = function (p, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var l$p = filter(p, l); - var pvd = Curry._2(p, v, d); - var r$p = filter(p, r); - if (pvd) { - if (l === l$p && r === r$p) { - return param; - } else { - return join(l$p, v, d, r$p); - } - } else { - return concat(l$p, r$p); - } - }; - var partition = function (p, param) { - if (typeof param !== "object") { - return [ - "Empty", - "Empty" - ]; - } - var d = param.d; - var v = param.v; - var match = partition(p, param.l); - var lf = match[1]; - var lt = match[0]; - var pvd = Curry._2(p, v, d); - var match$1 = partition(p, param.r); - var rf = match$1[1]; - var rt = match$1[0]; - if (pvd) { - return [ - join(lt, v, d, rt), - concat(lf, rf) - ]; - } else { - return [ - concat(lt, rt), - join(lf, v, d, rf) - ]; - } - }; - var cons_enum = function (_m, _e) { - while(true) { - var e = _e; - var m = _m; - if (typeof m !== "object") { - return e; - } - _e = { - TAG: "More", - _0: m.v, - _1: m.d, - _2: m.r, - _3: e - }; - _m = m.l; - continue ; - }; - }; - var compare = function (cmp, m1, m2) { - var _e1 = cons_enum(m1, "End"); - var _e2 = cons_enum(m2, "End"); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return 0; - } else { - return -1; - } - } - if (typeof e2 !== "object") { - return 1; - } - var c = Curry._2(funarg.compare, e1._0, e2._0); - if (c !== 0) { - return c; - } - var c$1 = Curry._2(cmp, e1._1, e2._1); - if (c$1 !== 0) { - return c$1; - } - _e2 = cons_enum(e2._2, e2._3); - _e1 = cons_enum(e1._2, e1._3); - continue ; - }; - }; - var equal = function (cmp, m1, m2) { - var _e1 = cons_enum(m1, "End"); - var _e2 = cons_enum(m2, "End"); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return true; - } else { - return false; - } - } - if (typeof e2 !== "object") { - return false; - } - if (Curry._2(funarg.compare, e1._0, e2._0) !== 0) { - return false; - } - if (!Curry._2(cmp, e1._1, e2._1)) { - return false; - } - _e2 = cons_enum(e2._2, e2._3); - _e1 = cons_enum(e1._2, e1._3); - continue ; - }; - }; - var cardinal = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return (cardinal(param.l) + 1 | 0) + cardinal(param.r) | 0; - } - }; - var bindings_aux = function (_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (typeof param !== "object") { - return accu; - } - _param = param.l; - _accu = { - hd: [ - param.v, - param.d - ], - tl: bindings_aux(accu, param.r) - }; - continue ; - }; - }; - var bindings = function (s) { - return bindings_aux(/* [] */0, s); - }; - return { - empty: "Empty", - is_empty: is_empty, - mem: mem, - add: add, - update: update, - singleton: singleton, - remove: remove, - merge: merge$1, - union: union, - compare: compare, - equal: equal, - iter: iter, - fold: fold, - for_all: for_all, - exists: exists, - filter: filter, - partition: partition, - cardinal: cardinal, - bindings: bindings, - min_binding: min_binding, - min_binding_opt: min_binding_opt, - max_binding: max_binding, - max_binding_opt: max_binding_opt, - choose: min_binding, - choose_opt: min_binding_opt, - split: split, - find: find, - find_opt: find_opt, - find_first: find_first, - find_first_opt: find_first_opt, - find_last: find_last, - find_last_opt: find_last_opt, - map: map, - mapi: mapi - }; -} - -export { - Make , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/mapLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/mapLabels.js deleted file mode 100644 index 5922b20..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/mapLabels.js +++ /dev/null @@ -1,966 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; - -function Make(Ord) { - var height = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return param.h; - } - }; - var create = function (l, x, d, r) { - var hl = height(l); - var hr = height(r); - return { - TAG: "Node", - l: l, - v: x, - d: d, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - }; - var singleton = function (x, d) { - return { - TAG: "Node", - l: "Empty", - v: x, - d: d, - r: "Empty", - h: 1 - }; - }; - var bal = function (l, x, d, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - if (hl > (hr + 2 | 0)) { - if (typeof l !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - var lr = l.r; - var ld = l.d; - var lv = l.v; - var ll = l.l; - if (height(ll) >= height(lr)) { - return create(ll, lv, ld, create(lr, x, d, r)); - } - if (typeof lr === "object") { - return create(create(ll, lv, ld, lr.l), lr.v, lr.d, create(lr.r, x, d, r)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - if (hr <= (hl + 2 | 0)) { - return { - TAG: "Node", - l: l, - v: x, - d: d, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - } - if (typeof r !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - var rr = r.r; - var rd = r.d; - var rv = r.v; - var rl = r.l; - if (height(rr) >= height(rl)) { - return create(create(l, x, d, rl), rv, rd, rr); - } - if (typeof rl === "object") { - return create(create(l, x, d, rl.l), rl.v, rl.d, create(rl.r, rv, rd, rr)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - }; - var is_empty = function (param) { - if (typeof param !== "object") { - return true; - } else { - return false; - } - }; - var add = function (x, data, param) { - if (typeof param !== "object") { - return { - TAG: "Node", - l: "Empty", - v: x, - d: data, - r: "Empty", - h: 1 - }; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - if (d === data) { - return param; - } else { - return { - TAG: "Node", - l: l, - v: x, - d: data, - r: r, - h: param.h - }; - } - } - if (c < 0) { - var ll = add(x, data, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = add(x, data, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var find = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var c = Curry._2(Ord.compare, x, param.v); - if (c === 0) { - return param.d; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var find_first_aux = function (_v0, _d0, f, _param) { - while(true) { - var param = _param; - var d0 = _d0; - var v0 = _v0; - if (typeof param !== "object") { - return [ - v0, - d0 - ]; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.l; - _d0 = param.d; - _v0 = v; - continue ; - } - _param = param.r; - continue ; - }; - }; - var find_first = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_first_aux(v, param.d, f, param.l); - } - _param = param.r; - continue ; - }; - }; - var find_first_opt_aux = function (_v0, _d0, f, _param) { - while(true) { - var param = _param; - var d0 = _d0; - var v0 = _v0; - if (typeof param !== "object") { - return [ - v0, - d0 - ]; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.l; - _d0 = param.d; - _v0 = v; - continue ; - } - _param = param.r; - continue ; - }; - }; - var find_first_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_first_opt_aux(v, param.d, f, param.l); - } - _param = param.r; - continue ; - }; - }; - var find_last_aux = function (_v0, _d0, f, _param) { - while(true) { - var param = _param; - var d0 = _d0; - var v0 = _v0; - if (typeof param !== "object") { - return [ - v0, - d0 - ]; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.r; - _d0 = param.d; - _v0 = v; - continue ; - } - _param = param.l; - continue ; - }; - }; - var find_last = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_last_aux(v, param.d, f, param.r); - } - _param = param.l; - continue ; - }; - }; - var find_last_opt_aux = function (_v0, _d0, f, _param) { - while(true) { - var param = _param; - var d0 = _d0; - var v0 = _v0; - if (typeof param !== "object") { - return [ - v0, - d0 - ]; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.r; - _d0 = param.d; - _v0 = v; - continue ; - } - _param = param.l; - continue ; - }; - }; - var find_last_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_last_opt_aux(v, param.d, f, param.r); - } - _param = param.l; - continue ; - }; - }; - var find_opt = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var c = Curry._2(Ord.compare, x, param.v); - if (c === 0) { - return Caml_option.some(param.d); - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var mem = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var c = Curry._2(Ord.compare, x, param.v); - if (c === 0) { - return true; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var min_binding = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return [ - param.v, - param.d - ]; - } - _param = l; - continue ; - }; - }; - var min_binding_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var l = param.l; - if (typeof l !== "object") { - return [ - param.v, - param.d - ]; - } - _param = l; - continue ; - }; - }; - var max_binding = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var r = param.r; - if (typeof r !== "object") { - return [ - param.v, - param.d - ]; - } - _param = r; - continue ; - }; - }; - var max_binding_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var r = param.r; - if (typeof r !== "object") { - return [ - param.v, - param.d - ]; - } - _param = r; - continue ; - }; - }; - var remove_min_binding = function (param) { - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.remove_min_elt", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.r; - } else { - return bal(remove_min_binding(l), param.v, param.d, param.r); - } - }; - var merge = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } - if (typeof t2 !== "object") { - return t1; - } - var match = min_binding(t2); - return bal(t1, match[0], match[1], remove_min_binding(t2)); - }; - var remove = function (x, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - return merge(l, r); - } - if (c < 0) { - var ll = remove(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = remove(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var update = function (x, f, param) { - if (typeof param !== "object") { - var data = Curry._1(f, undefined); - if (data !== undefined) { - return { - TAG: "Node", - l: "Empty", - v: x, - d: Caml_option.valFromOption(data), - r: "Empty", - h: 1 - }; - } else { - return "Empty"; - } - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - var data$1 = Curry._1(f, Caml_option.some(d)); - if (data$1 === undefined) { - return merge(l, r); - } - var data$2 = Caml_option.valFromOption(data$1); - if (d === data$2) { - return param; - } else { - return { - TAG: "Node", - l: l, - v: x, - d: data$2, - r: r, - h: param.h - }; - } - } - if (c < 0) { - var ll = update(x, f, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = update(x, f, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var iter = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - iter(f, param.l); - Curry._2(f, param.v, param.d); - _param = param.r; - continue ; - }; - }; - var map = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var l$p = map(f, param.l); - var d$p = Curry._1(f, param.d); - var r$p = map(f, param.r); - return { - TAG: "Node", - l: l$p, - v: param.v, - d: d$p, - r: r$p, - h: param.h - }; - }; - var mapi = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var v = param.v; - var l$p = mapi(f, param.l); - var d$p = Curry._2(f, v, param.d); - var r$p = mapi(f, param.r); - return { - TAG: "Node", - l: l$p, - v: v, - d: d$p, - r: r$p, - h: param.h - }; - }; - var fold = function (f, _m, _accu) { - while(true) { - var accu = _accu; - var m = _m; - if (typeof m !== "object") { - return accu; - } - _accu = Curry._3(f, m.v, m.d, fold(f, m.l, accu)); - _m = m.r; - continue ; - }; - }; - var for_all = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - if (!Curry._2(p, param.v, param.d)) { - return false; - } - if (!for_all(p, param.l)) { - return false; - } - _param = param.r; - continue ; - }; - }; - var exists = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - if (Curry._2(p, param.v, param.d)) { - return true; - } - if (exists(p, param.l)) { - return true; - } - _param = param.r; - continue ; - }; - }; - var add_min_binding = function (k, x, param) { - if (typeof param !== "object") { - return singleton(k, x); - } else { - return bal(add_min_binding(k, x, param.l), param.v, param.d, param.r); - } - }; - var add_max_binding = function (k, x, param) { - if (typeof param !== "object") { - return singleton(k, x); - } else { - return bal(param.l, param.v, param.d, add_max_binding(k, x, param.r)); - } - }; - var join = function (l, v, d, r) { - if (typeof l !== "object") { - return add_min_binding(v, d, r); - } - var lh = l.h; - if (typeof r !== "object") { - return add_max_binding(v, d, l); - } - var rh = r.h; - if (lh > (rh + 2 | 0)) { - return bal(l.l, l.v, l.d, join(l.r, v, d, r)); - } else if (rh > (lh + 2 | 0)) { - return bal(join(l, v, d, r.l), r.v, r.d, r.r); - } else { - return create(l, v, d, r); - } - }; - var concat = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } - if (typeof t2 !== "object") { - return t1; - } - var match = min_binding(t2); - return join(t1, match[0], match[1], remove_min_binding(t2)); - }; - var concat_or_join = function (t1, v, d, t2) { - if (d !== undefined) { - return join(t1, v, Caml_option.valFromOption(d), t2); - } else { - return concat(t1, t2); - } - }; - var split = function (x, param) { - if (typeof param !== "object") { - return [ - "Empty", - undefined, - "Empty" - ]; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - return [ - l, - Caml_option.some(d), - r - ]; - } - if (c < 0) { - var match = split(x, l); - return [ - match[0], - match[1], - join(match[2], v, d, r) - ]; - } - var match$1 = split(x, r); - return [ - join(l, v, d, match$1[0]), - match$1[1], - match$1[2] - ]; - }; - var merge$1 = function (f, s1, s2) { - if (typeof s1 !== "object") { - if (typeof s2 !== "object") { - return "Empty"; - } - - } else { - var v1 = s1.v; - if (s1.h >= height(s2)) { - var match = split(v1, s2); - return concat_or_join(merge$1(f, s1.l, match[0]), v1, Curry._3(f, v1, Caml_option.some(s1.d), match[1]), merge$1(f, s1.r, match[2])); - } - - } - if (typeof s2 !== "object") { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "mapLabels.res", - 552, - 11 - ], - Error: new Error() - }; - } - var v2 = s2.v; - var match$1 = split(v2, s1); - return concat_or_join(merge$1(f, match$1[0], s2.l), v2, Curry._3(f, v2, match$1[1], Caml_option.some(s2.d)), merge$1(f, match$1[2], s2.r)); - }; - var union = function (f, s1, s2) { - if (typeof s1 !== "object") { - return s2; - } - var d1 = s1.d; - var v1 = s1.v; - if (typeof s2 !== "object") { - return s1; - } - var d2 = s2.d; - var v2 = s2.v; - if (s1.h >= s2.h) { - var match = split(v1, s2); - var d2$1 = match[1]; - var l = union(f, s1.l, match[0]); - var r = union(f, s1.r, match[2]); - if (d2$1 !== undefined) { - return concat_or_join(l, v1, Curry._3(f, v1, d1, Caml_option.valFromOption(d2$1)), r); - } else { - return join(l, v1, d1, r); - } - } - var match$1 = split(v2, s1); - var d1$1 = match$1[1]; - var l$1 = union(f, match$1[0], s2.l); - var r$1 = union(f, match$1[2], s2.r); - if (d1$1 !== undefined) { - return concat_or_join(l$1, v2, Curry._3(f, v2, Caml_option.valFromOption(d1$1), d2), r$1); - } else { - return join(l$1, v2, d2, r$1); - } - }; - var filter = function (p, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var l$p = filter(p, l); - var pvd = Curry._2(p, v, d); - var r$p = filter(p, r); - if (pvd) { - if (l === l$p && r === r$p) { - return param; - } else { - return join(l$p, v, d, r$p); - } - } else { - return concat(l$p, r$p); - } - }; - var partition = function (p, param) { - if (typeof param !== "object") { - return [ - "Empty", - "Empty" - ]; - } - var d = param.d; - var v = param.v; - var match = partition(p, param.l); - var lf = match[1]; - var lt = match[0]; - var pvd = Curry._2(p, v, d); - var match$1 = partition(p, param.r); - var rf = match$1[1]; - var rt = match$1[0]; - if (pvd) { - return [ - join(lt, v, d, rt), - concat(lf, rf) - ]; - } else { - return [ - concat(lt, rt), - join(lf, v, d, rf) - ]; - } - }; - var cons_enum = function (_m, _e) { - while(true) { - var e = _e; - var m = _m; - if (typeof m !== "object") { - return e; - } - _e = { - TAG: "More", - _0: m.v, - _1: m.d, - _2: m.r, - _3: e - }; - _m = m.l; - continue ; - }; - }; - var compare = function (cmp, m1, m2) { - var _e1 = cons_enum(m1, "End"); - var _e2 = cons_enum(m2, "End"); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return 0; - } else { - return -1; - } - } - if (typeof e2 !== "object") { - return 1; - } - var c = Curry._2(Ord.compare, e1._0, e2._0); - if (c !== 0) { - return c; - } - var c$1 = Curry._2(cmp, e1._1, e2._1); - if (c$1 !== 0) { - return c$1; - } - _e2 = cons_enum(e2._2, e2._3); - _e1 = cons_enum(e1._2, e1._3); - continue ; - }; - }; - var equal = function (cmp, m1, m2) { - var _e1 = cons_enum(m1, "End"); - var _e2 = cons_enum(m2, "End"); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return true; - } else { - return false; - } - } - if (typeof e2 !== "object") { - return false; - } - if (Curry._2(Ord.compare, e1._0, e2._0) !== 0) { - return false; - } - if (!Curry._2(cmp, e1._1, e2._1)) { - return false; - } - _e2 = cons_enum(e2._2, e2._3); - _e1 = cons_enum(e1._2, e1._3); - continue ; - }; - }; - var cardinal = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return (cardinal(param.l) + 1 | 0) + cardinal(param.r) | 0; - } - }; - var bindings_aux = function (_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (typeof param !== "object") { - return accu; - } - _param = param.l; - _accu = { - hd: [ - param.v, - param.d - ], - tl: bindings_aux(accu, param.r) - }; - continue ; - }; - }; - var bindings = function (s) { - return bindings_aux(/* [] */0, s); - }; - return { - height: height, - create: create, - singleton: singleton, - bal: bal, - empty: "Empty", - is_empty: is_empty, - add: add, - find: find, - find_first_aux: find_first_aux, - find_first: find_first, - find_first_opt_aux: find_first_opt_aux, - find_first_opt: find_first_opt, - find_last_aux: find_last_aux, - find_last: find_last, - find_last_opt_aux: find_last_opt_aux, - find_last_opt: find_last_opt, - find_opt: find_opt, - mem: mem, - min_binding: min_binding, - min_binding_opt: min_binding_opt, - max_binding: max_binding, - max_binding_opt: max_binding_opt, - remove_min_binding: remove_min_binding, - remove: remove, - update: update, - iter: iter, - map: map, - mapi: mapi, - fold: fold, - for_all: for_all, - exists: exists, - add_min_binding: add_min_binding, - add_max_binding: add_max_binding, - join: join, - concat: concat, - concat_or_join: concat_or_join, - split: split, - merge: merge$1, - union: union, - filter: filter, - partition: partition, - cons_enum: cons_enum, - compare: compare, - equal: equal, - cardinal: cardinal, - bindings_aux: bindings_aux, - bindings: bindings, - choose: min_binding, - choose_opt: min_binding_opt - }; -} - -export { - Make , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/moreLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/moreLabels.js deleted file mode 100644 index 61f6a97..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/moreLabels.js +++ /dev/null @@ -1,1959 +0,0 @@ - - -import * as List from "./list.js"; -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; -import * as HashtblLabels from "./hashtblLabels.js"; - -var Hashtbl = { - create: HashtblLabels.create, - clear: HashtblLabels.clear, - reset: HashtblLabels.reset, - copy: HashtblLabels.copy, - add: HashtblLabels.add, - find: HashtblLabels.find, - find_opt: HashtblLabels.find_opt, - find_all: HashtblLabels.find_all, - mem: HashtblLabels.mem, - remove: HashtblLabels.remove, - replace: HashtblLabels.replace, - iter: HashtblLabels.iter, - filter_map_inplace: HashtblLabels.filter_map_inplace, - fold: HashtblLabels.fold, - length: HashtblLabels.length, - randomize: HashtblLabels.randomize, - is_randomized: HashtblLabels.is_randomized, - stats: HashtblLabels.stats, - Make: HashtblLabels.Make, - MakeSeeded: HashtblLabels.MakeSeeded, - hash: HashtblLabels.hash, - seeded_hash: HashtblLabels.seeded_hash, - hash_param: HashtblLabels.hash_param, - seeded_hash_param: HashtblLabels.seeded_hash_param -}; - -var $$Map = { - Make: (function (funarg) { - var height = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return param.h; - } - }; - var create = function (l, x, d, r) { - var hl = height(l); - var hr = height(r); - return { - TAG: "Node", - l: l, - v: x, - d: d, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - }; - var singleton = function (x, d) { - return { - TAG: "Node", - l: "Empty", - v: x, - d: d, - r: "Empty", - h: 1 - }; - }; - var bal = function (l, x, d, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - if (hl > (hr + 2 | 0)) { - if (typeof l !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - var lr = l.r; - var ld = l.d; - var lv = l.v; - var ll = l.l; - if (height(ll) >= height(lr)) { - return create(ll, lv, ld, create(lr, x, d, r)); - } - if (typeof lr === "object") { - return create(create(ll, lv, ld, lr.l), lr.v, lr.d, create(lr.r, x, d, r)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - if (hr <= (hl + 2 | 0)) { - return { - TAG: "Node", - l: l, - v: x, - d: d, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - } - if (typeof r !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - } - var rr = r.r; - var rd = r.d; - var rv = r.v; - var rl = r.l; - if (height(rr) >= height(rl)) { - return create(create(l, x, d, rl), rv, rd, rr); - } - if (typeof rl === "object") { - return create(create(l, x, d, rl.l), rl.v, rl.d, create(rl.r, rv, rd, rr)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.bal", - Error: new Error() - }; - }; - var is_empty = function (param) { - if (typeof param !== "object") { - return true; - } else { - return false; - } - }; - var add = function (x, data, param) { - if (typeof param !== "object") { - return { - TAG: "Node", - l: "Empty", - v: x, - d: data, - r: "Empty", - h: 1 - }; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - if (d === data) { - return param; - } else { - return { - TAG: "Node", - l: l, - v: x, - d: data, - r: r, - h: param.h - }; - } - } - if (c < 0) { - var ll = add(x, data, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = add(x, data, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var find = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var c = Curry._2(funarg.compare, x, param.v); - if (c === 0) { - return param.d; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var find_first_aux = function (_v0, _d0, f, _param) { - while(true) { - var param = _param; - var d0 = _d0; - var v0 = _v0; - if (typeof param !== "object") { - return [ - v0, - d0 - ]; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.l; - _d0 = param.d; - _v0 = v; - continue ; - } - _param = param.r; - continue ; - }; - }; - var find_first = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_first_aux(v, param.d, f, param.l); - } - _param = param.r; - continue ; - }; - }; - var find_first_opt_aux = function (_v0, _d0, f, _param) { - while(true) { - var param = _param; - var d0 = _d0; - var v0 = _v0; - if (typeof param !== "object") { - return [ - v0, - d0 - ]; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.l; - _d0 = param.d; - _v0 = v; - continue ; - } - _param = param.r; - continue ; - }; - }; - var find_first_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_first_opt_aux(v, param.d, f, param.l); - } - _param = param.r; - continue ; - }; - }; - var find_last_aux = function (_v0, _d0, f, _param) { - while(true) { - var param = _param; - var d0 = _d0; - var v0 = _v0; - if (typeof param !== "object") { - return [ - v0, - d0 - ]; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.r; - _d0 = param.d; - _v0 = v; - continue ; - } - _param = param.l; - continue ; - }; - }; - var find_last = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_last_aux(v, param.d, f, param.r); - } - _param = param.l; - continue ; - }; - }; - var find_last_opt_aux = function (_v0, _d0, f, _param) { - while(true) { - var param = _param; - var d0 = _d0; - var v0 = _v0; - if (typeof param !== "object") { - return [ - v0, - d0 - ]; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.r; - _d0 = param.d; - _v0 = v; - continue ; - } - _param = param.l; - continue ; - }; - }; - var find_last_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_last_opt_aux(v, param.d, f, param.r); - } - _param = param.l; - continue ; - }; - }; - var find_opt = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var c = Curry._2(funarg.compare, x, param.v); - if (c === 0) { - return Caml_option.some(param.d); - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var mem = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var c = Curry._2(funarg.compare, x, param.v); - if (c === 0) { - return true; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var min_binding = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return [ - param.v, - param.d - ]; - } - _param = l; - continue ; - }; - }; - var min_binding_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var l = param.l; - if (typeof l !== "object") { - return [ - param.v, - param.d - ]; - } - _param = l; - continue ; - }; - }; - var max_binding = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var r = param.r; - if (typeof r !== "object") { - return [ - param.v, - param.d - ]; - } - _param = r; - continue ; - }; - }; - var max_binding_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var r = param.r; - if (typeof r !== "object") { - return [ - param.v, - param.d - ]; - } - _param = r; - continue ; - }; - }; - var remove_min_binding = function (param) { - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Map.remove_min_elt", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.r; - } else { - return bal(remove_min_binding(l), param.v, param.d, param.r); - } - }; - var merge = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } - if (typeof t2 !== "object") { - return t1; - } - var match = min_binding(t2); - return bal(t1, match[0], match[1], remove_min_binding(t2)); - }; - var remove = function (x, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return merge(l, r); - } - if (c < 0) { - var ll = remove(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = remove(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var update = function (x, f, param) { - if (typeof param !== "object") { - var data = Curry._1(f, undefined); - if (data !== undefined) { - return { - TAG: "Node", - l: "Empty", - v: x, - d: Caml_option.valFromOption(data), - r: "Empty", - h: 1 - }; - } else { - return "Empty"; - } - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - var data$1 = Curry._1(f, Caml_option.some(d)); - if (data$1 === undefined) { - return merge(l, r); - } - var data$2 = Caml_option.valFromOption(data$1); - if (d === data$2) { - return param; - } else { - return { - TAG: "Node", - l: l, - v: x, - d: data$2, - r: r, - h: param.h - }; - } - } - if (c < 0) { - var ll = update(x, f, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, d, r); - } - } - var rr = update(x, f, r); - if (r === rr) { - return param; - } else { - return bal(l, v, d, rr); - } - }; - var iter = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - iter(f, param.l); - Curry._2(f, param.v, param.d); - _param = param.r; - continue ; - }; - }; - var map = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var l$p = map(f, param.l); - var d$p = Curry._1(f, param.d); - var r$p = map(f, param.r); - return { - TAG: "Node", - l: l$p, - v: param.v, - d: d$p, - r: r$p, - h: param.h - }; - }; - var mapi = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var v = param.v; - var l$p = mapi(f, param.l); - var d$p = Curry._2(f, v, param.d); - var r$p = mapi(f, param.r); - return { - TAG: "Node", - l: l$p, - v: v, - d: d$p, - r: r$p, - h: param.h - }; - }; - var fold = function (f, _m, _accu) { - while(true) { - var accu = _accu; - var m = _m; - if (typeof m !== "object") { - return accu; - } - _accu = Curry._3(f, m.v, m.d, fold(f, m.l, accu)); - _m = m.r; - continue ; - }; - }; - var for_all = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - if (!Curry._2(p, param.v, param.d)) { - return false; - } - if (!for_all(p, param.l)) { - return false; - } - _param = param.r; - continue ; - }; - }; - var exists = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - if (Curry._2(p, param.v, param.d)) { - return true; - } - if (exists(p, param.l)) { - return true; - } - _param = param.r; - continue ; - }; - }; - var add_min_binding = function (k, x, param) { - if (typeof param !== "object") { - return singleton(k, x); - } else { - return bal(add_min_binding(k, x, param.l), param.v, param.d, param.r); - } - }; - var add_max_binding = function (k, x, param) { - if (typeof param !== "object") { - return singleton(k, x); - } else { - return bal(param.l, param.v, param.d, add_max_binding(k, x, param.r)); - } - }; - var join = function (l, v, d, r) { - if (typeof l !== "object") { - return add_min_binding(v, d, r); - } - var lh = l.h; - if (typeof r !== "object") { - return add_max_binding(v, d, l); - } - var rh = r.h; - if (lh > (rh + 2 | 0)) { - return bal(l.l, l.v, l.d, join(l.r, v, d, r)); - } else if (rh > (lh + 2 | 0)) { - return bal(join(l, v, d, r.l), r.v, r.d, r.r); - } else { - return create(l, v, d, r); - } - }; - var concat = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } - if (typeof t2 !== "object") { - return t1; - } - var match = min_binding(t2); - return join(t1, match[0], match[1], remove_min_binding(t2)); - }; - var concat_or_join = function (t1, v, d, t2) { - if (d !== undefined) { - return join(t1, v, Caml_option.valFromOption(d), t2); - } else { - return concat(t1, t2); - } - }; - var split = function (x, param) { - if (typeof param !== "object") { - return [ - "Empty", - undefined, - "Empty" - ]; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return [ - l, - Caml_option.some(d), - r - ]; - } - if (c < 0) { - var match = split(x, l); - return [ - match[0], - match[1], - join(match[2], v, d, r) - ]; - } - var match$1 = split(x, r); - return [ - join(l, v, d, match$1[0]), - match$1[1], - match$1[2] - ]; - }; - var merge$1 = function (f, s1, s2) { - if (typeof s1 !== "object") { - if (typeof s2 !== "object") { - return "Empty"; - } - - } else { - var v1 = s1.v; - if (s1.h >= height(s2)) { - var match = split(v1, s2); - return concat_or_join(merge$1(f, s1.l, match[0]), v1, Curry._3(f, v1, Caml_option.some(s1.d), match[1]), merge$1(f, s1.r, match[2])); - } - - } - if (typeof s2 !== "object") { - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "mapLabels.res", - 552, - 11 - ], - Error: new Error() - }; - } - var v2 = s2.v; - var match$1 = split(v2, s1); - return concat_or_join(merge$1(f, match$1[0], s2.l), v2, Curry._3(f, v2, match$1[1], Caml_option.some(s2.d)), merge$1(f, match$1[2], s2.r)); - }; - var union = function (f, s1, s2) { - if (typeof s1 !== "object") { - return s2; - } - var d1 = s1.d; - var v1 = s1.v; - if (typeof s2 !== "object") { - return s1; - } - var d2 = s2.d; - var v2 = s2.v; - if (s1.h >= s2.h) { - var match = split(v1, s2); - var d2$1 = match[1]; - var l = union(f, s1.l, match[0]); - var r = union(f, s1.r, match[2]); - if (d2$1 !== undefined) { - return concat_or_join(l, v1, Curry._3(f, v1, d1, Caml_option.valFromOption(d2$1)), r); - } else { - return join(l, v1, d1, r); - } - } - var match$1 = split(v2, s1); - var d1$1 = match$1[1]; - var l$1 = union(f, match$1[0], s2.l); - var r$1 = union(f, match$1[2], s2.r); - if (d1$1 !== undefined) { - return concat_or_join(l$1, v2, Curry._3(f, v2, Caml_option.valFromOption(d1$1), d2), r$1); - } else { - return join(l$1, v2, d2, r$1); - } - }; - var filter = function (p, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var d = param.d; - var v = param.v; - var l = param.l; - var l$p = filter(p, l); - var pvd = Curry._2(p, v, d); - var r$p = filter(p, r); - if (pvd) { - if (l === l$p && r === r$p) { - return param; - } else { - return join(l$p, v, d, r$p); - } - } else { - return concat(l$p, r$p); - } - }; - var partition = function (p, param) { - if (typeof param !== "object") { - return [ - "Empty", - "Empty" - ]; - } - var d = param.d; - var v = param.v; - var match = partition(p, param.l); - var lf = match[1]; - var lt = match[0]; - var pvd = Curry._2(p, v, d); - var match$1 = partition(p, param.r); - var rf = match$1[1]; - var rt = match$1[0]; - if (pvd) { - return [ - join(lt, v, d, rt), - concat(lf, rf) - ]; - } else { - return [ - concat(lt, rt), - join(lf, v, d, rf) - ]; - } - }; - var cons_enum = function (_m, _e) { - while(true) { - var e = _e; - var m = _m; - if (typeof m !== "object") { - return e; - } - _e = { - TAG: "More", - _0: m.v, - _1: m.d, - _2: m.r, - _3: e - }; - _m = m.l; - continue ; - }; - }; - var compare = function (cmp, m1, m2) { - var _e1 = cons_enum(m1, "End"); - var _e2 = cons_enum(m2, "End"); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return 0; - } else { - return -1; - } - } - if (typeof e2 !== "object") { - return 1; - } - var c = Curry._2(funarg.compare, e1._0, e2._0); - if (c !== 0) { - return c; - } - var c$1 = Curry._2(cmp, e1._1, e2._1); - if (c$1 !== 0) { - return c$1; - } - _e2 = cons_enum(e2._2, e2._3); - _e1 = cons_enum(e1._2, e1._3); - continue ; - }; - }; - var equal = function (cmp, m1, m2) { - var _e1 = cons_enum(m1, "End"); - var _e2 = cons_enum(m2, "End"); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return true; - } else { - return false; - } - } - if (typeof e2 !== "object") { - return false; - } - if (Curry._2(funarg.compare, e1._0, e2._0) !== 0) { - return false; - } - if (!Curry._2(cmp, e1._1, e2._1)) { - return false; - } - _e2 = cons_enum(e2._2, e2._3); - _e1 = cons_enum(e1._2, e1._3); - continue ; - }; - }; - var cardinal = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return (cardinal(param.l) + 1 | 0) + cardinal(param.r) | 0; - } - }; - var bindings_aux = function (_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (typeof param !== "object") { - return accu; - } - _param = param.l; - _accu = { - hd: [ - param.v, - param.d - ], - tl: bindings_aux(accu, param.r) - }; - continue ; - }; - }; - var bindings = function (s) { - return bindings_aux(/* [] */0, s); - }; - return { - empty: "Empty", - is_empty: is_empty, - mem: mem, - add: add, - update: update, - singleton: singleton, - remove: remove, - merge: merge$1, - union: union, - compare: compare, - equal: equal, - iter: iter, - fold: fold, - for_all: for_all, - exists: exists, - filter: filter, - partition: partition, - cardinal: cardinal, - bindings: bindings, - min_binding: min_binding, - min_binding_opt: min_binding_opt, - max_binding: max_binding, - max_binding_opt: max_binding_opt, - choose: min_binding, - choose_opt: min_binding_opt, - split: split, - find: find, - find_opt: find_opt, - find_first: find_first, - find_first_opt: find_first_opt, - find_last: find_last, - find_last_opt: find_last_opt, - map: map, - mapi: mapi - }; - }) -}; - -var $$Set = { - Make: (function (funarg) { - var height = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return param.h; - } - }; - var create = function (l, v, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - return { - TAG: "Node", - l: l, - v: v, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - }; - var bal = function (l, v, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - if (hl > (hr + 2 | 0)) { - if (typeof l !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - var lr = l.r; - var lv = l.v; - var ll = l.l; - if (height(ll) >= height(lr)) { - return create(ll, lv, create(lr, v, r)); - } - if (typeof lr === "object") { - return create(create(ll, lv, lr.l), lr.v, create(lr.r, v, r)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - if (hr <= (hl + 2 | 0)) { - return { - TAG: "Node", - l: l, - v: v, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - } - if (typeof r !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - var rr = r.r; - var rv = r.v; - var rl = r.l; - if (height(rr) >= height(rl)) { - return create(create(l, v, rl), rv, rr); - } - if (typeof rl === "object") { - return create(create(l, v, rl.l), rl.v, create(rl.r, rv, rr)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - }; - var add = function (x, param) { - if (typeof param !== "object") { - return { - TAG: "Node", - l: "Empty", - v: x, - r: "Empty", - h: 1 - }; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return param; - } - if (c < 0) { - var ll = add(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, r); - } - } - var rr = add(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, rr); - } - }; - var singleton = function (x) { - return { - TAG: "Node", - l: "Empty", - v: x, - r: "Empty", - h: 1 - }; - }; - var add_min_element = function (x, param) { - if (typeof param !== "object") { - return singleton(x); - } else { - return bal(add_min_element(x, param.l), param.v, param.r); - } - }; - var add_max_element = function (x, param) { - if (typeof param !== "object") { - return singleton(x); - } else { - return bal(param.l, param.v, add_max_element(x, param.r)); - } - }; - var join = function (l, v, r) { - if (typeof l !== "object") { - return add_min_element(v, r); - } - var lh = l.h; - if (typeof r !== "object") { - return add_max_element(v, l); - } - var rh = r.h; - if (lh > (rh + 2 | 0)) { - return bal(l.l, l.v, join(l.r, v, r)); - } else if (rh > (lh + 2 | 0)) { - return bal(join(l, v, r.l), r.v, r.r); - } else { - return create(l, v, r); - } - }; - var min_elt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.v; - } - _param = l; - continue ; - }; - }; - var min_elt_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var l = param.l; - if (typeof l !== "object") { - return Caml_option.some(param.v); - } - _param = l; - continue ; - }; - }; - var max_elt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var r = param.r; - if (typeof r !== "object") { - return param.v; - } - _param = r; - continue ; - }; - }; - var max_elt_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var r = param.r; - if (typeof r !== "object") { - return Caml_option.some(param.v); - } - _param = r; - continue ; - }; - }; - var remove_min_elt = function (param) { - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.remove_min_elt", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.r; - } else { - return bal(remove_min_elt(l), param.v, param.r); - } - }; - var merge = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } else if (typeof t2 !== "object") { - return t1; - } else { - return bal(t1, min_elt(t2), remove_min_elt(t2)); - } - }; - var concat = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } else if (typeof t2 !== "object") { - return t1; - } else { - return join(t1, min_elt(t2), remove_min_elt(t2)); - } - }; - var split = function (x, param) { - if (typeof param !== "object") { - return [ - "Empty", - false, - "Empty" - ]; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return [ - l, - true, - r - ]; - } - if (c < 0) { - var match = split(x, l); - return [ - match[0], - match[1], - join(match[2], v, r) - ]; - } - var match$1 = split(x, r); - return [ - join(l, v, match$1[0]), - match$1[1], - match$1[2] - ]; - }; - var is_empty = function (param) { - if (typeof param !== "object") { - return true; - } else { - return false; - } - }; - var mem = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var c = Curry._2(funarg.compare, x, param.v); - if (c === 0) { - return true; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var remove = function (x, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return merge(l, r); - } - if (c < 0) { - var ll = remove(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, r); - } - } - var rr = remove(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, rr); - } - }; - var union = function (s1, s2) { - if (typeof s1 !== "object") { - return s2; - } - var h1 = s1.h; - var v1 = s1.v; - if (typeof s2 !== "object") { - return s1; - } - var h2 = s2.h; - var v2 = s2.v; - if (h1 >= h2) { - if (h2 === 1) { - return add(v2, s1); - } - var match = split(v1, s2); - return join(union(s1.l, match[0]), v1, union(s1.r, match[2])); - } - if (h1 === 1) { - return add(v1, s2); - } - var match$1 = split(v2, s1); - return join(union(match$1[0], s2.l), v2, union(match$1[2], s2.r)); - }; - var inter = function (s1, s2) { - if (typeof s1 !== "object") { - return "Empty"; - } - if (typeof s2 !== "object") { - return "Empty"; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - var match = split(v1, s2); - var l2 = match[0]; - if (match[1]) { - return join(inter(l1, l2), v1, inter(r1, match[2])); - } else { - return concat(inter(l1, l2), inter(r1, match[2])); - } - }; - var diff = function (s1, s2) { - if (typeof s1 !== "object") { - return "Empty"; - } - if (typeof s2 !== "object") { - return s1; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - var match = split(v1, s2); - var l2 = match[0]; - if (match[1]) { - return concat(diff(l1, l2), diff(r1, match[2])); - } else { - return join(diff(l1, l2), v1, diff(r1, match[2])); - } - }; - var cons_enum = function (_s, _e) { - while(true) { - var e = _e; - var s = _s; - if (typeof s !== "object") { - return e; - } - _e = { - TAG: "More", - _0: s.v, - _1: s.r, - _2: e - }; - _s = s.l; - continue ; - }; - }; - var compare_aux = function (_e1, _e2) { - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return 0; - } else { - return -1; - } - } - if (typeof e2 !== "object") { - return 1; - } - var c = Curry._2(funarg.compare, e1._0, e2._0); - if (c !== 0) { - return c; - } - _e2 = cons_enum(e2._1, e2._2); - _e1 = cons_enum(e1._1, e1._2); - continue ; - }; - }; - var compare = function (s1, s2) { - return compare_aux(cons_enum(s1, "End"), cons_enum(s2, "End")); - }; - var equal = function (s1, s2) { - return compare(s1, s2) === 0; - }; - var subset = function (_s1, _s2) { - while(true) { - var s2 = _s2; - var s1 = _s1; - if (typeof s1 !== "object") { - return true; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - if (typeof s2 !== "object") { - return false; - } - var r2 = s2.r; - var l2 = s2.l; - var c = Curry._2(funarg.compare, v1, s2.v); - if (c === 0) { - if (!subset(l1, l2)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue ; - } - if (c < 0) { - if (!subset({ - TAG: "Node", - l: l1, - v: v1, - r: "Empty", - h: 0 - }, l2)) { - return false; - } - _s1 = r1; - continue ; - } - if (!subset({ - TAG: "Node", - l: "Empty", - v: v1, - r: r1, - h: 0 - }, r2)) { - return false; - } - _s1 = l1; - continue ; - }; - }; - var iter = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - iter(f, param.l); - Curry._1(f, param.v); - _param = param.r; - continue ; - }; - }; - var fold = function (f, _s, _accu) { - while(true) { - var accu = _accu; - var s = _s; - if (typeof s !== "object") { - return accu; - } - _accu = Curry._2(f, s.v, fold(f, s.l, accu)); - _s = s.r; - continue ; - }; - }; - var for_all = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - if (!Curry._1(p, param.v)) { - return false; - } - if (!for_all(p, param.l)) { - return false; - } - _param = param.r; - continue ; - }; - }; - var exists = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - if (Curry._1(p, param.v)) { - return true; - } - if (exists(p, param.l)) { - return true; - } - _param = param.r; - continue ; - }; - }; - var filter = function (p, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var l$p = filter(p, l); - var pv = Curry._1(p, v); - var r$p = filter(p, r); - if (pv) { - if (l === l$p && r === r$p) { - return param; - } else { - return join(l$p, v, r$p); - } - } else { - return concat(l$p, r$p); - } - }; - var partition = function (p, param) { - if (typeof param !== "object") { - return [ - "Empty", - "Empty" - ]; - } - var v = param.v; - var match = partition(p, param.l); - var lf = match[1]; - var lt = match[0]; - var pv = Curry._1(p, v); - var match$1 = partition(p, param.r); - var rf = match$1[1]; - var rt = match$1[0]; - if (pv) { - return [ - join(lt, v, rt), - concat(lf, rf) - ]; - } else { - return [ - concat(lt, rt), - join(lf, v, rf) - ]; - } - }; - var cardinal = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return (cardinal(param.l) + 1 | 0) + cardinal(param.r) | 0; - } - }; - var elements_aux = function (_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (typeof param !== "object") { - return accu; - } - _param = param.l; - _accu = { - hd: param.v, - tl: elements_aux(accu, param.r) - }; - continue ; - }; - }; - var elements = function (s) { - return elements_aux(/* [] */0, s); - }; - var find = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return v; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var find_first_aux = function (_v0, f, _param) { - while(true) { - var param = _param; - var v0 = _v0; - if (typeof param !== "object") { - return v0; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.l; - _v0 = v; - continue ; - } - _param = param.r; - continue ; - }; - }; - var find_first = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_first_aux(v, f, param.l); - } - _param = param.r; - continue ; - }; - }; - var find_first_opt_aux = function (_v0, f, _param) { - while(true) { - var param = _param; - var v0 = _v0; - if (typeof param !== "object") { - return Caml_option.some(v0); - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.l; - _v0 = v; - continue ; - } - _param = param.r; - continue ; - }; - }; - var find_first_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_first_opt_aux(v, f, param.l); - } - _param = param.r; - continue ; - }; - }; - var find_last_aux = function (_v0, f, _param) { - while(true) { - var param = _param; - var v0 = _v0; - if (typeof param !== "object") { - return v0; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.r; - _v0 = v; - continue ; - } - _param = param.l; - continue ; - }; - }; - var find_last = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_last_aux(v, f, param.r); - } - _param = param.l; - continue ; - }; - }; - var find_last_opt_aux = function (_v0, f, _param) { - while(true) { - var param = _param; - var v0 = _v0; - if (typeof param !== "object") { - return Caml_option.some(v0); - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.r; - _v0 = v; - continue ; - } - _param = param.l; - continue ; - }; - }; - var find_last_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_last_opt_aux(v, f, param.r); - } - _param = param.l; - continue ; - }; - }; - var find_opt = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return Caml_option.some(v); - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var try_join = function (l, v, r) { - if ((l === "Empty" || Curry._2(funarg.compare, max_elt(l), v) < 0) && (r === "Empty" || Curry._2(funarg.compare, v, min_elt(r)) < 0)) { - return join(l, v, r); - } else { - return union(l, add(v, r)); - } - }; - var map = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var l$p = map(f, l); - var v$p = Curry._1(f, v); - var r$p = map(f, r); - if (l === l$p && v === v$p && r === r$p) { - return param; - } else { - return try_join(l$p, v$p, r$p); - } - }; - var of_sorted_list = function (l) { - var sub = function (n, l) { - switch (n) { - case 0 : - return [ - "Empty", - l - ]; - case 1 : - if (l) { - return [ - { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - l.tl - ]; - } - break; - case 2 : - if (l) { - var match = l.tl; - if (match) { - return [ - { - TAG: "Node", - l: { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - v: match.hd, - r: "Empty", - h: 2 - }, - match.tl - ]; - } - - } - break; - case 3 : - if (l) { - var match$1 = l.tl; - if (match$1) { - var match$2 = match$1.tl; - if (match$2) { - return [ - { - TAG: "Node", - l: { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - v: match$1.hd, - r: { - TAG: "Node", - l: "Empty", - v: match$2.hd, - r: "Empty", - h: 1 - }, - h: 2 - }, - match$2.tl - ]; - } - - } - - } - break; - default: - - } - var nl = n / 2 | 0; - var match$3 = sub(nl, l); - var l$1 = match$3[1]; - if (l$1) { - var match$4 = sub((n - nl | 0) - 1 | 0, l$1.tl); - return [ - create(match$3[0], l$1.hd, match$4[0]), - match$4[1] - ]; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "setLabels.res", - 691, - 20 - ], - Error: new Error() - }; - }; - return sub(List.length(l), l)[0]; - }; - var of_list = function (l) { - if (!l) { - return "Empty"; - } - var match = l.tl; - var x0 = l.hd; - if (!match) { - return singleton(x0); - } - var match$1 = match.tl; - var x1 = match.hd; - if (!match$1) { - return add(x1, singleton(x0)); - } - var match$2 = match$1.tl; - var x2 = match$1.hd; - if (!match$2) { - return add(x2, add(x1, singleton(x0))); - } - var match$3 = match$2.tl; - var x3 = match$2.hd; - if (match$3) { - if (match$3.tl) { - return of_sorted_list(List.sort_uniq(funarg.compare, l)); - } else { - return add(match$3.hd, add(x3, add(x2, add(x1, singleton(x0))))); - } - } else { - return add(x3, add(x2, add(x1, singleton(x0)))); - } - }; - return { - empty: "Empty", - is_empty: is_empty, - mem: mem, - add: add, - singleton: singleton, - remove: remove, - union: union, - inter: inter, - diff: diff, - compare: compare, - equal: equal, - subset: subset, - iter: iter, - map: map, - fold: fold, - for_all: for_all, - exists: exists, - filter: filter, - partition: partition, - cardinal: cardinal, - elements: elements, - min_elt: min_elt, - min_elt_opt: min_elt_opt, - max_elt: max_elt, - max_elt_opt: max_elt_opt, - choose: min_elt, - choose_opt: min_elt_opt, - split: split, - find: find, - find_opt: find_opt, - find_first: find_first, - find_first_opt: find_first_opt, - find_last: find_last, - find_last_opt: find_last_opt, - of_list: of_list - }; - }) -}; - -export { - Hashtbl , - $$Map , - $$Set , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/obj.js b/bots/sustainabot/bot-integration/rescript-runtime/obj.js deleted file mode 100644 index df2e4c1..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/obj.js +++ /dev/null @@ -1,11 +0,0 @@ - - - -function is_block(a) { - return typeof a !== "number"; -} - -export { - is_block , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/package.json b/bots/sustainabot/bot-integration/rescript-runtime/package.json deleted file mode 100644 index 658eb9d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/package.json +++ /dev/null @@ -1 +0,0 @@ -{"type" : "module"} \ No newline at end of file diff --git a/bots/sustainabot/bot-integration/rescript-runtime/parsing.js b/bots/sustainabot/bot-integration/rescript-runtime/parsing.js deleted file mode 100644 index ff983c6..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/parsing.js +++ /dev/null @@ -1,237 +0,0 @@ - - -import * as $$Array from "./array.js"; -import * as Curry from "./curry.js"; -import * as Lexing from "./lexing.js"; -import * as Caml_obj from "./caml_obj.js"; -import * as Caml_array from "./caml_array.js"; -import * as Caml_parser from "./caml_parser.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -var YYexit = /* @__PURE__ */Caml_exceptions.create("Parsing.YYexit"); - -var Parse_error = /* @__PURE__ */Caml_exceptions.create("Parsing.Parse_error"); - -var env = { - s_stack: Caml_array.make(100, 0), - v_stack: Caml_array.make(100, undefined), - symb_start_stack: Caml_array.make(100, Lexing.dummy_pos), - symb_end_stack: Caml_array.make(100, Lexing.dummy_pos), - stacksize: 100, - stackbase: 0, - curr_char: 0, - lval: undefined, - symb_start: Lexing.dummy_pos, - symb_end: Lexing.dummy_pos, - asp: 0, - rule_len: 0, - rule_number: 0, - sp: 0, - state: 0, - errflag: 0 -}; - -function grow_stacks(param) { - var oldsize = env.stacksize; - var newsize = (oldsize << 1); - var new_s = Caml_array.make(newsize, 0); - var new_v = Caml_array.make(newsize, undefined); - var new_start = Caml_array.make(newsize, Lexing.dummy_pos); - var new_end = Caml_array.make(newsize, Lexing.dummy_pos); - $$Array.blit(env.s_stack, 0, new_s, 0, oldsize); - env.s_stack = new_s; - $$Array.blit(env.v_stack, 0, new_v, 0, oldsize); - env.v_stack = new_v; - $$Array.blit(env.symb_start_stack, 0, new_start, 0, oldsize); - env.symb_start_stack = new_start; - $$Array.blit(env.symb_end_stack, 0, new_end, 0, oldsize); - env.symb_end_stack = new_end; - env.stacksize = newsize; -} - -function clear_parser(param) { - $$Array.fill(env.v_stack, 0, env.stacksize, undefined); - env.lval = undefined; -} - -var current_lookahead_fun = { - contents: (function (param) { - return false; - }) -}; - -function yyparse(tables, start, lexer, lexbuf) { - var init_asp = env.asp; - var init_sp = env.sp; - var init_stackbase = env.stackbase; - var init_state = env.state; - var init_curr_char = env.curr_char; - var init_lval = env.lval; - var init_errflag = env.errflag; - env.stackbase = env.sp + 1 | 0; - env.curr_char = start; - env.symb_end = lexbuf.lex_curr_p; - try { - var _cmd = "Start"; - var _arg; - while(true) { - var arg = _arg; - var cmd = _cmd; - var match = Caml_parser.parse_engine(tables, env, cmd, arg); - switch (match) { - case "Read_token" : - var t = Curry._1(lexer, lexbuf); - env.symb_start = lexbuf.lex_start_p; - env.symb_end = lexbuf.lex_curr_p; - _arg = t; - _cmd = "Token_read"; - continue ; - case "Raise_parse_error" : - throw { - RE_EXN_ID: Parse_error, - Error: new Error() - }; - case "Grow_stacks_1" : - grow_stacks(); - _arg = undefined; - _cmd = "Stacks_grown_1"; - continue ; - case "Grow_stacks_2" : - grow_stacks(); - _arg = undefined; - _cmd = "Stacks_grown_2"; - continue ; - case "Compute_semantic_action" : - var match$1; - try { - match$1 = [ - "Semantic_action_computed", - Curry._1(Caml_array.get(tables.actions, env.rule_number), env) - ]; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === Parse_error) { - match$1 = [ - "Error_detected", - undefined - ]; - } else { - throw exn; - } - } - _arg = match$1[1]; - _cmd = match$1[0]; - continue ; - case "Call_error_function" : - Curry._1(tables.error_function, "syntax error"); - _arg = undefined; - _cmd = "Error_detected"; - continue ; - - } - }; - } - catch (raw_exn$1){ - var exn$1 = Caml_js_exceptions.internalToOCamlException(raw_exn$1); - var curr_char = env.curr_char; - env.asp = init_asp; - env.sp = init_sp; - env.stackbase = init_stackbase; - env.state = init_state; - env.curr_char = init_curr_char; - env.lval = init_lval; - env.errflag = init_errflag; - if (exn$1.RE_EXN_ID === YYexit) { - return exn$1._1; - } - current_lookahead_fun.contents = (function (tok) { - if (typeof tok !== "number") { - return Caml_array.get(tables.transl_block, tok.TAG) === curr_char; - } else { - return Caml_array.get(tables.transl_const, tok) === curr_char; - } - }); - throw exn$1; - } -} - -function peek_val(env, n) { - return Caml_array.get(env.v_stack, env.asp - n | 0); -} - -function symbol_start_pos(param) { - var _i = env.rule_len; - while(true) { - var i = _i; - if (i <= 0) { - return Caml_array.get(env.symb_end_stack, env.asp); - } - var st = Caml_array.get(env.symb_start_stack, (env.asp - i | 0) + 1 | 0); - var en = Caml_array.get(env.symb_end_stack, (env.asp - i | 0) + 1 | 0); - if (Caml_obj.notequal(st, en)) { - return st; - } - _i = i - 1 | 0; - continue ; - }; -} - -function symbol_end_pos(param) { - return Caml_array.get(env.symb_end_stack, env.asp); -} - -function rhs_start_pos(n) { - return Caml_array.get(env.symb_start_stack, env.asp - (env.rule_len - n | 0) | 0); -} - -function rhs_end_pos(n) { - return Caml_array.get(env.symb_end_stack, env.asp - (env.rule_len - n | 0) | 0); -} - -function symbol_start(param) { - return symbol_start_pos().pos_cnum; -} - -function symbol_end(param) { - return symbol_end_pos().pos_cnum; -} - -function rhs_start(n) { - return rhs_start_pos(n).pos_cnum; -} - -function rhs_end(n) { - return rhs_end_pos(n).pos_cnum; -} - -function is_current_lookahead(tok) { - return Curry._1(current_lookahead_fun.contents, tok); -} - -function parse_error(param) { - -} - -var set_trace = Caml_parser.set_parser_trace; - -export { - symbol_start , - symbol_end , - rhs_start , - rhs_end , - symbol_start_pos , - symbol_end_pos , - rhs_start_pos , - rhs_end_pos , - clear_parser , - Parse_error , - set_trace , - YYexit , - yyparse , - peek_val , - is_current_lookahead , - parse_error , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/pervasives.js b/bots/sustainabot/bot-integration/rescript-runtime/pervasives.js deleted file mode 100644 index 8d9f304..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/pervasives.js +++ /dev/null @@ -1,269 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_sys from "./caml_sys.js"; -import * as Caml_format from "./caml_format.js"; -import * as Caml_string from "./caml_string.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -var JsxModules = { - Jsx: undefined, - JsxEvent: undefined, - JsxDOM: undefined -}; - -function failwith(s) { - throw { - RE_EXN_ID: "Failure", - _1: s, - Error: new Error() - }; -} - -function invalid_arg(s) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: s, - Error: new Error() - }; -} - -var Exit = /* @__PURE__ */Caml_exceptions.create("Pervasives.Exit"); - -function abs(x) { - if (x >= 0) { - return x; - } else { - return -x | 0; - } -} - -function lnot(x) { - return x ^ -1; -} - -var min_int = -2147483648; - -function classify_float(x) { - if (isFinite(x)) { - if (Math.abs(x) >= 2.22507385850720138e-308) { - return "FP_normal"; - } else if (x !== 0) { - return "FP_subnormal"; - } else { - return "FP_zero"; - } - } else if (isNaN(x)) { - return "FP_nan"; - } else { - return "FP_infinite"; - } -} - -function char_of_int(n) { - if (n < 0 || n > 255) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "char_of_int", - Error: new Error() - }; - } - return n; -} - -function string_of_bool(b) { - if (b) { - return "true"; - } else { - return "false"; - } -} - -function bool_of_string(param) { - switch (param) { - case "false" : - return false; - case "true" : - return true; - default: - throw { - RE_EXN_ID: "Invalid_argument", - _1: "bool_of_string", - Error: new Error() - }; - } -} - -function bool_of_string_opt(param) { - switch (param) { - case "false" : - return false; - case "true" : - return true; - default: - return ; - } -} - -function int_of_string_opt(s) { - try { - return Caml_format.int_of_string(s); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Failure") { - return ; - } - throw exn; - } -} - -function valid_float_lexem(s) { - var l = s.length; - var _i = 0; - while(true) { - var i = _i; - if (i >= l) { - return s + "."; - } - var match = Caml_string.get(s, i); - if (match >= 48) { - if (match >= 58) { - return s; - } - _i = i + 1 | 0; - continue ; - } - if (match !== 45) { - return s; - } - _i = i + 1 | 0; - continue ; - }; -} - -function string_of_float(f) { - return valid_float_lexem(Caml_format.format_float("%.12g", f)); -} - -function float_of_string_opt(s) { - try { - return Caml_format.float_of_string(s); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Failure") { - return ; - } - throw exn; - } -} - -function $at(l1, l2) { - if (l1) { - return { - hd: l1.hd, - tl: $at(l1.tl, l2) - }; - } else { - return l2; - } -} - -function print_newline(param) { - console.log(""); -} - -function prerr_newline(param) { - console.error(""); -} - -function print_int(i) { - console.log(String(i)); -} - -function print_float(i) { - console.log(valid_float_lexem(Caml_format.format_float("%.12g", i))); -} - -function print_string(prim) { - console.log(prim); -} - -var exit_function = { - contents: (function (prim) { - - }) -}; - -function at_exit(f) { - var g = exit_function.contents; - exit_function.contents = (function (param) { - Curry._1(f, undefined); - Curry._1(g, undefined); - }); -} - -function exit(retcode) { - Curry._1(exit_function.contents, undefined); - return Caml_sys.sys_exit(retcode); -} - -var Jsx; - -var JsxEvent; - -var JsxDOM; - -var JsxPPXReactSupport; - -var max_int = 2147483647; - -var infinity = Infinity; - -var neg_infinity = -Infinity; - -var max_float = 1.79769313486231571e+308; - -var min_float = 2.22507385850720138e-308; - -var epsilon_float = 2.22044604925031308e-16; - -export { - Jsx , - JsxEvent , - JsxDOM , - JsxPPXReactSupport , - JsxModules , - invalid_arg , - failwith , - Exit , - abs , - max_int , - min_int , - lnot , - infinity , - neg_infinity , - max_float , - min_float , - epsilon_float , - classify_float , - char_of_int , - string_of_bool , - bool_of_string , - bool_of_string_opt , - int_of_string_opt , - string_of_float , - float_of_string_opt , - $at , - print_string , - print_int , - print_float , - print_newline , - prerr_newline , - exit , - at_exit , - valid_float_lexem , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/pervasivesU.js b/bots/sustainabot/bot-integration/rescript-runtime/pervasivesU.js deleted file mode 100644 index 66770b5..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/pervasivesU.js +++ /dev/null @@ -1,268 +0,0 @@ - - -import * as Caml_sys from "./caml_sys.js"; -import * as Caml_format from "./caml_format.js"; -import * as Caml_string from "./caml_string.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -var JsxModules = { - Jsx: undefined, - JsxEvent: undefined, - JsxDOM: undefined -}; - -function failwith(s) { - throw { - RE_EXN_ID: "Failure", - _1: s, - Error: new Error() - }; -} - -function invalid_arg(s) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: s, - Error: new Error() - }; -} - -var Exit = /* @__PURE__ */Caml_exceptions.create("PervasivesU.Exit"); - -function abs(x) { - if (x >= 0) { - return x; - } else { - return -x | 0; - } -} - -function lnot(x) { - return x ^ -1; -} - -var min_int = -2147483648; - -function classify_float(x) { - if (isFinite(x)) { - if (Math.abs(x) >= 2.22507385850720138e-308) { - return "FP_normal"; - } else if (x !== 0) { - return "FP_subnormal"; - } else { - return "FP_zero"; - } - } else if (isNaN(x)) { - return "FP_nan"; - } else { - return "FP_infinite"; - } -} - -function char_of_int(n) { - if (n < 0 || n > 255) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "char_of_int", - Error: new Error() - }; - } - return n; -} - -function string_of_bool(b) { - if (b) { - return "true"; - } else { - return "false"; - } -} - -function bool_of_string(param) { - switch (param) { - case "false" : - return false; - case "true" : - return true; - default: - throw { - RE_EXN_ID: "Invalid_argument", - _1: "bool_of_string", - Error: new Error() - }; - } -} - -function bool_of_string_opt(param) { - switch (param) { - case "false" : - return false; - case "true" : - return true; - default: - return ; - } -} - -function int_of_string_opt(s) { - try { - return Caml_format.int_of_string(s); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Failure") { - return ; - } - throw exn; - } -} - -function valid_float_lexem(s) { - var l = s.length; - var _i = 0; - while(true) { - var i = _i; - if (i >= l) { - return s + "."; - } - var match = Caml_string.get(s, i); - if (match >= 48) { - if (match >= 58) { - return s; - } - _i = i + 1 | 0; - continue ; - } - if (match !== 45) { - return s; - } - _i = i + 1 | 0; - continue ; - }; -} - -function string_of_float(f) { - return valid_float_lexem(Caml_format.format_float("%.12g", f)); -} - -function float_of_string_opt(s) { - try { - return Caml_format.float_of_string(s); - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Failure") { - return ; - } - throw exn; - } -} - -function $at(l1, l2) { - if (l1) { - return { - hd: l1.hd, - tl: $at(l1.tl, l2) - }; - } else { - return l2; - } -} - -function print_newline() { - console.log(""); -} - -function prerr_newline() { - console.error(""); -} - -function print_int(i) { - console.log(String(i)); -} - -function print_float(i) { - console.log(string_of_float(i)); -} - -function print_string(prim) { - console.log(prim); -} - -var exit_function = { - contents: (function (prim) { - - }) -}; - -function at_exit(f) { - var g = exit_function.contents; - exit_function.contents = (function () { - f(); - g(); - }); -} - -function exit(retcode) { - exit_function.contents(); - return Caml_sys.sys_exit(retcode); -} - -var Jsx; - -var JsxEvent; - -var JsxDOM; - -var JsxPPXReactSupport; - -var max_int = 2147483647; - -var infinity = Infinity; - -var neg_infinity = -Infinity; - -var max_float = 1.79769313486231571e+308; - -var min_float = 2.22507385850720138e-308; - -var epsilon_float = 2.22044604925031308e-16; - -export { - Jsx , - JsxEvent , - JsxDOM , - JsxPPXReactSupport , - JsxModules , - invalid_arg , - failwith , - Exit , - abs , - max_int , - min_int , - lnot , - infinity , - neg_infinity , - max_float , - min_float , - epsilon_float , - classify_float , - char_of_int , - string_of_bool , - bool_of_string , - bool_of_string_opt , - int_of_string_opt , - string_of_float , - float_of_string_opt , - $at , - print_string , - print_int , - print_float , - print_newline , - prerr_newline , - exit , - at_exit , - valid_float_lexem , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/queue.js b/bots/sustainabot/bot-integration/rescript-runtime/queue.js deleted file mode 100644 index d9282aa..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/queue.js +++ /dev/null @@ -1,181 +0,0 @@ - - -import * as Curry from "./curry.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; - -var Empty = /* @__PURE__ */Caml_exceptions.create("Queue.Empty"); - -function create(param) { - return { - length: 0, - first: "Nil", - last: "Nil" - }; -} - -function clear(q) { - q.length = 0; - q.first = "Nil"; - q.last = "Nil"; -} - -function add(x, q) { - var cell = { - TAG: "Cons", - content: x, - next: "Nil" - }; - var last = q.last; - if (typeof last !== "object") { - q.length = 1; - q.first = cell; - q.last = cell; - return ; - } - q.length = q.length + 1 | 0; - last.next = cell; - q.last = cell; -} - -function peek(q) { - var match = q.first; - if (typeof match === "object") { - return match.content; - } - throw { - RE_EXN_ID: Empty, - Error: new Error() - }; -} - -function take(q) { - var match = q.first; - if (typeof match !== "object") { - throw { - RE_EXN_ID: Empty, - Error: new Error() - }; - } - var content = match.content; - var next = match.next; - if (typeof next !== "object") { - clear(q); - return content; - } - q.length = q.length - 1 | 0; - q.first = next; - return content; -} - -function copy(q) { - var q_res = { - length: q.length, - first: "Nil", - last: "Nil" - }; - var _prev = "Nil"; - var _cell = q.first; - while(true) { - var cell = _cell; - var prev = _prev; - if (typeof cell !== "object") { - q_res.last = prev; - return q_res; - } - var next = cell.next; - var res = { - TAG: "Cons", - content: cell.content, - next: "Nil" - }; - if (typeof prev !== "object") { - q_res.first = res; - } else { - prev.next = res; - } - _cell = next; - _prev = res; - continue ; - }; -} - -function is_empty(q) { - return q.length === 0; -} - -function length(q) { - return q.length; -} - -function iter(f, q) { - var _cell = q.first; - while(true) { - var cell = _cell; - if (typeof cell !== "object") { - return ; - } - var next = cell.next; - Curry._1(f, cell.content); - _cell = next; - continue ; - }; -} - -function fold(f, accu, q) { - var _accu = accu; - var _cell = q.first; - while(true) { - var cell = _cell; - var accu$1 = _accu; - if (typeof cell !== "object") { - return accu$1; - } - var next = cell.next; - var accu$2 = Curry._2(f, accu$1, cell.content); - _cell = next; - _accu = accu$2; - continue ; - }; -} - -function transfer(q1, q2) { - if (q1.length <= 0) { - return ; - } - var last = q2.last; - if (typeof last !== "object") { - q2.length = q1.length; - q2.first = q1.first; - q2.last = q1.last; - return clear(q1); - } - q2.length = q2.length + q1.length | 0; - last.next = q1.first; - q2.last = q1.last; - clear(q1); -} - -var push = add; - -var pop = take; - -var top = peek; - -export { - Empty , - create , - add , - push , - take , - pop , - peek , - top , - clear , - copy , - is_empty , - length , - iter , - fold , - transfer , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/random.js b/bots/sustainabot/bot-integration/rescript-runtime/random.js deleted file mode 100644 index 89cc63f..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/random.js +++ /dev/null @@ -1,280 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as $$Array from "./array.js"; -import * as Int32 from "./int32.js"; -import * as Int64 from "./int64.js"; -import * as Digest from "./digest.js"; -import * as Caml_array from "./caml_array.js"; -import * as Caml_int64 from "./caml_int64.js"; -import * as Caml_string from "./caml_string.js"; - -function random_seed(param) { - return [(Math.floor(Math.random()*0x7fffffff))]; -} - -function assign(st1, st2) { - $$Array.blit(st2.st, 0, st1.st, 0, 55); - st1.idx = st2.idx; -} - -function full_init(s, seed) { - var combine = function (accu, x) { - return Digest.string(accu + String(x)); - }; - var extract = function (d) { - return ((Caml_string.get(d, 0) + (Caml_string.get(d, 1) << 8) | 0) + (Caml_string.get(d, 2) << 16) | 0) + (Caml_string.get(d, 3) << 24) | 0; - }; - var seed$1 = seed.length === 0 ? [0] : seed; - var l = seed$1.length; - for(var i = 0; i <= 54; ++i){ - Caml_array.set(s.st, i, i); - } - var accu = "x"; - for(var i$1 = 0 ,i_finish = 54 + ( - 55 > l ? 55 : l - ) | 0; i$1 <= i_finish; ++i$1){ - var j = i$1 % 55; - var k = i$1 % l; - accu = combine(accu, Caml_array.get(seed$1, k)); - Caml_array.set(s.st, j, (Caml_array.get(s.st, j) ^ extract(accu)) & 1073741823); - } - s.idx = 0; -} - -function make(seed) { - var result = { - st: Caml_array.make(55, 0), - idx: 0 - }; - full_init(result, seed); - return result; -} - -function make_self_init(param) { - return make(random_seed()); -} - -function copy(s) { - var result = { - st: Caml_array.make(55, 0), - idx: 0 - }; - assign(result, s); - return result; -} - -function bits(s) { - s.idx = (s.idx + 1 | 0) % 55; - var curval = Caml_array.get(s.st, s.idx); - var newval = Caml_array.get(s.st, (s.idx + 24 | 0) % 55) + (curval ^ (curval >>> 25) & 31) | 0; - var newval30 = newval & 1073741823; - Caml_array.set(s.st, s.idx, newval30); - return newval30; -} - -function $$int(s, bound) { - if (bound > 1073741823 || bound <= 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Random.int", - Error: new Error() - }; - } - while(true) { - var r = bits(s); - var v = r % bound; - if ((r - v | 0) <= ((1073741823 - bound | 0) + 1 | 0)) { - return v; - } - continue ; - }; -} - -function int32(s, bound) { - if (bound <= 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Random.int32", - Error: new Error() - }; - } - while(true) { - var b1 = bits(s); - var b2 = ((bits(s) & 1) << 30); - var r = b1 | b2; - var v = r % bound; - if ((r - v | 0) <= ((Int32.max_int - bound | 0) + 1 | 0)) { - return v; - } - continue ; - }; -} - -function int64(s, bound) { - if (Caml.i64_le(bound, Caml_int64.zero)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Random.int64", - Error: new Error() - }; - } - while(true) { - var b1 = Caml_int64.of_int32(bits(s)); - var b2 = Caml_int64.lsl_(Caml_int64.of_int32(bits(s)), 30); - var b3 = Caml_int64.lsl_(Caml_int64.of_int32(bits(s) & 7), 60); - var r = Caml_int64.or_(b1, Caml_int64.or_(b2, b3)); - var v = Caml_int64.mod_(r, bound); - if (!Caml.i64_gt(Caml_int64.sub(r, v), Caml_int64.add(Caml_int64.sub(Int64.max_int, bound), Caml_int64.one))) { - return v; - } - continue ; - }; -} - -function rawfloat(s) { - var r1 = bits(s); - var r2 = bits(s); - return (r1 / 1073741824.0 + r2) / 1073741824.0; -} - -function $$float(s, bound) { - return rawfloat(s) * bound; -} - -function bool(s) { - return (bits(s) & 1) === 0; -} - -var $$default = { - st: [ - 987910699, - 495797812, - 364182224, - 414272206, - 318284740, - 990407751, - 383018966, - 270373319, - 840823159, - 24560019, - 536292337, - 512266505, - 189156120, - 730249596, - 143776328, - 51606627, - 140166561, - 366354223, - 1003410265, - 700563762, - 981890670, - 913149062, - 526082594, - 1021425055, - 784300257, - 667753350, - 630144451, - 949649812, - 48546892, - 415514493, - 258888527, - 511570777, - 89983870, - 283659902, - 308386020, - 242688715, - 482270760, - 865188196, - 1027664170, - 207196989, - 193777847, - 619708188, - 671350186, - 149669678, - 257044018, - 87658204, - 558145612, - 183450813, - 28133145, - 901332182, - 710253903, - 510646120, - 652377910, - 409934019, - 801085050 - ], - idx: 0 -}; - -function bits$1(param) { - return bits($$default); -} - -function $$int$1(bound) { - return $$int($$default, bound); -} - -function int32$1(bound) { - return int32($$default, bound); -} - -function int64$1(bound) { - return int64($$default, bound); -} - -function $$float$1(scale) { - return rawfloat($$default) * scale; -} - -function bool$1(param) { - return bool($$default); -} - -function full_init$1(seed) { - full_init($$default, seed); -} - -function init(seed) { - full_init($$default, [seed]); -} - -function self_init(param) { - full_init$1(random_seed()); -} - -function get_state(param) { - return copy($$default); -} - -function set_state(s) { - assign($$default, s); -} - -var State = { - make: make, - make_self_init: make_self_init, - copy: copy, - bits: bits, - $$int: $$int, - int32: int32, - int64: int64, - $$float: $$float, - bool: bool -}; - -export { - init , - full_init$1 as full_init, - self_init , - bits$1 as bits, - $$int$1 as $$int, - int32$1 as int32, - int64$1 as int64, - $$float$1 as $$float, - bool$1 as bool, - State , - get_state , - set_state , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/set.js b/bots/sustainabot/bot-integration/rescript-runtime/set.js deleted file mode 100644 index 1ec2e2d..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/set.js +++ /dev/null @@ -1,968 +0,0 @@ - - -import * as List from "./list.js"; -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; - -function Make(funarg) { - var height = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return param.h; - } - }; - var create = function (l, v, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - return { - TAG: "Node", - l: l, - v: v, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - }; - var bal = function (l, v, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - if (hl > (hr + 2 | 0)) { - if (typeof l !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - var lr = l.r; - var lv = l.v; - var ll = l.l; - if (height(ll) >= height(lr)) { - return create(ll, lv, create(lr, v, r)); - } - if (typeof lr === "object") { - return create(create(ll, lv, lr.l), lr.v, create(lr.r, v, r)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - if (hr <= (hl + 2 | 0)) { - return { - TAG: "Node", - l: l, - v: v, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - } - if (typeof r !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - var rr = r.r; - var rv = r.v; - var rl = r.l; - if (height(rr) >= height(rl)) { - return create(create(l, v, rl), rv, rr); - } - if (typeof rl === "object") { - return create(create(l, v, rl.l), rl.v, create(rl.r, rv, rr)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - }; - var add = function (x, param) { - if (typeof param !== "object") { - return { - TAG: "Node", - l: "Empty", - v: x, - r: "Empty", - h: 1 - }; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return param; - } - if (c < 0) { - var ll = add(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, r); - } - } - var rr = add(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, rr); - } - }; - var singleton = function (x) { - return { - TAG: "Node", - l: "Empty", - v: x, - r: "Empty", - h: 1 - }; - }; - var add_min_element = function (x, param) { - if (typeof param !== "object") { - return singleton(x); - } else { - return bal(add_min_element(x, param.l), param.v, param.r); - } - }; - var add_max_element = function (x, param) { - if (typeof param !== "object") { - return singleton(x); - } else { - return bal(param.l, param.v, add_max_element(x, param.r)); - } - }; - var join = function (l, v, r) { - if (typeof l !== "object") { - return add_min_element(v, r); - } - var lh = l.h; - if (typeof r !== "object") { - return add_max_element(v, l); - } - var rh = r.h; - if (lh > (rh + 2 | 0)) { - return bal(l.l, l.v, join(l.r, v, r)); - } else if (rh > (lh + 2 | 0)) { - return bal(join(l, v, r.l), r.v, r.r); - } else { - return create(l, v, r); - } - }; - var min_elt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.v; - } - _param = l; - continue ; - }; - }; - var min_elt_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var l = param.l; - if (typeof l !== "object") { - return Caml_option.some(param.v); - } - _param = l; - continue ; - }; - }; - var max_elt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var r = param.r; - if (typeof r !== "object") { - return param.v; - } - _param = r; - continue ; - }; - }; - var max_elt_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var r = param.r; - if (typeof r !== "object") { - return Caml_option.some(param.v); - } - _param = r; - continue ; - }; - }; - var remove_min_elt = function (param) { - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.remove_min_elt", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.r; - } else { - return bal(remove_min_elt(l), param.v, param.r); - } - }; - var concat = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } else if (typeof t2 !== "object") { - return t1; - } else { - return join(t1, min_elt(t2), remove_min_elt(t2)); - } - }; - var split = function (x, param) { - if (typeof param !== "object") { - return [ - "Empty", - false, - "Empty" - ]; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return [ - l, - true, - r - ]; - } - if (c < 0) { - var match = split(x, l); - return [ - match[0], - match[1], - join(match[2], v, r) - ]; - } - var match$1 = split(x, r); - return [ - join(l, v, match$1[0]), - match$1[1], - match$1[2] - ]; - }; - var is_empty = function (param) { - if (typeof param !== "object") { - return true; - } else { - return false; - } - }; - var mem = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var c = Curry._2(funarg.compare, x, param.v); - if (c === 0) { - return true; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var remove = function (x, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - if (typeof l !== "object") { - return r; - } else if (typeof r !== "object") { - return l; - } else { - return bal(l, min_elt(r), remove_min_elt(r)); - } - } - if (c < 0) { - var ll = remove(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, r); - } - } - var rr = remove(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, rr); - } - }; - var union = function (s1, s2) { - if (typeof s1 !== "object") { - return s2; - } - var h1 = s1.h; - var v1 = s1.v; - if (typeof s2 !== "object") { - return s1; - } - var h2 = s2.h; - var v2 = s2.v; - if (h1 >= h2) { - if (h2 === 1) { - return add(v2, s1); - } - var match = split(v1, s2); - return join(union(s1.l, match[0]), v1, union(s1.r, match[2])); - } - if (h1 === 1) { - return add(v1, s2); - } - var match$1 = split(v2, s1); - return join(union(match$1[0], s2.l), v2, union(match$1[2], s2.r)); - }; - var inter = function (s1, s2) { - if (typeof s1 !== "object") { - return "Empty"; - } - if (typeof s2 !== "object") { - return "Empty"; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - var match = split(v1, s2); - var l2 = match[0]; - if (match[1]) { - return join(inter(l1, l2), v1, inter(r1, match[2])); - } else { - return concat(inter(l1, l2), inter(r1, match[2])); - } - }; - var diff = function (s1, s2) { - if (typeof s1 !== "object") { - return "Empty"; - } - if (typeof s2 !== "object") { - return s1; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - var match = split(v1, s2); - var l2 = match[0]; - if (match[1]) { - return concat(diff(l1, l2), diff(r1, match[2])); - } else { - return join(diff(l1, l2), v1, diff(r1, match[2])); - } - }; - var cons_enum = function (_s, _e) { - while(true) { - var e = _e; - var s = _s; - if (typeof s !== "object") { - return e; - } - _e = { - TAG: "More", - _0: s.v, - _1: s.r, - _2: e - }; - _s = s.l; - continue ; - }; - }; - var compare = function (s1, s2) { - var _e1 = cons_enum(s1, "End"); - var _e2 = cons_enum(s2, "End"); - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return 0; - } else { - return -1; - } - } - if (typeof e2 !== "object") { - return 1; - } - var c = Curry._2(funarg.compare, e1._0, e2._0); - if (c !== 0) { - return c; - } - _e2 = cons_enum(e2._1, e2._2); - _e1 = cons_enum(e1._1, e1._2); - continue ; - }; - }; - var equal = function (s1, s2) { - return compare(s1, s2) === 0; - }; - var subset = function (_s1, _s2) { - while(true) { - var s2 = _s2; - var s1 = _s1; - if (typeof s1 !== "object") { - return true; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - if (typeof s2 !== "object") { - return false; - } - var r2 = s2.r; - var l2 = s2.l; - var c = Curry._2(funarg.compare, v1, s2.v); - if (c === 0) { - if (!subset(l1, l2)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue ; - } - if (c < 0) { - if (!subset({ - TAG: "Node", - l: l1, - v: v1, - r: "Empty", - h: 0 - }, l2)) { - return false; - } - _s1 = r1; - continue ; - } - if (!subset({ - TAG: "Node", - l: "Empty", - v: v1, - r: r1, - h: 0 - }, r2)) { - return false; - } - _s1 = l1; - continue ; - }; - }; - var iter = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - iter(f, param.l); - Curry._1(f, param.v); - _param = param.r; - continue ; - }; - }; - var fold = function (f, _s, _accu) { - while(true) { - var accu = _accu; - var s = _s; - if (typeof s !== "object") { - return accu; - } - _accu = Curry._2(f, s.v, fold(f, s.l, accu)); - _s = s.r; - continue ; - }; - }; - var for_all = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - if (!Curry._1(p, param.v)) { - return false; - } - if (!for_all(p, param.l)) { - return false; - } - _param = param.r; - continue ; - }; - }; - var exists = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - if (Curry._1(p, param.v)) { - return true; - } - if (exists(p, param.l)) { - return true; - } - _param = param.r; - continue ; - }; - }; - var filter = function (p, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var l$p = filter(p, l); - var pv = Curry._1(p, v); - var r$p = filter(p, r); - if (pv) { - if (l === l$p && r === r$p) { - return param; - } else { - return join(l$p, v, r$p); - } - } else { - return concat(l$p, r$p); - } - }; - var partition = function (p, param) { - if (typeof param !== "object") { - return [ - "Empty", - "Empty" - ]; - } - var v = param.v; - var match = partition(p, param.l); - var lf = match[1]; - var lt = match[0]; - var pv = Curry._1(p, v); - var match$1 = partition(p, param.r); - var rf = match$1[1]; - var rt = match$1[0]; - if (pv) { - return [ - join(lt, v, rt), - concat(lf, rf) - ]; - } else { - return [ - concat(lt, rt), - join(lf, v, rf) - ]; - } - }; - var cardinal = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return (cardinal(param.l) + 1 | 0) + cardinal(param.r) | 0; - } - }; - var elements_aux = function (_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (typeof param !== "object") { - return accu; - } - _param = param.l; - _accu = { - hd: param.v, - tl: elements_aux(accu, param.r) - }; - continue ; - }; - }; - var elements = function (s) { - return elements_aux(/* [] */0, s); - }; - var find = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return v; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var find_first = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - var _v0 = v; - var _param$1 = param.l; - while(true) { - var param$1 = _param$1; - var v0 = _v0; - if (typeof param$1 !== "object") { - return v0; - } - var v$1 = param$1.v; - if (Curry._1(f, v$1)) { - _param$1 = param$1.l; - _v0 = v$1; - continue ; - } - _param$1 = param$1.r; - continue ; - }; - } - _param = param.r; - continue ; - }; - }; - var find_first_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - var _v0 = v; - var _param$1 = param.l; - while(true) { - var param$1 = _param$1; - var v0 = _v0; - if (typeof param$1 !== "object") { - return Caml_option.some(v0); - } - var v$1 = param$1.v; - if (Curry._1(f, v$1)) { - _param$1 = param$1.l; - _v0 = v$1; - continue ; - } - _param$1 = param$1.r; - continue ; - }; - } - _param = param.r; - continue ; - }; - }; - var find_last = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - var _v0 = v; - var _param$1 = param.r; - while(true) { - var param$1 = _param$1; - var v0 = _v0; - if (typeof param$1 !== "object") { - return v0; - } - var v$1 = param$1.v; - if (Curry._1(f, v$1)) { - _param$1 = param$1.r; - _v0 = v$1; - continue ; - } - _param$1 = param$1.l; - continue ; - }; - } - _param = param.l; - continue ; - }; - }; - var find_last_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - var _v0 = v; - var _param$1 = param.r; - while(true) { - var param$1 = _param$1; - var v0 = _v0; - if (typeof param$1 !== "object") { - return Caml_option.some(v0); - } - var v$1 = param$1.v; - if (Curry._1(f, v$1)) { - _param$1 = param$1.r; - _v0 = v$1; - continue ; - } - _param$1 = param$1.l; - continue ; - }; - } - _param = param.l; - continue ; - }; - }; - var find_opt = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - var c = Curry._2(funarg.compare, x, v); - if (c === 0) { - return Caml_option.some(v); - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var map = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var l$p = map(f, l); - var v$p = Curry._1(f, v); - var r$p = map(f, r); - if (l === l$p && v === v$p && r === r$p) { - return param; - } else if ((l$p === "Empty" || Curry._2(funarg.compare, max_elt(l$p), v$p) < 0) && (r$p === "Empty" || Curry._2(funarg.compare, v$p, min_elt(r$p)) < 0)) { - return join(l$p, v$p, r$p); - } else { - return union(l$p, add(v$p, r$p)); - } - }; - var of_list = function (l) { - if (!l) { - return "Empty"; - } - var match = l.tl; - var x0 = l.hd; - if (!match) { - return singleton(x0); - } - var match$1 = match.tl; - var x1 = match.hd; - if (!match$1) { - return add(x1, singleton(x0)); - } - var match$2 = match$1.tl; - var x2 = match$1.hd; - if (!match$2) { - return add(x2, add(x1, singleton(x0))); - } - var match$3 = match$2.tl; - var x3 = match$2.hd; - if (match$3) { - if (match$3.tl) { - var l$1 = List.sort_uniq(funarg.compare, l); - var sub = function (n, l) { - switch (n) { - case 0 : - return [ - "Empty", - l - ]; - case 1 : - if (l) { - return [ - { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - l.tl - ]; - } - break; - case 2 : - if (l) { - var match = l.tl; - if (match) { - return [ - { - TAG: "Node", - l: { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - v: match.hd, - r: "Empty", - h: 2 - }, - match.tl - ]; - } - - } - break; - case 3 : - if (l) { - var match$1 = l.tl; - if (match$1) { - var match$2 = match$1.tl; - if (match$2) { - return [ - { - TAG: "Node", - l: { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - v: match$1.hd, - r: { - TAG: "Node", - l: "Empty", - v: match$2.hd, - r: "Empty", - h: 1 - }, - h: 2 - }, - match$2.tl - ]; - } - - } - - } - break; - default: - - } - var nl = n / 2 | 0; - var match$3 = sub(nl, l); - var l$1 = match$3[1]; - if (l$1) { - var match$4 = sub((n - nl | 0) - 1 | 0, l$1.tl); - return [ - create(match$3[0], l$1.hd, match$4[0]), - match$4[1] - ]; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "set.res", - 691, - 20 - ], - Error: new Error() - }; - }; - return sub(List.length(l$1), l$1)[0]; - } else { - return add(match$3.hd, add(x3, add(x2, add(x1, singleton(x0))))); - } - } else { - return add(x3, add(x2, add(x1, singleton(x0)))); - } - }; - return { - empty: "Empty", - is_empty: is_empty, - mem: mem, - add: add, - singleton: singleton, - remove: remove, - union: union, - inter: inter, - diff: diff, - compare: compare, - equal: equal, - subset: subset, - iter: iter, - map: map, - fold: fold, - for_all: for_all, - exists: exists, - filter: filter, - partition: partition, - cardinal: cardinal, - elements: elements, - min_elt: min_elt, - min_elt_opt: min_elt_opt, - max_elt: max_elt, - max_elt_opt: max_elt_opt, - choose: min_elt, - choose_opt: min_elt_opt, - split: split, - find: find, - find_opt: find_opt, - find_first: find_first, - find_first_opt: find_first_opt, - find_last: find_last, - find_last_opt: find_last_opt, - of_list: of_list - }; -} - -export { - Make , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/setLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/setLabels.js deleted file mode 100644 index fc4e938..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/setLabels.js +++ /dev/null @@ -1,1001 +0,0 @@ - - -import * as List from "./list.js"; -import * as Curry from "./curry.js"; -import * as Caml_option from "./caml_option.js"; - -function Make(Ord) { - var height = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return param.h; - } - }; - var create = function (l, v, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - return { - TAG: "Node", - l: l, - v: v, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - }; - var bal = function (l, v, r) { - var hl; - hl = typeof l !== "object" ? 0 : l.h; - var hr; - hr = typeof r !== "object" ? 0 : r.h; - if (hl > (hr + 2 | 0)) { - if (typeof l !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - var lr = l.r; - var lv = l.v; - var ll = l.l; - if (height(ll) >= height(lr)) { - return create(ll, lv, create(lr, v, r)); - } - if (typeof lr === "object") { - return create(create(ll, lv, lr.l), lr.v, create(lr.r, v, r)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - if (hr <= (hl + 2 | 0)) { - return { - TAG: "Node", - l: l, - v: v, - r: r, - h: hl >= hr ? hl + 1 | 0 : hr + 1 | 0 - }; - } - if (typeof r !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - } - var rr = r.r; - var rv = r.v; - var rl = r.l; - if (height(rr) >= height(rl)) { - return create(create(l, v, rl), rv, rr); - } - if (typeof rl === "object") { - return create(create(l, v, rl.l), rl.v, create(rl.r, rv, rr)); - } - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.bal", - Error: new Error() - }; - }; - var add = function (x, param) { - if (typeof param !== "object") { - return { - TAG: "Node", - l: "Empty", - v: x, - r: "Empty", - h: 1 - }; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - return param; - } - if (c < 0) { - var ll = add(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, r); - } - } - var rr = add(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, rr); - } - }; - var singleton = function (x) { - return { - TAG: "Node", - l: "Empty", - v: x, - r: "Empty", - h: 1 - }; - }; - var add_min_element = function (x, param) { - if (typeof param !== "object") { - return singleton(x); - } else { - return bal(add_min_element(x, param.l), param.v, param.r); - } - }; - var add_max_element = function (x, param) { - if (typeof param !== "object") { - return singleton(x); - } else { - return bal(param.l, param.v, add_max_element(x, param.r)); - } - }; - var join = function (l, v, r) { - if (typeof l !== "object") { - return add_min_element(v, r); - } - var lh = l.h; - if (typeof r !== "object") { - return add_max_element(v, l); - } - var rh = r.h; - if (lh > (rh + 2 | 0)) { - return bal(l.l, l.v, join(l.r, v, r)); - } else if (rh > (lh + 2 | 0)) { - return bal(join(l, v, r.l), r.v, r.r); - } else { - return create(l, v, r); - } - }; - var min_elt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.v; - } - _param = l; - continue ; - }; - }; - var min_elt_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var l = param.l; - if (typeof l !== "object") { - return Caml_option.some(param.v); - } - _param = l; - continue ; - }; - }; - var max_elt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var r = param.r; - if (typeof r !== "object") { - return param.v; - } - _param = r; - continue ; - }; - }; - var max_elt_opt = function (_param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var r = param.r; - if (typeof r !== "object") { - return Caml_option.some(param.v); - } - _param = r; - continue ; - }; - }; - var remove_min_elt = function (param) { - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Set.remove_min_elt", - Error: new Error() - }; - } - var l = param.l; - if (typeof l !== "object") { - return param.r; - } else { - return bal(remove_min_elt(l), param.v, param.r); - } - }; - var merge = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } else if (typeof t2 !== "object") { - return t1; - } else { - return bal(t1, min_elt(t2), remove_min_elt(t2)); - } - }; - var concat = function (t1, t2) { - if (typeof t1 !== "object") { - return t2; - } else if (typeof t2 !== "object") { - return t1; - } else { - return join(t1, min_elt(t2), remove_min_elt(t2)); - } - }; - var split = function (x, param) { - if (typeof param !== "object") { - return [ - "Empty", - false, - "Empty" - ]; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - return [ - l, - true, - r - ]; - } - if (c < 0) { - var match = split(x, l); - return [ - match[0], - match[1], - join(match[2], v, r) - ]; - } - var match$1 = split(x, r); - return [ - join(l, v, match$1[0]), - match$1[1], - match$1[2] - ]; - }; - var is_empty = function (param) { - if (typeof param !== "object") { - return true; - } else { - return false; - } - }; - var mem = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - var c = Curry._2(Ord.compare, x, param.v); - if (c === 0) { - return true; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var remove = function (x, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - return merge(l, r); - } - if (c < 0) { - var ll = remove(x, l); - if (l === ll) { - return param; - } else { - return bal(ll, v, r); - } - } - var rr = remove(x, r); - if (r === rr) { - return param; - } else { - return bal(l, v, rr); - } - }; - var union = function (s1, s2) { - if (typeof s1 !== "object") { - return s2; - } - var h1 = s1.h; - var v1 = s1.v; - if (typeof s2 !== "object") { - return s1; - } - var h2 = s2.h; - var v2 = s2.v; - if (h1 >= h2) { - if (h2 === 1) { - return add(v2, s1); - } - var match = split(v1, s2); - return join(union(s1.l, match[0]), v1, union(s1.r, match[2])); - } - if (h1 === 1) { - return add(v1, s2); - } - var match$1 = split(v2, s1); - return join(union(match$1[0], s2.l), v2, union(match$1[2], s2.r)); - }; - var inter = function (s1, s2) { - if (typeof s1 !== "object") { - return "Empty"; - } - if (typeof s2 !== "object") { - return "Empty"; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - var match = split(v1, s2); - var l2 = match[0]; - if (match[1]) { - return join(inter(l1, l2), v1, inter(r1, match[2])); - } else { - return concat(inter(l1, l2), inter(r1, match[2])); - } - }; - var diff = function (s1, s2) { - if (typeof s1 !== "object") { - return "Empty"; - } - if (typeof s2 !== "object") { - return s1; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - var match = split(v1, s2); - var l2 = match[0]; - if (match[1]) { - return concat(diff(l1, l2), diff(r1, match[2])); - } else { - return join(diff(l1, l2), v1, diff(r1, match[2])); - } - }; - var cons_enum = function (_s, _e) { - while(true) { - var e = _e; - var s = _s; - if (typeof s !== "object") { - return e; - } - _e = { - TAG: "More", - _0: s.v, - _1: s.r, - _2: e - }; - _s = s.l; - continue ; - }; - }; - var compare_aux = function (_e1, _e2) { - while(true) { - var e2 = _e2; - var e1 = _e1; - if (typeof e1 !== "object") { - if (typeof e2 !== "object") { - return 0; - } else { - return -1; - } - } - if (typeof e2 !== "object") { - return 1; - } - var c = Curry._2(Ord.compare, e1._0, e2._0); - if (c !== 0) { - return c; - } - _e2 = cons_enum(e2._1, e2._2); - _e1 = cons_enum(e1._1, e1._2); - continue ; - }; - }; - var compare = function (s1, s2) { - return compare_aux(cons_enum(s1, "End"), cons_enum(s2, "End")); - }; - var equal = function (s1, s2) { - return compare(s1, s2) === 0; - }; - var subset = function (_s1, _s2) { - while(true) { - var s2 = _s2; - var s1 = _s1; - if (typeof s1 !== "object") { - return true; - } - var r1 = s1.r; - var v1 = s1.v; - var l1 = s1.l; - if (typeof s2 !== "object") { - return false; - } - var r2 = s2.r; - var l2 = s2.l; - var c = Curry._2(Ord.compare, v1, s2.v); - if (c === 0) { - if (!subset(l1, l2)) { - return false; - } - _s2 = r2; - _s1 = r1; - continue ; - } - if (c < 0) { - if (!subset({ - TAG: "Node", - l: l1, - v: v1, - r: "Empty", - h: 0 - }, l2)) { - return false; - } - _s1 = r1; - continue ; - } - if (!subset({ - TAG: "Node", - l: "Empty", - v: v1, - r: r1, - h: 0 - }, r2)) { - return false; - } - _s1 = l1; - continue ; - }; - }; - var iter = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - iter(f, param.l); - Curry._1(f, param.v); - _param = param.r; - continue ; - }; - }; - var fold = function (f, _s, _accu) { - while(true) { - var accu = _accu; - var s = _s; - if (typeof s !== "object") { - return accu; - } - _accu = Curry._2(f, s.v, fold(f, s.l, accu)); - _s = s.r; - continue ; - }; - }; - var for_all = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return true; - } - if (!Curry._1(p, param.v)) { - return false; - } - if (!for_all(p, param.l)) { - return false; - } - _param = param.r; - continue ; - }; - }; - var exists = function (p, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return false; - } - if (Curry._1(p, param.v)) { - return true; - } - if (exists(p, param.l)) { - return true; - } - _param = param.r; - continue ; - }; - }; - var filter = function (p, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var l$p = filter(p, l); - var pv = Curry._1(p, v); - var r$p = filter(p, r); - if (pv) { - if (l === l$p && r === r$p) { - return param; - } else { - return join(l$p, v, r$p); - } - } else { - return concat(l$p, r$p); - } - }; - var partition = function (p, param) { - if (typeof param !== "object") { - return [ - "Empty", - "Empty" - ]; - } - var v = param.v; - var match = partition(p, param.l); - var lf = match[1]; - var lt = match[0]; - var pv = Curry._1(p, v); - var match$1 = partition(p, param.r); - var rf = match$1[1]; - var rt = match$1[0]; - if (pv) { - return [ - join(lt, v, rt), - concat(lf, rf) - ]; - } else { - return [ - concat(lt, rt), - join(lf, v, rf) - ]; - } - }; - var cardinal = function (param) { - if (typeof param !== "object") { - return 0; - } else { - return (cardinal(param.l) + 1 | 0) + cardinal(param.r) | 0; - } - }; - var elements_aux = function (_accu, _param) { - while(true) { - var param = _param; - var accu = _accu; - if (typeof param !== "object") { - return accu; - } - _param = param.l; - _accu = { - hd: param.v, - tl: elements_aux(accu, param.r) - }; - continue ; - }; - }; - var elements = function (s) { - return elements_aux(/* [] */0, s); - }; - var find = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - return v; - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var find_first_aux = function (_v0, f, _param) { - while(true) { - var param = _param; - var v0 = _v0; - if (typeof param !== "object") { - return v0; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.l; - _v0 = v; - continue ; - } - _param = param.r; - continue ; - }; - }; - var find_first = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_first_aux(v, f, param.l); - } - _param = param.r; - continue ; - }; - }; - var find_first_opt_aux = function (_v0, f, _param) { - while(true) { - var param = _param; - var v0 = _v0; - if (typeof param !== "object") { - return Caml_option.some(v0); - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.l; - _v0 = v; - continue ; - } - _param = param.r; - continue ; - }; - }; - var find_first_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_first_opt_aux(v, f, param.l); - } - _param = param.r; - continue ; - }; - }; - var find_last_aux = function (_v0, f, _param) { - while(true) { - var param = _param; - var v0 = _v0; - if (typeof param !== "object") { - return v0; - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.r; - _v0 = v; - continue ; - } - _param = param.l; - continue ; - }; - }; - var find_last = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_last_aux(v, f, param.r); - } - _param = param.l; - continue ; - }; - }; - var find_last_opt_aux = function (_v0, f, _param) { - while(true) { - var param = _param; - var v0 = _v0; - if (typeof param !== "object") { - return Caml_option.some(v0); - } - var v = param.v; - if (Curry._1(f, v)) { - _param = param.r; - _v0 = v; - continue ; - } - _param = param.l; - continue ; - }; - }; - var find_last_opt = function (f, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - if (Curry._1(f, v)) { - return find_last_opt_aux(v, f, param.r); - } - _param = param.l; - continue ; - }; - }; - var find_opt = function (x, _param) { - while(true) { - var param = _param; - if (typeof param !== "object") { - return ; - } - var v = param.v; - var c = Curry._2(Ord.compare, x, v); - if (c === 0) { - return Caml_option.some(v); - } - _param = c < 0 ? param.l : param.r; - continue ; - }; - }; - var try_join = function (l, v, r) { - if ((l === "Empty" || Curry._2(Ord.compare, max_elt(l), v) < 0) && (r === "Empty" || Curry._2(Ord.compare, v, min_elt(r)) < 0)) { - return join(l, v, r); - } else { - return union(l, add(v, r)); - } - }; - var map = function (f, param) { - if (typeof param !== "object") { - return "Empty"; - } - var r = param.r; - var v = param.v; - var l = param.l; - var l$p = map(f, l); - var v$p = Curry._1(f, v); - var r$p = map(f, r); - if (l === l$p && v === v$p && r === r$p) { - return param; - } else { - return try_join(l$p, v$p, r$p); - } - }; - var of_sorted_list = function (l) { - var sub = function (n, l) { - switch (n) { - case 0 : - return [ - "Empty", - l - ]; - case 1 : - if (l) { - return [ - { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - l.tl - ]; - } - break; - case 2 : - if (l) { - var match = l.tl; - if (match) { - return [ - { - TAG: "Node", - l: { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - v: match.hd, - r: "Empty", - h: 2 - }, - match.tl - ]; - } - - } - break; - case 3 : - if (l) { - var match$1 = l.tl; - if (match$1) { - var match$2 = match$1.tl; - if (match$2) { - return [ - { - TAG: "Node", - l: { - TAG: "Node", - l: "Empty", - v: l.hd, - r: "Empty", - h: 1 - }, - v: match$1.hd, - r: { - TAG: "Node", - l: "Empty", - v: match$2.hd, - r: "Empty", - h: 1 - }, - h: 2 - }, - match$2.tl - ]; - } - - } - - } - break; - default: - - } - var nl = n / 2 | 0; - var match$3 = sub(nl, l); - var l$1 = match$3[1]; - if (l$1) { - var match$4 = sub((n - nl | 0) - 1 | 0, l$1.tl); - return [ - create(match$3[0], l$1.hd, match$4[0]), - match$4[1] - ]; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "setLabels.res", - 691, - 20 - ], - Error: new Error() - }; - }; - return sub(List.length(l), l)[0]; - }; - var of_list = function (l) { - if (!l) { - return "Empty"; - } - var match = l.tl; - var x0 = l.hd; - if (!match) { - return singleton(x0); - } - var match$1 = match.tl; - var x1 = match.hd; - if (!match$1) { - return add(x1, singleton(x0)); - } - var match$2 = match$1.tl; - var x2 = match$1.hd; - if (!match$2) { - return add(x2, add(x1, singleton(x0))); - } - var match$3 = match$2.tl; - var x3 = match$2.hd; - if (match$3) { - if (match$3.tl) { - return of_sorted_list(List.sort_uniq(Ord.compare, l)); - } else { - return add(match$3.hd, add(x3, add(x2, add(x1, singleton(x0))))); - } - } else { - return add(x3, add(x2, add(x1, singleton(x0)))); - } - }; - return { - height: height, - create: create, - bal: bal, - add: add, - singleton: singleton, - add_min_element: add_min_element, - add_max_element: add_max_element, - join: join, - min_elt: min_elt, - min_elt_opt: min_elt_opt, - max_elt: max_elt, - max_elt_opt: max_elt_opt, - remove_min_elt: remove_min_elt, - merge: merge, - concat: concat, - split: split, - empty: "Empty", - is_empty: is_empty, - mem: mem, - remove: remove, - union: union, - inter: inter, - diff: diff, - cons_enum: cons_enum, - compare_aux: compare_aux, - compare: compare, - equal: equal, - subset: subset, - iter: iter, - fold: fold, - for_all: for_all, - exists: exists, - filter: filter, - partition: partition, - cardinal: cardinal, - elements_aux: elements_aux, - elements: elements, - choose: min_elt, - choose_opt: min_elt_opt, - find: find, - find_first_aux: find_first_aux, - find_first: find_first, - find_first_opt_aux: find_first_opt_aux, - find_first_opt: find_first_opt, - find_last_aux: find_last_aux, - find_last: find_last, - find_last_opt_aux: find_last_opt_aux, - find_last_opt: find_last_opt, - find_opt: find_opt, - try_join: try_join, - map: map, - of_sorted_list: of_sorted_list, - of_list: of_list - }; -} - -export { - Make , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/sort.js b/bots/sustainabot/bot-integration/rescript-runtime/sort.js deleted file mode 100644 index 3309b84..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/sort.js +++ /dev/null @@ -1,168 +0,0 @@ - - -import * as Curry from "./curry.js"; - -function merge(order, l1, l2) { - if (!l1) { - return l2; - } - if (!l2) { - return l1; - } - var h2 = l2.hd; - var h1 = l1.hd; - if (Curry._2(order, h1, h2)) { - return { - hd: h1, - tl: merge(order, l1.tl, l2) - }; - } else { - return { - hd: h2, - tl: merge(order, l1, l2.tl) - }; - } -} - -function list(order, l) { - var initlist = function (param) { - if (!param) { - return /* [] */0; - } - var match = param.tl; - var e = param.hd; - if (!match) { - return { - hd: { - hd: e, - tl: /* [] */0 - }, - tl: /* [] */0 - }; - } - var e2 = match.hd; - return { - hd: Curry._2(order, e, e2) ? ({ - hd: e, - tl: { - hd: e2, - tl: /* [] */0 - } - }) : ({ - hd: e2, - tl: { - hd: e, - tl: /* [] */0 - } - }), - tl: initlist(match.tl) - }; - }; - var merge2 = function (param) { - if (!param) { - return param; - } - var match = param.tl; - if (match) { - return { - hd: merge(order, param.hd, match.hd), - tl: merge2(match.tl) - }; - } else { - return param; - } - }; - var _param = initlist(l); - while(true) { - var param = _param; - if (!param) { - return /* [] */0; - } - if (!param.tl) { - return param.hd; - } - _param = merge2(param); - continue ; - }; -} - -function swap(arr, i, j) { - var tmp = arr[i]; - arr[i] = arr[j]; - arr[j] = tmp; -} - -function array(cmp, arr) { - var qsort = function (_lo, _hi) { - while(true) { - var hi = _hi; - var lo = _lo; - if ((hi - lo | 0) < 6) { - return ; - } - var mid = ((lo + hi | 0) >>> 1); - if (Curry._2(cmp, arr[mid], arr[lo])) { - swap(arr, mid, lo); - } - if (Curry._2(cmp, arr[hi], arr[mid])) { - swap(arr, mid, hi); - if (Curry._2(cmp, arr[mid], arr[lo])) { - swap(arr, mid, lo); - } - - } - var pivot = arr[mid]; - var i = lo + 1 | 0; - var j = hi - 1 | 0; - if (!Curry._2(cmp, pivot, arr[hi]) || !Curry._2(cmp, arr[lo], pivot)) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "Sort.array", - Error: new Error() - }; - } - while(i < j) { - while(!Curry._2(cmp, pivot, arr[i])) { - i = i + 1 | 0; - }; - while(!Curry._2(cmp, arr[j], pivot)) { - j = j - 1 | 0; - }; - if (i < j) { - swap(arr, i, j); - } - i = i + 1 | 0; - j = j - 1 | 0; - }; - if ((j - lo | 0) <= (hi - i | 0)) { - qsort(lo, j); - _lo = i; - continue ; - } - qsort(i, hi); - _hi = j; - continue ; - }; - }; - qsort(0, arr.length - 1 | 0); - for(var i = 1 ,i_finish = arr.length; i < i_finish; ++i){ - var val_i = arr[i]; - if (!Curry._2(cmp, arr[i - 1 | 0], val_i)) { - arr[i] = arr[i - 1 | 0]; - var j = i - 1 | 0; - while(j >= 1 && !Curry._2(cmp, arr[j - 1 | 0], val_i)) { - arr[j] = arr[j - 1 | 0]; - j = j - 1 | 0; - }; - arr[j] = val_i; - } - - } -} - -export { - list , - array , - merge , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/stack.js b/bots/sustainabot/bot-integration/rescript-runtime/stack.js deleted file mode 100644 index d78505b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/stack.js +++ /dev/null @@ -1,88 +0,0 @@ - - -import * as List from "./list.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; - -var Empty = /* @__PURE__ */Caml_exceptions.create("Stack.Empty"); - -function create(param) { - return { - c: /* [] */0, - len: 0 - }; -} - -function clear(s) { - s.c = /* [] */0; - s.len = 0; -} - -function copy(s) { - return { - c: s.c, - len: s.len - }; -} - -function push(x, s) { - s.c = { - hd: x, - tl: s.c - }; - s.len = s.len + 1 | 0; -} - -function pop(s) { - var match = s.c; - if (match) { - s.c = match.tl; - s.len = s.len - 1 | 0; - return match.hd; - } - throw { - RE_EXN_ID: Empty, - Error: new Error() - }; -} - -function top(s) { - var match = s.c; - if (match) { - return match.hd; - } - throw { - RE_EXN_ID: Empty, - Error: new Error() - }; -} - -function is_empty(s) { - return s.c === /* [] */0; -} - -function length(s) { - return s.len; -} - -function iter(f, s) { - List.iter(f, s.c); -} - -function fold(f, acc, s) { - return List.fold_left(f, acc, s.c); -} - -export { - Empty , - create , - push , - pop , - top , - clear , - copy , - is_empty , - length , - iter , - fold , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/stdLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/stdLabels.js deleted file mode 100644 index 3319a44..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/stdLabels.js +++ /dev/null @@ -1,18 +0,0 @@ - - - -var $$Array; - -var Bytes; - -var List; - -var $$String; - -export { - $$Array , - Bytes , - List , - $$String , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/stream.js b/bots/sustainabot/bot-integration/rescript-runtime/stream.js deleted file mode 100644 index 9352357..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/stream.js +++ /dev/null @@ -1,496 +0,0 @@ - - -import * as List from "./list.js"; -import * as Curry from "./curry.js"; -import * as Caml_bytes from "./caml_bytes.js"; -import * as Caml_option from "./caml_option.js"; -import * as Caml_string from "./caml_string.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; -import * as CamlinternalLazy from "./camlinternalLazy.js"; - -var Failure = /* @__PURE__ */Caml_exceptions.create("Stream.Failure"); - -var $$Error = /* @__PURE__ */Caml_exceptions.create("Stream.Error"); - -function count(param) { - if (param !== undefined) { - return param.count; - } else { - return 0; - } -} - -function data(param) { - if (param !== undefined) { - return param.data; - } else { - return "Sempty"; - } -} - -function get_data(count, _d) { - while(true) { - var d = _d; - if (typeof d !== "object") { - return d; - } - switch (d.TAG) { - case "Scons" : - return d; - case "Sapp" : - var d2 = d._1; - var match = get_data(count, d._0); - if (typeof match !== "object") { - _d = d2; - continue ; - } - if (match.TAG === "Scons") { - return { - TAG: "Scons", - _0: match._0, - _1: { - TAG: "Sapp", - _0: match._1, - _1: d2 - } - }; - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "stream.res", - 53, - 13 - ], - Error: new Error() - }; - case "Slazy" : - _d = CamlinternalLazy.force(d._0); - continue ; - case "Sgen" : - var g = d._0; - var match$1 = g.curr; - if (match$1 !== undefined) { - var a = Caml_option.valFromOption(match$1); - if (a !== undefined) { - g.curr = undefined; - return { - TAG: "Scons", - _0: Caml_option.valFromOption(a), - _1: d - }; - } else { - return "Sempty"; - } - } - var a$1 = Curry._1(g.func, count); - if (a$1 !== undefined) { - return { - TAG: "Scons", - _0: Caml_option.valFromOption(a$1), - _1: d - }; - } else { - g.curr = Caml_option.some(undefined); - return "Sempty"; - } - - } - }; -} - -function peek_data(s) { - while(true) { - var f = s.data; - if (typeof f !== "object") { - return ; - } - switch (f.TAG) { - case "Scons" : - return Caml_option.some(f._0); - case "Sapp" : - var d = get_data(s.count, s.data); - if (typeof d !== "object") { - return ; - } - if (d.TAG === "Scons") { - s.data = d; - return Caml_option.some(d._0); - } - throw { - RE_EXN_ID: "Assert_failure", - _1: [ - "stream.res", - 83, - 13 - ], - Error: new Error() - }; - case "Slazy" : - s.data = CamlinternalLazy.force(f._0); - continue ; - case "Sgen" : - var g = f._0; - var a = g.curr; - if (a !== undefined) { - return Caml_option.valFromOption(a); - } - var x = Curry._1(g.func, s.count); - g.curr = Caml_option.some(x); - return x; - - } - }; -} - -function peek(param) { - if (param !== undefined) { - return peek_data(param); - } - -} - -function junk_data(s) { - while(true) { - var g = s.data; - if (typeof g === "object") { - switch (g.TAG) { - case "Scons" : - s.count = s.count + 1 | 0; - s.data = g._1; - return ; - case "Sgen" : - var g$1 = g._0; - var match = g$1.curr; - if (match !== undefined) { - s.count = s.count + 1 | 0; - g$1.curr = undefined; - return ; - } - break; - default: - - } - } - var match$1 = peek_data(s); - if (match$1 === undefined) { - return ; - } - continue ; - }; -} - -function junk(param) { - if (param !== undefined) { - return junk_data(param); - } - -} - -function nget_data(n, s) { - if (n <= 0) { - return [ - /* [] */0, - s.data, - 0 - ]; - } - var a = peek_data(s); - if (a === undefined) { - return [ - /* [] */0, - s.data, - 0 - ]; - } - var a$1 = Caml_option.valFromOption(a); - junk_data(s); - var match = nget_data(n - 1 | 0, s); - return [ - { - hd: a$1, - tl: match[0] - }, - { - TAG: "Scons", - _0: a$1, - _1: match[1] - }, - match[2] + 1 | 0 - ]; -} - -function npeek(n, param) { - if (param !== undefined) { - var match = nget_data(n, param); - param.count = param.count - match[2] | 0; - param.data = match[1]; - return match[0]; - } else { - return /* [] */0; - } -} - -function next(s) { - var a = peek(s); - if (a !== undefined) { - junk(s); - return Caml_option.valFromOption(a); - } - throw { - RE_EXN_ID: Failure, - Error: new Error() - }; -} - -function empty(s) { - var match = peek(s); - if (match === undefined) { - return ; - } - throw { - RE_EXN_ID: Failure, - Error: new Error() - }; -} - -function iter(f, strm) { - var _param; - while(true) { - var a = peek(strm); - if (a === undefined) { - return ; - } - junk(strm); - Curry._1(f, Caml_option.valFromOption(a)); - _param = undefined; - continue ; - }; -} - -function from(f) { - return { - count: 0, - data: { - TAG: "Sgen", - _0: { - curr: undefined, - func: f - } - } - }; -} - -function of_list(l) { - return { - count: 0, - data: List.fold_right((function (x, l) { - return { - TAG: "Scons", - _0: x, - _1: l - }; - }), l, "Sempty") - }; -} - -function of_string(s) { - var count = { - contents: 0 - }; - return from(function (param) { - var c = count.contents; - if (c < s.length) { - count.contents = count.contents + 1 | 0; - return Caml_string.get(s, c); - } - - }); -} - -function of_bytes(s) { - var count = { - contents: 0 - }; - return from(function (param) { - var c = count.contents; - if (c < s.length) { - count.contents = count.contents + 1 | 0; - return Caml_bytes.get(s, c); - } - - }); -} - -function iapp(i, s) { - return { - count: 0, - data: { - TAG: "Sapp", - _0: data(i), - _1: data(s) - } - }; -} - -function icons(i, s) { - return { - count: 0, - data: { - TAG: "Scons", - _0: i, - _1: data(s) - } - }; -} - -function ising(i) { - return { - count: 0, - data: { - TAG: "Scons", - _0: i, - _1: "Sempty" - } - }; -} - -function lapp(f, s) { - return { - count: 0, - data: { - TAG: "Slazy", - _0: { - LAZY_DONE: false, - VAL: (function () { - return { - TAG: "Sapp", - _0: data(Curry._1(f, undefined)), - _1: data(s) - }; - }) - } - } - }; -} - -function lcons(f, s) { - return { - count: 0, - data: { - TAG: "Slazy", - _0: { - LAZY_DONE: false, - VAL: (function () { - return { - TAG: "Scons", - _0: Curry._1(f, undefined), - _1: data(s) - }; - }) - } - } - }; -} - -function lsing(f) { - return { - count: 0, - data: { - TAG: "Slazy", - _0: { - LAZY_DONE: false, - VAL: (function () { - return { - TAG: "Scons", - _0: Curry._1(f, undefined), - _1: "Sempty" - }; - }) - } - } - }; -} - -function slazy(f) { - return { - count: 0, - data: { - TAG: "Slazy", - _0: { - LAZY_DONE: false, - VAL: (function () { - return data(Curry._1(f, undefined)); - }) - } - } - }; -} - -function dump_data(f, param) { - if (typeof param !== "object") { - console.log("Sempty"); - return ; - } - switch (param.TAG) { - case "Scons" : - console.log("Scons ("); - Curry._1(f, param._0); - console.log(", "); - dump_data(f, param._1); - console.log(")"); - return ; - case "Sapp" : - console.log("Sapp ("); - dump_data(f, param._0); - console.log(", "); - dump_data(f, param._1); - console.log(")"); - return ; - case "Slazy" : - console.log("Slazy"); - return ; - case "Sgen" : - console.log("Sgen"); - return ; - - } -} - -function dump(f, s) { - console.log("{count = "); - var i = count(s); - console.log(String(i)); - console.log("; data = "); - dump_data(f, data(s)); - console.log("}"); - console.log(""); -} - -var sempty; - -export { - Failure , - $$Error , - from , - of_list , - of_string , - of_bytes , - iter , - next , - empty , - peek , - junk , - count , - npeek , - iapp , - icons , - ising , - lapp , - lcons , - lsing , - sempty , - slazy , - dump , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/string.js b/bots/sustainabot/bot-integration/rescript-runtime/string.js deleted file mode 100644 index def3e31..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/string.js +++ /dev/null @@ -1,337 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as $$Array from "./array.js"; -import * as Bytes from "./bytes.js"; -import * as Curry from "./curry.js"; -import * as Caml_string from "./caml_string.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -function init(n, f) { - return Bytes.unsafe_to_string(Bytes.init(n, f)); -} - -function sub(s, ofs, len) { - return Bytes.unsafe_to_string(Bytes.sub(Bytes.unsafe_of_string(s), ofs, len)); -} - -function concat(sep, xs) { - return $$Array.of_list(xs).join(sep); -} - -function iter(f, s) { - for(var i = 0 ,i_finish = s.length; i < i_finish; ++i){ - Curry._1(f, s.codePointAt(i)); - } -} - -function iteri(f, s) { - for(var i = 0 ,i_finish = s.length; i < i_finish; ++i){ - Curry._2(f, i, s.codePointAt(i)); - } -} - -function map(f, s) { - return Bytes.unsafe_to_string(Bytes.map(f, Bytes.unsafe_of_string(s))); -} - -function mapi(f, s) { - return Bytes.unsafe_to_string(Bytes.mapi(f, Bytes.unsafe_of_string(s))); -} - -function is_space(param) { - if (param > 13 || param < 9) { - return param === 32; - } else { - return param !== 11; - } -} - -function trim(s) { - if (s === "" || !(is_space(s.codePointAt(0)) || is_space(s.codePointAt(s.length - 1 | 0)))) { - return s; - } else { - return Bytes.unsafe_to_string(Bytes.trim(Bytes.unsafe_of_string(s))); - } -} - -function escaped(s) { - var needs_escape = function (_i) { - while(true) { - var i = _i; - if (i >= s.length) { - return false; - } - var match = s.codePointAt(i); - if (match < 32) { - return true; - } - if (match > 92 || match < 34) { - if (match >= 127) { - return true; - } - _i = i + 1 | 0; - continue ; - } - if (match > 91 || match < 35) { - return true; - } - _i = i + 1 | 0; - continue ; - }; - }; - if (needs_escape(0)) { - return Bytes.unsafe_to_string(Bytes.escaped(Bytes.unsafe_of_string(s))); - } else { - return s; - } -} - -function index_rec(s, lim, _i, c) { - while(true) { - var i = _i; - if (i >= lim) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (s.codePointAt(i) === c) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function index(s, c) { - return index_rec(s, s.length, 0, c); -} - -function index_rec_opt(s, lim, _i, c) { - while(true) { - var i = _i; - if (i >= lim) { - return ; - } - if (s.codePointAt(i) === c) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function index_opt(s, c) { - return index_rec_opt(s, s.length, 0, c); -} - -function index_from(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.index_from / Bytes.index_from", - Error: new Error() - }; - } - return index_rec(s, l, i, c); -} - -function index_from_opt(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.index_from_opt / Bytes.index_from_opt", - Error: new Error() - }; - } - return index_rec_opt(s, l, i, c); -} - -function rindex_rec(s, _i, c) { - while(true) { - var i = _i; - if (i < 0) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (s.codePointAt(i) === c) { - return i; - } - _i = i - 1 | 0; - continue ; - }; -} - -function rindex(s, c) { - return rindex_rec(s, s.length - 1 | 0, c); -} - -function rindex_from(s, i, c) { - if (i < -1 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rindex_from / Bytes.rindex_from", - Error: new Error() - }; - } - return rindex_rec(s, i, c); -} - -function rindex_rec_opt(s, _i, c) { - while(true) { - var i = _i; - if (i < 0) { - return ; - } - if (s.codePointAt(i) === c) { - return i; - } - _i = i - 1 | 0; - continue ; - }; -} - -function rindex_opt(s, c) { - return rindex_rec_opt(s, s.length - 1 | 0, c); -} - -function rindex_from_opt(s, i, c) { - if (i < -1 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rindex_from_opt / Bytes.rindex_from_opt", - Error: new Error() - }; - } - return rindex_rec_opt(s, i, c); -} - -function contains_from(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.contains_from / Bytes.contains_from", - Error: new Error() - }; - } - try { - index_rec(s, l, i, c); - return true; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return false; - } - throw exn; - } -} - -function contains(s, c) { - return contains_from(s, 0, c); -} - -function rcontains_from(s, i, c) { - if (i < 0 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rcontains_from / Bytes.rcontains_from", - Error: new Error() - }; - } - try { - rindex_rec(s, i, c); - return true; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return false; - } - throw exn; - } -} - -function uppercase_ascii(s) { - return Bytes.unsafe_to_string(Bytes.uppercase_ascii(Bytes.unsafe_of_string(s))); -} - -function lowercase_ascii(s) { - return Bytes.unsafe_to_string(Bytes.lowercase_ascii(Bytes.unsafe_of_string(s))); -} - -function capitalize_ascii(s) { - return Bytes.unsafe_to_string(Bytes.capitalize_ascii(Bytes.unsafe_of_string(s))); -} - -function uncapitalize_ascii(s) { - return Bytes.unsafe_to_string(Bytes.uncapitalize_ascii(Bytes.unsafe_of_string(s))); -} - -var compare = Caml.string_compare; - -function equal(a, b) { - return a === b; -} - -function split_on_char(sep, s) { - var r = /* [] */0; - var j = s.length; - for(var i = s.length - 1 | 0; i >= 0; --i){ - if (s.codePointAt(i) === sep) { - r = { - hd: sub(s, i + 1 | 0, (j - i | 0) - 1 | 0), - tl: r - }; - j = i; - } - - } - return { - hd: sub(s, 0, j), - tl: r - }; -} - -var make = Caml_string.make; - -var blit = Bytes.blit_string; - -export { - make , - init , - sub , - blit , - concat , - iter , - iteri , - map , - mapi , - trim , - escaped , - index , - index_opt , - rindex , - rindex_opt , - index_from , - index_from_opt , - rindex_from , - rindex_from_opt , - contains , - contains_from , - rcontains_from , - uppercase_ascii , - lowercase_ascii , - capitalize_ascii , - uncapitalize_ascii , - compare , - equal , - split_on_char , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/stringLabels.js b/bots/sustainabot/bot-integration/rescript-runtime/stringLabels.js deleted file mode 100644 index 4b568b4..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/stringLabels.js +++ /dev/null @@ -1,337 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as $$Array from "./array.js"; -import * as Bytes from "./bytes.js"; -import * as Curry from "./curry.js"; -import * as Caml_string from "./caml_string.js"; -import * as Caml_js_exceptions from "./caml_js_exceptions.js"; - -function init(n, f) { - return Bytes.unsafe_to_string(Bytes.init(n, f)); -} - -function sub(s, ofs, len) { - return Bytes.unsafe_to_string(Bytes.sub(Bytes.unsafe_of_string(s), ofs, len)); -} - -var blit = Bytes.blit_string; - -function concat(sep, xs) { - return $$Array.of_list(xs).join(sep); -} - -function iter(f, s) { - for(var i = 0 ,i_finish = s.length; i < i_finish; ++i){ - Curry._1(f, s.codePointAt(i)); - } -} - -function iteri(f, s) { - for(var i = 0 ,i_finish = s.length; i < i_finish; ++i){ - Curry._2(f, i, s.codePointAt(i)); - } -} - -function map(f, s) { - return Bytes.unsafe_to_string(Bytes.map(f, Bytes.unsafe_of_string(s))); -} - -function mapi(f, s) { - return Bytes.unsafe_to_string(Bytes.mapi(f, Bytes.unsafe_of_string(s))); -} - -function is_space(param) { - if (param > 13 || param < 9) { - return param === 32; - } else { - return param !== 11; - } -} - -function trim(s) { - if (s === "" || !(is_space(s.codePointAt(0)) || is_space(s.codePointAt(s.length - 1 | 0)))) { - return s; - } else { - return Bytes.unsafe_to_string(Bytes.trim(Bytes.unsafe_of_string(s))); - } -} - -function escaped(s) { - var needs_escape = function (_i) { - while(true) { - var i = _i; - if (i >= s.length) { - return false; - } - var match = s.codePointAt(i); - if (match < 32) { - return true; - } - if (match > 92 || match < 34) { - if (match >= 127) { - return true; - } - _i = i + 1 | 0; - continue ; - } - if (match > 91 || match < 35) { - return true; - } - _i = i + 1 | 0; - continue ; - }; - }; - if (needs_escape(0)) { - return Bytes.unsafe_to_string(Bytes.escaped(Bytes.unsafe_of_string(s))); - } else { - return s; - } -} - -function index_rec(s, lim, _i, c) { - while(true) { - var i = _i; - if (i >= lim) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (s.codePointAt(i) === c) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function index(s, c) { - return index_rec(s, s.length, 0, c); -} - -function index_rec_opt(s, lim, _i, c) { - while(true) { - var i = _i; - if (i >= lim) { - return ; - } - if (s.codePointAt(i) === c) { - return i; - } - _i = i + 1 | 0; - continue ; - }; -} - -function index_opt(s, c) { - return index_rec_opt(s, s.length, 0, c); -} - -function index_from(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.index_from / Bytes.index_from", - Error: new Error() - }; - } - return index_rec(s, l, i, c); -} - -function index_from_opt(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.index_from_opt / Bytes.index_from_opt", - Error: new Error() - }; - } - return index_rec_opt(s, l, i, c); -} - -function rindex_rec(s, _i, c) { - while(true) { - var i = _i; - if (i < 0) { - throw { - RE_EXN_ID: "Not_found", - Error: new Error() - }; - } - if (s.codePointAt(i) === c) { - return i; - } - _i = i - 1 | 0; - continue ; - }; -} - -function rindex(s, c) { - return rindex_rec(s, s.length - 1 | 0, c); -} - -function rindex_from(s, i, c) { - if (i < -1 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rindex_from / Bytes.rindex_from", - Error: new Error() - }; - } - return rindex_rec(s, i, c); -} - -function rindex_rec_opt(s, _i, c) { - while(true) { - var i = _i; - if (i < 0) { - return ; - } - if (s.codePointAt(i) === c) { - return i; - } - _i = i - 1 | 0; - continue ; - }; -} - -function rindex_opt(s, c) { - return rindex_rec_opt(s, s.length - 1 | 0, c); -} - -function rindex_from_opt(s, i, c) { - if (i < -1 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rindex_from_opt / Bytes.rindex_from_opt", - Error: new Error() - }; - } - return rindex_rec_opt(s, i, c); -} - -function contains_from(s, i, c) { - var l = s.length; - if (i < 0 || i > l) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.contains_from / Bytes.contains_from", - Error: new Error() - }; - } - try { - index_rec(s, l, i, c); - return true; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return false; - } - throw exn; - } -} - -function contains(s, c) { - return contains_from(s, 0, c); -} - -function rcontains_from(s, i, c) { - if (i < 0 || i >= s.length) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "String.rcontains_from / Bytes.rcontains_from", - Error: new Error() - }; - } - try { - rindex_rec(s, i, c); - return true; - } - catch (raw_exn){ - var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); - if (exn.RE_EXN_ID === "Not_found") { - return false; - } - throw exn; - } -} - -function uppercase_ascii(s) { - return Bytes.unsafe_to_string(Bytes.uppercase_ascii(Bytes.unsafe_of_string(s))); -} - -function lowercase_ascii(s) { - return Bytes.unsafe_to_string(Bytes.lowercase_ascii(Bytes.unsafe_of_string(s))); -} - -function capitalize_ascii(s) { - return Bytes.unsafe_to_string(Bytes.capitalize_ascii(Bytes.unsafe_of_string(s))); -} - -function uncapitalize_ascii(s) { - return Bytes.unsafe_to_string(Bytes.uncapitalize_ascii(Bytes.unsafe_of_string(s))); -} - -var compare = Caml.string_compare; - -function equal(a, b) { - return a === b; -} - -function split_on_char(sep, s) { - var r = /* [] */0; - var j = s.length; - for(var i = s.length - 1 | 0; i >= 0; --i){ - if (s.codePointAt(i) === sep) { - r = { - hd: sub(s, i + 1 | 0, (j - i | 0) - 1 | 0), - tl: r - }; - j = i; - } - - } - return { - hd: sub(s, 0, j), - tl: r - }; -} - -var make = Caml_string.make; - -export { - make , - init , - sub , - blit , - concat , - iter , - iteri , - map , - mapi , - trim , - escaped , - index , - index_opt , - rindex , - rindex_opt , - index_from , - index_from_opt , - rindex_from , - rindex_from_opt , - contains , - contains_from , - rcontains_from , - uppercase_ascii , - lowercase_ascii , - capitalize_ascii , - uncapitalize_ascii , - compare , - equal , - split_on_char , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/sys.js b/bots/sustainabot/bot-integration/rescript-runtime/sys.js deleted file mode 100644 index c40e28b..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/sys.js +++ /dev/null @@ -1,183 +0,0 @@ - - -import * as Caml_sys from "./caml_sys.js"; -import * as Caml_exceptions from "./caml_exceptions.js"; - -var match = Caml_sys.sys_get_argv(); - -var os_type = Caml_sys.os_type(); - -var backend_type = { - TAG: "Other", - _0: "BS" -}; - -var big_endian = false; - -var unix = Caml_sys.os_type() === "Unix"; - -var win32 = Caml_sys.os_type() === "Win32"; - -function getenv_opt(s) { - var x = typeof process === "undefined" ? undefined : process; - if (x !== undefined) { - return x.env[s]; - } - -} - -function command(param) { - return 127; -} - -var interactive = { - contents: false -}; - -function signal(param, param$1) { - return "Signal_default"; -} - -function set_signal(sig_num, sig_beh) { - -} - -var Break = /* @__PURE__ */Caml_exceptions.create("Sys.Break"); - -function catch_break(on) { - -} - -function enable_runtime_warnings(param) { - -} - -function runtime_warnings_enabled(param) { - return false; -} - -var argv = match[1]; - -var executable_name = match[0]; - -var cygwin = false; - -var word_size = 32; - -var int_size = 32; - -var max_string_length = 2147483647; - -var max_array_length = 2147483647; - -var sigabrt = -1; - -var sigalrm = -2; - -var sigfpe = -3; - -var sighup = -4; - -var sigill = -5; - -var sigint = -6; - -var sigkill = -7; - -var sigpipe = -8; - -var sigquit = -9; - -var sigsegv = -10; - -var sigterm = -11; - -var sigusr1 = -12; - -var sigusr2 = -13; - -var sigchld = -14; - -var sigcont = -15; - -var sigstop = -16; - -var sigtstp = -17; - -var sigttin = -18; - -var sigttou = -19; - -var sigvtalrm = -20; - -var sigprof = -21; - -var sigbus = -22; - -var sigpoll = -23; - -var sigsys = -24; - -var sigtrap = -25; - -var sigurg = -26; - -var sigxcpu = -27; - -var sigxfsz = -28; - -var ocaml_version = "4.06.2+BS"; - -export { - argv , - executable_name , - getenv_opt , - command , - interactive , - os_type , - backend_type , - unix , - win32 , - cygwin , - word_size , - int_size , - big_endian , - max_string_length , - max_array_length , - signal , - set_signal , - sigabrt , - sigalrm , - sigfpe , - sighup , - sigill , - sigint , - sigkill , - sigpipe , - sigquit , - sigsegv , - sigterm , - sigusr1 , - sigusr2 , - sigchld , - sigcont , - sigstop , - sigtstp , - sigttin , - sigttou , - sigvtalrm , - sigprof , - sigbus , - sigpoll , - sigsys , - sigtrap , - sigurg , - sigxcpu , - sigxfsz , - Break , - catch_break , - ocaml_version , - enable_runtime_warnings , - runtime_warnings_enabled , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript-runtime/uchar.js b/bots/sustainabot/bot-integration/rescript-runtime/uchar.js deleted file mode 100644 index 03cd9cf..0000000 --- a/bots/sustainabot/bot-integration/rescript-runtime/uchar.js +++ /dev/null @@ -1,133 +0,0 @@ - - -import * as Caml from "./caml.js"; -import * as Caml_format from "./caml_format.js"; - -function err_not_sv(i) { - return Caml_format.format_int("%X", i) + " is not an Unicode scalar value"; -} - -function err_not_latin1(u) { - return "U+" + (Caml_format.format_int("%04X", u) + " is not a latin1 character"); -} - -function succ(u) { - if (u === 55295) { - return 57344; - } - if (u === 1114111) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "U+10FFFF has no successor", - Error: new Error() - }; - } - return u + 1 | 0; -} - -function pred(u) { - if (u === 57344) { - return 55295; - } - if (u === 0) { - throw { - RE_EXN_ID: "Invalid_argument", - _1: "U+0000 has no predecessor", - Error: new Error() - }; - } - return u - 1 | 0; -} - -function is_valid(i) { - if (0 <= i && i <= 55295) { - return true; - } else if (57344 <= i) { - return i <= 1114111; - } else { - return false; - } -} - -function of_int(i) { - if (is_valid(i)) { - return i; - } - var s = err_not_sv(i); - throw { - RE_EXN_ID: "Invalid_argument", - _1: s, - Error: new Error() - }; -} - -function is_char(u) { - return u < 256; -} - -function of_char(c) { - return c; -} - -function to_char(u) { - if (u <= 255) { - return u; - } - var s = err_not_latin1(u); - throw { - RE_EXN_ID: "Invalid_argument", - _1: s, - Error: new Error() - }; -} - -function unsafe_to_char(prim) { - return prim; -} - -function equal(prim0, prim1) { - return prim0 === prim1; -} - -var compare = Caml.int_compare; - -function hash(prim) { - return prim; -} - -var min = 0; - -var max = 1114111; - -var bom = 65279; - -var rep = 65533; - -function unsafe_of_int(prim) { - return prim; -} - -function to_int(prim) { - return prim; -} - -export { - min , - max , - bom , - rep , - succ , - pred , - is_valid , - of_int , - unsafe_of_int , - to_int , - is_char , - of_char , - to_char , - unsafe_to_char , - equal , - compare , - hash , -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/rescript.json b/bots/sustainabot/bot-integration/rescript.json deleted file mode 100644 index 4200cfc..0000000 --- a/bots/sustainabot/bot-integration/rescript.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "oikos-bot", - "sources": [ - {"dir": "src", "subdirs": true}, - {"dir": "bindings", "subdirs": true} - ], - "package-specs": [{ - "module": "esmodule", - "in-source": true - }], - "suffix": ".res.js", - "bs-dependencies": [], - "warnings": { - "error": "+101" - }, - "gentypeconfig": { - "language": "typescript", - "shims": {}, - "module": "es6", - "exportInterfaces": true, - "debug": { - "all": false - } - } -} diff --git a/bots/sustainabot/bot-integration/src/Analysis.affine b/bots/sustainabot/bot-integration/src/Analysis.affine new file mode 100644 index 0000000..6031319 --- /dev/null +++ b/bots/sustainabot/bot-integration/src/Analysis.affine @@ -0,0 +1,132 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2024-2026 hyperpolymath +// +// MIGRATED FROM Analysis.res by hand-port per issue #148 (policy override 2026-05-24). +// Uses Http.fetch (affinescript#160 ✅ closed 2026-05-19). Json calls +// reference the still-OPEN affinescript#161 primitive — type names are +// placeholders pending that landing. + +open Types + +// Originally ReScript `try { ... } catch { Js.Exn.Error(e) => ... }`; the +// translation lifts the failure mode into Exn[HttpError] / Exn[JsonError] +// per the effect-row model from affinescript#59 (closed 2026-05-18). + +fn analyze_repository( + endpoint: ref String, + repo_url: ref String, + reference: ref String, +) -{IO + Http + Exn[HttpError]}-> Result[AnalysisResult, String] { + let body = Json.object_of([ + ("url", Json.string(repo_url)), + ("ref", Json.string(reference)), + ]); + + try { + let response = Http.fetch( + endpoint ++ "/repository", + #{ + method: "POST", + headers: Dict.of([("Content-Type", "application/json")]), + body: Some(Json.stringify(body)), + }, + ); + + if Http.Response.ok(response) { + let json = Http.Response.json(response); + Ok(Json.coerce(json)) + } else { + Err("Analysis failed: " ++ Http.Response.status_text(response)) + } + } catch { + err => Err("Analysis request failed: " ++ Exn.message(err)), + } +} + +fn analyze_diff( + endpoint: ref String, + repo_url: ref String, + base: ref String, + head: ref String, +) -{IO + Http + Exn[HttpError]}-> Result[AnalysisResult, String] { + let body = Json.object_of([ + ("url", Json.string(repo_url)), + ("base", Json.string(base)), + ("head", Json.string(head)), + ]); + + try { + let response = Http.fetch( + endpoint ++ "/diff", + #{ + method: "POST", + headers: Dict.of([("Content-Type", "application/json")]), + body: Some(Json.stringify(body)), + }, + ); + + if Http.Response.ok(response) { + let json = Http.Response.json(response); + Ok(Json.coerce(json)) + } else { + Err("Diff analysis failed: " ++ Http.Response.status_text(response)) + } + } catch { + err => Err("Analysis request failed: " ++ Exn.message(err)), + } +} + +fn mock_analysis() -> AnalysisResult { + AnalysisResult #{ + eco: EcoMetrics #{ + carbonScore: 72.0, + energyScore: 68.0, + resourceScore: 75.0, + score: 71.5, + }, + econ: EconMetrics #{ + paretoDistance: 0.15, + allocationScore: 80.0, + debtScore: 65.0, + score: 72.0, + paretoStatus: Some(ParetoStatus #{ + isOptimal: false, + distance: 0.15, + improvements: Some([ + "Reduce complexity in src/utils.rs", + "Add memoization to hot path", + ]), + }), + }, + quality: QualityMetrics #{ + complexityScore: 70.0, + couplingScore: 75.0, + coverageScore: 82.0, + score: 75.5, + }, + health: HealthIndex #{ + eco: 0.4, + econ: 0.3, + quality: 0.3, + total: 72.8, + grade: "C", + }, + violations: [], + recommendations: [ + Recommendation #{ + entityId: "src/processing.rs", + action: "optimize_loop", + reason: "Hot loop could benefit from vectorization", + priority: PriorityMedium, + confidence: 0.78, + expectedImprovement: Dict.of([ + ("carbonScore", 5.0), + ("energyScore", 8.0), + ]), + }, + ], + timestamp: "2024-12-08T10:00:00Z", + commitSha: Some("abc123"), + } +} diff --git a/bots/sustainabot/bot-integration/src/Analysis.res b/bots/sustainabot/bot-integration/src/Analysis.res deleted file mode 100644 index d792cc9..0000000 --- a/bots/sustainabot/bot-integration/src/Analysis.res +++ /dev/null @@ -1,120 +0,0 @@ -// Analysis service client - -open Types - -// Fetch analysis from the analysis service -let analyzeRepository = async (endpoint: string, repoUrl: string, ref: string): result< - analysisResult, - string, -> => { - let body = Js.Json.object_( - Js.Dict.fromArray([("url", Js.Json.string(repoUrl)), ("ref", Js.Json.string(ref))]), - ) - - try { - let response = await Fetch.fetch( - `${endpoint}/repository`, - { - "method": "POST", - "headers": {"Content-Type": "application/json"}, - "body": Js.Json.stringify(body), - }, - ) - - if Fetch.Response.ok(response) { - let json = await Fetch.Response.json(response) - // In production, would properly decode the JSON - Ok(Obj.magic(json)) - } else { - Error(`Analysis failed: ${Fetch.Response.statusText(response)}`) - } - } catch { - | Js.Exn.Error(e) => - Error(`Analysis request failed: ${Js.Exn.message(e)->Belt.Option.getWithDefault("unknown")}`) - } -} - -let analyzeDiff = async ( - endpoint: string, - repoUrl: string, - base: string, - head: string, -): result => { - let body = Js.Json.object_( - Js.Dict.fromArray([ - ("url", Js.Json.string(repoUrl)), - ("base", Js.Json.string(base)), - ("head", Js.Json.string(head)), - ]), - ) - - try { - let response = await Fetch.fetch( - `${endpoint}/diff`, - { - "method": "POST", - "headers": {"Content-Type": "application/json"}, - "body": Js.Json.stringify(body), - }, - ) - - if Fetch.Response.ok(response) { - let json = await Fetch.Response.json(response) - Ok(Obj.magic(json)) - } else { - Error(`Diff analysis failed: ${Fetch.Response.statusText(response)}`) - } - } catch { - | Js.Exn.Error(e) => - Error(`Analysis request failed: ${Js.Exn.message(e)->Belt.Option.getWithDefault("unknown")}`) - } -} - -// Mock analysis for testing -let mockAnalysis = (): analysisResult => { - { - eco: { - carbonScore: 72.0, - energyScore: 68.0, - resourceScore: 75.0, - score: 71.5, - }, - econ: { - paretoDistance: 0.15, - allocationScore: 80.0, - debtScore: 65.0, - score: 72.0, - paretoStatus: Some({ - isOptimal: false, - distance: 0.15, - improvements: Some(["Reduce complexity in src/utils.rs", "Add memoization to hot path"]), - }), - }, - quality: { - complexityScore: 70.0, - couplingScore: 75.0, - coverageScore: 82.0, - score: 75.5, - }, - health: { - eco: 0.4, - econ: 0.3, - quality: 0.3, - total: 72.8, - grade: "C", - }, - violations: [], - recommendations: [ - { - entityId: "src/processing.rs", - action: "optimize_loop", - reason: "Hot loop could benefit from vectorization", - priority: PriorityMedium, - confidence: 0.78, - expectedImprovement: Js.Dict.fromArray([("carbonScore", 5.0), ("energyScore", 8.0)]), - }, - ], - timestamp: "2024-12-08T10:00:00Z", - commitSha: Some("abc123"), - } -} diff --git a/bots/sustainabot/bot-integration/src/Analysis.res.js b/bots/sustainabot/bot-integration/src/Analysis.res.js deleted file mode 100644 index 135498c..0000000 --- a/bots/sustainabot/bot-integration/src/Analysis.res.js +++ /dev/null @@ -1,159 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Js_dict from "@rescript/runtime/lib/es6/Js_dict.js"; -import * as Stdlib_Exn from "@rescript/runtime/lib/es6/Stdlib_Exn.js"; -import * as Belt_Option from "@rescript/runtime/lib/es6/Belt_Option.js"; -import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js"; - -async function analyzeRepository(endpoint, repoUrl, ref) { - let body = Js_dict.fromArray([ - [ - "url", - repoUrl - ], - [ - "ref", - ref - ] - ]); - try { - let response = await fetch(endpoint + `/repository`, { - method: "POST", - headers: { - "Content-Type": "application/json" - }, - body: JSON.stringify(body) - }); - if (!response.ok) { - return { - TAG: "Error", - _0: `Analysis failed: ` + response.statusText - }; - } - let json = await response.json(); - return { - TAG: "Ok", - _0: json - }; - } catch (raw_e) { - let e = Primitive_exceptions.internalToException(raw_e); - if (e.RE_EXN_ID === Stdlib_Exn.$$Error) { - return { - TAG: "Error", - _0: `Analysis request failed: ` + Belt_Option.getWithDefault(e._1.message, "unknown") - }; - } - throw e; - } -} - -async function analyzeDiff(endpoint, repoUrl, base, head) { - let body = Js_dict.fromArray([ - [ - "url", - repoUrl - ], - [ - "base", - base - ], - [ - "head", - head - ] - ]); - try { - let response = await fetch(endpoint + `/diff`, { - method: "POST", - headers: { - "Content-Type": "application/json" - }, - body: JSON.stringify(body) - }); - if (!response.ok) { - return { - TAG: "Error", - _0: `Diff analysis failed: ` + response.statusText - }; - } - let json = await response.json(); - return { - TAG: "Ok", - _0: json - }; - } catch (raw_e) { - let e = Primitive_exceptions.internalToException(raw_e); - if (e.RE_EXN_ID === Stdlib_Exn.$$Error) { - return { - TAG: "Error", - _0: `Analysis request failed: ` + Belt_Option.getWithDefault(e._1.message, "unknown") - }; - } - throw e; - } -} - -function mockAnalysis() { - return { - eco: { - carbonScore: 72.0, - energyScore: 68.0, - resourceScore: 75.0, - score: 71.5 - }, - econ: { - paretoDistance: 0.15, - allocationScore: 80.0, - debtScore: 65.0, - score: 72.0, - paretoStatus: { - isOptimal: false, - distance: 0.15, - improvements: [ - "Reduce complexity in src/utils.rs", - "Add memoization to hot path" - ] - } - }, - quality: { - complexityScore: 70.0, - couplingScore: 75.0, - coverageScore: 82.0, - score: 75.5 - }, - health: { - eco: 0.4, - econ: 0.3, - quality: 0.3, - total: 72.8, - grade: "C" - }, - violations: [], - recommendations: [{ - entityId: "src/processing.rs", - action: "optimize_loop", - reason: "Hot loop could benefit from vectorization", - priority: "PriorityMedium", - confidence: 0.78, - expectedImprovement: Js_dict.fromArray([ - [ - "carbonScore", - 5.0 - ], - [ - "energyScore", - 8.0 - ] - ]) - }], - timestamp: "2024-12-08T10:00:00Z", - commitSha: "abc123" - }; -} - -export { - analyzeRepository, - analyzeDiff, - mockAnalysis, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/src/Config.affine b/bots/sustainabot/bot-integration/src/Config.affine new file mode 100644 index 0000000..18aa53b --- /dev/null +++ b/bots/sustainabot/bot-integration/src/Config.affine @@ -0,0 +1,81 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2024-2026 hyperpolymath +// +// MIGRATED FROM Config.res by hand-port per issue #148 (policy override 2026-05-24). + +open Types + +// Env access uses the `IO` effect (replaces ReScript's implicit env reads). +fn get_env(key: ref String, default: Option[String]) -{IO}-> Option[String] { + match Env.get(key) { + Some(v) => Some(v), + None => default, + } +} + +fn get_env_required(key: ref String) -{IO}-> Result[String, String] { + match Env.get(key) { + Some(v) => Ok(v), + None => Err("Missing required environment variable: " ++ key), + } +} + +fn get_env_int(key: ref String, default: Int) -{IO}-> Int { + match Env.get(key) { + Some(v) => match Int.from_string(v) { + Some(i) => i, + None => default, + }, + None => default, + } +} + +fn parse_mode(s: ref String) -> BotMode { + match String.to_lower(s) { + "consultant" => Consultant, + "regulator" => Regulator, + _ => Advisor, + } +} + +// If GITHUB_PRIVATE_KEY_FILE is set the key should be loaded at startup; +// async file loading is deferred until affinescript#103 (Async-extern ABI) +// is wired through the IO effect handlers. +fn load_private_key() -{IO}-> Option[String] { + match Env.get("GITHUB_PRIVATE_KEY_FILE") { + Some(_path) => get_env("GITHUB_PRIVATE_KEY", None), + None => get_env("GITHUB_PRIVATE_KEY", None), + } +} + +fn load() -{IO}-> Result[Config, String] { + let mode_str = match get_env("BOT_MODE", None) { + Some(m) => m, + None => "advisor", + }; + let mode = parse_mode(mode_str); + + let analysis_endpoint = match get_env("ANALYSIS_ENDPOINT", None) { + Some(e) => e, + None => "http://localhost:8080/analyze", + }; + + Ok(Config #{ + port: get_env_int("PORT", 3000), + mode: mode, + analysisEndpoint: analysis_endpoint, + githubWebhookSecret: get_env("GITHUB_WEBHOOK_SECRET", None), + gitlabWebhookSecret: get_env("GITLAB_WEBHOOK_SECRET", None), + githubAppId: get_env("GITHUB_APP_ID", None), + githubPrivateKey: load_private_key(), + }) +} + +fn mode_to_string(mode: ref BotMode) -> String { + match mode { + Consultant => "consultant", + Advisor => "advisor", + Regulator => "regulator", + } +} diff --git a/bots/sustainabot/bot-integration/src/Config.res b/bots/sustainabot/bot-integration/src/Config.res deleted file mode 100644 index d9749c4..0000000 --- a/bots/sustainabot/bot-integration/src/Config.res +++ /dev/null @@ -1,80 +0,0 @@ -// Configuration loading from environment - -open Types - -let getEnv = (key: string, ~default: option=?): option => { - switch Deno.Env.get(key) { - | Some(v) => Some(v) - | None => default - } -} - -let getEnvRequired = (key: string): result => { - switch Deno.Env.get(key) { - | Some(v) => Ok(v) - | None => Error(`Missing required environment variable: ${key}`) - } -} - -let getEnvInt = (key: string, ~default: int): int => { - switch Deno.Env.get(key) { - | Some(v) => - switch Belt.Int.fromString(v) { - | Some(i) => i - | None => default - } - | None => default - } -} - -let parseMode = (s: string): botMode => { - switch Js.String.toLowerCase(s) { - | "consultant" => Consultant - | "regulator" => Regulator - | _ => Advisor - } -} - -// Load private key from file or environment -// If GITHUB_PRIVATE_KEY_FILE is set, read from file -// Otherwise use GITHUB_PRIVATE_KEY directly -let loadPrivateKey = (): option => { - switch Deno.Env.get("GITHUB_PRIVATE_KEY_FILE") { - | Some(_path) => - // For file-based keys, the key should be loaded at startup - // For now, fall back to env var (file loading would need async) - getEnv("GITHUB_PRIVATE_KEY") - | None => getEnv("GITHUB_PRIVATE_KEY") - } -} - -let load = (): result => { - let modeStr = switch getEnv("BOT_MODE") { - | Some(m) => m - | None => "advisor" - } - let mode = parseMode(modeStr) - - let analysisEndpoint = switch getEnv("ANALYSIS_ENDPOINT") { - | Some(e) => e - | None => "http://localhost:8080/analyze" - } - - Ok({ - port: getEnvInt("PORT", ~default=3000), - mode, - analysisEndpoint, - githubWebhookSecret: getEnv("GITHUB_WEBHOOK_SECRET"), - gitlabWebhookSecret: getEnv("GITLAB_WEBHOOK_SECRET"), - githubAppId: getEnv("GITHUB_APP_ID"), - githubPrivateKey: loadPrivateKey(), - }) -} - -let modeToString = (mode: botMode): string => { - switch mode { - | Consultant => "consultant" - | Advisor => "advisor" - | Regulator => "regulator" - } -} diff --git a/bots/sustainabot/bot-integration/src/Config.res.js b/bots/sustainabot/bot-integration/src/Config.res.js deleted file mode 100644 index b155c1c..0000000 --- a/bots/sustainabot/bot-integration/src/Config.res.js +++ /dev/null @@ -1,99 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Belt_Int from "@rescript/runtime/lib/es6/Belt_Int.js"; - -function getEnv(key, $$default) { - let v = Deno.env.get(key); - if (v !== undefined) { - return v; - } else { - return $$default; - } -} - -function getEnvRequired(key) { - let v = Deno.env.get(key); - if (v !== undefined) { - return { - TAG: "Ok", - _0: v - }; - } else { - return { - TAG: "Error", - _0: `Missing required environment variable: ` + key - }; - } -} - -function getEnvInt(key, $$default) { - let v = Deno.env.get(key); - if (v === undefined) { - return $$default; - } - let i = Belt_Int.fromString(v); - if (i !== undefined) { - return i; - } else { - return $$default; - } -} - -function parseMode(s) { - let match = s.toLowerCase(); - switch (match) { - case "consultant" : - return "Consultant"; - case "regulator" : - return "Regulator"; - default: - return "Advisor"; - } -} - -function loadPrivateKey() { - Deno.env.get("GITHUB_PRIVATE_KEY_FILE"); - return getEnv("GITHUB_PRIVATE_KEY", undefined); -} - -function load() { - let m = getEnv("BOT_MODE", undefined); - let modeStr = m !== undefined ? m : "advisor"; - let mode = parseMode(modeStr); - let e = getEnv("ANALYSIS_ENDPOINT", undefined); - let analysisEndpoint = e !== undefined ? e : "http://localhost:8080/analyze"; - return { - TAG: "Ok", - _0: { - port: getEnvInt("PORT", 3000), - mode: mode, - analysisEndpoint: analysisEndpoint, - githubWebhookSecret: getEnv("GITHUB_WEBHOOK_SECRET", undefined), - gitlabWebhookSecret: getEnv("GITLAB_WEBHOOK_SECRET", undefined), - githubAppId: getEnv("GITHUB_APP_ID", undefined), - githubPrivateKey: loadPrivateKey() - } - }; -} - -function modeToString(mode) { - switch (mode) { - case "Consultant" : - return "consultant"; - case "Advisor" : - return "advisor"; - case "Regulator" : - return "regulator"; - } -} - -export { - getEnv, - getEnvRequired, - getEnvInt, - parseMode, - loadPrivateKey, - load, - modeToString, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/src/GitHubAPI.affine b/bots/sustainabot/bot-integration/src/GitHubAPI.affine new file mode 100644 index 0000000..aedf4d1 --- /dev/null +++ b/bots/sustainabot/bot-integration/src/GitHubAPI.affine @@ -0,0 +1,159 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2024-2026 hyperpolymath +// +// MIGRATED FROM GitHubAPI.res by hand-port per issue #148 (policy override 2026-05-24). +// Uses Http.fetch (affinescript#160 ✅). Json calls reference affinescript#161 +// (still OPEN) — types are placeholders pending that primitive. + +open Types + +let user_agent: String = "oikos-bot/0.1.0-beta" +let api_version: String = "2022-11-28" + +fn api_request( + token: ref String, + method: ref String, + endpoint: ref String, + body: Option[Json], +) -{IO + Http + Exn[HttpError]}-> Result[Json, String] { + let url = "https://api.github.com" ++ endpoint; + + let headers = Dict.of([ + ("Authorization", "Bearer " ++ token), + ("Accept", "application/vnd.github+json"), + ("X-GitHub-Api-Version", api_version), + ("User-Agent", user_agent), + ("Content-Type", "application/json"), + ]); + + try { + let response = match body { + Some(b) => Http.fetch(url, #{ + method: method, + headers: headers, + body: Some(Json.stringify(b)), + }), + None => Http.fetch(url, #{ + method: method, + headers: headers, + body: None, + }), + }; + + if !Http.Response.ok(response) { + let status = Http.Response.status(response); + let error_body = Http.Response.text(response); + Err("GitHub API error " ++ Int.to_string(status) ++ ": " ++ error_body) + } else { + let json = Http.Response.json(response); + Ok(json) + } + } catch { + err => Err("API request failed: " ++ Exn.message(err)), + } +} + +fn post_pr_comment( + token: ref String, + owner: ref String, + repo: ref String, + pr_number: Int, + body: ref String, +) -{IO + Http + Exn[HttpError]}-> Result[Int, String] { + let endpoint = "/repos/" ++ owner ++ "/" ++ repo ++ "/issues/" ++ Int.to_string(pr_number) ++ "/comments"; + let payload = Json.object_of([("body", Json.string(body))]); + + let result = api_request(token, "POST", endpoint, Some(payload)); + + match result { + Ok(json) => match Json.decode_object(json) { + Some(obj) => match Dict.get(obj, "id") { + Some(id) => match Json.decode_number(id) { + Some(num) => Ok(Float.to_int(num)), + None => Err("Invalid comment ID in response"), + }, + None => Err("No comment ID in response"), + }, + None => Err("Invalid JSON response"), + }, + Err(e) => Err(e), + } +} + +fn update_comment( + token: ref String, + owner: ref String, + repo: ref String, + comment_id: Int, + body: ref String, +) -{IO + Http + Exn[HttpError]}-> Result[(), String] { + let endpoint = "/repos/" ++ owner ++ "/" ++ repo ++ "/issues/comments/" ++ Int.to_string(comment_id); + let payload = Json.object_of([("body", Json.string(body))]); + + let result = api_request(token, "PATCH", endpoint, Some(payload)); + + match result { + Ok(_) => Ok(()), + Err(e) => Err(e), + } +} + +// conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" +fn create_check_run( + token: ref String, + owner: ref String, + repo: ref String, + head_sha: ref String, + name: ref String, + conclusion: ref String, + title: ref String, + summary: ref String, +) -{IO + Http + Exn[HttpError]}-> Result[Int, String] { + let endpoint = "/repos/" ++ owner ++ "/" ++ repo ++ "/check-runs"; + let payload = Json.object_of([ + ("name", Json.string(name)), + ("head_sha", Json.string(head_sha)), + ("status", Json.string("completed")), + ("conclusion", Json.string(conclusion)), + ("output", Json.object_of([ + ("title", Json.string(title)), + ("summary", Json.string(summary)), + ])), + ]); + + let result = api_request(token, "POST", endpoint, Some(payload)); + + match result { + Ok(json) => match Json.decode_object(json) { + Some(obj) => match Dict.get(obj, "id") { + Some(id) => match Json.decode_number(id) { + Some(num) => Ok(Float.to_int(num)), + None => Err("Invalid check run ID in response"), + }, + None => Err("No check run ID in response"), + }, + None => Err("Invalid JSON response"), + }, + Err(e) => Err(e), + } +} + +fn get_pull_request( + token: ref String, + owner: ref String, + repo: ref String, + pr_number: Int, +) -{IO + Http + Exn[HttpError]}-> Result[Json, String] { + let endpoint = "/repos/" ++ owner ++ "/" ++ repo ++ "/pulls/" ++ Int.to_string(pr_number); + api_request(token, "GET", endpoint, None) +} + +fn get_repository( + token: ref String, + owner: ref String, + repo: ref String, +) -{IO + Http + Exn[HttpError]}-> Result[Json, String] { + let endpoint = "/repos/" ++ owner ++ "/" ++ repo; + api_request(token, "GET", endpoint, None) +} diff --git a/bots/sustainabot/bot-integration/src/GitHubAPI.res b/bots/sustainabot/bot-integration/src/GitHubAPI.res deleted file mode 100644 index ef21edd..0000000 --- a/bots/sustainabot/bot-integration/src/GitHubAPI.res +++ /dev/null @@ -1,177 +0,0 @@ -// GitHub REST API Client -// Authenticated API calls using installation access tokens - -open Deno - -let userAgent = "oikos-bot/0.1.0-beta" -let apiVersion = "2022-11-28" - -// Make an authenticated request to GitHub API -let apiRequest = async ( - token: string, - method: string, - endpoint: string, - ~body: option=?, -): result => { - let url = `https://api.github.com${endpoint}` - - let headers = { - "Authorization": `Bearer ${token}`, - "Accept": "application/vnd.github+json", - "X-GitHub-Api-Version": apiVersion, - "User-Agent": userAgent, - "Content-Type": "application/json", - } - - try { - let response = switch body { - | Some(b) => - await Fetch.fetch( - url, - { - "method": method, - "headers": headers, - "body": Js.Json.stringify(b), - }, - ) - | None => - await Fetch.fetch( - url, - { - "method": method, - "headers": headers, - }, - ) - } - - if !Fetch.ok(response) { - let status = Fetch.status(response) - let errorBody = await Fetch.text(response) - Error(`GitHub API error ${Belt.Int.toString(status)}: ${errorBody}`) - } else { - let json = await Fetch.json(response) - Ok(json) - } - } catch { - | exn => - let msg = switch Js.Exn.asJsExn(exn) { - | Some(jsExn) => Js.Exn.message(jsExn)->Belt.Option.getWithDefault("Unknown error") - | None => "Unknown error" - } - Error(`API request failed: ${msg}`) - } -} - -// Post a comment on a pull request -let postPRComment = async ( - token: string, - owner: string, - repo: string, - prNumber: int, - body: string, -): result => { - let endpoint = `/repos/${owner}/${repo}/issues/${Belt.Int.toString(prNumber)}/comments` - let payload = Js.Json.object_(Js.Dict.fromArray([("body", Js.Json.string(body))])) - - let result = await apiRequest(token, "POST", endpoint, ~body=payload) - - switch result { - | Ok(json) => - switch Js.Json.decodeObject(json) { - | Some(obj) => - switch Js.Dict.get(obj, "id") { - | Some(id) => - switch Js.Json.decodeNumber(id) { - | Some(num) => Ok(Belt.Float.toInt(num)) - | None => Error("Invalid comment ID in response") - } - | None => Error("No comment ID in response") - } - | None => Error("Invalid JSON response") - } - | Error(e) => Error(e) - } -} - -// Update an existing comment -let updateComment = async ( - token: string, - owner: string, - repo: string, - commentId: int, - body: string, -): result => { - let endpoint = `/repos/${owner}/${repo}/issues/comments/${Belt.Int.toString(commentId)}` - let payload = Js.Json.object_(Js.Dict.fromArray([("body", Js.Json.string(body))])) - - let result = await apiRequest(token, "PATCH", endpoint, ~body=payload) - - switch result { - | Ok(_) => Ok() - | Error(e) => Error(e) - } -} - -// Create a check run (for CI status reporting) -let createCheckRun = async ( - token: string, - owner: string, - repo: string, - headSha: string, - name: string, - conclusion: string, // "success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required" - ~title: string, - ~summary: string, -): result => { - let endpoint = `/repos/${owner}/${repo}/check-runs` - let payload = Js.Json.object_( - Js.Dict.fromArray([ - ("name", Js.Json.string(name)), - ("head_sha", Js.Json.string(headSha)), - ("status", Js.Json.string("completed")), - ("conclusion", Js.Json.string(conclusion)), - ( - "output", - Js.Json.object_( - Js.Dict.fromArray([("title", Js.Json.string(title)), ("summary", Js.Json.string(summary))]), - ), - ), - ]), - ) - - let result = await apiRequest(token, "POST", endpoint, ~body=payload) - - switch result { - | Ok(json) => - switch Js.Json.decodeObject(json) { - | Some(obj) => - switch Js.Dict.get(obj, "id") { - | Some(id) => - switch Js.Json.decodeNumber(id) { - | Some(num) => Ok(Belt.Float.toInt(num)) - | None => Error("Invalid check run ID in response") - } - | None => Error("No check run ID in response") - } - | None => Error("Invalid JSON response") - } - | Error(e) => Error(e) - } -} - -// Get pull request details -let getPullRequest = async ( - token: string, - owner: string, - repo: string, - prNumber: int, -): result => { - let endpoint = `/repos/${owner}/${repo}/pulls/${Belt.Int.toString(prNumber)}` - await apiRequest(token, "GET", endpoint) -} - -// Get repository details -let getRepository = async (token: string, owner: string, repo: string): result => { - let endpoint = `/repos/${owner}/${repo}` - await apiRequest(token, "GET", endpoint) -} diff --git a/bots/sustainabot/bot-integration/src/GitHubAPI.res.js b/bots/sustainabot/bot-integration/src/GitHubAPI.res.js deleted file mode 100644 index d14ddc4..0000000 --- a/bots/sustainabot/bot-integration/src/GitHubAPI.res.js +++ /dev/null @@ -1,205 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Js_dict from "@rescript/runtime/lib/es6/Js_dict.js"; -import * as Js_json from "@rescript/runtime/lib/es6/Js_json.js"; -import * as Stdlib_Exn from "@rescript/runtime/lib/es6/Stdlib_Exn.js"; -import * as Belt_Option from "@rescript/runtime/lib/es6/Belt_Option.js"; -import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js"; -import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js"; - -let userAgent = "oikos-bot/0.1.0-beta"; - -let apiVersion = "2022-11-28"; - -async function apiRequest(token, method, endpoint, body) { - let url = `https://api.github.com` + endpoint; - let headers = { - Authorization: `Bearer ` + token, - Accept: "application/vnd.github+json", - "X-GitHub-Api-Version": apiVersion, - "User-Agent": userAgent, - "Content-Type": "application/json" - }; - try { - let response = body !== undefined ? await globalThis.fetch(url, { - method: method, - headers: headers, - body: JSON.stringify(body) - }) : await globalThis.fetch(url, { - method: method, - headers: headers - }); - if (response.ok) { - let json = await response.json(); - return { - TAG: "Ok", - _0: json - }; - } - let status = response.status; - let errorBody = await response.text(); - return { - TAG: "Error", - _0: `GitHub API error ` + String(status) + `: ` + errorBody - }; - } catch (raw_exn) { - let exn = Primitive_exceptions.internalToException(raw_exn); - let jsExn = Stdlib_Exn.asJsExn(exn); - let msg = jsExn !== undefined ? Belt_Option.getWithDefault(Primitive_option.valFromOption(jsExn).message, "Unknown error") : "Unknown error"; - return { - TAG: "Error", - _0: `API request failed: ` + msg - }; - } -} - -async function postPRComment(token, owner, repo, prNumber, body) { - let endpoint = `/repos/` + owner + `/` + repo + `/issues/` + String(prNumber) + `/comments`; - let payload = Js_dict.fromArray([[ - "body", - body - ]]); - let result = await apiRequest(token, "POST", endpoint, payload); - if (result.TAG !== "Ok") { - return { - TAG: "Error", - _0: result._0 - }; - } - let obj = Js_json.decodeObject(result._0); - if (obj === undefined) { - return { - TAG: "Error", - _0: "Invalid JSON response" - }; - } - let id = Js_dict.get(obj, "id"); - if (id === undefined) { - return { - TAG: "Error", - _0: "No comment ID in response" - }; - } - let num = Js_json.decodeNumber(id); - if (num !== undefined) { - return { - TAG: "Ok", - _0: num | 0 - }; - } else { - return { - TAG: "Error", - _0: "Invalid comment ID in response" - }; - } -} - -async function updateComment(token, owner, repo, commentId, body) { - let endpoint = `/repos/` + owner + `/` + repo + `/issues/comments/` + String(commentId); - let payload = Js_dict.fromArray([[ - "body", - body - ]]); - let result = await apiRequest(token, "PATCH", endpoint, payload); - if (result.TAG === "Ok") { - return { - TAG: "Ok", - _0: undefined - }; - } else { - return { - TAG: "Error", - _0: result._0 - }; - } -} - -async function createCheckRun(token, owner, repo, headSha, name, conclusion, title, summary) { - let endpoint = `/repos/` + owner + `/` + repo + `/check-runs`; - let payload = Js_dict.fromArray([ - [ - "name", - name - ], - [ - "head_sha", - headSha - ], - [ - "status", - "completed" - ], - [ - "conclusion", - conclusion - ], - [ - "output", - Js_dict.fromArray([ - [ - "title", - title - ], - [ - "summary", - summary - ] - ]) - ] - ]); - let result = await apiRequest(token, "POST", endpoint, payload); - if (result.TAG !== "Ok") { - return { - TAG: "Error", - _0: result._0 - }; - } - let obj = Js_json.decodeObject(result._0); - if (obj === undefined) { - return { - TAG: "Error", - _0: "Invalid JSON response" - }; - } - let id = Js_dict.get(obj, "id"); - if (id === undefined) { - return { - TAG: "Error", - _0: "No check run ID in response" - }; - } - let num = Js_json.decodeNumber(id); - if (num !== undefined) { - return { - TAG: "Ok", - _0: num | 0 - }; - } else { - return { - TAG: "Error", - _0: "Invalid check run ID in response" - }; - } -} - -async function getPullRequest(token, owner, repo, prNumber) { - let endpoint = `/repos/` + owner + `/` + repo + `/pulls/` + String(prNumber); - return await apiRequest(token, "GET", endpoint, undefined); -} - -async function getRepository(token, owner, repo) { - let endpoint = `/repos/` + owner + `/` + repo; - return await apiRequest(token, "GET", endpoint, undefined); -} - -export { - userAgent, - apiVersion, - apiRequest, - postPRComment, - updateComment, - createCheckRun, - getPullRequest, - getRepository, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/src/GitHubApp.affine b/bots/sustainabot/bot-integration/src/GitHubApp.affine new file mode 100644 index 0000000..0e9c2aa --- /dev/null +++ b/bots/sustainabot/bot-integration/src/GitHubApp.affine @@ -0,0 +1,196 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2024-2026 hyperpolymath +// +// MIGRATED FROM GitHubApp.res by hand-port per issue #148 (policy override 2026-05-24). +// RS256 JWT signing + installation-token caching. +// Crypto / Base64 / TextEncoder paths assume the Web Crypto-derived stdlib +// surface; will need re-validation against the canonical AffineScript +// stdlib once #103 (Async-extern ABI) is fully wired through handlers. + +open Types + +// Module-level token cache. The `mut` here is the closest hand-port match +// for a process-local Dict; affinescript#162 (Dict) is still OPEN so this +// is a placeholder shape. +let token_cache: mut Dict[String, InstallationToken] = Dict.empty() + +fn pem_to_array_buffer(pem: ref String) -> Bytes { + let stripped = pem + |> String.replace_regex("-----BEGIN (?:RSA )?PRIVATE KEY-----", "") + |> String.replace_regex("-----END (?:RSA )?PRIVATE KEY-----", "") + |> String.replace_regex("\\s", ""); + + let binary = Base64.decode(stripped); + Bytes.from_string(binary) +} + +fn base64_url_encode(data: ref Bytes) -> String { + Base64.encode(data) + |> String.replace_all("+", "-") + |> String.replace_all("/", "_") + |> String.replace_regex("=+$", "") +} + +fn base64_url_encode_string(s: ref String) -> String { + Base64.encode(Bytes.from_utf8(s)) + |> String.replace_all("+", "-") + |> String.replace_all("/", "_") + |> String.replace_regex("=+$", "") +} + +// JWT valid for 10 minutes (GitHub requirement). `iat` is set 60 s in the +// past to account for clock drift. +fn generate_jwt( + app_id: ref String, + private_key_pem: ref String, +) -{IO + Crypto + Exn[CryptoError]}-> Result[String, String] { + let now_seconds = Time.now_millis() /. 1000.0; + + let header = Json.object_of([ + ("alg", Json.string("RS256")), + ("typ", Json.string("JWT")), + ]); + let header_b64 = base64_url_encode_string(Json.stringify(header)); + + let payload = Json.object_of([ + ("iss", Json.string(app_id)), + ("iat", Json.number(now_seconds -. 60.0)), + ("exp", Json.number(now_seconds +. 600.0)), + ]); + let payload_b64 = base64_url_encode_string(Json.stringify(payload)); + + let message = header_b64 ++ "." ++ payload_b64; + + try { + let key_buffer = pem_to_array_buffer(private_key_pem); + + let key = Crypto.import_key_pkcs8( + key_buffer, + #{ name: "RSASSA-PKCS1-v1_5", hash: "SHA-256" }, + false, + ["sign"], + ); + + let message_bytes = Bytes.from_utf8(message); + let signature_buffer = Crypto.sign_with_algorithm( + #{ name: "RSASSA-PKCS1-v1_5" }, + key, + message_bytes, + ); + + let signature_b64 = base64_url_encode(signature_buffer); + Ok(message ++ "." ++ signature_b64) + } catch { + err => Err("Failed to generate JWT: " ++ Exn.message(err)), + } +} + +// GitHub installation tokens are valid for 1 hour. +fn get_installation_token( + jwt: ref String, + installation_id: Int, +) -{IO + Http + Exn[HttpError]}-> Result[InstallationToken, String] { + let cache_key = Int.to_string(installation_id); + + match Dict.get(token_cache, cache_key) { + // Return cached token if it has at least 1 minute remaining. + Some(cached) if cached.expiresAt > Time.now_millis() +. 60000.0 => Ok(cached), + _ => { + try { + let response = Http.fetch( + "https://api.github.com/app/installations/" ++ cache_key ++ "/access_tokens", + #{ + method: "POST", + headers: Dict.of([ + ("Authorization", "Bearer " ++ jwt), + ("Accept", "application/vnd.github+json"), + ("X-GitHub-Api-Version", "2022-11-28"), + ("User-Agent", "oikos-bot"), + ]), + body: None, + }, + ); + + if !Http.Response.ok(response) { + let status = Http.Response.status(response); + let body = Http.Response.text(response); + Err("GitHub API error " ++ Int.to_string(status) ++ ": " ++ body) + } else { + let json = Http.Response.json(response); + match Json.decode_object(json) { + Some(obj) => { + let token = match Dict.get(obj, "token") { + Some(t) => Option.unwrap_or(Json.decode_string(t), ""), + None => "", + }; + let expires_at_str = match Dict.get(obj, "expires_at") { + Some(e) => Option.unwrap_or(Json.decode_string(e), ""), + None => "", + }; + + if token == "" { + Err("No token in response") + } else { + let expires_at = Time.parse_iso8601(expires_at_str); + let install_token = InstallationToken #{ + token: token, + expiresAt: expires_at, + }; + Dict.set(token_cache, cache_key, install_token); + Ok(install_token) + } + }, + None => Err("Invalid JSON response"), + } + } + } catch { + err => Err("Failed to get installation token: " ++ Exn.message(err)), + } + }, + } +} + +fn extract_installation_id(payload: ref Json) -> Option[Int] { + match Json.decode_object(payload) { + Some(obj) => match Dict.get(obj, "installation") { + Some(inst) => match Json.decode_object(inst) { + Some(inst_obj) => match Dict.get(inst_obj, "id") { + Some(id) => match Json.decode_number(id) { + Some(num) => Some(Float.to_int(num)), + None => None, + }, + None => None, + }, + None => None, + }, + None => None, + }, + None => None, + } +} + +fn get_auth_token( + config: ref Config, + payload: ref Json, +) -{IO + Http + Crypto + Exn[HttpError]}-> Result[String, String] { + match (config.githubAppId, config.githubPrivateKey) { + (Some(app_id), Some(private_key)) => match extract_installation_id(payload) { + Some(installation_id) => { + let jwt_result = generate_jwt(app_id, private_key); + match jwt_result { + Ok(jwt) => { + let token_result = get_installation_token(jwt, installation_id); + match token_result { + Ok(install_token) => Ok(install_token.token), + Err(e) => Err(e), + } + }, + Err(e) => Err(e), + } + }, + None => Err("No installation ID in payload"), + }, + _ => Err("GitHub App credentials not configured"), + } +} diff --git a/bots/sustainabot/bot-integration/src/GitHubApp.res b/bots/sustainabot/bot-integration/src/GitHubApp.res deleted file mode 100644 index 623e813..0000000 --- a/bots/sustainabot/bot-integration/src/GitHubApp.res +++ /dev/null @@ -1,234 +0,0 @@ -// GitHub App JWT Authentication -// Generates RS256 JWTs for GitHub App authentication and manages installation tokens - -open Deno - -// Token cache - stores installation tokens to avoid unnecessary API calls -let tokenCache: Js.Dict.t = Js.Dict.empty() - -// Convert PEM private key to ArrayBuffer for Web Crypto API -let pemToArrayBuffer = (pem: string): Js.TypedArray2.ArrayBuffer.t => { - // Remove PEM header/footer and whitespace - let pemContents = pem - ->Js.String2.replaceByRe(%re("/-----BEGIN (?:RSA )?PRIVATE KEY-----/g"), "") - ->Js.String2.replaceByRe(%re("/-----END (?:RSA )?PRIVATE KEY-----/g"), "") - ->Js.String2.replaceByRe(%re("/\\s/g"), "") - - // Decode base64 to binary string - let binaryStr = Base64.atob(pemContents) - let len = Js.String.length(binaryStr) - - // Convert to Uint8Array - let bytes = Js.TypedArray2.Uint8Array.fromLength(len) - for i in 0 to len - 1 { - let charCode = Js.String2.charCodeAt(binaryStr, i)->Belt.Float.toInt - Js.TypedArray2.Uint8Array.unsafe_set(bytes, i, charCode) - } - - Js.TypedArray2.Uint8Array.buffer(bytes) -} - -// Base64URL encode (for JWT) -let base64UrlEncode = (data: Js.TypedArray2.Uint8Array.t): string => { - // Convert Uint8Array to binary string - let len = Js.TypedArray2.Uint8Array.length(data) - let binaryStr = ref("") - for i in 0 to len - 1 { - let byte = Js.TypedArray2.Uint8Array.unsafe_get(data, i) - binaryStr := binaryStr.contents ++ Js.String.fromCharCode(byte) - } - - // Base64 encode then make URL-safe - Base64.btoa(binaryStr.contents) - ->Js.String2.replaceByRe(%re("/\+/g"), "-") - ->Js.String2.replaceByRe(%re("/\//g"), "_") - ->Js.String2.replaceByRe(%re("/=+$/g"), "") -} - -// Base64URL encode a string -let base64UrlEncodeString = (str: string): string => { - Base64.btoa(str) - ->Js.String2.replaceByRe(%re("/\+/g"), "-") - ->Js.String2.replaceByRe(%re("/\//g"), "_") - ->Js.String2.replaceByRe(%re("/=+$/g"), "") -} - -// Generate JWT for GitHub App authentication -// JWT is valid for 10 minutes (GitHub requirement) -let generateJWT = async (appId: string, privateKeyPem: string): result => { - let nowSeconds = Js.Date.now() /. 1000.0 - - // JWT Header - let header = Js.Dict.fromArray([ - ("alg", Js.Json.string("RS256")), - ("typ", Js.Json.string("JWT")), - ]) - let headerB64 = base64UrlEncodeString(Js.Json.stringify(Js.Json.object_(header))) - - // JWT Payload - issued 60 seconds ago to account for clock drift - let payload = Js.Dict.fromArray([ - ("iss", Js.Json.string(appId)), - ("iat", Js.Json.number(nowSeconds -. 60.0)), - ("exp", Js.Json.number(nowSeconds +. 600.0)), // 10 minutes - ]) - let payloadB64 = base64UrlEncodeString(Js.Json.stringify(Js.Json.object_(payload))) - - // Message to sign - let message = `${headerB64}.${payloadB64}` - - try { - // Import RSA private key - let keyBuffer = pemToArrayBuffer(privateKeyPem) - let encoder = TextEncoder.make() - - let key = await Crypto.importKeyPkcs8( - Crypto.subtle, - keyBuffer, - {"name": "RSASSA-PKCS1-v1_5", "hash": "SHA-256"}, - false, - ["sign"], - ) - - // Sign the message - let messageBytes = TextEncoder.encode(encoder, message) - let signatureBuffer = await Crypto.signWithAlgorithm( - Crypto.subtle, - {"name": "RSASSA-PKCS1-v1_5"}, - key, - messageBytes, - ) - - // Convert signature to base64url - let signatureBytes = ArrayBuffer.makeUint8Array(signatureBuffer) - let signatureB64 = base64UrlEncode(signatureBytes) - - Ok(`${message}.${signatureB64}`) - } catch { - | exn => - let msg = switch Js.Exn.asJsExn(exn) { - | Some(jsExn) => Js.Exn.message(jsExn)->Belt.Option.getWithDefault("Unknown error") - | None => "Unknown error" - } - Error(`Failed to generate JWT: ${msg}`) - } -} - -// Get installation access token from GitHub -// Tokens are valid for 1 hour -let getInstallationToken = async (jwt: string, installationId: int): result => { - let cacheKey = Belt.Int.toString(installationId) - - // Check cache first - switch Js.Dict.get(tokenCache, cacheKey) { - | Some(cached) if cached.expiresAt > Js.Date.now() +. 60000.0 => - // Return cached token if it has at least 1 minute remaining - Ok(cached) - | _ => - // Fetch new token - try { - let response = await Fetch.fetch( - `https://api.github.com/app/installations/${cacheKey}/access_tokens`, - { - "method": "POST", - "headers": { - "Authorization": `Bearer ${jwt}`, - "Accept": "application/vnd.github+json", - "X-GitHub-Api-Version": "2022-11-28", - "User-Agent": "oikos-bot", - }, - }, - ) - - if !Fetch.ok(response) { - let status = Fetch.status(response) - let body = await Fetch.text(response) - Error(`GitHub API error ${Belt.Int.toString(status)}: ${body}`) - } else { - let json = await Fetch.json(response) - switch Js.Json.decodeObject(json) { - | Some(obj) => - let token = switch Js.Dict.get(obj, "token") { - | Some(t) => Js.Json.decodeString(t)->Belt.Option.getWithDefault("") - | None => "" - } - let expiresAtStr = switch Js.Dict.get(obj, "expires_at") { - | Some(e) => Js.Json.decodeString(e)->Belt.Option.getWithDefault("") - | None => "" - } - - if token == "" { - Error("No token in response") - } else { - // Parse ISO 8601 date to timestamp (getTime returns ms since epoch) - let expiresAtDate = Js.Date.fromString(expiresAtStr) - let expiresAt = Js.Date.getTime(expiresAtDate) - let installToken: Types.installationToken = { - token, - expiresAt, - } - - // Cache the token - Js.Dict.set(tokenCache, cacheKey, installToken) - - Ok(installToken) - } - | None => Error("Invalid JSON response") - } - } - } catch { - | exn => - let msg = switch Js.Exn.asJsExn(exn) { - | Some(jsExn) => Js.Exn.message(jsExn)->Belt.Option.getWithDefault("Unknown error") - | None => "Unknown error" - } - Error(`Failed to get installation token: ${msg}`) - } - } -} - -// Extract installation ID from webhook payload -let extractInstallationId = (payload: Js.Json.t): option => { - switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "installation") { - | Some(inst) => - switch Js.Json.decodeObject(inst) { - | Some(instObj) => - switch Js.Dict.get(instObj, "id") { - | Some(id) => - switch Js.Json.decodeNumber(id) { - | Some(num) => Some(Belt.Float.toInt(num)) - | None => None - } - | None => None - } - | None => None - } - | None => None - } - | None => None - } -} - -// Get an authenticated token for a repository installation -// This is the main entry point for authentication -let getAuthToken = async (config: Types.config, payload: Js.Json.t): result => { - switch (config.githubAppId, config.githubPrivateKey) { - | (Some(appId), Some(privateKey)) => - switch extractInstallationId(payload) { - | Some(installationId) => - let jwtResult = await generateJWT(appId, privateKey) - switch jwtResult { - | Ok(jwt) => - let tokenResult = await getInstallationToken(jwt, installationId) - switch tokenResult { - | Ok(installToken) => Ok(installToken.token) - | Error(e) => Error(e) - } - | Error(e) => Error(e) - } - | None => Error("No installation ID in payload") - } - | _ => Error("GitHub App credentials not configured") - } -} diff --git a/bots/sustainabot/bot-integration/src/GitHubApp.res.js b/bots/sustainabot/bot-integration/src/GitHubApp.res.js deleted file mode 100644 index 48795ae..0000000 --- a/bots/sustainabot/bot-integration/src/GitHubApp.res.js +++ /dev/null @@ -1,238 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Js_dict from "@rescript/runtime/lib/es6/Js_dict.js"; -import * as Js_json from "@rescript/runtime/lib/es6/Js_json.js"; -import * as Stdlib_Exn from "@rescript/runtime/lib/es6/Stdlib_Exn.js"; -import * as Belt_Option from "@rescript/runtime/lib/es6/Belt_Option.js"; -import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js"; -import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js"; - -let tokenCache = {}; - -function pemToArrayBuffer(pem) { - let pemContents = pem.replace(/-----BEGIN (?:RSA )?PRIVATE KEY-----/g, "").replace(/-----END (?:RSA )?PRIVATE KEY-----/g, "").replace(/\\s/g, ""); - let binaryStr = globalThis.atob(pemContents); - let len = binaryStr.length; - let bytes = new Uint8Array(len); - for (let i = 0; i < len; ++i) { - let charCode = binaryStr.charCodeAt(i) | 0; - bytes[i] = charCode; - } - return bytes.buffer; -} - -function base64UrlEncode(data) { - let len = data.length; - let binaryStr = ""; - for (let i = 0; i < len; ++i) { - let byte = data[i]; - binaryStr = binaryStr + String.fromCharCode(byte); - } - return globalThis.btoa(binaryStr).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, ""); -} - -function base64UrlEncodeString(str) { - return globalThis.btoa(str).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, ""); -} - -async function generateJWT(appId, privateKeyPem) { - let nowSeconds = Date.now() / 1000.0; - let header = Js_dict.fromArray([ - [ - "alg", - "RS256" - ], - [ - "typ", - "JWT" - ] - ]); - let headerB64 = base64UrlEncodeString(JSON.stringify(header)); - let payload = Js_dict.fromArray([ - [ - "iss", - appId - ], - [ - "iat", - nowSeconds - 60.0 - ], - [ - "exp", - nowSeconds + 600.0 - ] - ]); - let payloadB64 = base64UrlEncodeString(JSON.stringify(payload)); - let message = headerB64 + `.` + payloadB64; - try { - let keyBuffer = pemToArrayBuffer(privateKeyPem); - let encoder = new (globalThis.TextEncoder)(); - let key = await globalThis.crypto.subtle.importKey("pkcs8", keyBuffer, { - name: "RSASSA-PKCS1-v1_5", - hash: "SHA-256" - }, false, ["sign"]); - let messageBytes = encoder.encode(message); - let signatureBuffer = await globalThis.crypto.subtle.sign({ - name: "RSASSA-PKCS1-v1_5" - }, key, messageBytes); - let signatureBytes = new (globalThis.Uint8Array)(signatureBuffer); - let signatureB64 = base64UrlEncode(signatureBytes); - return { - TAG: "Ok", - _0: message + `.` + signatureB64 - }; - } catch (raw_exn) { - let exn = Primitive_exceptions.internalToException(raw_exn); - let jsExn = Stdlib_Exn.asJsExn(exn); - let msg = jsExn !== undefined ? Belt_Option.getWithDefault(Primitive_option.valFromOption(jsExn).message, "Unknown error") : "Unknown error"; - return { - TAG: "Error", - _0: `Failed to generate JWT: ` + msg - }; - } -} - -async function getInstallationToken(jwt, installationId) { - let cacheKey = String(installationId); - let cached = Js_dict.get(tokenCache, cacheKey); - if (cached !== undefined && cached.expiresAt > Date.now() + 60000.0) { - return { - TAG: "Ok", - _0: cached - }; - } - try { - let response = await globalThis.fetch(`https://api.github.com/app/installations/` + cacheKey + `/access_tokens`, { - method: "POST", - headers: { - Authorization: `Bearer ` + jwt, - Accept: "application/vnd.github+json", - "X-GitHub-Api-Version": "2022-11-28", - "User-Agent": "oikos-bot" - } - }); - if (response.ok) { - let json = await response.json(); - let obj = Js_json.decodeObject(json); - if (obj === undefined) { - return { - TAG: "Error", - _0: "Invalid JSON response" - }; - } - let t = Js_dict.get(obj, "token"); - let token = t !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(t), "") : ""; - let e = Js_dict.get(obj, "expires_at"); - let expiresAtStr = e !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(e), "") : ""; - if (token === "") { - return { - TAG: "Error", - _0: "No token in response" - }; - } - let expiresAtDate = new Date(expiresAtStr); - let expiresAt = expiresAtDate.getTime(); - let installToken = { - token: token, - expiresAt: expiresAt - }; - tokenCache[cacheKey] = installToken; - return { - TAG: "Ok", - _0: installToken - }; - } - let status = response.status; - let body = await response.text(); - return { - TAG: "Error", - _0: `GitHub API error ` + String(status) + `: ` + body - }; - } catch (raw_exn) { - let exn = Primitive_exceptions.internalToException(raw_exn); - let jsExn = Stdlib_Exn.asJsExn(exn); - let msg = jsExn !== undefined ? Belt_Option.getWithDefault(Primitive_option.valFromOption(jsExn).message, "Unknown error") : "Unknown error"; - return { - TAG: "Error", - _0: `Failed to get installation token: ` + msg - }; - } -} - -function extractInstallationId(payload) { - let obj = Js_json.decodeObject(payload); - if (obj === undefined) { - return; - } - let inst = Js_dict.get(obj, "installation"); - if (inst === undefined) { - return; - } - let instObj = Js_json.decodeObject(inst); - if (instObj === undefined) { - return; - } - let id = Js_dict.get(instObj, "id"); - if (id === undefined) { - return; - } - let num = Js_json.decodeNumber(id); - if (num !== undefined) { - return num | 0; - } -} - -async function getAuthToken(config, payload) { - let match = config.githubAppId; - let match$1 = config.githubPrivateKey; - if (match === undefined) { - return { - TAG: "Error", - _0: "GitHub App credentials not configured" - }; - } - if (match$1 === undefined) { - return { - TAG: "Error", - _0: "GitHub App credentials not configured" - }; - } - let installationId = extractInstallationId(payload); - if (installationId === undefined) { - return { - TAG: "Error", - _0: "No installation ID in payload" - }; - } - let jwtResult = await generateJWT(match, match$1); - if (jwtResult.TAG !== "Ok") { - return { - TAG: "Error", - _0: jwtResult._0 - }; - } - let tokenResult = await getInstallationToken(jwtResult._0, installationId); - if (tokenResult.TAG === "Ok") { - return { - TAG: "Ok", - _0: tokenResult._0.token - }; - } else { - return { - TAG: "Error", - _0: tokenResult._0 - }; - } -} - -export { - tokenCache, - pemToArrayBuffer, - base64UrlEncode, - base64UrlEncodeString, - generateJWT, - getInstallationToken, - extractInstallationId, - getAuthToken, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/src/Main.affine b/bots/sustainabot/bot-integration/src/Main.affine new file mode 100644 index 0000000..6f5e51c --- /dev/null +++ b/bots/sustainabot/bot-integration/src/Main.affine @@ -0,0 +1,405 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2024-2026 hyperpolymath +// +// MIGRATED FROM Main.res by hand-port per issue #148 (policy override 2026-05-24). +// Oikos Bot — webhook intake and dispatch to the analysis service. + +open Types + +fn log(level: ref String, msg: ref String, data: Option[Json]) -{IO}-> () { + let timestamp = Time.iso_now(); + let log_obj = match data { + Some(d) => Json.object_of([ + ("timestamp", Json.string(timestamp)), + ("level", Json.string(level)), + ("message", Json.string(msg)), + ("data", d), + ]), + None => Json.object_of([ + ("timestamp", Json.string(timestamp)), + ("level", Json.string(level)), + ("message", Json.string(msg)), + ]), + }; + Console.log(Json.stringify(log_obj)) +} + +fn info(msg: ref String, data: Option[Json]) -{IO}-> () { + log("info", msg, data) +} + +fn error(msg: ref String, data: Option[Json]) -{IO}-> () { + log("error", msg, data) +} + +fn extract_pr_info(payload: ref Json) -> (Int, String, String) { + match Json.decode_object(payload) { + Some(obj) => { + let pr_number = match Dict.get(obj, "number") { + Some(n) => match Json.decode_number(n) { + Some(num) => Float.to_int(num), + None => 0, + }, + None => 0, + }; + let (base_sha, head_sha) = match Dict.get(obj, "pull_request") { + Some(pr) => match Json.decode_object(pr) { + Some(pr_obj) => { + let base = match Dict.get(pr_obj, "base") { + Some(b) => match Json.decode_object(b) { + Some(base_obj) => match Dict.get(base_obj, "sha") { + Some(s) => Option.unwrap_or(Json.decode_string(s), ""), + None => "", + }, + None => "", + }, + None => "", + }; + let head = match Dict.get(pr_obj, "head") { + Some(h) => match Json.decode_object(h) { + Some(head_obj) => match Dict.get(head_obj, "sha") { + Some(s) => Option.unwrap_or(Json.decode_string(s), ""), + None => "", + }, + None => "", + }, + None => "", + }; + (base, head) + }, + None => ("", ""), + }, + None => ("", ""), + }; + (pr_number, base_sha, head_sha) + }, + None => (0, "", ""), + } +} + +fn extract_mr_info(payload: ref Json) -> (Int, String, String) { + match Json.decode_object(payload) { + Some(obj) => match Dict.get(obj, "object_attributes") { + Some(attrs) => match Json.decode_object(attrs) { + Some(attrs_obj) => { + let mr_iid = match Dict.get(attrs_obj, "iid") { + Some(n) => match Json.decode_number(n) { + Some(num) => Float.to_int(num), + None => 0, + }, + None => 0, + }; + let base_sha = match Dict.get(attrs_obj, "diff_refs") { + Some(refs) => match Json.decode_object(refs) { + Some(refs_obj) => match Dict.get(refs_obj, "base_sha") { + Some(s) => Option.unwrap_or(Json.decode_string(s), ""), + None => "", + }, + None => "", + }, + None => "", + }; + let head_sha = match Dict.get(attrs_obj, "last_commit") { + Some(commit) => match Json.decode_object(commit) { + Some(commit_obj) => match Dict.get(commit_obj, "id") { + Some(s) => Option.unwrap_or(Json.decode_string(s), ""), + None => "", + }, + None => "", + }, + None => "", + }; + (mr_iid, base_sha, head_sha) + }, + None => (0, "", ""), + }, + None => (0, "", ""), + }, + None => (0, "", ""), + } +} + +fn json_response(data: Json, status: Int) -> Http.Response { + Http.Response.make_json( + Json.stringify(data), + #{ + status: status, + headers: Dict.of([("Content-Type", "application/json")]), + }, + ) +} + +fn validate_github_signature( + config: ref Config, + headers: ref Dict[String, String], + body: ref String, +) -{IO + Crypto + Exn[CryptoError]}-> Option[Http.Response] { + match config.githubWebhookSecret { + Some(secret) => { + let signature = Option.unwrap_or(Dict.get(headers, "x-hub-signature-256"), ""); + let valid = Webhook.verify_github_signature(body, signature, secret); + if !valid { + error("Invalid GitHub webhook signature", None); + Some(Http.Response.make("{\"error\": \"Invalid signature\"}", #{ status: 401 })) + } else { + None + } + }, + None => None, + } +} + +fn handle_github_webhook( + config: ref Config, + headers: ref Dict[String, String], + body: ref String, +) -{IO + Http + Crypto + Exn[HttpError]}-> Http.Response { + let signature_error = validate_github_signature(config, headers, body); + match signature_error { + Some(err_response) => err_response, + None => { + let parse_result = try { + Some(Json.parse(body)) + } catch { + _ => None, + }; + + match parse_result { + None => Http.Response.make("{\"error\": \"Invalid JSON\"}", #{ status: 400 }), + Some(payload) => { + let event = Webhook.parse_github_event(headers, payload); + match event { + Some(e) => { + info( + "GitHub event: " ++ e.eventType, + Some(Json.object_of([ + ("repo", Json.string(e.repository.owner ++ "/" ++ e.repository.name)), + ("action", Json.string(Option.unwrap_or(e.action, ""))), + ])), + ); + + if e.eventType == "pull_request" { + let action = Option.unwrap_or(e.action, ""); + if action == "opened" || action == "synchronize" { + let (pr_number, base_sha, head_sha) = extract_pr_info(payload); + + let analysis_result = Analysis.analyze_diff( + config.analysisEndpoint, + e.repository.url, + base_sha, + head_sha, + ); + + let comment = match analysis_result { + Ok(analysis) => Report.generate_pr_comment(analysis, config.mode), + Err(err) => { + error("Analysis failed: " ++ err, None); + let analysis = Analysis.mock_analysis(); + Report.generate_pr_comment(analysis, config.mode) + }, + }; + + let auth_result = GitHubApp.get_auth_token(config, payload); + match auth_result { + Ok(token) => { + let post_result = GitHubAPI.post_pr_comment( + token, + e.repository.owner, + e.repository.name, + pr_number, + comment, + ); + match post_result { + Ok(comment_id) => info( + "Posted PR comment", + Some(Json.object_of([ + ("pr", Json.number(Int.to_float(pr_number))), + ("commentId", Json.number(Int.to_float(comment_id))), + ])), + ), + Err(err) => error("Failed to post PR comment: " ++ err, None), + } + }, + Err(err) => info( + "GitHub App not configured, comment not posted: " ++ err, + Some(Json.string(comment)), + ), + }; + () + }; + () + }; + + json_response( + Json.object_of([("status", Json.string("processed"))]), + 200, + ) + }, + None => { + error("Failed to parse GitHub event", None); + Http.Response.make("{\"error\": \"Invalid event\"}", #{ status: 400 }) + }, + } + }, + } + }, + } +} + +fn validate_gitlab_token( + config: ref Config, + headers: ref Dict[String, String], +) -{IO}-> Option[Http.Response] { + match config.gitlabWebhookSecret { + Some(secret) => { + let token = Option.unwrap_or(Dict.get(headers, "x-gitlab-token"), ""); + if !Webhook.verify_gitlab_token(token, secret) { + error("Invalid GitLab webhook token", None); + Some(Http.Response.make("{\"error\": \"Invalid token\"}", #{ status: 401 })) + } else { + None + } + }, + None => None, + } +} + +fn handle_gitlab_webhook( + config: ref Config, + headers: ref Dict[String, String], + body: ref String, +) -{IO + Http + Exn[HttpError]}-> Http.Response { + let token_error = validate_gitlab_token(config, headers); + match token_error { + Some(err_response) => err_response, + None => { + let parse_result = try { + Some(Json.parse(body)) + } catch { + _ => None, + }; + + match parse_result { + None => Http.Response.make("{\"error\": \"Invalid JSON\"}", #{ status: 400 }), + Some(payload) => { + let event = Webhook.parse_gitlab_event(headers, payload); + match event { + Some(e) => { + info( + "GitLab event: " ++ e.eventType, + Some(Json.object_of([ + ("repo", Json.string(e.repository.owner ++ "/" ++ e.repository.name)), + ])), + ); + + if e.eventType == "Merge Request Hook" { + let (mr_iid, base_sha, head_sha) = extract_mr_info(payload); + + let analysis_result = Analysis.analyze_diff( + config.analysisEndpoint, + e.repository.url, + base_sha, + head_sha, + ); + + match analysis_result { + Ok(analysis) => { + let comment = Report.generate_pr_comment(analysis, config.mode); + info( + "Generated MR comment for MR !" ++ Int.to_string(mr_iid), + Some(Json.string(comment)), + ) + }, + Err(err) => { + error("Analysis failed: " ++ err, None); + let analysis = Analysis.mock_analysis(); + let comment = Report.generate_pr_comment(analysis, config.mode); + info("Generated fallback MR comment", Some(Json.string(comment))) + }, + }; + () + }; + + json_response( + Json.object_of([("status", Json.string("processed"))]), + 200, + ) + }, + None => { + error("Failed to parse GitLab event", None); + Http.Response.make("{\"error\": \"Invalid event\"}", #{ status: 400 }) + }, + } + }, + } + }, + } +} + +fn handler(config: Config) -> fn(Http.Request, Http.ConnInfo) -{IO + Http + Crypto + Exn[HttpError]}-> Http.Response { + fn(req, _conn_info) -{IO + Http + Crypto + Exn[HttpError]}-> Http.Response { + let url = Http.Request.url(req); + let method = Http.Request.method(req); + let path = String.replace_regex(url, "^https?://[^/]+", ""); + + match (method, path) { + ("GET", "/health") => json_response( + Json.object_of([ + ("status", Json.string("healthy")), + ("mode", Json.string(Config.mode_to_string(config.mode))), + ]), + 200, + ), + + ("POST", "/webhooks/github") => { + let body = Http.Request.text(req); + let headers = Http.Request.headers(req); + handle_github_webhook(config, headers, body) + }, + + ("POST", "/webhooks/gitlab") => { + let body = Http.Request.text(req); + let headers = Http.Request.headers(req); + handle_gitlab_webhook(config, headers, body) + }, + + ("GET", "/metrics") => json_response( + Json.object_of([ + ("oikos_bot_requests_total", Json.number(0.0)), + ("oikos_bot_analyses_total", Json.number(0.0)), + ]), + 200, + ), + + _ => Http.Response.make("Not Found", #{ status: 404 }), + } + } +} + +fn main() -{IO + Http + Crypto + Exn[HttpError]}-> () { + match Config.load() { + Ok(config) => { + info( + "Starting Oikos Bot", + Some(Json.object_of([ + ("port", Json.number(Int.to_float(config.port))), + ("mode", Json.string(Config.mode_to_string(config.mode))), + ])), + ); + + Http.serve( + #{ + port: config.port, + on_listen: fn(addr) -{IO}-> () { + info("Server listening on " ++ addr.hostname ++ ":" ++ Int.to_string(addr.port), None) + }, + }, + handler(config), + ) + }, + Err(e) => error("Failed to load config: " ++ e, None), + } +} + +let _ = main() diff --git a/bots/sustainabot/bot-integration/src/Main.res b/bots/sustainabot/bot-integration/src/Main.res deleted file mode 100644 index 6216b98..0000000 --- a/bots/sustainabot/bot-integration/src/Main.res +++ /dev/null @@ -1,422 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2024-2025 hyperpolymath -// -// Oikos Bot Main Entry Point -// ReScript + Deno implementation - -open Deno -open Types - -// Logger helper -let log = (level: string, msg: string, data: option) => { - let timestamp = Js.Date.toISOString(Js.Date.make()) - let logObj = switch data { - | Some(d) => - Js.Dict.fromArray([ - ("timestamp", Js.Json.string(timestamp)), - ("level", Js.Json.string(level)), - ("message", Js.Json.string(msg)), - ("data", d), - ]) - | None => - Js.Dict.fromArray([ - ("timestamp", Js.Json.string(timestamp)), - ("level", Js.Json.string(level)), - ("message", Js.Json.string(msg)), - ]) - } - Js.Console.log(Js.Json.stringify(Js.Json.object_(logObj))) -} - -let info = (msg, ~data=?) => log("info", msg, data) -let error = (msg, ~data=?) => log("error", msg, data) - -// Extract PR info from GitHub payload -let extractPRInfo = (payload: Js.Json.t): (int, string, string) => { - switch Js.Json.decodeObject(payload) { - | Some(obj) => - let prNumber = switch Js.Dict.get(obj, "number") { - | Some(n) => - switch Js.Json.decodeNumber(n) { - | Some(num) => Belt.Float.toInt(num) - | None => 0 - } - | None => 0 - } - let (baseSha, headSha) = switch Js.Dict.get(obj, "pull_request") { - | Some(pr) => - switch Js.Json.decodeObject(pr) { - | Some(prObj) => - let base = switch Js.Dict.get(prObj, "base") { - | Some(b) => - switch Js.Json.decodeObject(b) { - | Some(baseObj) => - switch Js.Dict.get(baseObj, "sha") { - | Some(s) => Js.Json.decodeString(s)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - let head = switch Js.Dict.get(prObj, "head") { - | Some(h) => - switch Js.Json.decodeObject(h) { - | Some(headObj) => - switch Js.Dict.get(headObj, "sha") { - | Some(s) => Js.Json.decodeString(s)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - (base, head) - | None => ("", "") - } - | None => ("", "") - } - (prNumber, baseSha, headSha) - | None => (0, "", "") - } -} - -// Extract MR info from GitLab payload -let extractMRInfo = (payload: Js.Json.t): (int, string, string) => { - switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "object_attributes") { - | Some(attrs) => - switch Js.Json.decodeObject(attrs) { - | Some(attrsObj) => - let mrIid = switch Js.Dict.get(attrsObj, "iid") { - | Some(n) => - switch Js.Json.decodeNumber(n) { - | Some(num) => Belt.Float.toInt(num) - | None => 0 - } - | None => 0 - } - let baseSha = switch Js.Dict.get(attrsObj, "diff_refs") { - | Some(refs) => - switch Js.Json.decodeObject(refs) { - | Some(refsObj) => - switch Js.Dict.get(refsObj, "base_sha") { - | Some(s) => Js.Json.decodeString(s)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - let headSha = switch Js.Dict.get(attrsObj, "last_commit") { - | Some(commit) => - switch Js.Json.decodeObject(commit) { - | Some(commitObj) => - switch Js.Dict.get(commitObj, "id") { - | Some(s) => Js.Json.decodeString(s)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - (mrIid, baseSha, headSha) - | None => (0, "", "") - } - | None => (0, "", "") - } - | None => (0, "", "") - } -} - -// JSON response helper -let jsonResponse = (data: Js.Json.t, ~status=200): Http.response => { - Http.makeJsonResponse( - Js.Json.stringify(data), - { - "status": status, - "headers": {"Content-Type": "application/json"}, - }, - ) -} - -// Validate GitHub signature if configured -let validateGitHubSignature = async ( - config: config, - headers: Js.Dict.t, - body: string, -): option => { - switch config.githubWebhookSecret { - | Some(secret) => - let signature = Js.Dict.get(headers, "x-hub-signature-256")->Belt.Option.getWithDefault("") - let valid = await Webhook.verifyGitHubSignature(body, signature, secret) - if !valid { - error("Invalid GitHub webhook signature") - Some(Http.makeResponse(`{"error": "Invalid signature"}`, {"status": 401})) - } else { - None - } - | None => None - } -} - -// Handle GitHub webhook -let handleGitHubWebhook = async ( - config: config, - headers: Js.Dict.t, - body: string, -): Http.response => { - // Verify signature if secret is configured - let signatureError = await validateGitHubSignature(config, headers, body) - switch signatureError { - | Some(errResponse) => errResponse - | None => - // Parse payload - let parseResult = try { - Some(Js.Json.parseExn(body)) - } catch { - | _ => None - } - - switch parseResult { - | None => Http.makeResponse(`{"error": "Invalid JSON"}`, {"status": 400}) - | Some(payload) => - let event = Webhook.parseGitHubEvent(headers, payload) - switch event { - | Some(e) => - info( - `GitHub event: ${e.eventType}`, - ~data=Js.Json.object_( - Js.Dict.fromArray([ - ("repo", Js.Json.string(`${e.repository.owner}/${e.repository.name}`)), - ("action", Js.Json.string(e.action->Belt.Option.getWithDefault(""))), - ]), - ), - ) - - // Handle pull request events - if e.eventType == "pull_request" { - let action = e.action->Belt.Option.getWithDefault("") - if action == "opened" || action == "synchronize" { - // Extract PR info from payload - let (prNumber, baseSha, headSha) = extractPRInfo(payload) - - // Call real analyzer - let analysisResult = await Analysis.analyzeDiff( - config.analysisEndpoint, - e.repository.url, - baseSha, - headSha, - ) - - let comment = switch analysisResult { - | Ok(analysis) => - Report.generatePRComment(analysis, config.mode) - | Error(err) => - error(`Analysis failed: ${err}`) - let analysis = Analysis.mockAnalysis() - Report.generatePRComment(analysis, config.mode) - } - - // Post comment to GitHub if authenticated - let authResult = await GitHubApp.getAuthToken(config, payload) - switch authResult { - | Ok(token) => - let postResult = await GitHubAPI.postPRComment( - token, - e.repository.owner, - e.repository.name, - prNumber, - comment, - ) - switch postResult { - | Ok(commentId) => - info( - `Posted PR comment`, - ~data=Js.Json.object_( - Js.Dict.fromArray([ - ("pr", Js.Json.number(Belt.Int.toFloat(prNumber))), - ("commentId", Js.Json.number(Belt.Int.toFloat(commentId))), - ]), - ), - ) - | Error(err) => - error(`Failed to post PR comment: ${err}`) - } - | Error(err) => - // Not configured for GitHub App - log comment instead - info( - `GitHub App not configured, comment not posted: ${err}`, - ~data=Js.Json.string(comment), - ) - } - } - } - - jsonResponse(Js.Json.object_(Js.Dict.fromArray([("status", Js.Json.string("processed"))]))) - | None => - error("Failed to parse GitHub event") - Http.makeResponse(`{"error": "Invalid event"}`, {"status": 400}) - } - } - } -} - -// Validate GitLab token if configured -let validateGitLabToken = ( - config: config, - headers: Js.Dict.t, -): option => { - switch config.gitlabWebhookSecret { - | Some(secret) => - let token = Js.Dict.get(headers, "x-gitlab-token")->Belt.Option.getWithDefault("") - if !Webhook.verifyGitLabToken(token, secret) { - error("Invalid GitLab webhook token") - Some(Http.makeResponse(`{"error": "Invalid token"}`, {"status": 401})) - } else { - None - } - | None => None - } -} - -// Handle GitLab webhook -let handleGitLabWebhook = async ( - config: config, - headers: Js.Dict.t, - body: string, -): Http.response => { - // Verify token if secret is configured - let tokenError = validateGitLabToken(config, headers) - switch tokenError { - | Some(errResponse) => errResponse - | None => - // Parse payload - let parseResult = try { - Some(Js.Json.parseExn(body)) - } catch { - | _ => None - } - - switch parseResult { - | None => Http.makeResponse(`{"error": "Invalid JSON"}`, {"status": 400}) - | Some(payload) => - let event = Webhook.parseGitLabEvent(headers, payload) - switch event { - | Some(e) => - info( - `GitLab event: ${e.eventType}`, - ~data=Js.Json.object_( - Js.Dict.fromArray([("repo", Js.Json.string(`${e.repository.owner}/${e.repository.name}`))]), - ), - ) - - // Handle merge request events - if e.eventType == "Merge Request Hook" { - let (mrIid, baseSha, headSha) = extractMRInfo(payload) - - let analysisResult = await Analysis.analyzeDiff( - config.analysisEndpoint, - e.repository.url, - baseSha, - headSha, - ) - - switch analysisResult { - | Ok(analysis) => - let comment = Report.generatePRComment(analysis, config.mode) - info(`Generated MR comment for MR !${Belt.Int.toString(mrIid)}`, ~data=Js.Json.string(comment)) - | Error(err) => - error(`Analysis failed: ${err}`) - let analysis = Analysis.mockAnalysis() - let comment = Report.generatePRComment(analysis, config.mode) - info(`Generated fallback MR comment`, ~data=Js.Json.string(comment)) - } - } - - jsonResponse(Js.Json.object_(Js.Dict.fromArray([("status", Js.Json.string("processed"))]))) - | None => - error("Failed to parse GitLab event") - Http.makeResponse(`{"error": "Invalid event"}`, {"status": 400}) - } - } - } -} - -// Main request handler -let handler = (config: config): Http.handler => { - async (req, _connInfo) => { - let url = Http.url(req) - let method = Http.method_(req) - let path = Js.String2.replaceByRe(url, %re("/^https?:\/\/[^\/]+/"), "") - - // Route requests - switch (method, path) { - | ("GET", "/health") => - jsonResponse( - Js.Json.object_( - Js.Dict.fromArray([ - ("status", Js.Json.string("healthy")), - ("mode", Js.Json.string(Config.modeToString(config.mode))), - ]), - ), - ) - - | ("POST", "/webhooks/github") => - let body = await Http.text(req) - let headers = Http.headers(req) - await handleGitHubWebhook(config, headers, body) - - | ("POST", "/webhooks/gitlab") => - let body = await Http.text(req) - let headers = Http.headers(req) - await handleGitLabWebhook(config, headers, body) - - | ("GET", "/metrics") => - // OpenTelemetry metrics endpoint - jsonResponse( - Js.Json.object_( - Js.Dict.fromArray([ - ("oikos_bot_requests_total", Js.Json.number(0.0)), - ("oikos_bot_analyses_total", Js.Json.number(0.0)), - ]), - ), - ) - - | _ => Http.makeResponse("Not Found", {"status": 404}) - } - } -} - -// Main entry point -let main = () => { - switch Config.load() { - | Ok(config) => - info( - `Starting Oikos Bot`, - ~data=Js.Json.object_( - Js.Dict.fromArray([ - ("port", Js.Json.number(Belt.Int.toFloat(config.port))), - ("mode", Js.Json.string(Config.modeToString(config.mode))), - ]), - ), - ) - - Http.serve( - { - port: config.port, - onListen: ({hostname, port}) => { - info(`Server listening on ${hostname}:${Belt.Int.toString(port)}`) - }, - }, - handler(config), - ) - - | Error(e) => - error(`Failed to load config: ${e}`) - } -} - -// Run -main() diff --git a/bots/sustainabot/bot-integration/src/Main.res.js b/bots/sustainabot/bot-integration/src/Main.res.js deleted file mode 100644 index 3049a4a..0000000 --- a/bots/sustainabot/bot-integration/src/Main.res.js +++ /dev/null @@ -1,451 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Config from "./Config.res.js"; -import * as Report from "./Report.res.js"; -import * as Js_dict from "@rescript/runtime/lib/es6/Js_dict.js"; -import * as Js_json from "@rescript/runtime/lib/es6/Js_json.js"; -import * as Webhook from "./Webhook.res.js"; -import * as Analysis from "./Analysis.res.js"; -import * as GitHubAPI from "./GitHubAPI.res.js"; -import * as GitHubApp from "./GitHubApp.res.js"; -import * as Belt_Option from "@rescript/runtime/lib/es6/Belt_Option.js"; -import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js"; - -function log(level, msg, data) { - let timestamp = new Date().toISOString(); - let logObj = data !== undefined ? Js_dict.fromArray([ - [ - "timestamp", - timestamp - ], - [ - "level", - level - ], - [ - "message", - msg - ], - [ - "data", - data - ] - ]) : Js_dict.fromArray([ - [ - "timestamp", - timestamp - ], - [ - "level", - level - ], - [ - "message", - msg - ] - ]); - console.log(JSON.stringify(logObj)); -} - -function info(msg, data) { - log("info", msg, data); -} - -function error(msg, data) { - log("error", msg, data); -} - -function extractPRInfo(payload) { - let obj = Js_json.decodeObject(payload); - if (obj === undefined) { - return [ - 0, - "", - "" - ]; - } - let n = Js_dict.get(obj, "number"); - let prNumber; - if (n !== undefined) { - let num = Js_json.decodeNumber(n); - prNumber = num !== undefined ? num | 0 : 0; - } else { - prNumber = 0; - } - let pr = Js_dict.get(obj, "pull_request"); - let match; - if (pr !== undefined) { - let prObj = Js_json.decodeObject(pr); - if (prObj !== undefined) { - let b = Js_dict.get(prObj, "base"); - let base; - if (b !== undefined) { - let baseObj = Js_json.decodeObject(b); - if (baseObj !== undefined) { - let s = Js_dict.get(baseObj, "sha"); - base = s !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(s), "") : ""; - } else { - base = ""; - } - } else { - base = ""; - } - let h = Js_dict.get(prObj, "head"); - let head; - if (h !== undefined) { - let headObj = Js_json.decodeObject(h); - if (headObj !== undefined) { - let s$1 = Js_dict.get(headObj, "sha"); - head = s$1 !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(s$1), "") : ""; - } else { - head = ""; - } - } else { - head = ""; - } - match = [ - base, - head - ]; - } else { - match = [ - "", - "" - ]; - } - } else { - match = [ - "", - "" - ]; - } - return [ - prNumber, - match[0], - match[1] - ]; -} - -function extractMRInfo(payload) { - let obj = Js_json.decodeObject(payload); - if (obj === undefined) { - return [ - 0, - "", - "" - ]; - } - let attrs = Js_dict.get(obj, "object_attributes"); - if (attrs === undefined) { - return [ - 0, - "", - "" - ]; - } - let attrsObj = Js_json.decodeObject(attrs); - if (attrsObj === undefined) { - return [ - 0, - "", - "" - ]; - } - let n = Js_dict.get(attrsObj, "iid"); - let mrIid; - if (n !== undefined) { - let num = Js_json.decodeNumber(n); - mrIid = num !== undefined ? num | 0 : 0; - } else { - mrIid = 0; - } - let refs = Js_dict.get(attrsObj, "diff_refs"); - let baseSha; - if (refs !== undefined) { - let refsObj = Js_json.decodeObject(refs); - if (refsObj !== undefined) { - let s = Js_dict.get(refsObj, "base_sha"); - baseSha = s !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(s), "") : ""; - } else { - baseSha = ""; - } - } else { - baseSha = ""; - } - let commit = Js_dict.get(attrsObj, "last_commit"); - let headSha; - if (commit !== undefined) { - let commitObj = Js_json.decodeObject(commit); - if (commitObj !== undefined) { - let s$1 = Js_dict.get(commitObj, "id"); - headSha = s$1 !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(s$1), "") : ""; - } else { - headSha = ""; - } - } else { - headSha = ""; - } - return [ - mrIid, - baseSha, - headSha - ]; -} - -function jsonResponse(data, statusOpt) { - let status = statusOpt !== undefined ? statusOpt : 200; - return new (globalThis.Response)(JSON.stringify(data), { - status: status, - headers: { - "Content-Type": "application/json" - } - }); -} - -async function validateGitHubSignature(config, headers, body) { - let secret = config.githubWebhookSecret; - if (secret === undefined) { - return; - } - let signature = Belt_Option.getWithDefault(Js_dict.get(headers, "x-hub-signature-256"), ""); - let valid = await Webhook.verifyGitHubSignature(body, signature, secret); - if (!valid) { - log("error", "Invalid GitHub webhook signature", undefined); - return Primitive_option.some(new (globalThis.Response)(`{"error": "Invalid signature"}`, { - status: 401 - })); - } -} - -async function handleGitHubWebhook(config, headers, body) { - let signatureError = await validateGitHubSignature(config, headers, body); - if (signatureError !== undefined) { - return Primitive_option.valFromOption(signatureError); - } - let parseResult; - try { - parseResult = JSON.parse(body); - } catch (exn) { - parseResult = undefined; - } - if (parseResult === undefined) { - return new (globalThis.Response)(`{"error": "Invalid JSON"}`, { - status: 400 - }); - } - let event = Webhook.parseGitHubEvent(headers, parseResult); - if (event !== undefined) { - log("info", `GitHub event: ` + event.eventType, Js_dict.fromArray([ - [ - "repo", - event.repository.owner + `/` + event.repository.name - ], - [ - "action", - Belt_Option.getWithDefault(event.action, "") - ] - ])); - if (event.eventType === "pull_request") { - let action = Belt_Option.getWithDefault(event.action, ""); - if (action === "opened" || action === "synchronize") { - let match = extractPRInfo(parseResult); - let prNumber = match[0]; - let analysisResult = await Analysis.analyzeDiff(config.analysisEndpoint, event.repository.url, match[1], match[2]); - let comment; - if (analysisResult.TAG === "Ok") { - comment = Report.generatePRComment(analysisResult._0, config.mode); - } else { - log("error", `Analysis failed: ` + analysisResult._0, undefined); - let analysis = Analysis.mockAnalysis(); - comment = Report.generatePRComment(analysis, config.mode); - } - let authResult = await GitHubApp.getAuthToken(config, parseResult); - if (authResult.TAG === "Ok") { - let postResult = await GitHubAPI.postPRComment(authResult._0, event.repository.owner, event.repository.name, prNumber, comment); - if (postResult.TAG === "Ok") { - log("info", `Posted PR comment`, Js_dict.fromArray([ - [ - "pr", - prNumber - ], - [ - "commentId", - postResult._0 - ] - ])); - } else { - log("error", `Failed to post PR comment: ` + postResult._0, undefined); - } - } else { - log("info", `GitHub App not configured, comment not posted: ` + authResult._0, comment); - } - } - } - return jsonResponse(Js_dict.fromArray([[ - "status", - "processed" - ]]), undefined); - } - log("error", "Failed to parse GitHub event", undefined); - return new (globalThis.Response)(`{"error": "Invalid event"}`, { - status: 400 - }); -} - -function validateGitLabToken(config, headers) { - let secret = config.gitlabWebhookSecret; - if (secret === undefined) { - return; - } - let token = Belt_Option.getWithDefault(Js_dict.get(headers, "x-gitlab-token"), ""); - if (!Webhook.verifyGitLabToken(token, secret)) { - log("error", "Invalid GitLab webhook token", undefined); - return Primitive_option.some(new (globalThis.Response)(`{"error": "Invalid token"}`, { - status: 401 - })); - } -} - -async function handleGitLabWebhook(config, headers, body) { - let tokenError = validateGitLabToken(config, headers); - if (tokenError !== undefined) { - return Primitive_option.valFromOption(tokenError); - } - let parseResult; - try { - parseResult = JSON.parse(body); - } catch (exn) { - parseResult = undefined; - } - if (parseResult === undefined) { - return new (globalThis.Response)(`{"error": "Invalid JSON"}`, { - status: 400 - }); - } - let event = Webhook.parseGitLabEvent(headers, parseResult); - if (event !== undefined) { - log("info", `GitLab event: ` + event.eventType, Js_dict.fromArray([[ - "repo", - event.repository.owner + `/` + event.repository.name - ]])); - if (event.eventType === "Merge Request Hook") { - let match = extractMRInfo(parseResult); - let analysisResult = await Analysis.analyzeDiff(config.analysisEndpoint, event.repository.url, match[1], match[2]); - if (analysisResult.TAG === "Ok") { - let comment = Report.generatePRComment(analysisResult._0, config.mode); - log("info", `Generated MR comment for MR !` + String(match[0]), comment); - } else { - log("error", `Analysis failed: ` + analysisResult._0, undefined); - let analysis = Analysis.mockAnalysis(); - let comment$1 = Report.generatePRComment(analysis, config.mode); - log("info", `Generated fallback MR comment`, comment$1); - } - } - return jsonResponse(Js_dict.fromArray([[ - "status", - "processed" - ]]), undefined); - } - log("error", "Failed to parse GitLab event", undefined); - return new (globalThis.Response)(`{"error": "Invalid event"}`, { - status: 400 - }); -} - -function handler(config) { - return async (req, _connInfo) => { - let url = req.url; - let method = req.method; - let path = url.replace(/^https?:\/\/[^\/]+/, ""); - switch (method) { - case "GET" : - switch (path) { - case "/health" : - return jsonResponse(Js_dict.fromArray([ - [ - "status", - "healthy" - ], - [ - "mode", - Config.modeToString(config.mode) - ] - ]), undefined); - case "/metrics" : - return jsonResponse(Js_dict.fromArray([ - [ - "oikos_bot_requests_total", - 0.0 - ], - [ - "oikos_bot_analyses_total", - 0.0 - ] - ]), undefined); - default: - return new (globalThis.Response)("Not Found", { - status: 404 - }); - } - case "POST" : - switch (path) { - case "/webhooks/github" : - let body = await req.text(); - let headers = req.headers; - return await handleGitHubWebhook(config, headers, body); - case "/webhooks/gitlab" : - let body$1 = await req.text(); - let headers$1 = req.headers; - return await handleGitLabWebhook(config, headers$1, body$1); - default: - return new (globalThis.Response)("Not Found", { - status: 404 - }); - } - default: - return new (globalThis.Response)("Not Found", { - status: 404 - }); - } - }; -} - -function main() { - let config = Config.load(); - if (config.TAG !== "Ok") { - return log("error", `Failed to load config: ` + config._0, undefined); - } - let config$1 = config._0; - log("info", `Starting Oikos Bot`, Js_dict.fromArray([ - [ - "port", - config$1.port - ], - [ - "mode", - Config.modeToString(config$1.mode) - ] - ])); - Deno.serve({ - port: config$1.port, - onListen: param => log("info", `Server listening on ` + param.hostname + `:` + String(param.port), undefined) - }, handler(config$1)); -} - -main(); - -export { - log, - info, - error, - extractPRInfo, - extractMRInfo, - jsonResponse, - validateGitHubSignature, - handleGitHubWebhook, - validateGitLabToken, - handleGitLabWebhook, - handler, - main, -} -/* Not a pure module */ diff --git a/bots/sustainabot/bot-integration/src/Oikos.affine b/bots/sustainabot/bot-integration/src/Oikos.affine new file mode 100644 index 0000000..8d355fb --- /dev/null +++ b/bots/sustainabot/bot-integration/src/Oikos.affine @@ -0,0 +1,244 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell +// +// MIGRATED FROM Oikos.res by hand-port per issue #148 (policy override 2026-05-24). +// οἶκος: Greek root of both "ecology" and "economy". +// TEA Architecture — Model-Update-Subscriptions pattern. + +open ServerTea + +type BotMode = + | Advisor + | Consultant + | Regulator + +type WebhookSource = + | GitHub + | GitLab + +type AnalysisStatus = + | Pending + | InProgress + | Completed(Types.AnalysisResult) + | Failed(String) + +type PendingAnalysis = { + id: String, + repo: String, + prNumber: Int, + status: AnalysisStatus, + createdAt: Float, +} + +type Model = { + mode: BotMode, + port: Int, + webhookSecret: Option[String], + appId: Option[String], + privateKeyPath: Option[String], + pendingAnalyses: Array[PendingAnalysis], + totalProcessed: Int, + startTime: Float, + healthy: Bool, +} + +type Msg = + | WebhookReceived(WebhookSource, Json) + | WebhookVerified(WebhookSource, Json) + | WebhookRejected(String) + | AnalysisRequested(String, String, Int) + | AnalysisStarted(String) + | AnalysisCompleted(String, Types.AnalysisResult) + | AnalysisFailed(String, String) + | CommentPosted(String, Int) + | CommentFailed(String, String) + | HealthCheck + | Tick + | Shutdown + +type Flags = { + port: Int, + mode: String, + webhookSecret: Option[String], + appId: Option[String], + privateKeyPath: Option[String], +} + +fn mode_from_string(s: ref String) -> BotMode { + match s { + "consultant" => Consultant, + "regulator" => Regulator, + _ => Advisor, + } +} + +fn init(flags: Flags) -{IO}-> (Model, Cmd.T[Msg]) { + let model = Model #{ + mode: mode_from_string(flags.mode), + port: flags.port, + webhookSecret: flags.webhookSecret, + appId: flags.appId, + privateKeyPath: flags.privateKeyPath, + pendingAnalyses: [], + totalProcessed: 0, + startTime: Time.now_millis(), + healthy: true, + }; + + Console.log("🏛️ Oikos Bot starting..."); + Console.log(" Mode: " ++ flags.mode); + Console.log(" Port: " ++ Int.to_string(flags.port)); + + (model, Cmd.none()) +} + +fn update(msg: Msg, model: Model) -{IO}-> (Model, Cmd.T[Msg]) { + match msg { + WebhookReceived(source, payload) => { + let source_str = match source { + GitHub => "GitHub", + GitLab => "GitLab", + }; + Console.log("📨 Webhook received from " ++ source_str); + // TODO: Verify signature, then dispatch WebhookVerified + (model, Cmd.perform( + fn() -{IO}-> Json { payload }, + fn(p) -> Msg { WebhookVerified(source, p) }, + )) + }, + + WebhookVerified(source, payload) => { + Console.log("✓ Webhook verified"); + let _ = source; + let _ = payload; + // TODO: Parse event type, extract PR info, start analysis + (Model #{ ..model, totalProcessed: model.totalProcessed + 1 }, Cmd.none()) + }, + + WebhookRejected(reason) => { + Console.error("✗ Webhook rejected: " ++ reason); + (model, Cmd.none()) + }, + + AnalysisRequested(id, repo, pr_number) => { + Console.log("🔍 Analysis requested: " ++ repo ++ "#" ++ Int.to_string(pr_number)); + let analysis = PendingAnalysis #{ + id: id, + repo: repo, + prNumber: pr_number, + status: Pending, + createdAt: Time.now_millis(), + }; + ( + Model #{ ..model, pendingAnalyses: Array.append(model.pendingAnalyses, [analysis]) }, + Cmd.none(), + ) + }, + + AnalysisStarted(id) => { + let pending = model.pendingAnalyses + |> Array.map(fn(a) -> PendingAnalysis { + if a.id == id { + PendingAnalysis #{ ..a, status: InProgress } + } else { + a + } + }); + (Model #{ ..model, pendingAnalyses: pending }, Cmd.none()) + }, + + AnalysisCompleted(id, result) => { + Console.log("✓ Analysis completed: " ++ id); + let pending = model.pendingAnalyses + |> Array.map(fn(a) -> PendingAnalysis { + if a.id == id { + PendingAnalysis #{ ..a, status: Completed(result) } + } else { + a + } + }); + (Model #{ ..model, pendingAnalyses: pending }, Cmd.none()) + }, + + AnalysisFailed(id, error) => { + Console.error("✗ Analysis failed: " ++ id ++ " - " ++ error); + let pending = model.pendingAnalyses + |> Array.map(fn(a) -> PendingAnalysis { + if a.id == id { + PendingAnalysis #{ ..a, status: Failed(error) } + } else { + a + } + }); + (Model #{ ..model, pendingAnalyses: pending }, Cmd.none()) + }, + + CommentPosted(repo, pr_number) => { + Console.log("💬 Comment posted to " ++ repo ++ "#" ++ Int.to_string(pr_number)); + (model, Cmd.none()) + }, + + CommentFailed(repo, error) => { + Console.error("✗ Failed to post comment to " ++ repo ++ ": " ++ error); + (model, Cmd.none()) + }, + + HealthCheck => { + Console.log("💚 Health check - processed: " ++ Int.to_string(model.totalProcessed)); + (model, Cmd.none()) + }, + + Tick => { + let now = Time.now_millis(); + let one_hour = 60.0 *. 60.0 *. 1000.0; + let pending = Array.filter(model.pendingAnalyses, fn(a) -> Bool { + now -. a.createdAt < one_hour + }); + (Model #{ ..model, pendingAnalyses: pending }, Cmd.none()) + }, + + Shutdown => { + Console.log("👋 Shutting down..."); + (Model #{ ..model, healthy: false }, Cmd.none()) + }, + } +} + +fn subscriptions(model: Model) -> Sub.T[Msg] { + if model.healthy { + Sub.batch([ + Sub.http_server(model.port, fn(json) -> Option[Msg] { + Some(WebhookReceived(GitHub, json)) + }), + Sub.every(60000, fn() -> Msg { Tick }), + ]) + } else { + Sub.none() + } +} + +fn run() -{IO + Http}-> () { + let port = match Env.get("PORT") { + Some(p) => Option.unwrap_or(Int.from_string(p), 3000), + None => 3000, + }; + let mode = Option.unwrap_or(Env.get("BOT_MODE"), "advisor"); + let webhook_secret = Env.get("GITHUB_WEBHOOK_SECRET"); + let app_id = Env.get("GITHUB_APP_ID"); + let private_key_path = Env.get("GITHUB_PRIVATE_KEY_PATH"); + + let flags = Flags #{ + port: port, + mode: mode, + webhookSecret: webhook_secret, + appId: app_id, + privateKeyPath: private_key_path, + }; + + let _ = Runtime.make(init, update, subscriptions, flags); + () +} + +// Auto-run when imported as main module. +let _ = run() diff --git a/bots/sustainabot/bot-integration/src/Oikos.res b/bots/sustainabot/bot-integration/src/Oikos.res deleted file mode 100644 index db5b339..0000000 --- a/bots/sustainabot/bot-integration/src/Oikos.res +++ /dev/null @@ -1,265 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell -// -// Oikos - Ecological & Economic Code Analysis -// οἶκος: Greek root of both "ecology" and "economy" -// TEA Architecture - Model-Update-Subscriptions pattern - -open ServerTea - -// ============================================================================= -// MODEL -// ============================================================================= - -type botMode = - | Advisor - | Consultant - | Regulator - -type webhookSource = - | GitHub - | GitLab - -type analysisStatus = - | Pending - | InProgress - | Completed(Types.analysisResult) - | Failed(string) - -type pendingAnalysis = { - id: string, - repo: string, - prNumber: int, - status: analysisStatus, - createdAt: float, -} - -type model = { - mode: botMode, - port: int, - webhookSecret: option, - appId: option, - privateKeyPath: option, - pendingAnalyses: array, - totalProcessed: int, - startTime: float, - healthy: bool, -} - -// ============================================================================= -// MESSAGES -// ============================================================================= - -type msg = - // Webhook events - | WebhookReceived(webhookSource, Js.Json.t) - | WebhookVerified(webhookSource, Js.Json.t) - | WebhookRejected(string) - // Analysis lifecycle - | AnalysisRequested(string, string, int) // id, repo, prNumber - | AnalysisStarted(string) - | AnalysisCompleted(string, Types.analysisResult) - | AnalysisFailed(string, string) - // GitHub API responses - | CommentPosted(string, int) - | CommentFailed(string, string) - // System - | HealthCheck - | Tick - | Shutdown - -// ============================================================================= -// INIT -// ============================================================================= - -type flags = { - port: int, - mode: string, - webhookSecret: option, - appId: option, - privateKeyPath: option, -} - -let modeFromString = str => - switch str { - | "consultant" => Consultant - | "regulator" => Regulator - | _ => Advisor - } - -let init = (flags: flags) => { - let model = { - mode: modeFromString(flags.mode), - port: flags.port, - webhookSecret: flags.webhookSecret, - appId: flags.appId, - privateKeyPath: flags.privateKeyPath, - pendingAnalyses: [], - totalProcessed: 0, - startTime: Js.Date.now(), - healthy: true, - } - - Js.Console.log(`🏛️ Oikos Bot starting...`) - Js.Console.log(` Mode: ${flags.mode}`) - Js.Console.log(` Port: ${flags.port->Belt.Int.toString}`) - - (model, Cmd.none) -} - -// ============================================================================= -// UPDATE -// ============================================================================= - -let update = (msg: msg, model: model) => { - switch msg { - | WebhookReceived(source, payload) => { - let sourceStr = switch source { - | GitHub => "GitHub" - | GitLab => "GitLab" - } - Js.Console.log(`📨 Webhook received from ${sourceStr}`) - // TODO: Verify signature then dispatch WebhookVerified - (model, Cmd.perform(async () => payload, p => WebhookVerified(source, p))) - } - - | WebhookVerified(source, payload) => { - Js.Console.log(`✓ Webhook verified`) - // Parse the webhook and determine action - let _ = source - let _ = payload - // TODO: Parse event type, extract PR info, start analysis - ({...model, totalProcessed: model.totalProcessed + 1}, Cmd.none) - } - - | WebhookRejected(reason) => { - Js.Console.error(`✗ Webhook rejected: ${reason}`) - (model, Cmd.none) - } - - | AnalysisRequested(id, repo, prNumber) => { - Js.Console.log(`🔍 Analysis requested: ${repo}#${prNumber->Belt.Int.toString}`) - let analysis = { - id, - repo, - prNumber, - status: Pending, - createdAt: Js.Date.now(), - } - ( - {...model, pendingAnalyses: model.pendingAnalyses->Js.Array2.concat([analysis])}, - Cmd.none, - ) - } - - | AnalysisStarted(id) => { - let pendingAnalyses = - model.pendingAnalyses->Js.Array2.map(a => - if a.id == id { - {...a, status: InProgress} - } else { - a - } - ) - ({...model, pendingAnalyses}, Cmd.none) - } - - | AnalysisCompleted(id, result) => { - Js.Console.log(`✓ Analysis completed: ${id}`) - let pendingAnalyses = - model.pendingAnalyses->Js.Array2.map(a => - if a.id == id { - {...a, status: Completed(result)} - } else { - a - } - ) - ({...model, pendingAnalyses}, Cmd.none) - } - - | AnalysisFailed(id, error) => { - Js.Console.error(`✗ Analysis failed: ${id} - ${error}`) - let pendingAnalyses = - model.pendingAnalyses->Js.Array2.map(a => - if a.id == id { - {...a, status: Failed(error)} - } else { - a - } - ) - ({...model, pendingAnalyses}, Cmd.none) - } - - | CommentPosted(repo, prNumber) => { - Js.Console.log(`💬 Comment posted to ${repo}#${prNumber->Belt.Int.toString}`) - (model, Cmd.none) - } - - | CommentFailed(repo, error) => { - Js.Console.error(`✗ Failed to post comment to ${repo}: ${error}`) - (model, Cmd.none) - } - - | HealthCheck => { - Js.Console.log(`💚 Health check - processed: ${model.totalProcessed->Belt.Int.toString}`) - (model, Cmd.none) - } - - | Tick => { - // Periodic cleanup of old analyses - let now = Js.Date.now() - let oneHour = 60.0 *. 60.0 *. 1000.0 - let pendingAnalyses = - model.pendingAnalyses->Js.Array2.filter(a => now -. a.createdAt < oneHour) - ({...model, pendingAnalyses}, Cmd.none) - } - - | Shutdown => { - Js.Console.log(`👋 Shutting down...`) - ({...model, healthy: false}, Cmd.none) - } - } -} - -// ============================================================================= -// SUBSCRIPTIONS -// ============================================================================= - -let subscriptions = (model: model) => { - if model.healthy { - Sub.batch([ - Sub.httpServer(model.port, json => Some(WebhookReceived(GitHub, json))), - Sub.every(60000, () => Tick), - ]) - } else { - Sub.none - } -} - -// ============================================================================= -// RUN -// ============================================================================= - -let run = () => { - let port = switch Deno.Env.get("PORT") { - | Some(p) => Belt.Int.fromString(p)->Belt.Option.getWithDefault(3000) - | None => 3000 - } - let mode = Deno.Env.get("BOT_MODE")->Belt.Option.getWithDefault("advisor") - let webhookSecret = Deno.Env.get("GITHUB_WEBHOOK_SECRET") - let appId = Deno.Env.get("GITHUB_APP_ID") - let privateKeyPath = Deno.Env.get("GITHUB_PRIVATE_KEY_PATH") - - let flags = { - port, - mode, - webhookSecret, - appId, - privateKeyPath, - } - - Runtime.make(~init, ~update, ~subscriptions, ~flags) -} - -// Auto-run when imported as main module -let _ = run() diff --git a/bots/sustainabot/bot-integration/src/Oikos.res.js b/bots/sustainabot/bot-integration/src/Oikos.res.js deleted file mode 100644 index 1904207..0000000 --- a/bots/sustainabot/bot-integration/src/Oikos.res.js +++ /dev/null @@ -1,309 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Belt_Int from "@rescript/runtime/lib/es6/Belt_Int.js"; -import * as ServerTea from "./tea/ServerTea.res.js"; -import * as Belt_Option from "@rescript/runtime/lib/es6/Belt_Option.js"; - -function modeFromString(str) { - switch (str) { - case "consultant" : - return "Consultant"; - case "regulator" : - return "Regulator"; - default: - return "Advisor"; - } -} - -function init(flags) { - let model_mode = modeFromString(flags.mode); - let model_port = flags.port; - let model_webhookSecret = flags.webhookSecret; - let model_appId = flags.appId; - let model_privateKeyPath = flags.privateKeyPath; - let model_pendingAnalyses = []; - let model_startTime = Date.now(); - let model = { - mode: model_mode, - port: model_port, - webhookSecret: model_webhookSecret, - appId: model_appId, - privateKeyPath: model_privateKeyPath, - pendingAnalyses: model_pendingAnalyses, - totalProcessed: 0, - startTime: model_startTime, - healthy: true - }; - console.log(`🏛️ Oikos Bot starting...`); - console.log(` Mode: ` + flags.mode); - console.log(` Port: ` + String(flags.port)); - return [ - model, - ServerTea.Cmd.none - ]; -} - -function update(msg, model) { - if (typeof msg !== "object") { - switch (msg) { - case "HealthCheck" : - console.log(`💚 Health check - processed: ` + String(model.totalProcessed)); - return [ - model, - ServerTea.Cmd.none - ]; - case "Tick" : - let now = Date.now(); - let oneHour = 60.0 * 60.0 * 1000.0; - let pendingAnalyses = model.pendingAnalyses.filter(a => now - a.createdAt < oneHour); - return [ - { - mode: model.mode, - port: model.port, - webhookSecret: model.webhookSecret, - appId: model.appId, - privateKeyPath: model.privateKeyPath, - pendingAnalyses: pendingAnalyses, - totalProcessed: model.totalProcessed, - startTime: model.startTime, - healthy: model.healthy - }, - ServerTea.Cmd.none - ]; - case "Shutdown" : - console.log(`👋 Shutting down...`); - return [ - { - mode: model.mode, - port: model.port, - webhookSecret: model.webhookSecret, - appId: model.appId, - privateKeyPath: model.privateKeyPath, - pendingAnalyses: model.pendingAnalyses, - totalProcessed: model.totalProcessed, - startTime: model.startTime, - healthy: false - }, - ServerTea.Cmd.none - ]; - } - } else { - switch (msg.TAG) { - case "WebhookReceived" : - let payload = msg._1; - let source = msg._0; - let sourceStr; - sourceStr = source === "GitHub" ? "GitHub" : "GitLab"; - console.log(`📨 Webhook received from ` + sourceStr); - return [ - model, - ServerTea.Cmd.perform(async () => payload, p => ({ - TAG: "WebhookVerified", - _0: source, - _1: p - })) - ]; - case "WebhookVerified" : - console.log(`✓ Webhook verified`); - return [ - { - mode: model.mode, - port: model.port, - webhookSecret: model.webhookSecret, - appId: model.appId, - privateKeyPath: model.privateKeyPath, - pendingAnalyses: model.pendingAnalyses, - totalProcessed: model.totalProcessed + 1 | 0, - startTime: model.startTime, - healthy: model.healthy - }, - ServerTea.Cmd.none - ]; - case "WebhookRejected" : - console.error(`✗ Webhook rejected: ` + msg._0); - return [ - model, - ServerTea.Cmd.none - ]; - case "AnalysisRequested" : - let prNumber = msg._2; - let repo = msg._1; - console.log(`🔍 Analysis requested: ` + repo + `#` + String(prNumber)); - let analysis_id = msg._0; - let analysis_createdAt = Date.now(); - let analysis = { - id: analysis_id, - repo: repo, - prNumber: prNumber, - status: "Pending", - createdAt: analysis_createdAt - }; - return [ - { - mode: model.mode, - port: model.port, - webhookSecret: model.webhookSecret, - appId: model.appId, - privateKeyPath: model.privateKeyPath, - pendingAnalyses: model.pendingAnalyses.concat([analysis]), - totalProcessed: model.totalProcessed, - startTime: model.startTime, - healthy: model.healthy - }, - ServerTea.Cmd.none - ]; - case "AnalysisStarted" : - let id = msg._0; - let pendingAnalyses$1 = model.pendingAnalyses.map(a => { - if (a.id === id) { - return { - id: a.id, - repo: a.repo, - prNumber: a.prNumber, - status: "InProgress", - createdAt: a.createdAt - }; - } else { - return a; - } - }); - return [ - { - mode: model.mode, - port: model.port, - webhookSecret: model.webhookSecret, - appId: model.appId, - privateKeyPath: model.privateKeyPath, - pendingAnalyses: pendingAnalyses$1, - totalProcessed: model.totalProcessed, - startTime: model.startTime, - healthy: model.healthy - }, - ServerTea.Cmd.none - ]; - case "AnalysisCompleted" : - let result = msg._1; - let id$1 = msg._0; - console.log(`✓ Analysis completed: ` + id$1); - let pendingAnalyses$2 = model.pendingAnalyses.map(a => { - if (a.id === id$1) { - return { - id: a.id, - repo: a.repo, - prNumber: a.prNumber, - status: { - TAG: "Completed", - _0: result - }, - createdAt: a.createdAt - }; - } else { - return a; - } - }); - return [ - { - mode: model.mode, - port: model.port, - webhookSecret: model.webhookSecret, - appId: model.appId, - privateKeyPath: model.privateKeyPath, - pendingAnalyses: pendingAnalyses$2, - totalProcessed: model.totalProcessed, - startTime: model.startTime, - healthy: model.healthy - }, - ServerTea.Cmd.none - ]; - case "AnalysisFailed" : - let error = msg._1; - let id$2 = msg._0; - console.error(`✗ Analysis failed: ` + id$2 + ` - ` + error); - let pendingAnalyses$3 = model.pendingAnalyses.map(a => { - if (a.id === id$2) { - return { - id: a.id, - repo: a.repo, - prNumber: a.prNumber, - status: { - TAG: "Failed", - _0: error - }, - createdAt: a.createdAt - }; - } else { - return a; - } - }); - return [ - { - mode: model.mode, - port: model.port, - webhookSecret: model.webhookSecret, - appId: model.appId, - privateKeyPath: model.privateKeyPath, - pendingAnalyses: pendingAnalyses$3, - totalProcessed: model.totalProcessed, - startTime: model.startTime, - healthy: model.healthy - }, - ServerTea.Cmd.none - ]; - case "CommentPosted" : - console.log(`💬 Comment posted to ` + msg._0 + `#` + String(msg._1)); - return [ - model, - ServerTea.Cmd.none - ]; - case "CommentFailed" : - console.error(`✗ Failed to post comment to ` + msg._0 + `: ` + msg._1); - return [ - model, - ServerTea.Cmd.none - ]; - } - } -} - -function subscriptions(model) { - if (model.healthy) { - return ServerTea.Sub.batch([ - ServerTea.Sub.httpServer(model.port, json => ({ - TAG: "WebhookReceived", - _0: "GitHub", - _1: json - })), - ServerTea.Sub.every(60000, () => "Tick") - ]); - } else { - return ServerTea.Sub.none; - } -} - -function run() { - let p = Deno.env.get("PORT"); - let port = p !== undefined ? Belt_Option.getWithDefault(Belt_Int.fromString(p), 3000) : 3000; - let mode = Belt_Option.getWithDefault(Deno.env.get("BOT_MODE"), "advisor"); - let webhookSecret = Deno.env.get("GITHUB_WEBHOOK_SECRET"); - let appId = Deno.env.get("GITHUB_APP_ID"); - let privateKeyPath = Deno.env.get("GITHUB_PRIVATE_KEY_PATH"); - let flags = { - port: port, - mode: mode, - webhookSecret: webhookSecret, - appId: appId, - privateKeyPath: privateKeyPath - }; - return ServerTea.Runtime.make(init, update, subscriptions, flags); -} - -run(); - -export { - modeFromString, - init, - update, - subscriptions, - run, -} -/* Not a pure module */ diff --git a/bots/sustainabot/bot-integration/src/Report.affine b/bots/sustainabot/bot-integration/src/Report.affine new file mode 100644 index 0000000..6b6650c --- /dev/null +++ b/bots/sustainabot/bot-integration/src/Report.affine @@ -0,0 +1,179 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2024-2026 hyperpolymath +// +// MIGRATED FROM Report.res by hand-port per issue #148 (policy override 2026-05-24). +// Pure string assembly + SARIF JSON construction. Json calls reference +// affinescript#161 (still OPEN). + +open Types + +fn get_grade(score: Float) -> String { + if score >= 90.0 { + "A" + } else if score >= 80.0 { + "B" + } else if score >= 70.0 { + "C" + } else if score >= 60.0 { + "D" + } else { + "F" + } +} + +fn get_grade_emoji(grade: ref String) -> String { + match grade { + "A" => "🏆", + "B" => "✨", + "C" => "👍", + "D" => "⚠️", + _ => "🚨", + } +} + +fn get_status_emoji(score: Float) -> String { + if score >= 70.0 { + "✅" + } else if score >= 50.0 { + "⚠️" + } else { + "❌" + } +} + +fn severity_to_string(s: ref Severity) -> String { + match s { + Blocking => "blocking", + High => "high", + Medium => "medium", + Low => "low", + Info => "info", + } +} + +fn generate_pr_comment(analysis: ref AnalysisResult, mode: ref BotMode) -> String { + let grade = get_grade(analysis.health.total); + let grade_emoji = get_grade_emoji(grade); + + let header = "## 🏛️ Oikos Analysis\n\n"; + + let health_line = "### Overall Health: " ++ grade_emoji ++ " " ++ grade + ++ " (" ++ Float.to_string(analysis.health.total) ++ "/100)\n\n"; + + let score_table = + "| Metric | Score | Status |\n" + ++ "|--------|-------|--------|\n" + ++ "| 🌍 Ecological | " ++ Float.to_string(analysis.eco.score) + ++ " | " ++ get_status_emoji(analysis.eco.score) ++ " |\n" + ++ "| 📊 Economic | " ++ Float.to_string(analysis.econ.score) + ++ " | " ++ get_status_emoji(analysis.econ.score) ++ " |\n" + ++ "| ⚙️ Quality | " ++ Float.to_string(analysis.quality.score) + ++ " | " ++ get_status_emoji(analysis.quality.score) ++ " |\n\n"; + + let violations_section = if Array.length(analysis.violations) > 0 { + let lines = analysis.violations + |> Array.map(fn(v) -> String { + let icon = if v.severity == Blocking { "🚫" } else { "⚠️" }; + icon ++ " **" ++ v.policy ++ "**: " ++ v.message ++ "\n" + }) + |> Array.join(""); + "### ⚠️ Policy Violations\n\n" ++ lines ++ "\n" + } else { + "" + }; + + let recommendations_section = + if Array.length(analysis.recommendations) > 0 && mode != Regulator { + let max_recs = if mode == Consultant { 10 } else { 5 }; + let top_recs = Array.slice(analysis.recommendations, 0, max_recs); + + let lines = top_recs + |> Array.map(fn(r) -> String { + let confidence = Float.to_int(r.confidence *. 100.0); + "- **" ++ r.action ++ "** (" ++ Int.to_string(confidence) + ++ "% confidence): " ++ r.reason ++ "\n" + }) + |> Array.join(""); + "### 💡 Recommendations\n\n" ++ lines ++ "\n" + } else { + "" + }; + + let pareto_section = match analysis.econ.paretoStatus { + Some(ps) => { + let status = if ps.isOptimal { + "✅ This code is on the Pareto frontier - no dominated trade-offs detected.\n\n" + } else { + let improvements = match ps.improvements { + Some(imps) => imps + |> Array.map(fn(i) -> String { "- " ++ i ++ "\n" }) + |> Array.join(""), + None => "", + }; + let imp_block = if improvements != "" { + "Potential Pareto improvements:\n" ++ improvements ++ "\n" + } else { + "" + }; + "📍 Distance from Pareto frontier: " ++ Float.to_string(ps.distance) ++ "\n\n" ++ imp_block + }; + "### 📈 Pareto Analysis\n\n" ++ status + }, + None => "", + }; + + let footer = + "---\n" + ++ "*Analyzed by [Oikos Bot](https://github.com/hyperpolymath/oikos-bot) | " + ++ "Mode: " ++ Config.mode_to_string(mode) ++ " | " + ++ "[Learn more about eco-friendly coding](https://greensoftware.foundation/)*\n"; + + header ++ health_line ++ score_table ++ violations_section ++ recommendations_section ++ pareto_section ++ footer +} + +fn generate_sarif(analysis: ref AnalysisResult) -> Json { + let rules = [ + Json.object_of([ + ("id", Json.string("eco/eco-minimum")), + ("name", Json.string("EcoMinimum")), + ("shortDescription", Json.object_of([ + ("text", Json.string("Eco minimum threshold not met")), + ])), + ]), + Json.object_of([ + ("id", Json.string("eco/eco-standard")), + ("name", Json.string("EcoStandard")), + ("shortDescription", Json.object_of([ + ("text", Json.string("Eco standard threshold not met")), + ])), + ]), + ]; + + let results = analysis.violations + |> Array.map(fn(v) -> Json { + Json.object_of([ + ("ruleId", Json.string("eco/" ++ String.replace_all(v.policy, "_", "-"))), + ("level", Json.string(if v.severity == Blocking { "error" } else { "warning" })), + ("message", Json.object_of([("text", Json.string(v.message))])), + ]) + }); + + Json.object_of([ + ("$schema", Json.string("https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json")), + ("version", Json.string("2.1.0")), + ("runs", Json.array([ + Json.object_of([ + ("tool", Json.object_of([ + ("driver", Json.object_of([ + ("name", Json.string("oikos-bot")), + ("version", Json.string("0.1.0-beta")), + ("informationUri", Json.string("https://github.com/hyperpolymath/oikos-bot")), + ("rules", Json.array(rules)), + ])), + ])), + ("results", Json.array(results)), + ]), + ])), + ]) +} diff --git a/bots/sustainabot/bot-integration/src/Report.res b/bots/sustainabot/bot-integration/src/Report.res deleted file mode 100644 index f0d564b..0000000 --- a/bots/sustainabot/bot-integration/src/Report.res +++ /dev/null @@ -1,212 +0,0 @@ -// Report generation for PR comments and SARIF output - -open Types - -let getGrade = (score: float): string => { - if score >= 90.0 { - "A" - } else if score >= 80.0 { - "B" - } else if score >= 70.0 { - "C" - } else if score >= 60.0 { - "D" - } else { - "F" - } -} - -let getGradeEmoji = (grade: string): string => { - switch grade { - | "A" => "🏆" - | "B" => "✨" - | "C" => "👍" - | "D" => "⚠️" - | _ => "🚨" - } -} - -let getStatusEmoji = (score: float): string => { - if score >= 70.0 { - "✅" - } else if score >= 50.0 { - "⚠️" - } else { - "❌" - } -} - -let severityToString = (s: severity): string => { - switch s { - | Blocking => "blocking" - | High => "high" - | Medium => "medium" - | Low => "low" - | Info => "info" - } -} - -let generatePRComment = (analysis: analysisResult, mode: botMode): string => { - let grade = getGrade(analysis.health.total) - let gradeEmoji = getGradeEmoji(grade) - - let header = `## 🏛️ Oikos Analysis\n\n` - - let healthLine = `### Overall Health: ${gradeEmoji} ${grade} (${Belt.Float.toString( - analysis.health.total, - )}/100)\n\n` - - let scoreTable = - `| Metric | Score | Status |\n` ++ - `|--------|-------|--------|\n` ++ - `| 🌍 Ecological | ${Belt.Float.toString(analysis.eco.score)} | ${getStatusEmoji( - analysis.eco.score, - )} |\n` ++ - `| 📊 Economic | ${Belt.Float.toString(analysis.econ.score)} | ${getStatusEmoji( - analysis.econ.score, - )} |\n` ++ - `| ⚙️ Quality | ${Belt.Float.toString(analysis.quality.score)} | ${getStatusEmoji( - analysis.quality.score, - )} |\n\n` - - // Violations section - let violationsSection = if Belt.Array.length(analysis.violations) > 0 { - let violationLines = - analysis.violations - ->Belt.Array.map(v => { - let icon = v.severity == Blocking ? "🚫" : "⚠️" - `${icon} **${v.policy}**: ${v.message}\n` - }) - ->Belt.Array.joinWith("", s => s) - - `### ⚠️ Policy Violations\n\n${violationLines}\n` - } else { - "" - } - - // Recommendations section (limited by mode) - let recommendationsSection = if Belt.Array.length(analysis.recommendations) > 0 && mode != Regulator { - let maxRecs = mode == Consultant ? 10 : 5 - let topRecs = Belt.Array.slice(analysis.recommendations, ~offset=0, ~len=maxRecs) - - let recLines = - topRecs - ->Belt.Array.map(r => { - let confidence = Belt.Float.toInt(r.confidence *. 100.0) - `- **${r.action}** (${Belt.Int.toString(confidence)}% confidence): ${r.reason}\n` - }) - ->Belt.Array.joinWith("", s => s) - - `### 💡 Recommendations\n\n${recLines}\n` - } else { - "" - } - - // Pareto section - let paretoSection = switch analysis.econ.paretoStatus { - | Some(ps) => - let status = if ps.isOptimal { - `✅ This code is on the Pareto frontier - no dominated trade-offs detected.\n\n` - } else { - let improvements = switch ps.improvements { - | Some(imps) => - imps->Belt.Array.map(i => `- ${i}\n`)->Belt.Array.joinWith("", s => s) - | None => "" - } - `📍 Distance from Pareto frontier: ${Belt.Float.toString(ps.distance)}\n\n` ++ - (improvements != "" ? `Potential Pareto improvements:\n${improvements}\n` : "") - } - `### 📈 Pareto Analysis\n\n${status}` - | None => "" - } - - // Footer - let footer = - `---\n` ++ - `*Analyzed by [Oikos Bot](https://github.com/hyperpolymath/oikos-bot) | ` ++ - `Mode: ${Config.modeToString(mode)} | ` ++ - `[Learn more about eco-friendly coding](https://greensoftware.foundation/)*\n` - - header ++ healthLine ++ scoreTable ++ violationsSection ++ recommendationsSection ++ paretoSection ++ footer -} - -// Generate SARIF for code scanning integration -let generateSARIF = (analysis: analysisResult): Js.Json.t => { - let rules = [ - Js.Dict.fromArray([ - ("id", Js.Json.string("eco/eco-minimum")), - ("name", Js.Json.string("EcoMinimum")), - ( - "shortDescription", - Js.Json.object_( - Js.Dict.fromArray([("text", Js.Json.string("Eco minimum threshold not met"))]), - ), - ), - ]), - Js.Dict.fromArray([ - ("id", Js.Json.string("eco/eco-standard")), - ("name", Js.Json.string("EcoStandard")), - ( - "shortDescription", - Js.Json.object_( - Js.Dict.fromArray([("text", Js.Json.string("Eco standard threshold not met"))]), - ), - ), - ]), - ] - - let results = - analysis.violations->Belt.Array.map(v => { - Js.Dict.fromArray([ - ("ruleId", Js.Json.string(`eco/${Js.String.replace("_", "-", v.policy)}`)), - ("level", Js.Json.string(v.severity == Blocking ? "error" : "warning")), - ( - "message", - Js.Json.object_(Js.Dict.fromArray([("text", Js.Json.string(v.message))])), - ), - ]) - }) - - Js.Json.object_( - Js.Dict.fromArray([ - ( - "$schema", - Js.Json.string( - "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", - ), - ), - ("version", Js.Json.string("2.1.0")), - ( - "runs", - Js.Json.array([ - Js.Json.object_( - Js.Dict.fromArray([ - ( - "tool", - Js.Json.object_( - Js.Dict.fromArray([ - ( - "driver", - Js.Json.object_( - Js.Dict.fromArray([ - ("name", Js.Json.string("oikos-bot")), - ("version", Js.Json.string("0.1.0-beta")), - ( - "informationUri", - Js.Json.string("https://github.com/hyperpolymath/oikos-bot"), - ), - ("rules", Js.Json.array(rules->Belt.Array.map(Js.Json.object_))), - ]), - ), - ), - ]), - ), - ), - ("results", Js.Json.array(results->Belt.Array.map(Js.Json.object_))), - ]), - ), - ]), - ), - ]), - ) -} diff --git a/bots/sustainabot/bot-integration/src/Report.res.js b/bots/sustainabot/bot-integration/src/Report.res.js deleted file mode 100644 index 0af1e64..0000000 --- a/bots/sustainabot/bot-integration/src/Report.res.js +++ /dev/null @@ -1,217 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Config from "./Config.res.js"; -import * as Js_dict from "@rescript/runtime/lib/es6/Js_dict.js"; -import * as Js_string from "@rescript/runtime/lib/es6/Js_string.js"; -import * as Belt_Array from "@rescript/runtime/lib/es6/Belt_Array.js"; - -function getGrade(score) { - if (score >= 90.0) { - return "A"; - } else if (score >= 80.0) { - return "B"; - } else if (score >= 70.0) { - return "C"; - } else if (score >= 60.0) { - return "D"; - } else { - return "F"; - } -} - -function getGradeEmoji(grade) { - switch (grade) { - case "A" : - return "🏆"; - case "B" : - return "✨"; - case "C" : - return "👍"; - case "D" : - return "⚠️"; - default: - return "🚨"; - } -} - -function getStatusEmoji(score) { - if (score >= 70.0) { - return "✅"; - } else if (score >= 50.0) { - return "⚠️"; - } else { - return "❌"; - } -} - -function severityToString(s) { - switch (s) { - case "Blocking" : - return "blocking"; - case "High" : - return "high"; - case "Medium" : - return "medium"; - case "Low" : - return "low"; - case "Info" : - return "info"; - } -} - -function generatePRComment(analysis, mode) { - let grade = getGrade(analysis.health.total); - let gradeEmoji = getGradeEmoji(grade); - let healthLine = `### Overall Health: ` + gradeEmoji + ` ` + grade + ` (` + String(analysis.health.total) + `/100)\n\n`; - let scoreTable = `| Metric | Score | Status |\n|--------|-------|--------|\n` + (`| 🌍 Ecological | ` + String(analysis.eco.score) + ` | ` + getStatusEmoji(analysis.eco.score) + ` |\n`) + (`| 📊 Economic | ` + String(analysis.econ.score) + ` | ` + getStatusEmoji(analysis.econ.score) + ` |\n`) + (`| ⚙️ Quality | ` + String(analysis.quality.score) + ` | ` + getStatusEmoji(analysis.quality.score) + ` |\n\n`); - let violationsSection; - if (analysis.violations.length !== 0) { - let violationLines = Belt_Array.joinWith(Belt_Array.map(analysis.violations, v => { - let icon = v.severity === "Blocking" ? "🚫" : "⚠️"; - return icon + ` **` + v.policy + `**: ` + v.message + `\n`; - }), "", s => s); - violationsSection = `### ⚠️ Policy Violations\n\n` + violationLines + `\n`; - } else { - violationsSection = ""; - } - let recommendationsSection; - if (analysis.recommendations.length !== 0 && mode !== "Regulator") { - let maxRecs = mode === "Consultant" ? 10 : 5; - let topRecs = Belt_Array.slice(analysis.recommendations, 0, maxRecs); - let recLines = Belt_Array.joinWith(Belt_Array.map(topRecs, r => { - let confidence = r.confidence * 100.0 | 0; - return `- **` + r.action + `** (` + String(confidence) + `% confidence): ` + r.reason + `\n`; - }), "", s => s); - recommendationsSection = `### 💡 Recommendations\n\n` + recLines + `\n`; - } else { - recommendationsSection = ""; - } - let ps = analysis.econ.paretoStatus; - let paretoSection; - if (ps !== undefined) { - let status; - if (ps.isOptimal) { - status = `✅ This code is on the Pareto frontier - no dominated trade-offs detected.\n\n`; - } else { - let imps = ps.improvements; - let improvements = imps !== undefined ? Belt_Array.joinWith(Belt_Array.map(imps, i => `- ` + i + `\n`), "", s => s) : ""; - status = `📍 Distance from Pareto frontier: ` + String(ps.distance) + `\n\n` + ( - improvements !== "" ? `Potential Pareto improvements:\n` + improvements + `\n` : "" - ); - } - paretoSection = `### 📈 Pareto Analysis\n\n` + status; - } else { - paretoSection = ""; - } - let footer = `---\n*Analyzed by [Oikos Bot](https://github.com/hyperpolymath/oikos-bot) | ` + (`Mode: ` + Config.modeToString(mode) + ` | `) + `[Learn more about eco-friendly coding](https://greensoftware.foundation/)*\n`; - return `## 🏛️ Oikos Analysis\n\n` + healthLine + scoreTable + violationsSection + recommendationsSection + paretoSection + footer; -} - -function generateSARIF(analysis) { - let rules = [ - Js_dict.fromArray([ - [ - "id", - "eco/eco-minimum" - ], - [ - "name", - "EcoMinimum" - ], - [ - "shortDescription", - Js_dict.fromArray([[ - "text", - "Eco minimum threshold not met" - ]]) - ] - ]), - Js_dict.fromArray([ - [ - "id", - "eco/eco-standard" - ], - [ - "name", - "EcoStandard" - ], - [ - "shortDescription", - Js_dict.fromArray([[ - "text", - "Eco standard threshold not met" - ]]) - ] - ]) - ]; - let results = Belt_Array.map(analysis.violations, v => Js_dict.fromArray([ - [ - "ruleId", - `eco/` + Js_string.replace("_", "-", v.policy) - ], - [ - "level", - v.severity === "Blocking" ? "error" : "warning" - ], - [ - "message", - Js_dict.fromArray([[ - "text", - v.message - ]]) - ] - ])); - return Js_dict.fromArray([ - [ - "$schema", - "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json" - ], - [ - "version", - "2.1.0" - ], - [ - "runs", - [Js_dict.fromArray([ - [ - "tool", - Js_dict.fromArray([[ - "driver", - Js_dict.fromArray([ - [ - "name", - "oikos-bot" - ], - [ - "version", - "0.1.0-beta" - ], - [ - "informationUri", - "https://github.com/hyperpolymath/oikos-bot" - ], - [ - "rules", - Belt_Array.map(rules, prim => prim) - ] - ]) - ]]) - ], - [ - "results", - Belt_Array.map(results, prim => prim) - ] - ])] - ] - ]); -} - -export { - getGrade, - getGradeEmoji, - getStatusEmoji, - severityToString, - generatePRComment, - generateSARIF, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/src/Router.affine b/bots/sustainabot/bot-integration/src/Router.affine new file mode 100644 index 0000000..293c407 --- /dev/null +++ b/bots/sustainabot/bot-integration/src/Router.affine @@ -0,0 +1,182 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell +// +// MIGRATED FROM Router.res by hand-port per issue #148 (policy override 2026-05-24). +// HTTP router for Oikos Bot. + +type Method = + | GET + | POST + | PUT + | DELETE + | PATCH + | OPTIONS + | HEAD + +// Handler / middleware as effect-row function aliases. The actual effect +// row is supplied at each call site; this alias is shape-only. +type Handler = fn(Http.Request) -{IO + Http}-> Http.Response + +type Middleware = + fn(Http.Request, fn() -{IO + Http}-> Http.Response) -{IO + Http}-> Http.Response + +type Route = { + method: Method, + path: String, + handler: Handler, +} + +type Router = { + routes: Array[Route], + middlewares: Array[Middleware], + notFoundHandler: Option[Handler], +} + +fn make() -> Router { + Router #{ + routes: [], + middlewares: [], + notFoundHandler: None, + } +} + +fn method_to_string(method: ref Method) -> String { + match method { + GET => "GET", + POST => "POST", + PUT => "PUT", + DELETE => "DELETE", + PATCH => "PATCH", + OPTIONS => "OPTIONS", + HEAD => "HEAD", + } +} + +fn method_from_string(s: ref String) -> Option[Method] { + match s { + "GET" => Some(GET), + "POST" => Some(POST), + "PUT" => Some(PUT), + "DELETE" => Some(DELETE), + "PATCH" => Some(PATCH), + "OPTIONS" => Some(OPTIONS), + "HEAD" => Some(HEAD), + _ => None, + } +} + +// Path matching with named parameters (":id" style). +fn match_path(pattern: ref String, path: ref String) -> Option[Dict[String, String]] { + let pattern_parts = String.split(pattern, "/") |> Array.filter(fn(p) -> Bool { p != "" }); + let path_parts = String.split(path, "/") |> Array.filter(fn(p) -> Bool { p != "" }); + + if Array.length(pattern_parts) != Array.length(path_parts) { + None + } else { + let params: mut Dict[String, String] = Dict.empty(); + let matches: mut Bool = true; + + Array.iter_indexed(pattern_parts, fn(i, pattern_part) -{Mut}-> () { + let path_part = Array.get(path_parts, i); + if String.starts_with(pattern_part, ":") { + let param_name = String.slice_from(pattern_part, 1); + Dict.set(params, param_name, path_part); + } else if pattern_part != path_part { + matches := false; + } + }); + + if matches { + Some(params) + } else { + None + } + } +} + +fn add_route(router: Router, method: Method, path: String, handler: Handler) -> Router { + let new_route = Route #{ method: method, path: path, handler: handler }; + Router #{ ..router, routes: Array.append(router.routes, [new_route]) } +} + +fn get(router: Router, path: String, handler: Handler) -> Router { + add_route(router, GET, path, handler) +} + +fn post(router: Router, path: String, handler: Handler) -> Router { + add_route(router, POST, path, handler) +} + +fn put(router: Router, path: String, handler: Handler) -> Router { + add_route(router, PUT, path, handler) +} + +fn delete(router: Router, path: String, handler: Handler) -> Router { + add_route(router, DELETE, path, handler) +} + +fn patch(router: Router, path: String, handler: Handler) -> Router { + add_route(router, PATCH, path, handler) +} + +fn options(router: Router, path: String, handler: Handler) -> Router { + add_route(router, OPTIONS, path, handler) +} + +fn use_middleware(router: Router, middleware: Middleware) -> Router { + Router #{ ..router, middlewares: Array.append(router.middlewares, [middleware]) } +} + +fn not_found(router: Router, handler: Handler) -> Router { + Router #{ ..router, notFoundHandler: Some(handler) } +} + +fn handle(router: ref Router, req: Http.Request) -{IO + Http}-> Http.Response { + let method_str = Http.Request.method(req); + let url = Http.Request.url(req); + let path = Http.Url.pathname(Http.Url.parse(url)); + + let method_enum = method_from_string(method_str); + + match method_enum { + None => Http.Response.make("Method not allowed", #{ status: 405 }), + Some(m) => { + let matching_route: mut Option[Route] = None; + + Array.iter(router.routes, fn(route) -{Mut}-> () { + if route.method == m { + match match_path(route.path, path) { + Some(_params) => { matching_route := Some(route) }, + None => (), + } + } + }); + + match matching_route { + None => match router.notFoundHandler { + Some(handler) => handler(req), + None => Http.Response.make("Not Found", #{ status: 404 }), + }, + Some(route) => { + let final_handler = fn() -{IO + Http}-> Http.Response { route.handler(req) }; + let wrapped = Array.fold_right( + router.middlewares, + final_handler, + fn(middleware, next) -> fn() -{IO + Http}-> Http.Response { + fn() -{IO + Http}-> Http.Response { middleware(req, next) } + }, + ); + wrapped() + }, + } + }, + } +} + +fn serve(router: Router, port: Int) -{IO + Http}-> () { + Http.serve( + #{ port: port }, + fn(req) -{IO + Http}-> Http.Response { handle(router, req) }, + ) +} diff --git a/bots/sustainabot/bot-integration/src/Router.res b/bots/sustainabot/bot-integration/src/Router.res deleted file mode 100644 index 74aeba1..0000000 --- a/bots/sustainabot/bot-integration/src/Router.res +++ /dev/null @@ -1,190 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell -// -// HTTP Router for Oikos Bot -// Adapted from hyperpolymath/rescript-wasm-runtime - -type method = GET | POST | PUT | DELETE | PATCH | OPTIONS | HEAD - -type handler = Deno.Request.t => promise - -type middleware = (Deno.Request.t, unit => promise) => promise - -type route = { - method: method, - path: string, - handler: handler, -} - -type t = { - routes: array, - middlewares: array, - notFoundHandler: option, -} - -let make = (): t => { - routes: [], - middlewares: [], - notFoundHandler: None, -} - -let methodToString = (method: method): string => { - switch method { - | GET => "GET" - | POST => "POST" - | PUT => "PUT" - | DELETE => "DELETE" - | PATCH => "PATCH" - | OPTIONS => "OPTIONS" - | HEAD => "HEAD" - } -} - -let methodFromString = (str: string): option => { - switch str { - | "GET" => Some(GET) - | "POST" => Some(POST) - | "PUT" => Some(PUT) - | "DELETE" => Some(DELETE) - | "PATCH" => Some(PATCH) - | "OPTIONS" => Some(OPTIONS) - | "HEAD" => Some(HEAD) - | _ => None - } -} - -// Path matching with named parameters -let matchPath = (pattern: string, path: string): option> => { - let patternParts = pattern->Js.String2.split("/")->Js.Array2.filter(p => p !== "") - let pathParts = path->Js.String2.split("/")->Js.Array2.filter(p => p !== "") - - if Js.Array2.length(patternParts) !== Js.Array2.length(pathParts) { - None - } else { - let params = Js.Dict.empty() - let matches = ref(true) - - patternParts->Js.Array2.forEachi((patternPart, i) => { - let pathPart = pathParts->Js.Array2.unsafe_get(i) - - if Js.String2.startsWith(patternPart, ":") { - let paramName = Js.String2.sliceToEnd(patternPart, ~from=1) - Js.Dict.set(params, paramName, pathPart) - } else if patternPart !== pathPart { - matches := false - } - }) - - if matches.contents { - Some(params) - } else { - None - } - } -} - -// Add route -let addRoute = (router: t, method: method, path: string, handler: handler): t => { - let newRoute = {method, path, handler} - {...router, routes: router.routes->Js.Array2.concat([newRoute])} -} - -// Route registration helpers -let get = (router: t, path: string, handler: handler): t => { - addRoute(router, GET, path, handler) -} - -let post = (router: t, path: string, handler: handler): t => { - addRoute(router, POST, path, handler) -} - -let put = (router: t, path: string, handler: handler): t => { - addRoute(router, PUT, path, handler) -} - -let delete = (router: t, path: string, handler: handler): t => { - addRoute(router, DELETE, path, handler) -} - -let patch = (router: t, path: string, handler: handler): t => { - addRoute(router, PATCH, path, handler) -} - -let options = (router: t, path: string, handler: handler): t => { - addRoute(router, OPTIONS, path, handler) -} - -// Add middleware -let use = (router: t, middleware: middleware): t => { - {...router, middlewares: router.middlewares->Js.Array2.concat([middleware])} -} - -// Set custom 404 handler -let notFound = (router: t, handler: handler): t => { - {...router, notFoundHandler: Some(handler)} -} - -// URL parsing helper -module Url = { - type t - @new external make: string => t = "URL" - @get external pathname: t => string = "pathname" -} - -// Handle request -let handle = async (router: t, req: Deno.Request.t): Deno.Response.t => { - let methodStr = Deno.Request.method_(req) - let url = Deno.Request.url(req) - let urlObj = Url.make(url) - let path = Url.pathname(urlObj) - - let methodEnum = methodFromString(methodStr) - - switch methodEnum { - | None => Deno.Response.make("Method not allowed", {"status": 405}) - | Some(m) => { - // Find matching route - let matchingRoute = ref(None) - - router.routes->Js.Array2.forEach(route => { - if route.method === m { - switch matchPath(route.path, path) { - | Some(_params) => matchingRoute := Some(route) - | None => () - } - } - }) - - switch matchingRoute.contents { - | None => { - // No route found, use 404 handler - switch router.notFoundHandler { - | Some(handler) => await handler(req) - | None => Deno.Response.make("Not Found", {"status": 404}) - } - } - | Some(route) => { - // Apply middlewares (in reverse order to build the chain) - let finalHandler = () => route.handler(req) - - let wrappedHandler = router.middlewares->Js.Array2.reduceRight( - (next, middleware) => { - () => middleware(req, next) - }, - finalHandler, - ) - - await wrappedHandler() - } - } - } - } -} - -// Start server with router -let serve = (router: t, ~port: int) => { - Deno.serve( - {"port": port}, - async (req) => await handle(router, req), - ) -} diff --git a/bots/sustainabot/bot-integration/src/Router.res.js b/bots/sustainabot/bot-integration/src/Router.res.js deleted file mode 100644 index c247655..0000000 --- a/bots/sustainabot/bot-integration/src/Router.res.js +++ /dev/null @@ -1,199 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - - -function make() { - return { - routes: [], - middlewares: [], - notFoundHandler: undefined - }; -} - -function methodToString(method) { - switch (method) { - case "GET" : - return "GET"; - case "POST" : - return "POST"; - case "PUT" : - return "PUT"; - case "DELETE" : - return "DELETE"; - case "PATCH" : - return "PATCH"; - case "OPTIONS" : - return "OPTIONS"; - case "HEAD" : - return "HEAD"; - } -} - -function methodFromString(str) { - switch (str) { - case "DELETE" : - return "DELETE"; - case "GET" : - return "GET"; - case "HEAD" : - return "HEAD"; - case "OPTIONS" : - return "OPTIONS"; - case "PATCH" : - return "PATCH"; - case "POST" : - return "POST"; - case "PUT" : - return "PUT"; - default: - return; - } -} - -function matchPath(pattern, path) { - let patternParts = pattern.split("/").filter(p => p !== ""); - let pathParts = path.split("/").filter(p => p !== ""); - if (patternParts.length !== pathParts.length) { - return; - } - let params = {}; - let matches = { - contents: true - }; - patternParts.forEach((patternPart, i) => { - let pathPart = pathParts[i]; - if (!patternPart.startsWith(":")) { - if (patternPart !== pathPart) { - matches.contents = false; - return; - } else { - return; - } - } - let paramName = patternPart.slice(1); - params[paramName] = pathPart; - }); - if (matches.contents) { - return params; - } -} - -function addRoute(router, method, path, handler) { - let newRoute = { - method: method, - path: path, - handler: handler - }; - return { - routes: router.routes.concat([newRoute]), - middlewares: router.middlewares, - notFoundHandler: router.notFoundHandler - }; -} - -function get(router, path, handler) { - return addRoute(router, "GET", path, handler); -} - -function post(router, path, handler) { - return addRoute(router, "POST", path, handler); -} - -function put(router, path, handler) { - return addRoute(router, "PUT", path, handler); -} - -function $$delete(router, path, handler) { - return addRoute(router, "DELETE", path, handler); -} - -function patch(router, path, handler) { - return addRoute(router, "PATCH", path, handler); -} - -function options(router, path, handler) { - return addRoute(router, "OPTIONS", path, handler); -} - -function use(router, middleware) { - return { - routes: router.routes, - middlewares: router.middlewares.concat([middleware]), - notFoundHandler: router.notFoundHandler - }; -} - -function notFound(router, handler) { - return { - routes: router.routes, - middlewares: router.middlewares, - notFoundHandler: handler - }; -} - -let Url = {}; - -async function handle(router, req) { - let methodStr = req.method; - let url = req.url; - let urlObj = new URL(url); - let path = urlObj.pathname; - let methodEnum = methodFromString(methodStr); - if (methodEnum === undefined) { - return new (globalThis.Response)("Method not allowed", { - status: 405 - }); - } - let matchingRoute = { - contents: undefined - }; - router.routes.forEach(route => { - if (route.method !== methodEnum) { - return; - } - let _params = matchPath(route.path, path); - if (_params !== undefined) { - matchingRoute.contents = route; - return; - } - }); - let route = matchingRoute.contents; - if (route !== undefined) { - let finalHandler = () => route.handler(req); - let wrappedHandler = router.middlewares.reduceRight((next, middleware) => (() => middleware(req, next)), finalHandler); - return await wrappedHandler(); - } - let handler = router.notFoundHandler; - if (handler !== undefined) { - return await handler(req); - } else { - return new (globalThis.Response)("Not Found", { - status: 404 - }); - } -} - -function serve(router, port) { - return Deno.serve({ - port: port - }, async req => await handle(router, req)); -} - -export { - make, - methodToString, - methodFromString, - matchPath, - addRoute, - get, - post, - put, - $$delete, - patch, - options, - use, - notFound, - Url, - handle, - serve, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/src/Types.affine b/bots/sustainabot/bot-integration/src/Types.affine new file mode 100644 index 0000000..00a3253 --- /dev/null +++ b/bots/sustainabot/bot-integration/src/Types.affine @@ -0,0 +1,136 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2024-2026 hyperpolymath +// +// MIGRATED FROM Types.res by hand-port per issue #148 (policy override 2026-05-24). +// Upstream blockers affinescript#161 (portable Json) and #162 (Dict/Map) remain OPEN; +// `Json` and `Dict[K, V]` here are placeholder names pending those primitives landing. + +type CodeLocation = { + file: String, + line: Int, + column: Option[Int], +} + +type EcoMetrics = { + carbonScore: Float, + energyScore: Float, + resourceScore: Float, + score: Float, +} + +type ParetoStatus = { + isOptimal: Bool, + distance: Float, + improvements: Option[Array[String]], +} + +type EconMetrics = { + paretoDistance: Float, + allocationScore: Float, + debtScore: Float, + score: Float, + paretoStatus: Option[ParetoStatus], +} + +type QualityMetrics = { + complexityScore: Float, + couplingScore: Float, + coverageScore: Float, + score: Float, +} + +type HealthIndex = { + eco: Float, + econ: Float, + quality: Float, + total: Float, + grade: String, +} + +type Severity = + | Blocking + | High + | Medium + | Low + | Info + +type PolicyViolation = { + entityId: String, + policy: String, + severity: Severity, + message: String, + location: Option[CodeLocation], + suggestions: Array[String], +} + +type Priority = + | PriorityHigh + | PriorityMedium + | PriorityLow + +type Recommendation = { + entityId: String, + action: String, + reason: String, + priority: Priority, + confidence: Float, + // affinescript#162: Dict[String, Float] is a placeholder until Dict lands. + expectedImprovement: Dict[String, Float], +} + +type AnalysisResult = { + eco: EcoMetrics, + econ: EconMetrics, + quality: QualityMetrics, + health: HealthIndex, + violations: Array[PolicyViolation], + recommendations: Array[Recommendation], + timestamp: String, + commitSha: Option[String], +} + +type BotMode = + | Consultant + | Advisor + | Regulator + +type Platform = + | GitHub + | GitLab + +type RepositoryInfo = { + owner: String, + name: String, + url: String, +} + +type WebhookEvent = { + platform: Platform, + eventType: String, + action: Option[String], + repository: RepositoryInfo, + // affinescript#161: Json is a placeholder until the portable Json primitive lands. + payload: Json, +} + +type InstallationToken = { + token: String, + expiresAt: Float, +} + +type JwtClaims = { + iss: String, + iat: Float, + exp: Float, +} + +type Config = { + port: Int, + mode: BotMode, + analysisEndpoint: String, + githubWebhookSecret: Option[String], + gitlabWebhookSecret: Option[String], + githubAppId: Option[String], + githubPrivateKey: Option[String], +} diff --git a/bots/sustainabot/bot-integration/src/Types.res b/bots/sustainabot/bot-integration/src/Types.res deleted file mode 100644 index 07c3926..0000000 --- a/bots/sustainabot/bot-integration/src/Types.res +++ /dev/null @@ -1,135 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2024-2025 hyperpolymath -// -// Core types for Oikos Bot analysis - -type codeLocation = { - file: string, - line: int, - column: option, -} - -type ecoMetrics = { - carbonScore: float, - energyScore: float, - resourceScore: float, - score: float, -} - -type paretoStatus = { - isOptimal: bool, - distance: float, - improvements: option>, -} - -type econMetrics = { - paretoDistance: float, - allocationScore: float, - debtScore: float, - score: float, - paretoStatus: option, -} - -type qualityMetrics = { - complexityScore: float, - couplingScore: float, - coverageScore: float, - score: float, -} - -type healthIndex = { - eco: float, - econ: float, - quality: float, - total: float, - grade: string, -} - -type severity = - | Blocking - | High - | Medium - | Low - | Info - -type policyViolation = { - entityId: string, - policy: string, - severity: severity, - message: string, - location: option, - suggestions: array, -} - -type priority = - | PriorityHigh - | PriorityMedium - | PriorityLow - -type recommendation = { - entityId: string, - action: string, - reason: string, - priority: priority, - confidence: float, - expectedImprovement: Js.Dict.t, -} - -type analysisResult = { - eco: ecoMetrics, - econ: econMetrics, - quality: qualityMetrics, - health: healthIndex, - violations: array, - recommendations: array, - timestamp: string, - commitSha: option, -} - -// Bot modes -type botMode = - | Consultant // Answers questions, provides alternatives - | Advisor // Proactive suggestions on PRs - | Regulator // Enforces policy compliance - -// Webhook event types -type platform = - | GitHub - | GitLab - -type repositoryInfo = { - owner: string, - name: string, - url: string, -} - -type webhookEvent = { - platform: platform, - eventType: string, - action: option, - repository: repositoryInfo, - payload: Js.Json.t, -} - -// GitHub App Authentication -type installationToken = { - token: string, - expiresAt: float, // Unix timestamp in milliseconds -} - -type jwtClaims = { - iss: string, // App ID - iat: float, // Issued at (Unix seconds) - exp: float, // Expires at (Unix seconds) -} - -// Configuration -type config = { - port: int, - mode: botMode, - analysisEndpoint: string, - githubWebhookSecret: option, - gitlabWebhookSecret: option, - githubAppId: option, - githubPrivateKey: option, -} diff --git a/bots/sustainabot/bot-integration/src/Types.res.js b/bots/sustainabot/bot-integration/src/Types.res.js deleted file mode 100644 index d856702..0000000 --- a/bots/sustainabot/bot-integration/src/Types.res.js +++ /dev/null @@ -1,2 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE -/* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */ diff --git a/bots/sustainabot/bot-integration/src/Webhook.affine b/bots/sustainabot/bot-integration/src/Webhook.affine new file mode 100644 index 0000000..be4e942 --- /dev/null +++ b/bots/sustainabot/bot-integration/src/Webhook.affine @@ -0,0 +1,144 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2024-2026 hyperpolymath +// +// MIGRATED FROM Webhook.res by hand-port per issue #148 (policy override 2026-05-24). +// HMAC verification uses the IO effect once #103 (Async-extern ABI) lowers +// Web Crypto into the standard handler set. + +open Types + +// GitHub uses HMAC-SHA256 over the raw request body. +fn verify_github_signature( + payload: ref String, + signature: ref String, + secret: ref String, +) -{IO + Exn[CryptoError]}-> Bool { + let key_data = Bytes.from_utf8(secret); + let data = Bytes.from_utf8(payload); + + let key = Crypto.import_key( + "raw", + key_data, + #{ name: "HMAC", hash: "SHA-256" }, + false, + ["sign", "verify"], + ); + + let signature_bytes = Bytes.from_utf8(String.replace(signature, "sha256=", "")); + Crypto.verify("HMAC", key, signature_bytes, data) +} + +fn verify_gitlab_token(token: ref String, secret: ref String) -> Bool { + token == secret +} + +// affinescript#161: Json placeholder until portable Json primitive lands. +fn parse_github_event( + headers: ref Dict[String, String], + payload: ref Json, +) -> Option[WebhookEvent] { + let event_type = Dict.get(headers, "x-github-event"); + let action = match Json.decode_object(payload) { + Some(obj) => match Dict.get(obj, "action") { + Some(a) => Json.decode_string(a), + None => None, + }, + None => None, + }; + + match event_type { + Some(et) => { + let repo = match Json.decode_object(payload) { + Some(obj) => match Dict.get(obj, "repository") { + Some(r) => match Json.decode_object(r) { + Some(repo_obj) => { + let owner = match Dict.get(repo_obj, "owner") { + Some(o) => match Json.decode_object(o) { + Some(owner_obj) => match Dict.get(owner_obj, "login") { + Some(l) => Option.unwrap_or(Json.decode_string(l), ""), + None => "", + }, + None => "", + }, + None => "", + }; + let name = match Dict.get(repo_obj, "name") { + Some(n) => Option.unwrap_or(Json.decode_string(n), ""), + None => "", + }; + let url = match Dict.get(repo_obj, "html_url") { + Some(u) => Option.unwrap_or(Json.decode_string(u), ""), + None => "", + }; + Some(RepositoryInfo #{ owner: owner, name: name, url: url }) + }, + None => None, + }, + None => None, + }, + None => None, + }; + + match repo { + Some(r) => Some(WebhookEvent #{ + platform: GitHub, + eventType: et, + action: action, + repository: r, + payload: payload, + }), + None => None, + } + }, + None => None, + } +} + +fn parse_gitlab_event( + headers: ref Dict[String, String], + payload: ref Json, +) -> Option[WebhookEvent] { + let event_type = Dict.get(headers, "x-gitlab-event"); + + match event_type { + Some(et) => { + let repo = match Json.decode_object(payload) { + Some(obj) => match Dict.get(obj, "project") { + Some(p) => match Json.decode_object(p) { + Some(proj_obj) => { + let namespace = match Dict.get(proj_obj, "namespace") { + Some(n) => Option.unwrap_or(Json.decode_string(n), ""), + None => "", + }; + let name = match Dict.get(proj_obj, "name") { + Some(n) => Option.unwrap_or(Json.decode_string(n), ""), + None => "", + }; + let url = match Dict.get(proj_obj, "web_url") { + Some(u) => Option.unwrap_or(Json.decode_string(u), ""), + None => "", + }; + Some(RepositoryInfo #{ owner: namespace, name: name, url: url }) + }, + None => None, + }, + None => None, + }, + None => None, + }; + + match repo { + Some(r) => Some(WebhookEvent #{ + platform: GitLab, + eventType: et, + action: None, + repository: r, + payload: payload, + }), + None => None, + } + }, + None => None, + } +} diff --git a/bots/sustainabot/bot-integration/src/Webhook.res b/bots/sustainabot/bot-integration/src/Webhook.res deleted file mode 100644 index 0dc4a76..0000000 --- a/bots/sustainabot/bot-integration/src/Webhook.res +++ /dev/null @@ -1,150 +0,0 @@ -// Webhook signature verification and parsing - -open Deno - -let verifyGitHubSignature = async ( - payload: string, - signature: string, - secret: string, -): bool => { - // GitHub uses HMAC-SHA256 - let encoder = TextEncoder.make() - let keyData = encoder->TextEncoder.encode(secret) - let data = encoder->TextEncoder.encode(payload) - - let key = await Crypto.subtle->Crypto.importKey( - "raw", - keyData, - {"name": "HMAC", "hash": "SHA-256"}, - false, - ["sign", "verify"], - ) - - let signatureBytes = encoder->TextEncoder.encode( - Js.String.replace("sha256=", "", signature), - ) - - await Crypto.subtle->Crypto.verify("HMAC", key, signatureBytes, data) -} - -let verifyGitLabToken = (token: string, secret: string): bool => { - token == secret -} - -let parseGitHubEvent = ( - headers: Js.Dict.t, - payload: Js.Json.t, -): option => { - let eventType = Js.Dict.get(headers, "x-github-event") - let action = switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "action") { - | Some(a) => Js.Json.decodeString(a) - | None => None - } - | None => None - } - - switch eventType { - | Some(et) => - // Extract repository info - let repo = switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "repository") { - | Some(r) => - switch Js.Json.decodeObject(r) { - | Some(repoObj) => { - let owner = switch Js.Dict.get(repoObj, "owner") { - | Some(o) => - switch Js.Json.decodeObject(o) { - | Some(ownerObj) => - switch Js.Dict.get(ownerObj, "login") { - | Some(l) => Js.Json.decodeString(l)->Belt.Option.getWithDefault("") - | None => "" - } - | None => "" - } - | None => "" - } - let name = switch Js.Dict.get(repoObj, "name") { - | Some(n) => Js.Json.decodeString(n)->Belt.Option.getWithDefault("") - | None => "" - } - let url = switch Js.Dict.get(repoObj, "html_url") { - | Some(u) => Js.Json.decodeString(u)->Belt.Option.getWithDefault("") - | None => "" - } - Some({Types.owner, name, url}) - } - | None => None - } - | None => None - } - | None => None - } - - switch repo { - | Some(r) => - Some({ - Types.platform: Types.GitHub, - eventType: et, - action, - repository: r, - payload, - }) - | None => None - } - | None => None - } -} - -let parseGitLabEvent = ( - headers: Js.Dict.t, - payload: Js.Json.t, -): option => { - let eventType = Js.Dict.get(headers, "x-gitlab-event") - - switch eventType { - | Some(et) => - // Extract project info - let repo = switch Js.Json.decodeObject(payload) { - | Some(obj) => - switch Js.Dict.get(obj, "project") { - | Some(p) => - switch Js.Json.decodeObject(p) { - | Some(projObj) => { - let namespace = switch Js.Dict.get(projObj, "namespace") { - | Some(n) => Js.Json.decodeString(n)->Belt.Option.getWithDefault("") - | None => "" - } - let name = switch Js.Dict.get(projObj, "name") { - | Some(n) => Js.Json.decodeString(n)->Belt.Option.getWithDefault("") - | None => "" - } - let url = switch Js.Dict.get(projObj, "web_url") { - | Some(u) => Js.Json.decodeString(u)->Belt.Option.getWithDefault("") - | None => "" - } - Some({Types.owner: namespace, name, url}) - } - | None => None - } - | None => None - } - | None => None - } - - switch repo { - | Some(r) => - Some({ - Types.platform: Types.GitLab, - eventType: et, - action: None, - repository: r, - payload, - }) - | None => None - } - | None => None - } -} diff --git a/bots/sustainabot/bot-integration/src/Webhook.res.js b/bots/sustainabot/bot-integration/src/Webhook.res.js deleted file mode 100644 index a419a8f..0000000 --- a/bots/sustainabot/bot-integration/src/Webhook.res.js +++ /dev/null @@ -1,138 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Js_dict from "@rescript/runtime/lib/es6/Js_dict.js"; -import * as Js_json from "@rescript/runtime/lib/es6/Js_json.js"; -import * as Js_string from "@rescript/runtime/lib/es6/Js_string.js"; -import * as Belt_Option from "@rescript/runtime/lib/es6/Belt_Option.js"; - -async function verifyGitHubSignature(payload, signature, secret) { - let encoder = new (globalThis.TextEncoder)(); - let keyData = encoder.encode(secret); - let data = encoder.encode(payload); - let key = await globalThis.crypto.subtle.importKey("raw", keyData, { - name: "HMAC", - hash: "SHA-256" - }, false, [ - "sign", - "verify" - ]); - let signatureBytes = encoder.encode(Js_string.replace("sha256=", "", signature)); - return await globalThis.crypto.subtle.verify("HMAC", key, signatureBytes, data); -} - -function verifyGitLabToken(token, secret) { - return token === secret; -} - -function parseGitHubEvent(headers, payload) { - let eventType = Js_dict.get(headers, "x-github-event"); - let obj = Js_json.decodeObject(payload); - let action; - if (obj !== undefined) { - let a = Js_dict.get(obj, "action"); - action = a !== undefined ? Js_json.decodeString(a) : undefined; - } else { - action = undefined; - } - if (eventType === undefined) { - return; - } - let obj$1 = Js_json.decodeObject(payload); - let repo; - if (obj$1 !== undefined) { - let r = Js_dict.get(obj$1, "repository"); - if (r !== undefined) { - let repoObj = Js_json.decodeObject(r); - if (repoObj !== undefined) { - let o = Js_dict.get(repoObj, "owner"); - let owner; - if (o !== undefined) { - let ownerObj = Js_json.decodeObject(o); - if (ownerObj !== undefined) { - let l = Js_dict.get(ownerObj, "login"); - owner = l !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(l), "") : ""; - } else { - owner = ""; - } - } else { - owner = ""; - } - let n = Js_dict.get(repoObj, "name"); - let name = n !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(n), "") : ""; - let u = Js_dict.get(repoObj, "html_url"); - let url = u !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(u), "") : ""; - repo = { - owner: owner, - name: name, - url: url - }; - } else { - repo = undefined; - } - } else { - repo = undefined; - } - } else { - repo = undefined; - } - if (repo !== undefined) { - return { - platform: "GitHub", - eventType: eventType, - action: action, - repository: repo, - payload: payload - }; - } -} - -function parseGitLabEvent(headers, payload) { - let eventType = Js_dict.get(headers, "x-gitlab-event"); - if (eventType === undefined) { - return; - } - let obj = Js_json.decodeObject(payload); - let repo; - if (obj !== undefined) { - let p = Js_dict.get(obj, "project"); - if (p !== undefined) { - let projObj = Js_json.decodeObject(p); - if (projObj !== undefined) { - let n = Js_dict.get(projObj, "namespace"); - let namespace = n !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(n), "") : ""; - let n$1 = Js_dict.get(projObj, "name"); - let name = n$1 !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(n$1), "") : ""; - let u = Js_dict.get(projObj, "web_url"); - let url = u !== undefined ? Belt_Option.getWithDefault(Js_json.decodeString(u), "") : ""; - repo = { - owner: namespace, - name: name, - url: url - }; - } else { - repo = undefined; - } - } else { - repo = undefined; - } - } else { - repo = undefined; - } - if (repo !== undefined) { - return { - platform: "GitLab", - eventType: eventType, - action: undefined, - repository: repo, - payload: payload - }; - } -} - -export { - verifyGitHubSignature, - verifyGitLabToken, - parseGitHubEvent, - parseGitLabEvent, -} -/* No side effect */ diff --git a/bots/sustainabot/bot-integration/src/tea/ServerTea.affine b/bots/sustainabot/bot-integration/src/tea/ServerTea.affine new file mode 100644 index 0000000..a5da470 --- /dev/null +++ b/bots/sustainabot/bot-integration/src/tea/ServerTea.affine @@ -0,0 +1,178 @@ +// face: affinescript +// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell +// +// MIGRATED FROM tea/ServerTea.res by hand-port per issue #148 (policy override 2026-05-24). +// Server-side TEA (The Elm Architecture) — model/update/subscriptions for backend services. +// The dispatch loop here uses `mut` cells for runtime state; the affine +// checker will require these to be either captured by single owner or +// wrapped in handler state once #59 (Effect-row v1) is integrated. + +module Cmd { + type T[M] = + | None + | Batch(Array[T[M]]) + | Perform(fn() -{IO}-> M) + | PerformWithDispatch(fn(fn(M) -> ()) -{IO}-> ()) + + fn none[M]() -> T[M] { + None + } + + fn batch[M](cmds: Array[T[M]]) -> T[M] { + Batch(cmds) + } + + fn perform[T, M](task: fn() -{IO}-> T, to_msg: fn(T) -> M) -> T[M] { + Perform(fn() -{IO}-> M { to_msg(task()) }) + } + + fn attempt[T, M](task: fn() -{IO + Exn[E]}-> T, to_msg: fn(Result[T, E]) -> M) -> T[M] { + Perform(fn() -{IO}-> M { + try { + to_msg(Ok(task())) + } catch { + e => to_msg(Err(e)), + } + }) + } + + fn with_dispatch[M](f: fn(fn(M) -> ()) -{IO}-> ()) -> T[M] { + PerformWithDispatch(f) + } +} + +module Sub { + type T[M] = + | None + | Batch(Array[T[M]]) + | HttpServer(Int, fn(Json) -> Option[M]) + | Interval(Int, fn() -> M) + + fn none[M]() -> T[M] { + None + } + + fn batch[M](subs: Array[T[M]]) -> T[M] { + Batch(subs) + } + + fn http_server[M](port: Int, handler: fn(Json) -> Option[M]) -> T[M] { + HttpServer(port, handler) + } + + fn every[M](ms: Int, to_msg: fn() -> M) -> T[M] { + Interval(ms, to_msg) + } +} + +module Runtime { + type State[Model, Msg] = { + model: mut Model, + subscriptions: mut Array[Sub.T[Msg]], + running: mut Bool, + http_server: mut Option[Http.Server], + intervals: mut Array[Time.IntervalId], + } + + fn execute_cmd[Model, Msg]( + cmd: ref Cmd.T[Msg], + dispatch: fn(Msg) -> (), + ) -{IO}-> () { + match cmd { + Cmd.None => (), + Cmd.Batch(cmds) => Array.iter(cmds, fn(c) -{IO}-> () { + execute_cmd(c, dispatch); + }), + Cmd.Perform(task) => { + let msg = task(); + dispatch(msg); + }, + Cmd.PerformWithDispatch(f) => f(dispatch), + } + } + + type Handle[Model, Msg] = { + dispatch: fn(Msg) -> (), + get_model: fn() -> Model, + stop: fn() -{IO}-> (), + } + + fn make[Model, Msg, Flags]( + init: fn(Flags) -> (Model, Cmd.T[Msg]), + update: fn(Msg, Model) -> (Model, Cmd.T[Msg]), + subscriptions: fn(Model) -> Sub.T[Msg], + flags: Flags, + ) -{IO + Http}-> Handle[Model, Msg] { + let (initial_model, initial_cmd) = init(flags); + + let state = State #{ + model: initial_model, + subscriptions: [], + running: true, + http_server: None, + intervals: [], + }; + + let rec dispatch = fn(msg: Msg) -{IO}-> () { + if state.running { + let (new_model, cmd) = update(msg, state.model); + state.model := new_model; + execute_cmd(cmd, dispatch); + update_subscriptions(); + } + } + and update_subscriptions = fn() -{IO}-> () { + let new_subs = subscriptions(state.model); + state.subscriptions := [new_subs]; + } + and start_subscription = fn(sub: Sub.T[Msg]) -{IO + Http}-> () { + match sub { + Sub.None => (), + Sub.Batch(subs) => Array.iter(subs, start_subscription), + Sub.HttpServer(port, handler) => { + let server = Http.serve( + #{ port: port }, + fn(req) -{IO + Http}-> Http.Response { + let body = Http.Request.text(req); + let parsed = try { + Some(Json.parse(body)) + } catch { + _ => None, + }; + match Option.flat_map(parsed, handler) { + Some(msg) => { + dispatch(msg); + Http.Response.make("OK", #{ status: 200 }) + }, + None => Http.Response.make("Ignored", #{ status: 200 }), + } + }, + ); + state.http_server := Some(server); + }, + Sub.Interval(ms, to_msg) => { + let id = Time.set_interval(fn() -{IO}-> () { dispatch(to_msg()) }, ms); + state.intervals := Array.append(state.intervals, [id]); + }, + } + }; + + execute_cmd(initial_cmd, dispatch); + let initial_subs = subscriptions(state.model); + start_subscription(initial_subs); + + Handle #{ + dispatch: dispatch, + get_model: fn() -> Model { state.model }, + stop: fn() -{IO}-> () { + state.running := false; + match state.http_server { + Some(server) => Http.Server.shutdown(server), + None => (), + }; + Array.iter(state.intervals, fn(id) -{IO}-> () { Time.clear_interval(id) }); + }, + } + } +} diff --git a/bots/sustainabot/bot-integration/src/tea/ServerTea.res b/bots/sustainabot/bot-integration/src/tea/ServerTea.res deleted file mode 100644 index 08fd430..0000000 --- a/bots/sustainabot/bot-integration/src/tea/ServerTea.res +++ /dev/null @@ -1,148 +0,0 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later -// SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell -// -// Server-side TEA (The Elm Architecture) for Deno -// Inspired by hyperpolymath/rescript-tea but for backend services - -module Cmd = { - type rec t<'msg> = - | None - | Batch(array>) - | Perform(unit => promise<'msg>) - | PerformWithDispatch((('msg) => unit) => promise) - - let none = None - let batch = cmds => Batch(cmds) - let perform = (task, toMsg) => Perform(async () => toMsg(await task())) - let attempt = (task, toMsg) => Perform(async () => { - try { - toMsg(Ok(await task())) - } catch { - | exn => toMsg(Error(exn)) - } - }) - let withDispatch = fn => PerformWithDispatch(fn) -} - -module Sub = { - type rec t<'msg> = - | None - | Batch(array>) - | HttpServer(int, Js.Json.t => option<'msg>) - | Interval(int, unit => 'msg) - - let none = None - let batch = subs => Batch(subs) - let httpServer = (port, handler) => HttpServer(port, handler) - let every = (ms, toMsg) => Interval(ms, toMsg) -} - -module Runtime = { - type state<'model, 'msg> = { - mutable model: 'model, - mutable subscriptions: array>, - mutable running: bool, - mutable httpServer: option, - mutable intervals: array, - } - - let rec executeCmd = async (cmd: Cmd.t<'msg>, dispatch: 'msg => unit) => { - switch cmd { - | Cmd.None => () - | Cmd.Batch(cmds) => { - // Execute commands sequentially - cmds->Js.Array2.forEach(c => { - let _ = executeCmd(c, dispatch) - }) - } - | Cmd.Perform(task) => { - let msg = await task() - dispatch(msg) - } - | Cmd.PerformWithDispatch(fn) => await fn(dispatch) - } - } - - let make = ( - ~init: 'flags => ('model, Cmd.t<'msg>), - ~update: ('msg, 'model) => ('model, Cmd.t<'msg>), - ~subscriptions: 'model => Sub.t<'msg>, - ~flags: 'flags, - ) => { - let (initialModel, initialCmd) = init(flags) - - let state = { - model: initialModel, - subscriptions: [], - running: true, - httpServer: None, - intervals: [], - } - - let rec dispatch = msg => { - if state.running { - let (newModel, cmd) = update(msg, state.model) - state.model = newModel - let _ = executeCmd(cmd, dispatch) - updateSubscriptions() - } - } - - and updateSubscriptions = () => { - let newSubs = subscriptions(state.model) - // For now, just track that we have subs - // In a full impl, we'd diff and manage lifecycle - state.subscriptions = [newSubs] - } - - and startSubscription = (sub: Sub.t<'msg>) => { - switch sub { - | Sub.None => () - | Sub.Batch(subs) => subs->Js.Array2.forEach(startSubscription) - | Sub.HttpServer(port, handler) => { - let server = Deno.serve( - {"port": port}, - async (req) => { - let body = await Deno.Request.text(req) - let json = try { - Some(Js.Json.parseExn(body)) - } catch { - | _ => None - } - switch json->Belt.Option.flatMap(handler) { - | Some(msg) => { - dispatch(msg) - Deno.Response.make("OK", {"status": 200}) - } - | None => Deno.Response.make("Ignored", {"status": 200}) - } - }, - ) - state.httpServer = Some(server) - } - | Sub.Interval(ms, toMsg) => { - let id = Js.Global.setInterval(() => dispatch(toMsg()), ms) - state.intervals = state.intervals->Js.Array2.concat([id]) - } - } - } - - // Start initial command - let _ = executeCmd(initialCmd, dispatch) - - // Start subscriptions - let initialSubs = subscriptions(state.model) - startSubscription(initialSubs) - - // Return control functions - { - "dispatch": dispatch, - "getModel": () => state.model, - "stop": () => { - state.running = false - state.httpServer->Belt.Option.forEach(server => { let _ = Deno.HttpServer.shutdown(server) }) - state.intervals->Js.Array2.forEach(Js.Global.clearInterval) - }, - } - } -} diff --git a/bots/sustainabot/bot-integration/src/tea/ServerTea.res.js b/bots/sustainabot/bot-integration/src/tea/ServerTea.res.js deleted file mode 100644 index ca15ebe..0000000 --- a/bots/sustainabot/bot-integration/src/tea/ServerTea.res.js +++ /dev/null @@ -1,194 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - -import * as Belt_Option from "@rescript/runtime/lib/es6/Belt_Option.js"; -import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js"; -import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js"; - -function batch(cmds) { - return { - TAG: "Batch", - _0: cmds - }; -} - -function perform(task, toMsg) { - return { - TAG: "Perform", - _0: async () => toMsg(await task()) - }; -} - -function attempt(task, toMsg) { - return { - TAG: "Perform", - _0: async () => { - try { - return toMsg({ - TAG: "Ok", - _0: await task() - }); - } catch (raw_exn) { - let exn = Primitive_exceptions.internalToException(raw_exn); - return toMsg({ - TAG: "Error", - _0: exn - }); - } - } - }; -} - -function withDispatch(fn) { - return { - TAG: "PerformWithDispatch", - _0: fn - }; -} - -let Cmd = { - none: "None", - batch: batch, - perform: perform, - attempt: attempt, - withDispatch: withDispatch -}; - -function batch$1(subs) { - return { - TAG: "Batch", - _0: subs - }; -} - -function httpServer(port, handler) { - return { - TAG: "HttpServer", - _0: port, - _1: handler - }; -} - -function every(ms, toMsg) { - return { - TAG: "Interval", - _0: ms, - _1: toMsg - }; -} - -let Sub = { - none: "None", - batch: batch$1, - httpServer: httpServer, - every: every -}; - -async function executeCmd(cmd, dispatch) { - if (typeof cmd !== "object") { - return; - } - switch (cmd.TAG) { - case "Batch" : - cmd._0.forEach(c => { - executeCmd(c, dispatch); - }); - return; - case "Perform" : - return dispatch(await cmd._0()); - case "PerformWithDispatch" : - return await cmd._0(dispatch); - } -} - -function make(init, update, subscriptions, flags) { - let match = init(flags); - let state = { - model: match[0], - subscriptions: [], - running: true, - httpServer: undefined, - intervals: [] - }; - let dispatch = msg => { - if (!state.running) { - return; - } - let match = update(msg, state.model); - state.model = match[0]; - executeCmd(match[1], dispatch); - updateSubscriptions(); - }; - let updateSubscriptions = () => { - let newSubs = subscriptions(state.model); - state.subscriptions = [newSubs]; - }; - let startSubscription = sub => { - if (typeof sub !== "object") { - return; - } - switch (sub.TAG) { - case "Batch" : - sub._0.forEach(startSubscription); - return; - case "HttpServer" : - let handler = sub._1; - let server = Deno.serve({ - port: sub._0 - }, async req => { - let body = await req.text(); - let json; - try { - json = JSON.parse(body); - } catch (exn) { - json = undefined; - } - let msg = Belt_Option.flatMap(json, handler); - if (msg !== undefined) { - dispatch(Primitive_option.valFromOption(msg)); - return new (globalThis.Response)("OK", { - status: 200 - }); - } else { - return new (globalThis.Response)("Ignored", { - status: 200 - }); - } - }); - state.httpServer = Primitive_option.some(server); - return; - case "Interval" : - let toMsg = sub._1; - let id = setInterval(() => dispatch(toMsg()), sub._0); - state.intervals = state.intervals.concat([id]); - return; - } - }; - executeCmd(match[1], dispatch); - let initialSubs = subscriptions(state.model); - startSubscription(initialSubs); - return { - dispatch: dispatch, - getModel: () => state.model, - stop: () => { - state.running = false; - Belt_Option.forEach(state.httpServer, server => { - server.shutdown(); - }); - state.intervals.forEach(prim => { - clearInterval(prim); - }); - } - }; -} - -let Runtime = { - executeCmd: executeCmd, - make: make -}; - -export { - Cmd, - Sub, - Runtime, -} -/* No side effect */