topkat-utils 1.2.83 → 1.2.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,8 @@ export declare function round2(number: number | string, decimals?: number): numb
6
6
  export declare function isBetween(number: number, min: number, max: number, inclusive?: boolean): boolean;
7
7
  /** Random number between two values with 0 decimals by default */
8
8
  export declare function random(nb1: number, nb2: number, nbOfDecimals?: number): number;
9
+ /** Random multiple of a number between two values */
10
+ export declare function randomMultipleOf(multiple: number, nb1: number, nb2: number): number;
9
11
  /** Sum all values of an array, all values MUST be numbers */
10
12
  export declare function sumArray(array: number[]): number;
11
13
  /** Moyenne / average between array of values
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.minMax = exports.pad = exports.moyenne = exports.sumArray = exports.random = exports.isBetween = exports.round2 = exports.round = void 0;
3
+ exports.minMax = exports.pad = exports.moyenne = exports.sumArray = exports.randomMultipleOf = exports.random = exports.isBetween = exports.round2 = exports.round = void 0;
4
4
  //----------------------------------------
5
5
  // MATH UTILS
6
6
  //----------------------------------------
@@ -17,6 +17,15 @@ exports.isBetween = isBetween;
17
17
  /** Random number between two values with 0 decimals by default */
18
18
  function random(nb1, nb2, nbOfDecimals = 0) { return round(Math.random() * (nb2 - nb1) + nb1, nbOfDecimals); }
19
19
  exports.random = random;
20
+ /** Random multiple of a number between two values */
21
+ function randomMultipleOf(multiple, nb1, nb2) {
22
+ if (multiple === 0)
23
+ multiple = 1;
24
+ let randomNumber = Math.random() * (nb2 - nb1) + nb1;
25
+ randomNumber = Math.round(randomNumber / multiple) * multiple;
26
+ return randomNumber < 1 ? randomNumber = multiple : randomNumber;
27
+ }
28
+ exports.randomMultipleOf = randomMultipleOf;
20
29
  /** Sum all values of an array, all values MUST be numbers */
21
30
  function sumArray(array) {
22
31
  return array.filter(item => typeof item === 'number').reduce((sum, val) => (0, isset_1.isset)(val) ? val + sum : sum, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"math-utils.js","sourceRoot":"","sources":["../../src/math-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,aAAa;AACb,0CAA0C;AAC1C,mCAA+B;AAE/B,uDAAuD;AACvD,SAAgB,KAAK,CAAC,MAAuB,EAAE,QAAQ,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA,CAAC,CAAC;AAAhM,sBAAgM;AAChM,uDAAuD;AACvD,SAAgB,MAAM,CAAC,MAAuB,EAAE,QAAQ,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA,CAAC,CAAC;AAAhG,wBAAgG;AAEhG,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,MAAc,EAAE,GAAW,EAAE,GAAW,EAAE,SAAS,GAAG,IAAI,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,CAAA,CAAC,CAAC;AAA1K,8BAA0K;AAE1K,kEAAkE;AAClE,SAAgB,MAAM,CAAC,GAAW,EAAE,GAAW,EAAE,YAAY,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,YAAY,CAAC,CAAA,CAAC,CAAC;AAApI,wBAAoI;AAEpI,6DAA6D;AAC7D,SAAgB,QAAQ,CAAC,KAAe;IACpC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;AAC/G,CAAC;AAFD,4BAEC;AAED;;EAEE;AACF,SAAgB,OAAO,CAAC,KAAe,EAAE,YAAY,GAAG,CAAC;IACrD,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAC9D,CAAC;AAFD,0BAEC;AAED,6CAA6C;AAC7C,SAAgB,GAAG,CAAC,WAA4B,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC;AAAjH,kBAAiH;AAGjH;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,EAAU,EAAE,GAAW,EAAE,GAAW,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC;AAAxG,wBAAwG"}
1
+ {"version":3,"file":"math-utils.js","sourceRoot":"","sources":["../../src/math-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topkat-utils",
3
- "version": "1.2.83",
3
+ "version": "1.2.84",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
6
  "main": "dist",
package/src/math-utils.ts CHANGED
@@ -14,6 +14,17 @@ export function isBetween(number: number, min: number, max: number, inclusive =
14
14
  /** Random number between two values with 0 decimals by default */
15
15
  export function random(nb1: number, nb2: number, nbOfDecimals = 0) { return round(Math.random() * (nb2 - nb1) + nb1, nbOfDecimals) }
16
16
 
17
+ /** Random multiple of a number between two values */
18
+ export function randomMultipleOf(multiple: number, nb1: number, nb2: number) {
19
+
20
+ if (multiple === 0) multiple = 1
21
+
22
+ let randomNumber = Math.random() * (nb2 - nb1) + nb1
23
+ randomNumber = Math.round(randomNumber / multiple) * multiple
24
+
25
+ return randomNumber < 1 ? randomNumber = multiple : randomNumber
26
+ }
27
+
17
28
  /** Sum all values of an array, all values MUST be numbers */
18
29
  export function sumArray(array: number[]) {
19
30
  return array.filter(item => typeof item === 'number').reduce((sum, val) => isset(val) ? val + sum : sum, 0)