UNPKG

@noeldemartin/faker

Version:

Generate massive amounts of fake contextual data

179 lines (178 loc) 6.95 kB
import type { Faker } from '../..'; /** * Module to generate various primitive values and data types. */ export declare class DatatypeModule { private readonly faker; constructor(faker: Faker); /** * Returns a single random number between zero and the given max value or the given range with the specified precision. * The bounds are inclusive. * * @param options Maximum value or options object. * @param options.min Lower bound for generated number. Defaults to `0`. * @param options.max Upper bound for generated number. Defaults to `min + 99999`. * @param options.precision Precision of the generated number. Defaults to `1`. * * @throws When options define `max < min`. * * @example * faker.datatype.number() // 55422 * faker.datatype.number(100) // 52 * faker.datatype.number({ min: 1000000 }) // 1031433 * faker.datatype.number({ max: 100 }) // 42 * faker.datatype.number({ precision: 0.01 }) // 64246.18 * faker.datatype.number({ min: 10, max: 100, precision: 0.01 }) // 36.94 * * @since 5.5.0 */ number(options?: number | { min?: number; max?: number; precision?: number; }): number; /** * Returns a single random floating-point number for the given precision or range and precision. * * @param options Precision or options object. * @param options.min Lower bound for generated number. Defaults to `0`. * @param options.max Upper bound for generated number. Defaults to `99999`. * @param options.precision Precision of the generated number. Defaults to `0.01`. * * @example * faker.datatype.float() // 51696.36 * faker.datatype.float(0.1) // 52023.2 * faker.datatype.float({ min: 1000000 }) // 212859.76 * faker.datatype.float({ max: 100 }) // 28.11 * faker.datatype.float({ precision: 0.1 }) // 84055.3 * faker.datatype.float({ min: 10, max: 100, precision: 0.001 }) // 57.315 * * @since 5.5.0 */ float(options?: number | { min?: number; max?: number; precision?: number; }): number; /** * Returns a Date object using a random number of milliseconds since * the [Unix Epoch](https://en.wikipedia.org/wiki/Unix_time) (1 January 1970 UTC). * * @param options Max number of milliseconds since unix epoch or options object. * @param options.min Lower bound for milliseconds since base date. * When not provided or smaller than `-8640000000000000`, `1990-01-01` is considered * as minimum generated date. Defaults to `631152000000`. * @param options.max Upper bound for milliseconds since base date. * When not provided or larger than `8640000000000000`, `2100-01-01` is considered * as maximum generated date. Defaults to `4102444800000`. * * @example * faker.datatype.datetime() // '2089-04-17T18:03:24.956Z' * faker.datatype.datetime(1893456000000) // '2022-03-28T07:00:56.876Z' * faker.datatype.datetime({ min: 1577836800000, max: 1893456000000 }) // '2021-09-12T07:13:00.255Z' * * @since 5.5.0 */ datetime(options?: number | { min?: number; max?: number; }): Date; /** * Returns a string containing UTF-16 chars between 33 and 125 (`!` to `}`). * * @param length Length of the generated string. Max length is `2^20`. Defaults to `10`. * * @example * faker.datatype.string() // 'Zo!.:*e>wR' * faker.datatype.string(5) // '6Bye8' * * @since 5.5.0 */ string(length?: number): string; /** * Returns a UUID v4 ([Universally Unique Identifier](https://en.wikipedia.org/wiki/Universally_unique_identifier)). * * @example * faker.datatype.uuid() // '4136cd0b-d90b-4af7-b485-5d1ded8db252' * * @since 5.5.0 */ uuid(): string; /** * Returns the boolean value true or false. * * @example * faker.datatype.boolean() // false * * @since 5.5.0 */ boolean(): boolean; /** * Returns a [hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) number. * * @param options The optional options object. * @param options.length Length of the generated number. Defaults to `1`. * @param options.prefix Prefix for the generated number. Defaults to `'0x'`. * @param options.case Case of the generated number. Defaults to `'mixed'`. * * @example * faker.datatype.hexadecimal() // '0xB' * faker.datatype.hexadecimal({ length: 10 }) // '0xaE13d044cB' * faker.datatype.hexadecimal({ prefix: '0x' }) // '0xE' * faker.datatype.hexadecimal({ case: 'lower' }) // '0xf' * faker.datatype.hexadecimal({ length: 10, prefix: '#' }) // '#f12a974eB1' * faker.datatype.hexadecimal({ length: 10, case: 'upper' }) // '0xE3F38014FB' * faker.datatype.hexadecimal({ prefix: '', case: 'lower' }) // 'd' * faker.datatype.hexadecimal({ length: 10, prefix: '0x', case: 'mixed' }) // '0xAdE330a4D1' * * @since 6.1.2 */ hexadecimal(options?: { length?: number; prefix?: string; case?: 'lower' | 'upper' | 'mixed'; } | number): string; /** * Returns a string representing JSON object with 7 pre-defined properties. * * @example * faker.datatype.json() // `{"foo":"mxz.v8ISij","bar":29154,"bike":8658,"a":"GxTlw$nuC:","b":40693,"name":"%'<FTou{7X","prop":"X(bd4iT>77"}` * * @since 5.5.0 */ json(): string; /** * Returns an array with random strings and numbers. * * @param length Size of the returned array. Defaults to `10`. * * @example * faker.datatype.array() // [ 94099, 85352, 'Hz%T.C\\l;8', '|#gmtw3otS', '2>:rJ|3$&d', 56864, 'Ss2-p0RXSI', 51084, 2039, 'mNEU[.r0Vf' ] * faker.datatype.array(3) // [ 61845, 'SK7H$W3:d*', 'm[%7N8*GVK' ] * * @since 5.5.0 */ array(length?: number): Array<string | number>; /** * Returns a [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#bigint_type) number. * * @param options Maximum value or options object. * @param options.min Lower bound for generated bigint. Defaults to `0n`. * @param options.max Upper bound for generated bigint. Defaults to `min + 999999999999999n`. * * @throws When options define `max < min`. * * @example * faker.datatype.bigInt() // 55422n * faker.datatype.bigInt(100n) // 52n * faker.datatype.bigInt({ min: 1000000n }) // 431433n * faker.datatype.bigInt({ max: 100n }) // 42n * faker.datatype.bigInt({ min: 10n, max: 100n }) // 36n * * @since 6.0.0 */ bigInt(options?: bigint | boolean | number | string | { min?: bigint | boolean | number | string; max?: bigint | boolean | number | string; }): bigint; }