dce-reactkit 4.3.4 → 5.0.0-beta-progress-size-3

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 (347) hide show
  1. package/dist/cjs/index.js +390 -2390
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/LogReviewer.d.ts +1 -1
  4. package/dist/cjs/types/helpers/logClientEvent.d.ts +1 -1
  5. package/dist/cjs/types/html/genErrorPage.d.ts +1 -1
  6. package/dist/cjs/types/index.d.ts +2 -64
  7. package/dist/cjs/types/types/IntelliTableColumn.d.ts +1 -1
  8. package/dist/cjs/types/types/ProgressBarSize.d.ts +0 -1
  9. package/dist/esm/index.js +130 -2297
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/types/components/LogReviewer.d.ts +1 -1
  12. package/dist/esm/types/helpers/logClientEvent.d.ts +1 -1
  13. package/dist/esm/types/html/genErrorPage.d.ts +1 -1
  14. package/dist/esm/types/index.d.ts +2 -64
  15. package/dist/esm/types/types/IntelliTableColumn.d.ts +1 -1
  16. package/dist/esm/types/types/ProgressBarSize.d.ts +0 -1
  17. package/dist/index.d.ts +3 -836
  18. package/package.json +4 -3
  19. package/src/components/AppWrapper.tsx +12 -10
  20. package/src/components/AutoscrollToBottomContainer.tsx +5 -3
  21. package/src/components/CopiableBox.tsx +5 -1
  22. package/src/components/DBEntryManagerPanel/helpers/generateEndpointPath.ts +2 -2
  23. package/src/components/ErrorBox.tsx +6 -2
  24. package/src/components/IntelliTable.tsx +7 -5
  25. package/src/components/LogReviewer.tsx +23 -21
  26. package/src/components/Modal/index.tsx +5 -3
  27. package/src/components/MultiSwitch.tsx +5 -1
  28. package/src/components/ProgressBar.tsx +66 -76
  29. package/src/components/Shimmer.tsx +4 -2
  30. package/src/components/SimpleDateChooser.tsx +11 -13
  31. package/src/components/SimpleTimeChooser.tsx +4 -2
  32. package/src/helpers/canReviewLogs.test.ts +5 -3
  33. package/src/helpers/canReviewLogs.ts +5 -3
  34. package/src/helpers/initClient.tsx +8 -8
  35. package/src/helpers/isMobileOrTablet.tsx +2 -1
  36. package/src/helpers/isSelectAdmin.ts +4 -2
  37. package/src/helpers/logClientEvent.tsx +7 -5
  38. package/src/helpers/stubServerEndpoint.tsx +1 -1
  39. package/src/helpers/visitServerEndpoint.tsx +10 -7
  40. package/src/html/genErrorPage.ts +6 -4
  41. package/src/index.ts +105 -98
  42. package/src/types/IntelliTableColumn.ts +4 -1
  43. package/src/types/ProgressBarSize.ts +0 -1
  44. package/dist/cjs/types/constants/DAY_IN_MS.d.ts +0 -6
  45. package/dist/cjs/types/constants/HOUR_IN_MS.d.ts +0 -6
  46. package/dist/cjs/types/constants/LOG_REVIEW_GET_LOGS_ROUTE.d.ts +0 -6
  47. package/dist/cjs/types/constants/LOG_REVIEW_ROUTE_PATH_PREFIX.d.ts +0 -6
  48. package/dist/cjs/types/constants/LOG_REVIEW_STATUS_ROUTE.d.ts +0 -7
  49. package/dist/cjs/types/constants/LOG_ROUTE_PATH.d.ts +0 -6
  50. package/dist/cjs/types/constants/MINUTE_IN_MS.d.ts +0 -6
  51. package/dist/cjs/types/constants/ROUTE_PATH_PREFIX.d.ts +0 -6
  52. package/dist/cjs/types/constants/SELECT_ADMIN_CHECK_ROUTE.d.ts +0 -6
  53. package/dist/cjs/types/errors/ErrorWithCode.d.ts +0 -9
  54. package/dist/cjs/types/helpers/abbreviate.d.ts +0 -10
  55. package/dist/cjs/types/helpers/abbreviate.test.d.ts +0 -5
  56. package/dist/cjs/types/helpers/asyncArrayFunctions/everyAsync.d.ts +0 -13
  57. package/dist/cjs/types/helpers/asyncArrayFunctions/everyAsync.test.d.ts +0 -1
  58. package/dist/cjs/types/helpers/asyncArrayFunctions/filterAsync.d.ts +0 -13
  59. package/dist/cjs/types/helpers/asyncArrayFunctions/filterAsync.test.d.ts +0 -1
  60. package/dist/cjs/types/helpers/asyncArrayFunctions/forEachAsync.d.ts +0 -10
  61. package/dist/cjs/types/helpers/asyncArrayFunctions/forEachAsync.test.d.ts +0 -1
  62. package/dist/cjs/types/helpers/asyncArrayFunctions/mapAsync.d.ts +0 -11
  63. package/dist/cjs/types/helpers/asyncArrayFunctions/mapAsync.test.d.ts +0 -1
  64. package/dist/cjs/types/helpers/asyncArrayFunctions/someAsync.d.ts +0 -13
  65. package/dist/cjs/types/helpers/asyncArrayFunctions/someAsync.test.d.ts +0 -1
  66. package/dist/cjs/types/helpers/avg.d.ts +0 -8
  67. package/dist/cjs/types/helpers/avg.test.d.ts +0 -5
  68. package/dist/cjs/types/helpers/capitalize.d.ts +0 -7
  69. package/dist/cjs/types/helpers/ceilToNumDecimals.d.ts +0 -9
  70. package/dist/cjs/types/helpers/ceilToNumDecimals.test.d.ts +0 -5
  71. package/dist/cjs/types/helpers/cloneDeep.d.ts +0 -8
  72. package/dist/cjs/types/helpers/compareArraysByProp.d.ts +0 -13
  73. package/dist/cjs/types/helpers/compareArraysByProp.test.d.ts +0 -5
  74. package/dist/cjs/types/helpers/extractProp.d.ts +0 -12
  75. package/dist/cjs/types/helpers/extractProp.test.d.ts +0 -5
  76. package/dist/cjs/types/helpers/floorToNumDecimals.d.ts +0 -9
  77. package/dist/cjs/types/helpers/floorToNumDecimals.test.d.ts +0 -5
  78. package/dist/cjs/types/helpers/forceNumIntoBounds.d.ts +0 -10
  79. package/dist/cjs/types/helpers/forceNumIntoBounds.test.d.ts +0 -5
  80. package/dist/cjs/types/helpers/genCSV.d.ts +0 -18
  81. package/dist/cjs/types/helpers/genCSV.test.d.ts +0 -5
  82. package/dist/cjs/types/helpers/genCommaList.d.ts +0 -12
  83. package/dist/cjs/types/helpers/genCommaList.test.d.ts +0 -1
  84. package/dist/cjs/types/helpers/getHumanReadableDate.d.ts +0 -8
  85. package/dist/cjs/types/helpers/getHumanReadableDate.test.d.ts +0 -5
  86. package/dist/cjs/types/helpers/getLocalTimeInfo.d.ts +0 -19
  87. package/dist/cjs/types/helpers/getLocalTimeInfo.test.d.ts +0 -6
  88. package/dist/cjs/types/helpers/getMonthName.d.ts +0 -14
  89. package/dist/cjs/types/helpers/getMonthName.test.d.ts +0 -5
  90. package/dist/cjs/types/helpers/getOrdinal.d.ts +0 -8
  91. package/dist/cjs/types/helpers/getOrdinal.test.d.ts +0 -5
  92. package/dist/cjs/types/helpers/getPartOfDay.d.ts +0 -7
  93. package/dist/cjs/types/helpers/getPartOfDay.test.d.ts +0 -5
  94. package/dist/cjs/types/helpers/getTimeInfoInET.d.ts +0 -21
  95. package/dist/cjs/types/helpers/getTimeInfoInET.test.d.ts +0 -5
  96. package/dist/cjs/types/helpers/getTimestampFromTimeInfoInET.d.ts +0 -20
  97. package/dist/cjs/types/helpers/getWordCount.d.ts +0 -10
  98. package/dist/cjs/types/helpers/idify.d.ts +0 -9
  99. package/dist/cjs/types/helpers/onlyKeepLetters.d.ts +0 -8
  100. package/dist/cjs/types/helpers/padDecimalZeros.d.ts +0 -10
  101. package/dist/cjs/types/helpers/padZerosLeft.d.ts +0 -9
  102. package/dist/cjs/types/helpers/parallelLimit.d.ts +0 -12
  103. package/dist/cjs/types/helpers/prefixWithAOrAn.d.ts +0 -10
  104. package/dist/cjs/types/helpers/roundToNumDecimals.d.ts +0 -9
  105. package/dist/cjs/types/helpers/shuffleArray.d.ts +0 -8
  106. package/dist/cjs/types/helpers/startMinWait.d.ts +0 -9
  107. package/dist/cjs/types/helpers/stringsToHumanReadableList.d.ts +0 -10
  108. package/dist/cjs/types/helpers/sum.d.ts +0 -8
  109. package/dist/cjs/types/helpers/validators/ChicagoTitleCase.d.ts +0 -9
  110. package/dist/cjs/types/helpers/validators/shared/constants/ERROR_MESSAGES.d.ts +0 -10
  111. package/dist/cjs/types/helpers/validators/shared/helpers/validateRegex.d.ts +0 -19
  112. package/dist/cjs/types/helpers/validators/shared/types/ValidationResult.d.ts +0 -12
  113. package/dist/cjs/types/helpers/validators/validURL.d.ts +0 -8
  114. package/dist/cjs/types/helpers/validators/validateEmail.d.ts +0 -11
  115. package/dist/cjs/types/helpers/validators/validateEmail.test.d.ts +0 -1
  116. package/dist/cjs/types/helpers/validators/validatePhoneNumber.d.ts +0 -11
  117. package/dist/cjs/types/helpers/validators/validatePhoneNumber.test.d.ts +0 -1
  118. package/dist/cjs/types/helpers/validators/validateString.d.ts +0 -22
  119. package/dist/cjs/types/helpers/validators/validateString.test.d.ts +0 -1
  120. package/dist/cjs/types/helpers/waitMs.d.ts +0 -7
  121. package/dist/cjs/types/types/DayOfWeek.d.ts +0 -14
  122. package/dist/cjs/types/types/Log/LogMainInfo.d.ts +0 -39
  123. package/dist/cjs/types/types/Log/LogSourceSpecificInfo.d.ts +0 -13
  124. package/dist/cjs/types/types/Log/LogTypeSpecificInfo.d.ts +0 -17
  125. package/dist/cjs/types/types/Log/index.d.ts +0 -10
  126. package/dist/cjs/types/types/LogAction.d.ts +0 -29
  127. package/dist/cjs/types/types/LogBuiltInMetadata.d.ts +0 -16
  128. package/dist/cjs/types/types/LogFunction.d.ts +0 -24
  129. package/dist/cjs/types/types/LogLevel.d.ts +0 -10
  130. package/dist/cjs/types/types/LogMetadataContextMap.d.ts +0 -11
  131. package/dist/cjs/types/types/LogMetadataTagMap.d.ts +0 -8
  132. package/dist/cjs/types/types/LogMetadataTargetMap.d.ts +0 -8
  133. package/dist/cjs/types/types/LogMetadataType.d.ts +0 -13
  134. package/dist/cjs/types/types/LogReviewerFilterState/ActionErrorFilterState.d.ts +0 -17
  135. package/dist/cjs/types/types/LogReviewerFilterState/AdvancedFilterState.d.ts +0 -21
  136. package/dist/cjs/types/types/LogReviewerFilterState/ContextFilterState.d.ts +0 -10
  137. package/dist/cjs/types/types/LogReviewerFilterState/DateFilterState.d.ts +0 -17
  138. package/dist/cjs/types/types/LogReviewerFilterState/TagFilterState.d.ts +0 -8
  139. package/dist/cjs/types/types/LogReviewerFilterState/index.d.ts +0 -17
  140. package/dist/cjs/types/types/LogSource.d.ts +0 -9
  141. package/dist/cjs/types/types/LogType.d.ts +0 -9
  142. package/dist/cjs/types/types/ParamType.d.ts +0 -17
  143. package/dist/cjs/types/types/ReactKitErrorCode.d.ts +0 -14
  144. package/dist/esm/types/constants/DAY_IN_MS.d.ts +0 -6
  145. package/dist/esm/types/constants/HOUR_IN_MS.d.ts +0 -6
  146. package/dist/esm/types/constants/LOG_REVIEW_GET_LOGS_ROUTE.d.ts +0 -6
  147. package/dist/esm/types/constants/LOG_REVIEW_ROUTE_PATH_PREFIX.d.ts +0 -6
  148. package/dist/esm/types/constants/LOG_REVIEW_STATUS_ROUTE.d.ts +0 -7
  149. package/dist/esm/types/constants/LOG_ROUTE_PATH.d.ts +0 -6
  150. package/dist/esm/types/constants/MINUTE_IN_MS.d.ts +0 -6
  151. package/dist/esm/types/constants/ROUTE_PATH_PREFIX.d.ts +0 -6
  152. package/dist/esm/types/constants/SELECT_ADMIN_CHECK_ROUTE.d.ts +0 -6
  153. package/dist/esm/types/errors/ErrorWithCode.d.ts +0 -9
  154. package/dist/esm/types/helpers/abbreviate.d.ts +0 -10
  155. package/dist/esm/types/helpers/abbreviate.test.d.ts +0 -5
  156. package/dist/esm/types/helpers/asyncArrayFunctions/everyAsync.d.ts +0 -13
  157. package/dist/esm/types/helpers/asyncArrayFunctions/everyAsync.test.d.ts +0 -1
  158. package/dist/esm/types/helpers/asyncArrayFunctions/filterAsync.d.ts +0 -13
  159. package/dist/esm/types/helpers/asyncArrayFunctions/filterAsync.test.d.ts +0 -1
  160. package/dist/esm/types/helpers/asyncArrayFunctions/forEachAsync.d.ts +0 -10
  161. package/dist/esm/types/helpers/asyncArrayFunctions/forEachAsync.test.d.ts +0 -1
  162. package/dist/esm/types/helpers/asyncArrayFunctions/mapAsync.d.ts +0 -11
  163. package/dist/esm/types/helpers/asyncArrayFunctions/mapAsync.test.d.ts +0 -1
  164. package/dist/esm/types/helpers/asyncArrayFunctions/someAsync.d.ts +0 -13
  165. package/dist/esm/types/helpers/asyncArrayFunctions/someAsync.test.d.ts +0 -1
  166. package/dist/esm/types/helpers/avg.d.ts +0 -8
  167. package/dist/esm/types/helpers/avg.test.d.ts +0 -5
  168. package/dist/esm/types/helpers/capitalize.d.ts +0 -7
  169. package/dist/esm/types/helpers/ceilToNumDecimals.d.ts +0 -9
  170. package/dist/esm/types/helpers/ceilToNumDecimals.test.d.ts +0 -5
  171. package/dist/esm/types/helpers/cloneDeep.d.ts +0 -8
  172. package/dist/esm/types/helpers/compareArraysByProp.d.ts +0 -13
  173. package/dist/esm/types/helpers/compareArraysByProp.test.d.ts +0 -5
  174. package/dist/esm/types/helpers/extractProp.d.ts +0 -12
  175. package/dist/esm/types/helpers/extractProp.test.d.ts +0 -5
  176. package/dist/esm/types/helpers/floorToNumDecimals.d.ts +0 -9
  177. package/dist/esm/types/helpers/floorToNumDecimals.test.d.ts +0 -5
  178. package/dist/esm/types/helpers/forceNumIntoBounds.d.ts +0 -10
  179. package/dist/esm/types/helpers/forceNumIntoBounds.test.d.ts +0 -5
  180. package/dist/esm/types/helpers/genCSV.d.ts +0 -18
  181. package/dist/esm/types/helpers/genCSV.test.d.ts +0 -5
  182. package/dist/esm/types/helpers/genCommaList.d.ts +0 -12
  183. package/dist/esm/types/helpers/genCommaList.test.d.ts +0 -1
  184. package/dist/esm/types/helpers/getHumanReadableDate.d.ts +0 -8
  185. package/dist/esm/types/helpers/getHumanReadableDate.test.d.ts +0 -5
  186. package/dist/esm/types/helpers/getLocalTimeInfo.d.ts +0 -19
  187. package/dist/esm/types/helpers/getLocalTimeInfo.test.d.ts +0 -6
  188. package/dist/esm/types/helpers/getMonthName.d.ts +0 -14
  189. package/dist/esm/types/helpers/getMonthName.test.d.ts +0 -5
  190. package/dist/esm/types/helpers/getOrdinal.d.ts +0 -8
  191. package/dist/esm/types/helpers/getOrdinal.test.d.ts +0 -5
  192. package/dist/esm/types/helpers/getPartOfDay.d.ts +0 -7
  193. package/dist/esm/types/helpers/getPartOfDay.test.d.ts +0 -5
  194. package/dist/esm/types/helpers/getTimeInfoInET.d.ts +0 -21
  195. package/dist/esm/types/helpers/getTimeInfoInET.test.d.ts +0 -5
  196. package/dist/esm/types/helpers/getTimestampFromTimeInfoInET.d.ts +0 -20
  197. package/dist/esm/types/helpers/getWordCount.d.ts +0 -10
  198. package/dist/esm/types/helpers/idify.d.ts +0 -9
  199. package/dist/esm/types/helpers/onlyKeepLetters.d.ts +0 -8
  200. package/dist/esm/types/helpers/padDecimalZeros.d.ts +0 -10
  201. package/dist/esm/types/helpers/padZerosLeft.d.ts +0 -9
  202. package/dist/esm/types/helpers/parallelLimit.d.ts +0 -12
  203. package/dist/esm/types/helpers/prefixWithAOrAn.d.ts +0 -10
  204. package/dist/esm/types/helpers/roundToNumDecimals.d.ts +0 -9
  205. package/dist/esm/types/helpers/shuffleArray.d.ts +0 -8
  206. package/dist/esm/types/helpers/startMinWait.d.ts +0 -9
  207. package/dist/esm/types/helpers/stringsToHumanReadableList.d.ts +0 -10
  208. package/dist/esm/types/helpers/sum.d.ts +0 -8
  209. package/dist/esm/types/helpers/validators/ChicagoTitleCase.d.ts +0 -9
  210. package/dist/esm/types/helpers/validators/shared/constants/ERROR_MESSAGES.d.ts +0 -10
  211. package/dist/esm/types/helpers/validators/shared/helpers/validateRegex.d.ts +0 -19
  212. package/dist/esm/types/helpers/validators/shared/types/ValidationResult.d.ts +0 -12
  213. package/dist/esm/types/helpers/validators/validURL.d.ts +0 -8
  214. package/dist/esm/types/helpers/validators/validateEmail.d.ts +0 -11
  215. package/dist/esm/types/helpers/validators/validateEmail.test.d.ts +0 -1
  216. package/dist/esm/types/helpers/validators/validatePhoneNumber.d.ts +0 -11
  217. package/dist/esm/types/helpers/validators/validatePhoneNumber.test.d.ts +0 -1
  218. package/dist/esm/types/helpers/validators/validateString.d.ts +0 -22
  219. package/dist/esm/types/helpers/validators/validateString.test.d.ts +0 -1
  220. package/dist/esm/types/helpers/waitMs.d.ts +0 -7
  221. package/dist/esm/types/types/DayOfWeek.d.ts +0 -14
  222. package/dist/esm/types/types/Log/LogMainInfo.d.ts +0 -39
  223. package/dist/esm/types/types/Log/LogSourceSpecificInfo.d.ts +0 -13
  224. package/dist/esm/types/types/Log/LogTypeSpecificInfo.d.ts +0 -17
  225. package/dist/esm/types/types/Log/index.d.ts +0 -10
  226. package/dist/esm/types/types/LogAction.d.ts +0 -29
  227. package/dist/esm/types/types/LogBuiltInMetadata.d.ts +0 -16
  228. package/dist/esm/types/types/LogFunction.d.ts +0 -24
  229. package/dist/esm/types/types/LogLevel.d.ts +0 -10
  230. package/dist/esm/types/types/LogMetadataContextMap.d.ts +0 -11
  231. package/dist/esm/types/types/LogMetadataTagMap.d.ts +0 -8
  232. package/dist/esm/types/types/LogMetadataTargetMap.d.ts +0 -8
  233. package/dist/esm/types/types/LogMetadataType.d.ts +0 -13
  234. package/dist/esm/types/types/LogReviewerFilterState/ActionErrorFilterState.d.ts +0 -17
  235. package/dist/esm/types/types/LogReviewerFilterState/AdvancedFilterState.d.ts +0 -21
  236. package/dist/esm/types/types/LogReviewerFilterState/ContextFilterState.d.ts +0 -10
  237. package/dist/esm/types/types/LogReviewerFilterState/DateFilterState.d.ts +0 -17
  238. package/dist/esm/types/types/LogReviewerFilterState/TagFilterState.d.ts +0 -8
  239. package/dist/esm/types/types/LogReviewerFilterState/index.d.ts +0 -17
  240. package/dist/esm/types/types/LogSource.d.ts +0 -9
  241. package/dist/esm/types/types/LogType.d.ts +0 -9
  242. package/dist/esm/types/types/ParamType.d.ts +0 -17
  243. package/dist/esm/types/types/ReactKitErrorCode.d.ts +0 -14
  244. package/src/constants/DAY_IN_MS.ts +0 -7
  245. package/src/constants/HOUR_IN_MS.ts +0 -7
  246. package/src/constants/LOG_REVIEW_GET_LOGS_ROUTE.ts +0 -9
  247. package/src/constants/LOG_REVIEW_ROUTE_PATH_PREFIX.ts +0 -9
  248. package/src/constants/LOG_REVIEW_STATUS_ROUTE.ts +0 -10
  249. package/src/constants/LOG_ROUTE_PATH.ts +0 -9
  250. package/src/constants/MINUTE_IN_MS.ts +0 -7
  251. package/src/constants/ROUTE_PATH_PREFIX.ts +0 -7
  252. package/src/constants/SELECT_ADMIN_CHECK_ROUTE.ts +0 -7
  253. package/src/errors/ErrorWithCode.tsx +0 -15
  254. package/src/helpers/abbreviate.test.ts +0 -26
  255. package/src/helpers/abbreviate.ts +0 -25
  256. package/src/helpers/asyncArrayFunctions/everyAsync.test.ts +0 -114
  257. package/src/helpers/asyncArrayFunctions/everyAsync.ts +0 -51
  258. package/src/helpers/asyncArrayFunctions/filterAsync.test.ts +0 -126
  259. package/src/helpers/asyncArrayFunctions/filterAsync.ts +0 -50
  260. package/src/helpers/asyncArrayFunctions/forEachAsync.test.ts +0 -136
  261. package/src/helpers/asyncArrayFunctions/forEachAsync.ts +0 -40
  262. package/src/helpers/asyncArrayFunctions/mapAsync.test.ts +0 -125
  263. package/src/helpers/asyncArrayFunctions/mapAsync.ts +0 -46
  264. package/src/helpers/asyncArrayFunctions/someAsync.test.ts +0 -92
  265. package/src/helpers/asyncArrayFunctions/someAsync.ts +0 -49
  266. package/src/helpers/avg.test.ts +0 -24
  267. package/src/helpers/avg.ts +0 -22
  268. package/src/helpers/capitalize.ts +0 -20
  269. package/src/helpers/ceilToNumDecimals.test.ts +0 -39
  270. package/src/helpers/ceilToNumDecimals.ts +0 -13
  271. package/src/helpers/cloneDeep.ts +0 -11
  272. package/src/helpers/compareArraysByProp.test.ts +0 -147
  273. package/src/helpers/compareArraysByProp.ts +0 -56
  274. package/src/helpers/extractProp.test.ts +0 -34
  275. package/src/helpers/extractProp.ts +0 -17
  276. package/src/helpers/floorToNumDecimals.test.ts +0 -39
  277. package/src/helpers/floorToNumDecimals.ts +0 -13
  278. package/src/helpers/forceNumIntoBounds.test.ts +0 -34
  279. package/src/helpers/forceNumIntoBounds.ts +0 -19
  280. package/src/helpers/genCSV.test.ts +0 -75
  281. package/src/helpers/genCSV.ts +0 -87
  282. package/src/helpers/genCommaList.test.ts +0 -57
  283. package/src/helpers/genCommaList.ts +0 -21
  284. package/src/helpers/getHumanReadableDate.test.ts +0 -29
  285. package/src/helpers/getHumanReadableDate.ts +0 -36
  286. package/src/helpers/getLocalTimeInfo.test.ts +0 -48
  287. package/src/helpers/getLocalTimeInfo.ts +0 -58
  288. package/src/helpers/getMonthName.test.ts +0 -79
  289. package/src/helpers/getMonthName.ts +0 -29
  290. package/src/helpers/getOrdinal.test.ts +0 -84
  291. package/src/helpers/getOrdinal.ts +0 -14
  292. package/src/helpers/getPartOfDay.test.ts +0 -56
  293. package/src/helpers/getPartOfDay.ts +0 -20
  294. package/src/helpers/getTimeInfoInET.test.ts +0 -72
  295. package/src/helpers/getTimeInfoInET.ts +0 -79
  296. package/src/helpers/getTimestampFromTimeInfoInET.ts +0 -179
  297. package/src/helpers/getWordCount.ts +0 -26
  298. package/src/helpers/idify.ts +0 -24
  299. package/src/helpers/onlyKeepLetters.ts +0 -11
  300. package/src/helpers/padDecimalZeros.tsx +0 -32
  301. package/src/helpers/padZerosLeft.tsx +0 -21
  302. package/src/helpers/parallelLimit.ts +0 -63
  303. package/src/helpers/prefixWithAOrAn.ts +0 -29
  304. package/src/helpers/roundToNumDecimals.tsx +0 -13
  305. package/src/helpers/shuffleArray.ts +0 -19
  306. package/src/helpers/startMinWait.ts +0 -33
  307. package/src/helpers/stringsToHumanReadableList.ts +0 -39
  308. package/src/helpers/sum.tsx +0 -16
  309. package/src/helpers/validators/ChicagoTitleCase.test.ts +0 -85
  310. package/src/helpers/validators/ChicagoTitleCase.ts +0 -32
  311. package/src/helpers/validators/findURL.test.ts +0 -83
  312. package/src/helpers/validators/findURL.ts +0 -43
  313. package/src/helpers/validators/shared/constants/ERROR_MESSAGES.ts +0 -18
  314. package/src/helpers/validators/shared/helpers/validateRegex.ts +0 -47
  315. package/src/helpers/validators/shared/types/ValidationResult.ts +0 -20
  316. package/src/helpers/validators/validURL.test.ts +0 -90
  317. package/src/helpers/validators/validURL.ts +0 -18
  318. package/src/helpers/validators/validateEmail.test.ts +0 -110
  319. package/src/helpers/validators/validateEmail.ts +0 -47
  320. package/src/helpers/validators/validatePhoneNumber.test.ts +0 -94
  321. package/src/helpers/validators/validatePhoneNumber.ts +0 -49
  322. package/src/helpers/validators/validateString.test.ts +0 -173
  323. package/src/helpers/validators/validateString.ts +0 -171
  324. package/src/helpers/waitMs.tsx +0 -12
  325. package/src/types/DayOfWeek.ts +0 -15
  326. package/src/types/Log/LogMainInfo.ts +0 -69
  327. package/src/types/Log/LogSourceSpecificInfo.ts +0 -25
  328. package/src/types/Log/LogTypeSpecificInfo.ts +0 -33
  329. package/src/types/Log/index.ts +0 -17
  330. package/src/types/LogAction.ts +0 -52
  331. package/src/types/LogBuiltInMetadata.ts +0 -19
  332. package/src/types/LogFunction.ts +0 -46
  333. package/src/types/LogLevel.ts +0 -11
  334. package/src/types/LogMetadataContextMap.ts +0 -15
  335. package/src/types/LogMetadataTagMap.ts +0 -9
  336. package/src/types/LogMetadataTargetMap.ts +0 -9
  337. package/src/types/LogMetadataType.ts +0 -16
  338. package/src/types/LogReviewerFilterState/ActionErrorFilterState.ts +0 -24
  339. package/src/types/LogReviewerFilterState/AdvancedFilterState.ts +0 -36
  340. package/src/types/LogReviewerFilterState/ContextFilterState.ts +0 -16
  341. package/src/types/LogReviewerFilterState/DateFilterState.ts +0 -26
  342. package/src/types/LogReviewerFilterState/TagFilterState.ts +0 -9
  343. package/src/types/LogReviewerFilterState/index.ts +0 -24
  344. package/src/types/LogSource.ts +0 -12
  345. package/src/types/LogType.ts +0 -12
  346. package/src/types/ParamType.ts +0 -18
  347. package/src/types/ReactKitErrorCode.tsx +0 -17
@@ -1,147 +0,0 @@
1
- /**
2
- * Test file for the compareArraysByProp helper
3
- * @author Gabe Abrams
4
- */
5
-
6
- // Import main helper
7
- import compareArraysByProp from './compareArraysByProp';
8
-
9
- describe('compareArraysByProp', () => {
10
- it('should return true for two empty arrays', () => {
11
- const result = compareArraysByProp([], [], 'id');
12
- expect(result).toEqual(true);
13
- });
14
-
15
- it('should return true for two arrays with the same objects in the same order', () => {
16
- const a = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }];
17
- const b = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }];
18
- const result = compareArraysByProp(a, b, 'id');
19
- expect(result).toEqual(true);
20
- });
21
-
22
- it('should return true for two arrays with the same objects in a different order', () => {
23
- const a = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }];
24
- const b = [{ id: 3, name: 'Charlie' }, { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }];
25
- const result = compareArraysByProp(a, b, 'id');
26
- expect(result).toEqual(true);
27
- });
28
-
29
- it('should return false for two arrays with different objects', () => {
30
- const a = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }];
31
- const b = [{ id: 4, name: 'Dave' }, { id: 5, name: 'Eve' }, { id: 6, name: 'Frank' }];
32
- const result = compareArraysByProp(a, b, 'id');
33
- expect(result).toEqual(false);
34
- });
35
-
36
- it('should return false for two arrays with different objects and some shared objects', () => {
37
- const a = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }];
38
- const b = [{ id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }, { id: 4, name: 'Dave' }];
39
- const result = compareArraysByProp(a, b, 'id');
40
- expect(result).toEqual(false);
41
- });
42
-
43
- it('should return true for two arrays with the same objects with multiple properties', () => {
44
- const a = [
45
- { id: 1, name: 'Alice', age: 25 },
46
- { id: 2, name: 'Bob', age: 30 },
47
- { id: 3, name: 'Charlie', age: 35 },
48
- ];
49
- const b = [
50
- { id: 1, name: 'Alice', age: 25 },
51
- { id: 2, name: 'Bob', age: 30 },
52
- { id: 3, name: 'Charlie', age: 35 },
53
- ];
54
- const result = compareArraysByProp(a, b, 'id');
55
- expect(result).toEqual(true);
56
- });
57
-
58
- it('should return true for two arrays with the same objects with multiple properties in a different order', () => {
59
- const a = [
60
- { id: 1, name: 'Alice', age: 25 },
61
- { id: 2, name: 'Bob', age: 30 },
62
- { id: 3, name: 'Charlie', age: 35 },
63
- ];
64
- const b = [
65
- { id: 3, name: 'Charlie', age: 35 },
66
- { id: 1, name: 'Alice', age: 25 },
67
- { id: 2, name: 'Bob', age: 30 },
68
- ];
69
- const result = compareArraysByProp(a, b, 'id');
70
- expect(result).toEqual(true);
71
- });
72
-
73
- it('should return false for two arrays with different objects with multiple properties', () => {
74
- const a = [
75
- { id: 1, name: 'Alice', age: 25 },
76
- { id: 2, name: 'Bob', age: 30 },
77
- { id: 3, name: 'Charlie', age: 35 },
78
- ];
79
- const b = [
80
- { id: 4, name: 'Dave', age: 40 },
81
- { id: 5, name: 'Eve', age: 45 },
82
- { id: 6, name: 'Frank', age: 50 },
83
- ];
84
- const result = compareArraysByProp(a, b, 'id');
85
- expect(result).toEqual(false);
86
- });
87
-
88
- it('should return false for two arrays with different objects with multiple properties and some shared objects', () => {
89
- const a = [
90
- { id: 1, name: 'Alice', age: 25 },
91
- { id: 2, name: 'Bob', age: 30 },
92
- { id: 3, name: 'Charlie', age: 35 },
93
- ];
94
- const b = [
95
- { id: 2, name: 'Bob', age: 30 },
96
- { id: 3, name: 'Charlie', age: 35 },
97
- { id: 4, name: 'Dave', age: 40 },
98
- ];
99
- const result = compareArraysByProp(a, b, 'id');
100
- expect(result).toEqual(false);
101
- });
102
-
103
- it('should return true for two arrays with the same objects with multiple properties and multiple props', () => {
104
- const a = [
105
- { id: 1, name: 'Alice', age: 25 },
106
- { id: 2, name: 'Bob', age: 30 },
107
- { id: 3, name: 'Charlie', age: 35 },
108
- ];
109
- const b = [
110
- { id: 1, name: 'Alice', age: 25 },
111
- { id: 2, name: 'Bob', age: 30 },
112
- { id: 3, name: 'Charlie', age: 35 },
113
- ];
114
- const result = compareArraysByProp(a, b, ['id', 'name']);
115
- expect(result).toEqual(true);
116
- });
117
-
118
- it('should return true for two arrays with the same objects with multiple properties and multiple props in a different order', () => {
119
- const a = [
120
- { id: 1, name: 'Alice', age: 25 },
121
- { id: 2, name: 'Bob', age: 30 },
122
- { id: 3, name: 'Charlie', age: 35 },
123
- ];
124
- const b = [
125
- { id: 3, name: 'Charlie', age: 35 },
126
- { id: 1, name: 'Alice', age: 25 },
127
- { id: 2, name: 'Bob', age: 30 },
128
- ];
129
- const result = compareArraysByProp(a, b, ['id', 'name']);
130
- expect(result).toEqual(true);
131
- });
132
-
133
- it('should return false for two arrays with different objects with multiple properties and multiple props', () => {
134
- const a = [
135
- { id: 1, name: 'Alice', age: 25 },
136
- { id: 2, name: 'Bob', age: 30 },
137
- { id: 3, name: 'Charlie', age: 35 },
138
- ];
139
- const b = [
140
- { id: 1, name: 'Bob', age: 40 },
141
- { id: 2, name: 'Alice', age: 45 },
142
- { id: 3, name: 'Charlie', age: 50 },
143
- ];
144
- const result = compareArraysByProp(a, b, ['id', 'name']);
145
- expect(result).toEqual(false);
146
- });
147
- });
@@ -1,56 +0,0 @@
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
- const compareArraysByProp = (
13
- a: any[],
14
- b: any[],
15
- prop: string | string[],
16
- ): boolean => {
17
- // Immediately return if size of arrays is different
18
- if (a.length !== b.length) {
19
- return false;
20
- }
21
-
22
- // Get all props
23
- const props = (Array.isArray(prop) ? prop : [prop]);
24
-
25
- // Clone second array so we can work on it
26
- const bCloned = [...b];
27
-
28
- // Remove elements from b as we find them in a
29
- for (let i = 0; i < a.length; i++) {
30
- // Find matching element in b
31
- const matchingIndex = bCloned.findIndex((bItem) => {
32
- // Compare based on all props
33
- return props.every((propToCompareBy) => {
34
- const aVal = (a[i] ?? {})[propToCompareBy];
35
- const bVal = (bItem ?? {})[propToCompareBy];
36
- return aVal === bVal;
37
- });
38
- });
39
-
40
- // Check if no match
41
- const noMatch = (matchingIndex < 0);
42
-
43
- // If no match, there's no corresponding element in b
44
- if (noMatch) {
45
- return false;
46
- }
47
-
48
- // Remove the matching element
49
- bCloned.splice(matchingIndex, 1);
50
- }
51
-
52
- // If we made it here, all elements in a have a corresponding element in b
53
- return true;
54
- };
55
-
56
- export default compareArraysByProp;
@@ -1,34 +0,0 @@
1
- /**
2
- * Test file for the extractProp helper
3
- * @author Gabe Abrams
4
- */
5
-
6
- // Import main helper
7
- import extractProp from './extractProp';
8
-
9
- describe('extractProp', () => {
10
- it('should return an empty array if the input array is empty', () => {
11
- const result = extractProp([], 'age');
12
- expect(result).toEqual([]);
13
- });
14
-
15
- it('should extract the correct property from each object in the array', () => {
16
- const users = [
17
- { name: 'Alice', age: 25 },
18
- { name: 'Bob', age: 30 },
19
- { name: 'Charlie', age: 35 },
20
- ];
21
- const result = extractProp(users, 'age');
22
- expect(result).toEqual([25, 30, 35]);
23
- });
24
-
25
- it('should return undefined for objects that do not have the specified property', () => {
26
- const users = [
27
- { name: 'Alice', age: 25 },
28
- { name: 'Bob' },
29
- { name: 'Charlie', age: 35 },
30
- ];
31
- const result = extractProp(users, 'age');
32
- expect(result).toEqual([25, undefined, 35]);
33
- });
34
- });
@@ -1,17 +0,0 @@
1
- /**
2
- * For every element in an array, extract the value of a prop
3
- * (e.g. for all user objects, extract their ages and put that into a new
4
- * ages array)
5
- * @author Gabe Abrams
6
- * @param arr the array of objects to operate on
7
- * @param prop the property to extract from each object
8
- * @returns new array containing the corresponding values, in order, of each
9
- * object in the original array
10
- */
11
- const extractProp = (arr: any[], prop: string) => {
12
- return arr.map((item) => {
13
- return item[prop];
14
- });
15
- };
16
-
17
- export default extractProp;
@@ -1,39 +0,0 @@
1
- /**
2
- * Test file for the floorToNumDecimals helper
3
- * @author Gabe Abrams
4
- */
5
-
6
- // Import main function
7
- import floorToNumDecimals from './floorToNumDecimals';
8
-
9
- describe('floorToNumDecimals', () => {
10
- it('should return 0 for 0 with 0 decimals', () => {
11
- const result = floorToNumDecimals(0, 0);
12
- expect(result).toEqual(0);
13
- });
14
-
15
- it('should return 1 for 1 with 0 decimals', () => {
16
- const result = floorToNumDecimals(1, 0);
17
- expect(result).toEqual(1);
18
- });
19
-
20
- it('should return 1.23 for 1.234 with 2 decimals', () => {
21
- const result = floorToNumDecimals(1.234, 2);
22
- expect(result).toEqual(1.23);
23
- });
24
-
25
- it('should return -1.24 for -1.234 with 2 decimals', () => {
26
- const result = floorToNumDecimals(-1.234, 2);
27
- expect(result).toEqual(-1.24);
28
- });
29
-
30
- it('should return 1234 for 1234 with 0 decimals', () => {
31
- const result = floorToNumDecimals(1234, 0);
32
- expect(result).toEqual(1234);
33
- });
34
-
35
- it('should return 0.001 for 0.00123 with 3 decimals', () => {
36
- const result = floorToNumDecimals(0.00123, 3);
37
- expect(result).toEqual(0.001);
38
- });
39
- });
@@ -1,13 +0,0 @@
1
- /**
2
- * Round a number (floor) 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
- const floorToNumDecimals = (num: number, numDecimals: number): number => {
9
- const rounder = 10 ** numDecimals;
10
- return (Math.floor(num * rounder) / rounder);
11
- };
12
-
13
- export default floorToNumDecimals;
@@ -1,34 +0,0 @@
1
- /**
2
- * Test file for the forceNumIntoBounds helper
3
- * @author Gabe Abrams
4
- */
5
-
6
- // Import main helper
7
- import forceNumIntoBounds from './forceNumIntoBounds';
8
-
9
- describe('forceNumIntoBounds', () => {
10
- it('should return the number if it is within the bounds', () => {
11
- const result = forceNumIntoBounds(5, 0, 10);
12
- expect(result).toEqual(5);
13
- });
14
-
15
- it('should return the minimum bound if the number is less than the minimum', () => {
16
- const result = forceNumIntoBounds(-5, 0, 10);
17
- expect(result).toEqual(0);
18
- });
19
-
20
- it('should return the maximum bound if the number is greater than the maximum', () => {
21
- const result = forceNumIntoBounds(15, 0, 10);
22
- expect(result).toEqual(10);
23
- });
24
-
25
- it('should return the minimum bound if the number is equal to the minimum', () => {
26
- const result = forceNumIntoBounds(0, 0, 10);
27
- expect(result).toEqual(0);
28
- });
29
-
30
- it('should return the maximum bound if the number is equal to the maximum', () => {
31
- const result = forceNumIntoBounds(10, 0, 10);
32
- expect(result).toEqual(10);
33
- });
34
- });
@@ -1,19 +0,0 @@
1
- /**
2
- * Force a number to stay within specific bounds
3
- * @author Gabe Abrams
4
- * @param num the number to move into the bounds
5
- * @param min the minimum number in the bound
6
- * @param max the maximum number in the bound
7
- * @returns bounded number
8
- */
9
- const forceNumIntoBounds = (num: number, min: number, max: number): number => {
10
- return Math.max(
11
- min,
12
- Math.min(
13
- max,
14
- num,
15
- ),
16
- );
17
- };
18
-
19
- export default forceNumIntoBounds;
@@ -1,75 +0,0 @@
1
- /**
2
- * Test file for the genCSV helper
3
- * @author Gabe Abrams
4
- */
5
-
6
- // Import main helper
7
- import genCSV from './genCSV';
8
-
9
- describe('genCSV', () => {
10
- it('should return an empty string for empty data', () => {
11
- const result = genCSV([], []);
12
- expect(result).toEqual('');
13
- });
14
-
15
- it('should generate a CSV with the correct headers and data', () => {
16
- const columns = [
17
- { title: 'Name', param: 'name' },
18
- { title: 'Age', param: 'age' },
19
- { title: 'Email', param: 'email' },
20
- ];
21
- const data = [
22
- { name: 'Alice', age: 25, email: 'alice@example.com' },
23
- { name: 'Bob', age: 30, email: 'bob@example.com' },
24
- { name: 'Charlie', age: 35, email: 'charlie@example.com' },
25
- ];
26
- const expected = 'Name,Age,Email\nAlice,25,alice@example.com\nBob,30,bob@example.com\nCharlie,35,charlie@example.com';
27
- const result = genCSV(data, columns);
28
- expect(result).toEqual(expected);
29
- });
30
-
31
- it('should handle undefined and null values correctly', () => {
32
- const columns = [
33
- { title: 'Name', param: 'name' },
34
- { title: 'Age', param: 'age' },
35
- { title: 'Email', param: 'email' },
36
- ];
37
- const data = [
38
- { name: 'Alice', age: undefined, email: null },
39
- { name: 'Bob', age: null, email: 'bob@example.com' },
40
- { name: 'Charlie', age: 35, email: undefined },
41
- ];
42
- const expected = 'Name,Age,Email\nAlice,,\nBob,,bob@example.com\nCharlie,35,';
43
- const result = genCSV(data, columns);
44
- expect(result).toEqual(expected);
45
- });
46
-
47
- it('should handle objects in cells correctly', () => {
48
- const columns = [
49
- { title: 'Name', param: 'name' },
50
- { title: 'Data', param: 'data' },
51
- ];
52
- const data = [
53
- { name: 'Alice', data: { foo: 'bar' } },
54
- { name: 'Bob', data: [1, 2, 3] },
55
- { name: 'Charlie', data: null },
56
- ];
57
- const expected = 'Name,Data\nAlice,"{""foo"":""bar""}"\nBob,"[1,2,3]"\nCharlie,';
58
- const result = genCSV(data, columns);
59
- expect(result).toEqual(expected);
60
- });
61
-
62
- it('should use textIfUndefined for undefined values', () => {
63
- const columns = [
64
- { title: 'Name', param: 'name' },
65
- { title: 'Age', param: 'age', textIfUndefined: 'N/A' },
66
- ];
67
- const data = [
68
- { name: 'Alice', age: undefined },
69
- { name: 'Bob', age: 30 },
70
- ];
71
- const expected = 'Name,Age\nAlice,N/A\nBob,30';
72
- const result = genCSV(data, columns);
73
- expect(result).toEqual(expected);
74
- });
75
- });
@@ -1,87 +0,0 @@
1
- /**
2
- * Escape a CSV cell if needed
3
- * @author Gabe Abrams
4
- * @param text the cell contents
5
- * @returns escaped cell text
6
- */
7
- const escapeCellText = (text: string): string => {
8
- if (
9
- !String(text).includes(',')
10
- && !String(text).includes('"')
11
- ) {
12
- // No need to escape
13
- return String(text);
14
- }
15
-
16
- // Perform escape
17
- return `"${String(text).replace(/"/g, '""')}"`;
18
- };
19
-
20
- /**
21
- * Generate a CSV file
22
- * @author Gabe Abrams
23
- * @param data list of row data in the form of json objects
24
- * @param columns list of columns to include in the csv where each column is an object with:
25
- * - title: the column title
26
- * - param: the key in the data object to use for this column
27
- * - textIfUndefined: optional text to use if the value is undefined (defaults to empty string)
28
- * @returns multiline csv string
29
- */
30
- const genCSV = (
31
- data: {
32
- [k: string]: any
33
- }[],
34
- columns: {
35
- title: string,
36
- param: string,
37
- textIfUndefined?: string,
38
- }[],
39
- ): string => {
40
- let csv = '';
41
-
42
- // Add header
43
- csv += (
44
- columns
45
- .map((column) => {
46
- return escapeCellText(column.title);
47
- })
48
- .join(',')
49
- );
50
-
51
- // Add each row
52
- data.forEach((datum) => {
53
- csv += '\n';
54
- csv += (
55
- columns
56
- .map((column) => {
57
- let contents: string;
58
- const cell = datum[column.param];
59
- if (
60
- typeof cell === 'string'
61
- || typeof cell === 'number'
62
- || typeof cell === 'boolean'
63
- ) {
64
- contents = String(cell);
65
- } else if (cell === null) {
66
- contents = '';
67
- } else if (typeof cell === 'undefined') {
68
- contents = (
69
- column.textIfUndefined
70
- ?? ''
71
- );
72
- } else if (typeof cell === 'object') {
73
- contents = JSON.stringify(cell);
74
- } else {
75
- contents = '';
76
- }
77
- return escapeCellText(contents);
78
- })
79
- .join(',')
80
- );
81
- });
82
-
83
- // Return
84
- return csv;
85
- };
86
-
87
- export default genCSV;
@@ -1,57 +0,0 @@
1
- // Import function
2
- import genCommaList from './genCommaList';
3
-
4
- test(
5
- 'Empty list.',
6
- async () => {
7
- const emptyList: string[] = [];
8
- const emptyListResponse: string = '';
9
-
10
- const result = genCommaList(emptyList);
11
- expect(result).toStrictEqual(emptyListResponse);
12
- },
13
- );
14
-
15
- test(
16
- 'One word list.',
17
- async () => {
18
- const oneList: string[] = ['apples'];
19
- const oneListResponse: string = 'apples';
20
-
21
- const result = genCommaList(oneList);
22
- expect(result).toStrictEqual(oneListResponse);
23
- },
24
- );
25
-
26
- test(
27
- 'Two word list.',
28
- async () => {
29
- const twoList: string[] = ['apples', 'oranges'];
30
- const twoListResponse: string = 'apples and oranges';
31
-
32
- const result = genCommaList(twoList);
33
- expect(result).toStrictEqual(twoListResponse);
34
- },
35
- );
36
-
37
- test(
38
- 'Three word list.',
39
- async () => {
40
- const threeList: string[] = ['apples', 'oranges', 'bananas'];
41
- const threeListResponse: string = 'apples, oranges, and bananas';
42
-
43
- const result = genCommaList(threeList);
44
- expect(result).toStrictEqual(threeListResponse);
45
- },
46
- );
47
-
48
- test(
49
- 'Four word list.',
50
- async () => {
51
- const fourList: string[] = ['apples', 'oranges', 'bananas', 'grapes'];
52
- const fourListResponse: string = 'apples, oranges, bananas, and grapes';
53
-
54
- const result = genCommaList(fourList);
55
- expect(result).toStrictEqual(fourListResponse);
56
- },
57
- );
@@ -1,21 +0,0 @@
1
- /**
2
- * Given an array of strings, create a single comma-separated string that includes
3
- * 'and' as well as an oxford comma.
4
- * Ex: ['apples'] => 'apples'
5
- * Ex: ['apples', 'bananas'] => 'apples and bananas'
6
- * Ex: ['apples', 'bananas', 'grapes'] => 'apples, bananas, and grapes'
7
- * @author Austen Money
8
- * @param list an array of elements to be made into a single comma-separated string.
9
- * @returns a comma-separated string.
10
- */
11
- const genCommaList = (list: string[]): string => {
12
- const { length } = list;
13
-
14
- return (
15
- length < 2
16
- ? list.join('')
17
- : `${list.slice(0, length - 1).join(', ')}${length < 3 ? ' and ' : ', and '}${list[length - 1]}`
18
- );
19
- };
20
-
21
- export default genCommaList;
@@ -1,29 +0,0 @@
1
- /**
2
- * Test file for the getHumanReadableDate helper
3
- * @author Gabe Abrams
4
- */
5
-
6
- // Import helpers
7
- import getHumanReadableDate from './getHumanReadableDate';
8
- import getOrdinal from './getOrdinal';
9
-
10
- describe('getHumanReadableDate', () => {
11
- it('should return the current date if no argument is passed', () => {
12
- const result = getHumanReadableDate();
13
- const now = new Date();
14
- const expected = `${now.toLocaleString('default', { month: 'short' })} ${now.getDate()}${getOrdinal(now.getDate())}`;
15
- expect(result).toEqual(expected);
16
- });
17
-
18
- it('should return the correct date for a given timestamp', () => {
19
- const timestamp = 1629822000000; // 2021-08-24T12:20:00.000Z
20
- const result = getHumanReadableDate(timestamp);
21
- expect(result).toEqual('Aug 24th 2021');
22
- });
23
-
24
- it('should return the correct date for a given Date object', () => {
25
- const date = new Date('2021-08-24T12:20:00.000Z');
26
- const result = getHumanReadableDate(date);
27
- expect(result).toEqual('Aug 24th 2021');
28
- });
29
- });
@@ -1,36 +0,0 @@
1
- // Import shared helpers
2
- import getTimeInfoInET from './getTimeInfoInET';
3
- import getOrdinal from './getOrdinal';
4
- import getMonthName from './getMonthName';
5
-
6
- /**
7
- * Get a human-readable description of a date (all in ET)
8
- * @author Gabe Abrams
9
- * @param [dateOrTimestamp=today] the date or timestamp for the date to describe
10
- * @returns human-readable description of the date
11
- */
12
- const getHumanReadableDate = (dateOrTimestamp?: Date | number) => {
13
- // Get the date info
14
- const {
15
- month,
16
- day,
17
- year,
18
- } = getTimeInfoInET(dateOrTimestamp);
19
- const currYear = getTimeInfoInET().year;
20
-
21
- // Get the short month description
22
- const monthName = getMonthName(month).short;
23
-
24
- // Create start of description
25
- let description = `${monthName} ${day}${getOrdinal(day)}`;
26
-
27
- // Add on year if it's different
28
- if (year !== currYear) {
29
- description += ` ${year}`;
30
- }
31
-
32
- // Return description
33
- return description;
34
- };
35
-
36
- export default getHumanReadableDate;