Skip to content

Commit 5bb465a

Browse files
committed
Make Js.Promise2 self contained.
1 parent 0cdc4b0 commit 5bb465a

8 files changed

+75
-32
lines changed

Diff for: jscomp/main/builtin_cmi_datasets.ml

+5-5
Large diffs are not rendered by default.

Diff for: jscomp/main/builtin_cmj_datasets.ml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
(* fe9141272036e1415f92ab1b938172f9 *)
1+
(* c7c15ed508cb10fea44c8bb270dcc9b3 *)
22
let module_names : string array = Obj.magic (
33
"Js" (* 23 *),
44
"Arg" (* 217 *),
@@ -210,7 +210,7 @@ let module_data : string array = Obj.magic (
210210
(* Belt_Float *)"\132\149\166\190\000\000\000\022\000\000\000\007\000\000\000\021\000\000\000\020\160\144\176*fromString\144\160\160A@@@A",
211211
(* Belt_Range *)"\132\149\166\190\000\000\000\160\000\000\0004\000\000\000\166\000\000\000\156\160\b\000\000(\000\176$some\144\160\160C@@@\176%every\144\160\160C@@@\176%someU\144\160\160C@@@\176&everyU\144\160\160C@@@\176&someBy\144\160\160D@@@\176'everyBy\144\160\160D@@@\176'forEach\144\160\160C@@@\176'someByU\144\160\160D@@@\176(everyByU\144\160\160D@@@\176(forEachU\144\160\160C@@@A",
212212
(* Js_console *)"\132\149\166\190\000\000\000\003\000\000\000\001\000\000\000\003\000\000\000\003\160\128A",
213-
(* Js_promise *)"\132\149\166\190\000\000\000\252\000\000\000J\000\000\000\243\000\000\000\232\160\160\176%catch\144\160\160B@@\144\148\192B\160\176\001\003\253$arg1@\160\176\001\003\254#obj@@\151\176\180%catch\160\160AA\160\160AA@\181%catch@@\160\144\004\014\160\151\176\b\000\000\004\016A\160\144\004\023@\176\1924others/js_promise.ml\000Q\001\011\241\001\011\241\192\004\002\000R\001\012?\001\012]@@\004\004\208B@@@@\176%then_\144\160\160B@@\144\148\192B\160\176\001\003\248$arg1@\160\176\001\003\249\004%@@\151\176\180$then\160\160AA\160\160AA@\181$then@@\160\144\004\r\160\151\176\b\000\000\004\016A\160\144\004\022@\176\192\004$\000N\001\011\135\001\011\135\192\004%\000O\001\011\209\001\011\239@@\004\003\208B@@@@A",
213+
(* Js_promise *)"\132\149\166\190\000\000\000\252\000\000\000J\000\000\000\243\000\000\000\232\160\160\176%catch\144\160\160B@@\144\148\192B\160\176\001\004\014$arg1@\160\176\001\004\015#obj@@\151\176\180%catch\160\160AA\160\160AA@\181%catch@@\160\144\004\014\160\151\176\b\000\000\004\016A\160\144\004\023@\176\1924others/js_promise.ml\000Q\001\012\005\001\012\005\192\004\002\000R\001\012S\001\012q@@\004\004\208B@@@@\176%then_\144\160\160B@@\144\148\192B\160\176\001\004\t$arg1@\160\176\001\004\n\004%@@\151\176\180$then\160\160AA\160\160AA@\181$then@@\160\144\004\r\160\151\176\b\000\000\004\016A\160\144\004\022@\176\192\004$\000N\001\011\155\001\011\155\192\004%\000O\001\011\229\001\012\003@@\004\003\208B@@@@A",
214214
(* Js_string2 *)"\132\149\166\190\000\000\000\003\000\000\000\001\000\000\000\003\000\000\000\003\160\128A",
215215
(* Js_weakmap *)"\132\149\166\190\000\000\000\003\000\000\000\001\000\000\000\003\000\000\000\003\160\128A",
216216
(* Js_weakset *)"\132\149\166\190\000\000\000\003\000\000\000\001\000\000\000\003\000\000\000\003\160\128A",

Diff for: jscomp/others/js_promise.ml

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
[@@@warning "-103"]
3333

3434
type +'a t = 'a promise
35-
type error
35+
type error = Js_promise2.error
3636

3737
(*
3838
```res prelude

Diff for: jscomp/others/js_promise2.res

+44-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
include Js_promise
1+
type t<+'a> = promise<'a>
2+
type error
23

34
/** Type-safe t-first then */
45
let then: (promise<'a>, 'a => promise<'b>) => promise<'b> = %raw(`
@@ -16,3 +17,45 @@ let catch: (promise<'a>, error => promise<'a>) => promise<'a> = %raw(`
1617

1718
@deprecated("Use then instead")
1819
let then_ = then
20+
21+
@new
22+
external make: ((@uncurry ~resolve: (. 'a) => unit, ~reject: (. exn) => unit) => unit) => promise<
23+
'a,
24+
> = "Promise"
25+
26+
@val @scope("Promise") external resolve: 'a => promise<'a> = "resolve"
27+
@val @scope("Promise") external reject: exn => promise<'a> = "reject"
28+
29+
@val @scope("Promise") external all: array<promise<'a>> => promise<array<'a>> = "all"
30+
31+
@val @scope("Promise") external all2: ((promise<'a0>, promise<'a1>)) => promise<('a0, 'a1)> = "all"
32+
33+
@val @scope("Promise")
34+
external all3: ((promise<'a0>, promise<'a1>, promise<'a2>)) => promise<('a0, 'a1, 'a2)> = "all"
35+
36+
@val @scope("Promise")
37+
external all4: ((promise<'a0>, promise<'a1>, promise<'a2>, promise<'a3>)) => promise<(
38+
'a0,
39+
'a1,
40+
'a2,
41+
'a3,
42+
)> = "all"
43+
44+
@val @scope("Promise")
45+
external all5: ((promise<'a0>, promise<'a1>, promise<'a2>, promise<'a3>, promise<'a4>)) => promise<(
46+
'a0,
47+
'a1,
48+
'a2,
49+
'a3,
50+
'a4,
51+
)> = "all"
52+
53+
@val @scope("Promise")
54+
external all6: (
55+
(promise<'a0>, promise<'a1>, promise<'a2>, promise<'a3>, promise<'a4>, promise<'a5>)
56+
) => promise<('a0, 'a1, 'a2, 'a3, 'a4, 'a5)> = "all"
57+
58+
@val @scope("Promise") external race: array<promise<'a>> => promise<'a> = "race"
59+
60+
external unsafe_async: 'a => promise<'a> = "%identity"
61+
external unsafe_await: promise<'a> => 'a = "?await"

Diff for: jscomp/others/release.ninja

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ o others/js_null_undefined.cmi : cc others/js_null_undefined.mli | others/belt_i
4646
o others/js_obj.cmi others/js_obj.cmj : cc others/js_obj.ml | others/belt_internals.cmi others/js.cmi $bsc
4747
o others/js_option.cmj : cc_cmi others/js_option.ml | others/belt_internals.cmi others/js.cmi others/js_exn.cmj others/js_option.cmi $bsc
4848
o others/js_option.cmi : cc others/js_option.mli | others/belt_internals.cmi others/js.cmi $bsc
49-
o others/js_promise.cmi others/js_promise.cmj : cc others/js_promise.ml | others/belt_internals.cmi others/js.cmi $bsc
50-
o others/js_promise2.cmi others/js_promise2.cmj : cc others/js_promise2.res | others/belt_internals.cmi others/js.cmi others/js_promise.cmj $bsc
49+
o others/js_promise.cmi others/js_promise.cmj : cc others/js_promise.ml | others/belt_internals.cmi others/js.cmi others/js_promise2.cmj $bsc
50+
o others/js_promise2.cmi others/js_promise2.cmj : cc others/js_promise2.res | others/belt_internals.cmi others/js.cmi others/js.cmj $bsc
5151
o others/js_re.cmi others/js_re.cmj : cc others/js_re.ml | others/belt_internals.cmi others/js.cmi others/js.cmj $bsc
5252
o others/js_result.cmj : cc_cmi others/js_result.ml | others/belt_internals.cmi others/js.cmi others/js_result.cmi $bsc
5353
o others/js_result.cmi : cc others/js_result.mli | others/belt_internals.cmi others/js.cmi $bsc

Diff for: lib/4.06.1/unstable/js_compiler.ml

+7-7
Large diffs are not rendered by default.

Diff for: lib/4.06.1/unstable/js_playground_compiler.ml

+7-7
Large diffs are not rendered by default.

Diff for: lib/4.06.1/whole_compiler.ml

+7-7
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)