Skip to content

Commit 801c51e

Browse files
committed
fix gentype test
1 parent 6a60809 commit 801c51e

31 files changed

+228
-72
lines changed

jscomp/gentype_tests/typescript-react-example/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/gentype_tests/typescript-react-example/rescript.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"importPath": "relative",
66
"shims": {
77
"Js": "Js",
8+
"Belt": "Belt",
89
"ReactEvent": "ReactEvent",
910
"RescriptPervasives": "RescriptPervasives",
1011
"ReasonReact": "ReactShim"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module Error2 = {
22
type t = int
3-
let notification = n => (string_of_int(n), "")
3+
let notification = n => (Belt.Int.toString(n), "")
44
}
55

66
module MyErrorHandler = ErrorHandler.Make(Error2) /* MyErrorHandler.notify(42) */

jscomp/gentype_tests/typescript-react-example/src/Docstrings.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ let flat = 34
1010
* @returns A signed message
1111
*/
1212
@genType
13-
let signMessage = (. message, key) => message ++ string_of_int(key)
13+
let signMessage = (. message, key) => message ++ Belt.Int.toString(key)
1414

1515
@genType let one = a => a + 0
1616

jscomp/gentype_tests/typescript-react-example/src/Hooks.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ let make = (~vehicle) => {
99
<div>
1010
<p>
1111
{React.string(
12-
"Hooks example " ++ (vehicle.name ++ (" clicked " ++ (string_of_int(count) ++ " times"))),
12+
"Hooks example " ++ (vehicle.name ++ (" clicked " ++ (Belt.Int.toString(count) ++ " times"))),
1313
)}
1414
</p>
1515
<button onClick={_ => setCount(_ => count + 1)}> {React.string("Click me")} </button>

jscomp/gentype_tests/typescript-react-example/src/Hooks.res.js

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/gentype_tests/typescript-react-example/src/ImmutableArray.res.js

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/gentype_tests/typescript-react-example/src/ImmutableArray.resi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ type t<+'a>
33

44
@ocaml.doc(" Redefine the [_] syntax, and disable the assignment [_] = _. ")
55
module Array: {
6-
let get: (t<'a>, int) => option<'a>
6+
let get: (t<'a>, int) => 'a
77
}
88

99
@ocaml.doc(" Converting from/to normal arrays involves making a copy. ")
@@ -16,7 +16,7 @@ let length: t<'a> => int
1616

1717
let size: t<'a> => int
1818

19-
let get: (t<'a>, int) => option<'a>
19+
let get: (t<'a>, int) => 'a
2020

2121
let getExn: (t<'a>, int) => 'a
2222

jscomp/gentype_tests/typescript-react-example/src/Records.res.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/gentype_tests/typescript-react-example/src/TestImmutableArray.gen.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55

66
import * as TestImmutableArrayJS from './TestImmutableArray.res.js';
77

8-
export const testImmutableArrayGet: <T1>(arr:ReadonlyArray<T1>) => (undefined | T1) = TestImmutableArrayJS.testImmutableArrayGet as any;
8+
export const testImmutableArrayGet: <T1>(arr:T1[]) => T1 = TestImmutableArrayJS.testImmutableArrayGet as any;

jscomp/gentype_tests/typescript-react-example/src/TestImmutableArray.res.js

Lines changed: 4 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/gentype_tests/typescript-react-example/src/TestPromise.res.js

Lines changed: 3 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/gentype_tests/typescript-react-example/src/Uncurried.res

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99
@genType let uncurried0 = (. ()) => ""
1010

11-
@genType let uncurried1 = (. x) => x |> string_of_int
11+
@genType let uncurried1 = (. x) => x->Belt.Int.toString
1212

13-
@genType let uncurried2 = (. x, y) => (x |> string_of_int) ++ y
13+
@genType let uncurried2 = (. x, y) => (x->Belt.Int.toString) ++ y
1414

15-
@genType let uncurried3 = (. x, y, z) => (x |> string_of_int) ++ (y ++ (z |> string_of_int))
15+
@genType let uncurried3 = (. x, y, z) => (x->Belt.Int.toString) ++ (y ++ (z->Belt.Int.toString))
1616

17-
@genType let curried3 = (x, y, z) => (x |> string_of_int) ++ (y ++ (z |> string_of_int))
17+
@genType let curried3 = (x, y, z) => (x->Belt.Int.toString) ++ (y ++ (z->Belt.Int.toString))
1818

19-
@genType let callback = cb => cb() |> string_of_int
19+
@genType let callback = cb => cb()->Belt.Int.toString
2020

2121
type auth = {login: unit => string}
2222
type authU = {loginU: (. unit) => string}

jscomp/gentype_tests/typescript-react-example/src/VariantsWithPayload.res

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,21 +64,21 @@ type variantWithPayloads =
6464
let printVariantWithPayloads = x =>
6565
switch x {
6666
| A => Js.log2("printVariantWithPayloads", "A")
67-
| B(x) => Js.log2("printVariantWithPayloads", "B(" ++ (string_of_int(x) ++ ")"))
67+
| B(x) => Js.log2("printVariantWithPayloads", "B(" ++ (Belt.Int.toString(x) ++ ")"))
6868
| C(x, y) =>
6969
Js.log2(
7070
"printVariantWithPayloads",
71-
"C(" ++ (string_of_int(x) ++ (", " ++ (string_of_int(y) ++ ")"))),
71+
"C(" ++ (Belt.Int.toString(x) ++ (", " ++ (Belt.Int.toString(y) ++ ")"))),
7272
)
7373
| D((x, y)) =>
7474
Js.log2(
7575
"printVariantWithPayloads",
76-
"D((" ++ (string_of_int(x) ++ (", " ++ (string_of_int(y) ++ "))"))),
76+
"D((" ++ (Belt.Int.toString(x) ++ (", " ++ (Belt.Int.toString(y) ++ "))"))),
7777
)
7878
| E(x, s, y) =>
7979
Js.log2(
8080
"printVariantWithPayloads",
81-
"E(" ++ (string_of_int(x) ++ (", " ++ (s ++ (", " ++ (string_of_int(y) ++ ")"))))),
81+
"E(" ++ (Belt.Int.toString(x) ++ (", " ++ (s ++ (", " ++ (Belt.Int.toString(y) ++ ")"))))),
8282
)
8383
}
8484

jscomp/gentype_tests/typescript-react-example/src/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import * as TestPromise from "./TestPromise.gen";
2323

2424
const consoleLog = console.log;
2525

26-
const intList = Types.map(x => x + 1, Types.someIntList);
26+
const intList = Types.map(Types.someIntList, x => x + 1);
2727

2828
const businesses = [
2929
{

jscomp/gentype_tests/typescript-react-example/src/nested/Types.gen.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import * as TypesJS from './Types.res.js';
77

88
import type {Json_t as Js_Json_t} from '../../src/shims/Js.shim';
99

10+
import type {List_t as Belt_List_t} from '../../src/shims/Belt.shim';
11+
1012
import type {M_t__ as TypeNameSanitize_M_t__} from '../../src/TypeNameSanitize.gen';
1113

1214
import type {list} from '../../src/shims/RescriptPervasives.shim';
@@ -74,17 +76,13 @@ export type Vector<a> = vector<a>;
7476

7577
export type date = Date;
7678

77-
export type i64A = [number, number];
78-
79-
export type i64B = [number, number];
80-
8179
export type ObjectId_t = number;
8280

8381
export type tPrimed = [TypeNameSanitize_t_, TypeNameSanitize_M_t__];
8482

8583
export const someIntList: list<number> = TypesJS.someIntList as any;
8684

87-
export const map: <T1,T2>(_1:((_1:T1) => T2), _2:list<T1>) => list<T2> = TypesJS.map as any;
85+
export const map: <T1,T2>(_1:Belt_List_t<T1>, _2:((_1:T1) => T2)) => Belt_List_t<T2> = TypesJS.map as any;
8886

8987
export const swap: (tree:tree) => tree = TypesJS.swap as any;
9088

@@ -114,6 +112,4 @@ export const testInstantiateTypeParameter: (x:instantiateTypeParameter) => insta
114112

115113
export const currentTime: Date = TypesJS.currentTime as any;
116114

117-
export const i64Const: i64B = TypesJS.i64Const as any;
118-
119115
export const optFunction: (undefined | (() => number)) = TypesJS.optFunction as any;

jscomp/gentype_tests/typescript-react-example/src/nested/Types.res

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
@genType let someIntList = list{1, 2, 3}
66

7-
@genType let map = List.map
7+
@genType let map = Belt.List.map
88

99
@genType
1010
type typeWithVars<'x, 'y, 'z> =
@@ -126,12 +126,6 @@ type vector<'a> = ('a, 'a)
126126

127127
@genType let currentTime = Js.Date.make()
128128

129-
@genType type i64A = Int64.t
130-
131-
@genType type i64B = int64
132-
133-
@genType let i64Const: i64B = 34L
134-
135129
@genType let optFunction = Some(() => 3)
136130

137131
module ObjectId: {

jscomp/gentype_tests/typescript-react-example/src/nested/Types.res.js

Lines changed: 2 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import type { list } from "./RescriptPervasives.shim";
2+
3+
export type List_t<t> = list<t>;

jscomp/runtime/array.res

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// FIXME:
2+
// This exists for compatibility reason.
3+
// Move this into Pervasives or Core
4+
5+
let length = Primitive_array_extern.length
6+
let unsafe_get = Primitive_array_extern.getUnsafe

jscomp/runtime/primitive_array.res

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
1-
@get external length: array<'a> => int = "length"
2-
3-
@get_index external get: (array<'a>, int) => 'a = ""
1+
let length = Primitive_array_extern.length
42

53
let get = (xs, index) =>
64
if index < 0 || index >= length(xs) {
75
raise(Invalid_argument("index out of bounds"))
86
} else {
9-
xs->get(index)
7+
xs->Primitive_array_extern.getUnsafe(index)
108
}
119

12-
@set_index external set: (array<'a>, int, 'a) => unit = ""
13-
1410
let set = (xs, index, newval) =>
1511
if index < 0 || index >= length(xs) {
1612
raise(Invalid_argument("index out of bounds"))
1713
} else {
18-
xs->set(index, newval)
14+
xs->Primitive_array_extern.setUnsafe(index, newval)
1915
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@get external length: array<'a> => int = "length"
2+
@get_index external getUnsafe: (array<'a>, int) => 'a = ""
3+
@set_index external setUnsafe: (array<'a>, int, 'a) => unit = ""

jscomp/runtime/release.ninja

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,19 @@ o runtime/primitive_exceptions.cmj : cc_cmi runtime/primitive_exceptions.res | r
1919
o runtime/primitive_exceptions.cmi : cc runtime/primitive_exceptions.resi | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
2020
o runtime/primitive_hash.cmj : cc_cmi runtime/primitive_hash.res | runtime/obj.cmj runtime/primitive_hash.cmi runtime/primitive_object_extern.cmj
2121
o runtime/primitive_hash.cmi : cc runtime/primitive_hash.resi | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_object.cmi
22-
o runtime/primitive_lazy.cmj : cc_cmi runtime/primitive_lazy.res | runtime/primitive_lazy.cmi
22+
o runtime/primitive_lazy.cmj : cc_cmi runtime/primitive_lazy.res | runtime/primitive_exceptions.cmj runtime/primitive_lazy.cmi
2323
o runtime/primitive_lazy.cmi : cc runtime/primitive_lazy.resi | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
2424
o runtime/primitive_module.cmj : cc_cmi runtime/primitive_module.res | runtime/lazy.cmj runtime/obj.cmj runtime/primitive_module.cmi runtime/primitive_object_extern.cmj
2525
o runtime/primitive_module.cmi : cc runtime/primitive_module.resi | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_object.cmi
26-
o runtime/primitive_object.cmj : cc_cmi runtime/primitive_object.res | runtime/primitive_object.cmi runtime/primitive_object_extern.cmj runtime/primitive_option.cmj
26+
o runtime/primitive_object.cmj : cc_cmi runtime/primitive_object.res | runtime/primitive_bool.cmj runtime/primitive_float.cmj runtime/primitive_int.cmj runtime/primitive_object.cmi runtime/primitive_object_extern.cmj runtime/primitive_option.cmj runtime/primitive_string.cmj
2727
o runtime/primitive_object.cmi : cc runtime/primitive_object.resi | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_object_extern.cmj
2828
o runtime/primitive_option.cmj : cc_cmi runtime/primitive_option.res | runtime/primitive_object_extern.cmj runtime/primitive_option.cmi
2929
o runtime/primitive_option.cmi : cc runtime/primitive_option.resi | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_object_extern.cmj
30+
o runtime/array.cmi runtime/array.cmj : cc runtime/array.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_array_extern.cmj
3031
o runtime/char.cmi runtime/char.cmj : cc runtime/char.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
3132
o runtime/obj.cmi runtime/obj.cmj : cc runtime/obj.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_object_extern.cmj
32-
o runtime/primitive_array.cmi runtime/primitive_array.cmj : cc runtime/primitive_array.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
33+
o runtime/primitive_array.cmi runtime/primitive_array.cmj : cc runtime/primitive_array.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_array_extern.cmj
34+
o runtime/primitive_array_extern.cmi runtime/primitive_array_extern.cmj : cc runtime/primitive_array_extern.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
3335
o runtime/primitive_bigint.cmi runtime/primitive_bigint.cmj : cc runtime/primitive_bigint.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
3436
o runtime/primitive_bool.cmi runtime/primitive_bool.cmj : cc runtime/primitive_bool.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
3537
o runtime/primitive_char_extern.cmi runtime/primitive_char_extern.cmj : cc runtime/primitive_char_extern.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
@@ -42,5 +44,5 @@ o runtime/primitive_promise.cmi runtime/primitive_promise.cmj : cc runtime/primi
4244
o runtime/primitive_string.cmi runtime/primitive_string.cmj : cc runtime/primitive_string.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_string_extern.cmj
4345
o runtime/primitive_string_extern.cmi runtime/primitive_string_extern.cmj : cc runtime/primitive_string_extern.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
4446
o runtime/primitive_util.cmi runtime/primitive_util.cmj : cc runtime/primitive_util.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
45-
o runtime/string.cmi runtime/string.cmj : cc runtime/string.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_string_extern.cmj
46-
o runtime : phony runtime/bs_stdlib_mini.cmi runtime/js.cmj runtime/js.cmi runtime/lazy.cmi runtime/lazy.cmj runtime/primitive_exceptions.cmi runtime/primitive_exceptions.cmj runtime/primitive_hash.cmi runtime/primitive_hash.cmj runtime/primitive_lazy.cmi runtime/primitive_lazy.cmj runtime/primitive_module.cmi runtime/primitive_module.cmj runtime/primitive_object.cmi runtime/primitive_object.cmj runtime/primitive_option.cmi runtime/primitive_option.cmj runtime/char.cmi runtime/char.cmj runtime/obj.cmi runtime/obj.cmj runtime/primitive_array.cmi runtime/primitive_array.cmj runtime/primitive_bigint.cmi runtime/primitive_bigint.cmj runtime/primitive_bool.cmi runtime/primitive_bool.cmj runtime/primitive_char_extern.cmi runtime/primitive_char_extern.cmj runtime/primitive_curry.cmi runtime/primitive_curry.cmj runtime/primitive_dict.cmi runtime/primitive_dict.cmj runtime/primitive_float.cmi runtime/primitive_float.cmj runtime/primitive_int.cmi runtime/primitive_int.cmj runtime/primitive_object_extern.cmi runtime/primitive_object_extern.cmj runtime/primitive_promise.cmi runtime/primitive_promise.cmj runtime/primitive_string.cmi runtime/primitive_string.cmj runtime/primitive_string_extern.cmi runtime/primitive_string_extern.cmj runtime/primitive_util.cmi runtime/primitive_util.cmj runtime/string.cmi runtime/string.cmj
47+
o runtime/string.cmi runtime/string.cmj : cc runtime/string.res | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj runtime/primitive_string.cmj runtime/primitive_string_extern.cmj
48+
o runtime : phony runtime/bs_stdlib_mini.cmi runtime/js.cmj runtime/js.cmi runtime/lazy.cmi runtime/lazy.cmj runtime/primitive_exceptions.cmi runtime/primitive_exceptions.cmj runtime/primitive_hash.cmi runtime/primitive_hash.cmj runtime/primitive_lazy.cmi runtime/primitive_lazy.cmj runtime/primitive_module.cmi runtime/primitive_module.cmj runtime/primitive_object.cmi runtime/primitive_object.cmj runtime/primitive_option.cmi runtime/primitive_option.cmj runtime/array.cmi runtime/array.cmj runtime/char.cmi runtime/char.cmj runtime/obj.cmi runtime/obj.cmj runtime/primitive_array.cmi runtime/primitive_array.cmj runtime/primitive_array_extern.cmi runtime/primitive_array_extern.cmj runtime/primitive_bigint.cmi runtime/primitive_bigint.cmj runtime/primitive_bool.cmi runtime/primitive_bool.cmj runtime/primitive_char_extern.cmi runtime/primitive_char_extern.cmj runtime/primitive_curry.cmi runtime/primitive_curry.cmj runtime/primitive_dict.cmi runtime/primitive_dict.cmj runtime/primitive_float.cmi runtime/primitive_float.cmj runtime/primitive_int.cmi runtime/primitive_int.cmj runtime/primitive_object_extern.cmi runtime/primitive_object_extern.cmj runtime/primitive_promise.cmi runtime/primitive_promise.cmj runtime/primitive_string.cmi runtime/primitive_string.cmj runtime/primitive_string_extern.cmi runtime/primitive_string_extern.cmj runtime/primitive_util.cmi runtime/primitive_util.cmj runtime/string.cmi runtime/string.cmj

0 commit comments

Comments
 (0)