UNPKG

@ayonli/jsext

Version:

A JavaScript extension package for building strong and modern applications.

35 lines (34 loc) 1.7 kB
declare global { interface NumberConstructor { /** Returns `true` if the given value is a float, `false` otherwise. */ isFloat(value: unknown): boolean; /** * Returns `true` if the given value is a numeric value, `false` otherwise. A numeric value * is a number, a bigint, or a string that can be converted as a number or bigint. * * **NOTE:** `NaN` is not considered numeric. * * @param strict Only returns `true` when the value is of type `number`. */ isNumeric(value: unknown, strict?: boolean): boolean; /** Return `true` if a number is between the given range (inclusive). */ isBetween(value: number, [min, max]: [number, number]): boolean; /** Returns a random integer ranged from `min` to `max` (inclusive). */ random(min: number, max: number): number; /** Generates a sequence of numbers from `min` to `max` (inclusive). */ range(min: number, max: number, step?: number): Generator<number, void, unknown>; /** * Creates a generator that produces sequential numbers from `1` to * `Number.MAX_SAFE_INTEGER`, useful for generating unique IDs. * * @param loop Repeat the sequence when the end is reached. */ serial(loop?: boolean): Generator<number, void, unknown>; /** * Creates a generator that produces sequential numbers from `min` to `max` (inclusive). * @deprecated use {@link range} and {@link serial} instead. */ sequence(min: number, max: number, step?: number, loop?: boolean): Generator<number, void, unknown>; } } export {};