-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRescriptDeno_Std_Stream.res
58 lines (46 loc) · 1.8 KB
/
RescriptDeno_Std_Stream.res
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// TODO: https://deno.land/std/streams/conversion.ts
//
// rescript
// - [Iterable]
// - [IterableIterator]
// - [AsyncIterable]
// - [AsyncIterableIterator]
// rescript-webapi
// - [WritableStream]
// - [ReadableStreamDefaultReader]
// - [WritableStreamDefaultWriter]
// @module("https://deno.land/std/streams/mod.ts")
@module("https://deno.land/std/streams/mod.ts")
external readAll: module(RescriptDeno_IO.Reader) => Promise.t<Js.TypedArray2.Uint8Array.t> =
"readAll"
@module("https://deno.land/std/streams/mod.ts")
external readAllSync: module(RescriptDeno_IO.ReaderSync) => Js.TypedArray2.Uint8Array.t =
"readAllSync"
@module("https://deno.land/std/streams/mod.ts")
external writeAll: module(RescriptDeno_IO.Writer) => Promise.t<unit> = "writeAll"
@module("https://deno.land/std/streams/mod.ts")
external writeAllSync: module(RescriptDeno_IO.WriterSync) => unit = "writeAllSync"
type copyOptions
%%private(
@obj
external makeCopyOptions: (~bufSize: option<int>=?) => copyOptions = ""
@module("https://deno.land/std/streams/mod.ts")
external _copy: (
~src: module(RescriptDeno_IO.Reader),
~dst: module(RescriptDeno_IO.Writer),
~options: copyOptions,
) => Promise.t<int> = "copy"
)
let copy = (~src, ~dst, ~bufSize=?, ()) => makeCopyOptions(~bufSize)->_copy(~src, ~dst, ~options=_)
// TODO: https://deno.land/std/streams/delimiter.ts
//
// rescript-webapi
// - [TransformStream]
// https://deno.land/std/streams/merge.ts
@module("https://deno.land/std/streams/mod.ts") @variadic
external mergeReadableStreams: array<Webapi.ReadableStream.t> => Webapi.ReadableStream.t =
"mergeReadableStreams"
// https://deno.land/std/streams/merge.ts
@module("https://deno.land/std/streams/mod.ts") @variadic
external zipReadableStreams: array<Webapi.ReadableStream.t> => Webapi.ReadableStream.t =
"zipReadableStreams"