mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 02:12:11 +00:00
* 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
30 lines
469 B
Nim
30 lines
469 B
Nim
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()
|
|
|