# Deserializer

`import { Deserializer } from "destack:serde";`

Structured value deserializer.

```ds title="Deserializer"
export newtype interface Deserializer {
    Error;
    deserializeNull(): Result<void, this.Error>;
    deserializeBoolean(): Result<boolean, this.Error>;
    deserializeNumber(): Result<float64, this.Error>;
    deserializeString(): Result<^string, this.Error>;
    deserializeArray<T: Deserialize<this>>(): Result<^T[], this.Error>;
    deserializeField<T: Deserialize<this>>(key: string): Result<T | undefined, this.Error>;
}
```

[language/library/src/serde/serde.ds:40:64](https://github.com/destack-sh/destack/blob/main/language/library/src/serde/serde.ds#L40-L64)

## Members

### `Error`

Deserialization error type.

### `deserializeNull(): Result<void, this.Error>`

Deserialize a null value.

### `deserializeBoolean(): Result<boolean, this.Error>`

Deserialize a boolean value.

### `deserializeNumber(): Result<float64, this.Error>`

Deserialize a number value.

### `deserializeString(): Result<^string, this.Error>`

Deserialize a string value.

### `deserializeArray<T: Deserialize<this>>(): Result<^T[], this.Error>`

Deserialize an array value.

### `deserializeField<T: Deserialize<this>>(key: string): Result<T | undefined, this.Error>`

Deserialize an object field.
