Skip to content

Commit 9996fc1

Browse files
committed
feat(async): add is_async
1 parent 73ee9ac commit 9996fc1

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/async.fnk

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{new} = import '@fink/js-interop/reflect.fnk'
22
{Promise, setTimeout} = import '@fink/js-interop/globals.fnk'
33

4+
{is_fn} = import './fn.fnk'
5+
46

57

68
parallel = fn tasks:
@@ -19,3 +21,9 @@ sleep = fn ms:
1921
new Promise, fn resolve:
2022
setTimeout resolve, ms
2123

24+
25+
26+
is_async = fn obj:
27+
match obj:
28+
{then: is_fn ?}: true
29+
else: false

src/async.test.fnk

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{describe, it, expect, to_equal, mock_fn, was_called, was_not_called, run_all_timers} = import '@fink/jest/test.fnk'
22

3-
{parallel, sequential, sleep} = import './async.fnk'
3+
{parallel, sequential, sleep, is_async} = import './async.fnk'
44

55

66
run_task = fn name, handler:
@@ -64,3 +64,14 @@ describe 'async', fn:
6464
handler
6565
was_called
6666

67+
68+
69+
describe 'reflective', fn:
70+
it 'is_async', fn:
71+
expect
72+
is_async sleep 123
73+
to_equal true
74+
75+
expect
76+
is_async 1234
77+
to_equal false

0 commit comments

Comments
 (0)