@wener/utils 1.1.50 → 1.1.53

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 (506) hide show
  1. package/lib/arrays/MaybeArray.js +58 -8
  2. package/lib/arrays/arrayFromAsync.js +254 -6
  3. package/lib/asyncs/AsyncInterval.js +145 -9
  4. package/lib/asyncs/MaybePromise.js +0 -2
  5. package/lib/asyncs/Promises.js +95 -48
  6. package/lib/asyncs/createAsyncIterator.js +313 -23
  7. package/lib/asyncs/createLazyPromise.js +72 -31
  8. package/lib/asyncs/createLazyPromise.test.js +367 -0
  9. package/lib/asyncs/firstOfAsyncIterator.js +6 -6
  10. package/lib/asyncs/generatorOfStream.js +125 -14
  11. package/lib/asyncs/isIterator.js +1 -3
  12. package/lib/asyncs/isPromise.js +2 -4
  13. package/lib/asyncs/isThenable.js +0 -2
  14. package/lib/asyncs/nextOfAsyncIterator.js +15 -9
  15. package/lib/asyncs/promiseOfCallback.js +2 -4
  16. package/lib/asyncs/timeout.js +122 -13
  17. package/lib/browsers/copy.js +7 -8
  18. package/lib/browsers/download.js +215 -40
  19. package/lib/browsers/getFileFromDataTransfer.js +17 -14
  20. package/lib/browsers/loaders.js +251 -18
  21. package/lib/crypto/base.js +3 -3
  22. package/lib/crypto/getNodeCrypto.js +3 -5
  23. package/lib/crypto/hashing.js +236 -30
  24. package/lib/crypto/hashing.test.js +323 -0
  25. package/lib/crypto/md5.bench.js +11 -11
  26. package/lib/crypto/md5.d.js +0 -2
  27. package/lib/crypto/md5.js +0 -2
  28. package/lib/crypto/md5.test.js +7 -0
  29. package/lib/crypto/pem/pem.js +197 -35
  30. package/lib/crypto/pem/pem.test.js +104 -0
  31. package/lib/crypto/randomUUIDv7.js +0 -2
  32. package/lib/crypto/ulid.js +84 -48
  33. package/lib/crypto/ulid.test.js +115 -0
  34. package/lib/emitter/types.js +0 -2
  35. package/lib/errors/DetailError.js +297 -0
  36. package/lib/errors/Errors.js +2 -202
  37. package/lib/errors/Errors.mod.js +206 -0
  38. package/lib/errors/Errors.test.js +24 -0
  39. package/lib/fetch/HttpStatus.js +1 -3
  40. package/lib/fetch/createFetchWith.js +188 -19
  41. package/lib/fetch/createFetchWithLogging.js +17 -16
  42. package/lib/fetch/createFetchWithRetry.js +40 -24
  43. package/lib/fetch/dumpRequest.js +467 -41
  44. package/lib/fetch/dumpRequest.test.js +384 -0
  45. package/lib/fetch/dumpResponse.js +271 -16
  46. package/lib/fetch/dumpResponse.test.js +393 -0
  47. package/lib/fetch/http.types.js +0 -2
  48. package/lib/fetch/index.js +5 -7
  49. package/lib/fetch/isTextContentType.js +5 -0
  50. package/lib/fetch/resolveRequest.js +7 -0
  51. package/lib/fetch/types.js +0 -2
  52. package/lib/i18n/createTranslate.js +40 -20
  53. package/lib/i18n/createTranslate.test.js +177 -0
  54. package/lib/index.js +75 -75
  55. package/lib/io/AbstractEncoding.js +0 -2
  56. package/lib/io/ArrayBuffer.test-d.js +4 -6
  57. package/lib/io/ArrayBuffers.base64.test.js +60 -0
  58. package/lib/io/ArrayBuffers.js +2 -334
  59. package/lib/io/ArrayBuffers.mod.js +531 -0
  60. package/lib/io/ArrayBuffers.test.js +77 -0
  61. package/lib/io/Buffer.js +190 -20
  62. package/lib/io/Buffer.test.js +22 -0
  63. package/lib/io/ByteBuffer.js +752 -441
  64. package/lib/io/ByteBuffer.test.js +184 -0
  65. package/lib/io/base64.js +17 -19
  66. package/lib/io/dump.js +16 -16
  67. package/lib/io/isBuffer.js +2 -3
  68. package/lib/io/isBuffer.test.js +8 -0
  69. package/lib/io/isTransferable.js +16 -8
  70. package/lib/io/isTransferable.test.js +17 -0
  71. package/lib/io/parseDataUri.js +288 -40
  72. package/lib/io/parseDataUri.test.js +286 -0
  73. package/lib/io/types.js +1 -0
  74. package/lib/langs/AsyncCloser.js +276 -0
  75. package/lib/langs/Closer.js +100 -0
  76. package/lib/langs/MaybeFunction.js +38 -5
  77. package/lib/langs/classOf.js +0 -2
  78. package/lib/langs/deepEqual.js +82 -22
  79. package/lib/langs/deepEqual.test.js +11 -0
  80. package/lib/langs/deepFreeze.js +28 -9
  81. package/lib/langs/getGlobalStates.js +19 -7
  82. package/lib/langs/getObjectId.js +4 -6
  83. package/lib/langs/ifPresent.js +3 -0
  84. package/lib/langs/isClass.js +0 -2
  85. package/lib/langs/isDefined.js +0 -2
  86. package/lib/langs/isEmptyObject.js +1 -3
  87. package/lib/langs/isFunction.js +0 -2
  88. package/lib/langs/isNil.js +3 -0
  89. package/lib/langs/isPlainObject.js +2 -4
  90. package/lib/langs/langs.test.js +126 -0
  91. package/lib/langs/memoize.js +11 -7
  92. package/lib/langs/mixin.js +7 -4
  93. package/lib/langs/mixin.test.js +135 -0
  94. package/lib/langs/parseBoolean.js +11 -8
  95. package/lib/langs/shallowClone.js +5 -3
  96. package/lib/langs/shallowEqual.js +8 -6
  97. package/lib/libs/ms.js +28 -26
  98. package/lib/libs/ms.test.js +301 -0
  99. package/lib/logger/const.js +15 -0
  100. package/lib/logger/index.js +1 -0
  101. package/lib/logger/types.js +1 -0
  102. package/lib/maths/clamp.js +81 -12
  103. package/lib/maths/clamp.test.js +186 -0
  104. package/lib/maths/createRandom.test.js +36 -0
  105. package/lib/maths/random.js +162 -13
  106. package/lib/modules/isModule.js +0 -2
  107. package/lib/modules/parseModuleId.js +14 -15
  108. package/lib/modules/parseModuleId.test.js +153 -0
  109. package/lib/objects/computeIfAbsent.js +8 -3
  110. package/lib/objects/get.js +26 -8
  111. package/lib/objects/get.test-d.js +23 -25
  112. package/lib/objects/merge/index.js +1 -3
  113. package/lib/objects/merge/isMergeableObject.js +5 -3
  114. package/lib/objects/merge/merge.js +82 -26
  115. package/lib/objects/merge/merge.test.js +1397 -0
  116. package/lib/objects/parseObjectPath.js +47 -15
  117. package/lib/objects/parseObjectPath.test.js +138 -0
  118. package/lib/objects/set.js +25 -19
  119. package/lib/objects/set.test.js +522 -0
  120. package/lib/schema/typebox/index.js +2 -3
  121. package/lib/schema/typebox/typebox.js +6 -6
  122. package/lib/scripts/getGenerateContext.js +386 -76
  123. package/lib/server/crypto/md5.js +0 -2
  124. package/lib/server/fetch/createFetchWithProxy.js +2 -4
  125. package/lib/server/fetch/createFetchWithProxyByNodeFetch.js +258 -31
  126. package/lib/server/fetch/createFetchWithProxyByUndici.js +307 -49
  127. package/lib/server/getPackageDir.js +2 -3
  128. package/lib/server/index.js +5 -7
  129. package/lib/server/jsdom.js +1 -3
  130. package/lib/server/node-fetch.js +2 -4
  131. package/lib/server/polyfill/polyfillBrowser.js +163 -9
  132. package/lib/server/polyfill/polyfillBrowser.test.js +164 -0
  133. package/lib/server/polyfill/polyfillCrypto.js +157 -9
  134. package/lib/server/polyfill/polyfillFetch.js +13 -13
  135. package/lib/server/polyfill/polyfillJsDom.js +264 -58
  136. package/lib/server/polyfill/polyfillWebSocket.js +11 -11
  137. package/lib/server/ws.js +1 -3
  138. package/lib/strings/bytes.test.js +327 -0
  139. package/lib/strings/camelCase.js +23 -14
  140. package/lib/strings/formatBytes.js +29 -20
  141. package/lib/strings/parseBytes.js +54 -0
  142. package/lib/strings/renderTemplate.js +17 -12
  143. package/lib/strings/renderTemplate.test.js +104 -0
  144. package/lib/typedoc.js +2 -4
  145. package/lib/types.d.js +0 -2
  146. package/lib/validations/asserts.js +0 -2
  147. package/lib/validations/isUUID.js +0 -2
  148. package/lib/validations/isUUID.test.js +87 -0
  149. package/lib/validations/parseTimestamp.js +12 -7
  150. package/lib/validations/parseTimestamp.test.js +6 -0
  151. package/lib/{runtime → web}/getGlobalThis.js +3 -4
  152. package/lib/web/getRandomValues.js +44 -0
  153. package/lib/web/randomUUID.js +15 -0
  154. package/lib/web/requestIdleCallback.js +17 -0
  155. package/lib/{runtime → web}/structuredClone.js +35 -28
  156. package/lib/web/structuredClone.test.js +81 -0
  157. package/package.json +10 -18
  158. package/src/arrays/MaybeArray.ts +22 -22
  159. package/src/arrays/arrayFromAsync.ts +3 -3
  160. package/src/asyncs/AsyncInterval.ts +8 -8
  161. package/src/asyncs/Promises.ts +51 -51
  162. package/src/asyncs/createAsyncIterator.ts +34 -34
  163. package/src/asyncs/createLazyPromise.test.ts +73 -73
  164. package/src/asyncs/createLazyPromise.ts +68 -73
  165. package/src/asyncs/firstOfAsyncIterator.ts +5 -5
  166. package/src/asyncs/generatorOfStream.ts +12 -12
  167. package/src/asyncs/isIterator.ts +1 -1
  168. package/src/asyncs/isThenable.ts +2 -2
  169. package/src/asyncs/nextOfAsyncIterator.ts +20 -20
  170. package/src/asyncs/promiseOfCallback.ts +13 -13
  171. package/src/asyncs/timeout.ts +23 -23
  172. package/src/browsers/copy.ts +48 -48
  173. package/src/browsers/download.ts +38 -36
  174. package/src/browsers/getFileFromDataTransfer.ts +35 -35
  175. package/src/browsers/loaders.ts +49 -49
  176. package/src/crypto/base.ts +3 -3
  177. package/src/crypto/getNodeCrypto.ts +3 -3
  178. package/src/crypto/hashing.test.ts +34 -48
  179. package/src/crypto/hashing.ts +67 -67
  180. package/src/crypto/md5.bench.ts +20 -24
  181. package/src/crypto/md5.test.ts +3 -3
  182. package/src/crypto/pem/pem.test.ts +26 -42
  183. package/src/crypto/pem/pem.ts +65 -65
  184. package/src/crypto/ulid.test.ts +32 -32
  185. package/src/crypto/ulid.ts +117 -117
  186. package/src/emitter/types.ts +6 -6
  187. package/src/errors/DetailError.ts +151 -0
  188. package/src/errors/Errors.mod.ts +104 -0
  189. package/src/errors/Errors.test.ts +15 -15
  190. package/src/errors/Errors.ts +1 -247
  191. package/src/fetch/HttpStatus.ts +77 -77
  192. package/src/fetch/createFetchWith.ts +27 -27
  193. package/src/fetch/createFetchWithLogging.ts +13 -16
  194. package/src/fetch/createFetchWithRetry.ts +80 -80
  195. package/src/fetch/dumpRequest.test.ts +176 -0
  196. package/src/fetch/dumpRequest.ts +149 -52
  197. package/src/fetch/dumpResponse.test.ts +160 -0
  198. package/src/fetch/dumpResponse.ts +48 -20
  199. package/src/fetch/http.types.ts +35 -35
  200. package/src/fetch/isTextContentType.ts +12 -0
  201. package/src/fetch/resolveRequest.ts +1 -0
  202. package/src/fetch/types.ts +2 -2
  203. package/src/i18n/createTranslate.test.ts +90 -113
  204. package/src/i18n/createTranslate.ts +55 -55
  205. package/src/index.ts +26 -27
  206. package/src/io/AbstractEncoding.ts +12 -12
  207. package/src/io/ArrayBuffer.test-d.ts +1 -1
  208. package/src/io/ArrayBuffers.base64.test.ts +52 -52
  209. package/src/io/ArrayBuffers.mod.ts +670 -0
  210. package/src/io/ArrayBuffers.test.ts +14 -14
  211. package/src/io/ArrayBuffers.ts +1 -446
  212. package/src/io/Buffer.test.ts +17 -17
  213. package/src/io/Buffer.ts +17 -17
  214. package/src/io/ByteBuffer.test.ts +37 -37
  215. package/src/io/ByteBuffer.ts +574 -566
  216. package/src/io/base64.ts +46 -44
  217. package/src/io/dump.ts +22 -22
  218. package/src/io/isBuffer.test.ts +2 -2
  219. package/src/io/isBuffer.ts +1 -1
  220. package/src/io/isTransferable.test.ts +4 -4
  221. package/src/io/isTransferable.ts +30 -30
  222. package/src/io/parseDataUri.test.ts +22 -27
  223. package/src/io/parseDataUri.ts +57 -57
  224. package/src/io/types.ts +13 -0
  225. package/src/langs/AsyncCloser.ts +45 -0
  226. package/src/langs/Closer.ts +39 -0
  227. package/src/langs/MaybeFunction.ts +5 -5
  228. package/src/langs/classOf.ts +1 -1
  229. package/src/langs/deepEqual.test.ts +1 -12
  230. package/src/langs/deepEqual.ts +82 -82
  231. package/src/langs/deepFreeze.ts +11 -11
  232. package/src/langs/getGlobalStates.ts +21 -11
  233. package/src/langs/getObjectId.ts +10 -13
  234. package/src/langs/ifPresent.ts +3 -0
  235. package/src/langs/isClass.ts +1 -1
  236. package/src/langs/isDefined.ts +1 -1
  237. package/src/langs/isEmptyObject.ts +1 -1
  238. package/src/langs/isFunction.ts +1 -1
  239. package/src/langs/isNil.ts +3 -0
  240. package/src/langs/isPlainObject.ts +4 -4
  241. package/src/langs/langs.test.ts +18 -18
  242. package/src/langs/memoize.ts +21 -21
  243. package/src/langs/mixin.test.ts +22 -26
  244. package/src/langs/mixin.ts +6 -9
  245. package/src/langs/parseBoolean.ts +30 -26
  246. package/src/langs/shallowClone.ts +11 -11
  247. package/src/langs/shallowEqual.ts +19 -19
  248. package/src/libs/ms.test.ts +274 -274
  249. package/src/libs/ms.ts +137 -137
  250. package/src/logger/const.ts +18 -0
  251. package/src/logger/index.ts +2 -0
  252. package/src/logger/types.ts +10 -0
  253. package/src/maths/clamp.test.ts +18 -18
  254. package/src/maths/clamp.ts +17 -17
  255. package/src/maths/createRandom.test.ts +12 -0
  256. package/src/maths/random.ts +50 -14
  257. package/src/modules/isModule.ts +4 -4
  258. package/src/modules/parseModuleId.test.ts +61 -68
  259. package/src/modules/parseModuleId.ts +29 -43
  260. package/src/objects/computeIfAbsent.ts +10 -10
  261. package/src/objects/get.test-d.ts +33 -51
  262. package/src/objects/get.ts +31 -31
  263. package/src/objects/merge/isMergeableObject.ts +5 -5
  264. package/src/objects/merge/merge.test.ts +658 -880
  265. package/src/objects/merge/merge.ts +84 -84
  266. package/src/objects/parseObjectPath.test.ts +13 -13
  267. package/src/objects/parseObjectPath.ts +25 -25
  268. package/src/objects/set.test.ts +271 -366
  269. package/src/objects/set.ts +36 -36
  270. package/src/schema/typebox/typebox.ts +20 -26
  271. package/src/scripts/getGenerateContext.ts +82 -80
  272. package/src/server/crypto/md5.ts +1 -1
  273. package/src/server/fetch/createFetchWithProxyByNodeFetch.ts +30 -33
  274. package/src/server/fetch/createFetchWithProxyByUndici.ts +64 -70
  275. package/src/server/getPackageDir.ts +7 -7
  276. package/src/server/polyfill/polyfillBrowser.test.ts +10 -10
  277. package/src/server/polyfill/polyfillBrowser.ts +3 -3
  278. package/src/server/polyfill/polyfillCrypto.ts +7 -7
  279. package/src/server/polyfill/polyfillFetch.ts +11 -21
  280. package/src/server/polyfill/polyfillJsDom.ts +60 -72
  281. package/src/server/polyfill/polyfillWebSocket.ts +15 -15
  282. package/src/strings/bytes.test.ts +69 -0
  283. package/src/strings/camelCase.ts +58 -63
  284. package/src/strings/formatBytes.ts +50 -29
  285. package/src/strings/parseBytes.ts +66 -0
  286. package/src/strings/renderTemplate.test.ts +10 -17
  287. package/src/strings/renderTemplate.ts +19 -22
  288. package/src/types.d.ts +9 -9
  289. package/src/validations/asserts.ts +8 -8
  290. package/src/validations/isUUID.test.ts +9 -9
  291. package/src/validations/isUUID.ts +1 -1
  292. package/src/validations/parseTimestamp.test.ts +2 -2
  293. package/src/validations/parseTimestamp.ts +21 -21
  294. package/src/{runtime → web}/getGlobalThis.ts +6 -6
  295. package/src/web/getRandomValues.ts +41 -0
  296. package/src/web/randomUUID.ts +19 -0
  297. package/src/web/requestIdleCallback.ts +11 -0
  298. package/src/{runtime → web}/structuredClone.test.ts +8 -8
  299. package/src/web/structuredClone.ts +88 -0
  300. package/tsconfig.json +35 -34
  301. package/lib/arrays/MaybeArray.js.map +0 -1
  302. package/lib/arrays/arrayFromAsync.js.map +0 -1
  303. package/lib/asyncs/AsyncInterval.js.map +0 -1
  304. package/lib/asyncs/MaybePromise.js.map +0 -1
  305. package/lib/asyncs/Promises.js.map +0 -1
  306. package/lib/asyncs/createAsyncIterator.js.map +0 -1
  307. package/lib/asyncs/createLazyPromise.js.map +0 -1
  308. package/lib/asyncs/firstOfAsyncIterator.js.map +0 -1
  309. package/lib/asyncs/generatorOfStream.js.map +0 -1
  310. package/lib/asyncs/isIterator.js.map +0 -1
  311. package/lib/asyncs/isPromise.js.map +0 -1
  312. package/lib/asyncs/isThenable.js.map +0 -1
  313. package/lib/asyncs/nextOfAsyncIterator.js.map +0 -1
  314. package/lib/asyncs/promiseOfCallback.js.map +0 -1
  315. package/lib/asyncs/timeout.js.map +0 -1
  316. package/lib/browsers/copy.js.map +0 -1
  317. package/lib/browsers/download.js.map +0 -1
  318. package/lib/browsers/getFileFromDataTransfer.js.map +0 -1
  319. package/lib/browsers/loaders.js.map +0 -1
  320. package/lib/cn/division/DivisionCode.js +0 -209
  321. package/lib/cn/division/DivisionCode.js.map +0 -1
  322. package/lib/cn/division/binarySearch.js +0 -27
  323. package/lib/cn/division/binarySearch.js.map +0 -1
  324. package/lib/cn/formatChineseAmount.js +0 -77
  325. package/lib/cn/formatChineseAmount.js.map +0 -1
  326. package/lib/cn/id/Mod11.js +0 -43
  327. package/lib/cn/id/Mod11.js.map +0 -1
  328. package/lib/cn/id/ResidentIdNumber.js +0 -98
  329. package/lib/cn/id/ResidentIdNumber.js.map +0 -1
  330. package/lib/cn/id/types.js +0 -8
  331. package/lib/cn/id/types.js.map +0 -1
  332. package/lib/cn/index.js +0 -14
  333. package/lib/cn/index.js.map +0 -1
  334. package/lib/cn/parseChineseNumber.js +0 -94
  335. package/lib/cn/parseChineseNumber.js.map +0 -1
  336. package/lib/cn/pinyin/cartesianProduct.js +0 -22
  337. package/lib/cn/pinyin/cartesianProduct.js.map +0 -1
  338. package/lib/cn/pinyin/data.json +0 -413
  339. package/lib/cn/pinyin/loader.js +0 -15
  340. package/lib/cn/pinyin/loader.js.map +0 -1
  341. package/lib/cn/pinyin/preload.js +0 -4
  342. package/lib/cn/pinyin/preload.js.map +0 -1
  343. package/lib/cn/pinyin/toPinyinPure.js +0 -32
  344. package/lib/cn/pinyin/toPinyinPure.js.map +0 -1
  345. package/lib/cn/pinyin/transform.js +0 -14
  346. package/lib/cn/pinyin/transform.js.map +0 -1
  347. package/lib/cn/types.js +0 -3
  348. package/lib/cn/types.js.map +0 -1
  349. package/lib/cn/uscc/Mod31.js +0 -49
  350. package/lib/cn/uscc/Mod31.js.map +0 -1
  351. package/lib/cn/uscc/USCC.js +0 -94
  352. package/lib/cn/uscc/USCC.js.map +0 -1
  353. package/lib/cn/uscc/isUSCC.js +0 -8
  354. package/lib/cn/uscc/isUSCC.js.map +0 -1
  355. package/lib/crypto/base.js.map +0 -1
  356. package/lib/crypto/getNodeCrypto.js.map +0 -1
  357. package/lib/crypto/getRandomValues.js +0 -36
  358. package/lib/crypto/getRandomValues.js.map +0 -1
  359. package/lib/crypto/hashing.js.map +0 -1
  360. package/lib/crypto/md5.bench.js.map +0 -1
  361. package/lib/crypto/md5.d.js.map +0 -1
  362. package/lib/crypto/md5.js.map +0 -1
  363. package/lib/crypto/pem/pem.js.map +0 -1
  364. package/lib/crypto/randomUUID.js +0 -16
  365. package/lib/crypto/randomUUID.js.map +0 -1
  366. package/lib/crypto/randomUUIDv7.js.map +0 -1
  367. package/lib/crypto/ulid.js.map +0 -1
  368. package/lib/emitter/types.js.map +0 -1
  369. package/lib/errors/Errors.js.map +0 -1
  370. package/lib/fetch/HttpStatus.js.map +0 -1
  371. package/lib/fetch/createFetchWith.js.map +0 -1
  372. package/lib/fetch/createFetchWithLogging.js.map +0 -1
  373. package/lib/fetch/createFetchWithRetry.js.map +0 -1
  374. package/lib/fetch/dumpRequest.js.map +0 -1
  375. package/lib/fetch/dumpResponse.js.map +0 -1
  376. package/lib/fetch/http.types.js.map +0 -1
  377. package/lib/fetch/index.js.map +0 -1
  378. package/lib/fetch/types.js.map +0 -1
  379. package/lib/i18n/createTranslate.js.map +0 -1
  380. package/lib/index.js.map +0 -1
  381. package/lib/io/AbstractEncoding.js.map +0 -1
  382. package/lib/io/ArrayBuffer.test-d.js.map +0 -1
  383. package/lib/io/ArrayBuffers.js.map +0 -1
  384. package/lib/io/Buffer.js.map +0 -1
  385. package/lib/io/ByteBuffer.js.map +0 -1
  386. package/lib/io/base64.js.map +0 -1
  387. package/lib/io/dump.js.map +0 -1
  388. package/lib/io/isBuffer.js.map +0 -1
  389. package/lib/io/isTransferable.js.map +0 -1
  390. package/lib/io/parseDataUri.js.map +0 -1
  391. package/lib/langs/MaybeFunction.js.map +0 -1
  392. package/lib/langs/classOf.js.map +0 -1
  393. package/lib/langs/deepEqual.js.map +0 -1
  394. package/lib/langs/deepFreeze.js.map +0 -1
  395. package/lib/langs/getGlobalStates.js.map +0 -1
  396. package/lib/langs/getObjectId.js.map +0 -1
  397. package/lib/langs/isClass.js.map +0 -1
  398. package/lib/langs/isDefined.js.map +0 -1
  399. package/lib/langs/isEmptyObject.js.map +0 -1
  400. package/lib/langs/isFunction.js.map +0 -1
  401. package/lib/langs/isNullish.js +0 -5
  402. package/lib/langs/isNullish.js.map +0 -1
  403. package/lib/langs/isPlainObject.js.map +0 -1
  404. package/lib/langs/memoize.js.map +0 -1
  405. package/lib/langs/mixin.js.map +0 -1
  406. package/lib/langs/parseBoolean.js.map +0 -1
  407. package/lib/langs/shallowClone.js.map +0 -1
  408. package/lib/langs/shallowEqual.js.map +0 -1
  409. package/lib/libs/ms.js.map +0 -1
  410. package/lib/logging/Logger.js +0 -5
  411. package/lib/logging/Logger.js.map +0 -1
  412. package/lib/logging/createChildLogger.js +0 -16
  413. package/lib/logging/createChildLogger.js.map +0 -1
  414. package/lib/logging/createLogger.js +0 -63
  415. package/lib/logging/createLogger.js.map +0 -1
  416. package/lib/logging/createNoopLogger.js +0 -13
  417. package/lib/logging/createNoopLogger.js.map +0 -1
  418. package/lib/logging/slog.js +0 -143
  419. package/lib/logging/slog.js.map +0 -1
  420. package/lib/maths/clamp.js.map +0 -1
  421. package/lib/maths/random.js.map +0 -1
  422. package/lib/mitt/index.js +0 -77
  423. package/lib/mitt/index.js.map +0 -1
  424. package/lib/modules/isModule.js.map +0 -1
  425. package/lib/modules/parseModuleId.js.map +0 -1
  426. package/lib/objects/computeIfAbsent.js.map +0 -1
  427. package/lib/objects/get.js.map +0 -1
  428. package/lib/objects/get.test-d.js.map +0 -1
  429. package/lib/objects/merge/index.js.map +0 -1
  430. package/lib/objects/merge/isMergeableObject.js.map +0 -1
  431. package/lib/objects/merge/merge.js.map +0 -1
  432. package/lib/objects/parseObjectPath.js.map +0 -1
  433. package/lib/objects/set.js.map +0 -1
  434. package/lib/runtime/AsyncCloser.js +0 -40
  435. package/lib/runtime/AsyncCloser.js.map +0 -1
  436. package/lib/runtime/Closer.js +0 -34
  437. package/lib/runtime/Closer.js.map +0 -1
  438. package/lib/runtime/getGlobalThis.js.map +0 -1
  439. package/lib/runtime/structuredClone.js.map +0 -1
  440. package/lib/schema/typebox/index.js.map +0 -1
  441. package/lib/schema/typebox/typebox.js.map +0 -1
  442. package/lib/scripts/getGenerateContext.js.map +0 -1
  443. package/lib/server/crypto/md5.js.map +0 -1
  444. package/lib/server/fetch/createFetchWithProxy.js.map +0 -1
  445. package/lib/server/fetch/createFetchWithProxyByNodeFetch.js.map +0 -1
  446. package/lib/server/fetch/createFetchWithProxyByUndici.js.map +0 -1
  447. package/lib/server/getPackageDir.js.map +0 -1
  448. package/lib/server/index.js.map +0 -1
  449. package/lib/server/jsdom.js.map +0 -1
  450. package/lib/server/node-fetch.js.map +0 -1
  451. package/lib/server/polyfill/polyfillBrowser.js.map +0 -1
  452. package/lib/server/polyfill/polyfillCrypto.js.map +0 -1
  453. package/lib/server/polyfill/polyfillFetch.js.map +0 -1
  454. package/lib/server/polyfill/polyfillJsDom.js.map +0 -1
  455. package/lib/server/polyfill/polyfillWebSocket.js.map +0 -1
  456. package/lib/server/ws.js.map +0 -1
  457. package/lib/strings/camelCase.js.map +0 -1
  458. package/lib/strings/formatBytes.js.map +0 -1
  459. package/lib/strings/renderTemplate.js.map +0 -1
  460. package/lib/typedoc.js.map +0 -1
  461. package/lib/types.d.js.map +0 -1
  462. package/lib/validations/asserts.js.map +0 -1
  463. package/lib/validations/isUUID.js.map +0 -1
  464. package/lib/validations/parseTimestamp.js.map +0 -1
  465. package/src/cn/README.md +0 -3
  466. package/src/cn/division/DivisionCode.ts +0 -155
  467. package/src/cn/division/binarySearch.test.ts +0 -64
  468. package/src/cn/division/binarySearch.ts +0 -25
  469. package/src/cn/division/division.test.ts +0 -6
  470. package/src/cn/formatChineseAmount.ts +0 -61
  471. package/src/cn/id/Mod11.ts +0 -26
  472. package/src/cn/id/ResidentIdNumber.ts +0 -126
  473. package/src/cn/id/id.test.ts +0 -20
  474. package/src/cn/id/types.ts +0 -26
  475. package/src/cn/index.ts +0 -17
  476. package/src/cn/parseChineseNumber.test.ts +0 -159
  477. package/src/cn/parseChineseNumber.ts +0 -97
  478. package/src/cn/pinyin/cartesianProduct.test.ts +0 -64
  479. package/src/cn/pinyin/cartesianProduct.ts +0 -24
  480. package/src/cn/pinyin/data.json +0 -413
  481. package/src/cn/pinyin/loader.ts +0 -12
  482. package/src/cn/pinyin/preload.ts +0 -3
  483. package/src/cn/pinyin/toPinyin.test.ts +0 -12
  484. package/src/cn/pinyin/toPinyinPure.ts +0 -43
  485. package/src/cn/pinyin/transform.ts +0 -12
  486. package/src/cn/scripts/gen.test.ts +0 -131
  487. package/src/cn/types.ts +0 -11
  488. package/src/cn/uscc/Mod31.ts +0 -38
  489. package/src/cn/uscc/USCC.ts +0 -94
  490. package/src/cn/uscc/isUSCC.ts +0 -8
  491. package/src/cn/uscc/uscc.test.ts +0 -16
  492. package/src/crypto/getRandomValues.ts +0 -41
  493. package/src/crypto/randomUUID.ts +0 -19
  494. package/src/langs/isNullish.ts +0 -3
  495. package/src/logging/Logger.ts +0 -25
  496. package/src/logging/createChildLogger.ts +0 -16
  497. package/src/logging/createLogger.ts +0 -50
  498. package/src/logging/createNoopLogger.ts +0 -13
  499. package/src/logging/logger.test.ts +0 -36
  500. package/src/logging/slog.test.ts +0 -8
  501. package/src/logging/slog.ts +0 -221
  502. package/src/mitt/README.md +0 -1
  503. package/src/mitt/index.ts +0 -114
  504. package/src/runtime/AsyncCloser.ts +0 -45
  505. package/src/runtime/Closer.ts +0 -39
  506. package/src/runtime/structuredClone.ts +0 -88
@@ -4,23 +4,23 @@
4
4
  * @see {@link https://github.com/pmndrs/zustand/blob/main/src/shallow.ts zustand/src/shallow.ts}
5
5
  */
6
6
  export function shallowEqual<T, U>(objA: T, objB: U) {
7
- if (Object.is(objA, objB)) {
8
- return true;
9
- }
10
- if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
11
- return false;
12
- }
13
- const keysA = Object.keys(objA);
14
- if (keysA.length !== Object.keys(objB).length) {
15
- return false;
16
- }
17
- for (let i = 0; i < keysA.length; i++) {
18
- if (
19
- !Object.prototype.hasOwnProperty.call(objB, keysA[i]) ||
20
- !Object.is(objA[keysA[i] as keyof T], objB[keysA[i] as keyof U])
21
- ) {
22
- return false;
23
- }
24
- }
25
- return true;
7
+ if (Object.is(objA, objB)) {
8
+ return true;
9
+ }
10
+ if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
11
+ return false;
12
+ }
13
+ const keysA = Object.keys(objA);
14
+ if (keysA.length !== Object.keys(objB).length) {
15
+ return false;
16
+ }
17
+ for (let i = 0; i < keysA.length; i++) {
18
+ if (
19
+ !Object.prototype.hasOwnProperty.call(objB, keysA[i])
20
+ || !Object.is(objA[keysA[i] as keyof T], objB[keysA[i] as keyof U])
21
+ ) {
22
+ return false;
23
+ }
24
+ }
25
+ return true;
26
26
  }
@@ -2,310 +2,310 @@ import { describe, expect, it } from 'vitest';
2
2
  import ms from './ms';
3
3
 
4
4
  describe('ms(string)', () => {
5
- it('should not throw an error', () => {
6
- expect(() => {
7
- ms('1m');
8
- }).not.toThrowError();
9
- });
10
-
11
- it('should preserve ms', () => {
12
- expect(ms('100')).toBe(100);
13
- });
14
-
15
- it('should convert from m to ms', () => {
16
- expect(ms('1m')).toBe(60000);
17
- });
18
-
19
- it('should convert from h to ms', () => {
20
- expect(ms('1h')).toBe(3600000);
21
- });
22
-
23
- it('should convert d to ms', () => {
24
- expect(ms('2d')).toBe(172800000);
25
- });
26
-
27
- it('should convert w to ms', () => {
28
- expect(ms('3w')).toBe(1814400000);
29
- });
30
-
31
- it('should convert s to ms', () => {
32
- expect(ms('1s')).toBe(1000);
33
- });
34
-
35
- it('should convert ms to ms', () => {
36
- expect(ms('100ms')).toBe(100);
37
- });
38
-
39
- it('should convert y to ms', () => {
40
- expect(ms('1y')).toBe(31557600000);
41
- });
42
-
43
- it('should work with decimals', () => {
44
- expect(ms('1.5h')).toBe(5400000);
45
- });
46
-
47
- it('should work with multiple spaces', () => {
48
- expect(ms('1 s')).toBe(1000);
49
- });
50
-
51
- it('should return NaN if invalid', () => {
52
- // @ts-expect-error - We expect this to fail.
53
- expect(isNaN(ms('☃'))).toBe(true);
54
- // @ts-expect-error - We expect this to fail.
55
- expect(isNaN(ms('10-.5'))).toBe(true);
56
- // @ts-expect-error - We expect this to fail.
57
- expect(isNaN(ms('ms'))).toBe(true);
58
- });
59
-
60
- it('should be case-insensitive', () => {
61
- expect(ms('1.5H')).toBe(5400000);
62
- });
63
-
64
- it('should work with numbers starting with .', () => {
65
- expect(ms('.5ms')).toBe(0.5);
66
- });
67
-
68
- it('should work with negative integers', () => {
69
- expect(ms('-100ms')).toBe(-100);
70
- });
71
-
72
- it('should work with negative decimals', () => {
73
- expect(ms('-1.5h')).toBe(-5400000);
74
- expect(ms('-10.5h')).toBe(-37800000);
75
- });
76
-
77
- it('should work with negative decimals starting with "."', () => {
78
- expect(ms('-.5h')).toBe(-1800000);
79
- });
5
+ it('should not throw an error', () => {
6
+ expect(() => {
7
+ ms('1m');
8
+ }).not.toThrowError();
9
+ });
10
+
11
+ it('should preserve ms', () => {
12
+ expect(ms('100')).toBe(100);
13
+ });
14
+
15
+ it('should convert from m to ms', () => {
16
+ expect(ms('1m')).toBe(60000);
17
+ });
18
+
19
+ it('should convert from h to ms', () => {
20
+ expect(ms('1h')).toBe(3600000);
21
+ });
22
+
23
+ it('should convert d to ms', () => {
24
+ expect(ms('2d')).toBe(172800000);
25
+ });
26
+
27
+ it('should convert w to ms', () => {
28
+ expect(ms('3w')).toBe(1814400000);
29
+ });
30
+
31
+ it('should convert s to ms', () => {
32
+ expect(ms('1s')).toBe(1000);
33
+ });
34
+
35
+ it('should convert ms to ms', () => {
36
+ expect(ms('100ms')).toBe(100);
37
+ });
38
+
39
+ it('should convert y to ms', () => {
40
+ expect(ms('1y')).toBe(31557600000);
41
+ });
42
+
43
+ it('should work with decimals', () => {
44
+ expect(ms('1.5h')).toBe(5400000);
45
+ });
46
+
47
+ it('should work with multiple spaces', () => {
48
+ expect(ms('1 s')).toBe(1000);
49
+ });
50
+
51
+ it('should return NaN if invalid', () => {
52
+ // @ts-expect-error - We expect this to fail.
53
+ expect(isNaN(ms('☃'))).toBe(true);
54
+ // @ts-expect-error - We expect this to fail.
55
+ expect(isNaN(ms('10-.5'))).toBe(true);
56
+ // @ts-expect-error - We expect this to fail.
57
+ expect(isNaN(ms('ms'))).toBe(true);
58
+ });
59
+
60
+ it('should be case-insensitive', () => {
61
+ expect(ms('1.5H')).toBe(5400000);
62
+ });
63
+
64
+ it('should work with numbers starting with .', () => {
65
+ expect(ms('.5ms')).toBe(0.5);
66
+ });
67
+
68
+ it('should work with negative integers', () => {
69
+ expect(ms('-100ms')).toBe(-100);
70
+ });
71
+
72
+ it('should work with negative decimals', () => {
73
+ expect(ms('-1.5h')).toBe(-5400000);
74
+ expect(ms('-10.5h')).toBe(-37800000);
75
+ });
76
+
77
+ it('should work with negative decimals starting with "."', () => {
78
+ expect(ms('-.5h')).toBe(-1800000);
79
+ });
80
80
  });
81
81
 
82
82
  // long strings
83
83
 
84
84
  describe('ms(long string)', () => {
85
- it('should not throw an error', () => {
86
- expect(() => {
87
- ms('53 milliseconds');
88
- }).not.toThrowError();
89
- });
90
-
91
- it('should convert milliseconds to ms', () => {
92
- expect(ms('53 milliseconds')).toBe(53);
93
- });
94
-
95
- it('should convert msecs to ms', () => {
96
- expect(ms('17 msecs')).toBe(17);
97
- });
98
-
99
- it('should convert sec to ms', () => {
100
- expect(ms('1 sec')).toBe(1000);
101
- });
102
-
103
- it('should convert from min to ms', () => {
104
- expect(ms('1 min')).toBe(60000);
105
- });
106
-
107
- it('should convert from hr to ms', () => {
108
- expect(ms('1 hr')).toBe(3600000);
109
- });
110
-
111
- it('should convert days to ms', () => {
112
- expect(ms('2 days')).toBe(172800000);
113
- });
114
-
115
- it('should convert weeks to ms', () => {
116
- expect(ms('1 week')).toBe(604800000);
117
- });
118
-
119
- it('should convert years to ms', () => {
120
- expect(ms('1 year')).toBe(31557600000);
121
- });
122
-
123
- it('should work with decimals', () => {
124
- expect(ms('1.5 hours')).toBe(5400000);
125
- });
126
-
127
- it('should work with negative integers', () => {
128
- expect(ms('-100 milliseconds')).toBe(-100);
129
- });
130
-
131
- it('should work with negative decimals', () => {
132
- expect(ms('-1.5 hours')).toBe(-5400000);
133
- });
134
-
135
- it('should work with negative decimals starting with "."', () => {
136
- expect(ms('-.5 hr')).toBe(-1800000);
137
- });
85
+ it('should not throw an error', () => {
86
+ expect(() => {
87
+ ms('53 milliseconds');
88
+ }).not.toThrowError();
89
+ });
90
+
91
+ it('should convert milliseconds to ms', () => {
92
+ expect(ms('53 milliseconds')).toBe(53);
93
+ });
94
+
95
+ it('should convert msecs to ms', () => {
96
+ expect(ms('17 msecs')).toBe(17);
97
+ });
98
+
99
+ it('should convert sec to ms', () => {
100
+ expect(ms('1 sec')).toBe(1000);
101
+ });
102
+
103
+ it('should convert from min to ms', () => {
104
+ expect(ms('1 min')).toBe(60000);
105
+ });
106
+
107
+ it('should convert from hr to ms', () => {
108
+ expect(ms('1 hr')).toBe(3600000);
109
+ });
110
+
111
+ it('should convert days to ms', () => {
112
+ expect(ms('2 days')).toBe(172800000);
113
+ });
114
+
115
+ it('should convert weeks to ms', () => {
116
+ expect(ms('1 week')).toBe(604800000);
117
+ });
118
+
119
+ it('should convert years to ms', () => {
120
+ expect(ms('1 year')).toBe(31557600000);
121
+ });
122
+
123
+ it('should work with decimals', () => {
124
+ expect(ms('1.5 hours')).toBe(5400000);
125
+ });
126
+
127
+ it('should work with negative integers', () => {
128
+ expect(ms('-100 milliseconds')).toBe(-100);
129
+ });
130
+
131
+ it('should work with negative decimals', () => {
132
+ expect(ms('-1.5 hours')).toBe(-5400000);
133
+ });
134
+
135
+ it('should work with negative decimals starting with "."', () => {
136
+ expect(ms('-.5 hr')).toBe(-1800000);
137
+ });
138
138
  });
139
139
 
140
140
  // numbers
141
141
 
142
142
  describe('ms(number, { long: true })', () => {
143
- it('should not throw an error', () => {
144
- expect(() => {
145
- ms(500, { long: true });
146
- }).not.toThrowError();
147
- });
148
-
149
- it('should support milliseconds', () => {
150
- expect(ms(500, { long: true })).toBe('500 ms');
151
-
152
- expect(ms(-500, { long: true })).toBe('-500 ms');
153
- });
154
-
155
- it('should support seconds', () => {
156
- expect(ms(1000, { long: true })).toBe('1 second');
157
- expect(ms(1200, { long: true })).toBe('1 second');
158
- expect(ms(10000, { long: true })).toBe('10 seconds');
159
-
160
- expect(ms(-1000, { long: true })).toBe('-1 second');
161
- expect(ms(-1200, { long: true })).toBe('-1 second');
162
- expect(ms(-10000, { long: true })).toBe('-10 seconds');
163
- });
164
-
165
- it('should support minutes', () => {
166
- expect(ms(60 * 1000, { long: true })).toBe('1 minute');
167
- expect(ms(60 * 1200, { long: true })).toBe('1 minute');
168
- expect(ms(60 * 10000, { long: true })).toBe('10 minutes');
169
-
170
- expect(ms(-1 * 60 * 1000, { long: true })).toBe('-1 minute');
171
- expect(ms(-1 * 60 * 1200, { long: true })).toBe('-1 minute');
172
- expect(ms(-1 * 60 * 10000, { long: true })).toBe('-10 minutes');
173
- });
174
-
175
- it('should support hours', () => {
176
- expect(ms(60 * 60 * 1000, { long: true })).toBe('1 hour');
177
- expect(ms(60 * 60 * 1200, { long: true })).toBe('1 hour');
178
- expect(ms(60 * 60 * 10000, { long: true })).toBe('10 hours');
179
-
180
- expect(ms(-1 * 60 * 60 * 1000, { long: true })).toBe('-1 hour');
181
- expect(ms(-1 * 60 * 60 * 1200, { long: true })).toBe('-1 hour');
182
- expect(ms(-1 * 60 * 60 * 10000, { long: true })).toBe('-10 hours');
183
- });
184
-
185
- it('should support days', () => {
186
- expect(ms(24 * 60 * 60 * 1000, { long: true })).toBe('1 day');
187
- expect(ms(24 * 60 * 60 * 1200, { long: true })).toBe('1 day');
188
- expect(ms(24 * 60 * 60 * 10000, { long: true })).toBe('10 days');
189
-
190
- expect(ms(-1 * 24 * 60 * 60 * 1000, { long: true })).toBe('-1 day');
191
- expect(ms(-1 * 24 * 60 * 60 * 1200, { long: true })).toBe('-1 day');
192
- expect(ms(-1 * 24 * 60 * 60 * 10000, { long: true })).toBe('-10 days');
193
- });
194
-
195
- it('should round', () => {
196
- expect(ms(234234234, { long: true })).toBe('3 days');
197
-
198
- expect(ms(-234234234, { long: true })).toBe('-3 days');
199
- });
143
+ it('should not throw an error', () => {
144
+ expect(() => {
145
+ ms(500, { long: true });
146
+ }).not.toThrowError();
147
+ });
148
+
149
+ it('should support milliseconds', () => {
150
+ expect(ms(500, { long: true })).toBe('500 ms');
151
+
152
+ expect(ms(-500, { long: true })).toBe('-500 ms');
153
+ });
154
+
155
+ it('should support seconds', () => {
156
+ expect(ms(1000, { long: true })).toBe('1 second');
157
+ expect(ms(1200, { long: true })).toBe('1 second');
158
+ expect(ms(10000, { long: true })).toBe('10 seconds');
159
+
160
+ expect(ms(-1000, { long: true })).toBe('-1 second');
161
+ expect(ms(-1200, { long: true })).toBe('-1 second');
162
+ expect(ms(-10000, { long: true })).toBe('-10 seconds');
163
+ });
164
+
165
+ it('should support minutes', () => {
166
+ expect(ms(60 * 1000, { long: true })).toBe('1 minute');
167
+ expect(ms(60 * 1200, { long: true })).toBe('1 minute');
168
+ expect(ms(60 * 10000, { long: true })).toBe('10 minutes');
169
+
170
+ expect(ms(-1 * 60 * 1000, { long: true })).toBe('-1 minute');
171
+ expect(ms(-1 * 60 * 1200, { long: true })).toBe('-1 minute');
172
+ expect(ms(-1 * 60 * 10000, { long: true })).toBe('-10 minutes');
173
+ });
174
+
175
+ it('should support hours', () => {
176
+ expect(ms(60 * 60 * 1000, { long: true })).toBe('1 hour');
177
+ expect(ms(60 * 60 * 1200, { long: true })).toBe('1 hour');
178
+ expect(ms(60 * 60 * 10000, { long: true })).toBe('10 hours');
179
+
180
+ expect(ms(-1 * 60 * 60 * 1000, { long: true })).toBe('-1 hour');
181
+ expect(ms(-1 * 60 * 60 * 1200, { long: true })).toBe('-1 hour');
182
+ expect(ms(-1 * 60 * 60 * 10000, { long: true })).toBe('-10 hours');
183
+ });
184
+
185
+ it('should support days', () => {
186
+ expect(ms(24 * 60 * 60 * 1000, { long: true })).toBe('1 day');
187
+ expect(ms(24 * 60 * 60 * 1200, { long: true })).toBe('1 day');
188
+ expect(ms(24 * 60 * 60 * 10000, { long: true })).toBe('10 days');
189
+
190
+ expect(ms(-1 * 24 * 60 * 60 * 1000, { long: true })).toBe('-1 day');
191
+ expect(ms(-1 * 24 * 60 * 60 * 1200, { long: true })).toBe('-1 day');
192
+ expect(ms(-1 * 24 * 60 * 60 * 10000, { long: true })).toBe('-10 days');
193
+ });
194
+
195
+ it('should round', () => {
196
+ expect(ms(234234234, { long: true })).toBe('3 days');
197
+
198
+ expect(ms(-234234234, { long: true })).toBe('-3 days');
199
+ });
200
200
  });
201
201
 
202
202
  // numbers
203
203
 
204
204
  describe('ms(number)', () => {
205
- it('should not throw an error', () => {
206
- expect(() => {
207
- ms(500);
208
- }).not.toThrowError();
209
- });
205
+ it('should not throw an error', () => {
206
+ expect(() => {
207
+ ms(500);
208
+ }).not.toThrowError();
209
+ });
210
210
 
211
- it('should support milliseconds', () => {
212
- expect(ms(500)).toBe('500ms');
211
+ it('should support milliseconds', () => {
212
+ expect(ms(500)).toBe('500ms');
213
213
 
214
- expect(ms(-500)).toBe('-500ms');
215
- });
214
+ expect(ms(-500)).toBe('-500ms');
215
+ });
216
216
 
217
- it('should support seconds', () => {
218
- expect(ms(1000)).toBe('1s');
219
- expect(ms(10000)).toBe('10s');
217
+ it('should support seconds', () => {
218
+ expect(ms(1000)).toBe('1s');
219
+ expect(ms(10000)).toBe('10s');
220
220
 
221
- expect(ms(-1000)).toBe('-1s');
222
- expect(ms(-10000)).toBe('-10s');
223
- });
221
+ expect(ms(-1000)).toBe('-1s');
222
+ expect(ms(-10000)).toBe('-10s');
223
+ });
224
224
 
225
- it('should support minutes', () => {
226
- expect(ms(60 * 1000)).toBe('1m');
227
- expect(ms(60 * 10000)).toBe('10m');
225
+ it('should support minutes', () => {
226
+ expect(ms(60 * 1000)).toBe('1m');
227
+ expect(ms(60 * 10000)).toBe('10m');
228
228
 
229
- expect(ms(-1 * 60 * 1000)).toBe('-1m');
230
- expect(ms(-1 * 60 * 10000)).toBe('-10m');
231
- });
229
+ expect(ms(-1 * 60 * 1000)).toBe('-1m');
230
+ expect(ms(-1 * 60 * 10000)).toBe('-10m');
231
+ });
232
232
 
233
- it('should support hours', () => {
234
- expect(ms(60 * 60 * 1000)).toBe('1h');
235
- expect(ms(60 * 60 * 10000)).toBe('10h');
233
+ it('should support hours', () => {
234
+ expect(ms(60 * 60 * 1000)).toBe('1h');
235
+ expect(ms(60 * 60 * 10000)).toBe('10h');
236
236
 
237
- expect(ms(-1 * 60 * 60 * 1000)).toBe('-1h');
238
- expect(ms(-1 * 60 * 60 * 10000)).toBe('-10h');
239
- });
237
+ expect(ms(-1 * 60 * 60 * 1000)).toBe('-1h');
238
+ expect(ms(-1 * 60 * 60 * 10000)).toBe('-10h');
239
+ });
240
240
 
241
- it('should support days', () => {
242
- expect(ms(24 * 60 * 60 * 1000)).toBe('1d');
243
- expect(ms(24 * 60 * 60 * 10000)).toBe('10d');
241
+ it('should support days', () => {
242
+ expect(ms(24 * 60 * 60 * 1000)).toBe('1d');
243
+ expect(ms(24 * 60 * 60 * 10000)).toBe('10d');
244
244
 
245
- expect(ms(-1 * 24 * 60 * 60 * 1000)).toBe('-1d');
246
- expect(ms(-1 * 24 * 60 * 60 * 10000)).toBe('-10d');
247
- });
245
+ expect(ms(-1 * 24 * 60 * 60 * 1000)).toBe('-1d');
246
+ expect(ms(-1 * 24 * 60 * 60 * 10000)).toBe('-10d');
247
+ });
248
248
 
249
- it('should round', () => {
250
- expect(ms(234234234)).toBe('3d');
249
+ it('should round', () => {
250
+ expect(ms(234234234)).toBe('3d');
251
251
 
252
- expect(ms(-234234234)).toBe('-3d');
253
- });
252
+ expect(ms(-234234234)).toBe('-3d');
253
+ });
254
254
  });
255
255
 
256
256
  // invalid inputs
257
257
 
258
258
  describe('ms(invalid inputs)', () => {
259
- it('should throw an error, when ms("")', () => {
260
- expect(() => {
261
- // @ts-expect-error - We expect this to throw.
262
- ms('');
263
- }).toThrowError();
264
- });
265
-
266
- it('should throw an error, when ms(undefined)', () => {
267
- expect(() => {
268
- // @ts-expect-error - We expect this to throw.
269
- ms(undefined);
270
- }).toThrowError();
271
- });
272
-
273
- it('should throw an error, when ms(null)', () => {
274
- expect(() => {
275
- // @ts-expect-error - We expect this to throw.
276
- ms(null);
277
- }).toThrowError();
278
- });
279
-
280
- it('should throw an error, when ms([])', () => {
281
- expect(() => {
282
- // @ts-expect-error - We expect this to throw.
283
- ms([]);
284
- }).toThrowError();
285
- });
286
-
287
- it('should throw an error, when ms({})', () => {
288
- expect(() => {
289
- // @ts-expect-error - We expect this to throw.
290
- ms({});
291
- }).toThrowError();
292
- });
293
-
294
- it('should throw an error, when ms(NaN)', () => {
295
- expect(() => {
296
- ms(NaN);
297
- }).toThrowError();
298
- });
299
-
300
- it('should throw an error, when ms(Infinity)', () => {
301
- expect(() => {
302
- ms(Infinity);
303
- }).toThrowError();
304
- });
305
-
306
- it('should throw an error, when ms(-Infinity)', () => {
307
- expect(() => {
308
- ms(-Infinity);
309
- }).toThrowError();
310
- });
259
+ it('should throw an error, when ms("")', () => {
260
+ expect(() => {
261
+ // @ts-expect-error - We expect this to throw.
262
+ ms('');
263
+ }).toThrowError();
264
+ });
265
+
266
+ it('should throw an error, when ms(undefined)', () => {
267
+ expect(() => {
268
+ // @ts-expect-error - We expect this to throw.
269
+ ms(undefined);
270
+ }).toThrowError();
271
+ });
272
+
273
+ it('should throw an error, when ms(null)', () => {
274
+ expect(() => {
275
+ // @ts-expect-error - We expect this to throw.
276
+ ms(null);
277
+ }).toThrowError();
278
+ });
279
+
280
+ it('should throw an error, when ms([])', () => {
281
+ expect(() => {
282
+ // @ts-expect-error - We expect this to throw.
283
+ ms([]);
284
+ }).toThrowError();
285
+ });
286
+
287
+ it('should throw an error, when ms({})', () => {
288
+ expect(() => {
289
+ // @ts-expect-error - We expect this to throw.
290
+ ms({});
291
+ }).toThrowError();
292
+ });
293
+
294
+ it('should throw an error, when ms(NaN)', () => {
295
+ expect(() => {
296
+ ms(NaN);
297
+ }).toThrowError();
298
+ });
299
+
300
+ it('should throw an error, when ms(Infinity)', () => {
301
+ expect(() => {
302
+ ms(Infinity);
303
+ }).toThrowError();
304
+ });
305
+
306
+ it('should throw an error, when ms(-Infinity)', () => {
307
+ expect(() => {
308
+ ms(-Infinity);
309
+ }).toThrowError();
310
+ });
311
311
  });