# pad

Advances the cursor `byteLength` bytes

```ts
function pad(byteLength: number): Coder<void>;
```

# raw

Reads `byteLength` bytes into a Uint8Array

```ts
function raw(byteLength: number): Coder<Uint8Array>;
```

# u8

Reads a byte as an unsigned integer

```ts
const u8: Coder<number>;
```

# u16

Reads 2 bytes as an unsigned integer

```ts
const u16: Coder<number>;
```

# u32

Reads 4 bytes as an unsigned integer

```ts
const u32: Coder<number>;
```

# arr

Reads `length` amount of elements with the specified `coder`

When encoding `throws` if the data doesn't contain enough elements

```ts
function arr<T>(length: number, coder: Coder<T>): Coder<T[]>;
```

# bool

Reads a byte as a boolean value 0x00 being false and 0x01 being true

```ts
const bool: Coder<boolean>;
```

# str

Reads a fixed length string

```ts
function str(byteLength: number): Coder<string>;
```

# u8LenStr

First reads a `u8` value and then its amount of bytes as string

```ts
const u8LenStr: Coder<string>;
```

# u16LenStr

First reads a `u16` value and then its amount of bytes as string

```ts
const u16LenStr: Coder<string>;
```

# u32LenStr

First reads a `u32` value and then its amount of bytes as string

```ts
const u32LenStr: Coder<string>;
```

# nullTermStr

Reads bytes until a null byte or end of file is reached as string

```ts
const nullTermStr: Coder<string>;
```
