followup #16871 asyncjs.then: allow pipelining procs returning futures (#17189)

* followup #16871 asyncjs.then: allow pipelining procs returning futures
* rename test files where they belong
* fix tests
* tests for then with `onReject` callback
* rename test file containing fail to avoid messing with grep
* address comments
* cleanup
* un-disable 1 test
This commit is contained in:
Timothee Cour 2021-03-04 05:00:04 -08:00 • committed by GitHub
commit a66637bda4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 87 additions and 28 deletions

View file

@ -0,0 +1,29 @@
discard """
output: '''
0
t
'''
"""
# xxx merge into tasyncjs.nim
import asyncjs, macros
macro f*(a: untyped): untyped =
assert a.kind == nnkProcDef
result = nnkProcDef.newTree(a.name, a[1], a[2], a.params, a.pragma, a[5], nnkStmtList.newTree())
let call = quote:
echo 0
result.body.add(call)
for child in a.body:
result.body.add(child)
#echo result.body.repr
proc t* {.async, f.} =
echo "t"
proc t0* {.async.} =
await t()
discard t0()