import { Predicate } from './Predicate.js'; /** * @desc Ensures that the `value` is greater than the `lowerBound`. * * @example * import { ensure, isGreaterThan, TinyType } from 'tiny-types'; * * class AgeInYears extends TinyType { * constructor(public readonly value: number) { * ensure('Age in years', value, isGreaterThan(0)); * } * } * * @param {number} lowerBound * @returns {Predicate} */ export function isGreaterThan(lowerBound: number): Predicate { return Predicate.to(`be greater than ${ lowerBound }`, (value: number) => typeof value === 'number' && Number.isFinite(value) && lowerBound < value, ); }