From 9ab0825add89474635bcc3b60595abd584088138 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leyla=20J=C3=A4hnig?= <77127505+xDivisionByZerox@users.noreply.github.com> Date: Mon, 21 Mar 2022 14:19:36 +0100 Subject: refactor: make number input immutable (#545) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Leyla Jähnig --- src/datatype.ts | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/datatype.ts b/src/datatype.ts index ba2ebdc4..706ed60e 100644 --- a/src/datatype.ts +++ b/src/datatype.ts @@ -47,32 +47,31 @@ export class Datatype { options = options ?? {}; - if (typeof options.min === 'undefined') { - options.min = 0; + let max = 99999; + let min = 0; + let precision = 1; + if (typeof options.min === 'number') { + min = options.min; } - if (typeof options.max === 'undefined') { - options.max = 99999; + if (typeof options.max === 'number') { + max = options.max; } - if (typeof options.precision === 'undefined') { - options.precision = 1; + if (typeof options.precision === 'number') { + precision = options.precision; } // Make the range inclusive of the max value - let max = options.max; if (max >= 0) { - max += options.precision; + max += precision; } let randomNumber = Math.floor( - this.faker.mersenne.rand( - max / options.precision, - options.min / options.precision - ) + this.faker.mersenne.rand(max / precision, min / precision) ); // Workaround problem in Float point arithmetics for e.g. 6681493 / 0.01 - randomNumber = randomNumber / (1 / options.precision); + randomNumber = randomNumber / (1 / precision); return randomNumber; } -- cgit v1.2.3