dce-commonkit 4.4.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 (401) hide show
  1. package/.eslintrc.js +93 -0
  2. package/LICENSE +21 -0
  3. package/README.md +2 -0
  4. package/lib/constants/DAY_IN_MS.d.ts +6 -0
  5. package/lib/constants/DAY_IN_MS.js +9 -0
  6. package/lib/constants/DAY_IN_MS.js.map +1 -0
  7. package/lib/constants/HOUR_IN_MS.d.ts +6 -0
  8. package/lib/constants/HOUR_IN_MS.js +9 -0
  9. package/lib/constants/HOUR_IN_MS.js.map +1 -0
  10. package/lib/constants/LOG_REVIEW_GET_LOGS_ROUTE.d.ts +6 -0
  11. package/lib/constants/LOG_REVIEW_GET_LOGS_ROUTE.js +13 -0
  12. package/lib/constants/LOG_REVIEW_GET_LOGS_ROUTE.js.map +1 -0
  13. package/lib/constants/LOG_REVIEW_ROUTE_PATH_PREFIX.d.ts +6 -0
  14. package/lib/constants/LOG_REVIEW_ROUTE_PATH_PREFIX.js +13 -0
  15. package/lib/constants/LOG_REVIEW_ROUTE_PATH_PREFIX.js.map +1 -0
  16. package/lib/constants/LOG_REVIEW_STATUS_ROUTE.d.ts +7 -0
  17. package/lib/constants/LOG_REVIEW_STATUS_ROUTE.js +14 -0
  18. package/lib/constants/LOG_REVIEW_STATUS_ROUTE.js.map +1 -0
  19. package/lib/constants/LOG_ROUTE_PATH.d.ts +6 -0
  20. package/lib/constants/LOG_ROUTE_PATH.js +13 -0
  21. package/lib/constants/LOG_ROUTE_PATH.js.map +1 -0
  22. package/lib/constants/MINUTE_IN_MS.d.ts +6 -0
  23. package/lib/constants/MINUTE_IN_MS.js +9 -0
  24. package/lib/constants/MINUTE_IN_MS.js.map +1 -0
  25. package/lib/constants/ROUTE_PATH_PREFIX.d.ts +6 -0
  26. package/lib/constants/ROUTE_PATH_PREFIX.js +9 -0
  27. package/lib/constants/ROUTE_PATH_PREFIX.js.map +1 -0
  28. package/lib/constants/SELECT_ADMIN_CHECK_ROUTE.d.ts +6 -0
  29. package/lib/constants/SELECT_ADMIN_CHECK_ROUTE.js +9 -0
  30. package/lib/constants/SELECT_ADMIN_CHECK_ROUTE.js.map +1 -0
  31. package/lib/errors/ErrorWithCode.d.ts +9 -0
  32. package/lib/errors/ErrorWithCode.js +33 -0
  33. package/lib/errors/ErrorWithCode.js.map +1 -0
  34. package/lib/helpers/abbreviate.d.ts +10 -0
  35. package/lib/helpers/abbreviate.js +24 -0
  36. package/lib/helpers/abbreviate.js.map +1 -0
  37. package/lib/helpers/abbreviate.test.d.ts +5 -0
  38. package/lib/helpers/abbreviate.test.js +28 -0
  39. package/lib/helpers/abbreviate.test.js.map +1 -0
  40. package/lib/helpers/asyncArrayFunctions/everyAsync.d.ts +13 -0
  41. package/lib/helpers/asyncArrayFunctions/everyAsync.js +81 -0
  42. package/lib/helpers/asyncArrayFunctions/everyAsync.js.map +1 -0
  43. package/lib/helpers/asyncArrayFunctions/everyAsync.test.d.ts +1 -0
  44. package/lib/helpers/asyncArrayFunctions/everyAsync.test.js +219 -0
  45. package/lib/helpers/asyncArrayFunctions/everyAsync.test.js.map +1 -0
  46. package/lib/helpers/asyncArrayFunctions/filterAsync.d.ts +13 -0
  47. package/lib/helpers/asyncArrayFunctions/filterAsync.js +81 -0
  48. package/lib/helpers/asyncArrayFunctions/filterAsync.js.map +1 -0
  49. package/lib/helpers/asyncArrayFunctions/filterAsync.test.d.ts +1 -0
  50. package/lib/helpers/asyncArrayFunctions/filterAsync.test.js +244 -0
  51. package/lib/helpers/asyncArrayFunctions/filterAsync.test.js.map +1 -0
  52. package/lib/helpers/asyncArrayFunctions/forEachAsync.d.ts +10 -0
  53. package/lib/helpers/asyncArrayFunctions/forEachAsync.js +72 -0
  54. package/lib/helpers/asyncArrayFunctions/forEachAsync.js.map +1 -0
  55. package/lib/helpers/asyncArrayFunctions/forEachAsync.test.d.ts +1 -0
  56. package/lib/helpers/asyncArrayFunctions/forEachAsync.test.js +223 -0
  57. package/lib/helpers/asyncArrayFunctions/forEachAsync.test.js.map +1 -0
  58. package/lib/helpers/asyncArrayFunctions/mapAsync.d.ts +11 -0
  59. package/lib/helpers/asyncArrayFunctions/mapAsync.js +77 -0
  60. package/lib/helpers/asyncArrayFunctions/mapAsync.js.map +1 -0
  61. package/lib/helpers/asyncArrayFunctions/mapAsync.test.d.ts +1 -0
  62. package/lib/helpers/asyncArrayFunctions/mapAsync.test.js +219 -0
  63. package/lib/helpers/asyncArrayFunctions/mapAsync.test.js.map +1 -0
  64. package/lib/helpers/asyncArrayFunctions/someAsync.d.ts +13 -0
  65. package/lib/helpers/asyncArrayFunctions/someAsync.js +80 -0
  66. package/lib/helpers/asyncArrayFunctions/someAsync.js.map +1 -0
  67. package/lib/helpers/asyncArrayFunctions/someAsync.test.d.ts +1 -0
  68. package/lib/helpers/asyncArrayFunctions/someAsync.test.js +227 -0
  69. package/lib/helpers/asyncArrayFunctions/someAsync.test.js.map +1 -0
  70. package/lib/helpers/avg.d.ts +8 -0
  71. package/lib/helpers/avg.js +24 -0
  72. package/lib/helpers/avg.js.map +1 -0
  73. package/lib/helpers/avg.test.d.ts +5 -0
  74. package/lib/helpers/avg.test.js +25 -0
  75. package/lib/helpers/avg.test.js.map +1 -0
  76. package/lib/helpers/capitalize.d.ts +7 -0
  77. package/lib/helpers/capitalize.js +20 -0
  78. package/lib/helpers/capitalize.js.map +1 -0
  79. package/lib/helpers/ceilToNumDecimals.d.ts +9 -0
  80. package/lib/helpers/ceilToNumDecimals.js +15 -0
  81. package/lib/helpers/ceilToNumDecimals.js.map +1 -0
  82. package/lib/helpers/ceilToNumDecimals.test.d.ts +5 -0
  83. package/lib/helpers/ceilToNumDecimals.test.js +38 -0
  84. package/lib/helpers/ceilToNumDecimals.test.js.map +1 -0
  85. package/lib/helpers/cloneDeep.d.ts +8 -0
  86. package/lib/helpers/cloneDeep.js +15 -0
  87. package/lib/helpers/cloneDeep.js.map +1 -0
  88. package/lib/helpers/compareArraysByProp.d.ts +13 -0
  89. package/lib/helpers/compareArraysByProp.js +62 -0
  90. package/lib/helpers/compareArraysByProp.js.map +1 -0
  91. package/lib/helpers/compareArraysByProp.test.d.ts +5 -0
  92. package/lib/helpers/compareArraysByProp.test.js +140 -0
  93. package/lib/helpers/compareArraysByProp.test.js.map +1 -0
  94. package/lib/helpers/extractProp.d.ts +12 -0
  95. package/lib/helpers/extractProp.js +19 -0
  96. package/lib/helpers/extractProp.js.map +1 -0
  97. package/lib/helpers/extractProp.test.d.ts +5 -0
  98. package/lib/helpers/extractProp.test.js +36 -0
  99. package/lib/helpers/extractProp.test.js.map +1 -0
  100. package/lib/helpers/floorToNumDecimals.d.ts +9 -0
  101. package/lib/helpers/floorToNumDecimals.js +15 -0
  102. package/lib/helpers/floorToNumDecimals.js.map +1 -0
  103. package/lib/helpers/floorToNumDecimals.test.d.ts +5 -0
  104. package/lib/helpers/floorToNumDecimals.test.js +38 -0
  105. package/lib/helpers/floorToNumDecimals.test.js.map +1 -0
  106. package/lib/helpers/forceNumIntoBounds.d.ts +10 -0
  107. package/lib/helpers/forceNumIntoBounds.js +15 -0
  108. package/lib/helpers/forceNumIntoBounds.js.map +1 -0
  109. package/lib/helpers/forceNumIntoBounds.test.d.ts +5 -0
  110. package/lib/helpers/forceNumIntoBounds.test.js +34 -0
  111. package/lib/helpers/forceNumIntoBounds.test.js.map +1 -0
  112. package/lib/helpers/genCSV.d.ts +18 -0
  113. package/lib/helpers/genCSV.js +69 -0
  114. package/lib/helpers/genCSV.js.map +1 -0
  115. package/lib/helpers/genCSV.test.d.ts +5 -0
  116. package/lib/helpers/genCSV.test.js +75 -0
  117. package/lib/helpers/genCSV.test.js.map +1 -0
  118. package/lib/helpers/genCommaList.d.ts +12 -0
  119. package/lib/helpers/genCommaList.js +20 -0
  120. package/lib/helpers/genCommaList.js.map +1 -0
  121. package/lib/helpers/genCommaList.test.d.ts +1 -0
  122. package/lib/helpers/genCommaList.test.js +94 -0
  123. package/lib/helpers/genCommaList.test.js.map +1 -0
  124. package/lib/helpers/getHumanReadableDate.d.ts +8 -0
  125. package/lib/helpers/getHumanReadableDate.js +32 -0
  126. package/lib/helpers/getHumanReadableDate.js.map +1 -0
  127. package/lib/helpers/getHumanReadableDate.test.d.ts +5 -0
  128. package/lib/helpers/getHumanReadableDate.test.js +31 -0
  129. package/lib/helpers/getHumanReadableDate.test.js.map +1 -0
  130. package/lib/helpers/getLocalTimeInfo.d.ts +19 -0
  131. package/lib/helpers/getLocalTimeInfo.js +51 -0
  132. package/lib/helpers/getLocalTimeInfo.js.map +1 -0
  133. package/lib/helpers/getLocalTimeInfo.test.d.ts +6 -0
  134. package/lib/helpers/getLocalTimeInfo.test.js +50 -0
  135. package/lib/helpers/getLocalTimeInfo.test.js.map +1 -0
  136. package/lib/helpers/getMonthName.d.ts +14 -0
  137. package/lib/helpers/getMonthName.js +31 -0
  138. package/lib/helpers/getMonthName.js.map +1 -0
  139. package/lib/helpers/getMonthName.test.d.ts +5 -0
  140. package/lib/helpers/getMonthName.test.js +70 -0
  141. package/lib/helpers/getMonthName.test.js.map +1 -0
  142. package/lib/helpers/getOrdinal.d.ts +8 -0
  143. package/lib/helpers/getOrdinal.js +16 -0
  144. package/lib/helpers/getOrdinal.js.map +1 -0
  145. package/lib/helpers/getOrdinal.test.d.ts +5 -0
  146. package/lib/helpers/getOrdinal.test.js +74 -0
  147. package/lib/helpers/getOrdinal.test.js.map +1 -0
  148. package/lib/helpers/getPartOfDay.d.ts +7 -0
  149. package/lib/helpers/getPartOfDay.js +24 -0
  150. package/lib/helpers/getPartOfDay.js.map +1 -0
  151. package/lib/helpers/getPartOfDay.test.d.ts +5 -0
  152. package/lib/helpers/getPartOfDay.test.js +49 -0
  153. package/lib/helpers/getPartOfDay.test.js.map +1 -0
  154. package/lib/helpers/getTimeInfoInET.d.ts +21 -0
  155. package/lib/helpers/getTimeInfoInET.js +67 -0
  156. package/lib/helpers/getTimeInfoInET.js.map +1 -0
  157. package/lib/helpers/getTimeInfoInET.test.d.ts +5 -0
  158. package/lib/helpers/getTimeInfoInET.test.js +74 -0
  159. package/lib/helpers/getTimeInfoInET.test.js.map +1 -0
  160. package/lib/helpers/getTimestampFromTimeInfoInET.d.ts +20 -0
  161. package/lib/helpers/getTimestampFromTimeInfoInET.js +136 -0
  162. package/lib/helpers/getTimestampFromTimeInfoInET.js.map +1 -0
  163. package/lib/helpers/getWordCount.d.ts +10 -0
  164. package/lib/helpers/getWordCount.js +24 -0
  165. package/lib/helpers/getWordCount.js.map +1 -0
  166. package/lib/helpers/idify.d.ts +9 -0
  167. package/lib/helpers/idify.js +24 -0
  168. package/lib/helpers/idify.js.map +1 -0
  169. package/lib/helpers/onlyKeepLetters.d.ts +8 -0
  170. package/lib/helpers/onlyKeepLetters.js +13 -0
  171. package/lib/helpers/onlyKeepLetters.js.map +1 -0
  172. package/lib/helpers/padDecimalZeros.d.ts +10 -0
  173. package/lib/helpers/padDecimalZeros.js +30 -0
  174. package/lib/helpers/padDecimalZeros.js.map +1 -0
  175. package/lib/helpers/padZerosLeft.d.ts +9 -0
  176. package/lib/helpers/padZerosLeft.js +21 -0
  177. package/lib/helpers/padZerosLeft.js.map +1 -0
  178. package/lib/helpers/parallelLimit.d.ts +12 -0
  179. package/lib/helpers/parallelLimit.js +104 -0
  180. package/lib/helpers/parallelLimit.js.map +1 -0
  181. package/lib/helpers/prefixWithAOrAn.d.ts +10 -0
  182. package/lib/helpers/prefixWithAOrAn.js +28 -0
  183. package/lib/helpers/prefixWithAOrAn.js.map +1 -0
  184. package/lib/helpers/roundToNumDecimals.d.ts +9 -0
  185. package/lib/helpers/roundToNumDecimals.js +15 -0
  186. package/lib/helpers/roundToNumDecimals.js.map +1 -0
  187. package/lib/helpers/shuffleArray.d.ts +8 -0
  188. package/lib/helpers/shuffleArray.js +29 -0
  189. package/lib/helpers/shuffleArray.js.map +1 -0
  190. package/lib/helpers/startMinWait.d.ts +9 -0
  191. package/lib/helpers/startMinWait.js +79 -0
  192. package/lib/helpers/startMinWait.js.map +1 -0
  193. package/lib/helpers/stringsToHumanReadableList.d.ts +10 -0
  194. package/lib/helpers/stringsToHumanReadableList.js +37 -0
  195. package/lib/helpers/stringsToHumanReadableList.js.map +1 -0
  196. package/lib/helpers/sum.d.ts +8 -0
  197. package/lib/helpers/sum.js +15 -0
  198. package/lib/helpers/sum.js.map +1 -0
  199. package/lib/helpers/validators/ChicagoTitleCase.d.ts +9 -0
  200. package/lib/helpers/validators/ChicagoTitleCase.js +31 -0
  201. package/lib/helpers/validators/ChicagoTitleCase.js.map +1 -0
  202. package/lib/helpers/validators/ChicagoTitleCase.test.d.ts +0 -0
  203. package/lib/helpers/validators/ChicagoTitleCase.test.js +79 -0
  204. package/lib/helpers/validators/ChicagoTitleCase.test.js.map +1 -0
  205. package/lib/helpers/validators/findURL.d.ts +0 -0
  206. package/lib/helpers/validators/findURL.js +39 -0
  207. package/lib/helpers/validators/findURL.js.map +1 -0
  208. package/lib/helpers/validators/findURL.test.d.ts +0 -0
  209. package/lib/helpers/validators/findURL.test.js +77 -0
  210. package/lib/helpers/validators/findURL.test.js.map +1 -0
  211. package/lib/helpers/validators/shared/constants/ERROR_MESSAGES.d.ts +10 -0
  212. package/lib/helpers/validators/shared/constants/ERROR_MESSAGES.js +21 -0
  213. package/lib/helpers/validators/shared/constants/ERROR_MESSAGES.js.map +1 -0
  214. package/lib/helpers/validators/shared/helpers/validateRegex.d.ts +19 -0
  215. package/lib/helpers/validators/shared/helpers/validateRegex.js +34 -0
  216. package/lib/helpers/validators/shared/helpers/validateRegex.js.map +1 -0
  217. package/lib/helpers/validators/shared/types/ValidationResult.d.ts +12 -0
  218. package/lib/helpers/validators/shared/types/ValidationResult.js +3 -0
  219. package/lib/helpers/validators/shared/types/ValidationResult.js.map +1 -0
  220. package/lib/helpers/validators/validURL.d.ts +8 -0
  221. package/lib/helpers/validators/validURL.js +20 -0
  222. package/lib/helpers/validators/validURL.js.map +1 -0
  223. package/lib/helpers/validators/validURL.test.d.ts +0 -0
  224. package/lib/helpers/validators/validURL.test.js +83 -0
  225. package/lib/helpers/validators/validURL.test.js.map +1 -0
  226. package/lib/helpers/validators/validateEmail.d.ts +11 -0
  227. package/lib/helpers/validators/validateEmail.js +39 -0
  228. package/lib/helpers/validators/validateEmail.js.map +1 -0
  229. package/lib/helpers/validators/validateEmail.test.d.ts +1 -0
  230. package/lib/helpers/validators/validateEmail.test.js +140 -0
  231. package/lib/helpers/validators/validateEmail.test.js.map +1 -0
  232. package/lib/helpers/validators/validatePhoneNumber.d.ts +11 -0
  233. package/lib/helpers/validators/validatePhoneNumber.js +40 -0
  234. package/lib/helpers/validators/validatePhoneNumber.js.map +1 -0
  235. package/lib/helpers/validators/validatePhoneNumber.test.d.ts +1 -0
  236. package/lib/helpers/validators/validatePhoneNumber.test.js +123 -0
  237. package/lib/helpers/validators/validatePhoneNumber.test.js.map +1 -0
  238. package/lib/helpers/validators/validateString.d.ts +22 -0
  239. package/lib/helpers/validators/validateString.js +124 -0
  240. package/lib/helpers/validators/validateString.js.map +1 -0
  241. package/lib/helpers/validators/validateString.test.d.ts +1 -0
  242. package/lib/helpers/validators/validateString.test.js +163 -0
  243. package/lib/helpers/validators/validateString.test.js.map +1 -0
  244. package/lib/helpers/waitMs.d.ts +7 -0
  245. package/lib/helpers/waitMs.js +68 -0
  246. package/lib/helpers/waitMs.js.map +1 -0
  247. package/lib/index.d.ts +63 -0
  248. package/lib/index.js +124 -0
  249. package/lib/index.js.map +1 -0
  250. package/lib/types/CommonKitErrorCode.d.ts +10 -0
  251. package/lib/types/CommonKitErrorCode.js +15 -0
  252. package/lib/types/CommonKitErrorCode.js.map +1 -0
  253. package/lib/types/DayOfWeek.d.ts +14 -0
  254. package/lib/types/DayOfWeek.js +18 -0
  255. package/lib/types/DayOfWeek.js.map +1 -0
  256. package/lib/types/Log/LogMainInfo.d.ts +39 -0
  257. package/lib/types/Log/LogMainInfo.js +3 -0
  258. package/lib/types/Log/LogMainInfo.js.map +1 -0
  259. package/lib/types/Log/LogSourceSpecificInfo.d.ts +13 -0
  260. package/lib/types/Log/LogSourceSpecificInfo.js +3 -0
  261. package/lib/types/Log/LogSourceSpecificInfo.js.map +1 -0
  262. package/lib/types/Log/LogTypeSpecificInfo.d.ts +17 -0
  263. package/lib/types/Log/LogTypeSpecificInfo.js +3 -0
  264. package/lib/types/Log/LogTypeSpecificInfo.js.map +1 -0
  265. package/lib/types/Log/index.d.ts +10 -0
  266. package/lib/types/Log/index.js +3 -0
  267. package/lib/types/Log/index.js.map +1 -0
  268. package/lib/types/LogAction.d.ts +29 -0
  269. package/lib/types/LogAction.js +55 -0
  270. package/lib/types/LogAction.js.map +1 -0
  271. package/lib/types/LogBuiltInMetadata.d.ts +16 -0
  272. package/lib/types/LogBuiltInMetadata.js +21 -0
  273. package/lib/types/LogBuiltInMetadata.js.map +1 -0
  274. package/lib/types/LogFunction.d.ts +24 -0
  275. package/lib/types/LogFunction.js +3 -0
  276. package/lib/types/LogFunction.js.map +1 -0
  277. package/lib/types/LogLevel.d.ts +10 -0
  278. package/lib/types/LogLevel.js +14 -0
  279. package/lib/types/LogLevel.js.map +1 -0
  280. package/lib/types/LogMetadataContextMap.d.ts +11 -0
  281. package/lib/types/LogMetadataContextMap.js +3 -0
  282. package/lib/types/LogMetadataContextMap.js.map +1 -0
  283. package/lib/types/LogMetadataTagMap.d.ts +8 -0
  284. package/lib/types/LogMetadataTagMap.js +3 -0
  285. package/lib/types/LogMetadataTagMap.js.map +1 -0
  286. package/lib/types/LogMetadataTargetMap.d.ts +8 -0
  287. package/lib/types/LogMetadataTargetMap.js +3 -0
  288. package/lib/types/LogMetadataTargetMap.js.map +1 -0
  289. package/lib/types/LogMetadataType.d.ts +13 -0
  290. package/lib/types/LogMetadataType.js +3 -0
  291. package/lib/types/LogMetadataType.js.map +1 -0
  292. package/lib/types/LogSource.d.ts +9 -0
  293. package/lib/types/LogSource.js +15 -0
  294. package/lib/types/LogSource.js.map +1 -0
  295. package/lib/types/LogType.d.ts +9 -0
  296. package/lib/types/LogType.js +15 -0
  297. package/lib/types/LogType.js.map +1 -0
  298. package/lib/types/ParamType.d.ts +17 -0
  299. package/lib/types/ParamType.js +21 -0
  300. package/lib/types/ParamType.js.map +1 -0
  301. package/package.json +47 -0
  302. package/src/constants/DAY_IN_MS.ts +7 -0
  303. package/src/constants/HOUR_IN_MS.ts +7 -0
  304. package/src/constants/LOG_REVIEW_GET_LOGS_ROUTE.ts +9 -0
  305. package/src/constants/LOG_REVIEW_ROUTE_PATH_PREFIX.ts +9 -0
  306. package/src/constants/LOG_REVIEW_STATUS_ROUTE.ts +10 -0
  307. package/src/constants/LOG_ROUTE_PATH.ts +9 -0
  308. package/src/constants/MINUTE_IN_MS.ts +7 -0
  309. package/src/constants/ROUTE_PATH_PREFIX.ts +7 -0
  310. package/src/constants/SELECT_ADMIN_CHECK_ROUTE.ts +7 -0
  311. package/src/errors/ErrorWithCode.ts +15 -0
  312. package/src/helpers/abbreviate.test.ts +26 -0
  313. package/src/helpers/abbreviate.ts +25 -0
  314. package/src/helpers/asyncArrayFunctions/everyAsync.test.ts +114 -0
  315. package/src/helpers/asyncArrayFunctions/everyAsync.ts +51 -0
  316. package/src/helpers/asyncArrayFunctions/filterAsync.test.ts +126 -0
  317. package/src/helpers/asyncArrayFunctions/filterAsync.ts +50 -0
  318. package/src/helpers/asyncArrayFunctions/forEachAsync.test.ts +136 -0
  319. package/src/helpers/asyncArrayFunctions/forEachAsync.ts +40 -0
  320. package/src/helpers/asyncArrayFunctions/mapAsync.test.ts +125 -0
  321. package/src/helpers/asyncArrayFunctions/mapAsync.ts +46 -0
  322. package/src/helpers/asyncArrayFunctions/someAsync.test.ts +92 -0
  323. package/src/helpers/asyncArrayFunctions/someAsync.ts +49 -0
  324. package/src/helpers/avg.test.ts +24 -0
  325. package/src/helpers/avg.ts +22 -0
  326. package/src/helpers/capitalize.ts +20 -0
  327. package/src/helpers/ceilToNumDecimals.test.ts +39 -0
  328. package/src/helpers/ceilToNumDecimals.ts +13 -0
  329. package/src/helpers/cloneDeep.ts +11 -0
  330. package/src/helpers/compareArraysByProp.test.ts +147 -0
  331. package/src/helpers/compareArraysByProp.ts +56 -0
  332. package/src/helpers/extractProp.test.ts +34 -0
  333. package/src/helpers/extractProp.ts +17 -0
  334. package/src/helpers/floorToNumDecimals.test.ts +39 -0
  335. package/src/helpers/floorToNumDecimals.ts +13 -0
  336. package/src/helpers/forceNumIntoBounds.test.ts +34 -0
  337. package/src/helpers/forceNumIntoBounds.ts +19 -0
  338. package/src/helpers/genCSV.test.ts +77 -0
  339. package/src/helpers/genCSV.ts +87 -0
  340. package/src/helpers/genCommaList.test.ts +57 -0
  341. package/src/helpers/genCommaList.ts +21 -0
  342. package/src/helpers/getHumanReadableDate.test.ts +29 -0
  343. package/src/helpers/getHumanReadableDate.ts +36 -0
  344. package/src/helpers/getLocalTimeInfo.test.ts +48 -0
  345. package/src/helpers/getLocalTimeInfo.ts +58 -0
  346. package/src/helpers/getMonthName.test.ts +79 -0
  347. package/src/helpers/getMonthName.ts +29 -0
  348. package/src/helpers/getOrdinal.test.ts +84 -0
  349. package/src/helpers/getOrdinal.ts +14 -0
  350. package/src/helpers/getPartOfDay.test.ts +56 -0
  351. package/src/helpers/getPartOfDay.ts +20 -0
  352. package/src/helpers/getTimeInfoInET.test.ts +72 -0
  353. package/src/helpers/getTimeInfoInET.ts +79 -0
  354. package/src/helpers/getTimestampFromTimeInfoInET.ts +179 -0
  355. package/src/helpers/getWordCount.ts +26 -0
  356. package/src/helpers/idify.ts +24 -0
  357. package/src/helpers/onlyKeepLetters.ts +11 -0
  358. package/src/helpers/padDecimalZeros.ts +32 -0
  359. package/src/helpers/padZerosLeft.ts +21 -0
  360. package/src/helpers/parallelLimit.ts +63 -0
  361. package/src/helpers/prefixWithAOrAn.ts +29 -0
  362. package/src/helpers/roundToNumDecimals.ts +13 -0
  363. package/src/helpers/shuffleArray.ts +19 -0
  364. package/src/helpers/startMinWait.ts +33 -0
  365. package/src/helpers/stringsToHumanReadableList.ts +39 -0
  366. package/src/helpers/sum.ts +16 -0
  367. package/src/helpers/validators/ChicagoTitleCase.test.ts +85 -0
  368. package/src/helpers/validators/ChicagoTitleCase.ts +32 -0
  369. package/src/helpers/validators/findURL.test.ts +83 -0
  370. package/src/helpers/validators/findURL.ts +43 -0
  371. package/src/helpers/validators/shared/constants/ERROR_MESSAGES.ts +18 -0
  372. package/src/helpers/validators/shared/helpers/validateRegex.ts +47 -0
  373. package/src/helpers/validators/shared/types/ValidationResult.ts +20 -0
  374. package/src/helpers/validators/validURL.test.ts +90 -0
  375. package/src/helpers/validators/validURL.ts +18 -0
  376. package/src/helpers/validators/validateEmail.test.ts +110 -0
  377. package/src/helpers/validators/validateEmail.ts +47 -0
  378. package/src/helpers/validators/validatePhoneNumber.test.ts +94 -0
  379. package/src/helpers/validators/validatePhoneNumber.ts +49 -0
  380. package/src/helpers/validators/validateString.test.ts +173 -0
  381. package/src/helpers/validators/validateString.ts +171 -0
  382. package/src/helpers/waitMs.ts +12 -0
  383. package/src/index.ts +139 -0
  384. package/src/types/CommonKitErrorCode.ts +13 -0
  385. package/src/types/DayOfWeek.ts +15 -0
  386. package/src/types/Log/LogMainInfo.ts +69 -0
  387. package/src/types/Log/LogSourceSpecificInfo.ts +25 -0
  388. package/src/types/Log/LogTypeSpecificInfo.ts +33 -0
  389. package/src/types/Log/index.ts +17 -0
  390. package/src/types/LogAction.ts +52 -0
  391. package/src/types/LogBuiltInMetadata.ts +19 -0
  392. package/src/types/LogFunction.ts +46 -0
  393. package/src/types/LogLevel.ts +11 -0
  394. package/src/types/LogMetadataContextMap.ts +15 -0
  395. package/src/types/LogMetadataTagMap.ts +9 -0
  396. package/src/types/LogMetadataTargetMap.ts +9 -0
  397. package/src/types/LogMetadataType.ts +16 -0
  398. package/src/types/LogSource.ts +12 -0
  399. package/src/types/LogType.ts +12 -0
  400. package/src/types/ParamType.ts +18 -0
  401. package/tsconfig.json +19 -0
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Run the operator function on each item in the array, returning true if
3
+ * the operator function returns true for any item in the array
4
+ * @author Gabe Abrams
5
+ * @param operatorFunction the operator function to apply. If it returns true
6
+ * for any item, this function will return true
7
+ * @returns true if the operator function returns true for any item in the array
8
+ */
9
+ declare const someAsync: <T>(array: T[], operatorFunction: (item: T, index: number, opts: {
10
+ breakNow: () => void;
11
+ array: Array<T>;
12
+ }) => Promise<any>) => Promise<boolean>;
13
+ export default someAsync;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ /**
40
+ * Run the operator function on each item in the array, returning true if
41
+ * the operator function returns true for any item in the array
42
+ * @author Gabe Abrams
43
+ * @param operatorFunction the operator function to apply. If it returns true
44
+ * for any item, this function will return true
45
+ * @returns true if the operator function returns true for any item in the array
46
+ */
47
+ var someAsync = function (array, operatorFunction) { return __awaiter(void 0, void 0, void 0, function () {
48
+ var done, breakNow, i, passed;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ done = false;
53
+ breakNow = function () {
54
+ done = true;
55
+ };
56
+ i = 0;
57
+ _a.label = 1;
58
+ case 1:
59
+ if (!(i < array.length && !done)) return [3 /*break*/, 4];
60
+ return [4 /*yield*/, operatorFunction(array[i], i, {
61
+ breakNow: breakNow,
62
+ array: array,
63
+ })];
64
+ case 2:
65
+ passed = _a.sent();
66
+ if (passed && !done) {
67
+ return [2 /*return*/, true];
68
+ }
69
+ _a.label = 3;
70
+ case 3:
71
+ i++;
72
+ return [3 /*break*/, 1];
73
+ case 4:
74
+ // Return false because none returned true
75
+ return [2 /*return*/, false];
76
+ }
77
+ });
78
+ }); };
79
+ exports.default = someAsync;
80
+ //# sourceMappingURL=someAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"someAsync.js","sourceRoot":"","sources":["../../../src/helpers/asyncArrayFunctions/someAsync.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,IAAM,SAAS,GAAG,UAChB,KAAU,EACV,gBAOiB;;;;;gBAGb,IAAI,GAAG,KAAK,CAAC;gBAKX,QAAQ,GAAG;oBACf,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC;gBAGO,CAAC,GAAG,CAAC;;;qBAAE,CAAA,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAA;gBACxB,qBAAM,gBAAgB,CACnC,KAAK,CAAC,CAAC,CAAC,EACR,CAAC,EACD;wBACE,QAAQ,UAAA;wBACR,KAAK,OAAA;qBACN,CACF,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBACD,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,sBAAO,IAAI,EAAC;gBACd,CAAC;;;gBAXwC,CAAC,EAAE,CAAA;;;YAc9C,0CAA0C;YAC1C,sBAAO,KAAK,EAAC;;;KACd,CAAC;AAEF,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var waitMs_1 = __importDefault(require("../waitMs"));
43
+ var someAsync_1 = __importDefault(require("./someAsync"));
44
+ describe('someAsync', function () {
45
+ it('should return false if the array is empty', function () { return __awaiter(void 0, void 0, void 0, function () {
46
+ var result;
47
+ return __generator(this, function (_a) {
48
+ switch (_a.label) {
49
+ case 0: return [4 /*yield*/, (0, someAsync_1.default)([], function () {
50
+ return Promise.resolve(true);
51
+ })];
52
+ case 1:
53
+ result = _a.sent();
54
+ expect(result).toBe(false);
55
+ return [2 /*return*/];
56
+ }
57
+ });
58
+ }); });
59
+ it('should return false if the operator function returns false for all items', function () { return __awaiter(void 0, void 0, void 0, function () {
60
+ var array, result;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0:
64
+ array = [1, 2, 3, 4, 5];
65
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function () {
66
+ return Promise.resolve(false);
67
+ })];
68
+ case 1:
69
+ result = _a.sent();
70
+ expect(result).toBe(false);
71
+ return [2 /*return*/];
72
+ }
73
+ });
74
+ }); });
75
+ it('should return true if the operator function returns true for any item', function () { return __awaiter(void 0, void 0, void 0, function () {
76
+ var array, result;
77
+ return __generator(this, function (_a) {
78
+ switch (_a.label) {
79
+ case 0:
80
+ array = [1, 2, 3, 4, 5];
81
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function (item) {
82
+ return Promise.resolve(item === 3);
83
+ })];
84
+ case 1:
85
+ result = _a.sent();
86
+ expect(result).toBe(true);
87
+ return [2 /*return*/];
88
+ }
89
+ });
90
+ }); });
91
+ it('should pass the correct index to the operator function', function () { return __awaiter(void 0, void 0, void 0, function () {
92
+ var array, result;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ array = [1, 2, 3, 4, 5];
97
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function (item, index) {
98
+ expect(index).toBeGreaterThanOrEqual(0);
99
+ expect(index).toBeLessThan(array.length);
100
+ return Promise.resolve(false);
101
+ })];
102
+ case 1:
103
+ result = _a.sent();
104
+ expect(result).toBe(false);
105
+ return [2 /*return*/];
106
+ }
107
+ });
108
+ }); });
109
+ it('should pass the correct array to the operator function', function () { return __awaiter(void 0, void 0, void 0, function () {
110
+ var array, result;
111
+ return __generator(this, function (_a) {
112
+ switch (_a.label) {
113
+ case 0:
114
+ array = [1, 2, 3, 4, 5];
115
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function (item, index, _a) {
116
+ var arr = _a.array;
117
+ expect(arr).toBe(array);
118
+ return Promise.resolve(false);
119
+ })];
120
+ case 1:
121
+ result = _a.sent();
122
+ expect(result).toBe(false);
123
+ return [2 /*return*/];
124
+ }
125
+ });
126
+ }); });
127
+ it('should stop iterating and return true if the operator function returns true for an item and breakNow is called', function () { return __awaiter(void 0, void 0, void 0, function () {
128
+ var array, result;
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0:
132
+ array = [1, 2, 3, 4, 5];
133
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function (item, index, _a) {
134
+ var breakNow = _a.breakNow;
135
+ if (item === 3) {
136
+ breakNow();
137
+ return Promise.resolve(true);
138
+ }
139
+ return Promise.resolve(false);
140
+ })];
141
+ case 1:
142
+ result = _a.sent();
143
+ expect(result).toBe(true);
144
+ return [2 /*return*/];
145
+ }
146
+ });
147
+ }); });
148
+ it('should handle asynchronous operator function', function () { return __awaiter(void 0, void 0, void 0, function () {
149
+ var array, result;
150
+ return __generator(this, function (_a) {
151
+ switch (_a.label) {
152
+ case 0:
153
+ array = [1, 2, 3, 4, 5];
154
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function (item) { return __awaiter(void 0, void 0, void 0, function () {
155
+ return __generator(this, function (_a) {
156
+ switch (_a.label) {
157
+ case 0: return [4 /*yield*/, (0, waitMs_1.default)(100)];
158
+ case 1:
159
+ _a.sent();
160
+ return [2 /*return*/, Promise.resolve(item === 3)];
161
+ }
162
+ });
163
+ }); })];
164
+ case 1:
165
+ result = _a.sent();
166
+ expect(result).toBe(true);
167
+ return [2 /*return*/];
168
+ }
169
+ });
170
+ }); });
171
+ it('should handle rejected promises from the operator function', function () { return __awaiter(void 0, void 0, void 0, function () {
172
+ var array, result;
173
+ return __generator(this, function (_a) {
174
+ switch (_a.label) {
175
+ case 0:
176
+ array = [1, 2, 3, 4, 5];
177
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function () {
178
+ return Promise.reject(new Error('Test error'));
179
+ })];
180
+ case 1:
181
+ result = _a.sent();
182
+ expect(result).toBe(false);
183
+ return [2 /*return*/];
184
+ }
185
+ });
186
+ }); });
187
+ it('should handle thrown errors from the operator function', function () { return __awaiter(void 0, void 0, void 0, function () {
188
+ var array, result;
189
+ return __generator(this, function (_a) {
190
+ switch (_a.label) {
191
+ case 0:
192
+ array = [1, 2, 3, 4, 5];
193
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function () {
194
+ throw new Error('Test error');
195
+ })];
196
+ case 1:
197
+ result = _a.sent();
198
+ expect(result).toBe(false);
199
+ return [2 /*return*/];
200
+ }
201
+ });
202
+ }); });
203
+ it('should handle empty array and asynchronous operator function', function () { return __awaiter(void 0, void 0, void 0, function () {
204
+ var array, result;
205
+ return __generator(this, function (_a) {
206
+ switch (_a.label) {
207
+ case 0:
208
+ array = [];
209
+ return [4 /*yield*/, (0, someAsync_1.default)(array, function () { return __awaiter(void 0, void 0, void 0, function () {
210
+ return __generator(this, function (_a) {
211
+ switch (_a.label) {
212
+ case 0: return [4 /*yield*/, (0, waitMs_1.default)(100)];
213
+ case 1:
214
+ _a.sent();
215
+ return [2 /*return*/, Promise.resolve(false)];
216
+ }
217
+ });
218
+ }); })];
219
+ case 1:
220
+ result = _a.sent();
221
+ expect(result).toBe(false);
222
+ return [2 /*return*/];
223
+ }
224
+ });
225
+ }); });
226
+ });
227
+ //# sourceMappingURL=someAsync.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"someAsync.test.js","sourceRoot":"","sources":["../../../src/helpers/asyncArrayFunctions/someAsync.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Get the average of a set of numbers
3
+ * @author Gabe Abrams
4
+ * @param nums the numbers to average
5
+ * @returns average value or 0 if no numbers
6
+ */
7
+ declare const avg: (nums: number[]) => number;
8
+ export default avg;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var sum_1 = __importDefault(require("./sum"));
7
+ /**
8
+ * Get the average of a set of numbers
9
+ * @author Gabe Abrams
10
+ * @param nums the numbers to average
11
+ * @returns average value or 0 if no numbers
12
+ */
13
+ var avg = function (nums) {
14
+ // Handle empty array case
15
+ if (nums.length === 0) {
16
+ return 0;
17
+ }
18
+ // Get the total value
19
+ var total = (0, sum_1.default)(nums);
20
+ // Get average
21
+ return (total / nums.length);
22
+ };
23
+ exports.default = avg;
24
+ //# sourceMappingURL=avg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avg.js","sourceRoot":"","sources":["../../src/helpers/avg.ts"],"names":[],"mappings":";;;;;AAAA,8CAAwB;AAExB;;;;;GAKG;AACH,IAAM,GAAG,GAAG,UAAC,IAAc;IACzB,0BAA0B;IAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,sBAAsB;IACtB,IAAM,KAAK,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,CAAC;IAExB,cAAc;IACd,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Unit tests for avg helper
3
+ * @author Gabe Abrams
4
+ */
5
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * Unit tests for avg helper
4
+ * @author Gabe Abrams
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ var avg_1 = __importDefault(require("./avg"));
11
+ describe('helpers > avg', function () {
12
+ it('should return 0 for an empty array', function () {
13
+ expect((0, avg_1.default)([])).toEqual(0);
14
+ });
15
+ it('should return the correct average for an array of numbers', function () {
16
+ expect((0, avg_1.default)([1, 2, 3, 4, 5])).toEqual(3);
17
+ });
18
+ it('should handle negative numbers', function () {
19
+ expect((0, avg_1.default)([-1, 0, 1])).toEqual(0);
20
+ });
21
+ it('should handle decimal numbers', function () {
22
+ expect((0, avg_1.default)([1.5, 2.5, 3.5])).toEqual(2.5);
23
+ });
24
+ });
25
+ //# sourceMappingURL=avg.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avg.test.js","sourceRoot":"","sources":["../../src/helpers/avg.test.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAEH,8CAAwB;AAExB,QAAQ,CAAC,eAAe,EAAE;IACxB,EAAE,CAAC,oCAAoC,EAAE;QACvC,MAAM,CAAC,IAAA,aAAG,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE;QAC9D,MAAM,CAAC,IAAA,aAAG,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE;QACnC,MAAM,CAAC,IAAA,aAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE;QAClC,MAAM,CAAC,IAAA,aAAG,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Capitalize every word in a string (just the first letter)
3
+ * @param str string to capitalize
4
+ * @returns string with every word capitalized
5
+ */
6
+ declare const capitalize: (str: string) => string;
7
+ export default capitalize;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Capitalize every word in a string (just the first letter)
5
+ * @param str string to capitalize
6
+ * @returns string with every word capitalized
7
+ */
8
+ var capitalize = function (str) {
9
+ return (str
10
+ // Split into words
11
+ .split(' ')
12
+ // Capitalize first letter of each word
13
+ .map(function (word) {
14
+ return word.charAt(0).toUpperCase() + word.substring(1);
15
+ })
16
+ // Join back together
17
+ .join(' '));
18
+ };
19
+ exports.default = capitalize;
20
+ //# sourceMappingURL=capitalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalize.js","sourceRoot":"","sources":["../../src/helpers/capitalize.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,IAAM,UAAU,GAAG,UAAC,GAAW;IAC7B,OAAO,CACL,GAAG;QACD,mBAAmB;SAClB,KAAK,CAAC,GAAG,CAAC;QACX,uCAAuC;SACtC,GAAG,CAAC,UAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;QACF,qBAAqB;SACpB,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Round a number (ceiling) to a certain number of decimals
3
+ * @author Gabe Abrams
4
+ * @param num the number to round
5
+ * @param numDecimals the number of decimals to round to
6
+ * @returns rounded number
7
+ */
8
+ declare const ceilToNumDecimals: (num: number, numDecimals: number) => number;
9
+ export default ceilToNumDecimals;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Round a number (ceiling) to a certain number of decimals
5
+ * @author Gabe Abrams
6
+ * @param num the number to round
7
+ * @param numDecimals the number of decimals to round to
8
+ * @returns rounded number
9
+ */
10
+ var ceilToNumDecimals = function (num, numDecimals) {
11
+ var rounder = Math.pow(10, numDecimals);
12
+ return (Math.ceil(num * rounder) / rounder);
13
+ };
14
+ exports.default = ceilToNumDecimals;
15
+ //# sourceMappingURL=ceilToNumDecimals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ceilToNumDecimals.js","sourceRoot":"","sources":["../../src/helpers/ceilToNumDecimals.ts"],"names":[],"mappings":";;AAAA;;;;;;GAMG;AACH,IAAM,iBAAiB,GAAG,UAAC,GAAW,EAAE,WAAmB;IACzD,IAAM,OAAO,GAAG,SAAA,EAAE,EAAI,WAAW,CAAA,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Test file for the ceilToNumDecimals helper
3
+ * @author Gabe Abrams
4
+ */
5
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * Test file for the ceilToNumDecimals helper
4
+ * @author Gabe Abrams
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ // Import main function
11
+ var ceilToNumDecimals_1 = __importDefault(require("./ceilToNumDecimals"));
12
+ describe('ceilToNumDecimals', function () {
13
+ it('should return 0 for 0 with 0 decimals', function () {
14
+ var result = (0, ceilToNumDecimals_1.default)(0, 0);
15
+ expect(result).toEqual(0);
16
+ });
17
+ it('should return 1 for 1 with 0 decimals', function () {
18
+ var result = (0, ceilToNumDecimals_1.default)(1, 0);
19
+ expect(result).toEqual(1);
20
+ });
21
+ it('should return 1.24 for 1.234 with 2 decimals', function () {
22
+ var result = (0, ceilToNumDecimals_1.default)(1.234, 2);
23
+ expect(result).toEqual(1.24);
24
+ });
25
+ it('should return -1.23 for -1.234 with 2 decimals', function () {
26
+ var result = (0, ceilToNumDecimals_1.default)(-1.234, 2);
27
+ expect(result).toEqual(-1.23);
28
+ });
29
+ it('should return 1234 for 1234 with 0 decimals', function () {
30
+ var result = (0, ceilToNumDecimals_1.default)(1234, 0);
31
+ expect(result).toEqual(1234);
32
+ });
33
+ it('should return 0.002 for 0.00123 with 3 decimals', function () {
34
+ var result = (0, ceilToNumDecimals_1.default)(0.00123, 3);
35
+ expect(result).toEqual(0.002);
36
+ });
37
+ });
38
+ //# sourceMappingURL=ceilToNumDecimals.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ceilToNumDecimals.test.js","sourceRoot":"","sources":["../../src/helpers/ceilToNumDecimals.test.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAEH,uBAAuB;AACvB,0EAAoD;AAEpD,QAAQ,CAAC,mBAAmB,EAAE;IAC5B,EAAE,CAAC,uCAAuC,EAAE;QAC1C,IAAM,MAAM,GAAG,IAAA,2BAAiB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE;QAC1C,IAAM,MAAM,GAAG,IAAA,2BAAiB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE;QACjD,IAAM,MAAM,GAAG,IAAA,2BAAiB,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE;QACnD,IAAM,MAAM,GAAG,IAAA,2BAAiB,EAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE;QAChD,IAAM,MAAM,GAAG,IAAA,2BAAiB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE;QACpD,IAAM,MAAM,GAAG,IAAA,2BAAiB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Deeply clones an object
3
+ * @author Yuen Ler Chow
4
+ * @param obj the object to clone
5
+ * @returns a deep clone of the object
6
+ */
7
+ declare const cloneDeep: <T>(obj: T) => T;
8
+ export default cloneDeep;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var nanoclone_1 = __importDefault(require("nanoclone"));
7
+ /**
8
+ * Deeply clones an object
9
+ * @author Yuen Ler Chow
10
+ * @param obj the object to clone
11
+ * @returns a deep clone of the object
12
+ */
13
+ var cloneDeep = nanoclone_1.default;
14
+ exports.default = cloneDeep;
15
+ //# sourceMappingURL=cloneDeep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloneDeep.js","sourceRoot":"","sources":["../../src/helpers/cloneDeep.ts"],"names":[],"mappings":";;;;;AAAA,wDAA8B;AAE9B;;;;;GAKG;AACH,IAAM,SAAS,GAAqB,mBAAK,CAAC;AAE1C,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Compare two arrays of objects by only comparing the values in a specific
3
+ * property (e.g. compare user arrays by comparing their user.id values)
4
+ * @author Gabe Abrams
5
+ * @param a the first array
6
+ * @param b the second array
7
+ * @param prop the property to compare with, or an array of props to compare
8
+ * with (if array, all values associated with those props must match)
9
+ * @returns true if the arrays contain the same objects as determined by
10
+ * the values associated with each object's prop
11
+ */
12
+ declare const compareArraysByProp: (a: any[], b: any[], prop: string | string[]) => boolean;
13
+ export default compareArraysByProp;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**
13
+ * Compare two arrays of objects by only comparing the values in a specific
14
+ * property (e.g. compare user arrays by comparing their user.id values)
15
+ * @author Gabe Abrams
16
+ * @param a the first array
17
+ * @param b the second array
18
+ * @param prop the property to compare with, or an array of props to compare
19
+ * with (if array, all values associated with those props must match)
20
+ * @returns true if the arrays contain the same objects as determined by
21
+ * the values associated with each object's prop
22
+ */
23
+ var compareArraysByProp = function (a, b, prop) {
24
+ // Immediately return if size of arrays is different
25
+ if (a.length !== b.length) {
26
+ return false;
27
+ }
28
+ // Get all props
29
+ var props = (Array.isArray(prop) ? prop : [prop]);
30
+ // Clone second array so we can work on it
31
+ var bCloned = __spreadArray([], b, true);
32
+ var _loop_1 = function (i) {
33
+ // Find matching element in b
34
+ var matchingIndex = bCloned.findIndex(function (bItem) {
35
+ // Compare based on all props
36
+ return props.every(function (propToCompareBy) {
37
+ var _a;
38
+ var aVal = ((_a = a[i]) !== null && _a !== void 0 ? _a : {})[propToCompareBy];
39
+ var bVal = (bItem !== null && bItem !== void 0 ? bItem : {})[propToCompareBy];
40
+ return aVal === bVal;
41
+ });
42
+ });
43
+ // Check if no match
44
+ var noMatch = (matchingIndex < 0);
45
+ // If no match, there's no corresponding element in b
46
+ if (noMatch) {
47
+ return { value: false };
48
+ }
49
+ // Remove the matching element
50
+ bCloned.splice(matchingIndex, 1);
51
+ };
52
+ // Remove elements from b as we find them in a
53
+ for (var i = 0; i < a.length; i++) {
54
+ var state_1 = _loop_1(i);
55
+ if (typeof state_1 === "object")
56
+ return state_1.value;
57
+ }
58
+ // If we made it here, all elements in a have a corresponding element in b
59
+ return true;
60
+ };
61
+ exports.default = compareArraysByProp;
62
+ //# sourceMappingURL=compareArraysByProp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareArraysByProp.js","sourceRoot":"","sources":["../../src/helpers/compareArraysByProp.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,IAAM,mBAAmB,GAAG,UAC1B,CAAQ,EACR,CAAQ,EACR,IAAuB;IAEvB,oDAAoD;IACpD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB;IAChB,IAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,0CAA0C;IAC1C,IAAM,OAAO,qBAAO,CAAC,OAAC,CAAC;4BAGd,CAAC;QACR,6BAA6B;QAC7B,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,UAAC,KAAK;YAC5C,6BAA6B;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,UAAC,eAAe;;gBACjC,IAAM,IAAI,GAAG,CAAC,MAAA,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;gBAC3C,IAAM,IAAI,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;gBAC5C,OAAO,IAAI,KAAK,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,IAAM,OAAO,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAEpC,qDAAqD;QACrD,IAAI,OAAO,EAAE,CAAC;4BACL,KAAK;QACd,CAAC;QAED,8BAA8B;QAC9B,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;IArBnC,8CAA8C;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;8BAAxB,CAAC;;;KAqBT;IAED,0EAA0E;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}