umt 2.1.2 → 2.2.0

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.
Files changed (920) hide show
  1. package/module/Advance/rangeAdvance.d.ts +10 -6
  2. package/module/Advance/rangeAdvance.js +10 -6
  3. package/module/Advance/rangeAdvance.js.map +1 -1
  4. package/module/Array/arraysJoin.d.ts +4 -4
  5. package/module/Array/arraysJoin.js +4 -4
  6. package/module/Array/binarySearch.d.ts +4 -3
  7. package/module/Array/binarySearch.js +4 -3
  8. package/module/Array/binarySearch.js.map +1 -1
  9. package/module/Array/checkFlagAlignment.d.ts +3 -3
  10. package/module/Array/checkFlagAlignment.js +7 -7
  11. package/module/Array/checkFlagAlignment.js.map +1 -1
  12. package/module/Array/chunk.d.ts +4 -4
  13. package/module/Array/compact.d.ts +8 -0
  14. package/module/Array/compact.js +8 -0
  15. package/module/Array/compact.js.map +1 -1
  16. package/module/Array/compareFunctionDefault.d.ts +13 -0
  17. package/module/Array/compareFunctionDefault.js +13 -0
  18. package/module/Array/compareFunctionDefault.js.map +1 -1
  19. package/module/Array/drop.d.ts +5 -5
  20. package/module/Array/drop.js +5 -5
  21. package/module/Array/dualPivotQuickSort.d.ts +16 -0
  22. package/module/Array/dualPivotQuickSort.js +152 -0
  23. package/module/Array/dualPivotQuickSort.js.map +1 -0
  24. package/module/Array/first.d.ts +3 -3
  25. package/module/Array/first.js +3 -3
  26. package/module/Array/generateNumberArray.d.ts +6 -6
  27. package/module/Array/generateNumberArray.js +6 -6
  28. package/module/Array/getArraysCommon.d.ts +4 -4
  29. package/module/Array/getArraysCommon.js +4 -4
  30. package/module/Array/getArraysDiff.d.ts +4 -4
  31. package/module/Array/getArraysDiff.js +4 -4
  32. package/module/Array/groupBy.d.ts +8 -4
  33. package/module/Array/groupBy.js +8 -4
  34. package/module/Array/groupBy.js.map +1 -1
  35. package/module/Array/index.d.ts +1 -0
  36. package/module/Array/index.js +1 -0
  37. package/module/Array/index.js.map +1 -1
  38. package/module/Array/insertionSort.d.ts +8 -7
  39. package/module/Array/insertionSort.js +6 -6
  40. package/module/Array/insertionSort.js.map +1 -1
  41. package/module/Array/mergeSort.d.ts +6 -5
  42. package/module/Array/mergeSort.js +9 -9
  43. package/module/Array/mergeSort.js.map +1 -1
  44. package/module/Array/quickSort.d.ts +12 -11
  45. package/module/Array/quickSort.js +44 -10
  46. package/module/Array/quickSort.js.map +1 -1
  47. package/module/Array/randomSelect.d.ts +5 -5
  48. package/module/Array/randomSelect.js +5 -5
  49. package/module/Array/range.d.ts +5 -5
  50. package/module/Array/range.js +26 -10
  51. package/module/Array/range.js.map +1 -1
  52. package/module/Array/shuffle.d.ts +3 -3
  53. package/module/Array/shuffle.js +3 -3
  54. package/module/Array/shuffle2DArray.d.ts +4 -4
  55. package/module/Array/shuffle2DArray.js +6 -6
  56. package/module/Array/shuffle2DArray.js.map +1 -1
  57. package/module/Array/sum.d.ts +3 -3
  58. package/module/Array/sum.js +4 -4
  59. package/module/Array/sum.js.map +1 -1
  60. package/module/Array/timSort.d.ts +13 -11
  61. package/module/Array/timSort.js +33 -9
  62. package/module/Array/timSort.js.map +1 -1
  63. package/module/Array/zip.d.ts +6 -3
  64. package/module/Array/zip.js +6 -3
  65. package/module/Array/zip.js.map +1 -1
  66. package/module/Array/zipLongest.d.ts +8 -5
  67. package/module/Array/zipLongest.js +8 -5
  68. package/module/Array/zipLongest.js.map +1 -1
  69. package/module/Color/cmykToRgba.d.ts +7 -7
  70. package/module/Color/cmykToRgba.js +12 -12
  71. package/module/Color/cmykToRgba.js.map +1 -1
  72. package/module/Color/hexaToRgba.d.ts +4 -3
  73. package/module/Color/hexaToRgba.js +18 -7
  74. package/module/Color/hexaToRgba.js.map +1 -1
  75. package/module/Color/hslaToRgba.d.ts +7 -6
  76. package/module/Color/hslaToRgba.js +19 -15
  77. package/module/Color/hslaToRgba.js.map +1 -1
  78. package/module/Color/rgbaToCmyk.d.ts +3 -3
  79. package/module/Color/rgbaToCmyk.js +14 -3
  80. package/module/Color/rgbaToCmyk.js.map +1 -1
  81. package/module/Color/rgbaToHexA.d.ts +4 -4
  82. package/module/Color/rgbaToHexA.js +5 -5
  83. package/module/Color/rgbaToHexA.js.map +1 -1
  84. package/module/Color/rgbaToHsla.d.ts +4 -3
  85. package/module/Color/rgbaToHsla.js +15 -3
  86. package/module/Color/rgbaToHsla.js.map +1 -1
  87. package/module/Consts/clock.d.ts +11 -11
  88. package/module/Consts/clock.js +11 -11
  89. package/module/Consts/httpStatus/httpClientErrorStatus.d.ts +28 -0
  90. package/module/Consts/httpStatus/httpClientErrorStatus.js +28 -0
  91. package/module/Consts/httpStatus/httpClientErrorStatus.js.map +1 -1
  92. package/module/Consts/httpStatus/httpInformationalStatus.d.ts +9 -0
  93. package/module/Consts/httpStatus/httpInformationalStatus.js +9 -0
  94. package/module/Consts/httpStatus/httpInformationalStatus.js.map +1 -1
  95. package/module/Consts/httpStatus/httpRedirectionStatus.d.ts +11 -0
  96. package/module/Consts/httpStatus/httpRedirectionStatus.js +11 -0
  97. package/module/Consts/httpStatus/httpRedirectionStatus.js.map +1 -1
  98. package/module/Consts/httpStatus/httpServerErrorStatus.d.ts +10 -0
  99. package/module/Consts/httpStatus/httpServerErrorStatus.js +10 -0
  100. package/module/Consts/httpStatus/httpServerErrorStatus.js.map +1 -1
  101. package/module/Consts/httpStatus/httpSuccessStatus.d.ts +11 -0
  102. package/module/Consts/httpStatus/httpSuccessStatus.js +11 -0
  103. package/module/Consts/httpStatus/httpSuccessStatus.js.map +1 -1
  104. package/module/Date/birthday.d.ts +7 -6
  105. package/module/Date/birthday.js +7 -6
  106. package/module/Date/birthday.js.map +1 -1
  107. package/module/Date/dateRange.d.ts +7 -4
  108. package/module/Date/dateRange.js +7 -4
  109. package/module/Date/dateRange.js.map +1 -1
  110. package/module/Date/dayOfWeek.d.ts +4 -4
  111. package/module/Date/dayOfWeek.js +4 -4
  112. package/module/Date/format.d.ts +30 -4
  113. package/module/Date/format.js +30 -4
  114. package/module/Date/format.js.map +1 -1
  115. package/module/Date/getDay.d.ts +8 -5
  116. package/module/Date/getDay.js +8 -5
  117. package/module/Date/getDay.js.map +1 -1
  118. package/module/Date/getTimezoneOffsetString.d.ts +3 -3
  119. package/module/Date/getTimezoneOffsetString.js +3 -3
  120. package/module/Date/isLeapYear.d.ts +8 -3
  121. package/module/Date/isLeapYear.js +8 -3
  122. package/module/Date/isLeapYear.js.map +1 -1
  123. package/module/Date/new.d.ts +20 -20
  124. package/module/Date/new.js +21 -21
  125. package/module/Date/new.js.map +1 -1
  126. package/module/Date/now.d.ts +7 -4
  127. package/module/Date/now.js +7 -4
  128. package/module/Date/now.js.map +1 -1
  129. package/module/Error/safeExecute.d.ts +21 -0
  130. package/module/Error/safeExecute.js +20 -0
  131. package/module/Error/safeExecute.js.map +1 -1
  132. package/module/IP/cidrToLong.d.ts +4 -3
  133. package/module/IP/cidrToLong.js +10 -4
  134. package/module/IP/cidrToLong.js.map +1 -1
  135. package/module/IP/cidrToSubnetMask.d.ts +4 -3
  136. package/module/IP/cidrToSubnetMask.js +4 -3
  137. package/module/IP/cidrToSubnetMask.js.map +1 -1
  138. package/module/IP/getIpClass.d.ts +3 -3
  139. package/module/IP/getIpClass.js +30 -18
  140. package/module/IP/getIpClass.js.map +1 -1
  141. package/module/IP/getNetworkAddress.d.ts +5 -4
  142. package/module/IP/getNetworkAddress.js +36 -6
  143. package/module/IP/getNetworkAddress.js.map +1 -1
  144. package/module/IP/ipToBinaryString.d.ts +4 -3
  145. package/module/IP/ipToBinaryString.js +32 -7
  146. package/module/IP/ipToBinaryString.js.map +1 -1
  147. package/module/IP/ipToLong.d.ts +4 -3
  148. package/module/IP/ipToLong.js +4 -3
  149. package/module/IP/ipToLong.js.map +1 -1
  150. package/module/IP/isInRange.d.ts +6 -5
  151. package/module/IP/isInRange.js +33 -7
  152. package/module/IP/isInRange.js.map +1 -1
  153. package/module/IP/isPrivateIp.d.ts +4 -3
  154. package/module/IP/isPrivateIp.js +17 -9
  155. package/module/IP/isPrivateIp.js.map +1 -1
  156. package/module/IP/longToIp.d.ts +4 -3
  157. package/module/IP/longToIp.js +16 -4
  158. package/module/IP/longToIp.js.map +1 -1
  159. package/module/IP/subnetMaskToCidr.d.ts +4 -3
  160. package/module/IP/subnetMaskToCidr.js +28 -12
  161. package/module/IP/subnetMaskToCidr.js.map +1 -1
  162. package/module/Math/addition.d.ts +3 -3
  163. package/module/Math/addition.js +3 -3
  164. package/module/Math/average.d.ts +7 -4
  165. package/module/Math/average.js +7 -4
  166. package/module/Math/average.js.map +1 -1
  167. package/module/Math/bitwise.d.ts +5 -5
  168. package/module/Math/bitwise.js +5 -5
  169. package/module/Math/calculator/calculator.d.ts +9 -7
  170. package/module/Math/calculator/calculator.js +9 -7
  171. package/module/Math/calculator/calculator.js.map +1 -1
  172. package/module/Math/calculator/calculatorInitialization.d.ts +4 -3
  173. package/module/Math/calculator/calculatorInitialization.js +6 -5
  174. package/module/Math/calculator/calculatorInitialization.js.map +1 -1
  175. package/module/Math/calculator/convertCurrency.d.ts +6 -4
  176. package/module/Math/calculator/convertCurrency.js +6 -4
  177. package/module/Math/calculator/convertCurrency.js.map +1 -1
  178. package/module/Math/calculator/core.js +13 -13
  179. package/module/Math/calculator/core.js.map +1 -1
  180. package/module/Math/calculator/literalExpression.d.ts +5 -3
  181. package/module/Math/calculator/literalExpression.js +12 -10
  182. package/module/Math/calculator/literalExpression.js.map +1 -1
  183. package/module/Math/degToRad.d.ts +3 -3
  184. package/module/Math/degToRad.js +3 -3
  185. package/module/Math/deviationValue.d.ts +5 -5
  186. package/module/Math/deviationValue.js +5 -5
  187. package/module/Math/division.d.ts +5 -5
  188. package/module/Math/division.js +31 -21
  189. package/module/Math/division.js.map +1 -1
  190. package/module/Math/factorial.d.ts +3 -3
  191. package/module/Math/factorial.js +3 -3
  192. package/module/Math/factorize.d.ts +3 -3
  193. package/module/Math/factorize.js +3 -3
  194. package/module/Math/flexibleNumberConversion.d.ts +11 -11
  195. package/module/Math/flexibleNumberConversion.js +19 -19
  196. package/module/Math/flexibleNumberConversion.js.map +1 -1
  197. package/module/Math/gcd.d.ts +5 -5
  198. package/module/Math/gcd.js +6 -6
  199. package/module/Math/gcd.js.map +1 -1
  200. package/module/Math/getDecimalLength.d.ts +7 -4
  201. package/module/Math/getDecimalLength.js +9 -5
  202. package/module/Math/getDecimalLength.js.map +1 -1
  203. package/module/Math/lcm.d.ts +4 -4
  204. package/module/Math/lcm.js +5 -5
  205. package/module/Math/lcm.js.map +1 -1
  206. package/module/Math/linearCongruentialGenerator.d.ts +6 -6
  207. package/module/Math/linearCongruentialGenerator.js +6 -6
  208. package/module/Math/mathConverter.d.ts +7 -3
  209. package/module/Math/mathConverter.js +7 -3
  210. package/module/Math/mathConverter.js.map +1 -1
  211. package/module/Math/mathSeparator.d.ts +8 -3
  212. package/module/Math/mathSeparator.js +8 -3
  213. package/module/Math/mathSeparator.js.map +1 -1
  214. package/module/Math/max.d.ts +4 -3
  215. package/module/Math/max.js +4 -3
  216. package/module/Math/max.js.map +1 -1
  217. package/module/Math/median.d.ts +3 -3
  218. package/module/Math/median.js +3 -3
  219. package/module/Math/min.d.ts +4 -3
  220. package/module/Math/min.js +4 -3
  221. package/module/Math/min.js.map +1 -1
  222. package/module/Math/multiples.d.ts +4 -4
  223. package/module/Math/multiples.js +4 -4
  224. package/module/Math/multiplication.d.ts +3 -3
  225. package/module/Math/multiplication.js +3 -3
  226. package/module/Math/nCr.d.ts +7 -4
  227. package/module/Math/nCr.js +7 -4
  228. package/module/Math/nCr.js.map +1 -1
  229. package/module/Math/nHr.d.ts +7 -4
  230. package/module/Math/nHr.js +7 -4
  231. package/module/Math/nHr.js.map +1 -1
  232. package/module/Math/nPr.d.ts +7 -4
  233. package/module/Math/nPr.js +7 -4
  234. package/module/Math/nPr.js.map +1 -1
  235. package/module/Math/primeFactorization.d.ts +6 -3
  236. package/module/Math/primeFactorization.js +11 -8
  237. package/module/Math/primeFactorization.js.map +1 -1
  238. package/module/Math/quotient.d.ts +7 -4
  239. package/module/Math/quotient.js +7 -4
  240. package/module/Math/quotient.js.map +1 -1
  241. package/module/Math/radToDeg.d.ts +5 -3
  242. package/module/Math/radToDeg.js +5 -3
  243. package/module/Math/radToDeg.js.map +1 -1
  244. package/module/Math/random.d.ts +6 -5
  245. package/module/Math/random.js +6 -5
  246. package/module/Math/random.js.map +1 -1
  247. package/module/Math/reduce.d.ts +9 -4
  248. package/module/Math/reduce.js +16 -6
  249. package/module/Math/reduce.js.map +1 -1
  250. package/module/Math/repeatedTrial.d.ts +5 -5
  251. package/module/Math/repeatedTrial.js +5 -5
  252. package/module/Math/roundOf.d.ts +7 -5
  253. package/module/Math/roundOf.js +8 -6
  254. package/module/Math/roundOf.js.map +1 -1
  255. package/module/Math/solveEquation.d.ts +12 -13
  256. package/module/Math/solveEquation.js +32 -37
  257. package/module/Math/solveEquation.js.map +1 -1
  258. package/module/Math/standardDeviation.d.ts +8 -3
  259. package/module/Math/standardDeviation.js +13 -7
  260. package/module/Math/standardDeviation.js.map +1 -1
  261. package/module/Math/subtract.d.ts +10 -4
  262. package/module/Math/subtract.js +12 -6
  263. package/module/Math/subtract.js.map +1 -1
  264. package/module/Math/toBaseN.d.ts +8 -6
  265. package/module/Math/toBaseN.js +9 -7
  266. package/module/Math/toBaseN.js.map +1 -1
  267. package/module/Math/toCelsius.d.ts +5 -3
  268. package/module/Math/toCelsius.js +5 -3
  269. package/module/Math/toCelsius.js.map +1 -1
  270. package/module/Math/toKelvin.d.ts +5 -3
  271. package/module/Math/toKelvin.js +5 -3
  272. package/module/Math/toKelvin.js.map +1 -1
  273. package/module/Math/uuidv7.d.ts +10 -2
  274. package/module/Math/uuidv7.js +10 -2
  275. package/module/Math/uuidv7.js.map +1 -1
  276. package/module/Math/valueSwap.d.ts +5 -4
  277. package/module/Math/valueSwap.js +5 -4
  278. package/module/Math/valueSwap.js.map +1 -1
  279. package/module/Math/xoshiro256.d.ts +8 -3
  280. package/module/Math/xoshiro256.js +8 -3
  281. package/module/Math/xoshiro256.js.map +1 -1
  282. package/module/Object/has.d.ts +4 -4
  283. package/module/Object/has.js +4 -4
  284. package/module/Object/keyBy.d.ts +3 -3
  285. package/module/Object/keyBy.js +4 -4
  286. package/module/Object/pick.d.ts +6 -6
  287. package/module/Object/pick.js +6 -6
  288. package/module/Object/pickDeep.d.ts +7 -7
  289. package/module/Object/pickDeep.js +7 -7
  290. package/module/Simple/Array/quickSortSimple.d.ts +9 -7
  291. package/module/Simple/Array/quickSortSimple.js +7 -6
  292. package/module/Simple/Array/quickSortSimple.js.map +1 -1
  293. package/module/Simple/Date/birthdaySimple.d.ts +4 -4
  294. package/module/Simple/Date/birthdaySimple.js +4 -4
  295. package/module/Simple/Date/dayOfWeekSimple.d.ts +4 -4
  296. package/module/Simple/Date/nowSimple.d.ts +3 -3
  297. package/module/Simple/Date/nowSimple.js +3 -3
  298. package/module/Simple/Math/deviationValueSimple.d.ts +10 -11
  299. package/module/Simple/Math/deviationValueSimple.js +14 -13
  300. package/module/Simple/Math/deviationValueSimple.js.map +1 -1
  301. package/module/String/deleteSpaces.d.ts +8 -4
  302. package/module/String/deleteSpaces.js +8 -4
  303. package/module/String/deleteSpaces.js.map +1 -1
  304. package/module/String/formatString.d.ts +8 -8
  305. package/module/String/formatString.js +7 -7
  306. package/module/String/formatString.js.map +1 -1
  307. package/module/String/fromBase64.d.ts +4 -3
  308. package/module/String/fromBase64.js +15 -9
  309. package/module/String/fromBase64.js.map +1 -1
  310. package/module/String/hasNoLetters.d.ts +9 -3
  311. package/module/String/hasNoLetters.js +12 -6
  312. package/module/String/hasNoLetters.js.map +1 -1
  313. package/module/String/padEnd.d.ts +5 -5
  314. package/module/String/padEnd.js +5 -5
  315. package/module/String/padStart.d.ts +11 -5
  316. package/module/String/padStart.js +17 -5
  317. package/module/String/padStart.js.map +1 -1
  318. package/module/String/randomString.d.ts +4 -4
  319. package/module/String/randomString.js +4 -4
  320. package/module/String/randomStringInitialization.d.ts +3 -3
  321. package/module/String/randomStringInitialization.js +3 -3
  322. package/module/String/reverseString.d.ts +3 -3
  323. package/module/String/reverseString.js +3 -3
  324. package/module/String/toBase64.d.ts +3 -3
  325. package/module/String/toBase64.js +3 -3
  326. package/module/String/toHalfWidth.d.ts +3 -3
  327. package/module/String/toHalfWidth.js +3 -3
  328. package/module/String/trimCharacters.d.ts +4 -4
  329. package/module/String/trimCharacters.js +4 -4
  330. package/module/String/trimEndCharacters.d.ts +10 -4
  331. package/module/String/trimEndCharacters.js +10 -4
  332. package/module/String/trimEndCharacters.js.map +1 -1
  333. package/module/String/trimStartCharacters.d.ts +10 -4
  334. package/module/String/trimStartCharacters.js +10 -4
  335. package/module/String/trimStartCharacters.js.map +1 -1
  336. package/module/Time/convertTime.d.ts +6 -6
  337. package/module/Time/convertTime.js +12 -11
  338. package/module/Time/convertTime.js.map +1 -1
  339. package/module/Tool/createPipeline.d.ts +8 -6
  340. package/module/Tool/createPipeline.js +6 -5
  341. package/module/Tool/createPipeline.js.map +1 -1
  342. package/module/Tool/parseJson.d.ts +7 -0
  343. package/module/Tool/parseJson.js +7 -0
  344. package/module/Tool/parseJson.js.map +1 -1
  345. package/module/UA/extractBrowserFromUserAgent.d.ts +12 -0
  346. package/module/UA/extractBrowserFromUserAgent.js +22 -5
  347. package/module/UA/extractBrowserFromUserAgent.js.map +1 -1
  348. package/module/UA/extractDeviceFromUserAgent.d.ts +12 -0
  349. package/module/UA/extractDeviceFromUserAgent.js +12 -0
  350. package/module/UA/extractDeviceFromUserAgent.js.map +1 -1
  351. package/module/UA/extractOsFromUserAgent.d.ts +12 -0
  352. package/module/UA/extractOsFromUserAgent.js +12 -0
  353. package/module/UA/extractOsFromUserAgent.js.map +1 -1
  354. package/module/UA/parseUserAgent.d.ts +16 -0
  355. package/module/UA/parseUserAgent.js +16 -0
  356. package/module/UA/parseUserAgent.js.map +1 -1
  357. package/module/Unit/unitConverterInitialization.d.ts +15 -0
  358. package/module/Unit/unitConverterInitialization.js +15 -0
  359. package/module/Unit/unitConverterInitialization.js.map +1 -1
  360. package/module/Validate/array/core.d.ts +12 -0
  361. package/module/Validate/array/core.js +15 -3
  362. package/module/Validate/array/core.js.map +1 -1
  363. package/module/Validate/boolean/core.d.ts +9 -0
  364. package/module/Validate/boolean/core.js +9 -0
  365. package/module/Validate/boolean/core.js.map +1 -1
  366. package/module/Validate/core/index.d.ts +10 -0
  367. package/module/Validate/core/index.js +11 -1
  368. package/module/Validate/core/index.js.map +1 -1
  369. package/module/Validate/isArray.d.ts +3 -3
  370. package/module/Validate/isArray.js +3 -3
  371. package/module/Validate/isBrowser.d.ts +1 -1
  372. package/module/Validate/isBrowser.js +1 -1
  373. package/module/Validate/isBun.d.ts +1 -1
  374. package/module/Validate/isBun.js +1 -1
  375. package/module/Validate/isDictionaryObject.d.ts +3 -3
  376. package/module/Validate/isDictionaryObject.js +3 -3
  377. package/module/Validate/isDouble.d.ts +4 -4
  378. package/module/Validate/isDouble.js +4 -4
  379. package/module/Validate/isNode.d.ts +1 -1
  380. package/module/Validate/isNode.js +1 -1
  381. package/module/Validate/isNodeWebkit.d.ts +1 -1
  382. package/module/Validate/isNodeWebkit.js +1 -1
  383. package/module/Validate/isNotEmpty.d.ts +3 -3
  384. package/module/Validate/isNotEmpty.js +4 -4
  385. package/module/Validate/isNotEmpty.js.map +1 -1
  386. package/module/Validate/isNumber.d.ts +4 -4
  387. package/module/Validate/isNumber.js +10 -4
  388. package/module/Validate/isNumber.js.map +1 -1
  389. package/module/Validate/isPerfectSquare.d.ts +8 -3
  390. package/module/Validate/isPerfectSquare.js +8 -3
  391. package/module/Validate/isPerfectSquare.js.map +1 -1
  392. package/module/Validate/isPrimeNumber.d.ts +7 -3
  393. package/module/Validate/isPrimeNumber.js +8 -4
  394. package/module/Validate/isPrimeNumber.js.map +1 -1
  395. package/module/Validate/isValueNaN.d.ts +7 -5
  396. package/module/Validate/isValueNaN.js +7 -5
  397. package/module/Validate/isValueNaN.js.map +1 -1
  398. package/module/Validate/number/core.d.ts +11 -0
  399. package/module/Validate/number/core.js +11 -0
  400. package/module/Validate/number/core.js.map +1 -1
  401. package/module/Validate/number/double.d.ts +9 -0
  402. package/module/Validate/number/double.js +9 -0
  403. package/module/Validate/number/double.js.map +1 -1
  404. package/module/Validate/number/even.d.ts +9 -0
  405. package/module/Validate/number/even.js +9 -0
  406. package/module/Validate/number/even.js.map +1 -1
  407. package/module/Validate/number/maxValue.d.ts +10 -0
  408. package/module/Validate/number/maxValue.js +10 -0
  409. package/module/Validate/number/maxValue.js.map +1 -1
  410. package/module/Validate/number/minValue.d.ts +10 -0
  411. package/module/Validate/number/minValue.js +10 -0
  412. package/module/Validate/number/minValue.js.map +1 -1
  413. package/module/Validate/number/prime.d.ts +9 -0
  414. package/module/Validate/number/prime.js +9 -0
  415. package/module/Validate/number/prime.js.map +1 -1
  416. package/module/Validate/object/core.d.ts +11 -0
  417. package/module/Validate/object/core.js +11 -0
  418. package/module/Validate/object/core.js.map +1 -1
  419. package/module/Validate/string/core.d.ts +11 -0
  420. package/module/Validate/string/core.js +11 -0
  421. package/module/Validate/string/core.js.map +1 -1
  422. package/module/Validate/string/email.d.ts +9 -0
  423. package/module/Validate/string/email.js +10 -1
  424. package/module/Validate/string/email.js.map +1 -1
  425. package/module/Validate/string/length.d.ts +11 -0
  426. package/module/Validate/string/length.js +11 -0
  427. package/module/Validate/string/length.js.map +1 -1
  428. package/module/Validate/string/maxLength.d.ts +10 -0
  429. package/module/Validate/string/maxLength.js +10 -0
  430. package/module/Validate/string/maxLength.js.map +1 -1
  431. package/module/Validate/string/minLength.d.ts +10 -0
  432. package/module/Validate/string/minLength.js +10 -0
  433. package/module/Validate/string/minLength.js.map +1 -1
  434. package/module/Validate/string/numberString.d.ts +9 -0
  435. package/module/Validate/string/numberString.js +9 -0
  436. package/module/Validate/string/numberString.js.map +1 -1
  437. package/module/Validate/string/regexMatch.d.ts +10 -0
  438. package/module/Validate/string/regexMatch.js +10 -0
  439. package/module/Validate/string/regexMatch.js.map +1 -1
  440. package/module/Validate/string/uuid.d.ts +8 -3
  441. package/module/Validate/string/uuid.js +9 -4
  442. package/module/Validate/string/uuid.js.map +1 -1
  443. package/module/Validate/type.d.ts +22 -0
  444. package/module/es5/Advance/rangeAdvance.d.ts +10 -6
  445. package/module/es5/Advance/rangeAdvance.js +10 -6
  446. package/module/es5/Array/arraysJoin.d.ts +4 -4
  447. package/module/es5/Array/arraysJoin.js +4 -4
  448. package/module/es5/Array/binarySearch.d.ts +4 -3
  449. package/module/es5/Array/binarySearch.js +4 -3
  450. package/module/es5/Array/checkFlagAlignment.d.ts +3 -3
  451. package/module/es5/Array/checkFlagAlignment.js +7 -7
  452. package/module/es5/Array/chunk.d.ts +4 -4
  453. package/module/es5/Array/chunk.js +4 -4
  454. package/module/es5/Array/compact.d.ts +8 -0
  455. package/module/es5/Array/compact.js +8 -0
  456. package/module/es5/Array/compareFunctionDefault.d.ts +13 -0
  457. package/module/es5/Array/compareFunctionDefault.js +13 -0
  458. package/module/es5/Array/drop.d.ts +5 -5
  459. package/module/es5/Array/drop.js +5 -5
  460. package/module/es5/Array/dualPivotQuickSort.d.ts +16 -0
  461. package/module/es5/Array/dualPivotQuickSort.js +201 -0
  462. package/module/es5/Array/first.d.ts +3 -3
  463. package/module/es5/Array/first.js +3 -3
  464. package/module/es5/Array/generateNumberArray.d.ts +6 -6
  465. package/module/es5/Array/generateNumberArray.js +6 -6
  466. package/module/es5/Array/getArraysCommon.d.ts +4 -4
  467. package/module/es5/Array/getArraysCommon.js +4 -4
  468. package/module/es5/Array/getArraysDiff.d.ts +4 -4
  469. package/module/es5/Array/getArraysDiff.js +4 -4
  470. package/module/es5/Array/groupBy.d.ts +8 -4
  471. package/module/es5/Array/groupBy.js +8 -4
  472. package/module/es5/Array/index.d.ts +1 -0
  473. package/module/es5/Array/index.js +11 -0
  474. package/module/es5/Array/insertionSort.d.ts +8 -7
  475. package/module/es5/Array/insertionSort.js +6 -6
  476. package/module/es5/Array/mergeSort.d.ts +6 -5
  477. package/module/es5/Array/mergeSort.js +9 -9
  478. package/module/es5/Array/quickSort.d.ts +12 -11
  479. package/module/es5/Array/quickSort.js +47 -10
  480. package/module/es5/Array/randomSelect.d.ts +5 -5
  481. package/module/es5/Array/randomSelect.js +5 -5
  482. package/module/es5/Array/range.d.ts +5 -5
  483. package/module/es5/Array/range.js +28 -10
  484. package/module/es5/Array/shuffle.d.ts +3 -3
  485. package/module/es5/Array/shuffle.js +3 -3
  486. package/module/es5/Array/shuffle2DArray.d.ts +4 -4
  487. package/module/es5/Array/shuffle2DArray.js +6 -6
  488. package/module/es5/Array/sum.d.ts +3 -3
  489. package/module/es5/Array/sum.js +4 -4
  490. package/module/es5/Array/timSort.d.ts +13 -11
  491. package/module/es5/Array/timSort.js +36 -9
  492. package/module/es5/Array/zip.d.ts +6 -3
  493. package/module/es5/Array/zip.js +6 -3
  494. package/module/es5/Array/zipLongest.d.ts +8 -5
  495. package/module/es5/Array/zipLongest.js +8 -5
  496. package/module/es5/Color/cmykToRgba.d.ts +7 -7
  497. package/module/es5/Color/cmykToRgba.js +12 -12
  498. package/module/es5/Color/hexaToRgba.d.ts +4 -3
  499. package/module/es5/Color/hexaToRgba.js +18 -6
  500. package/module/es5/Color/hslaToRgba.d.ts +7 -6
  501. package/module/es5/Color/hslaToRgba.js +19 -13
  502. package/module/es5/Color/rgbaToCmyk.d.ts +3 -3
  503. package/module/es5/Color/rgbaToCmyk.js +7 -3
  504. package/module/es5/Color/rgbaToHexA.d.ts +4 -4
  505. package/module/es5/Color/rgbaToHexA.js +5 -5
  506. package/module/es5/Color/rgbaToHsla.d.ts +4 -3
  507. package/module/es5/Color/rgbaToHsla.js +8 -3
  508. package/module/es5/Consts/clock.d.ts +11 -11
  509. package/module/es5/Consts/clock.js +11 -11
  510. package/module/es5/Consts/httpStatus/httpClientErrorStatus.d.ts +28 -0
  511. package/module/es5/Consts/httpStatus/httpClientErrorStatus.js +28 -0
  512. package/module/es5/Consts/httpStatus/httpInformationalStatus.d.ts +9 -0
  513. package/module/es5/Consts/httpStatus/httpInformationalStatus.js +9 -0
  514. package/module/es5/Consts/httpStatus/httpRedirectionStatus.d.ts +11 -0
  515. package/module/es5/Consts/httpStatus/httpRedirectionStatus.js +11 -0
  516. package/module/es5/Consts/httpStatus/httpServerErrorStatus.d.ts +10 -0
  517. package/module/es5/Consts/httpStatus/httpServerErrorStatus.js +10 -0
  518. package/module/es5/Consts/httpStatus/httpSuccessStatus.d.ts +11 -0
  519. package/module/es5/Consts/httpStatus/httpSuccessStatus.js +11 -0
  520. package/module/es5/Date/birthday.d.ts +7 -6
  521. package/module/es5/Date/birthday.js +7 -6
  522. package/module/es5/Date/dateRange.d.ts +7 -4
  523. package/module/es5/Date/dateRange.js +7 -4
  524. package/module/es5/Date/dayOfWeek.d.ts +4 -4
  525. package/module/es5/Date/dayOfWeek.js +4 -4
  526. package/module/es5/Date/format.d.ts +30 -4
  527. package/module/es5/Date/format.js +30 -4
  528. package/module/es5/Date/getDay.d.ts +8 -5
  529. package/module/es5/Date/getDay.js +8 -5
  530. package/module/es5/Date/getTimezoneOffsetString.d.ts +3 -3
  531. package/module/es5/Date/getTimezoneOffsetString.js +3 -3
  532. package/module/es5/Date/isLeapYear.d.ts +8 -3
  533. package/module/es5/Date/isLeapYear.js +8 -3
  534. package/module/es5/Date/new.d.ts +20 -20
  535. package/module/es5/Date/new.js +21 -21
  536. package/module/es5/Date/now.d.ts +7 -4
  537. package/module/es5/Date/now.js +7 -4
  538. package/module/es5/Error/safeExecute.d.ts +21 -0
  539. package/module/es5/Error/safeExecute.js +36 -0
  540. package/module/es5/IP/cidrToLong.d.ts +4 -3
  541. package/module/es5/IP/cidrToLong.js +7 -3
  542. package/module/es5/IP/cidrToSubnetMask.d.ts +4 -3
  543. package/module/es5/IP/cidrToSubnetMask.js +4 -3
  544. package/module/es5/IP/getIpClass.d.ts +3 -3
  545. package/module/es5/IP/getIpClass.js +44 -18
  546. package/module/es5/IP/getNetworkAddress.d.ts +5 -4
  547. package/module/es5/IP/getNetworkAddress.js +35 -6
  548. package/module/es5/IP/ipToBinaryString.d.ts +4 -3
  549. package/module/es5/IP/ipToBinaryString.js +44 -5
  550. package/module/es5/IP/ipToLong.d.ts +4 -3
  551. package/module/es5/IP/ipToLong.js +4 -3
  552. package/module/es5/IP/isInRange.d.ts +6 -5
  553. package/module/es5/IP/isInRange.js +34 -7
  554. package/module/es5/IP/isPrivateIp.d.ts +4 -3
  555. package/module/es5/IP/isPrivateIp.js +30 -17
  556. package/module/es5/IP/longToIp.d.ts +4 -3
  557. package/module/es5/IP/longToIp.js +17 -5
  558. package/module/es5/IP/subnetMaskToCidr.d.ts +4 -3
  559. package/module/es5/IP/subnetMaskToCidr.js +33 -12
  560. package/module/es5/Math/addition.d.ts +3 -3
  561. package/module/es5/Math/addition.js +3 -3
  562. package/module/es5/Math/average.d.ts +7 -4
  563. package/module/es5/Math/average.js +7 -4
  564. package/module/es5/Math/bitwise.d.ts +5 -5
  565. package/module/es5/Math/bitwise.js +5 -5
  566. package/module/es5/Math/calculator/calculator.d.ts +9 -7
  567. package/module/es5/Math/calculator/calculator.js +9 -7
  568. package/module/es5/Math/calculator/calculatorInitialization.d.ts +4 -3
  569. package/module/es5/Math/calculator/calculatorInitialization.js +6 -5
  570. package/module/es5/Math/calculator/convertCurrency.d.ts +6 -4
  571. package/module/es5/Math/calculator/convertCurrency.js +6 -4
  572. package/module/es5/Math/calculator/core.js +13 -13
  573. package/module/es5/Math/calculator/literalExpression.d.ts +5 -3
  574. package/module/es5/Math/calculator/literalExpression.js +12 -10
  575. package/module/es5/Math/degToRad.d.ts +3 -3
  576. package/module/es5/Math/degToRad.js +3 -3
  577. package/module/es5/Math/deviationValue.d.ts +5 -5
  578. package/module/es5/Math/deviationValue.js +5 -5
  579. package/module/es5/Math/division.d.ts +5 -5
  580. package/module/es5/Math/division.js +35 -21
  581. package/module/es5/Math/factorial.d.ts +3 -3
  582. package/module/es5/Math/factorial.js +3 -3
  583. package/module/es5/Math/factorize.d.ts +3 -3
  584. package/module/es5/Math/factorize.js +3 -3
  585. package/module/es5/Math/flexibleNumberConversion.d.ts +11 -11
  586. package/module/es5/Math/flexibleNumberConversion.js +19 -19
  587. package/module/es5/Math/gcd.d.ts +5 -5
  588. package/module/es5/Math/gcd.js +6 -6
  589. package/module/es5/Math/getDecimalLength.d.ts +7 -4
  590. package/module/es5/Math/getDecimalLength.js +9 -5
  591. package/module/es5/Math/lcm.d.ts +4 -4
  592. package/module/es5/Math/lcm.js +5 -5
  593. package/module/es5/Math/linearCongruentialGenerator.d.ts +6 -6
  594. package/module/es5/Math/linearCongruentialGenerator.js +6 -6
  595. package/module/es5/Math/mathConverter.d.ts +7 -3
  596. package/module/es5/Math/mathConverter.js +7 -3
  597. package/module/es5/Math/mathSeparator.d.ts +8 -3
  598. package/module/es5/Math/mathSeparator.js +8 -3
  599. package/module/es5/Math/max.d.ts +4 -3
  600. package/module/es5/Math/max.js +4 -3
  601. package/module/es5/Math/median.d.ts +3 -3
  602. package/module/es5/Math/median.js +3 -3
  603. package/module/es5/Math/min.d.ts +4 -3
  604. package/module/es5/Math/min.js +4 -3
  605. package/module/es5/Math/multiples.d.ts +4 -4
  606. package/module/es5/Math/multiples.js +4 -4
  607. package/module/es5/Math/multiplication.d.ts +3 -3
  608. package/module/es5/Math/multiplication.js +3 -3
  609. package/module/es5/Math/nCr.d.ts +7 -4
  610. package/module/es5/Math/nCr.js +7 -4
  611. package/module/es5/Math/nHr.d.ts +7 -4
  612. package/module/es5/Math/nHr.js +7 -4
  613. package/module/es5/Math/nPr.d.ts +7 -4
  614. package/module/es5/Math/nPr.js +7 -4
  615. package/module/es5/Math/primeFactorization.d.ts +6 -3
  616. package/module/es5/Math/primeFactorization.js +11 -8
  617. package/module/es5/Math/quotient.d.ts +7 -4
  618. package/module/es5/Math/quotient.js +7 -4
  619. package/module/es5/Math/radToDeg.d.ts +5 -3
  620. package/module/es5/Math/radToDeg.js +5 -3
  621. package/module/es5/Math/random.d.ts +6 -5
  622. package/module/es5/Math/random.js +6 -5
  623. package/module/es5/Math/reduce.d.ts +9 -4
  624. package/module/es5/Math/reduce.js +14 -8
  625. package/module/es5/Math/repeatedTrial.d.ts +5 -5
  626. package/module/es5/Math/repeatedTrial.js +5 -5
  627. package/module/es5/Math/roundOf.d.ts +7 -5
  628. package/module/es5/Math/roundOf.js +8 -6
  629. package/module/es5/Math/solveEquation.d.ts +12 -13
  630. package/module/es5/Math/solveEquation.js +34 -38
  631. package/module/es5/Math/standardDeviation.d.ts +8 -3
  632. package/module/es5/Math/standardDeviation.js +16 -7
  633. package/module/es5/Math/subtract.d.ts +10 -4
  634. package/module/es5/Math/subtract.js +12 -6
  635. package/module/es5/Math/toBaseN.d.ts +8 -6
  636. package/module/es5/Math/toBaseN.js +9 -7
  637. package/module/es5/Math/toCelsius.d.ts +5 -3
  638. package/module/es5/Math/toCelsius.js +5 -3
  639. package/module/es5/Math/toKelvin.d.ts +5 -3
  640. package/module/es5/Math/toKelvin.js +5 -3
  641. package/module/es5/Math/uuidv7.d.ts +10 -2
  642. package/module/es5/Math/uuidv7.js +10 -2
  643. package/module/es5/Math/valueSwap.d.ts +5 -4
  644. package/module/es5/Math/valueSwap.js +5 -4
  645. package/module/es5/Math/xoshiro256.d.ts +8 -3
  646. package/module/es5/Math/xoshiro256.js +8 -3
  647. package/module/es5/Object/has.d.ts +4 -4
  648. package/module/es5/Object/has.js +4 -4
  649. package/module/es5/Object/keyBy.d.ts +3 -3
  650. package/module/es5/Object/keyBy.js +4 -4
  651. package/module/es5/Object/pick.d.ts +6 -6
  652. package/module/es5/Object/pick.js +6 -6
  653. package/module/es5/Object/pickDeep.d.ts +7 -7
  654. package/module/es5/Object/pickDeep.js +7 -7
  655. package/module/es5/Simple/Array/quickSortSimple.d.ts +9 -7
  656. package/module/es5/Simple/Array/quickSortSimple.js +7 -6
  657. package/module/es5/Simple/Date/birthdaySimple.d.ts +4 -4
  658. package/module/es5/Simple/Date/birthdaySimple.js +4 -4
  659. package/module/es5/Simple/Date/dayOfWeekSimple.d.ts +4 -4
  660. package/module/es5/Simple/Date/dayOfWeekSimple.js +4 -4
  661. package/module/es5/Simple/Date/nowSimple.d.ts +3 -3
  662. package/module/es5/Simple/Date/nowSimple.js +3 -3
  663. package/module/es5/Simple/Math/deviationValueSimple.d.ts +10 -11
  664. package/module/es5/Simple/Math/deviationValueSimple.js +23 -12
  665. package/module/es5/String/deleteSpaces.d.ts +8 -4
  666. package/module/es5/String/deleteSpaces.js +8 -4
  667. package/module/es5/String/formatString.d.ts +8 -8
  668. package/module/es5/String/formatString.js +7 -7
  669. package/module/es5/String/fromBase64.d.ts +4 -3
  670. package/module/es5/String/fromBase64.js +14 -9
  671. package/module/es5/String/hasNoLetters.d.ts +9 -3
  672. package/module/es5/String/hasNoLetters.js +12 -6
  673. package/module/es5/String/padEnd.d.ts +5 -5
  674. package/module/es5/String/padEnd.js +5 -5
  675. package/module/es5/String/padStart.d.ts +11 -5
  676. package/module/es5/String/padStart.js +20 -5
  677. package/module/es5/String/randomString.d.ts +4 -4
  678. package/module/es5/String/randomString.js +4 -4
  679. package/module/es5/String/randomStringInitialization.d.ts +3 -3
  680. package/module/es5/String/randomStringInitialization.js +3 -3
  681. package/module/es5/String/reverseString.d.ts +3 -3
  682. package/module/es5/String/reverseString.js +3 -3
  683. package/module/es5/String/toBase64.d.ts +3 -3
  684. package/module/es5/String/toBase64.js +3 -3
  685. package/module/es5/String/toHalfWidth.d.ts +3 -3
  686. package/module/es5/String/toHalfWidth.js +3 -3
  687. package/module/es5/String/trimCharacters.d.ts +4 -4
  688. package/module/es5/String/trimCharacters.js +4 -4
  689. package/module/es5/String/trimEndCharacters.d.ts +10 -4
  690. package/module/es5/String/trimEndCharacters.js +10 -4
  691. package/module/es5/String/trimStartCharacters.d.ts +10 -4
  692. package/module/es5/String/trimStartCharacters.js +10 -4
  693. package/module/es5/Time/convertTime.d.ts +6 -6
  694. package/module/es5/Time/convertTime.js +12 -11
  695. package/module/es5/Tool/createPipeline.d.ts +8 -6
  696. package/module/es5/Tool/createPipeline.js +10 -8
  697. package/module/es5/Tool/parseJson.d.ts +7 -0
  698. package/module/es5/Tool/parseJson.js +7 -0
  699. package/module/es5/UA/extractBrowserFromUserAgent.d.ts +12 -0
  700. package/module/es5/UA/extractBrowserFromUserAgent.js +22 -5
  701. package/module/es5/UA/extractDeviceFromUserAgent.d.ts +12 -0
  702. package/module/es5/UA/extractDeviceFromUserAgent.js +12 -0
  703. package/module/es5/UA/extractOsFromUserAgent.d.ts +12 -0
  704. package/module/es5/UA/extractOsFromUserAgent.js +12 -0
  705. package/module/es5/UA/parseUserAgent.d.ts +16 -0
  706. package/module/es5/UA/parseUserAgent.js +16 -0
  707. package/module/es5/Unit/unitConverterInitialization.d.ts +15 -0
  708. package/module/es5/Unit/unitConverterInitialization.js +15 -0
  709. package/module/es5/Validate/array/core.d.ts +12 -0
  710. package/module/es5/Validate/array/core.js +15 -4
  711. package/module/es5/Validate/boolean/core.d.ts +9 -0
  712. package/module/es5/Validate/boolean/core.js +10 -0
  713. package/module/es5/Validate/core/index.d.ts +10 -0
  714. package/module/es5/Validate/core/index.js +13 -1
  715. package/module/es5/Validate/isArray.d.ts +3 -3
  716. package/module/es5/Validate/isArray.js +3 -3
  717. package/module/es5/Validate/isBrowser.d.ts +1 -1
  718. package/module/es5/Validate/isBrowser.js +1 -1
  719. package/module/es5/Validate/isBun.d.ts +1 -1
  720. package/module/es5/Validate/isBun.js +1 -1
  721. package/module/es5/Validate/isDictionaryObject.d.ts +3 -3
  722. package/module/es5/Validate/isDictionaryObject.js +3 -3
  723. package/module/es5/Validate/isDouble.d.ts +4 -4
  724. package/module/es5/Validate/isDouble.js +4 -4
  725. package/module/es5/Validate/isNode.d.ts +1 -1
  726. package/module/es5/Validate/isNode.js +1 -1
  727. package/module/es5/Validate/isNodeWebkit.d.ts +1 -1
  728. package/module/es5/Validate/isNodeWebkit.js +1 -1
  729. package/module/es5/Validate/isNotEmpty.d.ts +3 -3
  730. package/module/es5/Validate/isNotEmpty.js +4 -4
  731. package/module/es5/Validate/isNumber.d.ts +4 -4
  732. package/module/es5/Validate/isNumber.js +11 -4
  733. package/module/es5/Validate/isPerfectSquare.d.ts +8 -3
  734. package/module/es5/Validate/isPerfectSquare.js +8 -3
  735. package/module/es5/Validate/isPrimeNumber.d.ts +7 -3
  736. package/module/es5/Validate/isPrimeNumber.js +8 -4
  737. package/module/es5/Validate/isValueNaN.d.ts +7 -5
  738. package/module/es5/Validate/isValueNaN.js +7 -5
  739. package/module/es5/Validate/number/core.d.ts +11 -0
  740. package/module/es5/Validate/number/core.js +12 -0
  741. package/module/es5/Validate/number/double.d.ts +9 -0
  742. package/module/es5/Validate/number/double.js +10 -0
  743. package/module/es5/Validate/number/even.d.ts +9 -0
  744. package/module/es5/Validate/number/even.js +10 -0
  745. package/module/es5/Validate/number/maxValue.d.ts +10 -0
  746. package/module/es5/Validate/number/maxValue.js +11 -0
  747. package/module/es5/Validate/number/minValue.d.ts +10 -0
  748. package/module/es5/Validate/number/minValue.js +11 -0
  749. package/module/es5/Validate/number/prime.d.ts +9 -0
  750. package/module/es5/Validate/number/prime.js +10 -0
  751. package/module/es5/Validate/object/core.d.ts +11 -0
  752. package/module/es5/Validate/object/core.js +12 -0
  753. package/module/es5/Validate/string/core.d.ts +11 -0
  754. package/module/es5/Validate/string/core.js +12 -0
  755. package/module/es5/Validate/string/email.d.ts +9 -0
  756. package/module/es5/Validate/string/email.js +11 -1
  757. package/module/es5/Validate/string/length.d.ts +11 -0
  758. package/module/es5/Validate/string/length.js +12 -0
  759. package/module/es5/Validate/string/maxLength.d.ts +10 -0
  760. package/module/es5/Validate/string/maxLength.js +11 -0
  761. package/module/es5/Validate/string/minLength.d.ts +10 -0
  762. package/module/es5/Validate/string/minLength.js +11 -0
  763. package/module/es5/Validate/string/numberString.d.ts +9 -0
  764. package/module/es5/Validate/string/numberString.js +10 -0
  765. package/module/es5/Validate/string/regexMatch.d.ts +10 -0
  766. package/module/es5/Validate/string/regexMatch.js +11 -0
  767. package/module/es5/Validate/string/uuid.d.ts +8 -3
  768. package/module/es5/Validate/string/uuid.js +10 -4
  769. package/module/es5/Validate/type.d.ts +22 -0
  770. package/module/es5/tests/integration/Array/drop-and-first.test.js +20 -0
  771. package/module/es5/tests/integration/Tool/parseJson-and-Validate.test.js +68 -14
  772. package/module/es5/tests/unit/Array/arraysJoin.test.js +15 -3
  773. package/module/es5/tests/unit/Array/checkFlagAlignment.test.js +10 -10
  774. package/module/es5/tests/unit/Array/compact.test.js +17 -17
  775. package/module/es5/tests/unit/Array/compareFunctionDefault.test.d.ts +1 -0
  776. package/module/es5/tests/unit/Array/compareFunctionDefault.test.js +29 -0
  777. package/module/es5/tests/unit/Array/drop.test.js +10 -10
  778. package/module/es5/tests/unit/Array/dualPivotQuickSort.test.d.ts +1 -0
  779. package/module/es5/tests/unit/Array/dualPivotQuickSort.test.js +87 -0
  780. package/module/es5/tests/unit/Array/generateNumberArray.test.js +6 -6
  781. package/module/es5/tests/unit/Array/getArraysCommon.test.js +36 -4
  782. package/module/es5/tests/unit/Array/getArraysDiff.test.js +14 -14
  783. package/module/es5/tests/unit/Array/groupBy.test.js +6 -6
  784. package/module/es5/tests/unit/Array/insertionSort.test.js +8 -8
  785. package/module/es5/tests/unit/Array/mergeSort.test.js +34 -5
  786. package/module/es5/tests/unit/Array/quickSort.test.js +76 -11
  787. package/module/es5/tests/unit/Array/randomSelect.test.js +11 -6
  788. package/module/es5/tests/unit/Array/range.test.js +25 -4
  789. package/module/es5/tests/unit/Array/shuffle.test.js +53 -6
  790. package/module/es5/tests/unit/Array/shuffle2DArray.test.js +51 -8
  791. package/module/es5/tests/unit/Array/sum.test.js +40 -2
  792. package/module/es5/tests/unit/Array/timSort.test.js +89 -9
  793. package/module/es5/tests/unit/Array/zip.test.js +48 -9
  794. package/module/es5/tests/unit/Array/zipLongest.test.js +52 -9
  795. package/module/es5/tests/unit/Color/cmykToRgba.test.js +3 -3
  796. package/module/es5/tests/unit/Color/hexaToRgba.test.js +53 -1
  797. package/module/es5/tests/unit/Color/hslaToRgba.test.js +35 -53
  798. package/module/es5/tests/unit/Color/rgbaToCmyk.test.js +67 -1
  799. package/module/es5/tests/unit/Color/rgbaToHsla.test.js +91 -1
  800. package/module/es5/tests/unit/Consts/clock.test.js +51 -18
  801. package/module/es5/tests/unit/Consts/httpStatus.test.js +9 -0
  802. package/module/es5/tests/unit/Date/birthday.test.d.ts +1 -0
  803. package/module/es5/tests/unit/Date/birthday.test.js +31 -0
  804. package/module/es5/tests/unit/Date/dateRange.test.d.ts +1 -0
  805. package/module/es5/tests/unit/Date/dateRange.test.js +40 -0
  806. package/module/es5/tests/unit/Date/dayOfWeek.test.js +5 -5
  807. package/module/es5/tests/unit/Date/format.test.js +22 -0
  808. package/module/es5/tests/unit/Date/getDay.test.d.ts +1 -0
  809. package/module/es5/tests/unit/Date/getDay.test.js +40 -0
  810. package/module/es5/tests/unit/Date/getTimezoneOffsetString.test.js +3 -3
  811. package/module/es5/tests/unit/Date/isLeapYear.test.d.ts +1 -0
  812. package/module/es5/tests/unit/Date/isLeapYear.test.js +30 -0
  813. package/module/es5/tests/unit/Date/new.test.d.ts +1 -0
  814. package/module/es5/tests/unit/Date/new.test.js +39 -0
  815. package/module/es5/tests/unit/Date/now.test.d.ts +1 -0
  816. package/module/es5/tests/unit/Date/now.test.js +42 -0
  817. package/module/es5/tests/unit/Error/safeExecute.test.js +69 -15
  818. package/module/es5/tests/unit/IP/cidrToLong.test.js +27 -5
  819. package/module/es5/tests/unit/IP/cidrToSubnetMask.test.js +29 -10
  820. package/module/es5/tests/unit/IP/getIpClass.test.js +29 -18
  821. package/module/es5/tests/unit/IP/getNetworkAddress.test.js +35 -14
  822. package/module/es5/tests/unit/IP/ipToBinaryString.test.js +38 -9
  823. package/module/es5/tests/unit/IP/ipToLong.test.js +27 -13
  824. package/module/es5/tests/unit/IP/isInRange.test.js +75 -4
  825. package/module/es5/tests/unit/IP/isPrivateIp.test.js +18 -12
  826. package/module/es5/tests/unit/IP/longToIp.test.d.ts +1 -0
  827. package/module/es5/tests/unit/IP/longToIp.test.js +39 -0
  828. package/module/es5/tests/unit/IP/subnetMaskToCidr.test.js +34 -20
  829. package/module/es5/tests/unit/Math/average.test.js +40 -18
  830. package/module/es5/tests/unit/Math/bitwise.test.js +14 -14
  831. package/module/es5/tests/unit/Math/calculator/calculator.test.js +9 -9
  832. package/module/es5/tests/unit/Math/calculator/calculatorInitialization.test.js +16 -5
  833. package/module/es5/tests/unit/Math/calculator/convertCurrency.test.js +12 -12
  834. package/module/es5/tests/unit/Math/calculator/literalExpression.test.js +8 -8
  835. package/module/es5/tests/unit/Math/degToRad.test.js +10 -10
  836. package/module/es5/tests/unit/Math/deviationValue.test.js +12 -12
  837. package/module/es5/tests/unit/Math/division.test.js +72 -25
  838. package/module/es5/tests/unit/Math/factorial.test.js +4 -4
  839. package/module/es5/tests/unit/Math/factorize.test.js +34 -9
  840. package/module/es5/tests/unit/Math/flexibleNumberConversion.test.js +75 -75
  841. package/module/es5/tests/unit/Math/gcd.test.js +5 -5
  842. package/module/es5/tests/unit/Math/getDecimalLength.test.js +40 -4
  843. package/module/es5/tests/unit/Math/lcm.test.js +16 -9
  844. package/module/es5/tests/unit/Math/linearCongruentialGenerator.test.js +4 -4
  845. package/module/es5/tests/unit/Math/mathConverter.test.js +13 -13
  846. package/module/es5/tests/unit/Math/mathSeparator.test.js +23 -5
  847. package/module/es5/tests/unit/Math/max.test.js +18 -3
  848. package/module/es5/tests/unit/Math/median.test.js +4 -4
  849. package/module/es5/tests/unit/Math/min.test.js +18 -3
  850. package/module/es5/tests/unit/Math/multiples.test.js +26 -10
  851. package/module/es5/tests/unit/Math/multiplication.test.js +43 -9
  852. package/module/es5/tests/unit/Math/nCr.test.js +27 -14
  853. package/module/es5/tests/unit/Math/nHr.test.js +28 -15
  854. package/module/es5/tests/unit/Math/nPr.test.js +31 -14
  855. package/module/es5/tests/unit/Math/primeFactorization.test.js +79 -8
  856. package/module/es5/tests/unit/Math/quotient.test.js +32 -10
  857. package/module/es5/tests/unit/Math/radToDeg.test.js +39 -38
  858. package/module/es5/tests/unit/Math/random.test.js +55 -17
  859. package/module/es5/tests/unit/Math/reduce.test.js +87 -8
  860. package/module/es5/tests/unit/Math/repeatedTrial.test.js +35 -5
  861. package/module/es5/tests/unit/Math/roundOf.test.js +36 -11
  862. package/module/es5/tests/unit/Math/solveEquation.test.js +20 -20
  863. package/module/es5/tests/unit/Math/standardDeviation.test.js +19 -2
  864. package/module/es5/tests/unit/Math/subtract.test.js +14 -2
  865. package/module/es5/tests/unit/Math/toBaseN.test.js +36 -19
  866. package/module/es5/tests/unit/Math/toCelsius.test.js +14 -2
  867. package/module/es5/tests/unit/Math/toKelvin.test.js +14 -2
  868. package/module/es5/tests/unit/Math/uuidv7.test.js +6 -6
  869. package/module/es5/tests/unit/Math/valueSwap.test.js +24 -6
  870. package/module/es5/tests/unit/Math/xoshiro256.test.js +22 -11
  871. package/module/es5/tests/unit/Object/keyBy.test.js +6 -6
  872. package/module/es5/tests/unit/Object/pick.test.js +11 -11
  873. package/module/es5/tests/unit/Object/pickDeep.test.js +15 -15
  874. package/module/es5/tests/unit/Simple/Array/quickSortSimple.test.js +4 -4
  875. package/module/es5/tests/unit/Simple/Math/deviationValueSimple.test.js +39 -3
  876. package/module/es5/tests/unit/String/deleteSpaces.test.d.ts +1 -0
  877. package/module/es5/tests/unit/String/deleteSpaces.test.js +22 -0
  878. package/module/es5/tests/unit/String/formatString.test.js +41 -14
  879. package/module/es5/tests/unit/String/fromBase64.test.js +19 -8
  880. package/module/es5/tests/unit/String/hasNoLetters.test.js +20 -24
  881. package/module/es5/tests/unit/String/padEnd.test.js +5 -5
  882. package/module/es5/tests/unit/String/padStart.test.js +32 -19
  883. package/module/es5/tests/unit/String/randomString.test.js +3 -3
  884. package/module/es5/tests/unit/String/randomStringInitialization.test.js +2 -2
  885. package/module/es5/tests/unit/String/reverseString.test.js +10 -12
  886. package/module/es5/tests/unit/String/toBase64.test.js +5 -5
  887. package/module/es5/tests/unit/String/toHalfWidth.test.js +3 -3
  888. package/module/es5/tests/unit/String/trimCharacters.test.js +4 -4
  889. package/module/es5/tests/unit/String/trimEndCharacters.test.js +17 -7
  890. package/module/es5/tests/unit/String/trimStartCharacters.test.js +23 -10
  891. package/module/es5/tests/unit/Time/convertTime.test.js +40 -46
  892. package/module/es5/tests/unit/Tool/createPipeline.test.js +15 -15
  893. package/module/es5/tests/unit/UA/extractBrowserFromUserAgent.test.d.ts +1 -0
  894. package/module/es5/tests/unit/UA/extractBrowserFromUserAgent.test.js +47 -0
  895. package/module/es5/tests/unit/UA/extractDeviceFromUserAgent.test.d.ts +1 -0
  896. package/module/es5/tests/unit/UA/extractDeviceFromUserAgent.test.js +55 -0
  897. package/module/es5/tests/unit/UA/extractOsFromUserAgent.test.d.ts +1 -0
  898. package/module/es5/tests/unit/UA/extractOsFromUserAgent.test.js +57 -0
  899. package/module/es5/tests/unit/Unit/unitConverterInitialization.test.js +27 -25
  900. package/module/es5/tests/unit/Validate/array/core.test.js +39 -10
  901. package/module/es5/tests/unit/Validate/core/core.test.d.ts +1 -0
  902. package/module/es5/tests/unit/Validate/core/core.test.js +87 -0
  903. package/module/es5/tests/unit/Validate/isArray.test.js +11 -0
  904. package/module/es5/tests/unit/Validate/isDictionaryObject.test.js +15 -1
  905. package/module/es5/tests/unit/Validate/isDouble.test.js +21 -4
  906. package/module/es5/tests/unit/Validate/isNotEmpty.test.js +3 -3
  907. package/module/es5/tests/unit/Validate/isNumber.test.js +67 -29
  908. package/module/es5/tests/unit/Validate/isPerfectSquare.test.js +5 -0
  909. package/module/es5/tests/unit/Validate/isPrimeNumber.test.js +14 -4
  910. package/module/es5/tests/unit/Validate/isValueNaN.test.js +50 -11
  911. package/module/es5/tests/unit/Validate/string/uuid.test.js +13 -13
  912. package/module/es5/tsconfig.tsbuildinfo +1 -1
  913. package/module/es5/types/array/compareFunction.d.ts +2 -0
  914. package/module/es5/types/array/compareFunction.js +5 -0
  915. package/module/es5/types/time/timeUnit.d.ts +1 -1
  916. package/module/types/array/compareFunction.d.ts +2 -0
  917. package/module/types/array/compareFunction.js +2 -0
  918. package/module/types/array/compareFunction.js.map +1 -0
  919. package/module/types/time/timeUnit.d.ts +1 -1
  920. package/package.json +1 -1
@@ -11,27 +11,27 @@ import type { DayTypeInt } from "../types/date/dayTypeInt";
11
11
  import type { MonTypeInt } from "../types/date/monTypeInt";
12
12
  import type { MonTypeZero } from "../types/date/monTypeZero";
13
13
  /**
14
- * 日付を生成する
15
- * @param year
16
- * @param mon
17
- * @param day
18
- * @param hours
19
- * @param minutes
20
- * @param seconds
21
- * @param milliseconds
22
- * @returns Date
23
- * @example newDateInt(2021, 1, 1); // 2021-01-01T00:00:00.000Z
14
+ * Create a new Date object from numeric values
15
+ * @param year - The year
16
+ * @param mon - The month (1-12)
17
+ * @param day - The day of the month
18
+ * @param hours - Hours offset from UTC (defaults to local timezone offset)
19
+ * @param minutes - Minutes (0-59)
20
+ * @param seconds - Seconds (0-59)
21
+ * @param milliseconds - Milliseconds (0-999)
22
+ * @returns Date object
23
+ * @example newDateInt(2021, 1, 1); // Creates date for January 1, 2021
24
24
  */
25
25
  export declare const newDateInt: <T extends MonTypeInt>(year: number, mon: T, day: DayTypeInt<T>, hours?: HoursTypeInt, minutes?: MinutesTypeInt, seconds?: SecondsTypeInt, milliseconds?: MillisecondsTypeInt) => Date;
26
26
  /**
27
- * 日付を生成する
28
- * @param date "2021-01-01"
29
- * @param hours
30
- * @param minutes
31
- * @param seconds
32
- * @param miliSeconds
33
- * @param timeDifference
34
- * @returns Date
35
- * @example newDateString("2021-01-01"); // 2021-01-01T00:00:00.000Z
27
+ * Create a new Date object from a string date and time components
28
+ * @param date - Date string in format "YYYY-MM-DD"
29
+ * @param hours - Hours in "HH" format (00-23)
30
+ * @param minutes - Minutes in "mm" format (00-59)
31
+ * @param seconds - Seconds in "ss" format (00-59)
32
+ * @param milliseconds - Milliseconds in "mmm" format (000-999)
33
+ * @param timeDifference - Timezone offset in "HH" format (e.g., "09" for UTC+9)
34
+ * @returns Date object
35
+ * @example newDateString("2021-01-01"); // Creates date for January 1, 2021 00:00:00
36
36
  */
37
- export declare const newDateString: <T extends MonTypeZero>(date: `${number}-${T}-${DayType<T>}`, hours?: HoursType, minutes?: MinutesType, seconds?: SecondsType, miliSeconds?: MillisecondsType, timeDifference?: HoursType) => Date;
37
+ export declare const newDateString: <T extends MonTypeZero>(date: `${number}-${T}-${DayType<T>}`, hours?: HoursType, minutes?: MinutesType, seconds?: SecondsType, milliseconds?: MillisecondsType, timeDifference?: HoursType) => Date;
@@ -1,31 +1,31 @@
1
1
  /**
2
- * 日付を生成する
3
- * @param year
4
- * @param mon
5
- * @param day
6
- * @param hours
7
- * @param minutes
8
- * @param seconds
9
- * @param milliseconds
10
- * @returns Date
11
- * @example newDateInt(2021, 1, 1); // 2021-01-01T00:00:00.000Z
2
+ * Create a new Date object from numeric values
3
+ * @param year - The year
4
+ * @param mon - The month (1-12)
5
+ * @param day - The day of the month
6
+ * @param hours - Hours offset from UTC (defaults to local timezone offset)
7
+ * @param minutes - Minutes (0-59)
8
+ * @param seconds - Seconds (0-59)
9
+ * @param milliseconds - Milliseconds (0-999)
10
+ * @returns Date object
11
+ * @example newDateInt(2021, 1, 1); // Creates date for January 1, 2021
12
12
  */
13
13
  export const newDateInt = (year, mon, day, hours = (-new Date().getTimezoneOffset() / 60), minutes = 0, seconds = 0, milliseconds = 0) => {
14
14
  const date = new Date(year, mon - 1, day, hours, minutes, seconds, milliseconds);
15
15
  return date;
16
16
  };
17
17
  /**
18
- * 日付を生成する
19
- * @param date "2021-01-01"
20
- * @param hours
21
- * @param minutes
22
- * @param seconds
23
- * @param miliSeconds
24
- * @param timeDifference
25
- * @returns Date
26
- * @example newDateString("2021-01-01"); // 2021-01-01T00:00:00.000Z
18
+ * Create a new Date object from a string date and time components
19
+ * @param date - Date string in format "YYYY-MM-DD"
20
+ * @param hours - Hours in "HH" format (00-23)
21
+ * @param minutes - Minutes in "mm" format (00-59)
22
+ * @param seconds - Seconds in "ss" format (00-59)
23
+ * @param milliseconds - Milliseconds in "mmm" format (000-999)
24
+ * @param timeDifference - Timezone offset in "HH" format (e.g., "09" for UTC+9)
25
+ * @returns Date object
26
+ * @example newDateString("2021-01-01"); // Creates date for January 1, 2021 00:00:00
27
27
  */
28
- export const newDateString = (date, hours = "00", minutes = "00", seconds = "00", miliSeconds = "000", timeDifference = "00") => {
29
- return new Date(`${date}T${hours}:${minutes}:${seconds}.${miliSeconds}+${timeDifference}:00`);
28
+ export const newDateString = (date, hours = "00", minutes = "00", seconds = "00", milliseconds = "000", timeDifference = "00") => {
29
+ return new Date(`${date}T${hours}:${minutes}:${seconds}.${milliseconds}+${timeDifference}:00`);
30
30
  };
31
31
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/Date/new.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,IAAY,EACZ,GAAM,EACN,GAAkB,EAClB,QAAsB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAiB,EAC5E,UAA0B,CAAC,EAC3B,UAA0B,CAAC,EAC3B,eAAoC,CAAC,EAC/B,EAAE;IACR,MAAM,IAAI,GAAG,IAAI,IAAI,CACnB,IAAI,EACJ,GAAG,GAAG,CAAC,EACP,GAAG,EACH,KAAK,EACL,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAoC,EACpC,QAAmB,IAAI,EACvB,UAAuB,IAAI,EAC3B,UAAuB,IAAI,EAC3B,cAAgC,KAAK,EACrC,iBAA4B,IAAI,EAC1B,EAAE;IACR,OAAO,IAAI,IAAI,CACb,GAAG,IAAI,IAAI,KAAK,IAAI,OAAO,IAAI,OAAO,IAAI,WAAW,IAAI,cAAc,KAAK,CAC7E,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/Date/new.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,IAAY,EACZ,GAAM,EACN,GAAkB,EAClB,QAAsB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAiB,EAC5E,UAA0B,CAAC,EAC3B,UAA0B,CAAC,EAC3B,eAAoC,CAAC,EAC/B,EAAE;IACR,MAAM,IAAI,GAAG,IAAI,IAAI,CACnB,IAAI,EACJ,GAAG,GAAG,CAAC,EACP,GAAG,EACH,KAAK,EACL,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAoC,EACpC,QAAmB,IAAI,EACvB,UAAuB,IAAI,EAC3B,UAAuB,IAAI,EAC3B,eAAiC,KAAK,EACtC,iBAA4B,IAAI,EAC1B,EAAE;IACR,OAAO,IAAI,IAAI,CACb,GAAG,IAAI,IAAI,KAAK,IAAI,OAAO,IAAI,OAAO,IAAI,YAAY,IAAI,cAAc,KAAK,CAC9E,CAAC;AACJ,CAAC,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import type { HoursTypeInt } from "../types/clock/hoursTypeInt";
2
2
  /**
3
- * タイムゾーンに関係なく、UTCを基準に指定した時差を加えた現在時刻を取得します。
4
- * @param {hoursTypeInt} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
5
- * @returns {Date} 現在時刻
6
- * @example now(); // Date
3
+ * Get the current time with a specified UTC offset, regardless of the local timezone
4
+ * @param {hoursTypeInt} [timeDifference=9] Hours offset from UTC (default: 9 for Japan Standard Time)
5
+ * @returns {Date} Current date and time adjusted for the specified UTC offset
6
+ * @example
7
+ * now(); // Returns current time in JST (UTC+9)
8
+ * now(0); // Returns current time in UTC
9
+ * now(1); // Returns current time in UTC+1
7
10
  */
8
11
  export declare const now: (timeDifference?: HoursTypeInt) => Date;
@@ -1,9 +1,12 @@
1
1
  import { OneHourMs } from "../Consts/clock";
2
2
  /**
3
- * タイムゾーンに関係なく、UTCを基準に指定した時差を加えた現在時刻を取得します。
4
- * @param {hoursTypeInt} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
5
- * @returns {Date} 現在時刻
6
- * @example now(); // Date
3
+ * Get the current time with a specified UTC offset, regardless of the local timezone
4
+ * @param {hoursTypeInt} [timeDifference=9] Hours offset from UTC (default: 9 for Japan Standard Time)
5
+ * @returns {Date} Current date and time adjusted for the specified UTC offset
6
+ * @example
7
+ * now(); // Returns current time in JST (UTC+9)
8
+ * now(0); // Returns current time in UTC
9
+ * now(1); // Returns current time in UTC+1
7
10
  */
8
11
  export const now = (timeDifference = 9) => {
9
12
  return new Date(Date.now() + timeDifference * OneHourMs);
@@ -1 +1 @@
1
- {"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/Date/now.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,iBAA+B,CAAC,EAAQ,EAAE;IAC5D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC,CAAC"}
1
+ {"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/Date/now.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,iBAA+B,CAAC,EAAQ,EAAE;IAC5D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC,CAAC"}
@@ -1,11 +1,32 @@
1
+ /**
2
+ * Represents a successful execution result containing a value
3
+ * @template V The type of the success value
4
+ */
1
5
  interface SuccessType<V> {
2
6
  type: "success";
3
7
  value: V;
4
8
  }
9
+ /**
10
+ * Represents an error result containing an error object
11
+ * @template E The type of the error
12
+ */
5
13
  interface ErrorType<E> {
6
14
  type: "error";
7
15
  error: E;
8
16
  }
17
+ /**
18
+ * Union type representing either a successful result or an error result
19
+ * @template V The type of the success value
20
+ * @template E The type of the error
21
+ */
9
22
  export type Result<V, E> = SuccessType<V> | ErrorType<E>;
23
+ /**
24
+ * Safely executes a callback function and returns a Result type
25
+ * Catches any errors and wraps them in a Result type
26
+ * @template V The type of the success value
27
+ * @template E The type of the error (defaults to Error)
28
+ * @param callback The function to execute safely
29
+ * @returns A Result containing either the successful value or the caught error
30
+ */
10
31
  export declare const safeExecute: <V, E = Error>(callback: () => V) => Result<V, E>;
11
32
  export {};
@@ -1,8 +1,28 @@
1
+ /**
2
+ * Creates an error result
3
+ * @template E The type of the error
4
+ * @param error The error object
5
+ * @returns An ErrorType containing the error
6
+ */
1
7
  const errorFunction = (error) => ({ type: "error", error });
8
+ /**
9
+ * Creates a success result
10
+ * @template V The type of the success value
11
+ * @param value The success value
12
+ * @returns A SuccessType containing the value
13
+ */
2
14
  const successFunction = (value) => ({
3
15
  type: "success",
4
16
  value,
5
17
  });
18
+ /**
19
+ * Safely executes a callback function and returns a Result type
20
+ * Catches any errors and wraps them in a Result type
21
+ * @template V The type of the success value
22
+ * @template E The type of the error (defaults to Error)
23
+ * @param callback The function to execute safely
24
+ * @returns A Result containing either the successful value or the caught error
25
+ */
6
26
  export const safeExecute = (callback) => {
7
27
  try {
8
28
  return successFunction(callback());
@@ -1 +1 @@
1
- {"version":3,"file":"safeExecute.js","sourceRoot":"","sources":["../../src/Error/safeExecute.ts"],"names":[],"mappings":"AAWA,MAAM,aAAa,GAAG,CAAI,KAAQ,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAChF,MAAM,eAAe,GAAG,CAAI,KAAQ,EAAkB,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,SAAS;IACf,KAAK;CACN,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAe,QAAiB,EAAgB,EAAE;IAC3E,IAAI,CAAC;QACH,OAAO,eAAe,CAAI,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,aAAa,CAAI,KAAU,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"safeExecute.js","sourceRoot":"","sources":["../../src/Error/safeExecute.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAI,KAAQ,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAChF;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAI,KAAQ,EAAkB,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,SAAS;IACf,KAAK;CACN,CAAC,CAAC;AACH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAe,QAAiB,EAAgB,EAAE;IAC3E,IAAI,CAAC;QACH,OAAO,eAAe,CAAI,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,aAAa,CAAI,KAAU,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * CIDRからサブネットマスクの数値を取得します
3
- * @param {number} cidr - CIDR
4
- * @returns {number} サブネットマスクの数値
2
+ * Converts CIDR notation to a subnet mask number
3
+ * @param {number} cidr - CIDR notation (0-32)
4
+ * @returns {number} Subnet mask as a 32-bit number
5
+ * @throws {Error} If CIDR is not between 0 and 32
5
6
  */
6
7
  export declare const cidrToLong: (cidr: number) => number;
@@ -1,7 +1,13 @@
1
1
  /**
2
- * CIDRからサブネットマスクの数値を取得します
3
- * @param {number} cidr - CIDR
4
- * @returns {number} サブネットマスクの数値
2
+ * Converts CIDR notation to a subnet mask number
3
+ * @param {number} cidr - CIDR notation (0-32)
4
+ * @returns {number} Subnet mask as a 32-bit number
5
+ * @throws {Error} If CIDR is not between 0 and 32
5
6
  */
6
- export const cidrToLong = (cidr) => Number.parseInt("1".repeat(cidr).padEnd(32, "0"), 2) >>> 0;
7
+ export const cidrToLong = (cidr) => {
8
+ if (!Number.isInteger(cidr) || cidr < 0 || cidr > 32) {
9
+ throw new Error("CIDR must be an integer between 0 and 32");
10
+ }
11
+ return Number.parseInt("1".repeat(cidr).padEnd(32, "0"), 2) >>> 0;
12
+ };
7
13
  //# sourceMappingURL=cidrToLong.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cidrToLong.js","sourceRoot":"","sources":["../../src/IP/cidrToLong.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CACjD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"cidrToLong.js","sourceRoot":"","sources":["../../src/IP/cidrToLong.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * CIDRからサブネットマスクを取得します
3
- * @param {number} cidr - CIDR
4
- * @returns {string} サブネットマスク
2
+ * Converts CIDR notation to a subnet mask
3
+ * @param {number} cidr - CIDR notation (0-32)
4
+ * @returns {string} Subnet mask in IPv4 format (e.g., "255.255.255.0")
5
+ * @throws {Error} If CIDR is not between 0 and 32
5
6
  */
6
7
  export declare const cidrToSubnetMask: (cidr: number) => string;
@@ -1,9 +1,10 @@
1
1
  import { cidrToLong } from "./cidrToLong";
2
2
  import { longToIp } from "./longToIp";
3
3
  /**
4
- * CIDRからサブネットマスクを取得します
5
- * @param {number} cidr - CIDR
6
- * @returns {string} サブネットマスク
4
+ * Converts CIDR notation to a subnet mask
5
+ * @param {number} cidr - CIDR notation (0-32)
6
+ * @returns {string} Subnet mask in IPv4 format (e.g., "255.255.255.0")
7
+ * @throws {Error} If CIDR is not between 0 and 32
7
8
  */
8
9
  export const cidrToSubnetMask = (cidr) => longToIp(cidrToLong(cidr));
9
10
  //# sourceMappingURL=cidrToSubnetMask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cidrToSubnetMask.js","sourceRoot":"","sources":["../../src/IP/cidrToSubnetMask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE,CACvD,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cidrToSubnetMask.js","sourceRoot":"","sources":["../../src/IP/cidrToSubnetMask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE,CACvD,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * IPクラスを取得します
3
- * @param {string} ip - IPアドレス
4
- * @returns {string} IPクラス(A, B, C, D, Eまたは空文字列)
2
+ * Gets the IP address class (A, B, C, D, or E)
3
+ * @param {string} ip - IPv4 address
4
+ * @returns {string} IP class ('A', 'B', 'C', 'D', 'E', or empty string for invalid IP)
5
5
  */
6
6
  export declare const getIpClass: (ip: string) => string;
@@ -1,29 +1,41 @@
1
1
  /**
2
- * IPクラスを取得します
3
- * @param {string} ip - IPアドレス
4
- * @returns {string} IPクラス(A, B, C, D, Eまたは空文字列)
2
+ * Gets the IP address class (A, B, C, D, or E)
3
+ * @param {string} ip - IPv4 address
4
+ * @returns {string} IP class ('A', 'B', 'C', 'D', 'E', or empty string for invalid IP)
5
5
  */
6
6
  export const getIpClass = (ip) => {
7
7
  if (!ip) {
8
8
  return "";
9
9
  }
10
- // IPアドレスの最初のオクテットを取得
11
- const firstOctet = Number.parseInt(ip.split(".")[0]);
12
- if (firstOctet < 128) {
13
- return "A";
14
- }
15
- if (firstOctet < 192) {
16
- return "B";
17
- }
18
- if (firstOctet < 224) {
19
- return "C";
10
+ // Validate IP format
11
+ const parts = ip.split(".");
12
+ if (parts.length !== 4) {
13
+ return "";
20
14
  }
21
- if (firstOctet < 240) {
22
- return "D";
15
+ const firstOctet = Number.parseInt(parts[0]);
16
+ if (Number.isNaN(firstOctet) || firstOctet < 0 || firstOctet > 255) {
17
+ return "";
23
18
  }
24
- if (firstOctet < 256) {
25
- return "E";
19
+ // Check each class range
20
+ switch (true) {
21
+ case firstOctet === 0: {
22
+ return "";
23
+ } // Reserved
24
+ case firstOctet < 128: {
25
+ return "A";
26
+ } // 1-127
27
+ case firstOctet < 192: {
28
+ return "B";
29
+ } // 128-191
30
+ case firstOctet < 224: {
31
+ return "C";
32
+ } // 192-223
33
+ case firstOctet < 240: {
34
+ return "D";
35
+ } // 224-239
36
+ default: {
37
+ return "E";
38
+ } // 240-255
26
39
  }
27
- return "";
28
40
  };
29
41
  //# sourceMappingURL=getIpClass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getIpClass.js","sourceRoot":"","sources":["../../src/IP/getIpClass.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAU,EAAE;IAC/C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,qBAAqB;IACrB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
1
+ {"version":3,"file":"getIpClass.js","sourceRoot":"","sources":["../../src/IP/getIpClass.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAU,EAAE;IAC/C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACnE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,yBAAyB;IACzB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,WAAW;QACb,KAAK,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,QAAQ;QACV,KAAK,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,UAAU;QACZ,KAAK,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,UAAU;QACZ,KAAK,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,UAAU;QACZ,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,UAAU;IACd,CAAC;AACH,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  /**
2
- * ネットワークアドレスを取得します
3
- * @param {string} ip - IPアドレス
4
- * @param {string} subnetMask - サブネットマスク
5
- * @returns {number} ネットワークアドレス
2
+ * Calculates the network address from an IP address and subnet mask
3
+ * @param {string} ip - IPv4 address (e.g., "192.168.1.1")
4
+ * @param {string} subnetMask - Subnet mask (e.g., "255.255.255.0")
5
+ * @returns {number} Network address as a 32-bit unsigned integer
6
+ * @throws {Error} If IP address or subnet mask is invalid
6
7
  */
7
8
  export declare const getNetworkAddress: (ip: string, subnetMask: string) => number;
@@ -2,13 +2,43 @@ import { cidrToLong } from "./cidrToLong";
2
2
  import { ipToLong } from "./ipToLong";
3
3
  import { subnetMaskToCidr } from "./subnetMaskToCidr";
4
4
  /**
5
- * ネットワークアドレスを取得します
6
- * @param {string} ip - IPアドレス
7
- * @param {string} subnetMask - サブネットマスク
8
- * @returns {number} ネットワークアドレス
5
+ * Calculates the network address from an IP address and subnet mask
6
+ * @param {string} ip - IPv4 address (e.g., "192.168.1.1")
7
+ * @param {string} subnetMask - Subnet mask (e.g., "255.255.255.0")
8
+ * @returns {number} Network address as a 32-bit unsigned integer
9
+ * @throws {Error} If IP address or subnet mask is invalid
9
10
  */
10
11
  export const getNetworkAddress = (ip, subnetMask) => {
11
- const networkAddress = ipToLong(ip) & cidrToLong(subnetMaskToCidr(subnetMask));
12
- return networkAddress >>> 0; // 符号なし32ビット整数に変換
12
+ if (!ip) {
13
+ throw new Error("IP address is required");
14
+ }
15
+ if (!subnetMask) {
16
+ throw new Error("Subnet mask is required");
17
+ }
18
+ // Validate IP format
19
+ const ipParts = ip.split(".");
20
+ if (ipParts.length !== 4 ||
21
+ !ipParts.every((part) => {
22
+ const number_ = Number.parseInt(part);
23
+ return !Number.isNaN(number_) && number_ >= 0 && number_ <= 255;
24
+ })) {
25
+ throw new TypeError("Invalid IP address or subnet mask");
26
+ }
27
+ // Validate subnet mask format
28
+ const maskParts = subnetMask.split(".");
29
+ if (maskParts.length !== 4 ||
30
+ !maskParts.every((part) => {
31
+ const number_ = Number.parseInt(part);
32
+ return !Number.isNaN(number_) && number_ >= 0 && number_ <= 255;
33
+ })) {
34
+ throw new TypeError("Invalid IP address or subnet mask");
35
+ }
36
+ try {
37
+ const networkAddress = ipToLong(ip) & cidrToLong(subnetMaskToCidr(subnetMask));
38
+ return networkAddress >>> 0; // Convert to unsigned 32-bit integer
39
+ }
40
+ catch {
41
+ throw new TypeError("Invalid IP address or subnet mask");
42
+ }
13
43
  };
14
44
  //# sourceMappingURL=getNetworkAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNetworkAddress.js","sourceRoot":"","sources":["../../src/IP/getNetworkAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,UAAkB,EAAU,EAAE;IAC1E,MAAM,cAAc,GAClB,QAAQ,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,OAAO,cAAc,KAAK,CAAC,CAAC,CAAC,iBAAiB;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"getNetworkAddress.js","sourceRoot":"","sources":["../../src/IP/getNetworkAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,UAAkB,EAAU,EAAE;IAC1E,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IACE,OAAO,CAAC,MAAM,KAAK,CAAC;QACpB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,GAAG,CAAC;QAClE,CAAC,CAAC,EACF,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,GAAG,CAAC;QAClE,CAAC,CAAC,EACF,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,cAAc,GAClB,QAAQ,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,OAAO,cAAc,KAAK,CAAC,CAAC,CAAC,qCAAqC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * IPアドレスをバイナリ文字列に変換します
3
- * @param {string} ip - 変換するIPアドレス
4
- * @returns {string} バイナリ文字列
2
+ * Converts an IPv4 address to its binary string representation
3
+ * @param {string} ip - IPv4 address (e.g., "192.168.1.1")
4
+ * @returns {string} Binary string representation (32 bits)
5
+ * @throws {Error} If IP address is invalid
5
6
  */
6
7
  export declare const ipToBinaryString: (ip: string) => string;
@@ -1,10 +1,35 @@
1
1
  /**
2
- * IPアドレスをバイナリ文字列に変換します
3
- * @param {string} ip - 変換するIPアドレス
4
- * @returns {string} バイナリ文字列
2
+ * Converts an IPv4 address to its binary string representation
3
+ * @param {string} ip - IPv4 address (e.g., "192.168.1.1")
4
+ * @returns {string} Binary string representation (32 bits)
5
+ * @throws {Error} If IP address is invalid
5
6
  */
6
- export const ipToBinaryString = (ip) => ip
7
- .split(".")
8
- .map((octet) => (+octet).toString(2).padStart(8, "0"))
9
- .join("");
7
+ export const ipToBinaryString = (ip) => {
8
+ if (!ip) {
9
+ throw new Error("IP address is required");
10
+ }
11
+ // Check for invalid characters
12
+ if (/[^0-9.]/.test(ip)) {
13
+ throw new Error("Invalid IP address format");
14
+ }
15
+ const parts = ip.split(".");
16
+ if (parts.length !== 4) {
17
+ throw new Error("Invalid IP address format");
18
+ }
19
+ // Validate each octet
20
+ for (const octet of parts) {
21
+ // Check for empty octet or leading zeros
22
+ if (!octet || (octet.length > 1 && octet[0] === "0")) {
23
+ throw new Error("Invalid IP address format");
24
+ }
25
+ const number = Number.parseInt(octet);
26
+ if (Number.isNaN(number) || number < 0 || number > 255) {
27
+ throw new Error("Invalid IP address format");
28
+ }
29
+ }
30
+ // Convert to binary
31
+ return parts
32
+ .map((octet) => Number.parseInt(octet).toString(2).padStart(8, "0"))
33
+ .join("");
34
+ };
10
35
  //# sourceMappingURL=ipToBinaryString.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipToBinaryString.js","sourceRoot":"","sources":["../../src/IP/ipToBinaryString.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAU,EAAE,CACrD,EAAE;KACC,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACrD,IAAI,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"ipToBinaryString.js","sourceRoot":"","sources":["../../src/IP/ipToBinaryString.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAU,EAAE;IACrD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,+BAA+B;IAC/B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAsB;IACtB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,yCAAyC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACnE,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * IPアドレスを32ビットの数値に変換します
3
- * @param {string} ip - 変換するIPアドレス
4
- * @returns {number} 32ビットの数値
2
+ * Converts an IPv4 address to a 32-bit number
3
+ * @param {string} ip - IPv4 address to convert (e.g., "192.168.1.1")
4
+ * @returns {number} 32-bit unsigned integer
5
+ * @throws {Error} If IP address is invalid
5
6
  */
6
7
  export declare const ipToLong: (ip: string) => number;
@@ -1,8 +1,9 @@
1
1
  import { ipToBinaryString } from "./ipToBinaryString";
2
2
  /**
3
- * IPアドレスを32ビットの数値に変換します
4
- * @param {string} ip - 変換するIPアドレス
5
- * @returns {number} 32ビットの数値
3
+ * Converts an IPv4 address to a 32-bit number
4
+ * @param {string} ip - IPv4 address to convert (e.g., "192.168.1.1")
5
+ * @returns {number} 32-bit unsigned integer
6
+ * @throws {Error} If IP address is invalid
6
7
  */
7
8
  export const ipToLong = (ip) => Number.parseInt(ipToBinaryString(ip), 2) >>> 0;
8
9
  //# sourceMappingURL=ipToLong.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipToLong.js","sourceRoot":"","sources":["../../src/IP/ipToLong.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAU,EAAE,CAC7C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"ipToLong.js","sourceRoot":"","sources":["../../src/IP/ipToLong.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAU,EAAE,CAC7C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /**
2
- * 指定のIPアドレスが範囲内かどうかを判定します
3
- * @param {string} remoteIp - リモートIPアドレス
4
- * @param {string} networkIp - ネットワークIPアドレス
5
- * @param {number} cidr - CIDR
6
- * @returns {boolean} 範囲内であればtrue
2
+ * Checks if an IP address is within a specified network range
3
+ * @param {string} remoteIp - IP address to check (e.g., "192.168.1.1")
4
+ * @param {string} networkIp - Network IP address (e.g., "192.168.0.0")
5
+ * @param {number} cidr - CIDR notation (0-32)
6
+ * @returns {boolean} True if the IP is in range, false otherwise
7
+ * @throws {Error} If any parameter is invalid
7
8
  */
8
9
  export declare const isInRange: (remoteIp: string, networkIp: string, cidr: number) => boolean;
@@ -1,13 +1,39 @@
1
1
  import { ipToLong } from "./ipToLong";
2
2
  /**
3
- * 指定のIPアドレスが範囲内かどうかを判定します
4
- * @param {string} remoteIp - リモートIPアドレス
5
- * @param {string} networkIp - ネットワークIPアドレス
6
- * @param {number} cidr - CIDR
7
- * @returns {boolean} 範囲内であればtrue
3
+ * Checks if an IP address is within a specified network range
4
+ * @param {string} remoteIp - IP address to check (e.g., "192.168.1.1")
5
+ * @param {string} networkIp - Network IP address (e.g., "192.168.0.0")
6
+ * @param {number} cidr - CIDR notation (0-32)
7
+ * @returns {boolean} True if the IP is in range, false otherwise
8
+ * @throws {Error} If any parameter is invalid
8
9
  */
9
10
  export const isInRange = (remoteIp, networkIp, cidr) => {
10
- const shift = 32 - cidr;
11
- return ipToLong(remoteIp) >>> shift === ipToLong(networkIp) >>> shift;
11
+ if (!remoteIp) {
12
+ throw new Error("Remote IP address is required");
13
+ }
14
+ if (!networkIp) {
15
+ throw new Error("Network IP address is required");
16
+ }
17
+ if (!Number.isInteger(cidr) || cidr < 0 || cidr > 32) {
18
+ throw new Error("CIDR must be an integer between 0 and 32");
19
+ }
20
+ try {
21
+ const remoteLong = ipToLong(remoteIp);
22
+ const networkLong = ipToLong(networkIp);
23
+ // Special cases
24
+ if (cidr === 0) {
25
+ return true; // All IPs are in range
26
+ }
27
+ if (cidr === 32) {
28
+ return remoteLong === networkLong; // Exact match required
29
+ }
30
+ // Normal case
31
+ const shift = 32 - cidr;
32
+ const mask = (0xff_ff_ff_ff >>> 0) << shift;
33
+ return (remoteLong & mask) === (networkLong & mask);
34
+ }
35
+ catch (error) {
36
+ throw new Error(`Invalid IP address format: ${String(error)}`);
37
+ }
12
38
  };
13
39
  //# sourceMappingURL=isInRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInRange.js","sourceRoot":"","sources":["../../src/IP/isInRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAAgB,EAChB,SAAiB,EACjB,IAAY,EACH,EAAE;IACX,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;IACxB,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,QAAQ,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC;AACxE,CAAC,CAAC"}
1
+ {"version":3,"file":"isInRange.js","sourceRoot":"","sources":["../../src/IP/isInRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAAgB,EAChB,SAAiB,EACjB,IAAY,EACH,EAAE;IACX,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAExC,gBAAgB;QAChB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,CAAC,uBAAuB;QACtC,CAAC;QACD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,uBAAuB;QAC5D,CAAC;QAED,cAAc;QACd,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,aAAa,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;QAC5C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * IPアドレスがプライベート範囲にあるかどうかを判定します
3
- * @param {string} ip - 判定するIPアドレス
4
- * @returns {boolean} プライベート範囲にあればtrue
2
+ * Checks if an IP address is within private IP ranges
3
+ * @param {string} ip - IP address to check (e.g., "192.168.1.1")
4
+ * @returns {boolean} True if the IP is private, false otherwise
5
+ * @throws {Error} If IP address is invalid
5
6
  */
6
7
  export declare const isPrivateIp: (ip: string) => boolean;