From fd61cf338826d21d3fb38f3fdd7c4e07d42c4611 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Wed, 6 Sep 2023 17:06:13 +0200 Subject: [PATCH] feat(formatter): Add decimal point to random number transformer --- .../actions/numbers/transformers/random-number.ts | 11 ++++++++--- .../list-transform-options/numbers/random-number.ts | 9 +++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/apps/formatter/actions/numbers/transformers/random-number.ts b/packages/backend/src/apps/formatter/actions/numbers/transformers/random-number.ts index fa0bae73a5..b82ac034d8 100644 --- a/packages/backend/src/apps/formatter/actions/numbers/transformers/random-number.ts +++ b/packages/backend/src/apps/formatter/actions/numbers/transformers/random-number.ts @@ -1,10 +1,15 @@ import { IGlobalVariable } from '@automatisch/types'; const randomNumber = ($: IGlobalVariable) => { - const lowerRange = Number($.step.parameters.lowerRange) as number; - const upperRange = Number($.step.parameters.upperRange) as number; + const lowerRange = Number($.step.parameters.lowerRange); + const upperRange = Number($.step.parameters.upperRange); + const decimalPoints = Number($.step.parameters.decimalPoints) || 0; - return Math.floor(Math.random() * (upperRange - lowerRange + 1)) + lowerRange; + return Number( + (Math.random() * (upperRange - lowerRange) + lowerRange).toFixed( + decimalPoints + ) + ); }; export default randomNumber; diff --git a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/numbers/random-number.ts b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/numbers/random-number.ts index 651d805e45..4a6cb2ac85 100644 --- a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/numbers/random-number.ts +++ b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/numbers/random-number.ts @@ -15,6 +15,15 @@ const randomNumber = [ description: 'The highest number to generate.', variables: true, }, + { + label: 'Decimal points', + key: 'decimalPoints', + type: 'string' as const, + required: false, + description: + 'The number of digits after the decimal point. It can be an integer between 0 and 15.', + variables: true, + }, ]; export default randomNumber;