@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
@@ -1,6 +1,95 @@
1
- import { ArrayBuffers } from './ArrayBuffers.js';
1
+ function _check_private_redeclaration(obj, privateCollection) {
2
+ if (privateCollection.has(obj)) {
3
+ throw new TypeError("Cannot initialize the same private elements twice on an object");
4
+ }
5
+ }
6
+ function _class_apply_descriptor_get(receiver, descriptor) {
7
+ if (descriptor.get) {
8
+ return descriptor.get.call(receiver);
9
+ }
10
+ return descriptor.value;
11
+ }
12
+ function _class_apply_descriptor_set(receiver, descriptor, value) {
13
+ if (descriptor.set) {
14
+ descriptor.set.call(receiver, value);
15
+ }
16
+ else {
17
+ if (!descriptor.writable) {
18
+ throw new TypeError("attempted to set read only private field");
19
+ }
20
+ descriptor.value = value;
21
+ }
22
+ }
23
+ function _class_call_check(instance, Constructor) {
24
+ if (!(instance instanceof Constructor)) {
25
+ throw new TypeError("Cannot call a class as a function");
26
+ }
27
+ }
28
+ function _class_extract_field_descriptor(receiver, privateMap, action) {
29
+ if (!privateMap.has(receiver)) {
30
+ throw new TypeError("attempted to " + action + " private field on non-instance");
31
+ }
32
+ return privateMap.get(receiver);
33
+ }
34
+ function _class_private_field_get(receiver, privateMap) {
35
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
36
+ return _class_apply_descriptor_get(receiver, descriptor);
37
+ }
38
+ function _class_private_field_init(obj, privateMap, value) {
39
+ _check_private_redeclaration(obj, privateMap);
40
+ privateMap.set(obj, value);
41
+ }
42
+ function _class_private_field_set(receiver, privateMap, value) {
43
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
44
+ _class_apply_descriptor_set(receiver, descriptor, value);
45
+ return value;
46
+ }
47
+ function _defineProperties(target, props) {
48
+ for (var i = 0; i < props.length; i++) {
49
+ var descriptor = props[i];
50
+ descriptor.enumerable = descriptor.enumerable || false;
51
+ descriptor.configurable = true;
52
+ if ("value" in descriptor)
53
+ descriptor.writable = true;
54
+ Object.defineProperty(target, descriptor.key, descriptor);
55
+ }
56
+ }
57
+ function _create_class(Constructor, protoProps, staticProps) {
58
+ if (protoProps)
59
+ _defineProperties(Constructor.prototype, protoProps);
60
+ if (staticProps)
61
+ _defineProperties(Constructor, staticProps);
62
+ return Constructor;
63
+ }
64
+ function _define_property(obj, key, value) {
65
+ if (key in obj) {
66
+ Object.defineProperty(obj, key, {
67
+ value: value,
68
+ enumerable: true,
69
+ configurable: true,
70
+ writable: true
71
+ });
72
+ }
73
+ else {
74
+ obj[key] = value;
75
+ }
76
+ return obj;
77
+ }
78
+ function _instanceof(left, right) {
79
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
80
+ return !!right[Symbol.hasInstance](left);
81
+ }
82
+ else {
83
+ return left instanceof right;
84
+ }
85
+ }
86
+ function _type_of(obj) {
87
+ "@swc/helpers - typeof";
88
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
89
+ }
90
+ import { ArrayBuffers } from "./ArrayBuffers.js";
2
91
  function asBuffer(o) {
3
- if (o instanceof ArrayBuffer) {
92
+ if (_instanceof(o, ArrayBuffer)) {
4
93
  return o;
5
94
  }
6
95
  if (ArrayBuffer.isView(o)) {
@@ -16,6 +105,8 @@ function asBuffer(o) {
16
105
  }
17
106
  return o;
18
107
  }
108
+ var _buffer = /*#__PURE__*/ new WeakMap(), _view = /*#__PURE__*/ new WeakMap(), _bytes = /*#__PURE__*/ new WeakMap(), // #endian: 'big' | 'little' = 'big';
109
+ _bigEndian = /*#__PURE__*/ new WeakMap();
19
110
  // function asView(o: AnyBuffer) {
20
111
  // if (o instanceof DataView) {
21
112
  // return o;
@@ -32,446 +123,665 @@ function asBuffer(o) {
32
123
  * @see {@link https://netty.io/4.1/api/io/netty/buffer/ByteBuf.html io.netty.buffer.ByteBuf}
33
124
  * @see {@link https://nodejs.org/api/buffer.html node:buffer}
34
125
  * @see {@link https://www.postgresql.org/docs/current/datatype.html PostgreSQL Data Types}
35
- */ export class ByteBuffer {
36
- position = 0;
37
- #buffer;
38
- #view;
39
- #bytes;
40
- // #endian: 'big' | 'little' = 'big';
41
- #bigEndian = true;
42
- constructor(buffer = new ArrayBuffer(0, {
43
- maxByteLength: 1024
44
- })){
45
- this.#buffer = asBuffer(buffer);
126
+ */ export var ByteBuffer = /*#__PURE__*/ function () {
127
+ "use strict";
128
+ function ByteBuffer() {
129
+ var buffer = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : new ArrayBuffer(0, {
130
+ maxByteLength: 1024
131
+ });
132
+ _class_call_check(this, ByteBuffer);
133
+ _define_property(this, "position", 0);
134
+ _class_private_field_init(this, _buffer, {
135
+ writable: true,
136
+ value: void 0
137
+ });
138
+ _class_private_field_init(this, _view, {
139
+ writable: true,
140
+ value: void 0
141
+ });
142
+ _class_private_field_init(this, _bytes, {
143
+ writable: true,
144
+ value: void 0
145
+ });
146
+ _class_private_field_init(this, _bigEndian, {
147
+ writable: true,
148
+ value: true
149
+ });
150
+ _class_private_field_set(this, _buffer, asBuffer(buffer));
46
151
  // NOTE prefer view over buffer, avoid the slice overhead ?
47
- this.#view = new DataView(this.#buffer);
48
- this.#bytes = new Uint8Array(this.#buffer);
49
- }
50
- get littleEndian() {
51
- return !this.#bigEndian;
52
- }
53
- set littleEndian(v) {
54
- this.#bigEndian = !v;
55
- }
56
- get bigEndian() {
57
- return this.#bigEndian;
58
- }
59
- set bigEndian(v) {
60
- this.#bigEndian = v;
61
- }
62
- get view() {
63
- return this.#view;
64
- }
65
- get buffer() {
66
- return this.#buffer;
67
- }
68
- set buffer(buffer) {
69
- this.#buffer = asBuffer(buffer);
70
- this.#view = new DataView(this.#buffer);
71
- this.#bytes = new Uint8Array(this.#buffer);
72
- }
73
- get bytes() {
74
- return this.#bytes;
75
- }
76
- get length() {
77
- return this.view.byteLength;
78
- }
79
- set length(length) {
80
- this.resize(length);
81
- }
82
- resize(newLength) {
83
- // 1.2 for buffer growth
84
- this.buffer = ArrayBuffers.resize(this.buffer, newLength, Math.ceil(newLength * 1.2));
85
- }
86
- writeByte(value) {
87
- this.willWrite(1);
88
- this.view.setUint8(this.position++, value);
89
- }
90
- writeBytes(bytes, len = bytes.byteLength) {
91
- this.willWrite(len);
92
- // ensure len first
93
- this.bytes.set(new Uint8Array(bytes).subarray(0, len), this.position);
94
- if (len > bytes.byteLength) {
95
- // fill zero
96
- this.bytes.fill(0, this.position + bytes.byteLength, this.position + len);
97
- }
98
- this.position += len;
99
- }
100
- writeInt8(value) {
101
- this.willWrite(1);
102
- this.view.setInt8(this.position, value);
103
- this.position += 1;
104
- }
105
- writeUint8(value) {
106
- this.willWrite(1);
107
- this.view.setUint8(this.position, value);
108
- this.position += 1;
109
- }
110
- writeInt16(value) {
111
- this.willWrite(2);
112
- this.view.setInt16(this.position, value, this.littleEndian);
113
- this.position += 2;
114
- }
115
- writeUint16(value) {
116
- this.willWrite(2);
117
- this.view.setUint16(this.position, value, this.littleEndian);
118
- this.position += 2;
119
- }
120
- writeUint24(value) {
121
- this.willWrite(3);
122
- this.view.setUint8(this.position, value & 0xff);
123
- this.view.setUint16(this.position + 1, value >> 8, this.littleEndian);
124
- this.position += 3;
125
- }
126
- writeInt32(value) {
127
- this.willWrite(4);
128
- this.view.setInt32(this.position, value, this.littleEndian);
129
- this.position += 4;
130
- }
131
- writeUint32(value) {
132
- this.willWrite(4);
133
- this.view.setUint32(this.position, value, this.littleEndian);
134
- this.position += 4;
135
- }
136
- writeInt64(value) {
137
- this.willWrite(8);
138
- this.view.setBigInt64(this.position, bigintOf(value), this.littleEndian);
139
- this.position += 8;
140
- }
141
- writeUint64(value) {
142
- this.willWrite(8);
143
- this.view.setBigUint64(this.position, bigintOf(value), this.littleEndian);
144
- this.position += 8;
145
- }
146
- writeFloat32(value) {
147
- this.willWrite(4);
148
- this.view.setFloat32(this.position, value, this.littleEndian);
149
- this.position += 4;
150
- }
151
- writeFloat64(value) {
152
- this.willWrite(8);
153
- this.view.setFloat64(this.position, value, this.littleEndian);
154
- this.position += 8;
155
- }
156
- writeBoolean(value) {
157
- this.writeByte(value ? 1 : 0);
158
- }
159
- writeString(value, len) {
160
- let bytes = this.encodeText(value);
161
- this.writeBytes(bytes, len);
162
- }
163
- readSizeString(n) {
164
- return this.readString(requireNumber(this.readUint(n)));
165
- }
166
- writeSizeString(value, n) {
167
- let out = this.encodeText(value);
168
- this.writeUint(out.length, n);
169
- this.writeBytes(out);
170
- }
171
- encodeText(value) {
172
- return new TextEncoder().encode(value);
173
- }
174
- decodeText(bytes) {
175
- return new TextDecoder().decode(bytes);
176
- }
177
- readByte() {
178
- return this.view.getUint8(this.position++);
179
- }
180
- readBytes(length) {
181
- let bytes = this.buffer.slice(this.position, this.position + length);
182
- this.position += length;
183
- return bytes;
184
- }
185
- readInt8() {
186
- let value = this.view.getInt8(this.position);
187
- this.position += 1;
188
- return value;
189
- }
190
- readUint8() {
191
- let value = this.view.getUint8(this.position);
192
- this.position += 1;
193
- return value;
194
- }
195
- readUnsignedByte() {
196
- return this.readUint8();
197
- }
198
- readThrough(end) {
199
- // readUntil 不包含 end
200
- let idx = this.bytes.indexOf(end, this.position);
201
- if (idx === -1) {
202
- throw new Error(`Byte ${end} not found starting from position ${this.position}`);
203
- }
204
- let bytes = this.buffer.slice(this.position, idx + 1);
205
- this.position = idx + 1;
206
- return bytes;
207
- }
208
- readInt16() {
209
- let value = this.view.getInt16(this.position, this.littleEndian);
210
- this.position += 2;
211
- return value;
212
- }
213
- readUint16() {
214
- let value = this.view.getUint16(this.position, this.littleEndian);
215
- this.position += 2;
216
- return value;
217
- }
218
- readInt32() {
219
- let value = this.view.getInt32(this.position, this.littleEndian);
220
- this.position += 4;
221
- return value;
222
- }
223
- readUint32() {
224
- let value = this.view.getUint32(this.position, this.littleEndian);
225
- this.position += 4;
226
- return value;
227
- }
228
- readInt64() {
229
- let value = this.view.getBigInt64(this.position, this.littleEndian);
230
- this.position += 8;
231
- return safeNumber(value);
232
- }
233
- readUint64() {
234
- let value = this.view.getBigUint64(this.position, this.littleEndian);
235
- this.position += 8;
236
- return safeNumber(value);
237
- }
238
- readFloat32() {
239
- let value = this.view.getFloat32(this.position, this.littleEndian);
240
- this.position += 4;
241
- return value;
242
- }
243
- readFloat64() {
244
- let value = this.view.getFloat64(this.position, this.littleEndian);
245
- this.position += 8;
246
- return value;
247
- }
248
- readBoolean() {
249
- // or !== 0?
250
- return this.readByte() === 1;
251
- }
252
- readString(length) {
253
- let bytes = this.readBytes(length);
254
- let a = new Uint8Array(bytes);
255
- let idx = a.indexOf(0);
256
- if (idx !== -1) {
257
- bytes = bytes.slice(0, idx);
258
- }
259
- return this.decodeText(bytes);
260
- }
261
- readHexString(length) {
262
- let bytes = this.readBytes(length);
263
- return ArrayBuffers.toHex(bytes);
264
- }
265
- writeHexString(value, len) {
266
- this.writeBytes(ArrayBuffers.fromHex(value), len);
267
- }
268
- writeInt24(value) {
269
- // fixme byte order
270
- this.writeUint8(value & 0xff);
271
- this.writeUint16(value >> 8);
272
- }
273
- readInt24() {
274
- // fixme recheck
275
- let value = this.readUint24();
276
- if (value & 0x800000) {
277
- // If the sign bit is set, extend the sign
278
- value |= 0xff000000;
279
- }
280
- return value;
281
- }
282
- readUint24() {
283
- // fixme recheck
284
- return this.readUint8() | this.readUint8() << 8 | this.readUint8() << 16;
285
- }
286
- writeZero(length) {
287
- this.willWrite(length);
288
- this.bytes.fill(0, this.position, this.position + length);
289
- this.position += length;
290
- }
291
- writeValue(a, b) {
292
- const tv = typeof a === 'string' ? {
293
- type: a,
294
- value: b
295
- } : a;
296
- const { type, value, length } = tv;
297
- switch(type){
298
- case 'uint8':
299
- this.writeUint8(value);
300
- break;
301
- case 'byte':
302
- case 'int8':
303
- this.writeInt8(value);
304
- break;
305
- case 'uint16':
306
- this.writeUint16(value);
307
- break;
308
- case 'int16':
309
- this.writeInt16(value);
310
- break;
311
- case 'uint24':
312
- this.writeUint24(value);
313
- break;
314
- case 'int24':
315
- this.writeInt24(value);
316
- break;
317
- case 'uint32':
318
- case 'uint':
319
- this.writeUint32(value);
320
- break;
321
- case 'int32':
322
- case 'int':
323
- this.writeInt32(value);
324
- break;
325
- case 'float32':
326
- case 'float':
327
- this.writeFloat32(value);
328
- break;
329
- case 'float64':
330
- case 'double':
331
- this.writeFloat64(value);
332
- break;
333
- case 'string':
334
- this.writeString(value, length);
335
- break;
336
- case 'boolean':
337
- this.writeBoolean(value);
338
- break;
339
- case 'bytes':
340
- this.writeBytes(value);
341
- break;
342
- default:
343
- throw new Error(`Unknown type ${type}`);
344
- }
345
- }
346
- readUnsignedShort() {
347
- return this.readUint16();
348
- }
349
- readShort() {
350
- return this.readInt16();
351
- }
352
- readInt(bytesOrBits = 32) {
353
- switch(bytesOrBits){
354
- case 1:
355
- case 8:
356
- return this.readInt8();
357
- case 2:
358
- case 16:
359
- return this.readInt16();
360
- case 3:
361
- case 24:
362
- return this.readInt24();
363
- case 4:
364
- case 32:
365
- return this.readInt32();
366
- // skip 8 byte for bits
367
- case 64:
368
- return this.readInt64();
369
- default:
370
- throw new Error(`Unknown int${bytesOrBits}`);
371
- }
372
- }
373
- readUint(bytesOrBits = 32) {
374
- switch(bytesOrBits){
375
- case 1:
376
- case 8:
152
+ _class_private_field_set(this, _view, new DataView(_class_private_field_get(this, _buffer)));
153
+ _class_private_field_set(this, _bytes, new Uint8Array(_class_private_field_get(this, _buffer)));
154
+ }
155
+ _create_class(ByteBuffer, [
156
+ {
157
+ key: "littleEndian",
158
+ get: function get() {
159
+ return !_class_private_field_get(this, _bigEndian);
160
+ },
161
+ set: function set(v) {
162
+ _class_private_field_set(this, _bigEndian, !v);
163
+ }
164
+ },
165
+ {
166
+ key: "bigEndian",
167
+ get: function get() {
168
+ return _class_private_field_get(this, _bigEndian);
169
+ },
170
+ set: function set(v) {
171
+ _class_private_field_set(this, _bigEndian, v);
172
+ }
173
+ },
174
+ {
175
+ key: "view",
176
+ get: function get() {
177
+ return _class_private_field_get(this, _view);
178
+ }
179
+ },
180
+ {
181
+ key: "buffer",
182
+ get: function get() {
183
+ return _class_private_field_get(this, _buffer);
184
+ },
185
+ set: function set(buffer) {
186
+ _class_private_field_set(this, _buffer, asBuffer(buffer));
187
+ _class_private_field_set(this, _view, new DataView(_class_private_field_get(this, _buffer)));
188
+ _class_private_field_set(this, _bytes, new Uint8Array(_class_private_field_get(this, _buffer)));
189
+ }
190
+ },
191
+ {
192
+ key: "bytes",
193
+ get: function get() {
194
+ return _class_private_field_get(this, _bytes);
195
+ }
196
+ },
197
+ {
198
+ key: "length",
199
+ get: function get() {
200
+ return this.view.byteLength;
201
+ },
202
+ set: function set(length) {
203
+ this.resize(length);
204
+ }
205
+ },
206
+ {
207
+ key: "resize",
208
+ value: function resize(newLength) {
209
+ // 1.2 for buffer growth
210
+ this.buffer = ArrayBuffers.resize(this.buffer, newLength, Math.ceil(newLength * 1.2));
211
+ }
212
+ },
213
+ {
214
+ key: "writeByte",
215
+ value: function writeByte(value) {
216
+ this.willWrite(1);
217
+ this.view.setUint8(this.position++, value);
218
+ }
219
+ },
220
+ {
221
+ key: "writeBytes",
222
+ value: function writeBytes(bytes, len) {
223
+ var byteLength = getByteLength(bytes);
224
+ len !== null && len !== void 0 ? len : len = byteLength;
225
+ this.willWrite(len);
226
+ // ensure len first
227
+ this.bytes.set(ArrayBuffers.toUint8Array(bytes).subarray(0, len), this.position);
228
+ if (len > byteLength) {
229
+ // fill zero
230
+ this.bytes.fill(0, this.position + byteLength, this.position + len);
231
+ }
232
+ this.position += len;
233
+ }
234
+ },
235
+ {
236
+ key: "writeInt8",
237
+ value: function writeInt8(value) {
238
+ this.willWrite(1);
239
+ this.view.setInt8(this.position, value);
240
+ this.position += 1;
241
+ }
242
+ },
243
+ {
244
+ key: "writeUint8",
245
+ value: function writeUint8(value) {
246
+ this.willWrite(1);
247
+ this.view.setUint8(this.position, value);
248
+ this.position += 1;
249
+ }
250
+ },
251
+ {
252
+ key: "writeInt16",
253
+ value: function writeInt16(value) {
254
+ this.willWrite(2);
255
+ this.view.setInt16(this.position, value, this.littleEndian);
256
+ this.position += 2;
257
+ }
258
+ },
259
+ {
260
+ key: "writeUint16",
261
+ value: function writeUint16(value) {
262
+ this.willWrite(2);
263
+ this.view.setUint16(this.position, value, this.littleEndian);
264
+ this.position += 2;
265
+ }
266
+ },
267
+ {
268
+ key: "writeUint24",
269
+ value: function writeUint24(value) {
270
+ this.willWrite(3);
271
+ this.view.setUint8(this.position, value & 255);
272
+ this.view.setUint16(this.position + 1, value >> 8, this.littleEndian);
273
+ this.position += 3;
274
+ }
275
+ },
276
+ {
277
+ key: "writeInt32",
278
+ value: function writeInt32(value) {
279
+ this.willWrite(4);
280
+ this.view.setInt32(this.position, value, this.littleEndian);
281
+ this.position += 4;
282
+ }
283
+ },
284
+ {
285
+ key: "writeUint32",
286
+ value: function writeUint32(value) {
287
+ this.willWrite(4);
288
+ this.view.setUint32(this.position, value, this.littleEndian);
289
+ this.position += 4;
290
+ }
291
+ },
292
+ {
293
+ key: "writeInt64",
294
+ value: function writeInt64(value) {
295
+ this.willWrite(8);
296
+ this.view.setBigInt64(this.position, bigintOf(value), this.littleEndian);
297
+ this.position += 8;
298
+ }
299
+ },
300
+ {
301
+ key: "writeUint64",
302
+ value: function writeUint64(value) {
303
+ this.willWrite(8);
304
+ this.view.setBigUint64(this.position, bigintOf(value), this.littleEndian);
305
+ this.position += 8;
306
+ }
307
+ },
308
+ {
309
+ key: "writeFloat32",
310
+ value: function writeFloat32(value) {
311
+ this.willWrite(4);
312
+ this.view.setFloat32(this.position, value, this.littleEndian);
313
+ this.position += 4;
314
+ }
315
+ },
316
+ {
317
+ key: "writeFloat64",
318
+ value: function writeFloat64(value) {
319
+ this.willWrite(8);
320
+ this.view.setFloat64(this.position, value, this.littleEndian);
321
+ this.position += 8;
322
+ }
323
+ },
324
+ {
325
+ key: "writeBoolean",
326
+ value: function writeBoolean(value) {
327
+ this.writeByte(value ? 1 : 0);
328
+ }
329
+ },
330
+ {
331
+ key: "writeString",
332
+ value: function writeString(value, len) {
333
+ var bytes = this.encodeText(value);
334
+ this.writeBytes(bytes, len);
335
+ }
336
+ },
337
+ {
338
+ key: "readSizeString",
339
+ value: function readSizeString(n) {
340
+ return this.readString(requireNumber(this.readUint(n)));
341
+ }
342
+ },
343
+ {
344
+ key: "writeSizeString",
345
+ value: function writeSizeString(value, n) {
346
+ var out = this.encodeText(value);
347
+ this.writeUint(out.length, n);
348
+ this.writeBytes(out);
349
+ }
350
+ },
351
+ {
352
+ key: "encodeText",
353
+ value: function encodeText(value) {
354
+ return new TextEncoder().encode(value);
355
+ }
356
+ },
357
+ {
358
+ key: "decodeText",
359
+ value: function decodeText(bytes) {
360
+ return new TextDecoder().decode(bytes);
361
+ }
362
+ },
363
+ {
364
+ key: "readByte",
365
+ value: function readByte() {
366
+ return this.view.getUint8(this.position++);
367
+ }
368
+ },
369
+ {
370
+ key: "readBytes",
371
+ value: function readBytes(length) {
372
+ var bytes = this.buffer.slice(this.position, this.position + length);
373
+ this.position += length;
374
+ return bytes;
375
+ }
376
+ },
377
+ {
378
+ key: "readInt8",
379
+ value: function readInt8() {
380
+ var value = this.view.getInt8(this.position);
381
+ this.position += 1;
382
+ return value;
383
+ }
384
+ },
385
+ {
386
+ key: "readUint8",
387
+ value: function readUint8() {
388
+ var value = this.view.getUint8(this.position);
389
+ this.position += 1;
390
+ return value;
391
+ }
392
+ },
393
+ {
394
+ key: "readUnsignedByte",
395
+ value: function readUnsignedByte() {
377
396
  return this.readUint8();
378
- case 2:
379
- case 16:
397
+ }
398
+ },
399
+ {
400
+ key: "readThrough",
401
+ value: function readThrough(end) {
402
+ // readUntil 不包含 end
403
+ var idx = this.bytes.indexOf(end, this.position);
404
+ if (idx === -1) {
405
+ throw new Error("Byte ".concat(end, " not found starting from position ").concat(this.position));
406
+ }
407
+ var bytes = this.buffer.slice(this.position, idx + 1);
408
+ this.position = idx + 1;
409
+ return bytes;
410
+ }
411
+ },
412
+ {
413
+ key: "readInt16",
414
+ value: function readInt16() {
415
+ var value = this.view.getInt16(this.position, this.littleEndian);
416
+ this.position += 2;
417
+ return value;
418
+ }
419
+ },
420
+ {
421
+ key: "readUint16",
422
+ value: function readUint16() {
423
+ var value = this.view.getUint16(this.position, this.littleEndian);
424
+ this.position += 2;
425
+ return value;
426
+ }
427
+ },
428
+ {
429
+ key: "readInt32",
430
+ value: function readInt32() {
431
+ var value = this.view.getInt32(this.position, this.littleEndian);
432
+ this.position += 4;
433
+ return value;
434
+ }
435
+ },
436
+ {
437
+ key: "readUint32",
438
+ value: function readUint32() {
439
+ var value = this.view.getUint32(this.position, this.littleEndian);
440
+ this.position += 4;
441
+ return value;
442
+ }
443
+ },
444
+ {
445
+ key: "readInt64",
446
+ value: function readInt64() {
447
+ var value = this.view.getBigInt64(this.position, this.littleEndian);
448
+ this.position += 8;
449
+ return safeNumber(value);
450
+ }
451
+ },
452
+ {
453
+ key: "readUint64",
454
+ value: function readUint64() {
455
+ var value = this.view.getBigUint64(this.position, this.littleEndian);
456
+ this.position += 8;
457
+ return safeNumber(value);
458
+ }
459
+ },
460
+ {
461
+ key: "readFloat32",
462
+ value: function readFloat32() {
463
+ var value = this.view.getFloat32(this.position, this.littleEndian);
464
+ this.position += 4;
465
+ return value;
466
+ }
467
+ },
468
+ {
469
+ key: "readFloat64",
470
+ value: function readFloat64() {
471
+ var value = this.view.getFloat64(this.position, this.littleEndian);
472
+ this.position += 8;
473
+ return value;
474
+ }
475
+ },
476
+ {
477
+ key: "readBoolean",
478
+ value: function readBoolean() {
479
+ // or !== 0?
480
+ return this.readByte() === 1;
481
+ }
482
+ },
483
+ {
484
+ key: "readString",
485
+ value: function readString(length) {
486
+ var bytes = this.readBytes(length);
487
+ var a = new Uint8Array(bytes);
488
+ var idx = a.indexOf(0);
489
+ if (idx !== -1) {
490
+ bytes = bytes.slice(0, idx);
491
+ }
492
+ return this.decodeText(bytes);
493
+ }
494
+ },
495
+ {
496
+ key: "readHexString",
497
+ value: function readHexString(length) {
498
+ var bytes = this.readBytes(length);
499
+ return ArrayBuffers.toHex(bytes);
500
+ }
501
+ },
502
+ {
503
+ key: "writeHexString",
504
+ value: function writeHexString(value, len) {
505
+ this.writeBytes(ArrayBuffers.fromHex(value), len);
506
+ }
507
+ },
508
+ {
509
+ key: "writeInt24",
510
+ value: function writeInt24(value) {
511
+ // fixme byte order
512
+ this.writeUint8(value & 255);
513
+ this.writeUint16(value >> 8);
514
+ }
515
+ },
516
+ {
517
+ key: "readInt24",
518
+ value: function readInt24() {
519
+ // fixme recheck
520
+ var value = this.readUint24();
521
+ if (value & 8388608) {
522
+ // If the sign bit is set, extend the sign
523
+ value |= 4278190080;
524
+ }
525
+ return value;
526
+ }
527
+ },
528
+ {
529
+ key: "readUint24",
530
+ value: function readUint24() {
531
+ // fixme recheck
532
+ return this.readUint8() | this.readUint8() << 8 | this.readUint8() << 16;
533
+ }
534
+ },
535
+ {
536
+ key: "writeZero",
537
+ value: function writeZero(length) {
538
+ this.willWrite(length);
539
+ this.bytes.fill(0, this.position, this.position + length);
540
+ this.position += length;
541
+ }
542
+ },
543
+ {
544
+ key: "writeValue",
545
+ value: function writeValue(a, b) {
546
+ var tv = typeof a === "string" ? {
547
+ type: a,
548
+ value: b
549
+ } : a;
550
+ var type = tv.type, value = tv.value, length = tv.length;
551
+ switch (type) {
552
+ case "uint8":
553
+ this.writeUint8(value);
554
+ break;
555
+ case "byte":
556
+ case "int8":
557
+ this.writeInt8(value);
558
+ break;
559
+ case "uint16":
560
+ this.writeUint16(value);
561
+ break;
562
+ case "int16":
563
+ this.writeInt16(value);
564
+ break;
565
+ case "uint24":
566
+ this.writeUint24(value);
567
+ break;
568
+ case "int24":
569
+ this.writeInt24(value);
570
+ break;
571
+ case "uint32":
572
+ case "uint":
573
+ this.writeUint32(value);
574
+ break;
575
+ case "int32":
576
+ case "int":
577
+ this.writeInt32(value);
578
+ break;
579
+ case "float32":
580
+ case "float":
581
+ this.writeFloat32(value);
582
+ break;
583
+ case "float64":
584
+ case "double":
585
+ this.writeFloat64(value);
586
+ break;
587
+ case "string":
588
+ this.writeString(value, length);
589
+ break;
590
+ case "boolean":
591
+ this.writeBoolean(value);
592
+ break;
593
+ case "bytes":
594
+ this.writeBytes(value);
595
+ break;
596
+ default:
597
+ throw new Error("Unknown type ".concat(type));
598
+ }
599
+ }
600
+ },
601
+ {
602
+ key: "readUnsignedShort",
603
+ value: function readUnsignedShort() {
380
604
  return this.readUint16();
381
- case 3:
382
- case 24:
383
- return this.readUint24();
384
- case 4:
385
- case 32:
386
- return this.readUint32();
387
- // skip 8 byte for bits
388
- case 64:
389
- return this.readUint64();
390
- default:
391
- throw new Error(`Unexpected int size: ${bytesOrBits}`);
392
- }
393
- }
394
- writeUint(value, bytesOrBits = 32) {
395
- switch(bytesOrBits){
396
- case 1:
397
- case 8:
398
- this.writeUint8(value);
399
- break;
400
- case 2:
401
- case 16:
402
- this.writeUint16(value);
403
- break;
404
- case 3:
405
- case 24:
406
- this.writeUint24(value);
407
- break;
408
- case 4:
409
- case 32:
410
- this.writeUint32(value);
411
- break;
412
- case 64:
413
- this.writeUint64(value);
414
- break;
415
- default:
416
- throw new Error(`Unexpected uint size: ${bytesOrBits}`);
417
- }
418
- }
419
- readFloat(n = 32) {
420
- switch(n){
421
- case 4:
422
- case 32:
423
- return this.readFloat32();
424
- case 8:
425
- case 64:
605
+ }
606
+ },
607
+ {
608
+ key: "readShort",
609
+ value: function readShort() {
610
+ return this.readInt16();
611
+ }
612
+ },
613
+ {
614
+ key: "readInt",
615
+ value: function readInt() {
616
+ var bytesOrBits = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 32;
617
+ switch (bytesOrBits) {
618
+ case 1:
619
+ case 8:
620
+ return this.readInt8();
621
+ case 2:
622
+ case 16:
623
+ return this.readInt16();
624
+ case 3:
625
+ case 24:
626
+ return this.readInt24();
627
+ case 4:
628
+ case 32:
629
+ return this.readInt32();
630
+ // skip 8 byte for bits
631
+ case 64:
632
+ return this.readInt64();
633
+ default:
634
+ throw new Error("Unknown int".concat(bytesOrBits));
635
+ }
636
+ }
637
+ },
638
+ {
639
+ key: "readUint",
640
+ value: function readUint() {
641
+ var bytesOrBits = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 32;
642
+ switch (bytesOrBits) {
643
+ case 1:
644
+ case 8:
645
+ return this.readUint8();
646
+ case 2:
647
+ case 16:
648
+ return this.readUint16();
649
+ case 3:
650
+ case 24:
651
+ return this.readUint24();
652
+ case 4:
653
+ case 32:
654
+ return this.readUint32();
655
+ // skip 8 byte for bits
656
+ case 64:
657
+ return this.readUint64();
658
+ default:
659
+ throw new Error("Unexpected int size: ".concat(bytesOrBits));
660
+ }
661
+ }
662
+ },
663
+ {
664
+ key: "writeUint",
665
+ value: function writeUint(value) {
666
+ var bytesOrBits = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 32;
667
+ switch (bytesOrBits) {
668
+ case 1:
669
+ case 8:
670
+ this.writeUint8(value);
671
+ break;
672
+ case 2:
673
+ case 16:
674
+ this.writeUint16(value);
675
+ break;
676
+ case 3:
677
+ case 24:
678
+ this.writeUint24(value);
679
+ break;
680
+ case 4:
681
+ case 32:
682
+ this.writeUint32(value);
683
+ break;
684
+ case 64:
685
+ this.writeUint64(value);
686
+ break;
687
+ default:
688
+ throw new Error("Unexpected uint size: ".concat(bytesOrBits));
689
+ }
690
+ }
691
+ },
692
+ {
693
+ key: "readFloat",
694
+ value: function readFloat() {
695
+ var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 32;
696
+ switch (n) {
697
+ case 4:
698
+ case 32:
699
+ return this.readFloat32();
700
+ case 8:
701
+ case 64:
702
+ return this.readFloat64();
703
+ default:
704
+ throw new Error("Unexpected float size: ".concat(n));
705
+ }
706
+ }
707
+ },
708
+ {
709
+ key: "writeFloat",
710
+ value: function writeFloat(value) {
711
+ var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 32;
712
+ switch (n) {
713
+ case 4:
714
+ case 32:
715
+ this.writeFloat32(value);
716
+ break;
717
+ case 8:
718
+ case 64:
719
+ this.writeFloat64(value);
720
+ break;
721
+ default:
722
+ throw new Error("Unexpected float size: ".concat(n));
723
+ }
724
+ }
725
+ },
726
+ {
727
+ key: "readDouble",
728
+ value: function readDouble() {
426
729
  return this.readFloat64();
427
- default:
428
- throw new Error(`Unexpected float size: ${n}`);
429
- }
430
- }
431
- writeFloat(value, n = 32) {
432
- switch(n){
433
- case 4:
434
- case 32:
435
- this.writeFloat32(value);
436
- break;
437
- case 8:
438
- case 64:
730
+ }
731
+ },
732
+ {
733
+ key: "writeDouble",
734
+ value: function writeDouble(value) {
439
735
  this.writeFloat64(value);
440
- break;
441
- default:
442
- throw new Error(`Unexpected float size: ${n}`);
736
+ }
737
+ },
738
+ {
739
+ key: "remaining",
740
+ value: function remaining() {
741
+ return this.length - this.position;
742
+ }
743
+ },
744
+ {
745
+ key: "hasRemaining",
746
+ value: function hasRemaining() {
747
+ return this.remaining() > 0;
748
+ }
749
+ },
750
+ {
751
+ key: "readRemaining",
752
+ value: function readRemaining() {
753
+ return this.readBytes(this.remaining());
754
+ }
755
+ },
756
+ {
757
+ key: "toUint8Array",
758
+ value: function toUint8Array() {
759
+ return new Uint8Array(this.buffer);
760
+ }
761
+ },
762
+ {
763
+ key: "toHex",
764
+ value: function toHex() {
765
+ return ArrayBuffers.toHex(this.buffer);
766
+ }
767
+ },
768
+ {
769
+ key: "toBase64",
770
+ value: function toBase64() {
771
+ return ArrayBuffers.toBase64(this.buffer);
772
+ }
773
+ },
774
+ {
775
+ key: "willWrite",
776
+ value: function willWrite(length) {
777
+ if (this.remaining() < length) {
778
+ this.resize(this.position + length);
779
+ }
780
+ }
443
781
  }
444
- }
445
- readDouble() {
446
- return this.readFloat64();
447
- }
448
- writeDouble(value) {
449
- this.writeFloat64(value);
450
- }
451
- remaining() {
452
- return this.length - this.position;
453
- }
454
- hasRemaining() {
455
- return this.remaining() > 0;
456
- }
457
- readRemaining() {
458
- return this.readBytes(this.remaining());
459
- }
460
- toUint8Array() {
461
- return new Uint8Array(this.buffer);
462
- }
463
- toHex() {
464
- return ArrayBuffers.toHex(this.buffer);
465
- }
466
- toBase64() {
467
- return ArrayBuffers.toBase64(this.buffer);
468
- }
469
- willWrite(length) {
470
- if (this.remaining() < length) {
471
- this.resize(this.position + length);
472
- }
473
- }
474
- }
782
+ ]);
783
+ return ByteBuffer;
784
+ }();
475
785
  function safeNumber(n) {
476
786
  if (n > Number.MAX_SAFE_INTEGER) {
477
787
  return n;
@@ -479,16 +789,17 @@ function safeNumber(n) {
479
789
  return Number(n);
480
790
  }
481
791
  function bigintOf(n) {
482
- if (typeof n === 'bigint') {
792
+ if ((typeof n === "undefined" ? "undefined" : _type_of(n)) === "bigint") {
483
793
  return n;
484
794
  }
485
795
  return BigInt(n);
486
796
  }
487
797
  function requireNumber(n) {
488
- if (typeof n !== 'number') {
489
- throw new Error(`Expected number, got ${n}`);
798
+ if (typeof n !== "number") {
799
+ throw new Error("Expected number, got ".concat(n));
490
800
  }
491
801
  return n;
492
802
  }
493
-
494
- //# sourceMappingURL=ByteBuffer.js.map
803
+ function getByteLength(i) {
804
+ return "byteLength" in i ? i.byteLength : i.length;
805
+ }