API reference@evolu/commonBytes › ByteLength

type ByteLength = number &
  import("./Brand.ts").Brand<"NonNaN"> &
  import("./Brand.ts").Brand<"Finite"> &
  import("./Brand.ts").Brand<"Int"> &
  import("./Brand.ts").Brand<"NonNegative"> &
  import("./Brand.ts").Brand<"ByteLength">;

Defined in: packages/common/src/Bytes.ts:1424

Non-negative safe integer number of bytes.

The canonical unit for sizes, as milliseconds are for time. APIs accept ByteSize and normalize it with byteSizeToByteLength. Parse text such as an environment variable with ByteLengthFromString. Negative zero is rejected so zero has one canonical representation.

Example

import { assertErr, assertOk, ByteLength } from "@evolu/common";

assertOk(ByteLength.fromUnknown(0), 0);
assertOk(ByteLength.fromUnknown(1024), 1024);
assertErr(ByteLength.fromUnknown(-0));
assertErr(ByteLength.fromUnknown(-1));
assertErr(ByteLength.fromUnknown(1.5));