@sparted/shared-library 1.2.0 → 1.2.2

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 (374) hide show
  1. package/business/picture-spot/index.d.ts +37 -0
  2. package/business/types/campaign.d.ts +12 -0
  3. package/{dist/business → business}/types/content.d.ts +7 -8
  4. package/business/types/content.js.map +1 -0
  5. package/{src/business/types/index.ts → business/types/index.d.ts} +5 -5
  6. package/package.json +1 -1
  7. package/.circleci/config.yml +0 -40
  8. package/.eslintignore +0 -1
  9. package/.eslintrc.json +0 -25
  10. package/.gitignore +0 -37
  11. package/.idea/.gitignore +0 -8
  12. package/.idea/codeStyles/Project.xml +0 -35
  13. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  14. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  15. package/.idea/jsLinters/eslint.xml +0 -6
  16. package/.idea/misc.xml +0 -6
  17. package/.idea/modules.xml +0 -8
  18. package/.idea/shared-library.iml +0 -11
  19. package/.idea/vcs.xml +0 -6
  20. package/.idea/workspace.xml +0 -108
  21. package/.prettierrc.json +0 -6
  22. package/CHANGELOG.md +0 -130
  23. package/README.md +0 -26
  24. package/dist/business/picture-spot/index.d.ts +0 -2
  25. package/dist/business/types/content.js.map +0 -1
  26. package/dist/business/types/index.d.ts +0 -4
  27. package/dist/package.json +0 -66
  28. package/global.d.ts +0 -2
  29. package/rollup.config.ts +0 -19
  30. package/src/array/__tests__/array-to-map.test.ts +0 -50
  31. package/src/array/__tests__/get-values-from-keys.test.ts +0 -14
  32. package/src/array/__tests__/inner-join.test.ts +0 -55
  33. package/src/array/__tests__/left-outter-join.test.ts +0 -55
  34. package/src/array/array-to-map.ts +0 -32
  35. package/src/array/get-values-from-keys.ts +0 -3
  36. package/src/array/index.ts +0 -4
  37. package/src/array/inner-join.ts +0 -10
  38. package/src/array/left-outter-join.ts +0 -10
  39. package/src/business/picture-spot/index.ts +0 -3
  40. package/src/business/types/campaign.ts +0 -14
  41. package/src/business/types/content.ts +0 -155
  42. package/src/business/types/media.ts +0 -18
  43. package/src/business/types/multilingual.ts +0 -46
  44. package/src/business/types/thematic.ts +0 -10
  45. package/src/cdn/__tests__/cdn.factory.test.ts +0 -150
  46. package/src/cdn/__tests__/utils.test.ts +0 -528
  47. package/src/cdn/cdn.factory.ts +0 -70
  48. package/src/cdn/index.ts +0 -2
  49. package/src/cdn/types/cdn-factory.type.ts +0 -49
  50. package/src/cdn/types/index.ts +0 -1
  51. package/src/cdn/utils/extract-info-from-url.util.ts +0 -25
  52. package/src/cdn/utils/get-cdn-from-s3-url.util.ts +0 -20
  53. package/src/cdn/utils/get-cdn-url.util.ts +0 -31
  54. package/src/cdn/utils/twicpics-transformations.util.ts +0 -9
  55. package/src/color/__tests__/get-contrast-color.test.ts +0 -22
  56. package/src/color/get-contrast-color.ts +0 -18
  57. package/src/color/index.ts +0 -1
  58. package/src/formatting/__tests__/format-number.test.ts +0 -11
  59. package/src/formatting/format-number.ts +0 -14
  60. package/src/formatting/index.ts +0 -1
  61. package/src/fp/__tests__/run-while.test.ts +0 -29
  62. package/src/fp/index.ts +0 -1
  63. package/src/fp/run-while.ts +0 -54
  64. package/src/http/__tests__/build-search-params.test.ts +0 -17
  65. package/src/http/__tests__/encode-search-object.test.ts +0 -34
  66. package/src/http/__tests__/fetch-with-timeout.test.ts +0 -50
  67. package/src/http/build-search-params.ts +0 -18
  68. package/src/http/encode-search-object.ts +0 -39
  69. package/src/http/fetch-with-timeout.ts +0 -24
  70. package/src/http/index.ts +0 -3
  71. package/src/index.ts +0 -15
  72. package/src/linked-list/__tests__/apply-diff-linked-list.test.ts +0 -103
  73. package/src/linked-list/__tests__/create-linked-list.test.ts +0 -204
  74. package/src/linked-list/__tests__/find-linked-list.test.ts +0 -40
  75. package/src/linked-list/__tests__/get-linked-list.test.ts +0 -28
  76. package/src/linked-list/__tests__/insert-linked-list.test.ts +0 -186
  77. package/src/linked-list/__tests__/linked-list-utils.test.ts +0 -252
  78. package/src/linked-list/__tests__/reduce-linked-list.test.ts +0 -31
  79. package/src/linked-list/__tests__/remove-linked-list.test.ts +0 -129
  80. package/src/linked-list/__tests__/update-linked-list.test.ts +0 -53
  81. package/src/linked-list/__tests__/while-linked-list.test.ts +0 -58
  82. package/src/linked-list/apply-diff-linked-list.ts +0 -35
  83. package/src/linked-list/create-linked-list.ts +0 -79
  84. package/src/linked-list/find-linked-list.ts +0 -26
  85. package/src/linked-list/get-linked-list.ts +0 -9
  86. package/src/linked-list/index.ts +0 -2
  87. package/src/linked-list/insert-linked-list.ts +0 -50
  88. package/src/linked-list/linked-list-utils.ts +0 -143
  89. package/src/linked-list/reduce-linked-list.ts +0 -18
  90. package/src/linked-list/remove-linked-list.ts +0 -36
  91. package/src/linked-list/type.ts +0 -38
  92. package/src/linked-list/update-linked-list.ts +0 -30
  93. package/src/linked-list/while-linked-list.ts +0 -33
  94. package/src/math/__tests__/clamp-number.test.ts +0 -30
  95. package/src/math/__tests__/interpolate.test.ts +0 -28
  96. package/src/math/__tests__/median.test.ts +0 -27
  97. package/src/math/__tests__/number-range.test.ts +0 -59
  98. package/src/math/__tests__/random-number.test.ts +0 -11
  99. package/src/math/clamp-number.ts +0 -8
  100. package/src/math/index.ts +0 -5
  101. package/src/math/interpolate.ts +0 -18
  102. package/src/math/median.ts +0 -21
  103. package/src/math/number-range.ts +0 -16
  104. package/src/math/random-number.ts +0 -10
  105. package/src/object/__tests__/merge-deep.test.ts +0 -56
  106. package/src/object/__tests__/strip-properties-from-object.test.ts +0 -65
  107. package/src/object/index.ts +0 -2
  108. package/src/object/merge-deep.ts +0 -26
  109. package/src/object/strip-properties-from-object.ts +0 -26
  110. package/src/parsing/__tests__/parse-boolean.test.ts +0 -15
  111. package/src/parsing/__tests__/parse-enum.test.ts +0 -19
  112. package/src/parsing/__tests__/parse-number.test.ts +0 -20
  113. package/src/parsing/index.ts +0 -3
  114. package/src/parsing/parse-boolean.ts +0 -10
  115. package/src/parsing/parse-enum.ts +0 -16
  116. package/src/parsing/parse-number.ts +0 -12
  117. package/src/predicates/__tests__/is-function.test.ts +0 -11
  118. package/src/predicates/__tests__/is-null.test.ts +0 -11
  119. package/src/predicates/__tests__/is-object.test.ts +0 -11
  120. package/src/predicates/__tests__/is-primitive.test.ts +0 -42
  121. package/src/predicates/__tests__/is-undefined.test.ts +0 -11
  122. package/src/predicates/__tests__/is-uuid.test.ts +0 -13
  123. package/src/predicates/index.ts +0 -5
  124. package/src/predicates/is-function.ts +0 -3
  125. package/src/predicates/is-null.ts +0 -1
  126. package/src/predicates/is-object.ts +0 -3
  127. package/src/predicates/is-primitive.ts +0 -19
  128. package/src/predicates/is-undefined.ts +0 -3
  129. package/src/predicates/is-uuid.ts +0 -3
  130. package/src/promise/__tests__/delay.test.ts +0 -13
  131. package/src/promise/__tests__/execute-or-resolve-default.test.ts +0 -25
  132. package/src/promise/__tests__/execute-with-delay.test.ts +0 -24
  133. package/src/promise/delay.ts +0 -3
  134. package/src/promise/execute-or-resolve-default.ts +0 -14
  135. package/src/promise/execute-with-delay.ts +0 -6
  136. package/src/promise/index.ts +0 -3
  137. package/src/string/__tests__/is-string-length-within-range.test.ts +0 -23
  138. package/src/string/__tests__/replace-in-template.test.ts +0 -52
  139. package/src/string/index.ts +0 -2
  140. package/src/string/is-string-length-within-range.ts +0 -10
  141. package/src/string/replace-in-template.ts +0 -45
  142. package/src/time/__tests__/convert.test.ts +0 -14
  143. package/src/time/__tests__/format-minutes.test.ts +0 -10
  144. package/src/time/__tests__/get-time-diff-as-string.test.ts +0 -128
  145. package/src/time/constants.ts +0 -4
  146. package/src/time/convert.ts +0 -5
  147. package/src/time/format-minutes.ts +0 -9
  148. package/src/time/get-time-diff-as-string.ts +0 -196
  149. package/src/time/index.ts +0 -4
  150. package/src/types/function.ts +0 -1
  151. package/src/types/general.ts +0 -15
  152. package/src/types/index.ts +0 -4
  153. package/src/types/object.ts +0 -33
  154. package/src/types/search.ts +0 -29
  155. package/tsconfig.json +0 -25
  156. package/yarn-error.log +0 -4133
  157. package/yarn.lock +0 -4045
  158. /package/{dist/_virtual → _virtual}/_tslib.js +0 -0
  159. /package/{dist/_virtual → _virtual}/_tslib.js.map +0 -0
  160. /package/{dist/array → array}/array-to-map.d.ts +0 -0
  161. /package/{dist/array → array}/array-to-map.js +0 -0
  162. /package/{dist/array → array}/array-to-map.js.map +0 -0
  163. /package/{dist/array → array}/get-values-from-keys.d.ts +0 -0
  164. /package/{dist/array → array}/get-values-from-keys.js +0 -0
  165. /package/{dist/array → array}/get-values-from-keys.js.map +0 -0
  166. /package/{dist/array → array}/index.d.ts +0 -0
  167. /package/{dist/array → array}/index.js +0 -0
  168. /package/{dist/array → array}/index.js.map +0 -0
  169. /package/{dist/array → array}/inner-join.d.ts +0 -0
  170. /package/{dist/array → array}/inner-join.js +0 -0
  171. /package/{dist/array → array}/inner-join.js.map +0 -0
  172. /package/{dist/array → array}/left-outter-join.d.ts +0 -0
  173. /package/{dist/array → array}/left-outter-join.js +0 -0
  174. /package/{dist/array → array}/left-outter-join.js.map +0 -0
  175. /package/{dist/business → business}/picture-spot/index.js +0 -0
  176. /package/{dist/business → business}/picture-spot/index.js.map +0 -0
  177. /package/{dist/business → business}/types/content.js +0 -0
  178. /package/{dist/business → business}/types/index.js +0 -0
  179. /package/{dist/business → business}/types/index.js.map +0 -0
  180. /package/{dist/business → business}/types/media.d.ts +0 -0
  181. /package/{dist/business → business}/types/multilingual.d.ts +0 -0
  182. /package/{dist/business → business}/types/multilingual.js +0 -0
  183. /package/{dist/business → business}/types/multilingual.js.map +0 -0
  184. /package/{dist/business → business}/types/thematic.d.ts +0 -0
  185. /package/{dist/cdn → cdn}/cdn.factory.d.ts +0 -0
  186. /package/{dist/cdn → cdn}/cdn.factory.js +0 -0
  187. /package/{dist/cdn → cdn}/cdn.factory.js.map +0 -0
  188. /package/{dist/cdn → cdn}/index.d.ts +0 -0
  189. /package/{dist/cdn → cdn}/index.js +0 -0
  190. /package/{dist/cdn → cdn}/index.js.map +0 -0
  191. /package/{dist/cdn → cdn}/types/cdn-factory.type.d.ts +0 -0
  192. /package/{dist/cdn → cdn}/types/index.d.ts +0 -0
  193. /package/{dist/cdn → cdn}/types/index.js +0 -0
  194. /package/{dist/cdn → cdn}/types/index.js.map +0 -0
  195. /package/{dist/cdn → cdn}/utils/extract-info-from-url.util.d.ts +0 -0
  196. /package/{dist/cdn → cdn}/utils/extract-info-from-url.util.js +0 -0
  197. /package/{dist/cdn → cdn}/utils/extract-info-from-url.util.js.map +0 -0
  198. /package/{dist/cdn → cdn}/utils/get-cdn-from-s3-url.util.d.ts +0 -0
  199. /package/{dist/cdn → cdn}/utils/get-cdn-from-s3-url.util.js +0 -0
  200. /package/{dist/cdn → cdn}/utils/get-cdn-from-s3-url.util.js.map +0 -0
  201. /package/{dist/cdn → cdn}/utils/get-cdn-url.util.d.ts +0 -0
  202. /package/{dist/cdn → cdn}/utils/get-cdn-url.util.js +0 -0
  203. /package/{dist/cdn → cdn}/utils/get-cdn-url.util.js.map +0 -0
  204. /package/{dist/cdn → cdn}/utils/twicpics-transformations.util.d.ts +0 -0
  205. /package/{dist/cdn → cdn}/utils/twicpics-transformations.util.js +0 -0
  206. /package/{dist/cdn → cdn}/utils/twicpics-transformations.util.js.map +0 -0
  207. /package/{dist/color → color}/get-contrast-color.d.ts +0 -0
  208. /package/{dist/color → color}/get-contrast-color.js +0 -0
  209. /package/{dist/color → color}/get-contrast-color.js.map +0 -0
  210. /package/{dist/color → color}/index.d.ts +0 -0
  211. /package/{dist/color → color}/index.js +0 -0
  212. /package/{dist/color → color}/index.js.map +0 -0
  213. /package/{dist/formatting → formatting}/format-number.d.ts +0 -0
  214. /package/{dist/formatting → formatting}/format-number.js +0 -0
  215. /package/{dist/formatting → formatting}/format-number.js.map +0 -0
  216. /package/{dist/formatting → formatting}/index.d.ts +0 -0
  217. /package/{dist/formatting → formatting}/index.js +0 -0
  218. /package/{dist/formatting → formatting}/index.js.map +0 -0
  219. /package/{dist/fp → fp}/index.d.ts +0 -0
  220. /package/{dist/fp → fp}/index.js +0 -0
  221. /package/{dist/fp → fp}/index.js.map +0 -0
  222. /package/{dist/fp → fp}/run-while.d.ts +0 -0
  223. /package/{dist/fp → fp}/run-while.js +0 -0
  224. /package/{dist/fp → fp}/run-while.js.map +0 -0
  225. /package/{dist/http → http}/build-search-params.d.ts +0 -0
  226. /package/{dist/http → http}/build-search-params.js +0 -0
  227. /package/{dist/http → http}/build-search-params.js.map +0 -0
  228. /package/{dist/http → http}/encode-search-object.d.ts +0 -0
  229. /package/{dist/http → http}/encode-search-object.js +0 -0
  230. /package/{dist/http → http}/encode-search-object.js.map +0 -0
  231. /package/{dist/http → http}/fetch-with-timeout.d.ts +0 -0
  232. /package/{dist/http → http}/fetch-with-timeout.js +0 -0
  233. /package/{dist/http → http}/fetch-with-timeout.js.map +0 -0
  234. /package/{dist/http → http}/index.d.ts +0 -0
  235. /package/{dist/http → http}/index.js +0 -0
  236. /package/{dist/http → http}/index.js.map +0 -0
  237. /package/{dist/index.d.ts → index.d.ts} +0 -0
  238. /package/{dist/index.js → index.js} +0 -0
  239. /package/{dist/index.js.map → index.js.map} +0 -0
  240. /package/{dist/linked-list → linked-list}/apply-diff-linked-list.d.ts +0 -0
  241. /package/{dist/linked-list → linked-list}/apply-diff-linked-list.js +0 -0
  242. /package/{dist/linked-list → linked-list}/apply-diff-linked-list.js.map +0 -0
  243. /package/{dist/linked-list → linked-list}/create-linked-list.d.ts +0 -0
  244. /package/{dist/linked-list → linked-list}/create-linked-list.js +0 -0
  245. /package/{dist/linked-list → linked-list}/create-linked-list.js.map +0 -0
  246. /package/{dist/linked-list → linked-list}/find-linked-list.d.ts +0 -0
  247. /package/{dist/linked-list → linked-list}/find-linked-list.js +0 -0
  248. /package/{dist/linked-list → linked-list}/find-linked-list.js.map +0 -0
  249. /package/{dist/linked-list → linked-list}/get-linked-list.d.ts +0 -0
  250. /package/{dist/linked-list → linked-list}/get-linked-list.js +0 -0
  251. /package/{dist/linked-list → linked-list}/get-linked-list.js.map +0 -0
  252. /package/{dist/linked-list → linked-list}/index.d.ts +0 -0
  253. /package/{dist/linked-list → linked-list}/index.js +0 -0
  254. /package/{dist/linked-list → linked-list}/index.js.map +0 -0
  255. /package/{dist/linked-list → linked-list}/insert-linked-list.d.ts +0 -0
  256. /package/{dist/linked-list → linked-list}/insert-linked-list.js +0 -0
  257. /package/{dist/linked-list → linked-list}/insert-linked-list.js.map +0 -0
  258. /package/{dist/linked-list → linked-list}/linked-list-utils.d.ts +0 -0
  259. /package/{dist/linked-list → linked-list}/linked-list-utils.js +0 -0
  260. /package/{dist/linked-list → linked-list}/linked-list-utils.js.map +0 -0
  261. /package/{dist/linked-list → linked-list}/reduce-linked-list.d.ts +0 -0
  262. /package/{dist/linked-list → linked-list}/reduce-linked-list.js +0 -0
  263. /package/{dist/linked-list → linked-list}/reduce-linked-list.js.map +0 -0
  264. /package/{dist/linked-list → linked-list}/remove-linked-list.d.ts +0 -0
  265. /package/{dist/linked-list → linked-list}/remove-linked-list.js +0 -0
  266. /package/{dist/linked-list → linked-list}/remove-linked-list.js.map +0 -0
  267. /package/{dist/linked-list → linked-list}/type.d.ts +0 -0
  268. /package/{dist/linked-list → linked-list}/update-linked-list.d.ts +0 -0
  269. /package/{dist/linked-list → linked-list}/update-linked-list.js +0 -0
  270. /package/{dist/linked-list → linked-list}/update-linked-list.js.map +0 -0
  271. /package/{dist/linked-list → linked-list}/while-linked-list.d.ts +0 -0
  272. /package/{dist/linked-list → linked-list}/while-linked-list.js +0 -0
  273. /package/{dist/linked-list → linked-list}/while-linked-list.js.map +0 -0
  274. /package/{dist/math → math}/clamp-number.d.ts +0 -0
  275. /package/{dist/math → math}/clamp-number.js +0 -0
  276. /package/{dist/math → math}/clamp-number.js.map +0 -0
  277. /package/{dist/math → math}/index.d.ts +0 -0
  278. /package/{dist/math → math}/index.js +0 -0
  279. /package/{dist/math → math}/index.js.map +0 -0
  280. /package/{dist/math → math}/interpolate.d.ts +0 -0
  281. /package/{dist/math → math}/interpolate.js +0 -0
  282. /package/{dist/math → math}/interpolate.js.map +0 -0
  283. /package/{dist/math → math}/median.d.ts +0 -0
  284. /package/{dist/math → math}/median.js +0 -0
  285. /package/{dist/math → math}/median.js.map +0 -0
  286. /package/{dist/math → math}/number-range.d.ts +0 -0
  287. /package/{dist/math → math}/number-range.js +0 -0
  288. /package/{dist/math → math}/number-range.js.map +0 -0
  289. /package/{dist/math → math}/random-number.d.ts +0 -0
  290. /package/{dist/math → math}/random-number.js +0 -0
  291. /package/{dist/math → math}/random-number.js.map +0 -0
  292. /package/{dist/object → object}/index.d.ts +0 -0
  293. /package/{dist/object → object}/index.js +0 -0
  294. /package/{dist/object → object}/index.js.map +0 -0
  295. /package/{dist/object → object}/merge-deep.d.ts +0 -0
  296. /package/{dist/object → object}/merge-deep.js +0 -0
  297. /package/{dist/object → object}/merge-deep.js.map +0 -0
  298. /package/{dist/object → object}/strip-properties-from-object.d.ts +0 -0
  299. /package/{dist/object → object}/strip-properties-from-object.js +0 -0
  300. /package/{dist/object → object}/strip-properties-from-object.js.map +0 -0
  301. /package/{dist/parsing → parsing}/index.d.ts +0 -0
  302. /package/{dist/parsing → parsing}/index.js +0 -0
  303. /package/{dist/parsing → parsing}/index.js.map +0 -0
  304. /package/{dist/parsing → parsing}/parse-boolean.d.ts +0 -0
  305. /package/{dist/parsing → parsing}/parse-boolean.js +0 -0
  306. /package/{dist/parsing → parsing}/parse-boolean.js.map +0 -0
  307. /package/{dist/parsing → parsing}/parse-enum.d.ts +0 -0
  308. /package/{dist/parsing → parsing}/parse-enum.js +0 -0
  309. /package/{dist/parsing → parsing}/parse-enum.js.map +0 -0
  310. /package/{dist/parsing → parsing}/parse-number.d.ts +0 -0
  311. /package/{dist/parsing → parsing}/parse-number.js +0 -0
  312. /package/{dist/parsing → parsing}/parse-number.js.map +0 -0
  313. /package/{dist/predicates → predicates}/index.d.ts +0 -0
  314. /package/{dist/predicates → predicates}/index.js +0 -0
  315. /package/{dist/predicates → predicates}/index.js.map +0 -0
  316. /package/{dist/predicates → predicates}/is-function.d.ts +0 -0
  317. /package/{dist/predicates → predicates}/is-function.js +0 -0
  318. /package/{dist/predicates → predicates}/is-function.js.map +0 -0
  319. /package/{dist/predicates → predicates}/is-null.d.ts +0 -0
  320. /package/{dist/predicates → predicates}/is-null.js +0 -0
  321. /package/{dist/predicates → predicates}/is-null.js.map +0 -0
  322. /package/{dist/predicates → predicates}/is-object.d.ts +0 -0
  323. /package/{dist/predicates → predicates}/is-object.js +0 -0
  324. /package/{dist/predicates → predicates}/is-object.js.map +0 -0
  325. /package/{dist/predicates → predicates}/is-primitive.d.ts +0 -0
  326. /package/{dist/predicates → predicates}/is-primitive.js +0 -0
  327. /package/{dist/predicates → predicates}/is-primitive.js.map +0 -0
  328. /package/{dist/predicates → predicates}/is-undefined.d.ts +0 -0
  329. /package/{dist/predicates → predicates}/is-undefined.js +0 -0
  330. /package/{dist/predicates → predicates}/is-undefined.js.map +0 -0
  331. /package/{dist/predicates → predicates}/is-uuid.d.ts +0 -0
  332. /package/{dist/promise → promise}/delay.d.ts +0 -0
  333. /package/{dist/promise → promise}/delay.js +0 -0
  334. /package/{dist/promise → promise}/delay.js.map +0 -0
  335. /package/{dist/promise → promise}/execute-or-resolve-default.d.ts +0 -0
  336. /package/{dist/promise → promise}/execute-or-resolve-default.js +0 -0
  337. /package/{dist/promise → promise}/execute-or-resolve-default.js.map +0 -0
  338. /package/{dist/promise → promise}/execute-with-delay.d.ts +0 -0
  339. /package/{dist/promise → promise}/execute-with-delay.js +0 -0
  340. /package/{dist/promise → promise}/execute-with-delay.js.map +0 -0
  341. /package/{dist/promise → promise}/index.d.ts +0 -0
  342. /package/{dist/promise → promise}/index.js +0 -0
  343. /package/{dist/promise → promise}/index.js.map +0 -0
  344. /package/{dist/string → string}/index.d.ts +0 -0
  345. /package/{dist/string → string}/index.js +0 -0
  346. /package/{dist/string → string}/index.js.map +0 -0
  347. /package/{dist/string → string}/is-string-length-within-range.d.ts +0 -0
  348. /package/{dist/string → string}/is-string-length-within-range.js +0 -0
  349. /package/{dist/string → string}/is-string-length-within-range.js.map +0 -0
  350. /package/{dist/string → string}/replace-in-template.d.ts +0 -0
  351. /package/{dist/string → string}/replace-in-template.js +0 -0
  352. /package/{dist/string → string}/replace-in-template.js.map +0 -0
  353. /package/{dist/time → time}/constants.d.ts +0 -0
  354. /package/{dist/time → time}/constants.js +0 -0
  355. /package/{dist/time → time}/constants.js.map +0 -0
  356. /package/{dist/time → time}/convert.d.ts +0 -0
  357. /package/{dist/time → time}/convert.js +0 -0
  358. /package/{dist/time → time}/convert.js.map +0 -0
  359. /package/{dist/time → time}/format-minutes.d.ts +0 -0
  360. /package/{dist/time → time}/format-minutes.js +0 -0
  361. /package/{dist/time → time}/format-minutes.js.map +0 -0
  362. /package/{dist/time → time}/get-time-diff-as-string.d.ts +0 -0
  363. /package/{dist/time → time}/get-time-diff-as-string.js +0 -0
  364. /package/{dist/time → time}/get-time-diff-as-string.js.map +0 -0
  365. /package/{dist/time → time}/index.d.ts +0 -0
  366. /package/{dist/time → time}/index.js +0 -0
  367. /package/{dist/time → time}/index.js.map +0 -0
  368. /package/{dist/types → types}/function.d.ts +0 -0
  369. /package/{dist/types → types}/general.d.ts +0 -0
  370. /package/{dist/types → types}/index.d.ts +0 -0
  371. /package/{dist/types → types}/index.js +0 -0
  372. /package/{dist/types → types}/index.js.map +0 -0
  373. /package/{dist/types → types}/object.d.ts +0 -0
  374. /package/{dist/types → types}/search.d.ts +0 -0
@@ -1,128 +0,0 @@
1
- import { getTimeDiffAsString } from '../get-time-diff-as-string';
2
- import type { MonthLocaleLabels } from '../get-time-diff-as-string';
3
-
4
- describe('getTimeDiffAsString', () => {
5
- const recentDate = new Date('2020-10-20 00:00:00.000');
6
- const locales: MonthLocaleLabels = [
7
- 'January',
8
- 'February',
9
- 'March',
10
- 'April',
11
- 'May',
12
- 'June',
13
- 'July',
14
- 'August',
15
- 'September',
16
- 'October',
17
- 'November',
18
- 'December',
19
- ];
20
-
21
- it('should correctly handle recent date in first param', () => {
22
- const shouldBeEmptyString = getTimeDiffAsString(
23
- new Date('2020-10-20 00:15:00.000'),
24
- recentDate,
25
- );
26
- expect(shouldBeEmptyString).toStrictEqual('');
27
- });
28
-
29
- it('should correctly return formated minutes', () => {
30
- const shouldBeFifteenMinAgo = getTimeDiffAsString(
31
- new Date('2020-10-19 23:45:00.000'),
32
- recentDate,
33
- );
34
- expect(shouldBeFifteenMinAgo).toStrictEqual('15 min ago');
35
-
36
- const shouldbeFiftyNineMinAgo = getTimeDiffAsString(
37
- new Date('2020-10-19 23:01:00.000'),
38
- recentDate,
39
- );
40
- expect(shouldbeFiftyNineMinAgo).toStrictEqual('59 min ago');
41
-
42
- const shouldBeOneMinAgo = getTimeDiffAsString(
43
- new Date('2020-10-19 23:59:00.000'),
44
- recentDate,
45
- );
46
- expect(shouldBeOneMinAgo).toStrictEqual('1 min ago');
47
- });
48
-
49
- it('should correctly return formated hours', () => {
50
- const shouldBeOneHourAgo = getTimeDiffAsString(
51
- new Date('2020-10-19 23:00:00.000'),
52
- recentDate,
53
- );
54
- expect(shouldBeOneHourAgo).toStrictEqual('1 hour ago');
55
-
56
- const shouldBeTwelveHoursAgo = getTimeDiffAsString(
57
- new Date('2020-10-19 12:00:00.000'),
58
- recentDate,
59
- );
60
- expect(shouldBeTwelveHoursAgo).toStrictEqual('12 hours ago');
61
-
62
- const shouldBeTwentyThreeHoursAgo = getTimeDiffAsString(
63
- new Date('2020-10-19 01:00:00.000'),
64
- recentDate,
65
- );
66
- expect(shouldBeTwentyThreeHoursAgo).toStrictEqual('23 hours ago');
67
- });
68
-
69
- it('should correctly return formated date', () => {
70
- const shouldBeOneDayAgo = getTimeDiffAsString(
71
- new Date('2020-10-19 00:00:00.000'),
72
- recentDate,
73
- );
74
- expect(shouldBeOneDayAgo).toStrictEqual('on October 19, 12:00 am');
75
-
76
- const shouldBeTenMonthAgo = getTimeDiffAsString(
77
- new Date('2020-01-20 12:30:00.000'),
78
- recentDate,
79
- );
80
- expect(shouldBeTenMonthAgo).toStrictEqual('on January 20, 12:30 pm');
81
- });
82
-
83
- it('should correctly return according to template', () => {
84
- const template = {
85
- fullDateTemplate: 'hello %date% darkness',
86
- timeTemplate: '%time% %timeLabel% yeet',
87
- monthLocaleLabels: locales,
88
- timeLabel: {
89
- hour: { plural: 'a', singular: 'b' },
90
- minute: { plural: 'c', singular: 'd' },
91
- },
92
- };
93
- const shouldBeEmptyString = getTimeDiffAsString(
94
- new Date('2020-10-19 00:00:00.000'),
95
- recentDate,
96
- template,
97
- );
98
- expect(shouldBeEmptyString).toStrictEqual('hello October 19, 12:00 am darkness');
99
-
100
- const shouldBeTwoHoursAgo = getTimeDiffAsString(
101
- new Date('2020-10-19 22:00:00.000'),
102
- recentDate,
103
- template,
104
- );
105
- expect(shouldBeTwoHoursAgo).toStrictEqual('2 a yeet');
106
-
107
- const shouldBeOneHourAgo = getTimeDiffAsString(
108
- new Date('2020-10-19 23:00:00.000'),
109
- recentDate,
110
- template,
111
- );
112
- expect(shouldBeOneHourAgo).toStrictEqual('1 b yeet');
113
-
114
- const shouldbeFiftyNineMinAgo = getTimeDiffAsString(
115
- new Date('2020-10-19 23:01:00.000'),
116
- recentDate,
117
- template,
118
- );
119
- expect(shouldbeFiftyNineMinAgo).toStrictEqual('59 c yeet');
120
-
121
- const shouldBeOneMinAgo = getTimeDiffAsString(
122
- new Date('2020-10-19 23:59:00.000'),
123
- recentDate,
124
- template,
125
- );
126
- expect(shouldBeOneMinAgo).toStrictEqual('1 d yeet');
127
- });
128
- });
@@ -1,4 +0,0 @@
1
- export const MS_SECOND = 1000;
2
- export const MS_MINUTE = MS_SECOND * 60;
3
- export const MS_HOUR = MS_MINUTE * 60;
4
- export const MS_DAY = MS_HOUR * 24;
@@ -1,5 +0,0 @@
1
- import { MS_MINUTE, MS_HOUR } from './constants';
2
-
3
- export const msToMinute = (ms: number) => Math.floor(ms / MS_MINUTE);
4
-
5
- export const msToHour = (ms: number) => Math.floor(ms / MS_HOUR);
@@ -1,9 +0,0 @@
1
- export const formatMinutes = (timeInMin: number): string => {
2
- const hours = Math.floor(timeInMin / 60);
3
- const mins = Math.round(timeInMin % 60);
4
-
5
- if (hours === 0) return `${mins}min`;
6
- if (mins === 0) return `${hours}h`;
7
-
8
- return `${hours}h${mins}min`;
9
- };
@@ -1,196 +0,0 @@
1
- import { ReplaceConfig, replaceInTemplate } from '../string';
2
- import { MS_HOUR, MS_DAY } from './constants';
3
- import { msToMinute, msToHour } from './convert';
4
-
5
- export type MonthLocaleLabels = [
6
- string,
7
- string,
8
- string,
9
- string,
10
- string,
11
- string,
12
- string,
13
- string,
14
- string,
15
- string,
16
- string,
17
- string,
18
- ];
19
-
20
- export type DiffTemplate = {
21
- /**
22
- * e.g.: ("%time% %timelabel% blabla")
23
- */
24
- timeTemplate: string,
25
- /**
26
- * e.g.: "%date% blabla"
27
- */
28
- monthLocaleLabels: MonthLocaleLabels,
29
- fullDateTemplate: string,
30
- timeLabel: {
31
- minute: {
32
- singular: string,
33
- plural: string,
34
- },
35
- hour: {
36
- singular: string,
37
- plural: string,
38
- },
39
- }
40
- };
41
-
42
- const defaultLocaleLabels: MonthLocaleLabels = [
43
- 'January',
44
- 'February',
45
- 'March',
46
- 'April',
47
- 'May',
48
- 'June',
49
- 'July',
50
- 'August',
51
- 'September',
52
- 'October',
53
- 'November',
54
- 'December',
55
- ];
56
-
57
- const defaultEnglishTemplate: DiffTemplate = {
58
- timeTemplate: '%time% %timeLabel% ago',
59
- fullDateTemplate: 'on %date%',
60
- monthLocaleLabels: defaultLocaleLabels,
61
- timeLabel: {
62
- minute: {
63
- singular: 'min',
64
- plural: 'min',
65
- },
66
- hour: {
67
- singular: 'hour',
68
- plural: 'hours',
69
- },
70
- },
71
- };
72
-
73
- const TEMPLATE_CONFIG: ReplaceConfig = {
74
- delimiter: {
75
- left: '%',
76
- right: '%',
77
- },
78
- };
79
-
80
- type HourFormat = {
81
- time: string,
82
- period: 'am' | 'pm';
83
- };
84
-
85
- type MinuteFormat = {
86
- time: string,
87
- };
88
-
89
- type DateForTemplate = {
90
- old: Date,
91
- recent: Date,
92
- };
93
-
94
- type ParamForTemplateConfig = {
95
- templateConfig: DiffTemplate,
96
- dates: DateForTemplate,
97
- };
98
-
99
- const formatMinuteString = (minute: number): MinuteFormat => {
100
- const str = minute.toString();
101
-
102
- return {
103
- time: str.length === 2 ? str : `0${str}`,
104
- };
105
- };
106
-
107
- const formatHourString = (hour: number): HourFormat => {
108
- const period = hour < 12 ? 'am' : 'pm';
109
- const twelveHourTime = hour > 12 ? hour - 12 : hour;
110
-
111
- return {
112
- time: twelveHourTime === 0 ? '12' : twelveHourTime.toString(),
113
- period,
114
- };
115
- };
116
-
117
- const getTemplatingParameters = (msDiff: number, config: ParamForTemplateConfig) => {
118
- const { dates, templateConfig } = config;
119
- const { timeLabel, monthLocaleLabels, timeTemplate, fullDateTemplate } = templateConfig;
120
-
121
- if (msDiff < MS_HOUR) {
122
- const minuteDiff = msToMinute(msDiff);
123
- const minuteUnit = minuteDiff > 1
124
- ? timeLabel.minute.plural
125
- : timeLabel.minute.singular;
126
-
127
- return {
128
- template: timeTemplate,
129
- params: {
130
- time: String(minuteDiff || 1),
131
- timeLabel: minuteUnit,
132
- },
133
- };
134
- }
135
-
136
- if (msDiff < MS_DAY) {
137
- const hourDiff = msToHour(msDiff);
138
- const hourUnit = hourDiff > 1
139
- ? timeLabel.hour.plural
140
- : timeLabel.hour.singular;
141
-
142
- return {
143
- template: timeTemplate,
144
- params: {
145
- time: String(hourDiff),
146
- timeLabel: hourUnit,
147
- },
148
- };
149
- }
150
-
151
- const monthLabel = monthLocaleLabels[dates.old.getMonth()];
152
-
153
- const minute = formatMinuteString(dates.old.getMinutes());
154
- const hour = formatHourString(dates.old.getHours());
155
-
156
- const dayFormat = `${monthLabel} ${dates.old.getDate()}`;
157
- const timeFormat = `${hour.time}:${minute.time} ${hour.period}`;
158
-
159
- return {
160
- template: fullDateTemplate,
161
- params: {
162
- date: `${dayFormat}, ${timeFormat}`,
163
- },
164
- };
165
- };
166
-
167
- /**
168
- * The returned string follows the following rules:
169
- * - If diff < 60 minutes: '29 min ago'
170
- * - If diff >= 60 minutes & < 24 hours: '12 hours ago' | '1 hour ago'
171
- * - If diff > 24 hours: 'on March 15, 14:45 pm'
172
- *
173
- * @param olderDate - Date
174
- * @param recentDate - Date
175
- * @param template - DiffTemplate
176
- * @returns a preformated string to be inserted in a phrase.
177
- */
178
- export const getTimeDiffAsString = (olderDate: Date, recentDate = new Date(), templateConfig = defaultEnglishTemplate): string => {
179
- const oldDateTime = olderDate.getTime();
180
- const recentDateTime = recentDate.getTime();
181
-
182
- if (oldDateTime > recentDateTime) {
183
- return '';
184
- }
185
-
186
- const msDiff = recentDateTime - oldDateTime;
187
- const { template, params } = getTemplatingParameters(msDiff, {
188
- dates: {
189
- old: olderDate,
190
- recent: recentDate,
191
- },
192
- templateConfig,
193
- });
194
-
195
- return replaceInTemplate(template, params, TEMPLATE_CONFIG);
196
- };
package/src/time/index.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './constants';
2
- export * from './convert';
3
- export * from './format-minutes';
4
- export * from './get-time-diff-as-string';
@@ -1 +0,0 @@
1
- export type GenericFunction<TS extends any[], R> = (...args: TS) => R;
@@ -1,15 +0,0 @@
1
- export type Primitive = string | number | boolean;
2
- export type Nullable<T> = T | null;
3
- export type ValueType =
4
- | Primitive
5
- | null
6
- | void
7
- | Array<any>
8
- | ReadonlyArray<any>;
9
-
10
- export type ValueOf<T> = T[keyof T];
11
-
12
- export type Range = {
13
- min: number;
14
- max: number;
15
- };
@@ -1,4 +0,0 @@
1
- export * from './function';
2
- export * from './general';
3
- export * from './object';
4
- export * from './search';
@@ -1,33 +0,0 @@
1
- import { ValueType } from './general';
2
-
3
- // Used to extract non function attributes from a class or object
4
- export type NonMethodKeys<T> = { [P in keyof T]: T[P] extends Function ? never : P }[keyof T];
5
- export type Attributes<T> = { [K in NonMethodKeys<T>]: T[K] };
6
- export type PartialAttributes<T> = { [K in NonMethodKeys<T>]?: T[K] };
7
-
8
- // Used to extract functions attributes from a class or object
9
- export type MethodKeys<T> = { [P in keyof T]: T[P] extends Function ? P : never }[keyof T];
10
- export type Methods<T> = { [K in MethodKeys<T>]: T[K] };
11
- export type PartialMethods<T> = { [K in MethodKeys<T>]?: T[K] };
12
-
13
- export type ClassType<T, Params extends Array<any> = Array<any>> = {
14
- new(...args: Params): T;
15
- };
16
-
17
- export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
18
-
19
- export type DeepPartial<T> = T extends ValueType
20
- ? T
21
- : { [P in keyof T]?: DeepPartial<T[P]> };
22
-
23
- // Return intersecting properties of A & B
24
- export type Intersection<A, B> = {
25
- [P in keyof A & keyof B]: A[P] | B[P];
26
- };
27
-
28
- /**
29
- * Helper type. Passes T out again, but boxes it in a way that it cannot
30
- * "widen" the type by accident if it is a generic that should be inferred
31
- * from elsewhere.
32
- */
33
- export type NoInfer<T> = [T][T extends any ? 0 : never];
@@ -1,29 +0,0 @@
1
- export type SearchSortBy = string;
2
- export type SearchSortOrder = 'asc' | 'desc';
3
-
4
- export type SearchSort = {
5
- [by: SearchSortBy]: SearchSortOrder
6
- };
7
-
8
- export type SearchQueryProperty = string;
9
- export type SearchQueryValue = string;
10
-
11
- export type SearchQuery = {
12
- [property: SearchQueryProperty]: SearchQueryValue,
13
- };
14
-
15
- export type SearchObject = {
16
- offset: number,
17
- limit: number,
18
- sort?: Record<string, SearchSortOrder>,
19
- query?: SearchQuery,
20
- };
21
-
22
- export type SearchResponse<T> = {
23
- items: ReadonlyArray<T>,
24
- offset: number,
25
- limit: number,
26
- total: number,
27
- next: string | null,
28
- previous: string | null,
29
- };
package/tsconfig.json DELETED
@@ -1,25 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "allowJs": false,
4
- "allowSyntheticDefaultImports": true,
5
- "moduleResolution": "node",
6
- "strict": true,
7
- "noImplicitAny": true,
8
- "strictNullChecks": true,
9
- "sourceMap": true,
10
- "module": "ESNext",
11
- "target": "ES6",
12
- "isolatedModules": true,
13
- "forceConsistentCasingInFileNames": true,
14
- "declaration": true,
15
- "outDir": "dist",
16
- "lib": ["es2015", "es2017.object"]
17
- },
18
- "files": ["global.d.ts"],
19
- "include": [
20
- "src/**/*"
21
- ],
22
- "exclude": [
23
- "**/node_modules",
24
- ]
25
- }