UNPKG

@rickosborne/rebound

Version:

Rick Osborne's utilities for working with bounded numbers

19 lines 1.75 kB
import type { If } from "./guard-bounded.js"; import type { CheckedBoundsConfig, OutOfBoundsErrorProvider, TypedCheckedBounds } from "./spec.js"; export interface ConvertTo<N extends number> extends TypedCheckedBounds { (this: void, value: number, name?: string | undefined): N; } export interface ConvertIfPresentTo<N extends number> extends ConvertTo<N> { (this: void, value: number | undefined | null, name?: string | undefined): N | undefined; } export type ToInt<N> = (this: void, value: number, name?: string | undefined) => N; export declare const ROUND = "round"; export declare const CEIL = "ceil"; export declare const TRUNC = "trunc"; export declare const FLOOR = "floor"; export type IntStrategy = typeof ROUND | typeof CEIL | typeof TRUNC | typeof FLOOR | ((value: number) => number); export declare function boundedIntFromNumber<N extends number, IsLowerInc extends boolean, Lower extends number, Upper extends number, IsUpperInc extends boolean, IfPresent extends boolean>(isLowerInc: IsLowerInc, lower: Lower, upper: Upper, isUpperInc: IsUpperInc, ifPresent: IfPresent, errorProvider: OutOfBoundsErrorProvider, strategy: ToInt<N>, value: number | undefined | null, name?: string | undefined): If<IfPresent, N | undefined, N>; export declare function integerFrom<N extends number, IsLowerInc extends boolean, Lower extends number, Upper extends number, IsUpperInc extends boolean, IfPresent extends boolean>(typeName: string, bounds: CheckedBoundsConfig<IsLowerInc, Lower, boolean, Upper, IsUpperInc> & { label: string; }, errorProvider: OutOfBoundsErrorProvider, ifPresent: IfPresent, strategy?: IntStrategy, fnName?: string): If<IfPresent, ConvertIfPresentTo<N>, ConvertTo<N>>; //# sourceMappingURL=integer-from.d.ts.map