Skip to content

Commit 59c828f

Browse files
committedJul 7, 2024
Js_mapperRt -> Runtime_deriving
1 parent 4ca282c commit 59c828f

19 files changed

+104
-227
lines changed
 

‎jscomp/ext/js_runtime_modules.ml

+2
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,5 @@ let external_polyfill = "Caml_external_polyfill"
7070
let caml_js_exceptions = "Caml_js_exceptions"
7171

7272
let caml_splice_call = "Caml_splice_call"
73+
74+
let deriving = "Runtime_deriving"

‎jscomp/frontend/ast_derive_js_mapper.ml

+4-5
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,12 @@ let app2 = Ast_compatible.app2
129129

130130
let ( ->~ ) a b = Ast_compatible.arrow a b
131131

132-
let js_mapper_rt = Longident.Ldot (Lident "Js", "MapperRt")
132+
let raise_when_not_found_ident =
133+
Longident.Ldot (Lident Js_runtime_modules.deriving, "raiseWhenNotFound")
133134

134135
let raise_when_not_found x =
135-
app1
136-
(Exp.ident
137-
{loc = noloc; txt = Longident.Ldot (js_mapper_rt, "raiseWhenNotFound")})
138-
x
136+
app1 (Exp.ident {loc = noloc; txt = raise_when_not_found_ident}) x
137+
139138
let deriving_name = "jsConverter"
140139

141140
let init () =

‎jscomp/others/js.res

-2
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ Prefer `Js.Array2` over `Js.Array`, `Js.String2` over `Js.String`, etc. The latt
7777
/** JS object type */
7878
type t<'a> = {..} as 'a
7979

80-
module MapperRt = Js_mapperRt
81-
8280
module Internal = {
8381
external opaqueFullApply: 'a => 'a = "%uncurried_apply"
8482

‎jscomp/others/release.ninja

+4-4
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ o others/js_json.cmi : cc others/js_json.resi | others/belt_internals.cmi others
3737
o others/js_list.cmj : cc_cmi others/js_list.res | others/belt_internals.cmi others/js.cmi others/js_array2.cmj others/js_list.cmi others/js_vector.cmj $bsc
3838
o others/js_list.cmi : cc others/js_list.resi | others/belt_internals.cmi others/js.cmi $bsc
3939
o others/js_map.cmi others/js_map.cmj : cc others/js_map.res | others/belt_internals.cmi others/js.cmi $bsc
40-
o others/js_mapperRt.cmj : cc_cmi others/js_mapperRt.res | others/belt_internals.cmi others/js.cmi others/js_mapperRt.cmi $bsc
41-
o others/js_mapperRt.cmi : cc others/js_mapperRt.resi | others/belt_internals.cmi others/js.cmi $bsc
4240
o others/js_math.cmi others/js_math.cmj : cc others/js_math.res | others/belt_internals.cmi others/js.cmi others/js_int.cmj $bsc
4341
o others/js_null.cmj : cc_cmi others/js_null.res | others/belt_internals.cmi others/js.cmi others/js_exn.cmj others/js_null.cmi $bsc
4442
o others/js_null.cmi : cc others/js_null.resi | others/belt_internals.cmi others/js.cmi $bsc
@@ -74,7 +72,7 @@ o others/jsxEventU.cmi others/jsxEventU.cmj : cc others/jsxEventU.res | others/b
7472
o others/jsxPPXReactSupportC.cmi others/jsxPPXReactSupportC.cmj : cc others/jsxPPXReactSupportC.res | others/belt_internals.cmi others/js.cmi others/jsxC.cmj $bsc
7573
o others/jsxPPXReactSupportU.cmi others/jsxPPXReactSupportU.cmj : cc others/jsxPPXReactSupportU.res | others/belt_internals.cmi others/js.cmi others/jsxU.cmj $bsc
7674
o others/jsxU.cmi others/jsxU.cmj : cc others/jsxU.res | others/belt_internals.cmi others/js.cmi $bsc
77-
o js_pkg : phony others/js_OO.cmi others/js_OO.cmj others/js_array.cmi others/js_array.cmj others/js_array2.cmi others/js_array2.cmj others/js_bigint.cmi others/js_bigint.cmj others/js_blob.cmi others/js_blob.cmj others/js_cast.cmi others/js_cast.cmj others/js_console.cmi others/js_console.cmj others/js_date.cmi others/js_date.cmj others/js_dict.cmi others/js_dict.cmj others/js_exn.cmi others/js_exn.cmj others/js_file.cmi others/js_file.cmj others/js_float.cmi others/js_float.cmj others/js_global.cmi others/js_global.cmj others/js_int.cmi others/js_int.cmj others/js_json.cmi others/js_json.cmj others/js_list.cmi others/js_list.cmj others/js_map.cmi others/js_map.cmj others/js_mapperRt.cmi others/js_mapperRt.cmj others/js_math.cmi others/js_math.cmj others/js_null.cmi others/js_null.cmj others/js_null_undefined.cmi others/js_null_undefined.cmj others/js_obj.cmi others/js_obj.cmj others/js_option.cmi others/js_option.cmj others/js_promise.cmi others/js_promise.cmj others/js_promise2.cmi others/js_promise2.cmj others/js_re.cmi others/js_re.cmj others/js_result.cmi others/js_result.cmj others/js_set.cmi others/js_set.cmj others/js_string.cmi others/js_string.cmj others/js_string2.cmi others/js_string2.cmj others/js_typed_array.cmi others/js_typed_array.cmj others/js_typed_array2.cmi others/js_typed_array2.cmj others/js_types.cmi others/js_types.cmj others/js_undefined.cmi others/js_undefined.cmj others/js_vector.cmi others/js_vector.cmj others/js_weakmap.cmi others/js_weakmap.cmj others/js_weakset.cmi others/js_weakset.cmj others/jsxC.cmi others/jsxC.cmj others/jsxDOMC.cmi others/jsxDOMC.cmj others/jsxDOMStyle.cmi others/jsxDOMStyle.cmj others/jsxDOMU.cmi others/jsxDOMU.cmj others/jsxEventC.cmi others/jsxEventC.cmj others/jsxEventU.cmi others/jsxEventU.cmj others/jsxPPXReactSupportC.cmi others/jsxPPXReactSupportC.cmj others/jsxPPXReactSupportU.cmi others/jsxPPXReactSupportU.cmj others/jsxU.cmi others/jsxU.cmj
75+
o js_pkg : phony others/js_OO.cmi others/js_OO.cmj others/js_array.cmi others/js_array.cmj others/js_array2.cmi others/js_array2.cmj others/js_bigint.cmi others/js_bigint.cmj others/js_blob.cmi others/js_blob.cmj others/js_cast.cmi others/js_cast.cmj others/js_console.cmi others/js_console.cmj others/js_date.cmi others/js_date.cmj others/js_dict.cmi others/js_dict.cmj others/js_exn.cmi others/js_exn.cmj others/js_file.cmi others/js_file.cmj others/js_float.cmi others/js_float.cmj others/js_global.cmi others/js_global.cmj others/js_int.cmi others/js_int.cmj others/js_json.cmi others/js_json.cmj others/js_list.cmi others/js_list.cmj others/js_map.cmi others/js_map.cmj others/js_math.cmi others/js_math.cmj others/js_null.cmi others/js_null.cmj others/js_null_undefined.cmi others/js_null_undefined.cmj others/js_obj.cmi others/js_obj.cmj others/js_option.cmi others/js_option.cmj others/js_promise.cmi others/js_promise.cmj others/js_promise2.cmi others/js_promise2.cmj others/js_re.cmi others/js_re.cmj others/js_result.cmi others/js_result.cmj others/js_set.cmi others/js_set.cmj others/js_string.cmi others/js_string.cmj others/js_string2.cmi others/js_string2.cmj others/js_typed_array.cmi others/js_typed_array.cmj others/js_typed_array2.cmi others/js_typed_array2.cmj others/js_types.cmi others/js_types.cmj others/js_undefined.cmi others/js_undefined.cmj others/js_vector.cmi others/js_vector.cmj others/js_weakmap.cmi others/js_weakmap.cmj others/js_weakset.cmi others/js_weakset.cmj others/jsxC.cmi others/jsxC.cmj others/jsxDOMC.cmi others/jsxDOMC.cmj others/jsxDOMStyle.cmi others/jsxDOMStyle.cmj others/jsxDOMU.cmi others/jsxDOMU.cmj others/jsxEventC.cmi others/jsxEventC.cmj others/jsxEventU.cmi others/jsxEventU.cmj others/jsxPPXReactSupportC.cmi others/jsxPPXReactSupportC.cmj others/jsxPPXReactSupportU.cmi others/jsxPPXReactSupportU.cmj others/jsxU.cmi others/jsxU.cmj
7876
o others/belt_Array.cmj : cc_cmi others/belt_Array.res | others/belt.cmi others/belt_Array.cmi others/belt_internals.cmi others/js.cmi $bsc js_pkg
7977
o others/belt_Array.cmi : cc others/belt_Array.resi | others/belt_internals.cmi others/js.cmi $bsc
8078
o others/belt_Float.cmj : cc_cmi others/belt_Float.res | others/belt.cmi others/belt_Float.cmi others/belt_internals.cmi others/js.cmi $bsc js_pkg
@@ -158,4 +156,6 @@ o others/belt_internalSetString.cmi others/belt_internalSetString.cmj : cc other
158156
o others/dom.cmi others/dom.cmj : cc others/dom.res | others/belt_internals.cmi others/dom_storage.cmj others/dom_storage2.cmj others/js.cmi $bsc js_pkg
159157
o others/dom_storage.cmi others/dom_storage.cmj : cc others/dom_storage.res | others/belt_internals.cmi others/dom_storage2.cmj others/js.cmi $bsc js_pkg
160158
o others/dom_storage2.cmi others/dom_storage2.cmj : cc others/dom_storage2.res | others/belt_internals.cmi others/js.cmi $bsc
161-
o others : phony others/belt_Array.cmi others/belt_Array.cmj others/belt_Float.cmi others/belt_Float.cmj others/belt_HashMap.cmi others/belt_HashMap.cmj others/belt_HashMapInt.cmi others/belt_HashMapInt.cmj others/belt_HashMapString.cmi others/belt_HashMapString.cmj others/belt_HashSet.cmi others/belt_HashSet.cmj others/belt_HashSetInt.cmi others/belt_HashSetInt.cmj others/belt_HashSetString.cmi others/belt_HashSetString.cmj others/belt_Id.cmi others/belt_Id.cmj others/belt_Int.cmi others/belt_Int.cmj others/belt_List.cmi others/belt_List.cmj others/belt_Map.cmi others/belt_Map.cmj others/belt_MapDict.cmi others/belt_MapDict.cmj others/belt_MapInt.cmi others/belt_MapInt.cmj others/belt_MapString.cmi others/belt_MapString.cmj others/belt_MutableMap.cmi others/belt_MutableMap.cmj others/belt_MutableMapInt.cmi others/belt_MutableMapInt.cmj others/belt_MutableMapString.cmi others/belt_MutableMapString.cmj others/belt_MutableQueue.cmi others/belt_MutableQueue.cmj others/belt_MutableSet.cmi others/belt_MutableSet.cmj others/belt_MutableSetInt.cmi others/belt_MutableSetInt.cmj others/belt_MutableSetString.cmi others/belt_MutableSetString.cmj others/belt_MutableStack.cmi others/belt_MutableStack.cmj others/belt_Option.cmi others/belt_Option.cmj others/belt_Range.cmi others/belt_Range.cmj others/belt_Result.cmi others/belt_Result.cmj others/belt_Set.cmi others/belt_Set.cmj others/belt_SetDict.cmi others/belt_SetDict.cmj others/belt_SetInt.cmi others/belt_SetInt.cmj others/belt_SetString.cmi others/belt_SetString.cmj others/belt_SortArray.cmi others/belt_SortArray.cmj others/belt_SortArrayInt.cmi others/belt_SortArrayInt.cmj others/belt_SortArrayString.cmi others/belt_SortArrayString.cmj others/belt_internalAVLset.cmi others/belt_internalAVLset.cmj others/belt_internalAVLtree.cmi others/belt_internalAVLtree.cmj others/belt_internalBuckets.cmi others/belt_internalBuckets.cmj others/belt_internalBucketsType.cmi others/belt_internalBucketsType.cmj others/belt_internalMapInt.cmi others/belt_internalMapInt.cmj others/belt_internalMapString.cmi others/belt_internalMapString.cmj others/belt_internalSetBuckets.cmi others/belt_internalSetBuckets.cmj others/belt_internalSetInt.cmi others/belt_internalSetInt.cmj others/belt_internalSetString.cmi others/belt_internalSetString.cmj others/dom.cmi others/dom.cmj others/dom_storage.cmi others/dom_storage.cmj others/dom_storage2.cmi others/dom_storage2.cmj
159+
o others/runtime_deriving.cmj : cc_cmi others/runtime_deriving.res | others/belt_internals.cmi others/js.cmi others/runtime_deriving.cmi $bsc js_pkg
160+
o others/runtime_deriving.cmi : cc others/runtime_deriving.resi | others/belt_internals.cmi others/js.cmi $bsc
161+
o others : phony others/belt_Array.cmi others/belt_Array.cmj others/belt_Float.cmi others/belt_Float.cmj others/belt_HashMap.cmi others/belt_HashMap.cmj others/belt_HashMapInt.cmi others/belt_HashMapInt.cmj others/belt_HashMapString.cmi others/belt_HashMapString.cmj others/belt_HashSet.cmi others/belt_HashSet.cmj others/belt_HashSetInt.cmi others/belt_HashSetInt.cmj others/belt_HashSetString.cmi others/belt_HashSetString.cmj others/belt_Id.cmi others/belt_Id.cmj others/belt_Int.cmi others/belt_Int.cmj others/belt_List.cmi others/belt_List.cmj others/belt_Map.cmi others/belt_Map.cmj others/belt_MapDict.cmi others/belt_MapDict.cmj others/belt_MapInt.cmi others/belt_MapInt.cmj others/belt_MapString.cmi others/belt_MapString.cmj others/belt_MutableMap.cmi others/belt_MutableMap.cmj others/belt_MutableMapInt.cmi others/belt_MutableMapInt.cmj others/belt_MutableMapString.cmi others/belt_MutableMapString.cmj others/belt_MutableQueue.cmi others/belt_MutableQueue.cmj others/belt_MutableSet.cmi others/belt_MutableSet.cmj others/belt_MutableSetInt.cmi others/belt_MutableSetInt.cmj others/belt_MutableSetString.cmi others/belt_MutableSetString.cmj others/belt_MutableStack.cmi others/belt_MutableStack.cmj others/belt_Option.cmi others/belt_Option.cmj others/belt_Range.cmi others/belt_Range.cmj others/belt_Result.cmi others/belt_Result.cmj others/belt_Set.cmi others/belt_Set.cmj others/belt_SetDict.cmi others/belt_SetDict.cmj others/belt_SetInt.cmi others/belt_SetInt.cmj others/belt_SetString.cmi others/belt_SetString.cmj others/belt_SortArray.cmi others/belt_SortArray.cmj others/belt_SortArrayInt.cmi others/belt_SortArrayInt.cmj others/belt_SortArrayString.cmi others/belt_SortArrayString.cmj others/belt_internalAVLset.cmi others/belt_internalAVLset.cmj others/belt_internalAVLtree.cmi others/belt_internalAVLtree.cmj others/belt_internalBuckets.cmi others/belt_internalBuckets.cmj others/belt_internalBucketsType.cmi others/belt_internalBucketsType.cmj others/belt_internalMapInt.cmi others/belt_internalMapInt.cmj others/belt_internalMapString.cmi others/belt_internalMapString.cmj others/belt_internalSetBuckets.cmi others/belt_internalSetBuckets.cmj others/belt_internalSetInt.cmi others/belt_internalSetInt.cmj others/belt_internalSetString.cmi others/belt_internalSetString.cmj others/dom.cmi others/dom.cmj others/dom_storage.cmi others/dom_storage.cmj others/dom_storage2.cmi others/dom_storage2.cmj others/runtime_deriving.cmi others/runtime_deriving.cmj

‎jscomp/others/js_mapperRt.res ‎jscomp/others/runtime_deriving.res

-31
Original file line numberDiff line numberDiff line change
@@ -22,40 +22,9 @@
2222
* along with this program; if not, write to the Free Software
2323
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2424

25-
@get_index external unsafeGet: (array<int>, int) => int = ""
26-
2725
let raiseWhenNotFound = x =>
2826
if Js.testAny(x) {
2927
raise(Not_found)
3028
} else {
3129
x
3230
}
33-
34-
let rec fromIntAux = (enum: int, i, len, xs) =>
35-
if i == len {
36-
None
37-
} else {
38-
let k = unsafeGet(xs, i)
39-
if k == enum {
40-
Some(i)
41-
} else {
42-
fromIntAux(enum, i + 1, len, xs)
43-
}
44-
}
45-
46-
let fromInt = (len, xs: array<int>, enum: int): option<'variant> => fromIntAux(enum, 0, len, xs)
47-
48-
let rec fromIntAssertAux = (len, enum: int, i, xs) =>
49-
if i == len {
50-
raise(Not_found)
51-
} else {
52-
let k = unsafeGet(xs, i)
53-
if k == enum {
54-
i
55-
} else {
56-
fromIntAssertAux(len, enum, i + 1, xs)
57-
}
58-
}
59-
60-
/** `length` is not relevant any more */
61-
let fromIntAssert = (len, xs: array<int>, enum: int) => fromIntAssertAux(len, enum, 0, xs)

‎jscomp/others/js_mapperRt.resi ‎jscomp/others/runtime_deriving.resi

-7
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,3 @@
2323
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2424

2525
let raiseWhenNotFound: 'a => 'a
26-
27-
/**
28-
`fromInt(len, array, int)` return the mapped `enum`
29-
*/
30-
let fromInt: (int, array<int>, int) => option<int>
31-
32-
let fromIntAssert: (int /* len */, array<int>, int) => int

‎jscomp/runtime/js.res

-2
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ Prefer `Js.Array2` over `Js.Array`, `Js.String2` over `Js.String`, etc. The latt
7777
/** JS object type */
7878
type t<'a> = {..} as 'a
7979

80-
module MapperRt = Js_mapperRt
81-
8280
module Internal = {
8381
external opaqueFullApply: 'a => 'a = "%uncurried_apply"
8482

‎jscomp/test/ast_abstract_test.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎lib/es6/belt_internalBuckets.js

+13-13
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@ import * as Curry from "./curry.js";
44
import * as Belt_Array from "./belt_Array.js";
55
import * as Caml_option from "./caml_option.js";
66

7+
function copyBucket(c) {
8+
if (c === undefined) {
9+
return c;
10+
}
11+
let head = {
12+
key: c.key,
13+
value: c.value,
14+
next: undefined
15+
};
16+
copyAuxCont(c.next, head);
17+
return head;
18+
}
19+
720
function copyAuxCont(_c, _prec) {
821
while(true) {
922
let prec = _prec;
@@ -23,19 +36,6 @@ function copyAuxCont(_c, _prec) {
2336
};
2437
}
2538

26-
function copyBucket(c) {
27-
if (c === undefined) {
28-
return c;
29-
}
30-
let head = {
31-
key: c.key,
32-
value: c.value,
33-
next: undefined
34-
};
35-
copyAuxCont(c.next, head);
36-
return head;
37-
}
38-
3939
function copyBuckets(buckets) {
4040
let len = buckets.length;
4141
let newBuckets = new Array(len);

‎lib/es6/belt_internalSetBuckets.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,6 @@
33
import * as Curry from "./curry.js";
44
import * as Belt_Array from "./belt_Array.js";
55

6-
function copyBucket(c) {
7-
if (c === undefined) {
8-
return c;
9-
}
10-
let head = {
11-
key: c.key,
12-
next: undefined
13-
};
14-
copyAuxCont(c.next, head);
15-
return head;
16-
}
17-
186
function copyAuxCont(_c, _prec) {
197
while(true) {
208
let prec = _prec;
@@ -33,6 +21,18 @@ function copyAuxCont(_c, _prec) {
3321
};
3422
}
3523

24+
function copyBucket(c) {
25+
if (c === undefined) {
26+
return c;
27+
}
28+
let head = {
29+
key: c.key,
30+
next: undefined
31+
};
32+
copyAuxCont(c.next, head);
33+
return head;
34+
}
35+
3636
function copyBuckets(buckets) {
3737
let len = buckets.length;
3838
let newBuckets = new Array(len);

‎lib/es6/js.js

-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
let Internal = {};
55

6-
let MapperRt;
7-
86
let Null;
97

108
let Undefined;
@@ -76,7 +74,6 @@ let $$Map;
7674
let $$WeakMap;
7775

7876
export {
79-
MapperRt,
8077
Internal,
8178
Null,
8279
Undefined,

‎lib/es6/js_mapperRt.js

-56
This file was deleted.

‎lib/es6/runtime_deriving.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
3+
4+
function raiseWhenNotFound(x) {
5+
if (x == null) {
6+
throw new Error("Not_found", {
7+
cause: {
8+
RE_EXN_ID: "Not_found"
9+
}
10+
});
11+
}
12+
return x;
13+
}
14+
15+
export {
16+
raiseWhenNotFound,
17+
}
18+
/* No side effect */

‎lib/js/belt_internalBuckets.js

+13-13
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@ let Curry = require("./curry.js");
44
let Belt_Array = require("./belt_Array.js");
55
let Caml_option = require("./caml_option.js");
66

7+
function copyBucket(c) {
8+
if (c === undefined) {
9+
return c;
10+
}
11+
let head = {
12+
key: c.key,
13+
value: c.value,
14+
next: undefined
15+
};
16+
copyAuxCont(c.next, head);
17+
return head;
18+
}
19+
720
function copyAuxCont(_c, _prec) {
821
while(true) {
922
let prec = _prec;
@@ -23,19 +36,6 @@ function copyAuxCont(_c, _prec) {
2336
};
2437
}
2538

26-
function copyBucket(c) {
27-
if (c === undefined) {
28-
return c;
29-
}
30-
let head = {
31-
key: c.key,
32-
value: c.value,
33-
next: undefined
34-
};
35-
copyAuxCont(c.next, head);
36-
return head;
37-
}
38-
3939
function copyBuckets(buckets) {
4040
let len = buckets.length;
4141
let newBuckets = new Array(len);

‎lib/js/belt_internalSetBuckets.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,6 @@
33
let Curry = require("./curry.js");
44
let Belt_Array = require("./belt_Array.js");
55

6-
function copyBucket(c) {
7-
if (c === undefined) {
8-
return c;
9-
}
10-
let head = {
11-
key: c.key,
12-
next: undefined
13-
};
14-
copyAuxCont(c.next, head);
15-
return head;
16-
}
17-
186
function copyAuxCont(_c, _prec) {
197
while(true) {
208
let prec = _prec;
@@ -33,6 +21,18 @@ function copyAuxCont(_c, _prec) {
3321
};
3422
}
3523

24+
function copyBucket(c) {
25+
if (c === undefined) {
26+
return c;
27+
}
28+
let head = {
29+
key: c.key,
30+
next: undefined
31+
};
32+
copyAuxCont(c.next, head);
33+
return head;
34+
}
35+
3636
function copyBuckets(buckets) {
3737
let len = buckets.length;
3838
let newBuckets = new Array(len);

0 commit comments

Comments
 (0)