umt 2.1.1 → 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 (931) 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/index.d.ts +1 -0
  358. package/module/Unit/index.js +2 -0
  359. package/module/Unit/index.js.map +1 -0
  360. package/module/Unit/unitConverterInitialization.d.ts +16 -0
  361. package/module/Unit/unitConverterInitialization.js +19 -0
  362. package/module/Unit/unitConverterInitialization.js.map +1 -0
  363. package/module/Validate/array/core.d.ts +12 -0
  364. package/module/Validate/array/core.js +15 -3
  365. package/module/Validate/array/core.js.map +1 -1
  366. package/module/Validate/boolean/core.d.ts +9 -0
  367. package/module/Validate/boolean/core.js +9 -0
  368. package/module/Validate/boolean/core.js.map +1 -1
  369. package/module/Validate/core/index.d.ts +10 -0
  370. package/module/Validate/core/index.js +11 -1
  371. package/module/Validate/core/index.js.map +1 -1
  372. package/module/Validate/isArray.d.ts +3 -3
  373. package/module/Validate/isArray.js +3 -3
  374. package/module/Validate/isBrowser.d.ts +1 -1
  375. package/module/Validate/isBrowser.js +1 -1
  376. package/module/Validate/isBun.d.ts +1 -1
  377. package/module/Validate/isBun.js +1 -1
  378. package/module/Validate/isDictionaryObject.d.ts +3 -3
  379. package/module/Validate/isDictionaryObject.js +3 -3
  380. package/module/Validate/isDouble.d.ts +4 -4
  381. package/module/Validate/isDouble.js +4 -4
  382. package/module/Validate/isNode.d.ts +1 -1
  383. package/module/Validate/isNode.js +1 -1
  384. package/module/Validate/isNodeWebkit.d.ts +1 -1
  385. package/module/Validate/isNodeWebkit.js +1 -1
  386. package/module/Validate/isNotEmpty.d.ts +3 -3
  387. package/module/Validate/isNotEmpty.js +4 -4
  388. package/module/Validate/isNotEmpty.js.map +1 -1
  389. package/module/Validate/isNumber.d.ts +4 -4
  390. package/module/Validate/isNumber.js +10 -4
  391. package/module/Validate/isNumber.js.map +1 -1
  392. package/module/Validate/isPerfectSquare.d.ts +8 -3
  393. package/module/Validate/isPerfectSquare.js +8 -3
  394. package/module/Validate/isPerfectSquare.js.map +1 -1
  395. package/module/Validate/isPrimeNumber.d.ts +7 -3
  396. package/module/Validate/isPrimeNumber.js +8 -4
  397. package/module/Validate/isPrimeNumber.js.map +1 -1
  398. package/module/Validate/isValueNaN.d.ts +7 -5
  399. package/module/Validate/isValueNaN.js +7 -5
  400. package/module/Validate/isValueNaN.js.map +1 -1
  401. package/module/Validate/number/core.d.ts +11 -0
  402. package/module/Validate/number/core.js +11 -0
  403. package/module/Validate/number/core.js.map +1 -1
  404. package/module/Validate/number/double.d.ts +9 -0
  405. package/module/Validate/number/double.js +9 -0
  406. package/module/Validate/number/double.js.map +1 -1
  407. package/module/Validate/number/even.d.ts +9 -0
  408. package/module/Validate/number/even.js +9 -0
  409. package/module/Validate/number/even.js.map +1 -1
  410. package/module/Validate/number/maxValue.d.ts +10 -0
  411. package/module/Validate/number/maxValue.js +10 -0
  412. package/module/Validate/number/maxValue.js.map +1 -1
  413. package/module/Validate/number/minValue.d.ts +10 -0
  414. package/module/Validate/number/minValue.js +10 -0
  415. package/module/Validate/number/minValue.js.map +1 -1
  416. package/module/Validate/number/prime.d.ts +9 -0
  417. package/module/Validate/number/prime.js +9 -0
  418. package/module/Validate/number/prime.js.map +1 -1
  419. package/module/Validate/object/core.d.ts +11 -0
  420. package/module/Validate/object/core.js +11 -0
  421. package/module/Validate/object/core.js.map +1 -1
  422. package/module/Validate/string/core.d.ts +11 -0
  423. package/module/Validate/string/core.js +11 -0
  424. package/module/Validate/string/core.js.map +1 -1
  425. package/module/Validate/string/email.d.ts +9 -0
  426. package/module/Validate/string/email.js +10 -1
  427. package/module/Validate/string/email.js.map +1 -1
  428. package/module/Validate/string/length.d.ts +11 -0
  429. package/module/Validate/string/length.js +11 -0
  430. package/module/Validate/string/length.js.map +1 -1
  431. package/module/Validate/string/maxLength.d.ts +10 -0
  432. package/module/Validate/string/maxLength.js +10 -0
  433. package/module/Validate/string/maxLength.js.map +1 -1
  434. package/module/Validate/string/minLength.d.ts +10 -0
  435. package/module/Validate/string/minLength.js +10 -0
  436. package/module/Validate/string/minLength.js.map +1 -1
  437. package/module/Validate/string/numberString.d.ts +9 -0
  438. package/module/Validate/string/numberString.js +9 -0
  439. package/module/Validate/string/numberString.js.map +1 -1
  440. package/module/Validate/string/regexMatch.d.ts +10 -0
  441. package/module/Validate/string/regexMatch.js +10 -0
  442. package/module/Validate/string/regexMatch.js.map +1 -1
  443. package/module/Validate/string/uuid.d.ts +8 -3
  444. package/module/Validate/string/uuid.js +9 -4
  445. package/module/Validate/string/uuid.js.map +1 -1
  446. package/module/Validate/type.d.ts +22 -0
  447. package/module/es5/Advance/rangeAdvance.d.ts +10 -6
  448. package/module/es5/Advance/rangeAdvance.js +10 -6
  449. package/module/es5/Array/arraysJoin.d.ts +4 -4
  450. package/module/es5/Array/arraysJoin.js +4 -4
  451. package/module/es5/Array/binarySearch.d.ts +4 -3
  452. package/module/es5/Array/binarySearch.js +4 -3
  453. package/module/es5/Array/checkFlagAlignment.d.ts +3 -3
  454. package/module/es5/Array/checkFlagAlignment.js +7 -7
  455. package/module/es5/Array/chunk.d.ts +4 -4
  456. package/module/es5/Array/chunk.js +4 -4
  457. package/module/es5/Array/compact.d.ts +8 -0
  458. package/module/es5/Array/compact.js +8 -0
  459. package/module/es5/Array/compareFunctionDefault.d.ts +13 -0
  460. package/module/es5/Array/compareFunctionDefault.js +13 -0
  461. package/module/es5/Array/drop.d.ts +5 -5
  462. package/module/es5/Array/drop.js +5 -5
  463. package/module/es5/Array/dualPivotQuickSort.d.ts +16 -0
  464. package/module/es5/Array/dualPivotQuickSort.js +201 -0
  465. package/module/es5/Array/first.d.ts +3 -3
  466. package/module/es5/Array/first.js +3 -3
  467. package/module/es5/Array/generateNumberArray.d.ts +6 -6
  468. package/module/es5/Array/generateNumberArray.js +6 -6
  469. package/module/es5/Array/getArraysCommon.d.ts +4 -4
  470. package/module/es5/Array/getArraysCommon.js +4 -4
  471. package/module/es5/Array/getArraysDiff.d.ts +4 -4
  472. package/module/es5/Array/getArraysDiff.js +4 -4
  473. package/module/es5/Array/groupBy.d.ts +8 -4
  474. package/module/es5/Array/groupBy.js +8 -4
  475. package/module/es5/Array/index.d.ts +1 -0
  476. package/module/es5/Array/index.js +11 -0
  477. package/module/es5/Array/insertionSort.d.ts +8 -7
  478. package/module/es5/Array/insertionSort.js +6 -6
  479. package/module/es5/Array/mergeSort.d.ts +6 -5
  480. package/module/es5/Array/mergeSort.js +9 -9
  481. package/module/es5/Array/quickSort.d.ts +12 -11
  482. package/module/es5/Array/quickSort.js +47 -10
  483. package/module/es5/Array/randomSelect.d.ts +5 -5
  484. package/module/es5/Array/randomSelect.js +5 -5
  485. package/module/es5/Array/range.d.ts +5 -5
  486. package/module/es5/Array/range.js +28 -10
  487. package/module/es5/Array/shuffle.d.ts +3 -3
  488. package/module/es5/Array/shuffle.js +3 -3
  489. package/module/es5/Array/shuffle2DArray.d.ts +4 -4
  490. package/module/es5/Array/shuffle2DArray.js +6 -6
  491. package/module/es5/Array/sum.d.ts +3 -3
  492. package/module/es5/Array/sum.js +4 -4
  493. package/module/es5/Array/timSort.d.ts +13 -11
  494. package/module/es5/Array/timSort.js +36 -9
  495. package/module/es5/Array/zip.d.ts +6 -3
  496. package/module/es5/Array/zip.js +6 -3
  497. package/module/es5/Array/zipLongest.d.ts +8 -5
  498. package/module/es5/Array/zipLongest.js +8 -5
  499. package/module/es5/Color/cmykToRgba.d.ts +7 -7
  500. package/module/es5/Color/cmykToRgba.js +12 -12
  501. package/module/es5/Color/hexaToRgba.d.ts +4 -3
  502. package/module/es5/Color/hexaToRgba.js +18 -6
  503. package/module/es5/Color/hslaToRgba.d.ts +7 -6
  504. package/module/es5/Color/hslaToRgba.js +19 -13
  505. package/module/es5/Color/rgbaToCmyk.d.ts +3 -3
  506. package/module/es5/Color/rgbaToCmyk.js +7 -3
  507. package/module/es5/Color/rgbaToHexA.d.ts +4 -4
  508. package/module/es5/Color/rgbaToHexA.js +5 -5
  509. package/module/es5/Color/rgbaToHsla.d.ts +4 -3
  510. package/module/es5/Color/rgbaToHsla.js +8 -3
  511. package/module/es5/Consts/clock.d.ts +11 -11
  512. package/module/es5/Consts/clock.js +11 -11
  513. package/module/es5/Consts/httpStatus/httpClientErrorStatus.d.ts +28 -0
  514. package/module/es5/Consts/httpStatus/httpClientErrorStatus.js +28 -0
  515. package/module/es5/Consts/httpStatus/httpInformationalStatus.d.ts +9 -0
  516. package/module/es5/Consts/httpStatus/httpInformationalStatus.js +9 -0
  517. package/module/es5/Consts/httpStatus/httpRedirectionStatus.d.ts +11 -0
  518. package/module/es5/Consts/httpStatus/httpRedirectionStatus.js +11 -0
  519. package/module/es5/Consts/httpStatus/httpServerErrorStatus.d.ts +10 -0
  520. package/module/es5/Consts/httpStatus/httpServerErrorStatus.js +10 -0
  521. package/module/es5/Consts/httpStatus/httpSuccessStatus.d.ts +11 -0
  522. package/module/es5/Consts/httpStatus/httpSuccessStatus.js +11 -0
  523. package/module/es5/Date/birthday.d.ts +7 -6
  524. package/module/es5/Date/birthday.js +7 -6
  525. package/module/es5/Date/dateRange.d.ts +7 -4
  526. package/module/es5/Date/dateRange.js +7 -4
  527. package/module/es5/Date/dayOfWeek.d.ts +4 -4
  528. package/module/es5/Date/dayOfWeek.js +4 -4
  529. package/module/es5/Date/format.d.ts +30 -4
  530. package/module/es5/Date/format.js +30 -4
  531. package/module/es5/Date/getDay.d.ts +8 -5
  532. package/module/es5/Date/getDay.js +8 -5
  533. package/module/es5/Date/getTimezoneOffsetString.d.ts +3 -3
  534. package/module/es5/Date/getTimezoneOffsetString.js +3 -3
  535. package/module/es5/Date/isLeapYear.d.ts +8 -3
  536. package/module/es5/Date/isLeapYear.js +8 -3
  537. package/module/es5/Date/new.d.ts +20 -20
  538. package/module/es5/Date/new.js +21 -21
  539. package/module/es5/Date/now.d.ts +7 -4
  540. package/module/es5/Date/now.js +7 -4
  541. package/module/es5/Error/safeExecute.d.ts +21 -0
  542. package/module/es5/Error/safeExecute.js +36 -0
  543. package/module/es5/IP/cidrToLong.d.ts +4 -3
  544. package/module/es5/IP/cidrToLong.js +7 -3
  545. package/module/es5/IP/cidrToSubnetMask.d.ts +4 -3
  546. package/module/es5/IP/cidrToSubnetMask.js +4 -3
  547. package/module/es5/IP/getIpClass.d.ts +3 -3
  548. package/module/es5/IP/getIpClass.js +44 -18
  549. package/module/es5/IP/getNetworkAddress.d.ts +5 -4
  550. package/module/es5/IP/getNetworkAddress.js +35 -6
  551. package/module/es5/IP/ipToBinaryString.d.ts +4 -3
  552. package/module/es5/IP/ipToBinaryString.js +44 -5
  553. package/module/es5/IP/ipToLong.d.ts +4 -3
  554. package/module/es5/IP/ipToLong.js +4 -3
  555. package/module/es5/IP/isInRange.d.ts +6 -5
  556. package/module/es5/IP/isInRange.js +34 -7
  557. package/module/es5/IP/isPrivateIp.d.ts +4 -3
  558. package/module/es5/IP/isPrivateIp.js +30 -17
  559. package/module/es5/IP/longToIp.d.ts +4 -3
  560. package/module/es5/IP/longToIp.js +17 -5
  561. package/module/es5/IP/subnetMaskToCidr.d.ts +4 -3
  562. package/module/es5/IP/subnetMaskToCidr.js +33 -12
  563. package/module/es5/Math/addition.d.ts +3 -3
  564. package/module/es5/Math/addition.js +3 -3
  565. package/module/es5/Math/average.d.ts +7 -4
  566. package/module/es5/Math/average.js +7 -4
  567. package/module/es5/Math/bitwise.d.ts +5 -5
  568. package/module/es5/Math/bitwise.js +5 -5
  569. package/module/es5/Math/calculator/calculator.d.ts +9 -7
  570. package/module/es5/Math/calculator/calculator.js +9 -7
  571. package/module/es5/Math/calculator/calculatorInitialization.d.ts +4 -3
  572. package/module/es5/Math/calculator/calculatorInitialization.js +6 -5
  573. package/module/es5/Math/calculator/convertCurrency.d.ts +6 -4
  574. package/module/es5/Math/calculator/convertCurrency.js +6 -4
  575. package/module/es5/Math/calculator/core.js +13 -13
  576. package/module/es5/Math/calculator/literalExpression.d.ts +5 -3
  577. package/module/es5/Math/calculator/literalExpression.js +12 -10
  578. package/module/es5/Math/degToRad.d.ts +3 -3
  579. package/module/es5/Math/degToRad.js +3 -3
  580. package/module/es5/Math/deviationValue.d.ts +5 -5
  581. package/module/es5/Math/deviationValue.js +5 -5
  582. package/module/es5/Math/division.d.ts +5 -5
  583. package/module/es5/Math/division.js +35 -21
  584. package/module/es5/Math/factorial.d.ts +3 -3
  585. package/module/es5/Math/factorial.js +3 -3
  586. package/module/es5/Math/factorize.d.ts +3 -3
  587. package/module/es5/Math/factorize.js +3 -3
  588. package/module/es5/Math/flexibleNumberConversion.d.ts +11 -11
  589. package/module/es5/Math/flexibleNumberConversion.js +19 -19
  590. package/module/es5/Math/gcd.d.ts +5 -5
  591. package/module/es5/Math/gcd.js +6 -6
  592. package/module/es5/Math/getDecimalLength.d.ts +7 -4
  593. package/module/es5/Math/getDecimalLength.js +9 -5
  594. package/module/es5/Math/lcm.d.ts +4 -4
  595. package/module/es5/Math/lcm.js +5 -5
  596. package/module/es5/Math/linearCongruentialGenerator.d.ts +6 -6
  597. package/module/es5/Math/linearCongruentialGenerator.js +6 -6
  598. package/module/es5/Math/mathConverter.d.ts +7 -3
  599. package/module/es5/Math/mathConverter.js +7 -3
  600. package/module/es5/Math/mathSeparator.d.ts +8 -3
  601. package/module/es5/Math/mathSeparator.js +8 -3
  602. package/module/es5/Math/max.d.ts +4 -3
  603. package/module/es5/Math/max.js +4 -3
  604. package/module/es5/Math/median.d.ts +3 -3
  605. package/module/es5/Math/median.js +3 -3
  606. package/module/es5/Math/min.d.ts +4 -3
  607. package/module/es5/Math/min.js +4 -3
  608. package/module/es5/Math/multiples.d.ts +4 -4
  609. package/module/es5/Math/multiples.js +4 -4
  610. package/module/es5/Math/multiplication.d.ts +3 -3
  611. package/module/es5/Math/multiplication.js +3 -3
  612. package/module/es5/Math/nCr.d.ts +7 -4
  613. package/module/es5/Math/nCr.js +7 -4
  614. package/module/es5/Math/nHr.d.ts +7 -4
  615. package/module/es5/Math/nHr.js +7 -4
  616. package/module/es5/Math/nPr.d.ts +7 -4
  617. package/module/es5/Math/nPr.js +7 -4
  618. package/module/es5/Math/primeFactorization.d.ts +6 -3
  619. package/module/es5/Math/primeFactorization.js +11 -8
  620. package/module/es5/Math/quotient.d.ts +7 -4
  621. package/module/es5/Math/quotient.js +7 -4
  622. package/module/es5/Math/radToDeg.d.ts +5 -3
  623. package/module/es5/Math/radToDeg.js +5 -3
  624. package/module/es5/Math/random.d.ts +6 -5
  625. package/module/es5/Math/random.js +6 -5
  626. package/module/es5/Math/reduce.d.ts +9 -4
  627. package/module/es5/Math/reduce.js +14 -8
  628. package/module/es5/Math/repeatedTrial.d.ts +5 -5
  629. package/module/es5/Math/repeatedTrial.js +5 -5
  630. package/module/es5/Math/roundOf.d.ts +7 -5
  631. package/module/es5/Math/roundOf.js +8 -6
  632. package/module/es5/Math/solveEquation.d.ts +12 -13
  633. package/module/es5/Math/solveEquation.js +34 -38
  634. package/module/es5/Math/standardDeviation.d.ts +8 -3
  635. package/module/es5/Math/standardDeviation.js +16 -7
  636. package/module/es5/Math/subtract.d.ts +10 -4
  637. package/module/es5/Math/subtract.js +12 -6
  638. package/module/es5/Math/toBaseN.d.ts +8 -6
  639. package/module/es5/Math/toBaseN.js +9 -7
  640. package/module/es5/Math/toCelsius.d.ts +5 -3
  641. package/module/es5/Math/toCelsius.js +5 -3
  642. package/module/es5/Math/toKelvin.d.ts +5 -3
  643. package/module/es5/Math/toKelvin.js +5 -3
  644. package/module/es5/Math/uuidv7.d.ts +10 -2
  645. package/module/es5/Math/uuidv7.js +10 -2
  646. package/module/es5/Math/valueSwap.d.ts +5 -4
  647. package/module/es5/Math/valueSwap.js +5 -4
  648. package/module/es5/Math/xoshiro256.d.ts +8 -3
  649. package/module/es5/Math/xoshiro256.js +8 -3
  650. package/module/es5/Object/has.d.ts +4 -4
  651. package/module/es5/Object/has.js +4 -4
  652. package/module/es5/Object/keyBy.d.ts +3 -3
  653. package/module/es5/Object/keyBy.js +4 -4
  654. package/module/es5/Object/pick.d.ts +6 -6
  655. package/module/es5/Object/pick.js +6 -6
  656. package/module/es5/Object/pickDeep.d.ts +7 -7
  657. package/module/es5/Object/pickDeep.js +7 -7
  658. package/module/es5/Simple/Array/quickSortSimple.d.ts +9 -7
  659. package/module/es5/Simple/Array/quickSortSimple.js +7 -6
  660. package/module/es5/Simple/Date/birthdaySimple.d.ts +4 -4
  661. package/module/es5/Simple/Date/birthdaySimple.js +4 -4
  662. package/module/es5/Simple/Date/dayOfWeekSimple.d.ts +4 -4
  663. package/module/es5/Simple/Date/dayOfWeekSimple.js +4 -4
  664. package/module/es5/Simple/Date/nowSimple.d.ts +3 -3
  665. package/module/es5/Simple/Date/nowSimple.js +3 -3
  666. package/module/es5/Simple/Math/deviationValueSimple.d.ts +10 -11
  667. package/module/es5/Simple/Math/deviationValueSimple.js +23 -12
  668. package/module/es5/String/deleteSpaces.d.ts +8 -4
  669. package/module/es5/String/deleteSpaces.js +8 -4
  670. package/module/es5/String/formatString.d.ts +8 -8
  671. package/module/es5/String/formatString.js +7 -7
  672. package/module/es5/String/fromBase64.d.ts +4 -3
  673. package/module/es5/String/fromBase64.js +14 -9
  674. package/module/es5/String/hasNoLetters.d.ts +9 -3
  675. package/module/es5/String/hasNoLetters.js +12 -6
  676. package/module/es5/String/padEnd.d.ts +5 -5
  677. package/module/es5/String/padEnd.js +5 -5
  678. package/module/es5/String/padStart.d.ts +11 -5
  679. package/module/es5/String/padStart.js +20 -5
  680. package/module/es5/String/randomString.d.ts +4 -4
  681. package/module/es5/String/randomString.js +4 -4
  682. package/module/es5/String/randomStringInitialization.d.ts +3 -3
  683. package/module/es5/String/randomStringInitialization.js +3 -3
  684. package/module/es5/String/reverseString.d.ts +3 -3
  685. package/module/es5/String/reverseString.js +3 -3
  686. package/module/es5/String/toBase64.d.ts +3 -3
  687. package/module/es5/String/toBase64.js +3 -3
  688. package/module/es5/String/toHalfWidth.d.ts +3 -3
  689. package/module/es5/String/toHalfWidth.js +3 -3
  690. package/module/es5/String/trimCharacters.d.ts +4 -4
  691. package/module/es5/String/trimCharacters.js +4 -4
  692. package/module/es5/String/trimEndCharacters.d.ts +10 -4
  693. package/module/es5/String/trimEndCharacters.js +10 -4
  694. package/module/es5/String/trimStartCharacters.d.ts +10 -4
  695. package/module/es5/String/trimStartCharacters.js +10 -4
  696. package/module/es5/Time/convertTime.d.ts +6 -6
  697. package/module/es5/Time/convertTime.js +12 -11
  698. package/module/es5/Tool/createPipeline.d.ts +8 -6
  699. package/module/es5/Tool/createPipeline.js +10 -8
  700. package/module/es5/Tool/parseJson.d.ts +7 -0
  701. package/module/es5/Tool/parseJson.js +7 -0
  702. package/module/es5/UA/extractBrowserFromUserAgent.d.ts +12 -0
  703. package/module/es5/UA/extractBrowserFromUserAgent.js +22 -5
  704. package/module/es5/UA/extractDeviceFromUserAgent.d.ts +12 -0
  705. package/module/es5/UA/extractDeviceFromUserAgent.js +12 -0
  706. package/module/es5/UA/extractOsFromUserAgent.d.ts +12 -0
  707. package/module/es5/UA/extractOsFromUserAgent.js +12 -0
  708. package/module/es5/UA/parseUserAgent.d.ts +16 -0
  709. package/module/es5/UA/parseUserAgent.js +16 -0
  710. package/module/es5/Unit/index.d.ts +1 -0
  711. package/module/es5/Unit/index.js +16 -0
  712. package/module/es5/Unit/unitConverterInitialization.d.ts +16 -0
  713. package/module/es5/Unit/unitConverterInitialization.js +28 -0
  714. package/module/es5/Validate/array/core.d.ts +12 -0
  715. package/module/es5/Validate/array/core.js +15 -4
  716. package/module/es5/Validate/boolean/core.d.ts +9 -0
  717. package/module/es5/Validate/boolean/core.js +10 -0
  718. package/module/es5/Validate/core/index.d.ts +10 -0
  719. package/module/es5/Validate/core/index.js +13 -1
  720. package/module/es5/Validate/isArray.d.ts +3 -3
  721. package/module/es5/Validate/isArray.js +3 -3
  722. package/module/es5/Validate/isBrowser.d.ts +1 -1
  723. package/module/es5/Validate/isBrowser.js +1 -1
  724. package/module/es5/Validate/isBun.d.ts +1 -1
  725. package/module/es5/Validate/isBun.js +1 -1
  726. package/module/es5/Validate/isDictionaryObject.d.ts +3 -3
  727. package/module/es5/Validate/isDictionaryObject.js +3 -3
  728. package/module/es5/Validate/isDouble.d.ts +4 -4
  729. package/module/es5/Validate/isDouble.js +4 -4
  730. package/module/es5/Validate/isNode.d.ts +1 -1
  731. package/module/es5/Validate/isNode.js +1 -1
  732. package/module/es5/Validate/isNodeWebkit.d.ts +1 -1
  733. package/module/es5/Validate/isNodeWebkit.js +1 -1
  734. package/module/es5/Validate/isNotEmpty.d.ts +3 -3
  735. package/module/es5/Validate/isNotEmpty.js +4 -4
  736. package/module/es5/Validate/isNumber.d.ts +4 -4
  737. package/module/es5/Validate/isNumber.js +11 -4
  738. package/module/es5/Validate/isPerfectSquare.d.ts +8 -3
  739. package/module/es5/Validate/isPerfectSquare.js +8 -3
  740. package/module/es5/Validate/isPrimeNumber.d.ts +7 -3
  741. package/module/es5/Validate/isPrimeNumber.js +8 -4
  742. package/module/es5/Validate/isValueNaN.d.ts +7 -5
  743. package/module/es5/Validate/isValueNaN.js +7 -5
  744. package/module/es5/Validate/number/core.d.ts +11 -0
  745. package/module/es5/Validate/number/core.js +12 -0
  746. package/module/es5/Validate/number/double.d.ts +9 -0
  747. package/module/es5/Validate/number/double.js +10 -0
  748. package/module/es5/Validate/number/even.d.ts +9 -0
  749. package/module/es5/Validate/number/even.js +10 -0
  750. package/module/es5/Validate/number/maxValue.d.ts +10 -0
  751. package/module/es5/Validate/number/maxValue.js +11 -0
  752. package/module/es5/Validate/number/minValue.d.ts +10 -0
  753. package/module/es5/Validate/number/minValue.js +11 -0
  754. package/module/es5/Validate/number/prime.d.ts +9 -0
  755. package/module/es5/Validate/number/prime.js +10 -0
  756. package/module/es5/Validate/object/core.d.ts +11 -0
  757. package/module/es5/Validate/object/core.js +12 -0
  758. package/module/es5/Validate/string/core.d.ts +11 -0
  759. package/module/es5/Validate/string/core.js +12 -0
  760. package/module/es5/Validate/string/email.d.ts +9 -0
  761. package/module/es5/Validate/string/email.js +11 -1
  762. package/module/es5/Validate/string/length.d.ts +11 -0
  763. package/module/es5/Validate/string/length.js +12 -0
  764. package/module/es5/Validate/string/maxLength.d.ts +10 -0
  765. package/module/es5/Validate/string/maxLength.js +11 -0
  766. package/module/es5/Validate/string/minLength.d.ts +10 -0
  767. package/module/es5/Validate/string/minLength.js +11 -0
  768. package/module/es5/Validate/string/numberString.d.ts +9 -0
  769. package/module/es5/Validate/string/numberString.js +10 -0
  770. package/module/es5/Validate/string/regexMatch.d.ts +10 -0
  771. package/module/es5/Validate/string/regexMatch.js +11 -0
  772. package/module/es5/Validate/string/uuid.d.ts +8 -3
  773. package/module/es5/Validate/string/uuid.js +10 -4
  774. package/module/es5/Validate/type.d.ts +22 -0
  775. package/module/es5/index.d.ts +1 -0
  776. package/module/es5/index.js +11 -0
  777. package/module/es5/tests/integration/Array/drop-and-first.test.js +20 -0
  778. package/module/es5/tests/integration/Tool/parseJson-and-Validate.test.js +68 -14
  779. package/module/es5/tests/unit/Array/arraysJoin.test.js +15 -3
  780. package/module/es5/tests/unit/Array/checkFlagAlignment.test.js +10 -10
  781. package/module/es5/tests/unit/Array/compact.test.js +17 -17
  782. package/module/es5/tests/unit/Array/compareFunctionDefault.test.d.ts +1 -0
  783. package/module/es5/tests/unit/Array/compareFunctionDefault.test.js +29 -0
  784. package/module/es5/tests/unit/Array/drop.test.js +10 -10
  785. package/module/es5/tests/unit/Array/dualPivotQuickSort.test.d.ts +1 -0
  786. package/module/es5/tests/unit/Array/dualPivotQuickSort.test.js +87 -0
  787. package/module/es5/tests/unit/Array/generateNumberArray.test.js +6 -6
  788. package/module/es5/tests/unit/Array/getArraysCommon.test.js +36 -4
  789. package/module/es5/tests/unit/Array/getArraysDiff.test.js +14 -14
  790. package/module/es5/tests/unit/Array/groupBy.test.js +6 -6
  791. package/module/es5/tests/unit/Array/insertionSort.test.js +8 -8
  792. package/module/es5/tests/unit/Array/mergeSort.test.js +34 -5
  793. package/module/es5/tests/unit/Array/quickSort.test.js +76 -11
  794. package/module/es5/tests/unit/Array/randomSelect.test.js +11 -6
  795. package/module/es5/tests/unit/Array/range.test.js +25 -4
  796. package/module/es5/tests/unit/Array/shuffle.test.js +53 -6
  797. package/module/es5/tests/unit/Array/shuffle2DArray.test.js +51 -8
  798. package/module/es5/tests/unit/Array/sum.test.js +40 -2
  799. package/module/es5/tests/unit/Array/timSort.test.js +89 -9
  800. package/module/es5/tests/unit/Array/zip.test.js +48 -9
  801. package/module/es5/tests/unit/Array/zipLongest.test.js +52 -9
  802. package/module/es5/tests/unit/Color/cmykToRgba.test.js +3 -3
  803. package/module/es5/tests/unit/Color/hexaToRgba.test.js +53 -1
  804. package/module/es5/tests/unit/Color/hslaToRgba.test.js +35 -53
  805. package/module/es5/tests/unit/Color/rgbaToCmyk.test.js +67 -1
  806. package/module/es5/tests/unit/Color/rgbaToHsla.test.js +91 -1
  807. package/module/es5/tests/unit/Consts/clock.test.js +51 -18
  808. package/module/es5/tests/unit/Consts/httpStatus.test.js +9 -0
  809. package/module/es5/tests/unit/Date/birthday.test.d.ts +1 -0
  810. package/module/es5/tests/unit/Date/birthday.test.js +31 -0
  811. package/module/es5/tests/unit/Date/dateRange.test.d.ts +1 -0
  812. package/module/es5/tests/unit/Date/dateRange.test.js +40 -0
  813. package/module/es5/tests/unit/Date/dayOfWeek.test.js +5 -5
  814. package/module/es5/tests/unit/Date/format.test.js +22 -0
  815. package/module/es5/tests/unit/Date/getDay.test.d.ts +1 -0
  816. package/module/es5/tests/unit/Date/getDay.test.js +40 -0
  817. package/module/es5/tests/unit/Date/getTimezoneOffsetString.test.js +3 -3
  818. package/module/es5/tests/unit/Date/isLeapYear.test.d.ts +1 -0
  819. package/module/es5/tests/unit/Date/isLeapYear.test.js +30 -0
  820. package/module/es5/tests/unit/Date/new.test.d.ts +1 -0
  821. package/module/es5/tests/unit/Date/new.test.js +39 -0
  822. package/module/es5/tests/unit/Date/now.test.d.ts +1 -0
  823. package/module/es5/tests/unit/Date/now.test.js +42 -0
  824. package/module/es5/tests/unit/Error/safeExecute.test.js +69 -15
  825. package/module/es5/tests/unit/IP/cidrToLong.test.js +27 -5
  826. package/module/es5/tests/unit/IP/cidrToSubnetMask.test.js +29 -10
  827. package/module/es5/tests/unit/IP/getIpClass.test.js +29 -18
  828. package/module/es5/tests/unit/IP/getNetworkAddress.test.js +35 -14
  829. package/module/es5/tests/unit/IP/ipToBinaryString.test.js +38 -9
  830. package/module/es5/tests/unit/IP/ipToLong.test.js +27 -13
  831. package/module/es5/tests/unit/IP/isInRange.test.js +75 -4
  832. package/module/es5/tests/unit/IP/isPrivateIp.test.js +18 -12
  833. package/module/es5/tests/unit/IP/longToIp.test.d.ts +1 -0
  834. package/module/es5/tests/unit/IP/longToIp.test.js +39 -0
  835. package/module/es5/tests/unit/IP/subnetMaskToCidr.test.js +34 -20
  836. package/module/es5/tests/unit/Math/average.test.js +40 -18
  837. package/module/es5/tests/unit/Math/bitwise.test.js +14 -14
  838. package/module/es5/tests/unit/Math/calculator/calculator.test.js +9 -9
  839. package/module/es5/tests/unit/Math/calculator/calculatorInitialization.test.js +16 -5
  840. package/module/es5/tests/unit/Math/calculator/convertCurrency.test.js +12 -12
  841. package/module/es5/tests/unit/Math/calculator/literalExpression.test.js +8 -8
  842. package/module/es5/tests/unit/Math/degToRad.test.js +10 -10
  843. package/module/es5/tests/unit/Math/deviationValue.test.js +12 -12
  844. package/module/es5/tests/unit/Math/division.test.js +72 -25
  845. package/module/es5/tests/unit/Math/factorial.test.js +4 -4
  846. package/module/es5/tests/unit/Math/factorize.test.js +34 -9
  847. package/module/es5/tests/unit/Math/flexibleNumberConversion.test.js +75 -75
  848. package/module/es5/tests/unit/Math/gcd.test.js +5 -5
  849. package/module/es5/tests/unit/Math/getDecimalLength.test.js +40 -4
  850. package/module/es5/tests/unit/Math/lcm.test.js +16 -9
  851. package/module/es5/tests/unit/Math/linearCongruentialGenerator.test.js +4 -4
  852. package/module/es5/tests/unit/Math/mathConverter.test.js +13 -13
  853. package/module/es5/tests/unit/Math/mathSeparator.test.js +23 -5
  854. package/module/es5/tests/unit/Math/max.test.js +18 -3
  855. package/module/es5/tests/unit/Math/median.test.js +4 -4
  856. package/module/es5/tests/unit/Math/min.test.js +18 -3
  857. package/module/es5/tests/unit/Math/multiples.test.js +26 -10
  858. package/module/es5/tests/unit/Math/multiplication.test.js +43 -9
  859. package/module/es5/tests/unit/Math/nCr.test.js +27 -14
  860. package/module/es5/tests/unit/Math/nHr.test.js +28 -15
  861. package/module/es5/tests/unit/Math/nPr.test.js +31 -14
  862. package/module/es5/tests/unit/Math/primeFactorization.test.js +79 -8
  863. package/module/es5/tests/unit/Math/quotient.test.js +32 -10
  864. package/module/es5/tests/unit/Math/radToDeg.test.js +39 -38
  865. package/module/es5/tests/unit/Math/random.test.js +55 -17
  866. package/module/es5/tests/unit/Math/reduce.test.js +87 -8
  867. package/module/es5/tests/unit/Math/repeatedTrial.test.js +35 -5
  868. package/module/es5/tests/unit/Math/roundOf.test.js +36 -11
  869. package/module/es5/tests/unit/Math/solveEquation.test.js +20 -20
  870. package/module/es5/tests/unit/Math/standardDeviation.test.js +19 -2
  871. package/module/es5/tests/unit/Math/subtract.test.js +14 -2
  872. package/module/es5/tests/unit/Math/toBaseN.test.js +36 -19
  873. package/module/es5/tests/unit/Math/toCelsius.test.js +14 -2
  874. package/module/es5/tests/unit/Math/toKelvin.test.js +14 -2
  875. package/module/es5/tests/unit/Math/uuidv7.test.js +6 -6
  876. package/module/es5/tests/unit/Math/valueSwap.test.js +24 -6
  877. package/module/es5/tests/unit/Math/xoshiro256.test.js +22 -11
  878. package/module/es5/tests/unit/Object/keyBy.test.js +6 -6
  879. package/module/es5/tests/unit/Object/pick.test.js +11 -11
  880. package/module/es5/tests/unit/Object/pickDeep.test.js +15 -15
  881. package/module/es5/tests/unit/Simple/Array/quickSortSimple.test.js +4 -4
  882. package/module/es5/tests/unit/Simple/Math/deviationValueSimple.test.js +39 -3
  883. package/module/es5/tests/unit/String/deleteSpaces.test.d.ts +1 -0
  884. package/module/es5/tests/unit/String/deleteSpaces.test.js +22 -0
  885. package/module/es5/tests/unit/String/formatString.test.js +41 -14
  886. package/module/es5/tests/unit/String/fromBase64.test.js +19 -8
  887. package/module/es5/tests/unit/String/hasNoLetters.test.js +20 -24
  888. package/module/es5/tests/unit/String/padEnd.test.js +5 -5
  889. package/module/es5/tests/unit/String/padStart.test.js +32 -19
  890. package/module/es5/tests/unit/String/randomString.test.js +3 -3
  891. package/module/es5/tests/unit/String/randomStringInitialization.test.js +2 -2
  892. package/module/es5/tests/unit/String/reverseString.test.js +10 -12
  893. package/module/es5/tests/unit/String/toBase64.test.js +5 -5
  894. package/module/es5/tests/unit/String/toHalfWidth.test.js +3 -3
  895. package/module/es5/tests/unit/String/trimCharacters.test.js +4 -4
  896. package/module/es5/tests/unit/String/trimEndCharacters.test.js +17 -7
  897. package/module/es5/tests/unit/String/trimStartCharacters.test.js +23 -10
  898. package/module/es5/tests/unit/Time/convertTime.test.js +40 -46
  899. package/module/es5/tests/unit/Tool/createPipeline.test.js +15 -15
  900. package/module/es5/tests/unit/UA/extractBrowserFromUserAgent.test.d.ts +1 -0
  901. package/module/es5/tests/unit/UA/extractBrowserFromUserAgent.test.js +47 -0
  902. package/module/es5/tests/unit/UA/extractDeviceFromUserAgent.test.d.ts +1 -0
  903. package/module/es5/tests/unit/UA/extractDeviceFromUserAgent.test.js +55 -0
  904. package/module/es5/tests/unit/UA/extractOsFromUserAgent.test.d.ts +1 -0
  905. package/module/es5/tests/unit/UA/extractOsFromUserAgent.test.js +57 -0
  906. package/module/es5/tests/unit/Unit/unitConverterInitialization.test.d.ts +1 -0
  907. package/module/es5/tests/unit/Unit/unitConverterInitialization.test.js +40 -0
  908. package/module/es5/tests/unit/Validate/array/core.test.js +39 -10
  909. package/module/es5/tests/unit/Validate/core/core.test.d.ts +1 -0
  910. package/module/es5/tests/unit/Validate/core/core.test.js +87 -0
  911. package/module/es5/tests/unit/Validate/isArray.test.js +11 -0
  912. package/module/es5/tests/unit/Validate/isDictionaryObject.test.js +15 -1
  913. package/module/es5/tests/unit/Validate/isDouble.test.js +21 -4
  914. package/module/es5/tests/unit/Validate/isNotEmpty.test.js +3 -3
  915. package/module/es5/tests/unit/Validate/isNumber.test.js +67 -29
  916. package/module/es5/tests/unit/Validate/isPerfectSquare.test.js +5 -0
  917. package/module/es5/tests/unit/Validate/isPrimeNumber.test.js +14 -4
  918. package/module/es5/tests/unit/Validate/isValueNaN.test.js +50 -11
  919. package/module/es5/tests/unit/Validate/string/uuid.test.js +13 -13
  920. package/module/es5/tsconfig.tsbuildinfo +1 -1
  921. package/module/es5/types/array/compareFunction.d.ts +2 -0
  922. package/module/es5/types/array/compareFunction.js +5 -0
  923. package/module/es5/types/time/timeUnit.d.ts +1 -1
  924. package/module/index.d.ts +1 -0
  925. package/module/index.js +1 -0
  926. package/module/index.js.map +1 -1
  927. package/module/types/array/compareFunction.d.ts +2 -0
  928. package/module/types/array/compareFunction.js +2 -0
  929. package/module/types/array/compareFunction.js.map +1 -0
  930. package/module/types/time/timeUnit.d.ts +1 -1
  931. package/package.json +14 -14
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _extractBrowserFromUserAgent = require("@/UA/extractBrowserFromUserAgent");
4
+ describe("extractBrowserFromUserAgent", function () {
5
+ it("should detect Edge browser", function () {
6
+ var edgeUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57";
7
+ var legacyEdgeUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edge/89.0.774.57";
8
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(edgeUA)).toBe("edge");
9
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(legacyEdgeUA)).toBe("edge");
10
+ });
11
+ it("should detect desktop Chrome browser", function () {
12
+ var chromeUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
13
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(chromeUA)).toBe("chrome");
14
+ });
15
+ it("should detect iOS Chrome browser (CriOS)", function () {
16
+ var chromeIosUA = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/89.0.4389.90 Mobile/15E148 Safari/604.1";
17
+ var chromeIpadUA = "Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/89.0.4389.90 Mobile/15E148 Safari/604.1";
18
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(chromeIosUA)).toBe("chrome");
19
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(chromeIpadUA)).toBe("chrome");
20
+ });
21
+ it("should detect Firefox browser", function () {
22
+ var firefoxUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0";
23
+ var firefoxIosUA = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/33.0 Mobile/15E148 Safari/605.1.15";
24
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(firefoxUA)).toBe("firefox");
25
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(firefoxIosUA)).toBe("firefox");
26
+ });
27
+ it("should detect Safari browser", function () {
28
+ var safariUA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15";
29
+ var mobileSafariUA = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1";
30
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(safariUA)).toBe("safari");
31
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(mobileSafariUA)).toBe("safari");
32
+ });
33
+ it("should detect Internet Explorer", function () {
34
+ var ie11UA = "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko";
35
+ var ie10UA = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)";
36
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(ie11UA)).toBe("ie");
37
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(ie10UA)).toBe("ie");
38
+ });
39
+ it("should return 'other' for unknown browsers", function () {
40
+ var operaUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 OPR/75.0.3969.149";
41
+ var unknownUA = "Unknown Browser";
42
+ var emptyUA = "";
43
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(operaUA)).toBe("other");
44
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(unknownUA)).toBe("other");
45
+ expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(emptyUA)).toBe("other");
46
+ });
47
+ });
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _extractDeviceFromUserAgent = require("@/UA/extractDeviceFromUserAgent");
4
+ describe("extractDeviceFromUserAgent", function () {
5
+ it("should detect bots and crawlers", function () {
6
+ var googlebot = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)";
7
+ var bingbot = "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)";
8
+ var crawler = "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)";
9
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(googlebot)).toBe("bot");
10
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(bingbot)).toBe("bot");
11
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(crawler)).toBe("bot");
12
+ });
13
+ it("should detect mobile devices", function () {
14
+ var iphone = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1";
15
+ var androidMobile = "Mozilla/5.0 (Linux; Android 10; SM-A505FN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36";
16
+ var blackberry = "Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+";
17
+ var operaMini = "Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/28.2725; U; ru) Presto/2.8.119 Version/11.10";
18
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(iphone)).toBe("mobile");
19
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidMobile)).toBe("mobile");
20
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(blackberry)).toBe("mobile");
21
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(operaMini)).toBe("mobile");
22
+ });
23
+ it("should detect tablets", function () {
24
+ var ipad = "Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1";
25
+ var androidTablet = "Mozilla/5.0 (Linux; Android 11; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
26
+ var androidNonMobile = "Mozilla/5.0 (Linux; Android 11; SAMSUNG-SM-T377A Build/NMF26X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
27
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(ipad)).toBe("tablet");
28
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidTablet)).toBe("tablet");
29
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidNonMobile)).toBe("tablet");
30
+ });
31
+ it("should detect desktop devices", function () {
32
+ var windows = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
33
+ var mac = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15";
34
+ var linux = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
35
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(windows)).toBe("desktop");
36
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(mac)).toBe("desktop");
37
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(linux)).toBe("desktop");
38
+ });
39
+ it("should handle unknown devices", function () {
40
+ var empty = "";
41
+ var unknown = "Unknown Device";
42
+ var customDevice = "Mozilla/5.0 (CustomOS; Device) CustomBrowser/1.0";
43
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(empty)).toBe("other");
44
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(unknown)).toBe("other");
45
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(customDevice)).toBe("other");
46
+ });
47
+ it("should handle Android edge cases", function () {
48
+ // Android device with explicit mobile flag
49
+ var androidMobile = "Mozilla/5.0 (Linux; Android 10; Mobile) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
50
+ // Android device without mobile flag (should be detected as tablet)
51
+ var androidNonMobile = "Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
52
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidMobile)).toBe("mobile");
53
+ expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidNonMobile)).toBe("tablet");
54
+ });
55
+ });
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _extractOsFromUserAgent = require("@/UA/extractOsFromUserAgent");
4
+ describe("extractOsFromUserAgent", function () {
5
+ it("should detect iOS devices", function () {
6
+ var iphone = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1";
7
+ var ipad = "Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1";
8
+ var ipod = "Mozilla/5.0 (iPod touch; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1";
9
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(iphone)).toBe("ios");
10
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(ipad)).toBe("ios");
11
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(ipod)).toBe("ios");
12
+ });
13
+ it("should detect Android devices", function () {
14
+ var androidPhone = "Mozilla/5.0 (Linux; Android 10; SM-A505FN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36";
15
+ var androidTablet = "Mozilla/5.0 (Linux; Android 11; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
16
+ var androidTV = "Mozilla/5.0 (Linux; Android 10; AndroidTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
17
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(androidPhone)).toBe("android");
18
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(androidTablet)).toBe("android");
19
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(androidTV)).toBe("android");
20
+ });
21
+ it("should detect macOS devices", function () {
22
+ var macOsSafari = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15";
23
+ var macOsChrome = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
24
+ var macOsFirefox = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0";
25
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(macOsSafari)).toBe("macos");
26
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(macOsChrome)).toBe("macos");
27
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(macOsFirefox)).toBe("macos");
28
+ });
29
+ it("should detect Windows devices", function () {
30
+ var win10Edge = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57";
31
+ var win10Chrome = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
32
+ var win7IE = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";
33
+ var win32UA = "Mozilla/5.0 (Win32; x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
34
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(win10Edge)).toBe("windows");
35
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(win10Chrome)).toBe("windows");
36
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(win7IE)).toBe("windows");
37
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(win32UA)).toBe("windows");
38
+ });
39
+ it("should detect Linux devices", function () {
40
+ var ubuntuChrome = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
41
+ var fedoraFirefox = "Mozilla/5.0 (X11; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0";
42
+ var genericLinux = "Mozilla/5.0 (Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
43
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(ubuntuChrome)).toBe("linux");
44
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(fedoraFirefox)).toBe("linux");
45
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(genericLinux)).toBe("linux");
46
+ });
47
+ it("should handle unknown operating systems", function () {
48
+ var empty = "";
49
+ var unknown = "Unknown OS";
50
+ var customOs = "Mozilla/5.0 (CustomOS) CustomBrowser/1.0";
51
+ var bot = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)";
52
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(empty)).toBe("other");
53
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(unknown)).toBe("other");
54
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(customOs)).toBe("other");
55
+ expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(bot)).toBe("other");
56
+ });
57
+ });
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _unitConverterInitialization = require("@/Unit/unitConverterInitialization");
4
+ // Example unit converter for length measurements
5
+ var convertLength = (0, _unitConverterInitialization.unitConverterInitialization)({
6
+ meters: 1,
7
+ // base unit
8
+ kilometers: 0.001,
9
+ centimeters: 100,
10
+ millimeters: 1000
11
+ });
12
+ describe("Unit Converter", function () {
13
+ it("converts between base unit and larger units", function () {
14
+ expect(convertLength(1000, "meters", "kilometers")).toBeCloseTo(1);
15
+ expect(convertLength(1, "kilometers", "meters")).toBeCloseTo(1000);
16
+ });
17
+ it("converts between base unit and smaller units", function () {
18
+ expect(convertLength(1, "meters", "centimeters")).toBeCloseTo(100);
19
+ expect(convertLength(100, "centimeters", "meters")).toBeCloseTo(1);
20
+ });
21
+ it("converts between different small units", function () {
22
+ expect(convertLength(100, "centimeters", "millimeters")).toBeCloseTo(1000);
23
+ expect(convertLength(1000, "millimeters", "centimeters")).toBeCloseTo(100);
24
+ });
25
+ it("handles zero values correctly", function () {
26
+ expect(convertLength(0, "meters", "kilometers")).toBe(0);
27
+ expect(convertLength(0, "millimeters", "centimeters")).toBe(0);
28
+ });
29
+ it("returns same value when converting to same unit", function () {
30
+ expect(convertLength(5, "meters", "meters")).toBe(5);
31
+ expect(convertLength(100, "centimeters", "centimeters")).toBe(100);
32
+ });
33
+ it("maintains precision in round-trip conversions", function () {
34
+ var original = 5;
35
+ var roundTrip = convertLength(convertLength(original, "meters", "kilometers"), "kilometers", "meters");
36
+ expect(roundTrip).toBeCloseTo(original);
37
+ var smallUnitsRoundTrip = convertLength(convertLength(original, "centimeters", "millimeters"), "millimeters", "centimeters");
38
+ expect(smallUnitsRoundTrip).toBeCloseTo(original);
39
+ });
40
+ });
@@ -3,12 +3,26 @@
3
3
  var _Validate = require("@/Validate");
4
4
  var _core = require("@/Validate/array/core");
5
5
  var _string = require("@/Validate/string");
6
- describe("array core validation", function () {
7
- it("should validate an array of booleans", function () {
6
+ describe("Array core validation", function () {
7
+ // Test for empty array
8
+ it("should validate an empty array", function () {
8
9
  var validateArray = (0, _core.array)();
9
- expect(validateArray(["apple", "banana", "cherry"]).validate).toBe(true);
10
+ expect(validateArray([]).validate).toBe(true);
11
+ });
12
+
13
+ // Test for null and undefined
14
+ it("should fail validation for null and undefined", function () {
15
+ var validateArray = (0, _core.array)();
16
+ // @ts-ignore
17
+ expect(validateArray(null).validate).toBe(false);
18
+ // @ts-ignore
19
+ expect(validateArray(undefined).validate).toBe(false);
20
+ });
21
+ it("should validate an array of mixed values without type validation", function () {
22
+ var validateArray = (0, _core.array)();
23
+ expect(validateArray(["apple", true, 123]).validate).toBe(true);
10
24
  });
11
- it("should validate an array of strings", function () {
25
+ it("should validate an array of strings with validation", function () {
12
26
  var validateArray = (0, _core.array)({
13
27
  string: (0, _string.string)()
14
28
  });
@@ -16,7 +30,7 @@ describe("array core validation", function () {
16
30
  // @ts-ignore
17
31
  expect(validateArray(["apple", 1, true]).validate).toBe(false);
18
32
  });
19
- it("should validate an array of numbers", function () {
33
+ it("should validate an array of numbers with range validation", function () {
20
34
  var validateArray = (0, _core.array)({
21
35
  number: (0, _Validate.number)([(0, _Validate.minValue)(0), (0, _Validate.maxValue)(10)])
22
36
  });
@@ -25,7 +39,7 @@ describe("array core validation", function () {
25
39
  // @ts-ignore
26
40
  expect(validateArray([1, "2", 3]).validate).toBe(false);
27
41
  });
28
- it("should validate an array of numbers and strings", function () {
42
+ it("should validate an array of mixed types with specific validations", function () {
29
43
  var validateArray = (0, _core.array)({
30
44
  string: (0, _string.string)([(0, _string.maxLength)(1)]),
31
45
  number: (0, _Validate.number)([(0, _Validate.minValue)(0), (0, _Validate.maxValue)(10)])
@@ -35,23 +49,38 @@ describe("array core validation", function () {
35
49
  expect(validateArray([1, "2", 3]).validate).toBe(true);
36
50
  expect(validateArray([1, 2, 3, "11"]).validate).toBe(false);
37
51
  });
38
- it("should return a custom message on validation failure", function () {
52
+ it("should return a custom message on array type validation failure", function () {
39
53
  var customMessage = "Array validation failed";
40
54
  var validateArray = (0, _core.array)({
41
55
  string: (0, _string.string)()
42
56
  }, customMessage);
43
57
  // @ts-ignore
44
- var result = validateArray(1);
58
+ var result = validateArray("not an array");
45
59
  expect(result.validate).toBe(false);
46
60
  expect(result.message).toBe(customMessage);
47
61
  });
48
- it("should return an empty message on validation failure", function () {
62
+ it("should return element validation error message", function () {
63
+ var elementMessage = "String too long";
64
+ var validateArray = (0, _core.array)({
65
+ string: (0, _string.string)([(0, _string.maxLength)(3, elementMessage)])
66
+ });
67
+ var result = validateArray(["ok", "good", "toolong"]);
68
+ expect(result.validate).toBe(false);
69
+ expect(result.message).toBe(elementMessage);
70
+ });
71
+ it("should return an empty message when no custom message is provided", function () {
49
72
  var validateArray = (0, _core.array)({
50
73
  string: (0, _string.string)()
51
74
  });
52
75
  // @ts-ignore
53
- var result = validateArray(1);
76
+ var result = validateArray("not an array");
54
77
  expect(result.validate).toBe(false);
55
78
  expect(result.message).toBe("");
56
79
  });
80
+ it("should preserve the original array in the return type", function () {
81
+ var testArray = [1, 2, 3];
82
+ var validateArray = (0, _core.array)();
83
+ var result = validateArray(testArray);
84
+ expect(result.type).toBe(testArray);
85
+ });
57
86
  });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ var _core = require("@/Validate/core");
4
+ describe("Core validation", function () {
5
+ it("should validate type correctly", function () {
6
+ var validateString = (0, _core.core)("string");
7
+ expect(validateString("test").validate).toBe(true);
8
+ // @ts-ignore
9
+ expect(validateString(123).validate).toBe(false);
10
+ });
11
+ it("should respect custom message for type validation", function () {
12
+ var message = "Not a string";
13
+ var validateString = (0, _core.core)("string");
14
+ // @ts-ignore
15
+ expect(validateString(123, [], message).message).toBe(message);
16
+ });
17
+ it("should return empty message when no message provided", function () {
18
+ var validateString = (0, _core.core)("string");
19
+ // @ts-ignore
20
+ expect(validateString(123).message).toBe("");
21
+ });
22
+ it("should validate with additional validation rules", function () {
23
+ var validateString = (0, _core.core)("string");
24
+ var minLength = {
25
+ type: "string",
26
+ validate: function validate(value) {
27
+ return value.length >= 3;
28
+ },
29
+ message: "String too short"
30
+ };
31
+ expect(validateString("test", [minLength]).validate).toBe(true);
32
+ expect(validateString("ab", [minLength]).validate).toBe(false);
33
+ expect(validateString("ab", [minLength]).message).toBe("String too short");
34
+
35
+ // Test validation rule without message
36
+ var noMessage = {
37
+ type: "string",
38
+ validate: function validate(value) {
39
+ return value.length >= 3;
40
+ }
41
+ };
42
+ expect(validateString("ab", [noMessage]).message).toBe("");
43
+ });
44
+ it("should validate numbers", function () {
45
+ var validateNumber = (0, _core.core)("number");
46
+ expect(validateNumber(123).validate).toBe(true);
47
+ // @ts-ignore
48
+ expect(validateNumber("123").validate).toBe(false);
49
+ });
50
+ it("should validate booleans", function () {
51
+ var validateBoolean = (0, _core.core)("boolean");
52
+ expect(validateBoolean(true).validate).toBe(true);
53
+ expect(validateBoolean(false).validate).toBe(true);
54
+ // @ts-ignore
55
+ expect(validateBoolean("true").validate).toBe(false);
56
+ });
57
+ it("should validate with multiple validation rules", function () {
58
+ var validateString = (0, _core.core)("string");
59
+ var minLength = {
60
+ type: "string",
61
+ validate: function validate(value) {
62
+ return value.length >= 3;
63
+ },
64
+ message: "String too short"
65
+ };
66
+ var maxLength = {
67
+ type: "string",
68
+ validate: function validate(value) {
69
+ return value.length <= 10;
70
+ },
71
+ message: "String too long"
72
+ };
73
+ expect(validateString("test", [minLength, maxLength]).validate).toBe(true);
74
+ expect(validateString("ab", [minLength, maxLength]).validate).toBe(false);
75
+ expect(validateString("ab", [minLength, maxLength]).message).toBe("String too short");
76
+ expect(validateString("very long string", [minLength, maxLength]).validate).toBe(false);
77
+ expect(validateString("very long string", [minLength, maxLength]).message).toBe("String too long");
78
+ });
79
+ it("should preserve type information in return value", function () {
80
+ var validateString = (0, _core.core)("string");
81
+ var validateNumber = (0, _core.core)("number");
82
+ var validateBoolean = (0, _core.core)("boolean");
83
+ expect(validateString("test").type).toBe("string");
84
+ expect(validateNumber(123).type).toBe("number");
85
+ expect(validateBoolean(true).type).toBe("boolean");
86
+ });
87
+ });
@@ -11,6 +11,17 @@ describe("isArray", function () {
11
11
  }, {
12
12
  b: 2
13
13
  }])).toBe(true);
14
+ expect((0, _isArray.isArray)([])).toBe(true);
15
+ });
16
+ it("should work as a type guard", function () {
17
+ var value = [1, 2, 3];
18
+ if ((0, _isArray.isArray)(value)) {
19
+ // TypeScript should recognize value as number[] here
20
+ var sum = value.reduce(function (a, b) {
21
+ return a + b;
22
+ }, 0);
23
+ expect(sum).toBe(6);
24
+ }
14
25
  });
15
26
  it("should return false for a non-array value", function () {
16
27
  expect((0, _isArray.isArray)(1)).toBe(false);
@@ -1,13 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _isDictionaryObject = require("@/Validate/isDictionaryObject");
4
- describe("isObj", function () {
4
+ describe("isDictionaryObject", function () {
5
+ it("should return true for an empty object", function () {
6
+ expect((0, _isDictionaryObject.isDictionaryObject)({})).toBe(true);
7
+ });
5
8
  it("should return true for an object with string properties", function () {
6
9
  expect((0, _isDictionaryObject.isDictionaryObject)({
7
10
  foo: "bar",
8
11
  baz: "qux"
9
12
  })).toBe(true);
10
13
  });
14
+ it("should work as a type guard", function () {
15
+ var value = {
16
+ x: 1,
17
+ y: 2
18
+ };
19
+ if ((0, _isDictionaryObject.isDictionaryObject)(value)) {
20
+ // TypeScript should recognize value as { x: number; y: number }
21
+ var sum = value.x + value.y;
22
+ expect(sum).toBe(3);
23
+ }
24
+ });
11
25
  it("should return true for an object with number properties", function () {
12
26
  expect((0, _isDictionaryObject.isDictionaryObject)({
13
27
  foo: 1,
@@ -1,20 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _isDouble = require("@/Validate/isDouble");
4
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
5
  describe("isDouble", function () {
5
6
  it("should return true for valid doubles", function () {
6
7
  expect((0, _isDouble.isDouble)(1.5)).toBe(true);
8
+ expect((0, _isDouble.isDouble)(-1.5)).toBe(true);
9
+ expect((0, _isDouble.isDouble)(1.23e-4)).toBe(true);
7
10
  expect((0, _isDouble.isDouble)("1.5")).toBe(true);
8
11
  expect((0, _isDouble.isDouble)("1.5", false)).toBe(false);
9
12
  });
13
+ it("should work as a type guard", function () {
14
+ var value = 1.5;
15
+ if ((0, _isDouble.isDouble)(value)) {
16
+ // TypeScript should recognize value as number | string
17
+ expect(typeof value === "number" || typeof value === "string").toBe(true);
18
+ expect(Number(value)).toBe(1.5);
19
+ }
20
+ var strictValue = 1.5;
21
+ if ((0, _isDouble.isDouble)(strictValue, false)) {
22
+ // TypeScript should recognize strictValue as number
23
+ expect(_typeof(strictValue)).toBe("number");
24
+ expect(strictValue).toBe(1.5);
25
+ }
26
+ });
10
27
  it("should return false for invalid doubles", function () {
11
28
  expect((0, _isDouble.isDouble)(1)).toBe(false);
12
29
  expect((0, _isDouble.isDouble)(1, false)).toBe(false);
13
30
  expect((0, _isDouble.isDouble)("1")).toBe(false);
14
31
  expect((0, _isDouble.isDouble)("1", false)).toBe(false);
15
- expect((0, _isDouble.isDouble)(NaN)).toBe(false);
16
- expect((0, _isDouble.isDouble)(Infinity)).toBe(false);
17
- expect((0, _isDouble.isDouble)(-Infinity)).toBe(false);
32
+ expect((0, _isDouble.isDouble)(Number.NaN)).toBe(false);
33
+ expect((0, _isDouble.isDouble)(Number.POSITIVE_INFINITY)).toBe(false);
34
+ expect((0, _isDouble.isDouble)(Number.NEGATIVE_INFINITY)).toBe(false);
18
35
  expect((0, _isDouble.isDouble)(null)).toBe(false);
19
36
  expect((0, _isDouble.isDouble)(undefined)).toBe(false);
20
37
  expect((0, _isDouble.isDouble)(true)).toBe(false);
@@ -22,7 +39,7 @@ describe("isDouble", function () {
22
39
  expect((0, _isDouble.isDouble)({})).toBe(false);
23
40
  expect((0, _isDouble.isDouble)([])).toBe(false);
24
41
  expect((0, _isDouble.isDouble)(0x12)).toBe(false);
25
- expect((0, _isDouble.isDouble)(-Infinity, false)).toBe(false);
42
+ expect((0, _isDouble.isDouble)(Number.NEGATIVE_INFINITY, false)).toBe(false);
26
43
  expect((0, _isDouble.isDouble)(null, false)).toBe(false);
27
44
  expect((0, _isDouble.isDouble)(true, false)).toBe(false);
28
45
  expect((0, _isDouble.isDouble)(false, false)).toBe(false);
@@ -32,11 +32,11 @@ describe("isNotEmpty", function () {
32
32
  it("should return false for an empty array", function () {
33
33
  expect((0, _isNotEmpty.isNotEmpty)([])).toBe(false);
34
34
  });
35
- it("should return true for a non-empty Map or Set", function () {
35
+
36
+ // Note: Map and Set are always considered empty by Object.keys()
37
+ it("should return false for Map and Set (regardless of content)", function () {
36
38
  expect((0, _isNotEmpty.isNotEmpty)(new Map([["a", 1], ["b", 2]]))).toBe(false);
37
39
  expect((0, _isNotEmpty.isNotEmpty)(new Set([1, 2, 3]))).toBe(false);
38
- });
39
- it("should return false for an empty Map or Set", function () {
40
40
  expect((0, _isNotEmpty.isNotEmpty)(new Map())).toBe(false);
41
41
  expect((0, _isNotEmpty.isNotEmpty)(new Set())).toBe(false);
42
42
  });
@@ -1,39 +1,77 @@
1
1
  "use strict";
2
2
 
3
3
  var _isNumber = require("@/Validate/isNumber");
4
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
5
  describe("isNumber", function () {
5
- // 引数が数値であるケース
6
- test("should return true when a number is provided", function () {
7
- expect((0, _isNumber.isNumber)(5)).toBe(true);
6
+ describe("integers and decimals", function () {
7
+ test("should return true for integer numbers", function () {
8
+ expect((0, _isNumber.isNumber)(5)).toBe(true);
9
+ expect((0, _isNumber.isNumber)(-5)).toBe(true);
10
+ expect((0, _isNumber.isNumber)(0)).toBe(true);
11
+ });
12
+ test("should return true for decimal numbers", function () {
13
+ expect((0, _isNumber.isNumber)(5.5)).toBe(true);
14
+ expect((0, _isNumber.isNumber)(-5.5)).toBe(true);
15
+ expect((0, _isNumber.isNumber)(0.0)).toBe(true);
16
+ });
8
17
  });
9
-
10
- // 引数が文字列であるが、数値に変換可能なケース
11
- test("should return true when a string of a number is provided (loose mode)", function () {
12
- expect((0, _isNumber.isNumber)("5", true)).toBe(true);
13
- });
14
-
15
- // 引数が文字列であるが、数値に変換不可能なケース
16
- test("should return false when a non-numeric string is provided", function () {
17
- expect((0, _isNumber.isNumber)("abc", true)).toBe(false);
18
- });
19
-
20
- // 引数がnullであるケース
21
- test("should return false when null is provided", function () {
22
- expect((0, _isNumber.isNumber)(null)).toBe(false);
18
+ describe("string representations (loose mode)", function () {
19
+ test("should return true for valid number strings when loose is true", function () {
20
+ expect((0, _isNumber.isNumber)("5", true)).toBe(true);
21
+ expect((0, _isNumber.isNumber)("-5.5", true)).toBe(true);
22
+ expect((0, _isNumber.isNumber)("0", true)).toBe(true);
23
+ });
24
+ test("should return false for invalid number strings", function () {
25
+ expect((0, _isNumber.isNumber)("abc", true)).toBe(false);
26
+ expect((0, _isNumber.isNumber)("5abc", true)).toBe(false);
27
+ });
28
+ test("should return false for number strings when loose is false", function () {
29
+ expect((0, _isNumber.isNumber)("5", false)).toBe(false);
30
+ expect((0, _isNumber.isNumber)("-5.5", false)).toBe(false);
31
+ });
32
+ test("should handle empty string", function () {
33
+ expect((0, _isNumber.isNumber)("")).toBe(true); // Due to isFinite("") returning true
34
+ });
23
35
  });
24
-
25
- // 引数がbooleanであるケース
26
- test("should return false when a boolean is provided", function () {
27
- expect((0, _isNumber.isNumber)(true)).toBe(false);
36
+ describe("special number values", function () {
37
+ test("should return false for NaN", function () {
38
+ expect((0, _isNumber.isNumber)(Number.NaN)).toBe(false);
39
+ });
40
+ test("should return false for Infinity", function () {
41
+ expect((0, _isNumber.isNumber)(Number.POSITIVE_INFINITY)).toBe(false);
42
+ expect((0, _isNumber.isNumber)(Number.NEGATIVE_INFINITY)).toBe(false);
43
+ });
28
44
  });
29
-
30
- // 引数が文字列であるが、looseモードがオフのケース
31
- test("should return false when a string is provided and loose mode is off", function () {
32
- expect((0, _isNumber.isNumber)("5", false)).toBe(false);
45
+ describe("non-number types", function () {
46
+ test("should return false for null and undefined", function () {
47
+ expect((0, _isNumber.isNumber)(null)).toBe(false);
48
+ expect((0, _isNumber.isNumber)(undefined)).toBe(false);
49
+ });
50
+ test("should return false for booleans", function () {
51
+ expect((0, _isNumber.isNumber)(true)).toBe(false);
52
+ expect((0, _isNumber.isNumber)(false)).toBe(false);
53
+ });
54
+ test("should return false for objects and arrays", function () {
55
+ expect((0, _isNumber.isNumber)({})).toBe(false);
56
+ expect((0, _isNumber.isNumber)([])).toBe(false);
57
+ });
33
58
  });
34
-
35
- // 空文字列が引数として渡されたケース
36
- test("should return false when an empty string is provided", function () {
37
- expect((0, _isNumber.isNumber)("")).toBe(true);
59
+ describe("type guard functionality", function () {
60
+ test("should work as a type guard in loose mode", function () {
61
+ var value = "123";
62
+ if ((0, _isNumber.isNumber)(value)) {
63
+ // TypeScript should recognize value as number | string
64
+ expect(typeof value === "string" || typeof value === "number").toBe(true);
65
+ expect(Number(value)).toBe(123);
66
+ }
67
+ });
68
+ test("should work as a type guard in strict mode", function () {
69
+ var value = 123;
70
+ if ((0, _isNumber.isNumber)(value, false)) {
71
+ // TypeScript should recognize value as number
72
+ expect(_typeof(value)).toBe("number");
73
+ expect(value).toBe(123);
74
+ }
75
+ });
38
76
  });
39
77
  });
@@ -19,4 +19,9 @@ describe("isPerfectSquare", function () {
19
19
  expect((0, _isPerfectSquare.isPerfectSquare)(100000000)).toBe(true);
20
20
  expect((0, _isPerfectSquare.isPerfectSquare)(100000002)).toBe(false);
21
21
  });
22
+ it("should handle non-integer numbers", function () {
23
+ expect((0, _isPerfectSquare.isPerfectSquare)(4.0)).toBe(true); // 4.0 is treated as integer 4
24
+ expect((0, _isPerfectSquare.isPerfectSquare)(4.5)).toBe(false);
25
+ expect((0, _isPerfectSquare.isPerfectSquare)(2.25)).toBe(false);
26
+ });
22
27
  });