API reference › @evolu/common › Type › Int32
const Int32: brand(
"Int32",
between(-2147483648, 2147483647)(Int),
);
Defined in: packages/common/src/Type.ts:12326
Signed 32-bit Int.
Accepts integers from -2147483648 through 2147483647, inclusive, the range of
32-bit integers in Protocol Buffers, PostgreSQL integer, and JavaScript
bitwise operators. Like Int, it accepts -0. Int64 is the
signed 64-bit bigint counterpart.
Example
import { assertEqual, assertErr, assertOk, Int32 } from "@evolu/common";
assertOk(Int32.fromUnknown(-2147483648), -2147483648);
assertOk(Int32.fromUnknown(2147483647), 2147483647);
assertErr(Int32.fromUnknown(1.5), { type: "Int", value: 1.5 });
const tooLarge = Int32.fromUnknown(2147483648);
assertErr(tooLarge, {
type: "Between-2147483648-2147483647",
value: 2147483648,
min: -2147483648,
max: 2147483647,
});
assertEqual(
Int32.formatError(tooLarge.error),
"The value 2147483648 must be between -2147483648 and 2147483647, inclusive.",
);