@angular-package/range
Version:
The range between minimum and maximum.
48 lines (47 loc) • 2.33 kB
TypeScript
import { Maximum } from './maximum.class';
import { Minimum } from './minimum.class';
export declare class Range<Min extends number, Max extends number, Step extends number = 1> {
#private;
get range(): Readonly<Array<number>>;
get step(): Step;
get steps(): number;
get value(): number | undefined;
set value(value: number | undefined);
get [Symbol.toStringTag](): string;
readonly max: Max;
readonly min: Min;
static create<Min extends number, Max extends number, Step extends number = 1>(min: Min, max: Max, value?: number, step?: Step): Range<Min, Max, Step>;
static createFrom<Step extends number = 1>(numbers: number[], step?: Step): Range<number, number, Step>;
static createMaximum<Value extends number>(value: Value): Maximum<Value>;
static createMinimum<Value extends number>(value: Value): Minimum<Value>;
static isRange<Min extends number, Max extends number, Step extends number>(value: any, min?: Min, max?: Max, step?: Step): value is Range<Min, Max, Step>;
constructor(min: Min, max: Max, value?: number, step?: Step);
forEachStep(forEachStep: (value: number, step: number, range: readonly number[]) => void): this;
getCurrentRange(): Readonly<Array<number>> | undefined;
getCurrentStep(): number | undefined;
getMax(): Max;
getMin(): Min;
getRange(value?: number): Readonly<Array<number>>;
getRangeOfStep(step: number): Readonly<Array<number>>;
getValueOfStep(step: number): number | undefined;
has(value: number): boolean;
hasEvery(...values: number[]): boolean;
hasSome(...values: number[]): boolean;
isBetween(min: number, max: number): boolean;
isBetweenEvery(...ranges: [number, number][]): boolean;
isBetweenSome(...ranges: [number, number][]): boolean;
maxGreaterThan(value: number): boolean;
maxLessThan(value: number): boolean;
minGreaterThan(value: number): boolean;
minLessThan(value: number): boolean;
setValue(value: number): this;
setValueToStep(step: number): this;
stepByStep(callbackFn: (value: Generator<number>, step: Step, max: Max) => void): this;
toArray(): readonly [Min, Max];
valueDown(stepDecrement?: number): this;
valueOf(): Readonly<{
min: Min;
max: Max;
}>;
valueUp(stepIncrement?: number): this;
}