# i32

> **i32**(`value`): [`I32Value`](https://stage.docs.arkiv.network/typescript-sdk/api-reference/main/type-aliases/i32value/)

Defined in: [src/attr/values.ts:80](https://github.com/Arkiv-Network/arkiv-sdk-js/blob/488e08c3687cc5cfaf5dd8ab0fe0f7fed40930bb/src/attr/values.ts#L80)

A 32-bit signed integer, indexed for equality and range queries. This is the default type for a
bare number, so `{ level: 10 }` and `{ level: i32(10) }` are the same attribute.

## Parameters

### value

An integer in [-2147483648, 2147483647].

`number` | `bigint`

## Returns

[`I32Value`](https://stage.docs.arkiv.network/typescript-sdk/api-reference/main/type-aliases/i32value/)

## Throws

If the value is not an integer, or does not fit an `i32`.

## Example

```ts
i32(10)   // { type: "i32", value: 10 }
i32(-42)  // negative values are fine — i32 is the signed integer
```