{"version":3,"file":"index.cjs","sources":[""],"sourcesContent":["export type TGetRandomIntFromIntervalArgs = Parameters<typeof getRandomIntFromInterval>;\r\n\r\nexport type TGetRandomIntFromIntervalReturn = ReturnType<typeof getRandomIntFromInterval>;\r\n\r\n/**\r\n * Gets a random integer between min and max (inclusive)\r\n * @param {number} [min=1] Min value\r\n * @param {number} [max=1000000000] Max value\r\n * @returns {number} Random integer in [min, max]\r\n * @throws {TypeError} getRandomIntFromInterval: min and max must be numbers\r\n * @example\r\n * // How to generate random number between two numbers?\r\n * const randomNumber = getRandomIntFromInterval(1, 10);\r\n * console.log(randomNumber >= 1 && randomNumber <= 10); // => true\r\n */\r\nexport const getRandomIntFromInterval = (min: number = 1, max: number = 1_000_000_000): number => {\r\n  if (typeof min !== \"number\" || typeof max !== \"number\" || Number.isNaN(min) || Number.isNaN(max)) {\r\n    throw new TypeError(\"getRandomIntFromInterval: min and max must be numbers\");\r\n  }\r\n\r\n  min = Math.round(min);\r\n  max = Math.round(max);\r\n\r\n  if (max < min) {\r\n    const t = min;\r\n    min = max;\r\n    max = t;\r\n  }\r\n\r\n  const span = (max - min) + 1;\r\n  if (!Number.isFinite(span) || span <= 0) {\r\n    return min;\r\n  }\r\n\r\n  return Math.floor(Math.random() * span + min);\r\n};\r\n"],"names":["getRandomIntFromInterval","min","max","Number","isNaN","TypeError","Math","round","t","span","isFinite","floor","random"],"mappings":";;;;;;;;;;;GAeO,MAAMA,yBAA2BA,CAACC,IAAc,EAAGC,IAAc,iBACtE,UAAWD,MAAQ,iBAAmBC,MAAQ,UAAYC,OAAOC,MAAMH,MAAQE,OAAOC,MAAMF,KAC1F,MAAM,IAAIG,UAAU,yDAGtBJ,IAAMK,KAAKC,MAAMN,KACjBC,IAAMI,KAAKC,MAAML,KAEjB,GAAIA,IAAMD,IAAK,CACb,MAAMO,EAAIP,IACVA,IAAMC,IACNA,IAAMM,CACR,CAEA,MAAMC,KAAQP,IAAMD,IAAO,EAC3B,IAAKE,OAAOO,SAASD,OAASA,MAAQ,EACpC,OAAOR,IAGT,OAAOK,KAAKK,MAAML,KAAKM,SAAWH,KAAOR"}