-
Notifications
You must be signed in to change notification settings - Fork 482
Expand file tree
/
Copy pathStdlib_AsyncGenerator.res
More file actions
36 lines (29 loc) · 1.13 KB
/
Stdlib_AsyncGenerator.res
File metadata and controls
36 lines (29 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
type t<'yield, 'return, 'next> = Stdlib_AsyncIterable.t<'yield>
external asAsyncIterable: t<'yield, 'return, 'next> => Stdlib_AsyncIterable.t<'yield> = "%identity"
external asAsyncIterableIterator: t<'yield, 'return, 'next> => Stdlib_AsyncIterableIterator.t<
'yield,
'return,
'next,
> = "%identity"
external asAsyncIterator: t<'yield, 'return, 'next> => Stdlib_AsyncIterator.t<
'yield,
'return,
'next,
> = "%identity"
let next = generator => generator->asAsyncIterator->Stdlib_AsyncIterator.next
let nextValue = (generator, value) =>
generator->asAsyncIterator->Stdlib_AsyncIterator.nextValue(value)
@send
external returnValueRaw: (
t<'yield, 'return, 'next>,
'return,
) => promise<Stdlib_AsyncIterator.rawResult<'yield, 'return>> = "return"
let returnValue = async (generator, value) =>
Stdlib_AsyncIterator.normalizeResult(await generator->returnValueRaw(value))
@send
external throwErrorRaw: (
t<'yield, 'return, 'next>,
exn,
) => promise<Stdlib_AsyncIterator.rawResult<'yield, 'return>> = "throw"
let throwError = async (generator, error) =>
Stdlib_AsyncIterator.normalizeResult(await generator->throwErrorRaw(error))