Skip to content

Commit a3f7167

Browse files
committed
explain BufferSource in README
1 parent a98919f commit a3f7167

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ deepStrictEqual(decode(encoded), object);
4545
- [API](#api)
4646
- [`encode(data: unknown, options?: EncodeOptions): Uint8Array`](#encodedata-unknown-options-encodeoptions-uint8array)
4747
- [`EncodeOptions`](#encodeoptions)
48-
- [`decode(buffer: ArrayLike<number> | ArrayBuffer, options?: DecodeOptions): unknown`](#decodebuffer-arraylikenumber--arraybuffer-options-decodeoptions-unknown)
48+
- [`decode(buffer: ArrayLike<number> | BufferSource, options?: DecodeOptions): unknown`](#decodebuffer-arraylikenumber--buffersource-options-decodeoptions-unknown)
4949
- [`DecodeOptions`](#decodeoptions)
50-
- [`decodeAsync(stream: AsyncIterable<ArrayLike<number>> | ReadableStream<ArrayLike<number>>, options?: DecodeAsyncOptions): Promise<unknown>`](#decodeasyncstream-asynciterablearraylikenumber--readablestreamarraylikenumber-options-decodeasyncoptions-promiseunknown)
51-
- [`decodeArrayStream(stream: AsyncIterable<ArrayLike<number>> | ReadableStream<ArrayLike<number>>, options?: DecodeAsyncOptions): AsyncIterable<unknown>`](#decodearraystreamstream-asynciterablearraylikenumber--readablestreamarraylikenumber-options-decodeasyncoptions-asynciterableunknown)
52-
- [`decodeStream(stream: AsyncIterable<ArrayLike<number>> | ReadableStream<ArrayLike<number>>, options?: DecodeAsyncOptions): AsyncIterable<unknown>`](#decodestreamstream-asynciterablearraylikenumber--readablestreamarraylikenumber-options-decodeasyncoptions-asynciterableunknown)
50+
- [`decodeAsync(stream: ReadableStreamLike<ArrayLike<number> | BufferSource>, options?: DecodeAsyncOptions): Promise<unknown>`](#decodeasyncstream-readablestreamlikearraylikenumber--buffersource-options-decodeasyncoptions-promiseunknown)
51+
- [`decodeArrayStream(stream: ReadableStreamLike<ArrayLike<number> | BufferSource>, options?: DecodeAsyncOptions): AsyncIterable<unknown>`](#decodearraystreamstream-readablestreamlikearraylikenumber--buffersource-options-decodeasyncoptions-asynciterableunknown)
52+
- [`decodeStream(stream: ReadableStreamLike<ArrayLike<number> | BufferSource>, options?: DecodeAsyncOptions): AsyncIterable<unknown>`](#decodestreamstream-readablestreamlikearraylikenumber--buffersource-options-decodeasyncoptions-asynciterableunknown)
5353
- [Reusing Encoder and Decoder instances](#reusing-encoder-and-decoder-instances)
5454
- [Extension Types](#extension-types)
5555
- [ExtensionCodec context](#extensioncodec-context)
@@ -123,11 +123,11 @@ forceIntegerToFloat | boolean | false
123123
ignoreUndefined | boolean | false
124124
context | user-defined | -
125125

126-
### `decode(buffer: ArrayLike<number> | ArrayBuffer, options?: DecodeOptions): unknown`
126+
### `decode(buffer: ArrayLike<number> | BufferSource, options?: DecodeOptions): unknown`
127127

128128
It decodes `buffer` encoded in MessagePack, and returns a decoded object as `unknown`.
129129

130-
`buffer` must be an array of bytes, which is typically `Uint8Array` or `ArrayBuffer`, but `Array<number>` is okay.
130+
`buffer` must be an array of bytes, which is typically `Uint8Array` or `ArrayBuffer`. `BufferSource` is defined as `ArrayBuffer | ArrayBufferView`.
131131

132132
for example:
133133

@@ -145,7 +145,7 @@ NodeJS `Buffer` is also acceptable because it is a subclass of `Uint8Array`.
145145

146146
Name|Type|Default
147147
----|----|----
148-
extensionCodec | ExtensionCodec | `ExtensinCodec.defaultCodec`
148+
extensionCodec | ExtensionCodec | `ExtensionCodec.defaultCodec`
149149
maxStrLength | number | `4_294_967_295` (UINT32_MAX)
150150
maxBinLength | number | `4_294_967_295` (UINT32_MAX)
151151
maxArrayLength | number | `4_294_967_295` (UINT32_MAX)
@@ -155,9 +155,9 @@ context | user-defined | -
155155

156156
You can use `max${Type}Length` to limit the length of each type decoded.
157157

158-
### `decodeAsync(stream: AsyncIterable<ArrayLike<number>> | ReadableStream<ArrayLike<number>>, options?: DecodeAsyncOptions): Promise<unknown>`
158+
### `decodeAsync(stream: ReadableStreamLike<ArrayLike<number> | BufferSource>, options?: DecodeAsyncOptions): Promise<unknown>`
159159

160-
It decodes `stream` in an async iterable of byte arrays, and returns decoded object as `uknown` type, wrapped in `Promise`. This function works asyncronously.
160+
It decodes `stream`, where `ReadableStreamLike<T>` is defined as `ReadableStream<T> | AsyncIterable<T>`, in an async iterable of byte arrays, and returns decoded object as `unknown` type, wrapped in `Promise`. This function works asynchronously.
161161

162162
`DecodeAsyncOptions` is the same as `DecodeOptions` for `decode()`.
163163

@@ -176,7 +176,7 @@ if (contentType && contentType.startsWith(MSGPACK_TYPE) && response.body != null
176176
} else { /* handle errors */ }
177177
```
178178

179-
### `decodeArrayStream(stream: AsyncIterable<ArrayLike<number>> | ReadableStream<ArrayLike<number>>, options?: DecodeAsyncOptions): AsyncIterable<unknown>`
179+
### `decodeArrayStream(stream: ReadableStreamLike<ArrayLike<number> | BufferSource>, options?: DecodeAsyncOptions): AsyncIterable<unknown>`
180180

181181
It is alike to `decodeAsync()`, but only accepts an array of items as the input `stream`, and emits the decoded item one by one.
182182

@@ -196,7 +196,7 @@ for await (const item of decodeArrayStream(stream)) {
196196
```
197197

198198

199-
### `decodeStream(stream: AsyncIterable<ArrayLike<number>> | ReadableStream<ArrayLike<number>>, options?: DecodeAsyncOptions): AsyncIterable<unknown>`
199+
### `decodeStream(stream: ReadableStreamLike<ArrayLike<number> | BufferSource>, options?: DecodeAsyncOptions): AsyncIterable<unknown>`
200200

201201
It is alike to `decodeAsync()` and `decodeArrayStream()`, but the input `stream` consists of independent MessagePack items.
202202

0 commit comments

Comments
 (0)