> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectdiscovery.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Structs

# Namespace: structs

## Table of contents

### Functions

* [Pack](/templates/protocols/javascript/modules/structs#pack)
* [StructsCalcSize](/templates/protocols/javascript/modules/structs#structscalcsize)
* [Unpack](/templates/protocols/javascript/modules/structs#unpack)

## Functions

### Pack

▸ **Pack**(`formatStr`, `msg`): `Uint8Array` | `null`

StructsPack returns a byte slice containing the values of msg slice packed according to the given format.
The items of msg slice must match the values required by the format exactly.
Ex: structs.pack("H", 0)

#### Parameters

| Name        | Type     |
| :---------- | :------- |
| `formatStr` | `string` |
| `msg`       | `any`    |

#### Returns

`Uint8Array` | `null`

**`Example`**

```javascript theme={null}
const structs = require('nuclei/structs');
const packed = structs.Pack('H', [0]);
```

#### Defined in

structs.ts:13

***

### StructsCalcSize

▸ **StructsCalcSize**(`format`): `number` | `null`

StructsCalcSize returns the number of bytes needed to pack the values according to the given format.
Ex: structs.CalcSize("H")

#### Parameters

| Name     | Type     |
| :------- | :------- |
| `format` | `string` |

#### Returns

`number` | `null`

**`Example`**

```javascript theme={null}
const structs = require('nuclei/structs');
const size = structs.CalcSize('H');
```

#### Defined in

structs.ts:28

***

### Unpack

▸ **Unpack**(`format`, `msg`): `any` | `null`

StructsUnpack the byte slice (presumably packed by Pack(format, msg)) according to the given format.
The result is a \[]interface{} slice even if it contains exactly one item.
The byte slice must contain not less the amount of data required by the format
(len(msg) must more or equal CalcSize(format)).
Ex: structs.Unpack(">I", buff\[:nb])

#### Parameters

| Name     | Type         |
| :------- | :----------- |
| `format` | `string`     |
| `msg`    | `Uint8Array` |

#### Returns

`any` | `null`

**`Example`**

```javascript theme={null}
const structs = require('nuclei/structs');
const result = structs.Unpack('H', [0]);
```

#### Defined in

structs.ts:46
