std/streams/mod.ts

Deno standard library
Go to Latest
class Buffer
import { Buffer } from "https://deno.land/std@0.147.0/streams/mod.ts?s=Buffer";

A variable-sized buffer of bytes with read() and write() methods.

Buffer is almost always used with some I/O like files and sockets. It allows one to buffer up a download from a socket. Buffer grows and shrinks as necessary.

Buffer is NOT the same thing as Node's Buffer. Node's Buffer was created in 2009 before JavaScript had the concept of ArrayBuffers. It's simply a non-standard ArrayBuffer.

ArrayBuffer is a fixed memory allocation. Buffer is implemented on top of ArrayBuffer.

Based on Go Buffer.

Constructors

new
Buffer(ab?: ArrayBufferLike | ArrayLike<number>)
[src]

Properties

readonly
capacity: number
[src]

The read only capacity of the buffer's underlying byte slice, that is, the total space allocated for the buffer's data.

readonly
length: number
[src]

A read only number of bytes of the unread portion of the buffer.

readonly
readable
[src]
readonly
writable
[src]

Methods

bytes(options?): Uint8Array[src]

Returns a slice holding the unread portion of the buffer.

The slice is valid for use only until the next buffer modification (that is, only until the next call to a method like read(), write(), reset(), or truncate()). If options.copy is false the slice aliases the buffer content at least until the next buffer modification, so immediate changes to the slice will affect the result of future reads.

empty(): boolean[src]

Returns whether the unread portion of the buffer is empty.

grow(n: number): void[src]

Grows the buffer's capacity, if necessary, to guarantee space for another n bytes. After .grow(n), at least n bytes can be written to the buffer without another allocation. If n is negative, .grow() will throw. If the buffer can't grow it will throw an error.

Based on Go Lang's Buffer.Grow.

reset(): void[src]
truncate(n: number): void[src]

Discards all but the first n unread bytes from the buffer but continues to use the same allocated storage. It throws if n is negative or greater than the length of the buffer.

import Buffer
import { Buffer } from "https://deno.land/std@0.147.0/streams/mod.ts?s=Buffer";