← Back to index
class Deno.Buffer

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

Properties

🔗
capacity: number

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

🔗
length: number

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

Methods

🔗
bytes(options?: { copy?: boolean; }): Uint8Array

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

Returns whether the unread portion of the buffer is empty.

🔗
grow(n: number): void

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.

🔗
read(p: Uint8Array): Promise<number | null>

Reads the next p.length bytes from the buffer or until the buffer is drained. Resolves to the number of bytes read. If the buffer has no data to return, resolves to EOF (null).

NOTE: This methods reads bytes synchronously; it's provided for compatibility with Reader interfaces.

🔗
readFrom(r: Reader): Promise<number>

Reads data from r until EOF (null) and appends it to the buffer, growing the buffer as needed. It resolves to the number of bytes read. If the buffer becomes too large, .readFrom() will reject with an error.

Based on Go Lang's Buffer.ReadFrom.

🔗
readFromSync(r: ReaderSync): number

Reads data from r until EOF (null) and appends it to the buffer, growing the buffer as needed. It returns the number of bytes read. If the buffer becomes too large, .readFromSync() will throw an error.

Based on Go Lang's Buffer.ReadFrom.

🔗
readSync(p: Uint8Array): number | null

Reads the next p.length bytes from the buffer or until the buffer is drained. Returns the number of bytes read. If the buffer has no data to return, the return is EOF (null).

🔗
reset(): void

Resets the buffer to be empty, but it retains the underlying storage for use by future writes. .reset() is the same as .truncate(0).

🔗
truncate(n: number): void

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.

🔗
write(p: Uint8Array): Promise<number>

NOTE: This methods writes bytes synchronously; it's provided for compatibility with Writer interface.

🔗
writeSync(p: Uint8Array): number