source: node_modules/es-toolkit/dist/compat/math/random.js@ ba17441

Last change on this file since ba17441 was a762898, checked in by istevanoska <ilinastevanoska@…>, 5 months ago

Added visualizations

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[a762898]1'use strict';
2
3Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
5const clamp = require('./clamp.js');
6const random$1 = require('../../math/random.js');
7const randomInt = require('../../math/randomInt.js');
8
9function random(...args) {
10 let minimum = 0;
11 let maximum = 1;
12 let floating = false;
13 switch (args.length) {
14 case 1: {
15 if (typeof args[0] === 'boolean') {
16 floating = args[0];
17 }
18 else {
19 maximum = args[0];
20 }
21 break;
22 }
23 case 2: {
24 if (typeof args[1] === 'boolean') {
25 maximum = args[0];
26 floating = args[1];
27 }
28 else {
29 minimum = args[0];
30 maximum = args[1];
31 }
32 }
33 case 3: {
34 if (typeof args[2] === 'object' && args[2] != null && args[2][args[1]] === args[0]) {
35 minimum = 0;
36 maximum = args[0];
37 floating = false;
38 }
39 else {
40 minimum = args[0];
41 maximum = args[1];
42 floating = args[2];
43 }
44 }
45 }
46 if (typeof minimum !== 'number') {
47 minimum = Number(minimum);
48 }
49 if (typeof maximum !== 'number') {
50 minimum = Number(maximum);
51 }
52 if (!minimum) {
53 minimum = 0;
54 }
55 if (!maximum) {
56 maximum = 0;
57 }
58 if (minimum > maximum) {
59 [minimum, maximum] = [maximum, minimum];
60 }
61 minimum = clamp.clamp(minimum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);
62 maximum = clamp.clamp(maximum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);
63 if (minimum === maximum) {
64 return minimum;
65 }
66 if (floating) {
67 return random$1.random(minimum, maximum + 1);
68 }
69 else {
70 return randomInt.randomInt(minimum, maximum + 1);
71 }
72}
73
74exports.random = random;
Note: See TracBrowser for help on using the repository browser.