UNPKG

@modern-kit/utils

Version:
1 lines 2.27 kB
{"version":3,"file":"index.mjs","sources":["../../../src/number/random/index.ts"],"sourcesContent":["import { isNil } from '../../validator/isNil';\n\n/**\n * @description 0부터 지정된 최대값 사이의 실수형 난수를 생성합니다.\n *\n * @param {number} maximum - 난수 범위의 최대값입니다.\n * @returns {number} 0 이상 maximum 미만의 무작위 숫자를 반환합니다.\n *\n * @example\n * random(10); // 0 이상 10 미만의 실수형 난수를 반환\n */\nexport function random(maximum: number): number;\n\n/**\n * @description 지정된 범위 내에서 실수형 난수를 생성합니다.\n *\n * @param {number} minimum - 난수 범위의 최소값입니다.\n * @param {number} maximum - 난수 범위의 최대값입니다.\n * @returns {number} minimum 이상 maximum 미만의 난수를 반환합니다.\n *\n * @example\n * random(10, 20); // 10 이상 20 미만의 실수형 난수를 반환\n */\nexport function random(minimum: number, maximum: number): number;\n\n/**\n * @description 지정된 범위 내에서 실수형 난수를 생성합니다.\n *\n * @param {number} minimum - 난수 범위의 최소값입니다.\n * @param {number} [maximum] - 난수 범위의 최대값입니다. 제공되지 않으면 `0`부터 `minimum`까지의 난수를 생성합니다.\n * @returns {number} minimum 이상 maximum 미만의 난수를 반환합니다.\n *\n * @example\n * random(10); // 0 이상 10 미만의 실수형 난수를 반환\n *\n * @example\n * random(5, 15); // 5 이상 15 미만의 실수형 난수를 반환\n */\nexport function random(minimum: number, maximum?: number): number {\n if (isNil(maximum)) {\n maximum = minimum;\n minimum = 0;\n }\n\n if (minimum > maximum) {\n throw new Error('maximum은 minimum보다 커야 합니다.');\n }\n\n const rangeSize = maximum - minimum;\n return Math.random() * rangeSize + minimum;\n}\n"],"names":[],"mappings":";;AAsCO,SAAS,MAAA,CAAO,SAAiB,OAAA,EAA0B;AAChE,EAAA,IAAI,KAAA,CAAM,OAAO,CAAA,EAAG;AAClB,IAAA,OAAA,GAAU,OAAA;AACV,IAAA,OAAA,GAAU,CAAA;AAAA,EACZ;AAEA,EAAA,IAAI,UAAU,OAAA,EAAS;AACrB,IAAA,MAAM,IAAI,MAAM,oEAA4B,CAAA;AAAA,EAC9C;AAEA,EAAA,MAAM,YAAY,OAAA,GAAU,OAAA;AAC5B,EAAA,OAAO,IAAA,CAAK,MAAA,EAAO,GAAI,SAAA,GAAY,OAAA;AACrC;;;;"}