Skip to content

Commit 8391cbf

Browse files
committed
docstrings for ArrayBuffer
1 parent 50c72c5 commit 8391cbf

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

packages/artifacts.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,7 +928,9 @@ lib/ocaml/Stdlib_Array.resi
928928
lib/ocaml/Stdlib_ArrayBuffer.cmi
929929
lib/ocaml/Stdlib_ArrayBuffer.cmj
930930
lib/ocaml/Stdlib_ArrayBuffer.cmt
931+
lib/ocaml/Stdlib_ArrayBuffer.cmti
931932
lib/ocaml/Stdlib_ArrayBuffer.res
933+
lib/ocaml/Stdlib_ArrayBuffer.resi
932934
lib/ocaml/Stdlib_AsyncIterator.cmi
933935
lib/ocaml/Stdlib_AsyncIterator.cmj
934936
lib/ocaml/Stdlib_AsyncIterator.cmt

runtime/Stdlib_ArrayBuffer.resi

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/***
2+
Functions for interacting with JavaScript ArrayBuffer.
3+
See: [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer).
4+
*/
5+
6+
/**
7+
Type representing an ArrayBuffer object used to represent a generic raw binary data buffer.
8+
*/
9+
@notUndefined
10+
type t
11+
12+
/**
13+
`make(length)` creates a new ArrayBuffer with the specified length in bytes.
14+
See [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/ArrayBuffer) on MDN.
15+
16+
## Examples
17+
18+
```rescript
19+
let buffer = ArrayBuffer.make(8)
20+
ArrayBuffer.byteLength(buffer)->assertEqual(8)
21+
```
22+
23+
## Exceptions
24+
25+
- `RangeError`: If `length` is larger than `Number.MAX_SAFE_INTEGER` or negative.
26+
*/
27+
@new external make: int => t = "ArrayBuffer"
28+
29+
/**
30+
`byteLength(arrayBuffer)` returns the size, in bytes, of the ArrayBuffer.
31+
See [`ArrayBuffer.byteLength`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/byteLength) on MDN.
32+
33+
## Examples
34+
35+
```rescript
36+
let buffer = ArrayBuffer.make(16)
37+
ArrayBuffer.byteLength(buffer)->assertEqual(16)
38+
```
39+
*/
40+
@get external byteLength: t => int = "byteLength"
41+
42+
/**
43+
`slice(arrayBuffer, ~start, ~end)` returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from `start`, inclusive, up to `end`, exclusive.
44+
See [`ArrayBuffer.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/slice) on MDN.
45+
46+
## Examples
47+
48+
```rescript
49+
let buffer = ArrayBuffer.make(16)
50+
let sliced = ArrayBuffer.slice(buffer, ~start=4, ~end=12)
51+
ArrayBuffer.byteLength(sliced)->assertEqual(8)
52+
```
53+
*/
54+
@send external slice: (t, ~start: int, ~end: int) => t = "slice"
55+
56+
/**
57+
`sliceToEnd(arrayBuffer, ~start)` returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from `start` to the end of the buffer.
58+
See [`ArrayBuffer.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/slice) on MDN.
59+
60+
## Examples
61+
62+
```rescript
63+
let buffer = ArrayBuffer.make(16)
64+
let sliced = ArrayBuffer.sliceToEnd(buffer, ~start=8)
65+
ArrayBuffer.byteLength(sliced)->assertEqual(8)
66+
```
67+
*/
68+
@send external sliceToEnd: (t, ~start: int) => t = "slice"

0 commit comments

Comments
 (0)