API reference › @evolu/common › Type › lessThanOrEqualToBigInt

function lessThanOrEqualToBigInt<Max extends bigint>(
  max: ValidateBrandFactoryBigInt<Max>,
): BrandFactory<
  `LessThanOrEqualTo${Max}n`,
  bigint,
  LessThanOrEqualToBigIntError<Max>
>;

Defined in: packages/common/src/Type.ts:12615

Bigint Brand requiring a value less than or equal to max.

The bigint counterpart of lessThanOrEqualTo; see greaterThanBigInt. For non-positive bigints, use lessThanOrEqualToBigInt(0n).

Example

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

const UInt48 = lessThanOrEqualToBigInt(281474976710655n)(UInt64);

assertOk(UInt48.fromUnknown(281474976710655n), 281474976710655n);
assertErr(UInt48.fromUnknown(281474976710656n), {
  type: "LessThanOrEqualTo281474976710655n",
  value: 281474976710656n,
  max: 281474976710655n,
});