@@ -34,4 +34,50 @@ user.data = await fetch()
3434let inBinaryExpression = await x -> Js .Promise .resolve + 1
3535let inBinaryExpression = await x -> Js .Promise .resolve + await y -> Js .Promise .resolve
3636
37+ let withCallback = async (. ()) => {
38+ async (. x ) => await (x -> Js .promise .resolve ) + 1
39+ }
40+
3741let () = 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