@@ -34,4 +34,50 @@ user.data = await fetch()
34
34
let inBinaryExpression = await x -> Js .Promise .resolve + 1
35
35
let inBinaryExpression = await x -> Js .Promise .resolve + await y -> Js .Promise .resolve
36
36
37
+ let withCallback = async (. ()) => {
38
+ async (. x ) => await (x -> Js .promise .resolve ) + 1
39
+ }
40
+
37
41
let () = await (await fetch (url ))-> (await resolve )
42
+
43
+ let _ = await (1 + 1 )
44
+ let _ = await 1 + 1
45
+ let _ = await (- 1 )
46
+ let _ = await - 1
47
+ let _ = await ! ref
48
+ let _ = await f
49
+ let _ = await %extension
50
+ let _ = await "test"
51
+ let _ = await ((a , b ) => a + b )
52
+ let _ = await (async (a , b ) => a + b )
53
+ let _ = await (switch x { | A => () | B => ()})
54
+ let _ = await [1 , 2 , 3 ]
55
+ let _ = await (1 , 2 , 3 )
56
+ let _ = await {name : "Steve" , age : 32 }
57
+ let _ = await (user .name = "Steve" )
58
+ let _ = await (if 20 { true } else {false })
59
+ let _ = await (condition () ? true : false )
60
+ let _ = await f (x )
61
+ let _ = await f (. x )
62
+ let _ = await (f (x ) : Js .Promise .t <unit >)
63
+ let _ = await (while true { infiniteLoop () })
64
+ let _ = await (try ok () catch { | _ => logError () })
65
+ let _ = await (for i in 0 to 10 { sideEffect ()})
66
+ let _ = await (lazy x )
67
+ let _ = await (assert x )
68
+ let _ = await promises [0 ]
69
+ let _ = await promises ["resolved" ]
70
+ let _ = await (promises ["resolved" ] = sideEffect ())
71
+ let _ = await (@attr expr )
72
+ let _ = await module (Foo )
73
+ let _ = await module (Foo : Bar )
74
+ let _ = await Promise
75
+ let _ = await Promise (status )
76
+
77
+ // braces are being dropped, because the ast only has space to record braces surrounding the await
78
+ let _ = await {x }
79
+ // here braces stay, because of precedence
80
+ let _ = await {
81
+ let x = 1
82
+ Js .Promise .resolve (x )
83
+ }
0 commit comments