umt 1.1.4 → 1.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 (425) hide show
  1. package/README.md +20 -3
  2. package/module/Advance/index.d.ts +1 -0
  3. package/module/Advance/rangeAdvance.d.ts +9 -0
  4. package/module/Array/ArrayWrapper.d.ts +7 -0
  5. package/module/Array/ArrayWrapper.js +21 -0
  6. package/module/Array/ArrayWrapper.js.map +1 -0
  7. package/module/Array/arrayMap.d.ts +1 -0
  8. package/module/Array/arrayMap.js +8 -0
  9. package/module/Array/arrayMap.js.map +1 -0
  10. package/module/Array/arraysJoin.d.ts +3 -3
  11. package/module/Array/arraysJoin.js +4 -7
  12. package/module/Array/arraysJoin.js.map +1 -0
  13. package/module/Array/checkFlagAlignment.d.ts +3 -0
  14. package/module/Array/checkFlagAlignment.js +26 -0
  15. package/module/Array/checkFlagAlignment.js.map +1 -0
  16. package/module/Array/chunk.d.ts +2 -0
  17. package/module/Array/chunk.js +8 -0
  18. package/module/Array/chunk.js.map +1 -0
  19. package/module/Array/getArraysCommon.d.ts +1 -1
  20. package/module/Array/getArraysCommon.js +6 -6
  21. package/module/Array/getArraysCommon.js.map +1 -0
  22. package/module/Array/getArraysDiff.d.ts +1 -1
  23. package/module/Array/getArraysDiff.js +15 -9
  24. package/module/Array/getArraysDiff.js.map +1 -0
  25. package/module/Array/index.d.ts +4 -15
  26. package/module/Array/index.js +10 -39
  27. package/module/Array/index.js.map +1 -0
  28. package/module/Array/quickSort.d.ts +1 -1
  29. package/module/Array/quickSort.js +8 -10
  30. package/module/Array/quickSort.js.map +1 -0
  31. package/module/Array/range.d.ts +3 -0
  32. package/module/Array/range.js +15 -0
  33. package/module/Array/range.js.map +1 -0
  34. package/module/Array/sum.js +4 -7
  35. package/module/Array/sum.js.map +1 -0
  36. package/module/Date/getDay.d.ts +6 -0
  37. package/module/Date/getDay.js +28 -0
  38. package/module/Date/getDay.js.map +1 -0
  39. package/module/Date/index.d.ts +2 -14
  40. package/module/Date/index.js +4 -28
  41. package/module/Date/index.js.map +1 -0
  42. package/module/Date/new.d.ts +1 -1
  43. package/module/Date/new.js +3 -7
  44. package/module/Date/new.js.map +1 -0
  45. package/module/Date/now.d.ts +3 -2
  46. package/module/Date/now.js +3 -6
  47. package/module/Date/now.js.map +1 -0
  48. package/module/Math/addition.js +7 -10
  49. package/module/Math/addition.js.map +1 -0
  50. package/module/Math/average.js +9 -9
  51. package/module/Math/average.js.map +1 -0
  52. package/module/Math/calculator/calculator.d.ts +10 -0
  53. package/module/Math/calculator/calculator.js +20 -0
  54. package/module/Math/calculator/calculator.js.map +1 -0
  55. package/module/Math/calculator/calculatorInitialization.d.ts +3 -1
  56. package/module/Math/calculator/calculatorInitialization.js +4 -7
  57. package/module/Math/calculator/calculatorInitialization.js.map +1 -0
  58. package/module/Math/calculator/convertCurrency.d.ts +10 -0
  59. package/module/Math/calculator/convertCurrency.js +29 -0
  60. package/module/Math/calculator/convertCurrency.js.map +1 -0
  61. package/module/Math/calculator/core.d.ts +3 -7
  62. package/module/Math/calculator/core.js +116 -76
  63. package/module/Math/calculator/core.js.map +1 -0
  64. package/module/Math/calculator/exchange.js +2 -1
  65. package/module/Math/calculator/exchange.js.map +1 -0
  66. package/module/Math/calculator/index.d.ts +5 -8
  67. package/module/Math/calculator/index.js +7 -23
  68. package/module/Math/calculator/index.js.map +1 -0
  69. package/module/Math/calculator/literalExpression.d.ts +3 -2
  70. package/module/Math/calculator/literalExpression.js +47 -44
  71. package/module/Math/calculator/literalExpression.js.map +1 -0
  72. package/module/Math/degToRad.js +2 -5
  73. package/module/Math/degToRad.js.map +1 -0
  74. package/module/Math/deviationValue.d.ts +4 -4
  75. package/module/Math/deviationValue.js +6 -11
  76. package/module/Math/deviationValue.js.map +1 -0
  77. package/module/Math/division.js +6 -8
  78. package/module/Math/division.js.map +1 -0
  79. package/module/Math/factorial.js +2 -5
  80. package/module/Math/factorial.js.map +1 -0
  81. package/module/Math/factorize.js +2 -5
  82. package/module/Math/factorize.js.map +1 -0
  83. package/module/Math/gcd.d.ts +1 -1
  84. package/module/Math/gcd.js +9 -13
  85. package/module/Math/gcd.js.map +1 -0
  86. package/module/Math/getDecimalLength.js +2 -5
  87. package/module/Math/getDecimalLength.js.map +1 -0
  88. package/module/Math/index.d.ts +39 -133
  89. package/module/Math/index.js +41 -237
  90. package/module/Math/index.js.map +1 -0
  91. package/module/Math/isDouble.d.ts +5 -2
  92. package/module/Math/isDouble.js +10 -12
  93. package/module/Math/isDouble.js.map +1 -0
  94. package/module/Math/isNumber.d.ts +4 -3
  95. package/module/Math/isNumber.js +10 -12
  96. package/module/Math/isNumber.js.map +1 -0
  97. package/module/Math/isPrimeNumber.js +5 -34
  98. package/module/Math/isPrimeNumber.js.map +1 -0
  99. package/module/Math/isValueNaN.d.ts +1 -0
  100. package/module/Math/isValueNaN.js +5 -0
  101. package/module/Math/isValueNaN.js.map +1 -0
  102. package/module/Math/lcm.js +6 -9
  103. package/module/Math/lcm.js.map +1 -0
  104. package/module/Math/mathConverter.d.ts +7 -3
  105. package/module/Math/mathConverter.js +30 -32
  106. package/module/Math/mathConverter.js.map +1 -0
  107. package/module/Math/mathSeparator.d.ts +6 -1
  108. package/module/Math/mathSeparator.js +23 -12
  109. package/module/Math/mathSeparator.js.map +1 -0
  110. package/module/Math/max.js +2 -5
  111. package/module/Math/max.js.map +1 -0
  112. package/module/Math/min.js +2 -5
  113. package/module/Math/min.js.map +1 -0
  114. package/module/Math/multiples.js +2 -5
  115. package/module/Math/multiples.js.map +1 -0
  116. package/module/Math/multiplication.js +4 -7
  117. package/module/Math/multiplication.js.map +1 -0
  118. package/module/Math/nCr.d.ts +4 -3
  119. package/module/Math/nCr.js +15 -18
  120. package/module/Math/nCr.js.map +1 -0
  121. package/module/Math/nHr.d.ts +4 -3
  122. package/module/Math/nHr.js +11 -16
  123. package/module/Math/nHr.js.map +1 -0
  124. package/module/Math/nPr.d.ts +4 -3
  125. package/module/Math/nPr.js +12 -35
  126. package/module/Math/nPr.js.map +1 -0
  127. package/module/Math/primeFactorization.js +2 -5
  128. package/module/Math/primeFactorization.js.map +1 -0
  129. package/module/Math/quotient.js +2 -5
  130. package/module/Math/quotient.js.map +1 -0
  131. package/module/Math/radToDeg.js +2 -5
  132. package/module/Math/radToDeg.js.map +1 -0
  133. package/module/Math/random.js +2 -5
  134. package/module/Math/random.js.map +1 -0
  135. package/module/Math/reduce.js +5 -8
  136. package/module/Math/reduce.js.map +1 -0
  137. package/module/Math/repeatedTrial.js +8 -11
  138. package/module/Math/repeatedTrial.js.map +1 -0
  139. package/module/Math/roundOf.js +2 -5
  140. package/module/Math/roundOf.js.map +1 -0
  141. package/module/Math/solveEquation.js +13 -16
  142. package/module/Math/solveEquation.js.map +1 -0
  143. package/module/Math/standardDeviation.js +5 -8
  144. package/module/Math/standardDeviation.js.map +1 -0
  145. package/module/Math/subtract.js +7 -10
  146. package/module/Math/subtract.js.map +1 -0
  147. package/module/Math/toBinary.d.ts +1 -5
  148. package/module/Math/toBinary.js +3 -8
  149. package/module/Math/toBinary.js.map +1 -0
  150. package/module/Math/toCelsius.js +3 -6
  151. package/module/Math/toCelsius.js.map +1 -0
  152. package/module/Math/toKelvin.js +3 -6
  153. package/module/Math/toKelvin.js.map +1 -0
  154. package/module/Math/valueSwap.js +2 -5
  155. package/module/Math/valueSwap.js.map +1 -0
  156. package/module/Simple/Date/index.d.ts +1 -5
  157. package/module/Simple/Date/index.js +3 -13
  158. package/module/Simple/Date/index.js.map +1 -0
  159. package/module/Simple/Date/now.d.ts +2 -1
  160. package/module/Simple/Date/now.js +8 -11
  161. package/module/Simple/Date/now.js.map +1 -0
  162. package/module/Simple/Tool/birthday.d.ts +2 -1
  163. package/module/Simple/Tool/birthday.js +8 -10
  164. package/module/Simple/Tool/birthday.js.map +1 -0
  165. package/module/Simple/Tool/dayOfWeekSimple.d.ts +9 -6
  166. package/module/Simple/Tool/dayOfWeekSimple.js +14 -16
  167. package/module/Simple/Tool/dayOfWeekSimple.js.map +1 -0
  168. package/module/Simple/Tool/deviationValueSimple.js +8 -10
  169. package/module/Simple/Tool/deviationValueSimple.js.map +1 -0
  170. package/module/Simple/Tool/index.d.ts +3 -13
  171. package/module/Simple/Tool/index.js +5 -23
  172. package/module/Simple/Tool/index.js.map +1 -0
  173. package/module/Simple/index.d.ts +4 -10
  174. package/module/Simple/index.js +6 -19
  175. package/module/Simple/index.js.map +1 -0
  176. package/module/String/index.d.ts +0 -6
  177. package/module/String/index.js +3 -15
  178. package/module/String/index.js.map +1 -0
  179. package/module/String/reverseString.js +2 -5
  180. package/module/String/reverseString.js.map +1 -0
  181. package/module/Tool/birthday.d.ts +2 -1
  182. package/module/Tool/birthday.js +8 -10
  183. package/module/Tool/birthday.js.map +1 -0
  184. package/module/Tool/createPipeline.d.ts +15 -0
  185. package/module/Tool/createPipeline.js +12 -0
  186. package/module/Tool/createPipeline.js.map +1 -0
  187. package/module/Tool/dayOfWeek.d.ts +3 -2
  188. package/module/Tool/dayOfWeek.js +6 -9
  189. package/module/Tool/dayOfWeek.js.map +1 -0
  190. package/module/Tool/deleteSpace.d.ts +1 -0
  191. package/module/Tool/deleteSpace.js +4 -0
  192. package/module/Tool/deleteSpace.js.map +1 -0
  193. package/module/Tool/hexToRgba.d.ts +6 -0
  194. package/module/Tool/hexToRgba.js +14 -0
  195. package/module/Tool/hexToRgba.js.map +1 -0
  196. package/module/Tool/index.d.ts +10 -24
  197. package/module/Tool/index.js +12 -42
  198. package/module/Tool/index.js.map +1 -0
  199. package/module/Tool/isArr.d.ts +1 -0
  200. package/module/Tool/isArr.js +4 -0
  201. package/module/Tool/isArr.js.map +1 -0
  202. package/module/Tool/isBrowser.js +2 -4
  203. package/module/Tool/isBrowser.js.map +1 -0
  204. package/module/Tool/isNode.js +2 -4
  205. package/module/Tool/isNode.js.map +1 -0
  206. package/module/Tool/isNodeWebkit.js +4 -6
  207. package/module/Tool/isNodeWebkit.js.map +1 -0
  208. package/module/Tool/isNotEmpty.d.ts +6 -0
  209. package/module/Tool/isNotEmpty.js +10 -0
  210. package/module/Tool/isNotEmpty.js.map +1 -0
  211. package/module/Tool/isObj.d.ts +3 -0
  212. package/module/Tool/isObj.js +4 -0
  213. package/module/Tool/isObj.js.map +1 -0
  214. package/module/Tool/pipeFunction.js +1 -0
  215. package/module/Tool/pipeFunction.js.map +1 -0
  216. package/module/Tool/rgbaToHexA.d.ts +6 -0
  217. package/module/Tool/rgbaToHexA.js +19 -0
  218. package/module/Tool/rgbaToHexA.js.map +1 -0
  219. package/module/index.d.ts +7 -18
  220. package/module/index.js +7 -44
  221. package/module/index.js.map +1 -0
  222. package/module/tests/Advance/rangeAdvance.test.d.ts +1 -0
  223. package/module/tests/Array/arrayMap.test.d.ts +1 -0
  224. package/module/tests/Array/arrayMap.test.js +8 -0
  225. package/module/tests/Array/arrayMap.test.js.map +1 -0
  226. package/module/tests/Array/arraysJoin.test.d.ts +1 -0
  227. package/module/tests/Array/arraysJoin.test.js +8 -0
  228. package/module/tests/Array/arraysJoin.test.js.map +1 -0
  229. package/module/tests/Array/checkFlagAlignment.test.d.ts +1 -0
  230. package/module/tests/Array/checkFlagAlignment.test.js +130 -0
  231. package/module/tests/Array/checkFlagAlignment.test.js.map +1 -0
  232. package/module/tests/Array/chunk.test.d.ts +1 -0
  233. package/module/tests/Array/chunk.test.js +41 -0
  234. package/module/tests/Array/chunk.test.js.map +1 -0
  235. package/module/tests/Array/getArraysCommon.test.d.ts +1 -0
  236. package/module/tests/Array/getArraysCommon.test.js +9 -0
  237. package/module/tests/Array/getArraysCommon.test.js.map +1 -0
  238. package/module/tests/Array/getArraysDiff.test.d.ts +1 -0
  239. package/module/tests/Array/getArraysDiff.test.js +28 -0
  240. package/module/tests/Array/getArraysDiff.test.js.map +1 -0
  241. package/module/tests/Array/quickSort.test.d.ts +1 -0
  242. package/module/tests/Array/quickSort.test.js +19 -0
  243. package/module/tests/Array/quickSort.test.js.map +1 -0
  244. package/module/tests/Array/sum.test.d.ts +1 -0
  245. package/module/tests/Array/sum.test.js +5 -0
  246. package/module/tests/Array/sum.test.js.map +1 -0
  247. package/module/tests/Math/addition.test.d.ts +1 -0
  248. package/module/tests/Math/addition.test.js +34 -0
  249. package/module/tests/Math/addition.test.js.map +1 -0
  250. package/module/tests/Math/average.test.d.ts +1 -0
  251. package/module/tests/Math/average.test.js +25 -0
  252. package/module/tests/Math/average.test.js.map +1 -0
  253. package/module/tests/Math/calculator/calculator.test.d.ts +1 -0
  254. package/module/tests/Math/calculator/calculator.test.js +63 -0
  255. package/module/tests/Math/calculator/calculator.test.js.map +1 -0
  256. package/module/tests/Math/calculator/calculatorInitialization.test.d.ts +1 -0
  257. package/module/tests/Math/calculator/calculatorInitialization.test.js +7 -0
  258. package/module/tests/Math/calculator/calculatorInitialization.test.js.map +1 -0
  259. package/module/tests/Math/calculator/convertCurrency.test.d.ts +1 -0
  260. package/module/tests/Math/calculator/convertCurrency.test.js +27 -0
  261. package/module/tests/Math/calculator/convertCurrency.test.js.map +1 -0
  262. package/module/tests/Math/calculator/exchange.test.d.ts +1 -0
  263. package/module/tests/Math/calculator/exchange.test.js +9 -0
  264. package/module/tests/Math/calculator/exchange.test.js.map +1 -0
  265. package/module/tests/Math/calculator/literalExpression.test.d.ts +1 -0
  266. package/module/tests/Math/calculator/literalExpression.test.js +44 -0
  267. package/module/tests/Math/calculator/literalExpression.test.js.map +1 -0
  268. package/module/tests/Math/degToRad.test.d.ts +1 -0
  269. package/module/tests/Math/degToRad.test.js +23 -0
  270. package/module/tests/Math/degToRad.test.js.map +1 -0
  271. package/module/tests/Math/deviationValue.test.d.ts +1 -0
  272. package/module/tests/Math/deviationValue.test.js +25 -0
  273. package/module/tests/Math/deviationValue.test.js.map +1 -0
  274. package/module/tests/Math/division.test.d.ts +1 -0
  275. package/module/tests/Math/division.test.js +6 -0
  276. package/module/tests/Math/division.test.js.map +1 -0
  277. package/module/tests/Math/factorial.test.d.ts +1 -0
  278. package/module/tests/Math/factorial.test.js +10 -0
  279. package/module/tests/Math/factorial.test.js.map +1 -0
  280. package/module/tests/Math/factorize.test.d.ts +1 -0
  281. package/module/tests/Math/factorize.test.js +12 -0
  282. package/module/tests/Math/factorize.test.js.map +1 -0
  283. package/module/tests/Math/gcd.test.d.ts +1 -0
  284. package/module/tests/Math/gcd.test.js +30 -0
  285. package/module/tests/Math/gcd.test.js.map +1 -0
  286. package/module/tests/Math/getDecimalLength.test.d.ts +1 -0
  287. package/module/tests/Math/getDecimalLength.test.js +7 -0
  288. package/module/tests/Math/getDecimalLength.test.js.map +1 -0
  289. package/module/tests/Math/isDouble.test.d.ts +1 -0
  290. package/module/tests/Math/isDouble.test.js +29 -0
  291. package/module/tests/Math/isDouble.test.js.map +1 -0
  292. package/module/tests/Math/isNumber.test.d.ts +1 -0
  293. package/module/tests/Math/isNumber.test.js +28 -0
  294. package/module/tests/Math/isNumber.test.js.map +1 -0
  295. package/module/tests/Math/isPrimeNumber.test.d.ts +1 -0
  296. package/module/tests/Math/isPrimeNumber.test.js +32 -0
  297. package/module/tests/Math/isPrimeNumber.test.js.map +1 -0
  298. package/module/tests/Math/isValueNaN.test.d.ts +1 -0
  299. package/module/tests/Math/isValueNaN.test.js +14 -0
  300. package/module/tests/Math/isValueNaN.test.js.map +1 -0
  301. package/module/tests/Math/lcm.test.d.ts +1 -0
  302. package/module/tests/Math/lcm.test.js +20 -0
  303. package/module/tests/Math/lcm.test.js.map +1 -0
  304. package/module/tests/Math/mathConverter.test.d.ts +1 -0
  305. package/module/tests/Math/mathConverter.test.js +26 -0
  306. package/module/tests/Math/mathConverter.test.js.map +1 -0
  307. package/module/tests/Math/mathSeparator.test.d.ts +1 -0
  308. package/module/tests/Math/mathSeparator.test.js +36 -0
  309. package/module/tests/Math/mathSeparator.test.js.map +1 -0
  310. package/module/tests/Math/max.test.d.ts +1 -0
  311. package/module/tests/Math/max.test.js +6 -0
  312. package/module/tests/Math/max.test.js.map +1 -0
  313. package/module/tests/Math/min.test.d.ts +1 -0
  314. package/module/tests/Math/min.test.js +6 -0
  315. package/module/tests/Math/min.test.js.map +1 -0
  316. package/module/tests/Math/multiples.test.d.ts +1 -0
  317. package/module/tests/Math/multiples.test.js +13 -0
  318. package/module/tests/Math/multiples.test.js.map +1 -0
  319. package/module/tests/Math/multiplication.test.d.ts +1 -0
  320. package/module/tests/Math/multiplication.test.js +7 -0
  321. package/module/tests/Math/multiplication.test.js.map +1 -0
  322. package/module/tests/Math/nCr.test.d.ts +1 -0
  323. package/module/tests/Math/nCr.test.js +19 -0
  324. package/module/tests/Math/nCr.test.js.map +1 -0
  325. package/module/tests/Math/nHr.test.d.ts +1 -0
  326. package/module/tests/Math/nHr.test.js +20 -0
  327. package/module/tests/Math/nHr.test.js.map +1 -0
  328. package/module/tests/Math/nPr.test.d.ts +1 -0
  329. package/module/tests/Math/nPr.test.js +19 -0
  330. package/module/tests/Math/nPr.test.js.map +1 -0
  331. package/module/tests/Math/primeFactorization.test.d.ts +1 -0
  332. package/module/tests/Math/primeFactorization.test.js +13 -0
  333. package/module/tests/Math/primeFactorization.test.js.map +1 -0
  334. package/module/tests/Math/quotient.test.d.ts +1 -0
  335. package/module/tests/Math/quotient.test.js +13 -0
  336. package/module/tests/Math/quotient.test.js.map +1 -0
  337. package/module/tests/Math/radToDeg.test.d.ts +1 -0
  338. package/module/tests/Math/radToDeg.test.js +7 -0
  339. package/module/tests/Math/radToDeg.test.js.map +1 -0
  340. package/module/tests/Math/reduce.test.d.ts +1 -0
  341. package/module/tests/Math/reduce.test.js +13 -0
  342. package/module/tests/Math/reduce.test.js.map +1 -0
  343. package/module/tests/Math/repeatedTrial.test.d.ts +1 -0
  344. package/module/tests/Math/repeatedTrial.test.js +5 -0
  345. package/module/tests/Math/repeatedTrial.test.js.map +1 -0
  346. package/module/tests/Math/roundOf.test.d.ts +1 -0
  347. package/module/tests/Math/roundOf.test.js +12 -0
  348. package/module/tests/Math/roundOf.test.js.map +1 -0
  349. package/module/tests/Math/solveEquation.test.d.ts +1 -0
  350. package/module/tests/Math/solveEquation.test.js +33 -0
  351. package/module/tests/Math/solveEquation.test.js.map +1 -0
  352. package/module/tests/Math/standardDeviation.test.d.ts +1 -0
  353. package/module/tests/Math/standardDeviation.test.js +5 -0
  354. package/module/tests/Math/standardDeviation.test.js.map +1 -0
  355. package/module/tests/Math/subtract.test.d.ts +1 -0
  356. package/module/tests/Math/subtract.test.js +7 -0
  357. package/module/tests/Math/subtract.test.js.map +1 -0
  358. package/module/tests/Math/toBinary.test.d.ts +1 -0
  359. package/module/tests/Math/toBinary.test.js +22 -0
  360. package/module/tests/Math/toBinary.test.js.map +1 -0
  361. package/module/tests/Math/toCelsius.test.d.ts +1 -0
  362. package/module/tests/Math/toCelsius.test.js +5 -0
  363. package/module/tests/Math/toCelsius.test.js.map +1 -0
  364. package/module/tests/Math/toKelvin.test.d.ts +1 -0
  365. package/module/tests/Math/toKelvin.test.js +5 -0
  366. package/module/tests/Math/toKelvin.test.js.map +1 -0
  367. package/module/tests/Math/valueSwap.test.d.ts +1 -0
  368. package/module/tests/Math/valueSwap.test.js +9 -0
  369. package/module/tests/Math/valueSwap.test.js.map +1 -0
  370. package/module/tests/Simple/Tool/dayOfWeekSimple.test.d.ts +1 -0
  371. package/module/tests/Simple/Tool/dayOfWeekSimple.test.js +53 -0
  372. package/module/tests/Simple/Tool/dayOfWeekSimple.test.js.map +1 -0
  373. package/module/tests/Simple/Tool/deviationValueSimple.test.d.ts +1 -0
  374. package/module/tests/Simple/Tool/deviationValueSimple.test.js +6 -0
  375. package/module/tests/Simple/Tool/deviationValueSimple.test.js.map +1 -0
  376. package/module/tests/Tool/createPipeline.test.d.ts +1 -0
  377. package/module/tests/Tool/createPipeline.test.js +6 -0
  378. package/module/tests/Tool/createPipeline.test.js.map +1 -0
  379. package/module/tests/Tool/dayOfWeek.test.d.ts +1 -0
  380. package/module/tests/Tool/dayOfWeek.test.js +25 -0
  381. package/module/tests/Tool/dayOfWeek.test.js.map +1 -0
  382. package/module/tests/Tool/deleteSpace.test.d.ts +1 -0
  383. package/module/tests/Tool/deleteSpace.test.js +34 -0
  384. package/module/tests/Tool/deleteSpace.test.js.map +1 -0
  385. package/module/tests/Tool/hexToRgba.test.d.ts +1 -0
  386. package/module/tests/Tool/hexToRgba.test.js +19 -0
  387. package/module/tests/Tool/hexToRgba.test.js.map +1 -0
  388. package/module/tests/Tool/isArr.test.d.ts +1 -0
  389. package/module/tests/Tool/isArr.test.js +18 -0
  390. package/module/tests/Tool/isArr.test.js.map +1 -0
  391. package/module/tests/Tool/pipeFunction.test.d.ts +1 -0
  392. package/module/tests/Tool/pipeFunction.test.js +8 -0
  393. package/module/tests/Tool/pipeFunction.test.js.map +1 -0
  394. package/module/tests/Tool/rgbaToHexA.test.d.ts +1 -0
  395. package/module/tests/Tool/rgbaToHexA.test.js +23 -0
  396. package/module/tests/Tool/rgbaToHexA.test.js.map +1 -0
  397. package/module/tsconfig.tsbuildinfo +1 -1
  398. package/module/types/arrayType.d.ts +4 -0
  399. package/module/types/arrayType.js +2 -0
  400. package/module/types/arrayType.js.map +1 -0
  401. package/module/types/clockType.d.ts +11 -7
  402. package/module/types/clockType.js +2 -2
  403. package/module/types/clockType.js.map +1 -0
  404. package/module/types/dateType.d.ts +8 -6
  405. package/module/types/dateType.js +2 -2
  406. package/module/types/dateType.js.map +1 -0
  407. package/module/types/int.d.ts +103 -2
  408. package/module/types/int.js +2 -2
  409. package/module/types/int.js.map +1 -0
  410. package/module/types/jokeType.d.ts +2 -0
  411. package/module/types/jokeType.js +2 -0
  412. package/module/types/jokeType.js.map +1 -0
  413. package/module/types/logicType.d.ts +83 -1
  414. package/module/types/logicType.js +2 -2
  415. package/module/types/logicType.js.map +1 -0
  416. package/module/types/mathType.d.ts +10 -0
  417. package/module/types/mathType.js +2 -0
  418. package/module/types/mathType.js.map +1 -0
  419. package/package.json +24 -17
  420. package/module/Date/DateWrapper.d.ts +0 -60
  421. package/module/Date/DateWrapper.js +0 -172
  422. package/module/Object/index.d.ts +0 -12
  423. package/module/Object/index.js +0 -15
  424. package/module/Object/objectUnion.d.ts +0 -5
  425. package/module/Object/objectUnion.js +0 -7
@@ -1,6 +1,7 @@
1
+ import { hoursTypeInt } from "../types/clockType";
1
2
  /**
2
3
  * タイムゾーンに関係なく、UTCを基準に指定した時差を加えた現在時刻を取得します。
3
- * @param {number} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
4
+ * @param {hoursTypeInt} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
4
5
  * @returns {Date} 現在時刻
5
6
  */
6
- export declare const now: (timeDifference?: number) => Date;
7
+ export declare const now: (timeDifference?: hoursTypeInt) => Date;
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.now = void 0;
4
1
  /**
5
2
  * タイムゾーンに関係なく、UTCを基準に指定した時差を加えた現在時刻を取得します。
6
- * @param {number} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
3
+ * @param {hoursTypeInt} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
7
4
  * @returns {Date} 現在時刻
8
5
  */
9
- const now = (timeDifference = 9) => {
6
+ export const now = (timeDifference = 9) => {
10
7
  return new Date(Date.now() + timeDifference * 60 * 60 * 1000);
11
8
  };
12
- exports.now = now;
9
+ //# sourceMappingURL=now.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/Date/now.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,iBAA+B,CAAC,EAAQ,EAAE;IAC5D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAChE,CAAC,CAAC"}
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addition = void 0;
4
- const getDecimalLength_1 = require("./getDecimalLength");
5
- const max_1 = require("./max");
6
- const multiplication_1 = require("./multiplication");
1
+ import { getDecimalLength } from "./getDecimalLength";
2
+ import { max } from "./max";
3
+ import { multiplication } from "./multiplication";
7
4
  /**
8
5
  * 誤差のない足し算
9
6
  * @param {number} x
10
7
  * @param {number} y
11
8
  * @returns number
12
9
  */
13
- const addition = (x, y) => {
14
- const z = Math.pow(10, (0, max_1.max)((0, getDecimalLength_1.getDecimalLength)(x), (0, getDecimalLength_1.getDecimalLength)(y)));
15
- return ((0, multiplication_1.multiplication)(x, z) + (0, multiplication_1.multiplication)(y, z)) / z;
10
+ export const addition = (x, y) => {
11
+ const z = Math.pow(10, max(getDecimalLength(x), getDecimalLength(y)));
12
+ return (multiplication(x, z) + multiplication(y, z)) / z;
16
13
  };
17
- exports.addition = addition;
14
+ //# sourceMappingURL=addition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addition.js","sourceRoot":"","sources":["../../src/Math/addition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC/C,MAAM,CAAC,GAAG,SAAA,EAAE,EAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;IAC9D,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC,CAAC"}
@@ -1,16 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.average = void 0;
4
- const addition_1 = require("./addition");
5
- const division_1 = require("./division");
1
+ import { addition } from "./addition";
2
+ import { division } from "./division";
6
3
  /**
7
4
  * 平均値
8
5
  * @param {number[]} numbers
9
6
  * @returns number
10
7
  */
11
- const average = (numbers) => {
12
- const sum = numbers.reduce((a, b) => (0, addition_1.addition)(a, b), 0);
13
- const avg = (0, division_1.division)(sum, numbers.length);
8
+ export const average = (numbers) => {
9
+ if (numbers.length === 0) {
10
+ return 0;
11
+ }
12
+ const sum = numbers.reduce((a, b) => addition(a, b), 0);
13
+ const avg = division(sum, numbers.length);
14
14
  return avg;
15
15
  };
16
- exports.average = average;
16
+ //# sourceMappingURL=average.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"average.js","sourceRoot":"","sources":["../../src/Math/average.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAiB,EAAU,EAAE;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,CAAC,CAAC;KACV;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 電卓
3
+ * ()や符号に対応
4
+ * 一文字までの方程式に対応
5
+ * @param {string} x
6
+ * @param {object} exchange 為替
7
+ */
8
+ export declare const calculator: <T extends {
9
+ [key: string]: string | number;
10
+ }>(x: string, exchange?: T | undefined) => string;
@@ -0,0 +1,20 @@
1
+ import { calculatorCore } from "./core";
2
+ import { literalExpression } from "./literalExpression";
3
+ /**
4
+ * 電卓
5
+ * ()や符号に対応
6
+ * 一文字までの方程式に対応
7
+ * @param {string} x
8
+ * @param {object} exchange 為替
9
+ */
10
+ export const calculator = (x, exchange) => {
11
+ let copyX = x;
12
+ copyX = copyX.replace(/\s+/g, ""); // Remove spaces
13
+ if (copyX.indexOf("=") !== -1) {
14
+ return literalExpression(copyX); // If the expression contains an equal sign, then it is a literal expression
15
+ }
16
+ else {
17
+ return calculatorCore(copyX, exchange);
18
+ }
19
+ };
20
+ //# sourceMappingURL=calculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/Math/calculator/calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,CAAS,EACT,QAAY,EACZ,EAAE;IACF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;QAC7B,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,4EAA4E;KAC9G;SAAM;QACL,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KACxC;AACH,CAAC,CAAC"}
@@ -3,4 +3,6 @@
3
3
  * @param {object} exchange - current exchange rate
4
4
  * @return {Function} - calculator
5
5
  */
6
- export declare const calculatorInitialization: <T extends object>(exchange: T) => (x: string) => string;
6
+ export declare const calculatorInitialization: <T extends {
7
+ [key: string]: string | number;
8
+ }>(exchange: T) => (x: string) => string;
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculatorInitialization = void 0;
4
- const _1 = require(".");
1
+ import { calculator } from "./calculator";
5
2
  /**
6
3
  * Initializes the calculator.
7
4
  * @param {object} exchange - current exchange rate
8
5
  * @return {Function} - calculator
9
6
  */
10
- const calculatorInitialization = (exchange) => {
7
+ export const calculatorInitialization = (exchange) => {
11
8
  /**
12
9
  * @param {string} x - amount of money
13
10
  * @return {string} - converted amount of money
14
11
  */
15
- return (x) => (0, _1.calculator)(x, exchange);
12
+ return (x) => calculator(x, exchange);
16
13
  };
17
- exports.calculatorInitialization = calculatorInitialization;
14
+ //# sourceMappingURL=calculatorInitialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculatorInitialization.js","sourceRoot":"","sources":["../../../src/Math/calculator/calculatorInitialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAGtC,QAAW,EACc,EAAE;IAC3B;;;OAGG;IACH,OAAO,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 文字列内の通貨記号を利用して通貨を換算する。
3
+ *
4
+ * @param inputString - 換算する通貨額を含む文字列
5
+ * @param conversionRates - 通貨記号と換算レートのオブジェクト
6
+ * @returns 換算後の通貨額を文字列で返す。換算できない場合は元の文字列を返す。
7
+ */
8
+ export declare const convertCurrency: <T extends {
9
+ [key: string]: string | number;
10
+ }>(inputString: string, conversionRates?: T | undefined) => string;
@@ -0,0 +1,29 @@
1
+ import { isNumber } from "../isNumber";
2
+ import { multiplication } from "../multiplication";
3
+ /**
4
+ * 文字列内の通貨記号を利用して通貨を換算する。
5
+ *
6
+ * @param inputString - 換算する通貨額を含む文字列
7
+ * @param conversionRates - 通貨記号と換算レートのオブジェクト
8
+ * @returns 換算後の通貨額を文字列で返す。換算できない場合は元の文字列を返す。
9
+ */
10
+ export const convertCurrency = (inputString, conversionRates) => {
11
+ if (!conversionRates) {
12
+ return inputString;
13
+ }
14
+ for (const currencySymbol in conversionRates) {
15
+ if (inputString.startsWith(currencySymbol)) {
16
+ const amountString = inputString.slice(currencySymbol.length);
17
+ const rate = conversionRates[currencySymbol];
18
+ if (isNumber(rate)) {
19
+ const amount = Number(amountString);
20
+ const convertedAmount = multiplication(amount, Number(rate));
21
+ return Number.isNaN(convertedAmount)
22
+ ? inputString
23
+ : String(convertedAmount);
24
+ }
25
+ }
26
+ }
27
+ return inputString;
28
+ };
29
+ //# sourceMappingURL=convertCurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertCurrency.js","sourceRoot":"","sources":["../../../src/Math/calculator/convertCurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAK7B,WAAmB,EACnB,eAAmB,EACnB,EAAE;IACF,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,WAAW,CAAC;KACpB;IAED,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;QAC5C,IAAI,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;YAE7C,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAClB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBACpC,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;oBAClC,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;aAC7B;SACF;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -1,7 +1,3 @@
1
- /**
2
- * 電卓
3
- * ()や符号に対応
4
- * xなどの文字は未対応
5
- * @param {string} x 計算式
6
- */
7
- export declare const calculatorCore: <T extends object>(x: string, ex?: T | undefined) => string;
1
+ export declare const calculatorCore: <T extends {
2
+ [key: string]: string | number;
3
+ }>(expression: string, currencyExchange?: T | undefined) => string;
@@ -1,89 +1,129 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculatorCore = void 0;
4
- const addition_1 = require("../../Math/addition");
5
- const division_1 = require("../../Math/division");
6
- const multiplication_1 = require("../../Math/multiplication");
7
- const subtract_1 = require("../../Math/subtract");
8
- const exchange_1 = require("./exchange");
9
- /**
10
- * 電卓
11
- * ()や符号に対応
12
- * xなどの文字は未対応
13
- * @param {string} x 計算式
14
- */
15
- const calculatorCore = (x, ex) => {
16
- let copyX = x;
17
- //符号反転
18
- copyX = copyX.replace(/--/g, "+");
19
- copyX = copyX.replace(/\+\+/g, "+");
20
- copyX = copyX.replace(/\+-/g, "+0-");
21
- copyX = copyX.replace(/\-\+/g, "+0-");
22
- //円計算
1
+ import { addition } from "../../Math/addition";
2
+ import { division } from "../../Math/division";
3
+ import { multiplication } from "../../Math/multiplication";
4
+ import { subtract } from "../../Math/subtract";
5
+ import { isNumber } from "../isNumber";
6
+ import { convertCurrency } from "./convertCurrency";
7
+ export const calculatorCore = (expression, currencyExchange) => {
8
+ let sanitizedExpression = expression;
9
+ // 符号の処理
10
+ sanitizedExpression = sanitizeSigns(sanitizedExpression);
11
+ // 主要な計算ループ
23
12
  while (true) {
24
- if (ex) {
25
- for (const i in ex) {
26
- if (copyX.indexOf(i) !== -1) {
27
- const $ = copyX.match(new RegExp(`\\${i}([0-9]+)`));
28
- if ($) {
29
- copyX = copyX.replace($[0], (0, exchange_1.exchange)($[0], ex));
30
- }
31
- }
32
- }
13
+ // 通貨計算
14
+ if (currencyExchange) {
15
+ sanitizedExpression = applyCurrencyExchange(sanitizedExpression, currencyExchange);
33
16
  }
34
- //括弧の処理
35
- if (copyX.indexOf("(") !== -1 || copyX.indexOf(")") !== -1) {
36
- //括弧の中身をぬく
37
- const y = copyX.match(/\(\d+\.?(\d+)?(\*|\/|\+|\-)\d+\.?(\d+)?\)/);
38
- if (y) {
39
- //括弧の中身を計算
40
- copyX = copyX.replace(y[0], (0, exports.calculatorCore)(y[0].replace(/\(|\)/g, "")));
17
+ // 括弧の処理
18
+ if (containsParentheses(sanitizedExpression)) {
19
+ const temporary = resolveParentheses(sanitizedExpression);
20
+ if (temporary === NaN.toString()) {
21
+ return sanitizedExpression;
41
22
  }
42
- else {
43
- copyX = copyX.replace(`(${copyX.slice(copyX.indexOf("(") + 1, copyX.indexOf(")"))})`, (0, exports.calculatorCore)(copyX.slice(copyX.indexOf("(") + 1, copyX.indexOf(")"))));
23
+ sanitizedExpression = temporary;
24
+ }
25
+ // 乗算、べき乗の処理
26
+ else if (containsMulExp(sanitizedExpression)) {
27
+ const temporary = resolveMulExp(sanitizedExpression);
28
+ if (temporary === NaN.toString()) {
29
+ return sanitizedExpression;
44
30
  }
31
+ sanitizedExpression = temporary;
45
32
  }
46
- else if (copyX.indexOf("^") !== -1 ||
47
- copyX.indexOf("*") !== -1 ||
48
- copyX.indexOf("/") !== -1) {
49
- //掛け算と割り算の処理
50
- const y = [
51
- copyX.match(/\d+\.?(\d+)?(\*|\/|\^)\d+\.?(\d+)?/),
52
- [""],
53
- ];
54
- if (y[0]) {
55
- y[1] = y[0][0].split(/(\d+\.\d+)|(\d+)/g).filter((n) => {
56
- return typeof n !== "undefined" && n !== "";
57
- });
58
- copyX = copyX.replace(y[0][0], `${y[1][1] === "^"
59
- ? Math.pow(+y[1][0], +y[1][2])
60
- : y[1][1] === "*"
61
- ? (0, multiplication_1.multiplication)(+y[1][0], +y[1][2])
62
- : y[1][1] === "/"
63
- ? (0, division_1.division)(+y[1][0], +y[1][2])
64
- : "0"}`);
33
+ // 除算の処理
34
+ else if (containsDiv(sanitizedExpression)) {
35
+ const temporary = resolveDiv(sanitizedExpression);
36
+ if (temporary === NaN.toString()) {
37
+ return sanitizedExpression;
65
38
  }
39
+ sanitizedExpression = temporary;
66
40
  }
67
- else if (copyX.indexOf("+") !== -1 || copyX.indexOf("-") !== -1) {
68
- //加算と減算の処理
69
- const y = [
70
- copyX.match(/\d+\.?(\d+)?(\+|\-)\d+\.?(\d+)?/),
71
- [""],
72
- ];
73
- if (y[0]) {
74
- y[1] = y[0][0].split(/(\d+\.\d+)|(\d+)/g).filter((n) => {
75
- return typeof n !== "undefined" && n !== "";
76
- });
77
- copyX = copyX.replace(y[0][0], `${y[1][1] === "+"
78
- ? (0, addition_1.addition)(Number(y[1][0]), Number(y[1][2]))
79
- : y[1][1] === "-"
80
- ? (0, subtract_1.subtract)(Number(y[1][0]), Number(y[1][2]))
81
- : "0"}`);
41
+ // 加算と減算の処理
42
+ else if (containsAddSub(sanitizedExpression) &&
43
+ !isNumber(sanitizedExpression)) {
44
+ const temporary = resolveAddSub(sanitizedExpression);
45
+ if (temporary === NaN.toString()) {
46
+ return sanitizedExpression;
82
47
  }
48
+ sanitizedExpression = temporary;
83
49
  }
50
+ // もう計算するものがなければ結果を返す
84
51
  else {
85
- return copyX;
52
+ return sanitizedExpression;
53
+ }
54
+ }
55
+ };
56
+ const sanitizeSigns = (expr) => {
57
+ return expr
58
+ .replaceAll("--", "+")
59
+ .replaceAll("++", "+")
60
+ .replaceAll("+-", "+0-")
61
+ .replaceAll("-+", "+0-");
62
+ };
63
+ const applyCurrencyExchange = (expr, rates) => {
64
+ let returnExpr = expr;
65
+ // 通貨の交換ロジック
66
+ for (const index in rates) {
67
+ if (returnExpr.includes(index)) {
68
+ const $ = returnExpr.match(new RegExp(`\\${index}([0-9]+)`));
69
+ if ($) {
70
+ returnExpr = returnExpr.replace($[0], convertCurrency($[0], rates));
71
+ }
86
72
  }
87
73
  }
74
+ return returnExpr;
75
+ };
76
+ const containsParentheses = (expr) => {
77
+ return expr.includes("(") || expr.includes(")");
78
+ };
79
+ const resolveParentheses = (expr) => {
80
+ // 括弧内の計算ロジック
81
+ const match = expr.match(/\(\d+\.?(\d+)?([*+/-])\d+\.?(\d+)?\)/);
82
+ if (match) {
83
+ return expr.replace(match[0], calculatorCore(match[0].replaceAll(/\(|\)/g, "")));
84
+ }
85
+ return NaN.toString();
86
+ };
87
+ const containsMulExp = (expr) => {
88
+ return expr.includes("^") || expr.includes("*");
89
+ };
90
+ const containsDiv = (expr) => {
91
+ return expr.includes("/");
92
+ };
93
+ const resolveMulExp = (expr) => {
94
+ // 乗算、べき乗の計算ロジック
95
+ const match = expr.match(/(.*?)(\d+\.?(\d+)?([*^])\d+\.?(\d+)?$)/);
96
+ if (match) {
97
+ const operands = match[2].split(/([*/^])/);
98
+ const result = operands[1] === "^"
99
+ ? Math.pow(Number(operands[0]), Number(operands[2]))
100
+ : multiplication(Number(operands[0]), Number(operands[2]));
101
+ return `${match[1]}${result}`;
102
+ }
103
+ return NaN.toString();
104
+ };
105
+ const resolveDiv = (expr) => {
106
+ // 除算の計算ロジック
107
+ const match = expr.match(/\d+\.?(\d+)?(\/)\d+\.?(\d+)?/);
108
+ if (match) {
109
+ const operands = match[0].split(/(\/)/);
110
+ const result = division(Number(operands[0]), Number(operands[2]));
111
+ return expr.replace(match[0], String(result));
112
+ }
113
+ return NaN.toString();
114
+ };
115
+ const containsAddSub = (expr) => {
116
+ return expr.includes("+") || expr.includes("-");
117
+ };
118
+ const resolveAddSub = (expr) => {
119
+ // 加算、減算の計算ロジック
120
+ const match = expr.match(/(-?\d+)\.?(\d+)?(\+|-)(-?\d+)\.?(\d+)?/);
121
+ if (match) {
122
+ const result = match[3] === "+"
123
+ ? addition(Number(match[1]), Number(match[4]))
124
+ : subtract(Number(match[1]), Number(match[4]));
125
+ return expr.replace(match[0], String(result));
126
+ }
127
+ return NaN.toString();
88
128
  };
89
- exports.calculatorCore = calculatorCore;
129
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/Math/calculator/core.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ const exchange = (n, props) => {
11
11
  if (n.indexOf(i) !== -1) {
12
12
  if ((0, isNumber_1.isNumber)(props[i])) {
13
13
  const x = (0, multiplication_1.multiplication)(Number(n.slice(i.length)), Number(props[i]));
14
- if (isNaN(x)) {
14
+ if (Number.isNaN(x)) {
15
15
  return n;
16
16
  }
17
17
  else {
@@ -30,3 +30,4 @@ const exchange = (n, props) => {
30
30
  }
31
31
  };
32
32
  exports.exchange = exchange;
33
+ //# sourceMappingURL=exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../../src/Math/calculator/exchange.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AACvC,sDAAmD;AACnD,qGAAqG;AACrG,kCAAkC;AAC3B,MAAM,QAAQ,GAAG,CAAmB,CAAS,EAAE,KAAS,EAAE,EAAE;IACjE,IAAI,KAAK,EAAE;QACT,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gBACvB,IAAI,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;oBACtB,MAAM,CAAC,GAAG,IAAA,+BAAc,EAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBACnB,OAAO,CAAC,CAAC;qBACV;yBAAM;wBACL,OAAO,MAAM,CACX,IAAA,+BAAc,EAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;qBACH;iBACF;aACF;iBAAM;gBACL,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,CAAC,CAAC;KACV;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC,CAAC;AAtBW,QAAA,QAAQ,YAsBnB"}
@@ -1,8 +1,5 @@
1
- /**
2
- * 電卓
3
- * ()や符号に対応
4
- * 一文字までの方程式に対応
5
- * @param {string} x
6
- * @param {object} exchange 為替
7
- */
8
- export declare const calculator: <T extends object>(x: string, exchange?: T | undefined) => string;
1
+ export * from "./calculator";
2
+ export * from "./calculatorInitialization";
3
+ export * from "./convertCurrency";
4
+ export * from "./core";
5
+ export * from "./literalExpression";
@@ -1,23 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculator = void 0;
4
- const core_1 = require("./core");
5
- const literalExpression_1 = require("./literalExpression");
6
- /**
7
- * 電卓
8
- * ()や符号に対応
9
- * 一文字までの方程式に対応
10
- * @param {string} x
11
- * @param {object} exchange 為替
12
- */
13
- const calculator = (x, exchange) => {
14
- let copyX = x;
15
- copyX = copyX.replace(/\s+/g, ""); // Remove spaces
16
- if (copyX.indexOf("=") !== -1) {
17
- return (0, literalExpression_1.literalExpression)(copyX); // If the expression contains an equal sign, then it is a literal expression
18
- }
19
- else {
20
- return (0, core_1.calculatorCore)(copyX, exchange);
21
- }
22
- };
23
- exports.calculator = calculator;
1
+ import { calculator } from "./calculator";
2
+ import { calculatorInitialization } from "./calculatorInitialization";
3
+ import { convertCurrency } from "./convertCurrency";
4
+ import { calculatorCore } from "./core";
5
+ import { literalExpression } from "./literalExpression";
6
+ export { calculator, calculatorInitialization, calculatorCore, convertCurrency, literalExpression, };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Math/calculator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * 方程式計算
3
- * @param {string} x
2
+ * 文字式の方程式を計算する
3
+ * @param x 方程式の文字列
4
+ * @returns 計算結果
4
5
  */
5
6
  export declare const literalExpression: (x: string) => string;
@@ -1,55 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.literalExpression = void 0;
4
- const division_1 = require("../division");
5
- const gcd_1 = require("../gcd");
6
- const core_1 = require("./core");
1
+ import { division } from "../division";
2
+ import { gcd } from "../gcd";
3
+ import { calculatorCore } from "./core";
7
4
  /**
8
- * 方程式計算
9
- * @param {string} x
5
+ * 文字式の方程式を計算する
6
+ * @param x 方程式の文字列
7
+ * @returns 計算結果
10
8
  */
11
- const literalExpression = (x) => {
12
- const cache = [[], ""];
13
- for (const i of x.split("=")) {
14
- if (/[a-zA-Z]+/.test(i) === false) {
15
- cache[1] = i;
9
+ export const literalExpression = (x) => {
10
+ // 方程式の数値と変数部分を格納
11
+ let numericalPart = "";
12
+ let variablePart = [];
13
+ // 等号で分割し、数値と変数部分を識別
14
+ for (const part of x.split("=")) {
15
+ if (/[A-Za-z]+/.test(part)) {
16
+ variablePart = part
17
+ .split(/(\d+[A-Za-z]+)|([^A-Za-z]+)/)
18
+ .filter((n) => n && n !== undefined);
16
19
  }
17
20
  else {
18
- cache[0] = i
19
- .split(/([0-9]+[a-zA-Z]+)|([^a-zA-Z]+)/)
20
- .filter((n) => n !== "" && typeof n !== "undefined");
21
+ numericalPart = part;
21
22
  }
22
23
  }
23
- if (cache[0][1]) {
24
- cache[0][1] = (0, core_1.calculatorCore)(cache[0][1]);
25
- if (cache[0][1].indexOf("+") !== -1) {
26
- cache[0][1] = cache[0][1].replace(/\+/g, "plus");
27
- }
28
- if (cache[0][1].indexOf("-") !== -1) {
29
- cache[0][1] = cache[0][1].replace(/\-/g, "minus");
30
- }
31
- if (cache[0][1].indexOf("plus") !== 1) {
32
- cache[0][1] = cache[0][1].replace(/plus/g, "-");
33
- }
34
- if (cache[0][1].indexOf("minus") !== 1) {
35
- cache[0][1] = cache[0][1].replace(/minus/g, "+");
36
- }
24
+ // 変数部分の計算
25
+ if (variablePart[1]) {
26
+ variablePart[1] = calculatorCore(variablePart[1])
27
+ .replaceAll("+", "plus")
28
+ .replaceAll("-", "minus")
29
+ .replaceAll("plus", "-")
30
+ .replaceAll("minus", "+");
37
31
  }
38
- cache[1] = cache[0][1]
39
- ? (0, core_1.calculatorCore)(`${cache[1]}${cache[0][1]}`)
40
- : (0, core_1.calculatorCore)(cache[1]);
41
- cache[0] = cache[0][0]
42
- .split(/([0-9]+)|([a-zA-Z]+)/)
43
- .filter((n) => n !== "" && typeof n !== "undefined");
44
- if (isNaN(Number(cache[0][0]))) {
45
- return cache[1];
32
+ // 数値部分の計算
33
+ numericalPart = variablePart[1]
34
+ ? calculatorCore(`${numericalPart}${variablePart[1]}`)
35
+ : calculatorCore(numericalPart);
36
+ // 変数部分を再分割
37
+ variablePart = variablePart[0]
38
+ .split(/(\d+)|([A-Za-z]+)/)
39
+ .filter((n) => n && n !== undefined);
40
+ // 数値がない場合は計算結果を返す
41
+ if (Number.isNaN(Number(variablePart[0]))) {
42
+ return numericalPart;
46
43
  }
47
- else {
48
- const cacheGcd = (0, gcd_1.gcd)(Number(cache[0][0]), Number(cache[1]));
49
- if (cacheGcd !== 1) {
50
- return `${(0, division_1.division)(Number(cache[1]), cacheGcd)}/${(0, division_1.division)(Number(cache[0][0]), cacheGcd)}`;
44
+ // 最大公約数で簡約
45
+ const commonGcd = gcd(Number(variablePart[0]), Number(numericalPart));
46
+ console.log("====================================");
47
+ console.log(commonGcd, variablePart[0], numericalPart);
48
+ console.log("====================================");
49
+ if (commonGcd !== 1) {
50
+ numericalPart = `${division(Number(numericalPart), commonGcd)}/${division(Number(variablePart[0]), commonGcd)}`;
51
+ if (/(-?)\d+\/1/.test(numericalPart)) {
52
+ return numericalPart.replace(/\/1/, "");
51
53
  }
52
- return cache[0][0] === "1" ? `${cache[1]}/${cache[0][0]}` : cache[1];
54
+ return numericalPart;
53
55
  }
56
+ return numericalPart;
54
57
  };
55
- exports.literalExpression = literalExpression;
58
+ //# sourceMappingURL=literalExpression.js.map