@schema-pack/message-pack 0.0.0-commit.03ddd0427843dd0e1b45dcd0325ecf52097255a4

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 (336) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/dist/cjs/benchmark/decoderDataTypesFactory.cjs +37 -0
  4. package/dist/cjs/benchmark/decoderDataTypesFactory.d.cts +5 -0
  5. package/dist/cjs/benchmark/decoderDataTypesFactory.d.cts.map +1 -0
  6. package/dist/cjs/bigInt-BdjzezQQ.d.cts +35 -0
  7. package/dist/cjs/bigInt-BdjzezQQ.d.cts.map +1 -0
  8. package/dist/cjs/bufferWithExtensions-n6DtcUoA.d.cts +12 -0
  9. package/dist/cjs/bufferWithExtensions-n6DtcUoA.d.cts.map +1 -0
  10. package/dist/cjs/bufferWithExtensions.cjs +28 -0
  11. package/dist/cjs/bufferWithExtensions.d.cts +2 -0
  12. package/dist/cjs/constants.cjs +36 -0
  13. package/dist/cjs/constants.d.cts +32 -0
  14. package/dist/cjs/constants.d.cts.map +1 -0
  15. package/dist/cjs/decode-BraWmoPw.d.cts +5 -0
  16. package/dist/cjs/decode-BraWmoPw.d.cts.map +1 -0
  17. package/dist/cjs/decoder/decode.cjs +8 -0
  18. package/dist/cjs/decoder/decode.d.cts +2 -0
  19. package/dist/cjs/decoder/decoder.cjs +30 -0
  20. package/dist/cjs/decoder/decoder.d.cts +2 -0
  21. package/dist/cjs/decoder/decoderBuffer.cjs +238 -0
  22. package/dist/cjs/decoder/decoderBuffer.d.cts +2 -0
  23. package/dist/cjs/decoder/index.cjs +11 -0
  24. package/dist/cjs/decoder/index.d.cts +8 -0
  25. package/dist/cjs/decoder/interfaces/index.cjs +0 -0
  26. package/dist/cjs/decoder/interfaces/index.d.cts +4 -0
  27. package/dist/cjs/decoder/interfaces/messagePackDecoderBuffer.cjs +0 -0
  28. package/dist/cjs/decoder/interfaces/messagePackDecoderBuffer.d.cts +2 -0
  29. package/dist/cjs/decoder/interfaces/messagePackTextDecoder.cjs +0 -0
  30. package/dist/cjs/decoder/interfaces/messagePackTextDecoder.d.cts +2 -0
  31. package/dist/cjs/decoder/textDecoders/defaultTextDecoder.cjs +12 -0
  32. package/dist/cjs/decoder/textDecoders/defaultTextDecoder.d.cts +2 -0
  33. package/dist/cjs/decoder/textDecoders/index.cjs +5 -0
  34. package/dist/cjs/decoder/textDecoders/index.d.cts +4 -0
  35. package/dist/cjs/decoder/textDecoders/nodeTextDecoder.cjs +8 -0
  36. package/dist/cjs/decoder/textDecoders/nodeTextDecoder.d.cts +2 -0
  37. package/dist/cjs/decoder/types.cjs +0 -0
  38. package/dist/cjs/decoder/types.d.cts +2 -0
  39. package/dist/cjs/decoder-3WpVBZjY.d.cts +15 -0
  40. package/dist/cjs/decoder-3WpVBZjY.d.cts.map +1 -0
  41. package/dist/cjs/decoderBuffer-CJU2hdt2.d.cts +22 -0
  42. package/dist/cjs/decoderBuffer-CJU2hdt2.d.cts.map +1 -0
  43. package/dist/cjs/defaultNewBufferFn.cjs +6 -0
  44. package/dist/cjs/defaultNewBufferFn.d.cts +4 -0
  45. package/dist/cjs/defaultNewBufferFn.d.cts.map +1 -0
  46. package/dist/cjs/defaultTextDecoder-DY92jDSO.d.cts +10 -0
  47. package/dist/cjs/defaultTextDecoder-DY92jDSO.d.cts.map +1 -0
  48. package/dist/cjs/defaultTextEncoder-DzdGBX6s.d.cts +14 -0
  49. package/dist/cjs/defaultTextEncoder-DzdGBX6s.d.cts.map +1 -0
  50. package/dist/cjs/encode-4SxHVw0M.d.cts +5 -0
  51. package/dist/cjs/encode-4SxHVw0M.d.cts.map +1 -0
  52. package/dist/cjs/encoder/encode.cjs +8 -0
  53. package/dist/cjs/encoder/encode.d.cts +2 -0
  54. package/dist/cjs/encoder/encoder.cjs +41 -0
  55. package/dist/cjs/encoder/encoder.d.cts +2 -0
  56. package/dist/cjs/encoder/encoderBuffer.cjs +608 -0
  57. package/dist/cjs/encoder/encoderBuffer.d.cts +2 -0
  58. package/dist/cjs/encoder/index.cjs +11 -0
  59. package/dist/cjs/encoder/index.d.cts +8 -0
  60. package/dist/cjs/encoder/interfaces/index.cjs +0 -0
  61. package/dist/cjs/encoder/interfaces/index.d.cts +4 -0
  62. package/dist/cjs/encoder/interfaces/messagePackEncoderBuffer.cjs +0 -0
  63. package/dist/cjs/encoder/interfaces/messagePackEncoderBuffer.d.cts +2 -0
  64. package/dist/cjs/encoder/interfaces/messagePackTextEncoder.cjs +0 -0
  65. package/dist/cjs/encoder/interfaces/messagePackTextEncoder.d.cts +2 -0
  66. package/dist/cjs/encoder/textEncoders/defaultTextEncoder.cjs +14 -0
  67. package/dist/cjs/encoder/textEncoders/defaultTextEncoder.d.cts +2 -0
  68. package/dist/cjs/encoder/textEncoders/index.cjs +5 -0
  69. package/dist/cjs/encoder/textEncoders/index.d.cts +4 -0
  70. package/dist/cjs/encoder/textEncoders/nodeTextEncoder.cjs +8 -0
  71. package/dist/cjs/encoder/textEncoders/nodeTextEncoder.d.cts +2 -0
  72. package/dist/cjs/encoder/types.cjs +0 -0
  73. package/dist/cjs/encoder/types.d.cts +2 -0
  74. package/dist/cjs/encoder-B-rTvI4P.d.cts +23 -0
  75. package/dist/cjs/encoder-B-rTvI4P.d.cts.map +1 -0
  76. package/dist/cjs/encoderBuffer-3ur0iCYR.d.cts +111 -0
  77. package/dist/cjs/encoderBuffer-3ur0iCYR.d.cts.map +1 -0
  78. package/dist/cjs/extensions/bigint/bigInt.cjs +54 -0
  79. package/dist/cjs/extensions/bigint/bigInt.d.cts +2 -0
  80. package/dist/cjs/extensions/bigint/index.cjs +2 -0
  81. package/dist/cjs/extensions/bigint/index.d.cts +3 -0
  82. package/dist/cjs/extensions/index.cjs +3 -0
  83. package/dist/cjs/extensions/index.d.cts +4 -0
  84. package/dist/cjs/extensions/interfaces/index.cjs +0 -0
  85. package/dist/cjs/extensions/interfaces/index.d.cts +3 -0
  86. package/dist/cjs/extensions/interfaces/messagePackExtension.cjs +0 -0
  87. package/dist/cjs/extensions/interfaces/messagePackExtension.d.cts +2 -0
  88. package/dist/cjs/extensions/timestampDate/index.cjs +3 -0
  89. package/dist/cjs/extensions/timestampDate/index.d.cts +4 -0
  90. package/dist/cjs/extensions/timestampDate/timestampDate.cjs +79 -0
  91. package/dist/cjs/extensions/timestampDate/timestampDate.d.cts +2 -0
  92. package/dist/cjs/extensions/timestampDate/types.cjs +0 -0
  93. package/dist/cjs/extensions/timestampDate/types.d.cts +2 -0
  94. package/dist/cjs/fitIn16Bits-D9lga-sP.d.cts +5 -0
  95. package/dist/cjs/fitIn16Bits-D9lga-sP.d.cts.map +1 -0
  96. package/dist/cjs/fitIn32Bits-BrGIMOff.d.cts +5 -0
  97. package/dist/cjs/fitIn32Bits-BrGIMOff.d.cts.map +1 -0
  98. package/dist/cjs/fitIn7Bits-BVHyKXCg.d.cts +5 -0
  99. package/dist/cjs/fitIn7Bits-BVHyKXCg.d.cts.map +1 -0
  100. package/dist/cjs/fitIn8Bits-DQnQIhdh.d.cts +5 -0
  101. package/dist/cjs/fitIn8Bits-DQnQIhdh.d.cts.map +1 -0
  102. package/dist/cjs/fitInt64Bits-CY7lVKne.d.cts +5 -0
  103. package/dist/cjs/fitInt64Bits-CY7lVKne.d.cts.map +1 -0
  104. package/dist/cjs/index-5OuLsWCC.d.cts +1 -0
  105. package/dist/cjs/index-B5vbV8Ak.d.cts +1 -0
  106. package/dist/cjs/index-CQnkyOId.d.cts +1 -0
  107. package/dist/cjs/index-CUX405iZ.d.cts +1 -0
  108. package/dist/cjs/index-CaxrMD1A.d.cts +1 -0
  109. package/dist/cjs/index-DMnXy2Rv.d.cts +1 -0
  110. package/dist/cjs/index-DeSJDZGk.d.cts +1 -0
  111. package/dist/cjs/index.cjs +51 -0
  112. package/dist/cjs/index.d.cts +27 -0
  113. package/dist/cjs/interfaces/index.cjs +0 -0
  114. package/dist/cjs/interfaces/index.d.cts +2 -0
  115. package/dist/cjs/interfaces/messagePackBufferWithExtensions.cjs +0 -0
  116. package/dist/cjs/interfaces/messagePackBufferWithExtensions.d.cts +2 -0
  117. package/dist/cjs/messagePackDecoderBuffer-B2rRVlMX.d.cts +12 -0
  118. package/dist/cjs/messagePackDecoderBuffer-B2rRVlMX.d.cts.map +1 -0
  119. package/dist/cjs/messagePackExtension-Cd99Rw9t.d.cts +972 -0
  120. package/dist/cjs/messagePackExtension-Cd99Rw9t.d.cts.map +1 -0
  121. package/dist/cjs/messagePackTextDecoder-J3fr-wQn.d.cts +7 -0
  122. package/dist/cjs/messagePackTextDecoder-J3fr-wQn.d.cts.map +1 -0
  123. package/dist/cjs/messagePackTextEncoder-D7iCft_t.d.cts +16 -0
  124. package/dist/cjs/messagePackTextEncoder-D7iCft_t.d.cts.map +1 -0
  125. package/dist/cjs/nodeTextDecoder-DrNFdTVk.d.cts +9 -0
  126. package/dist/cjs/nodeTextDecoder-DrNFdTVk.d.cts.map +1 -0
  127. package/dist/cjs/nodeTextEncoder-DJzFDBXd.d.cts +8 -0
  128. package/dist/cjs/nodeTextEncoder-DJzFDBXd.d.cts.map +1 -0
  129. package/dist/cjs/symbols.cjs +47 -0
  130. package/dist/cjs/symbols.d.cts +47 -0
  131. package/dist/cjs/symbols.d.cts.map +1 -0
  132. package/dist/cjs/timestampDate-Bi1rnvVd.d.cts +33 -0
  133. package/dist/cjs/timestampDate-Bi1rnvVd.d.cts.map +1 -0
  134. package/dist/cjs/types-B9KMW-kD.d.cts +8 -0
  135. package/dist/cjs/types-B9KMW-kD.d.cts.map +1 -0
  136. package/dist/cjs/types-CC2wkzZa.d.cts +9 -0
  137. package/dist/cjs/types-CC2wkzZa.d.cts.map +1 -0
  138. package/dist/cjs/types-DTcs4Mkd.d.cts +20 -0
  139. package/dist/cjs/types-DTcs4Mkd.d.cts.map +1 -0
  140. package/dist/cjs/types.cjs +0 -0
  141. package/dist/cjs/types.d.cts +2 -0
  142. package/dist/cjs/untypedExtension-wx6-_4mg.d.cts +16 -0
  143. package/dist/cjs/untypedExtension-wx6-_4mg.d.cts.map +1 -0
  144. package/dist/cjs/untypedExtension.cjs +13 -0
  145. package/dist/cjs/untypedExtension.d.cts +2 -0
  146. package/dist/cjs/utils/fitIn16Bits.cjs +6 -0
  147. package/dist/cjs/utils/fitIn16Bits.d.cts +2 -0
  148. package/dist/cjs/utils/fitIn32Bits.cjs +6 -0
  149. package/dist/cjs/utils/fitIn32Bits.d.cts +2 -0
  150. package/dist/cjs/utils/fitIn7Bits.cjs +6 -0
  151. package/dist/cjs/utils/fitIn7Bits.d.cts +2 -0
  152. package/dist/cjs/utils/fitIn8Bits.cjs +6 -0
  153. package/dist/cjs/utils/fitIn8Bits.d.cts +2 -0
  154. package/dist/cjs/utils/fitInt64Bits.cjs +6 -0
  155. package/dist/cjs/utils/fitInt64Bits.d.cts +2 -0
  156. package/dist/cjs/utils/index.cjs +11 -0
  157. package/dist/cjs/utils/index.d.cts +6 -0
  158. package/dist/esm/benchmark/decoderDataTypesFactory.d.mts +6 -0
  159. package/dist/esm/benchmark/decoderDataTypesFactory.d.mts.map +1 -0
  160. package/dist/esm/benchmark/decoderDataTypesFactory.mjs +39 -0
  161. package/dist/esm/benchmark/decoderDataTypesFactory.mjs.map +1 -0
  162. package/dist/esm/bigInt-D37SPzzB.d.mts +35 -0
  163. package/dist/esm/bigInt-D37SPzzB.d.mts.map +1 -0
  164. package/dist/esm/bufferWithExtensions-DzAs7yX1.d.mts +12 -0
  165. package/dist/esm/bufferWithExtensions-DzAs7yX1.d.mts.map +1 -0
  166. package/dist/esm/bufferWithExtensions.d.mts +2 -0
  167. package/dist/esm/bufferWithExtensions.mjs +30 -0
  168. package/dist/esm/bufferWithExtensions.mjs.map +1 -0
  169. package/dist/esm/constants.d.mts +32 -0
  170. package/dist/esm/constants.d.mts.map +1 -0
  171. package/dist/esm/constants.mjs +33 -0
  172. package/dist/esm/constants.mjs.map +1 -0
  173. package/dist/esm/decode-BraWmoPw.d.mts +5 -0
  174. package/dist/esm/decode-BraWmoPw.d.mts.map +1 -0
  175. package/dist/esm/decoder/decode.d.mts +2 -0
  176. package/dist/esm/decoder/decode.mjs +11 -0
  177. package/dist/esm/decoder/decode.mjs.map +1 -0
  178. package/dist/esm/decoder/decoder.d.mts +2 -0
  179. package/dist/esm/decoder/decoder.mjs +32 -0
  180. package/dist/esm/decoder/decoder.mjs.map +1 -0
  181. package/dist/esm/decoder/decoderBuffer.d.mts +2 -0
  182. package/dist/esm/decoder/decoderBuffer.mjs +240 -0
  183. package/dist/esm/decoder/decoderBuffer.mjs.map +1 -0
  184. package/dist/esm/decoder/index.d.mts +8 -0
  185. package/dist/esm/decoder/index.mjs +6 -0
  186. package/dist/esm/decoder/interfaces/index.d.mts +4 -0
  187. package/dist/esm/decoder/interfaces/index.mjs +1 -0
  188. package/dist/esm/decoder/interfaces/messagePackDecoderBuffer.d.mts +2 -0
  189. package/dist/esm/decoder/interfaces/messagePackDecoderBuffer.mjs +1 -0
  190. package/dist/esm/decoder/interfaces/messagePackTextDecoder.d.mts +2 -0
  191. package/dist/esm/decoder/interfaces/messagePackTextDecoder.mjs +1 -0
  192. package/dist/esm/decoder/textDecoders/defaultTextDecoder.d.mts +2 -0
  193. package/dist/esm/decoder/textDecoders/defaultTextDecoder.mjs +14 -0
  194. package/dist/esm/decoder/textDecoders/defaultTextDecoder.mjs.map +1 -0
  195. package/dist/esm/decoder/textDecoders/index.d.mts +4 -0
  196. package/dist/esm/decoder/textDecoders/index.mjs +3 -0
  197. package/dist/esm/decoder/textDecoders/nodeTextDecoder.d.mts +2 -0
  198. package/dist/esm/decoder/textDecoders/nodeTextDecoder.mjs +10 -0
  199. package/dist/esm/decoder/textDecoders/nodeTextDecoder.mjs.map +1 -0
  200. package/dist/esm/decoder/types.d.mts +2 -0
  201. package/dist/esm/decoder/types.mjs +1 -0
  202. package/dist/esm/decoder-ByAWOgvm.d.mts +15 -0
  203. package/dist/esm/decoder-ByAWOgvm.d.mts.map +1 -0
  204. package/dist/esm/decoderBuffer-93dMcsbx.d.mts +22 -0
  205. package/dist/esm/decoderBuffer-93dMcsbx.d.mts.map +1 -0
  206. package/dist/esm/defaultNewBufferFn.d.mts +5 -0
  207. package/dist/esm/defaultNewBufferFn.d.mts.map +1 -0
  208. package/dist/esm/defaultNewBufferFn.mjs +8 -0
  209. package/dist/esm/defaultNewBufferFn.mjs.map +1 -0
  210. package/dist/esm/defaultTextDecoder-DztyzoBV.d.mts +10 -0
  211. package/dist/esm/defaultTextDecoder-DztyzoBV.d.mts.map +1 -0
  212. package/dist/esm/defaultTextEncoder-BkIjtDkg.d.mts +14 -0
  213. package/dist/esm/defaultTextEncoder-BkIjtDkg.d.mts.map +1 -0
  214. package/dist/esm/encode-4SxHVw0M.d.mts +5 -0
  215. package/dist/esm/encode-4SxHVw0M.d.mts.map +1 -0
  216. package/dist/esm/encoder/encode.d.mts +2 -0
  217. package/dist/esm/encoder/encode.mjs +11 -0
  218. package/dist/esm/encoder/encode.mjs.map +1 -0
  219. package/dist/esm/encoder/encoder.d.mts +2 -0
  220. package/dist/esm/encoder/encoder.mjs +43 -0
  221. package/dist/esm/encoder/encoder.mjs.map +1 -0
  222. package/dist/esm/encoder/encoderBuffer.d.mts +2 -0
  223. package/dist/esm/encoder/encoderBuffer.mjs +610 -0
  224. package/dist/esm/encoder/encoderBuffer.mjs.map +1 -0
  225. package/dist/esm/encoder/index.d.mts +8 -0
  226. package/dist/esm/encoder/index.mjs +6 -0
  227. package/dist/esm/encoder/interfaces/index.d.mts +4 -0
  228. package/dist/esm/encoder/interfaces/index.mjs +1 -0
  229. package/dist/esm/encoder/interfaces/messagePackEncoderBuffer.d.mts +2 -0
  230. package/dist/esm/encoder/interfaces/messagePackEncoderBuffer.mjs +1 -0
  231. package/dist/esm/encoder/interfaces/messagePackTextEncoder.d.mts +2 -0
  232. package/dist/esm/encoder/interfaces/messagePackTextEncoder.mjs +1 -0
  233. package/dist/esm/encoder/textEncoders/defaultTextEncoder.d.mts +2 -0
  234. package/dist/esm/encoder/textEncoders/defaultTextEncoder.mjs +16 -0
  235. package/dist/esm/encoder/textEncoders/defaultTextEncoder.mjs.map +1 -0
  236. package/dist/esm/encoder/textEncoders/index.d.mts +4 -0
  237. package/dist/esm/encoder/textEncoders/index.mjs +3 -0
  238. package/dist/esm/encoder/textEncoders/nodeTextEncoder.d.mts +2 -0
  239. package/dist/esm/encoder/textEncoders/nodeTextEncoder.mjs +10 -0
  240. package/dist/esm/encoder/textEncoders/nodeTextEncoder.mjs.map +1 -0
  241. package/dist/esm/encoder/types.d.mts +2 -0
  242. package/dist/esm/encoder/types.mjs +1 -0
  243. package/dist/esm/encoder-PfSLnKnK.d.mts +23 -0
  244. package/dist/esm/encoder-PfSLnKnK.d.mts.map +1 -0
  245. package/dist/esm/encoderBuffer-BZMIF5I2.d.mts +111 -0
  246. package/dist/esm/encoderBuffer-BZMIF5I2.d.mts.map +1 -0
  247. package/dist/esm/extensions/bigint/bigInt.d.mts +2 -0
  248. package/dist/esm/extensions/bigint/bigInt.mjs +56 -0
  249. package/dist/esm/extensions/bigint/bigInt.mjs.map +1 -0
  250. package/dist/esm/extensions/bigint/index.d.mts +3 -0
  251. package/dist/esm/extensions/bigint/index.mjs +2 -0
  252. package/dist/esm/extensions/index.d.mts +4 -0
  253. package/dist/esm/extensions/index.mjs +2 -0
  254. package/dist/esm/extensions/interfaces/index.d.mts +3 -0
  255. package/dist/esm/extensions/interfaces/index.mjs +1 -0
  256. package/dist/esm/extensions/interfaces/messagePackExtension.d.mts +2 -0
  257. package/dist/esm/extensions/interfaces/messagePackExtension.mjs +1 -0
  258. package/dist/esm/extensions/timestampDate/index.d.mts +4 -0
  259. package/dist/esm/extensions/timestampDate/index.mjs +2 -0
  260. package/dist/esm/extensions/timestampDate/timestampDate.d.mts +2 -0
  261. package/dist/esm/extensions/timestampDate/timestampDate.mjs +81 -0
  262. package/dist/esm/extensions/timestampDate/timestampDate.mjs.map +1 -0
  263. package/dist/esm/extensions/timestampDate/types.d.mts +2 -0
  264. package/dist/esm/extensions/timestampDate/types.mjs +1 -0
  265. package/dist/esm/fitIn16Bits-D9lga-sP.d.mts +5 -0
  266. package/dist/esm/fitIn16Bits-D9lga-sP.d.mts.map +1 -0
  267. package/dist/esm/fitIn32Bits-BrGIMOff.d.mts +5 -0
  268. package/dist/esm/fitIn32Bits-BrGIMOff.d.mts.map +1 -0
  269. package/dist/esm/fitIn7Bits-BVHyKXCg.d.mts +5 -0
  270. package/dist/esm/fitIn7Bits-BVHyKXCg.d.mts.map +1 -0
  271. package/dist/esm/fitIn8Bits-DQnQIhdh.d.mts +5 -0
  272. package/dist/esm/fitIn8Bits-DQnQIhdh.d.mts.map +1 -0
  273. package/dist/esm/fitInt64Bits-CY7lVKne.d.mts +5 -0
  274. package/dist/esm/fitInt64Bits-CY7lVKne.d.mts.map +1 -0
  275. package/dist/esm/index-5OuLsWCC.d.mts +1 -0
  276. package/dist/esm/index-B5vbV8Ak.d.mts +1 -0
  277. package/dist/esm/index-CQnkyOId.d.mts +1 -0
  278. package/dist/esm/index-CUX405iZ.d.mts +1 -0
  279. package/dist/esm/index-CaxrMD1A.d.mts +1 -0
  280. package/dist/esm/index-DMnXy2Rv.d.mts +1 -0
  281. package/dist/esm/index-DeSJDZGk.d.mts +1 -0
  282. package/dist/esm/index.d.mts +27 -0
  283. package/dist/esm/index.mjs +26 -0
  284. package/dist/esm/interfaces/index.d.mts +2 -0
  285. package/dist/esm/interfaces/index.mjs +1 -0
  286. package/dist/esm/interfaces/messagePackBufferWithExtensions.d.mts +2 -0
  287. package/dist/esm/interfaces/messagePackBufferWithExtensions.mjs +1 -0
  288. package/dist/esm/messagePackDecoderBuffer-Cqvg0zW7.d.mts +12 -0
  289. package/dist/esm/messagePackDecoderBuffer-Cqvg0zW7.d.mts.map +1 -0
  290. package/dist/esm/messagePackExtension-fq36EMAg.d.mts +972 -0
  291. package/dist/esm/messagePackExtension-fq36EMAg.d.mts.map +1 -0
  292. package/dist/esm/messagePackTextDecoder-J3fr-wQn.d.mts +7 -0
  293. package/dist/esm/messagePackTextDecoder-J3fr-wQn.d.mts.map +1 -0
  294. package/dist/esm/messagePackTextEncoder-D7iCft_t.d.mts +16 -0
  295. package/dist/esm/messagePackTextEncoder-D7iCft_t.d.mts.map +1 -0
  296. package/dist/esm/nodeTextDecoder-Dhre7WkB.d.mts +9 -0
  297. package/dist/esm/nodeTextDecoder-Dhre7WkB.d.mts.map +1 -0
  298. package/dist/esm/nodeTextEncoder-CegSnA6z.d.mts +8 -0
  299. package/dist/esm/nodeTextEncoder-CegSnA6z.d.mts.map +1 -0
  300. package/dist/esm/symbols.d.mts +48 -0
  301. package/dist/esm/symbols.d.mts.map +1 -0
  302. package/dist/esm/symbols.mjs +49 -0
  303. package/dist/esm/symbols.mjs.map +1 -0
  304. package/dist/esm/timestampDate-C3Ch8aSB.d.mts +33 -0
  305. package/dist/esm/timestampDate-C3Ch8aSB.d.mts.map +1 -0
  306. package/dist/esm/types-B9KMW-kD.d.mts +8 -0
  307. package/dist/esm/types-B9KMW-kD.d.mts.map +1 -0
  308. package/dist/esm/types-CNR_qJsr.d.mts +9 -0
  309. package/dist/esm/types-CNR_qJsr.d.mts.map +1 -0
  310. package/dist/esm/types-DTcs4Mkd.d.mts +20 -0
  311. package/dist/esm/types-DTcs4Mkd.d.mts.map +1 -0
  312. package/dist/esm/types.d.mts +2 -0
  313. package/dist/esm/types.mjs +1 -0
  314. package/dist/esm/untypedExtension-Ckk9RwQw.d.mts +16 -0
  315. package/dist/esm/untypedExtension-Ckk9RwQw.d.mts.map +1 -0
  316. package/dist/esm/untypedExtension.d.mts +2 -0
  317. package/dist/esm/untypedExtension.mjs +15 -0
  318. package/dist/esm/untypedExtension.mjs.map +1 -0
  319. package/dist/esm/utils/fitIn16Bits.d.mts +2 -0
  320. package/dist/esm/utils/fitIn16Bits.mjs +8 -0
  321. package/dist/esm/utils/fitIn16Bits.mjs.map +1 -0
  322. package/dist/esm/utils/fitIn32Bits.d.mts +2 -0
  323. package/dist/esm/utils/fitIn32Bits.mjs +8 -0
  324. package/dist/esm/utils/fitIn32Bits.mjs.map +1 -0
  325. package/dist/esm/utils/fitIn7Bits.d.mts +2 -0
  326. package/dist/esm/utils/fitIn7Bits.mjs +8 -0
  327. package/dist/esm/utils/fitIn7Bits.mjs.map +1 -0
  328. package/dist/esm/utils/fitIn8Bits.d.mts +2 -0
  329. package/dist/esm/utils/fitIn8Bits.mjs +8 -0
  330. package/dist/esm/utils/fitIn8Bits.mjs.map +1 -0
  331. package/dist/esm/utils/fitInt64Bits.d.mts +2 -0
  332. package/dist/esm/utils/fitInt64Bits.mjs +8 -0
  333. package/dist/esm/utils/fitInt64Bits.mjs.map +1 -0
  334. package/dist/esm/utils/index.d.mts +6 -0
  335. package/dist/esm/utils/index.mjs +6 -0
  336. package/package.json +224 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoderBuffer.mjs","names":["#extensionBuffer"],"sources":["../../../src/encoder/encoderBuffer.ts"],"sourcesContent":["// oxlint-disable unicorn/prefer-code-point\nimport BufferWithExtensions from '../bufferWithExtensions.ts';\nimport {\n DEFAULT_ALLOCATION_SIZE,\n INT64_MIN,\n UINT32_MAX,\n UINT64_MAX,\n} from '../constants.ts';\nimport defaultNewBufferFn from '../defaultNewBufferFn.ts';\nimport type MessagePackExtension from '../extensions/interfaces/messagePackExtension.ts';\nimport Symbols from '../symbols.ts';\nimport type { BufferFactory } from '../types.ts';\nimport fitIn7Bits from '../utils/fitIn7Bits.ts';\nimport fitIn8Bits from '../utils/fitIn8Bits.ts';\nimport fitIn16Bits from '../utils/fitIn16Bits.ts';\nimport fitIn32Bits from '../utils/fitIn32Bits.ts';\nimport type {\n MessagePackEncoderBuffer,\n MessagePackTextEncoder,\n} from './interfaces/index.ts';\nimport DefaultTextEncoder from './textEncoders/defaultTextEncoder.ts';\nimport type { EncoderBufferOptions, ExtensionEncoderBuffer } from './types.ts';\n\nclass EncoderBuffer<TBuffer extends Uint8Array = Uint8Array>\n extends BufferWithExtensions<TBuffer>\n implements MessagePackEncoderBuffer<TBuffer>\n{\n /** The current offset in the buffer where the next write operation will occur. */\n offset: number;\n\n /**\n * Shared buffer is used to encode strings, to avoid allocating a new buffer\n * for each string. The shared buffer is resized if the string is larger than\n * the current size of the shared buffer. This helps to improve performance by\n * reducing memory allocations and garbage collection overhead.\n */\n protected sharedBuffer: TBuffer;\n\n /**\n * Determines whether the keys of a map should be sorted before encoding.\n * Sorting keys can be useful for ensuring consistent serialization of\n * objects, which is important for tasks like hashing or comparing serialized\n * data.\n */\n readonly sortKeys: boolean;\n\n /**\n * If true, forces the encoder to use 32-bit floating point representation for\n * numbers, even if they could be represented as 64-bit floats. This can be\n * useful for reducing the size of the encoded data when high precision is not\n * required. However, it may lead to loss of precision for very large or very\n * small numbers.\n */\n readonly forceFloat32: boolean;\n\n /**\n * A function that creates a new buffer of the specified size. This function\n * is used to allocate new buffers when the current buffer is not large enough\n * to accommodate the data being written. The function should return a new\n * instance of TBuffer with the specified size.\n */\n protected bufferFactory: BufferFactory<TBuffer>;\n\n readonly textEncoder: MessagePackTextEncoder<TBuffer>;\n\n buffer: TBuffer;\n view: DataView;\n\n /**\n * The extension buffer is used to encode extension types. It is a separate\n * buffer from the main buffer, and is used to encode the extension data\n * before writing it to the main buffer. This allows for efficient encoding of\n * extension types, as the extension data can be encoded in a separate buffer\n * and then written to the main buffer in a single operation.\n *\n * The extension buffer must be resized using ensureCapacity before writing to\n * it, to ensure that there is enough space for the extension data.\n */\n #extensionBuffer?: EncoderBuffer<TBuffer>;\n\n constructor(options?: Partial<EncoderBufferOptions<TBuffer>>) {\n super();\n\n this.offset = 0;\n this.textEncoder = options?.textEncoder ?? new DefaultTextEncoder();\n\n this.bufferFactory = options?.bufferFactory ?? defaultNewBufferFn<TBuffer>;\n\n this.buffer = this.bufferFactory(\n options?.initialBufferSize ?? DEFAULT_ALLOCATION_SIZE,\n );\n this.sharedBuffer = this.bufferFactory(\n options?.initialSharedBufferSize ?? DEFAULT_ALLOCATION_SIZE,\n );\n this.view = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength,\n );\n\n this.sortKeys = options?.sortKeys ?? false;\n this.forceFloat32 = options?.forceFloat32 ?? false;\n }\n\n getExtensionBuffer(): EncoderBuffer<TBuffer> {\n if (!this.#extensionBuffer) {\n this.#extensionBuffer = new EncoderBuffer<TBuffer>({\n bufferFactory: this.bufferFactory,\n initialBufferSize: this.sharedBuffer.byteLength,\n initialSharedBufferSize: 0,\n sortKeys: this.sortKeys,\n textEncoder: this.textEncoder,\n });\n }\n\n return this.#extensionBuffer;\n }\n\n resizeBuffer(newSize: number): this {\n const newBuffer = this.bufferFactory(newSize);\n\n newBuffer.set(this.buffer);\n\n this.buffer = newBuffer;\n this.view = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength,\n );\n\n return this;\n }\n\n ensureCapacity(sizeToWrite: number): this {\n const required = this.offset + sizeToWrite;\n\n if (this.buffer.byteLength < required) {\n this.resizeBuffer(required * 2);\n }\n\n return this;\n }\n\n resetBuffer(): this {\n this.offset = 0;\n\n return this;\n }\n\n flush(): TBuffer {\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion\n const buffer = this.buffer.subarray(0, this.offset) as TBuffer;\n\n this.resetBuffer();\n\n return buffer;\n }\n\n writePositiveFixInt(value: number): this {\n this.writeUint8(value);\n\n return this;\n }\n\n writeNegativeFixInt(value: number): this {\n // this.buffer[this.offset++] = NEGATIVE_FIXINT_START | (value + 32);\n this.buffer[this.offset++] = value + 0x1_00;\n\n return this;\n }\n\n writeBin(bytes: Uint8Array): this {\n this.buffer.set(bytes, this.offset);\n\n this.offset += bytes.length;\n\n return this;\n }\n\n writeFloat32(value: number): this {\n this.view.setFloat32(this.offset, value);\n this.offset += 4;\n\n return this;\n }\n\n writeFloat64(value: number): this {\n this.view.setFloat64(this.offset, value);\n this.offset += 8;\n\n return this;\n }\n\n writeUint8(value: number): this {\n this.buffer[this.offset++] = value;\n\n return this;\n }\n\n writeUint16(value: number): this {\n this.view.setUint16(this.offset, value);\n this.offset += 2;\n\n return this;\n }\n\n writeUint32(value: number): this {\n this.view.setUint32(this.offset, value);\n this.offset += 4;\n\n return this;\n }\n\n writeUint64(value: number): this {\n const high = value / 0x1_00_00_00_00;\n const low = value;\n\n this.view.setUint32(this.offset, high);\n this.offset += 4;\n\n this.view.setUint32(this.offset, low);\n this.offset += 4;\n\n return this;\n }\n\n writeInt8(value: number): this {\n this.view.setInt8(this.offset++, value & 0xff);\n\n return this;\n }\n\n writeInt16(value: number): this {\n this.view.setInt16(this.offset, value);\n this.offset += 2;\n\n return this;\n }\n\n writeInt32(value: number): this {\n this.view.setInt32(this.offset, value);\n this.offset += 4;\n\n return this;\n }\n\n writeInt64(value: number): this {\n const high = Math.floor(value / 0x1_00_00_00_00);\n const low = value;\n\n this.view.setInt32(this.offset, high);\n this.offset += 4;\n this.view.setInt32(this.offset, low);\n this.offset += 4;\n\n return this;\n }\n\n // writeBigInt64(value: bigint): this {\n // this.view.setBigInt64(this.offset, value);\n // this.offset += 8;\n\n // return this;\n // }\n\n // writeBigUint64(value: bigint): this {\n // this.view.setBigUint64(this.offset, value);\n // this.offset += 8;\n\n // return this;\n // }\n\n writeStr(value: string): this {\n this.offset += this.textEncoder.writeBytes(value, this.buffer);\n\n return this;\n }\n\n writeNilSymbol(): this {\n this.buffer[this.offset++] = Symbols.NIL;\n\n return this;\n }\n\n writeFalseSymbol(): this {\n this.buffer[this.offset++] = Symbols.FALSE;\n\n return this;\n }\n\n writeTrueSymbol(): this {\n this.buffer[this.offset++] = Symbols.TRUE;\n\n return this;\n }\n\n writeFixMapSymbol(keysSize: number): this {\n this.buffer[this.offset++] = Symbols.FIXMAP_START | keysSize;\n\n return this;\n }\n\n writeFixArraySymbol(arraySize: number): this {\n this.buffer[this.offset++] = Symbols.FIXARRAY_START | arraySize;\n\n return this;\n }\n\n writeFixStrSymbol(byteLength: number): this {\n this.buffer[this.offset++] = Symbols.FIXSTR_START | byteLength;\n\n return this;\n }\n\n writeBin8Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.BIN8;\n this.buffer[this.offset++] = size;\n\n return this;\n }\n\n writeBin16Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.BIN16;\n this.view.setUint16(this.offset, size);\n this.offset += 2;\n\n return this;\n }\n\n writeBin32Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.BIN32;\n this.view.setUint32(this.offset, size);\n this.offset += 4;\n\n return this;\n }\n\n writeFloat32Symbol(): this {\n this.buffer[this.offset++] = Symbols.FLOAT32;\n\n return this;\n }\n\n writeFloat64Symbol(): this {\n this.buffer[this.offset++] = Symbols.FLOAT64;\n\n return this;\n }\n\n writeUint8Symbol(): this {\n this.buffer[this.offset++] = Symbols.UINT8;\n\n return this;\n }\n\n writeUint16Symbol(): this {\n this.buffer[this.offset++] = Symbols.UINT16;\n\n return this;\n }\n\n writeUint32Symbol(): this {\n this.buffer[this.offset++] = Symbols.UINT32;\n\n return this;\n }\n\n writeUint64Symbol(): this {\n this.buffer[this.offset++] = Symbols.UINT64;\n\n return this;\n }\n\n writeInt8Symbol(): this {\n this.buffer[this.offset++] = Symbols.INT8;\n\n return this;\n }\n\n writeInt16Symbol(): this {\n this.buffer[this.offset++] = Symbols.INT16;\n\n return this;\n }\n\n writeInt32Symbol(): this {\n this.buffer[this.offset++] = Symbols.INT32;\n\n return this;\n }\n\n writeInt64Symbol(): this {\n this.buffer[this.offset++] = Symbols.INT64;\n\n return this;\n }\n\n writeStr8Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.STR8;\n this.buffer[this.offset++] = size;\n\n return this;\n }\n\n writeStr16Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.STR16;\n this.view.setUint16(this.offset, size);\n\n this.offset += 2;\n\n return this;\n }\n\n writeStr32Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.STR32;\n this.view.setUint32(this.offset, size);\n\n this.offset += 4;\n\n return this;\n }\n\n writeArray16Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.ARRAY16;\n this.view.setUint16(this.offset, size);\n\n this.offset += 2;\n\n return this;\n }\n\n writeArray32Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.ARRAY32;\n this.view.setUint32(this.offset, size);\n\n this.offset += 4;\n\n return this;\n }\n\n writeMap16Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.MAP16;\n this.view.setUint16(this.offset, size);\n\n this.offset += 2;\n\n return this;\n }\n\n writeMap32Symbol(size: number): this {\n this.buffer[this.offset++] = Symbols.MAP32;\n this.view.setUint32(this.offset, size);\n\n this.offset += 4;\n\n return this;\n }\n\n writeFixExt1Symbol(type: number): this {\n this.buffer[this.offset++] = Symbols.FIXEXT1;\n this.buffer[this.offset++] = type;\n\n return this;\n }\n\n writeFixExt2Symbol(type: number): this {\n this.buffer[this.offset++] = Symbols.FIXEXT2;\n this.buffer[this.offset++] = type;\n\n return this;\n }\n\n writeFixExt4Symbol(type: number): this {\n this.buffer[this.offset++] = Symbols.FIXEXT4;\n this.buffer[this.offset++] = type;\n\n return this;\n }\n\n writeFixExt8Symbol(type: number): this {\n this.buffer[this.offset++] = Symbols.FIXEXT8;\n this.buffer[this.offset++] = type;\n\n return this;\n }\n\n writeFixExt16Symbol(type: number): this {\n this.buffer[this.offset++] = Symbols.FIXEXT16;\n this.buffer[this.offset++] = type;\n\n return this;\n }\n\n writeExt8Symbol(type: number, size: number): this {\n this.buffer[this.offset++] = Symbols.EXT8;\n this.buffer[this.offset++] = size;\n this.buffer[this.offset++] = type;\n\n return this;\n }\n\n writeExt16Symbol(type: number, size: number): this {\n this.buffer[this.offset++] = Symbols.EXT16;\n\n this.view.setUint16(this.offset, size);\n this.offset += 2;\n\n this.buffer[this.offset++] = type;\n\n return this;\n }\n\n writeExt32Symbol(type: number, size: number): this {\n this.buffer[this.offset++] = Symbols.EXT32;\n\n this.view.setUint32(this.offset, size);\n this.offset += 4;\n\n this.buffer[this.offset++] = type;\n\n return this;\n }\n\n writeString(value: string): this {\n const valueLength = value.length;\n const requiredSize = value.length * 4;\n\n // optimization for short strings, to avoid the overhead of using\n // a text encoder for small strings\n if (valueLength < 51) {\n this.ensureCapacity(1 + requiredSize);\n\n const initialoffset = this.offset;\n const byteLengthoffset = this.offset++;\n let totalBytes = 0;\n let fitInFixStr = true;\n let fitInStr8 = true;\n let { offset } = this;\n\n for (let index = 0; index < valueLength; index++) {\n const code = value.charCodeAt(index);\n\n if (code < 0x80) {\n this.buffer[offset++] = code;\n totalBytes++;\n } else if (code < 0x8_00) {\n this.buffer[offset++] = 0xc0 | (code >> 6);\n this.buffer[offset++] = 0x80 | (code & 0x3f);\n totalBytes += 2;\n } else if (code < 0xd8_00 || code >= 0xe0_00) {\n this.buffer[offset++] = 0xe0 | (code >> 12);\n this.buffer[offset++] = 0x80 | ((code >> 6) & 0x3f);\n this.buffer[offset++] = 0x80 | (code & 0x3f);\n totalBytes += 3;\n } else {\n // surrogate pair\n index++;\n const nextCode = value.charCodeAt(index);\n\n const surrogatePair =\n (((code & 0x3_ff) << 10) | (nextCode & 0x3_ff)) + 0x1_00_00;\n\n this.buffer[offset++] = 0xf0 | (surrogatePair >> 18);\n this.buffer[offset++] = 0x80 | ((surrogatePair >> 12) & 0x3f);\n this.buffer[offset++] = 0x80 | ((surrogatePair >> 6) & 0x3f);\n this.buffer[offset++] = 0x80 | (surrogatePair & 0x3f);\n totalBytes += 4;\n }\n\n if (totalBytes > 31) {\n fitInFixStr = false;\n } else if (totalBytes > 255) {\n fitInStr8 = false;\n break;\n }\n }\n\n if (fitInFixStr) {\n this.buffer[byteLengthoffset] = Symbols.FIXSTR_START | totalBytes;\n\n this.offset += totalBytes;\n\n return this;\n } else if (fitInStr8) {\n this.buffer[byteLengthoffset] = Symbols.STR8;\n\n const totalBytesPosition = byteLengthoffset + 1;\n\n this.buffer.copyWithin(\n totalBytesPosition + 1,\n totalBytesPosition,\n offset,\n );\n\n this.buffer[totalBytesPosition] = totalBytes;\n this.offset++;\n\n this.offset += totalBytes;\n return this;\n }\n // fallback\n this.offset = initialoffset;\n }\n\n if (this.sharedBuffer.byteLength < requiredSize) {\n this.sharedBuffer = this.bufferFactory(requiredSize);\n }\n\n const sharedBuffer = this.sharedBuffer;\n\n const byteLength = this.textEncoder.writeBytes(value, sharedBuffer);\n\n if (fitIn8Bits(byteLength)) {\n this.ensureCapacity(2 + byteLength);\n this.writeStr8Symbol(byteLength);\n } else if (fitIn16Bits(byteLength)) {\n this.ensureCapacity(3 + byteLength);\n this.writeStr16Symbol(byteLength);\n } else {\n this.ensureCapacity(5 + byteLength);\n this.writeStr32Symbol(byteLength);\n }\n\n this.writeBin(sharedBuffer.subarray(0, byteLength));\n\n return this;\n }\n\n writeNumber(value: number): this {\n if (Number.isInteger(value)) {\n if (value < 0) {\n // siged integers\n if (value > -33) {\n this.ensureCapacity(1);\n return this.writeNegativeFixInt(value);\n } else if (value > -129) {\n this.ensureCapacity(2);\n this.writeInt8Symbol();\n return this.writeInt8(value);\n } else if (value > -32_769) {\n this.ensureCapacity(3);\n this.writeInt16Symbol();\n return this.writeInt16(value);\n } else if (value > -2_147_483_649) {\n this.ensureCapacity(5);\n this.writeInt32Symbol();\n return this.writeInt32(value);\n } else if (value >= INT64_MIN) {\n this.ensureCapacity(9);\n this.writeInt64Symbol();\n return this.writeInt64(value);\n }\n\n throw new Error(\n `Integer too small to encode: ${value}. Consider using BigIntExtension.`,\n );\n } else {\n // unsiged integers\n if (fitIn7Bits(value)) {\n this.ensureCapacity(1);\n return this.writePositiveFixInt(value);\n }\n\n if (fitIn8Bits(value)) {\n this.ensureCapacity(2);\n this.writeUint8Symbol();\n return this.writeUint8(value);\n }\n\n if (fitIn16Bits(value)) {\n this.ensureCapacity(3);\n this.writeUint16Symbol();\n return this.writeUint16(value);\n }\n\n if (fitIn32Bits(value)) {\n this.ensureCapacity(5);\n this.writeUint32Symbol();\n return this.writeUint32(value);\n }\n\n if (value <= UINT64_MAX) {\n this.ensureCapacity(9);\n this.writeUint64Symbol();\n return this.writeUint64(value);\n }\n\n throw new Error(\n `Integer too large to encode: ${value}. Consider using BigIntExtension.`,\n );\n }\n } else if (this.forceFloat32) {\n this.ensureCapacity(5);\n this.writeFloat32Symbol();\n return this.writeFloat32(value);\n }\n\n this.ensureCapacity(9);\n this.writeFloat64Symbol();\n return this.writeFloat64(value);\n }\n\n openMap(keysLength: number): this {\n const requiredSize = keysLength * 4;\n\n if (keysLength < 16) {\n this.ensureCapacity(requiredSize + 1);\n this.writeFixMapSymbol(keysLength);\n } else if (fitIn16Bits(keysLength)) {\n this.ensureCapacity(requiredSize + 3);\n this.writeMap16Symbol(keysLength);\n } else if (fitIn32Bits(keysLength)) {\n this.ensureCapacity(requiredSize + 5);\n this.writeMap32Symbol(keysLength);\n } else {\n throw new Error(\n `Map size ${keysLength} exceeds maximum allowed size of ${UINT32_MAX}`,\n );\n }\n\n return this;\n }\n\n writeMap<TKey extends string | number, TValue>(\n value: Record<TKey, TValue>,\n ): this {\n const keys = Object.keys(value);\n\n if (this.sortKeys) {\n keys.sort();\n }\n\n const keysLength = keys.length;\n\n this.openMap(keysLength);\n\n for (const key of keys) {\n this.writeString(key);\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion\n this.write(value[key as TKey]);\n }\n\n return this;\n }\n\n openArray(length: number): this {\n const requiredSize = length * 4;\n\n if (length < 16) {\n this.ensureCapacity(requiredSize + 1);\n this.writeFixArraySymbol(length);\n } else if (fitIn16Bits(length)) {\n this.ensureCapacity(requiredSize + 3);\n this.writeArray16Symbol(length);\n } else if (fitIn32Bits(length)) {\n this.ensureCapacity(requiredSize + 5);\n this.writeArray32Symbol(length);\n } else {\n throw new Error(\n `Array size ${length} exceeds maximum allowed size of ${UINT32_MAX}`,\n );\n }\n\n return this;\n }\n\n writeArray(value: unknown[]): this {\n const length = value.length;\n\n this.openArray(length);\n\n for (let index = 0; index < length; ++index) {\n this.write(value[index]);\n }\n\n return this;\n }\n\n // writeBigInt(value: bigint): this {\n // this.ensureCapacity(9);\n\n // if (value < 0n) {\n // this.writeInt64Symbol();\n // return this.writeBigInt64(value);\n // }\n\n // this.writeUint64Symbol();\n // return this.writeBigUint64(value);\n // }\n\n writeUint8Array(value: Uint8Array): this {\n if (fitIn8Bits(value.length)) {\n this.ensureCapacity(2 + value.length);\n this.writeBin8Symbol(value.length);\n } else if (fitIn16Bits(value.length)) {\n this.ensureCapacity(3 + value.length);\n this.writeBin16Symbol(value.length);\n } else if (fitIn32Bits(value.length)) {\n this.ensureCapacity(5 + value.length);\n this.writeBin32Symbol(value.length);\n } else {\n throw new Error(`Uint8Array too large to encode: ${value.length}`);\n }\n\n return this.writeBin(value);\n }\n\n writeExtension(\n extension: MessagePackExtension,\n buffer: ExtensionEncoderBuffer<TBuffer>,\n ): this {\n const writtenBytes = buffer.offset;\n\n if (writtenBytes === 1) {\n this.ensureCapacity(3);\n\n this.writeFixExt1Symbol(extension.type);\n } else if (writtenBytes === 2) {\n this.ensureCapacity(4);\n\n this.writeFixExt2Symbol(extension.type);\n } else if (writtenBytes === 4) {\n this.ensureCapacity(6);\n\n this.writeFixExt4Symbol(extension.type);\n } else if (writtenBytes === 8) {\n this.ensureCapacity(10);\n\n this.writeFixExt8Symbol(extension.type);\n } else if (writtenBytes === 16) {\n this.ensureCapacity(18);\n\n this.writeFixExt16Symbol(extension.type);\n } else if (fitIn8Bits(writtenBytes)) {\n this.ensureCapacity(3 + writtenBytes);\n\n this.writeExt8Symbol(extension.type, writtenBytes);\n } else if (fitIn16Bits(writtenBytes)) {\n this.ensureCapacity(4 + writtenBytes);\n\n this.writeExt16Symbol(extension.type, writtenBytes);\n } else if (fitIn32Bits(writtenBytes)) {\n this.ensureCapacity(6 + writtenBytes);\n\n this.writeExt32Symbol(extension.type, writtenBytes);\n } else {\n throw new Error(\n `Extension data too large to encode: ${writtenBytes} bytes`,\n );\n }\n\n this.buffer.set(buffer.buffer.subarray(0, writtenBytes), this.offset);\n\n this.offset += writtenBytes;\n\n return this;\n }\n\n tryToWriteExtensionValue(value: object | bigint): number {\n if (this.extensions.size > 0) {\n const iterator = this.extensions.values();\n const extensionBuffer = this.getExtensionBuffer();\n\n for (const extension of iterator) {\n extensionBuffer.resetBuffer();\n\n extension.encode(value, extensionBuffer);\n\n if (extensionBuffer.offset > 0) {\n this.writeExtension(extension, extensionBuffer);\n\n return extensionBuffer.offset;\n }\n }\n }\n\n return 0;\n }\n\n writeBigInt(value: bigint): this {\n const writtenBytes = this.tryToWriteExtensionValue(value);\n\n if (writtenBytes > 0) {\n return this;\n }\n\n throw new TypeError(\n '\"bigint\" encoding is not supported by default. Consider using BigIntExtension',\n );\n }\n\n writeObject(value: object): this {\n if (Array.isArray(value)) {\n return this.writeArray(value);\n }\n\n const writtenBytes = this.tryToWriteExtensionValue(value);\n\n if (writtenBytes > 0) {\n return this;\n }\n\n if (value instanceof Uint8Array) {\n return this.writeUint8Array(value);\n }\n\n return this.writeMap(value);\n }\n\n write(value: unknown): this {\n // oxlint-disable-next-line typescript/switch-exhaustiveness-check\n switch (typeof value) {\n case 'number': {\n return this.writeNumber(value);\n }\n case 'string': {\n return this.writeString(value);\n }\n case 'boolean': {\n this.ensureCapacity(1);\n\n if (value) {\n return this.writeTrueSymbol();\n }\n\n return this.writeFalseSymbol();\n }\n case 'undefined': {\n this.ensureCapacity(1);\n return this.writeNilSymbol();\n }\n case 'bigint': {\n return this.writeBigInt(value);\n }\n case 'object': {\n if (value === null) {\n this.ensureCapacity(1);\n return this.writeNilSymbol();\n }\n\n return this.writeObject(value);\n }\n default: {\n throw new TypeError(\n `Unsupported type for encoding: ${typeof value}. Consider using an extension.`,\n );\n }\n }\n }\n}\n\nexport default EncoderBuffer;\n"],"mappings":";;;;;;;;;;AAuBA,IAAM,gBAAN,MAAM,sBACI,qBAEV;;CAEE;;;;;;;CAQA;;;;;;;CAQA;;;;;;;;CASA;;;;;;;CAQA;CAEA;CAEA;CACA;;;;;;;;;;;CAYA;CAEA,YAAY,SAAkD;EAC5D,MAAM;EAEN,KAAK,SAAS;EACd,KAAK,cAAc,SAAS,eAAe,IAAI,mBAAmB;EAElE,KAAK,gBAAgB,SAAS,iBAAiB;EAE/C,KAAK,SAAS,KAAK,cACjB,SAAS,qBAAA,IACX;EACA,KAAK,eAAe,KAAK,cACvB,SAAS,2BAAA,IACX;EACA,KAAK,OAAO,IAAI,SACd,KAAK,OAAO,QACZ,KAAK,OAAO,YACZ,KAAK,OAAO,UACd;EAEA,KAAK,WAAW,SAAS,YAAY;EACrC,KAAK,eAAe,SAAS,gBAAgB;CAC/C;CAEA,qBAA6C;EAC3C,IAAI,CAAC,KAAKA,kBACR,KAAKA,mBAAmB,IAAI,cAAuB;GACjD,eAAe,KAAK;GACpB,mBAAmB,KAAK,aAAa;GACrC,yBAAyB;GACzB,UAAU,KAAK;GACf,aAAa,KAAK;EACpB,CAAC;EAGH,OAAO,KAAKA;CACd;CAEA,aAAa,SAAuB;EAClC,MAAM,YAAY,KAAK,cAAc,OAAO;EAE5C,UAAU,IAAI,KAAK,MAAM;EAEzB,KAAK,SAAS;EACd,KAAK,OAAO,IAAI,SACd,KAAK,OAAO,QACZ,KAAK,OAAO,YACZ,KAAK,OAAO,UACd;EAEA,OAAO;CACT;CAEA,eAAe,aAA2B;EACxC,MAAM,WAAW,KAAK,SAAS;EAE/B,IAAI,KAAK,OAAO,aAAa,UAC3B,KAAK,aAAa,WAAW,CAAC;EAGhC,OAAO;CACT;CAEA,cAAoB;EAClB,KAAK,SAAS;EAEd,OAAO;CACT;CAEA,QAAiB;EAEf,MAAM,SAAS,KAAK,OAAO,SAAS,GAAG,KAAK,MAAM;EAElD,KAAK,YAAY;EAEjB,OAAO;CACT;CAEA,oBAAoB,OAAqB;EACvC,KAAK,WAAW,KAAK;EAErB,OAAO;CACT;CAEA,oBAAoB,OAAqB;EAEvC,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,SAAS,OAAyB;EAChC,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM;EAElC,KAAK,UAAU,MAAM;EAErB,OAAO;CACT;CAEA,aAAa,OAAqB;EAChC,KAAK,KAAK,WAAW,KAAK,QAAQ,KAAK;EACvC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,aAAa,OAAqB;EAChC,KAAK,KAAK,WAAW,KAAK,QAAQ,KAAK;EACvC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,WAAW,OAAqB;EAC9B,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,YAAY,OAAqB;EAC/B,KAAK,KAAK,UAAU,KAAK,QAAQ,KAAK;EACtC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,YAAY,OAAqB;EAC/B,KAAK,KAAK,UAAU,KAAK,QAAQ,KAAK;EACtC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,YAAY,OAAqB;EAC/B,MAAM,OAAO,QAAQ;EACrB,MAAM,MAAM;EAEZ,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EACrC,KAAK,UAAU;EAEf,KAAK,KAAK,UAAU,KAAK,QAAQ,GAAG;EACpC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,UAAU,OAAqB;EAC7B,KAAK,KAAK,QAAQ,KAAK,UAAU,QAAQ,GAAI;EAE7C,OAAO;CACT;CAEA,WAAW,OAAqB;EAC9B,KAAK,KAAK,SAAS,KAAK,QAAQ,KAAK;EACrC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,WAAW,OAAqB;EAC9B,KAAK,KAAK,SAAS,KAAK,QAAQ,KAAK;EACrC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,WAAW,OAAqB;EAC9B,MAAM,OAAO,KAAK,MAAM,QAAQ,UAAe;EAC/C,MAAM,MAAM;EAEZ,KAAK,KAAK,SAAS,KAAK,QAAQ,IAAI;EACpC,KAAK,UAAU;EACf,KAAK,KAAK,SAAS,KAAK,QAAQ,GAAG;EACnC,KAAK,UAAU;EAEf,OAAO;CACT;CAgBA,SAAS,OAAqB;EAC5B,KAAK,UAAU,KAAK,YAAY,WAAW,OAAO,KAAK,MAAM;EAE7D,OAAO;CACT;CAEA,iBAAuB;EACrB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,mBAAyB;EACvB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,kBAAwB;EACtB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,kBAAkB,UAAwB;EACxC,KAAK,OAAO,KAAK,YAAY,QAAQ,eAAe;EAEpD,OAAO;CACT;CAEA,oBAAoB,WAAyB;EAC3C,KAAK,OAAO,KAAK,YAAY,QAAQ,iBAAiB;EAEtD,OAAO;CACT;CAEA,kBAAkB,YAA0B;EAC1C,KAAK,OAAO,KAAK,YAAY,QAAQ,eAAe;EAEpD,OAAO;CACT;CAEA,gBAAgB,MAAoB;EAClC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,iBAAiB,MAAoB;EACnC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EACrC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,iBAAiB,MAAoB;EACnC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EACrC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,qBAA2B;EACzB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,qBAA2B;EACzB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,mBAAyB;EACvB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,oBAA0B;EACxB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,oBAA0B;EACxB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,oBAA0B;EACxB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,kBAAwB;EACtB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,mBAAyB;EACvB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,mBAAyB;EACvB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,mBAAyB;EACvB,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,OAAO;CACT;CAEA,gBAAgB,MAAoB;EAClC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,iBAAiB,MAAoB;EACnC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EAErC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,iBAAiB,MAAoB;EACnC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EAErC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,mBAAmB,MAAoB;EACrC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EAErC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,mBAAmB,MAAoB;EACrC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EAErC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,iBAAiB,MAAoB;EACnC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EAErC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,iBAAiB,MAAoB;EACnC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EAErC,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,mBAAmB,MAAoB;EACrC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,mBAAmB,MAAoB;EACrC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,mBAAmB,MAAoB;EACrC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,mBAAmB,MAAoB;EACrC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,oBAAoB,MAAoB;EACtC,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,gBAAgB,MAAc,MAAoB;EAChD,KAAK,OAAO,KAAK,YAAY,QAAQ;EACrC,KAAK,OAAO,KAAK,YAAY;EAC7B,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,iBAAiB,MAAc,MAAoB;EACjD,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EACrC,KAAK,UAAU;EAEf,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,iBAAiB,MAAc,MAAoB;EACjD,KAAK,OAAO,KAAK,YAAY,QAAQ;EAErC,KAAK,KAAK,UAAU,KAAK,QAAQ,IAAI;EACrC,KAAK,UAAU;EAEf,KAAK,OAAO,KAAK,YAAY;EAE7B,OAAO;CACT;CAEA,YAAY,OAAqB;EAC/B,MAAM,cAAc,MAAM;EAC1B,MAAM,eAAe,MAAM,SAAS;EAIpC,IAAI,cAAc,IAAI;GACpB,KAAK,eAAe,IAAI,YAAY;GAEpC,MAAM,gBAAgB,KAAK;GAC3B,MAAM,mBAAmB,KAAK;GAC9B,IAAI,aAAa;GACjB,IAAI,cAAc;GAClB,IAAI,YAAY;GAChB,IAAI,EAAE,WAAW;GAEjB,KAAK,IAAI,QAAQ,GAAG,QAAQ,aAAa,SAAS;IAChD,MAAM,OAAO,MAAM,WAAW,KAAK;IAEnC,IAAI,OAAO,KAAM;KACf,KAAK,OAAO,YAAY;KACxB;IACF,OAAO,IAAI,OAAO,MAAQ;KACxB,KAAK,OAAO,YAAY,MAAQ,QAAQ;KACxC,KAAK,OAAO,YAAY,MAAQ,OAAO;KACvC,cAAc;IAChB,OAAO,IAAI,OAAO,SAAW,QAAQ,OAAS;KAC5C,KAAK,OAAO,YAAY,MAAQ,QAAQ;KACxC,KAAK,OAAO,YAAY,MAAS,QAAQ,IAAK;KAC9C,KAAK,OAAO,YAAY,MAAQ,OAAO;KACvC,cAAc;IAChB,OAAO;KAEL;KACA,MAAM,WAAW,MAAM,WAAW,KAAK;KAEvC,MAAM,kBACD,OAAO,SAAW,KAAO,WAAW,QAAW;KAEpD,KAAK,OAAO,YAAY,MAAQ,iBAAiB;KACjD,KAAK,OAAO,YAAY,MAAS,iBAAiB,KAAM;KACxD,KAAK,OAAO,YAAY,MAAS,iBAAiB,IAAK;KACvD,KAAK,OAAO,YAAY,MAAQ,gBAAgB;KAChD,cAAc;IAChB;IAEA,IAAI,aAAa,IACf,cAAc;SACT,IAAI,aAAa,KAAK;KAC3B,YAAY;KACZ;IACF;GACF;GAEA,IAAI,aAAa;IACf,KAAK,OAAO,oBAAoB,QAAQ,eAAe;IAEvD,KAAK,UAAU;IAEf,OAAO;GACT,OAAO,IAAI,WAAW;IACpB,KAAK,OAAO,oBAAoB,QAAQ;IAExC,MAAM,qBAAqB,mBAAmB;IAE9C,KAAK,OAAO,WACV,qBAAqB,GACrB,oBACA,MACF;IAEA,KAAK,OAAO,sBAAsB;IAClC,KAAK;IAEL,KAAK,UAAU;IACf,OAAO;GACT;GAEA,KAAK,SAAS;EAChB;EAEA,IAAI,KAAK,aAAa,aAAa,cACjC,KAAK,eAAe,KAAK,cAAc,YAAY;EAGrD,MAAM,eAAe,KAAK;EAE1B,MAAM,aAAa,KAAK,YAAY,WAAW,OAAO,YAAY;EAElE,IAAI,WAAW,UAAU,GAAG;GAC1B,KAAK,eAAe,IAAI,UAAU;GAClC,KAAK,gBAAgB,UAAU;EACjC,OAAO,IAAI,YAAY,UAAU,GAAG;GAClC,KAAK,eAAe,IAAI,UAAU;GAClC,KAAK,iBAAiB,UAAU;EAClC,OAAO;GACL,KAAK,eAAe,IAAI,UAAU;GAClC,KAAK,iBAAiB,UAAU;EAClC;EAEA,KAAK,SAAS,aAAa,SAAS,GAAG,UAAU,CAAC;EAElD,OAAO;CACT;CAEA,YAAY,OAAqB;EAC/B,IAAI,OAAO,UAAU,KAAK,GAAG;GAC3B,IAAI,QAAQ,GAAG;IAEb,IAAI,QAAQ,KAAK;KACf,KAAK,eAAe,CAAC;KACrB,OAAO,KAAK,oBAAoB,KAAK;IACvC,OAAO,IAAI,QAAQ,MAAM;KACvB,KAAK,eAAe,CAAC;KACrB,KAAK,gBAAgB;KACrB,OAAO,KAAK,UAAU,KAAK;IAC7B,OAAO,IAAI,QAAQ,QAAS;KAC1B,KAAK,eAAe,CAAC;KACrB,KAAK,iBAAiB;KACtB,OAAO,KAAK,WAAW,KAAK;IAC9B,OAAO,IAAI,QAAQ,aAAgB;KACjC,KAAK,eAAe,CAAC;KACrB,KAAK,iBAAiB;KACtB,OAAO,KAAK,WAAW,KAAK;IAC9B,OAAO,IAAI,SAAS,WAAW;KAC7B,KAAK,eAAe,CAAC;KACrB,KAAK,iBAAiB;KACtB,OAAO,KAAK,WAAW,KAAK;IAC9B;IAEA,MAAM,IAAI,MACR,gCAAgC,MAAM,kCACxC;GACF,OAAO;IAEL,IAAI,WAAW,KAAK,GAAG;KACrB,KAAK,eAAe,CAAC;KACrB,OAAO,KAAK,oBAAoB,KAAK;IACvC;IAEA,IAAI,WAAW,KAAK,GAAG;KACrB,KAAK,eAAe,CAAC;KACrB,KAAK,iBAAiB;KACtB,OAAO,KAAK,WAAW,KAAK;IAC9B;IAEA,IAAI,YAAY,KAAK,GAAG;KACtB,KAAK,eAAe,CAAC;KACrB,KAAK,kBAAkB;KACvB,OAAO,KAAK,YAAY,KAAK;IAC/B;IAEA,IAAI,YAAY,KAAK,GAAG;KACtB,KAAK,eAAe,CAAC;KACrB,KAAK,kBAAkB;KACvB,OAAO,KAAK,YAAY,KAAK;IAC/B;IAEA,IAAI,SAAS,YAAY;KACvB,KAAK,eAAe,CAAC;KACrB,KAAK,kBAAkB;KACvB,OAAO,KAAK,YAAY,KAAK;IAC/B;IAEA,MAAM,IAAI,MACR,gCAAgC,MAAM,kCACxC;GACF;EACF,OAAO,IAAI,KAAK,cAAc;GAC5B,KAAK,eAAe,CAAC;GACrB,KAAK,mBAAmB;GACxB,OAAO,KAAK,aAAa,KAAK;EAChC;EAEA,KAAK,eAAe,CAAC;EACrB,KAAK,mBAAmB;EACxB,OAAO,KAAK,aAAa,KAAK;CAChC;CAEA,QAAQ,YAA0B;EAChC,MAAM,eAAe,aAAa;EAElC,IAAI,aAAa,IAAI;GACnB,KAAK,eAAe,eAAe,CAAC;GACpC,KAAK,kBAAkB,UAAU;EACnC,OAAO,IAAI,YAAY,UAAU,GAAG;GAClC,KAAK,eAAe,eAAe,CAAC;GACpC,KAAK,iBAAiB,UAAU;EAClC,OAAO,IAAI,YAAY,UAAU,GAAG;GAClC,KAAK,eAAe,eAAe,CAAC;GACpC,KAAK,iBAAiB,UAAU;EAClC,OACE,MAAM,IAAI,MACR,YAAY,WAAW,mCAAmC,YAC5D;EAGF,OAAO;CACT;CAEA,SACE,OACM;EACN,MAAM,OAAO,OAAO,KAAK,KAAK;EAE9B,IAAI,KAAK,UACP,KAAK,KAAK;EAGZ,MAAM,aAAa,KAAK;EAExB,KAAK,QAAQ,UAAU;EAEvB,KAAK,MAAM,OAAO,MAAM;GACtB,KAAK,YAAY,GAAG;GAEpB,KAAK,MAAM,MAAM,IAAY;EAC/B;EAEA,OAAO;CACT;CAEA,UAAU,QAAsB;EAC9B,MAAM,eAAe,SAAS;EAE9B,IAAI,SAAS,IAAI;GACf,KAAK,eAAe,eAAe,CAAC;GACpC,KAAK,oBAAoB,MAAM;EACjC,OAAO,IAAI,YAAY,MAAM,GAAG;GAC9B,KAAK,eAAe,eAAe,CAAC;GACpC,KAAK,mBAAmB,MAAM;EAChC,OAAO,IAAI,YAAY,MAAM,GAAG;GAC9B,KAAK,eAAe,eAAe,CAAC;GACpC,KAAK,mBAAmB,MAAM;EAChC,OACE,MAAM,IAAI,MACR,cAAc,OAAO,mCAAmC,YAC1D;EAGF,OAAO;CACT;CAEA,WAAW,OAAwB;EACjC,MAAM,SAAS,MAAM;EAErB,KAAK,UAAU,MAAM;EAErB,KAAK,IAAI,QAAQ,GAAG,QAAQ,QAAQ,EAAE,OACpC,KAAK,MAAM,MAAM,MAAM;EAGzB,OAAO;CACT;CAcA,gBAAgB,OAAyB;EACvC,IAAI,WAAW,MAAM,MAAM,GAAG;GAC5B,KAAK,eAAe,IAAI,MAAM,MAAM;GACpC,KAAK,gBAAgB,MAAM,MAAM;EACnC,OAAO,IAAI,YAAY,MAAM,MAAM,GAAG;GACpC,KAAK,eAAe,IAAI,MAAM,MAAM;GACpC,KAAK,iBAAiB,MAAM,MAAM;EACpC,OAAO,IAAI,YAAY,MAAM,MAAM,GAAG;GACpC,KAAK,eAAe,IAAI,MAAM,MAAM;GACpC,KAAK,iBAAiB,MAAM,MAAM;EACpC,OACE,MAAM,IAAI,MAAM,mCAAmC,MAAM,QAAQ;EAGnE,OAAO,KAAK,SAAS,KAAK;CAC5B;CAEA,eACE,WACA,QACM;EACN,MAAM,eAAe,OAAO;EAE5B,IAAI,iBAAiB,GAAG;GACtB,KAAK,eAAe,CAAC;GAErB,KAAK,mBAAmB,UAAU,IAAI;EACxC,OAAO,IAAI,iBAAiB,GAAG;GAC7B,KAAK,eAAe,CAAC;GAErB,KAAK,mBAAmB,UAAU,IAAI;EACxC,OAAO,IAAI,iBAAiB,GAAG;GAC7B,KAAK,eAAe,CAAC;GAErB,KAAK,mBAAmB,UAAU,IAAI;EACxC,OAAO,IAAI,iBAAiB,GAAG;GAC7B,KAAK,eAAe,EAAE;GAEtB,KAAK,mBAAmB,UAAU,IAAI;EACxC,OAAO,IAAI,iBAAiB,IAAI;GAC9B,KAAK,eAAe,EAAE;GAEtB,KAAK,oBAAoB,UAAU,IAAI;EACzC,OAAO,IAAI,WAAW,YAAY,GAAG;GACnC,KAAK,eAAe,IAAI,YAAY;GAEpC,KAAK,gBAAgB,UAAU,MAAM,YAAY;EACnD,OAAO,IAAI,YAAY,YAAY,GAAG;GACpC,KAAK,eAAe,IAAI,YAAY;GAEpC,KAAK,iBAAiB,UAAU,MAAM,YAAY;EACpD,OAAO,IAAI,YAAY,YAAY,GAAG;GACpC,KAAK,eAAe,IAAI,YAAY;GAEpC,KAAK,iBAAiB,UAAU,MAAM,YAAY;EACpD,OACE,MAAM,IAAI,MACR,uCAAuC,aAAa,OACtD;EAGF,KAAK,OAAO,IAAI,OAAO,OAAO,SAAS,GAAG,YAAY,GAAG,KAAK,MAAM;EAEpE,KAAK,UAAU;EAEf,OAAO;CACT;CAEA,yBAAyB,OAAgC;EACvD,IAAI,KAAK,WAAW,OAAO,GAAG;GAC5B,MAAM,WAAW,KAAK,WAAW,OAAO;GACxC,MAAM,kBAAkB,KAAK,mBAAmB;GAEhD,KAAK,MAAM,aAAa,UAAU;IAChC,gBAAgB,YAAY;IAE5B,UAAU,OAAO,OAAO,eAAe;IAEvC,IAAI,gBAAgB,SAAS,GAAG;KAC9B,KAAK,eAAe,WAAW,eAAe;KAE9C,OAAO,gBAAgB;IACzB;GACF;EACF;EAEA,OAAO;CACT;CAEA,YAAY,OAAqB;EAG/B,IAFqB,KAAK,yBAAyB,KAEpC,IAAI,GACjB,OAAO;EAGT,MAAM,IAAI,UACR,iFACF;CACF;CAEA,YAAY,OAAqB;EAC/B,IAAI,MAAM,QAAQ,KAAK,GACrB,OAAO,KAAK,WAAW,KAAK;EAK9B,IAFqB,KAAK,yBAAyB,KAEpC,IAAI,GACjB,OAAO;EAGT,IAAI,iBAAiB,YACnB,OAAO,KAAK,gBAAgB,KAAK;EAGnC,OAAO,KAAK,SAAS,KAAK;CAC5B;CAEA,MAAM,OAAsB;EAE1B,QAAQ,OAAO,OAAf;GACE,KAAK,UACH,OAAO,KAAK,YAAY,KAAK;GAE/B,KAAK,UACH,OAAO,KAAK,YAAY,KAAK;GAE/B,KAAK;IACH,KAAK,eAAe,CAAC;IAErB,IAAI,OACF,OAAO,KAAK,gBAAgB;IAG9B,OAAO,KAAK,iBAAiB;GAE/B,KAAK;IACH,KAAK,eAAe,CAAC;IACrB,OAAO,KAAK,eAAe;GAE7B,KAAK,UACH,OAAO,KAAK,YAAY,KAAK;GAE/B,KAAK;IACH,IAAI,UAAU,MAAM;KAClB,KAAK,eAAe,CAAC;KACrB,OAAO,KAAK,eAAe;IAC7B;IAEA,OAAO,KAAK,YAAY,KAAK;GAE/B,SACE,MAAM,IAAI,UACR,kCAAkC,OAAO,MAAM,+BACjD;EAEJ;CACF;AACF"}
@@ -0,0 +1,8 @@
1
+ import { a as OmitByPattern, i as ExtensionEncoderBuffer, n as MessagePackEncoderBuffer, r as EncoderBufferOptions } from "../messagePackExtension-fq36EMAg.mjs";
2
+ import { t as MessagePackTextEncoder } from "../messagePackTextEncoder-D7iCft_t.mjs";
3
+ import { t as encode } from "../encode-4SxHVw0M.mjs";
4
+ import { t as EncoderBuffer } from "../encoderBuffer-BZMIF5I2.mjs";
5
+ import { t as Encoder } from "../encoder-PfSLnKnK.mjs";
6
+ import { t as DefaultTextEncoder } from "../defaultTextEncoder-BkIjtDkg.mjs";
7
+ import { t as NodeTextEncoder } from "../nodeTextEncoder-CegSnA6z.mjs";
8
+ export { DefaultTextEncoder, Encoder, EncoderBuffer, type EncoderBufferOptions, type ExtensionEncoderBuffer, type MessagePackEncoderBuffer, type MessagePackTextEncoder, NodeTextEncoder, type OmitByPattern, encode };
@@ -0,0 +1,6 @@
1
+ import DefaultTextEncoder from "./textEncoders/defaultTextEncoder.mjs";
2
+ import EncoderBuffer from "./encoderBuffer.mjs";
3
+ import Encoder from "./encoder.mjs";
4
+ import NodeTextEncoder from "./textEncoders/nodeTextEncoder.mjs";
5
+ import encode from "./encode.mjs";
6
+ export { DefaultTextEncoder, Encoder, EncoderBuffer, NodeTextEncoder, encode };
@@ -0,0 +1,4 @@
1
+ import { n as MessagePackEncoderBuffer } from "../../messagePackExtension-fq36EMAg.mjs";
2
+ import { t as MessagePackTextEncoder } from "../../messagePackTextEncoder-D7iCft_t.mjs";
3
+ import "../../index-DMnXy2Rv.mjs";
4
+ export type { MessagePackEncoderBuffer, MessagePackTextEncoder };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { n as MessagePackEncoderBuffer } from "../../messagePackExtension-fq36EMAg.mjs";
2
+ export { MessagePackEncoderBuffer as default };
@@ -0,0 +1,2 @@
1
+ import { t as MessagePackTextEncoder } from "../../messagePackTextEncoder-D7iCft_t.mjs";
2
+ export { MessagePackTextEncoder as default };
@@ -0,0 +1,2 @@
1
+ import { t as DefaultTextEncoder } from "../../defaultTextEncoder-BkIjtDkg.mjs";
2
+ export { DefaultTextEncoder as default };
@@ -0,0 +1,16 @@
1
+ //#region src/encoder/textEncoders/defaultTextEncoder.ts
2
+ /**
3
+ * DefaultTextEncoder provides functionality to encode strings into UTF-8 bytes,
4
+ * using the native TextEncoder.
5
+ */
6
+ var DefaultTextEncoder = class {
7
+ /** The native TextEncoder instance used for encoding strings into UTF-8 bytes. */
8
+ nativeTextEncoder = new TextEncoder();
9
+ writeBytes(value, buffer) {
10
+ return this.nativeTextEncoder.encodeInto(value, buffer).written;
11
+ }
12
+ };
13
+ //#endregion
14
+ export { DefaultTextEncoder as default };
15
+
16
+ //# sourceMappingURL=defaultTextEncoder.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultTextEncoder.mjs","names":[],"sources":["../../../../src/encoder/textEncoders/defaultTextEncoder.ts"],"sourcesContent":["import type MessagePackTextEncoder from '../interfaces/messagePackTextEncoder.ts';\n\n/**\n * DefaultTextEncoder provides functionality to encode strings into UTF-8 bytes,\n * using the native TextEncoder.\n */\nclass DefaultTextEncoder<\n TBuffer extends Uint8Array = Uint8Array,\n> implements MessagePackTextEncoder<TBuffer> {\n /** The native TextEncoder instance used for encoding strings into UTF-8 bytes. */\n nativeTextEncoder = new TextEncoder();\n\n public writeBytes(value: string, buffer: TBuffer): number {\n return this.nativeTextEncoder.encodeInto(value, buffer).written;\n }\n}\n\nexport default DefaultTextEncoder;\n"],"mappings":";;;;;AAMA,IAAM,qBAAN,MAE6C;;CAE3C,oBAAoB,IAAI,YAAY;CAEpC,WAAkB,OAAe,QAAyB;EACxD,OAAO,KAAK,kBAAkB,WAAW,OAAO,MAAM,CAAC,CAAC;CAC1D;AACF"}
@@ -0,0 +1,4 @@
1
+ import { t as DefaultTextEncoder } from "../../defaultTextEncoder-BkIjtDkg.mjs";
2
+ import { t as NodeTextEncoder } from "../../nodeTextEncoder-CegSnA6z.mjs";
3
+ import "../../index-CQnkyOId.mjs";
4
+ export { DefaultTextEncoder, NodeTextEncoder };
@@ -0,0 +1,3 @@
1
+ import DefaultTextEncoder from "./defaultTextEncoder.mjs";
2
+ import NodeTextEncoder from "./nodeTextEncoder.mjs";
3
+ export { DefaultTextEncoder, NodeTextEncoder };
@@ -0,0 +1,2 @@
1
+ import { t as NodeTextEncoder } from "../../nodeTextEncoder-CegSnA6z.mjs";
2
+ export { NodeTextEncoder as default };
@@ -0,0 +1,10 @@
1
+ //#region src/encoder/textEncoders/nodeTextEncoder.ts
2
+ var NodeTextEncoder = class {
3
+ writeBytes(value, buffer) {
4
+ return Buffer.prototype.utf8Write.call(buffer, value, 0, buffer.length);
5
+ }
6
+ };
7
+ //#endregion
8
+ export { NodeTextEncoder as default };
9
+
10
+ //# sourceMappingURL=nodeTextEncoder.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeTextEncoder.mjs","names":[],"sources":["../../../../src/encoder/textEncoders/nodeTextEncoder.ts"],"sourcesContent":["import type MessagePackTextEncoder from '../interfaces/messagePackTextEncoder.ts';\n\nclass NodeTextEncoder implements MessagePackTextEncoder {\n writeBytes(value: string, buffer: Buffer): number {\n // oxlint-disable-next-line typescript/no-unsafe-return typescript/no-unsafe-call typescript/no-unsafe-member-access\n return Buffer.prototype.utf8Write.call(buffer, value, 0, buffer.length);\n }\n}\n\nexport default NodeTextEncoder;\n"],"mappings":";AAEA,IAAM,kBAAN,MAAwD;CACtD,WAAW,OAAe,QAAwB;EAEhD,OAAO,OAAO,UAAU,UAAU,KAAK,QAAQ,OAAO,GAAG,OAAO,MAAM;CACxE;AACF"}
@@ -0,0 +1,2 @@
1
+ import { a as OmitByPattern, i as ExtensionEncoderBuffer, r as EncoderBufferOptions } from "../messagePackExtension-fq36EMAg.mjs";
2
+ export { EncoderBufferOptions, ExtensionEncoderBuffer, OmitByPattern };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import { r as EncoderBufferOptions, t as MessagePackExtension } from "./messagePackExtension-fq36EMAg.mjs";
2
+ import { t as EncoderBuffer } from "./encoderBuffer-BZMIF5I2.mjs";
3
+ //#region src/encoder/encoder.d.ts
4
+ /**
5
+ * The `Encoder` class is responsible for encoding JavaScript values into the
6
+ * MessagePack format.
7
+ *
8
+ * This class is just a wrapper around the buffer, which does the actual
9
+ * encoding. The buffer is responsible for managing the encoding process and
10
+ * handling extensions.
11
+ */
12
+ declare class Encoder<TBuffer extends Uint8Array = Uint8Array> {
13
+ buffer: EncoderBuffer<TBuffer>;
14
+ constructor(options?: Partial<EncoderBufferOptions<TBuffer>>);
15
+ encode(value: unknown): TBuffer;
16
+ addExtension(extension: MessagePackExtension<unknown, TBuffer>): this;
17
+ addInternalExtension(extension: MessagePackExtension<unknown, TBuffer>): this;
18
+ addExtensionType(type: number, extension: Omit<MessagePackExtension<unknown, TBuffer>, 'type'>): this;
19
+ fetchExtension(type: number): MessagePackExtension<unknown, TBuffer>;
20
+ }
21
+ //#endregion
22
+ export { Encoder as t };
23
+ //# sourceMappingURL=encoder-PfSLnKnK.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder-PfSLnKnK.d.mts","names":[],"sources":["../../src/encoder/encoder.ts"],"mappings":";;;;;;;;;;;cAYM,QAAQ,gBAAgB,aAAa;EACzC,QAAQ,cAAc;EAEtB,YAAY,UAAU,QAAQ,qBAAqB;EAInD,OAAO,iBAAiB;EAQxB,aAAa,WAAW,8BAA8B;EAMtD,qBACE,WAAW,8BAA8B;EAO3C,iBACE,cACA,WAAW,KAAK,8BAA8B;EAOhD,eAAe,eAAe,8BAA8B"}
@@ -0,0 +1,111 @@
1
+ import { i as ExtensionEncoderBuffer, n as MessagePackEncoderBuffer, r as EncoderBufferOptions, t as MessagePackExtension } from "./messagePackExtension-fq36EMAg.mjs";
2
+ import { t as BufferFactory } from "./types-DTcs4Mkd.mjs";
3
+ import { t as MessagePackTextEncoder } from "./messagePackTextEncoder-D7iCft_t.mjs";
4
+ import { t as BufferWithExtensions } from "./bufferWithExtensions-DzAs7yX1.mjs";
5
+ //#region src/encoder/encoderBuffer.d.ts
6
+ declare class EncoderBuffer<TBuffer extends Uint8Array = Uint8Array> extends BufferWithExtensions<TBuffer> implements MessagePackEncoderBuffer<TBuffer> {
7
+ #private;
8
+ /** The current offset in the buffer where the next write operation will occur. */
9
+ offset: number;
10
+ /**
11
+ * Shared buffer is used to encode strings, to avoid allocating a new buffer
12
+ * for each string. The shared buffer is resized if the string is larger than
13
+ * the current size of the shared buffer. This helps to improve performance by
14
+ * reducing memory allocations and garbage collection overhead.
15
+ */
16
+ protected sharedBuffer: TBuffer;
17
+ /**
18
+ * Determines whether the keys of a map should be sorted before encoding.
19
+ * Sorting keys can be useful for ensuring consistent serialization of
20
+ * objects, which is important for tasks like hashing or comparing serialized
21
+ * data.
22
+ */
23
+ readonly sortKeys: boolean;
24
+ /**
25
+ * If true, forces the encoder to use 32-bit floating point representation for
26
+ * numbers, even if they could be represented as 64-bit floats. This can be
27
+ * useful for reducing the size of the encoded data when high precision is not
28
+ * required. However, it may lead to loss of precision for very large or very
29
+ * small numbers.
30
+ */
31
+ readonly forceFloat32: boolean;
32
+ /**
33
+ * A function that creates a new buffer of the specified size. This function
34
+ * is used to allocate new buffers when the current buffer is not large enough
35
+ * to accommodate the data being written. The function should return a new
36
+ * instance of TBuffer with the specified size.
37
+ */
38
+ protected bufferFactory: BufferFactory<TBuffer>;
39
+ readonly textEncoder: MessagePackTextEncoder<TBuffer>;
40
+ buffer: TBuffer;
41
+ view: DataView;
42
+ constructor(options?: Partial<EncoderBufferOptions<TBuffer>>);
43
+ getExtensionBuffer(): EncoderBuffer<TBuffer>;
44
+ resizeBuffer(newSize: number): this;
45
+ ensureCapacity(sizeToWrite: number): this;
46
+ resetBuffer(): this;
47
+ flush(): TBuffer;
48
+ writePositiveFixInt(value: number): this;
49
+ writeNegativeFixInt(value: number): this;
50
+ writeBin(bytes: Uint8Array): this;
51
+ writeFloat32(value: number): this;
52
+ writeFloat64(value: number): this;
53
+ writeUint8(value: number): this;
54
+ writeUint16(value: number): this;
55
+ writeUint32(value: number): this;
56
+ writeUint64(value: number): this;
57
+ writeInt8(value: number): this;
58
+ writeInt16(value: number): this;
59
+ writeInt32(value: number): this;
60
+ writeInt64(value: number): this;
61
+ writeStr(value: string): this;
62
+ writeNilSymbol(): this;
63
+ writeFalseSymbol(): this;
64
+ writeTrueSymbol(): this;
65
+ writeFixMapSymbol(keysSize: number): this;
66
+ writeFixArraySymbol(arraySize: number): this;
67
+ writeFixStrSymbol(byteLength: number): this;
68
+ writeBin8Symbol(size: number): this;
69
+ writeBin16Symbol(size: number): this;
70
+ writeBin32Symbol(size: number): this;
71
+ writeFloat32Symbol(): this;
72
+ writeFloat64Symbol(): this;
73
+ writeUint8Symbol(): this;
74
+ writeUint16Symbol(): this;
75
+ writeUint32Symbol(): this;
76
+ writeUint64Symbol(): this;
77
+ writeInt8Symbol(): this;
78
+ writeInt16Symbol(): this;
79
+ writeInt32Symbol(): this;
80
+ writeInt64Symbol(): this;
81
+ writeStr8Symbol(size: number): this;
82
+ writeStr16Symbol(size: number): this;
83
+ writeStr32Symbol(size: number): this;
84
+ writeArray16Symbol(size: number): this;
85
+ writeArray32Symbol(size: number): this;
86
+ writeMap16Symbol(size: number): this;
87
+ writeMap32Symbol(size: number): this;
88
+ writeFixExt1Symbol(type: number): this;
89
+ writeFixExt2Symbol(type: number): this;
90
+ writeFixExt4Symbol(type: number): this;
91
+ writeFixExt8Symbol(type: number): this;
92
+ writeFixExt16Symbol(type: number): this;
93
+ writeExt8Symbol(type: number, size: number): this;
94
+ writeExt16Symbol(type: number, size: number): this;
95
+ writeExt32Symbol(type: number, size: number): this;
96
+ writeString(value: string): this;
97
+ writeNumber(value: number): this;
98
+ openMap(keysLength: number): this;
99
+ writeMap<TKey extends string | number, TValue>(value: Record<TKey, TValue>): this;
100
+ openArray(length: number): this;
101
+ writeArray(value: unknown[]): this;
102
+ writeUint8Array(value: Uint8Array): this;
103
+ writeExtension(extension: MessagePackExtension, buffer: ExtensionEncoderBuffer<TBuffer>): this;
104
+ tryToWriteExtensionValue(value: object | bigint): number;
105
+ writeBigInt(value: bigint): this;
106
+ writeObject(value: object): this;
107
+ write(value: unknown): this;
108
+ }
109
+ //#endregion
110
+ export { EncoderBuffer as t };
111
+ //# sourceMappingURL=encoderBuffer-BZMIF5I2.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoderBuffer-BZMIF5I2.d.mts","names":[],"sources":["../../src/encoder/encoderBuffer.ts"],"mappings":";;;;;cAuBM,cAAc,gBAAgB,aAAa,oBACvC,qBAAqB,oBAClB,yBAAyB;;;EAGpC;;;;;;;YAQU,cAAc;;;;;;;WAQf;;;;;;;;WASA;;;;;;;YAQC,eAAe,cAAc;WAE9B,aAAa,uBAAuB;EAE7C,QAAQ;EACR,MAAM;EAcN,YAAY,UAAU,QAAQ,qBAAqB;EAwBnD,sBAAsB,cAAc;EAcpC,aAAa;EAeb,eAAe;EAUf;EAMA,SAAS;EAST,oBAAoB;EAMpB,oBAAoB;EAOpB,SAAS,OAAO;EAQhB,aAAa;EAOb,aAAa;EAOb,WAAW;EAMX,YAAY;EAOZ,YAAY;EAOZ,YAAY;EAaZ,UAAU;EAMV,WAAW;EAOX,WAAW;EAOX,WAAW;EA0BX,SAAS;EAMT;EAMA;EAMA;EAMA,kBAAkB;EAMlB,oBAAoB;EAMpB,kBAAkB;EAMlB,gBAAgB;EAOhB,iBAAiB;EAQjB,iBAAiB;EAQjB;EAMA;EAMA;EAMA;EAMA;EAMA;EAMA;EAMA;EAMA;EAMA;EAMA,gBAAgB;EAOhB,iBAAiB;EASjB,iBAAiB;EASjB,mBAAmB;EASnB,mBAAmB;EASnB,iBAAiB;EASjB,iBAAiB;EASjB,mBAAmB;EAOnB,mBAAmB;EAOnB,mBAAmB;EAOnB,mBAAmB;EAOnB,oBAAoB;EAOpB,gBAAgB,cAAc;EAQ9B,iBAAiB,cAAc;EAW/B,iBAAiB,cAAc;EAW/B,YAAY;EAyGZ,YAAY;EA0EZ,QAAQ;EAqBR,SAAS,8BAA8B,QACrC,OAAO,OAAO,MAAM;EAqBtB,UAAU;EAqBV,WAAW;EAwBX,gBAAgB,OAAO;EAiBvB,eACE,WAAW,sBACX,QAAQ,uBAAuB;EAiDjC,yBAAyB;EAqBzB,YAAY;EAYZ,YAAY;EAkBZ,MAAM"}
@@ -0,0 +1,2 @@
1
+ import { t as BigIntExtension } from "../../bigInt-D37SPzzB.mjs";
2
+ export { BigIntExtension as default };
@@ -0,0 +1,56 @@
1
+ import UntypedExtension from "../../untypedExtension.mjs";
2
+ //#region src/extensions/bigint/bigInt.ts
3
+ const BIGINT_MASK = 18446744073709551615n;
4
+ /**
5
+ * This class encodes and decodes JavaScript BigInt values that are outside the
6
+ * safe integer range. It encodes and decodes BigInt values using a custom
7
+ * extension type, allowing for the serialization of large integers that cannot
8
+ * be represented as standard JavaScript numbers. The encoding scheme uses a
9
+ * variable-length representation to efficiently store the magnitude of the
10
+ * BigInt value.
11
+ */
12
+ var BigIntExtension = class extends UntypedExtension {
13
+ /**
14
+ * Encodes a BigInt value into the provided buffer. If the value is within the
15
+ * safe integer range, it is encoded directly following the Message Pack
16
+ * specification. Otherwise, if the value is outside the safe integer range,
17
+ * it is encoded using a variable-length representation. Negative values are
18
+ * handled by encoding their magnitude and using a specific bit pattern to
19
+ * indicate negativity.
20
+ *
21
+ * @param value - The BigInt value to encode.
22
+ * @param buffer - The buffer to write the encoded data to.
23
+ */
24
+ encode(value, buffer) {
25
+ if (typeof value === "bigint") {
26
+ let magnitude;
27
+ if (value < 0n) magnitude = (-value << 1n) - 1n;
28
+ else magnitude = value << 1n;
29
+ while (magnitude > 0n) {
30
+ buffer.ensureCapacity(8);
31
+ buffer.view.setBigUint64(buffer.offset, magnitude & BIGINT_MASK, false);
32
+ buffer.offset += 8;
33
+ magnitude >>= 64n;
34
+ }
35
+ }
36
+ }
37
+ /**
38
+ * Decodes a BigInt value from the provided DataView. It reads the encoded
39
+ * data, reconstructs the magnitude, and determines the sign based on the
40
+ * encoding scheme. The method returns the decoded BigInt value.
41
+ */
42
+ decode(buffer, size) {
43
+ let encoded = 0n;
44
+ let shift = 0n;
45
+ for (let offset = buffer.offset; offset < size; offset += 8) {
46
+ encoded |= buffer.view.getBigUint64(offset, false) << shift;
47
+ shift += 64n;
48
+ }
49
+ if ((encoded & 1n) === 1n) return -(encoded + 1n >> 1n);
50
+ return encoded >> 1n;
51
+ }
52
+ };
53
+ //#endregion
54
+ export { BigIntExtension as default };
55
+
56
+ //# sourceMappingURL=bigInt.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigInt.mjs","names":[],"sources":["../../../../src/extensions/bigint/bigInt.ts"],"sourcesContent":["import type MessagePackDecoderBuffer from '../../decoder/interfaces/messagePackDecoderBuffer.ts';\nimport type { ExtensionEncoderBuffer } from '../../encoder/types.ts';\nimport UntypedExtension from '../../untypedExtension.ts';\n\nconst BIGINT_MASK = 0xff_ff_ff_ff_ff_ff_ff_ffn;\n\n/**\n * This class encodes and decodes JavaScript BigInt values that are outside the\n * safe integer range. It encodes and decodes BigInt values using a custom\n * extension type, allowing for the serialization of large integers that cannot\n * be represented as standard JavaScript numbers. The encoding scheme uses a\n * variable-length representation to efficiently store the magnitude of the\n * BigInt value.\n */\nclass BigIntExtension<\n TBuffer extends Uint8Array = Uint8Array,\n> extends UntypedExtension<bigint, TBuffer> {\n /**\n * Encodes a BigInt value into the provided buffer. If the value is within the\n * safe integer range, it is encoded directly following the Message Pack\n * specification. Otherwise, if the value is outside the safe integer range,\n * it is encoded using a variable-length representation. Negative values are\n * handled by encoding their magnitude and using a specific bit pattern to\n * indicate negativity.\n *\n * @param value - The BigInt value to encode.\n * @param buffer - The buffer to write the encoded data to.\n */\n encode(\n value: object | bigint,\n buffer: ExtensionEncoderBuffer<TBuffer>,\n ): void {\n if (typeof value === 'bigint') {\n let magnitude: bigint;\n\n if (value < 0n) {\n magnitude = (-value << 1n) - 1n;\n } else {\n magnitude = value << 1n;\n }\n\n while (magnitude > 0n) {\n buffer.ensureCapacity(8);\n buffer.view.setBigUint64(buffer.offset, magnitude & BIGINT_MASK, false);\n buffer.offset += 8;\n magnitude >>= 64n;\n }\n }\n }\n\n /**\n * Decodes a BigInt value from the provided DataView. It reads the encoded\n * data, reconstructs the magnitude, and determines the sign based on the\n * encoding scheme. The method returns the decoded BigInt value.\n */\n decode(buffer: MessagePackDecoderBuffer, size: number): bigint {\n let encoded = 0n;\n let shift = 0n;\n\n for (let offset = buffer.offset; offset < size; offset += 8) {\n encoded |= buffer.view.getBigUint64(offset, false) << shift;\n shift += 64n;\n }\n\n if ((encoded & 1n) === 1n) {\n return -((encoded + 1n) >> 1n);\n }\n\n return encoded >> 1n;\n }\n}\n\nexport default BigIntExtension;\n"],"mappings":";;AAIA,MAAM,cAAc;;;;;;;;;AAUpB,IAAM,kBAAN,cAEU,iBAAkC;;;;;;;;;;;;CAY1C,OACE,OACA,QACM;EACN,IAAI,OAAO,UAAU,UAAU;GAC7B,IAAI;GAEJ,IAAI,QAAQ,IACV,aAAa,CAAC,SAAS,MAAM;QAE7B,YAAY,SAAS;GAGvB,OAAO,YAAY,IAAI;IACrB,OAAO,eAAe,CAAC;IACvB,OAAO,KAAK,aAAa,OAAO,QAAQ,YAAY,aAAa,KAAK;IACtE,OAAO,UAAU;IACjB,cAAc;GAChB;EACF;CACF;;;;;;CAOA,OAAO,QAAkC,MAAsB;EAC7D,IAAI,UAAU;EACd,IAAI,QAAQ;EAEZ,KAAK,IAAI,SAAS,OAAO,QAAQ,SAAS,MAAM,UAAU,GAAG;GAC3D,WAAW,OAAO,KAAK,aAAa,QAAQ,KAAK,KAAK;GACtD,SAAS;EACX;EAEA,KAAK,UAAU,QAAQ,IACrB,OAAO,EAAG,UAAU,MAAO;EAG7B,OAAO,WAAW;CACpB;AACF"}
@@ -0,0 +1,3 @@
1
+ import { t as BigIntExtension } from "../../bigInt-D37SPzzB.mjs";
2
+ import "../../index-5OuLsWCC.mjs";
3
+ export { BigIntExtension as default };
@@ -0,0 +1,2 @@
1
+ import BigIntExtension from "./bigInt.mjs";
2
+ export { BigIntExtension as default };
@@ -0,0 +1,4 @@
1
+ import { t as MessagePackExtension } from "../messagePackExtension-fq36EMAg.mjs";
2
+ import { t as MessagePackTime } from "../types-B9KMW-kD.mjs";
3
+ import { t as TimestampDateExtension } from "../timestampDate-C3Ch8aSB.mjs";
4
+ export { type MessagePackExtension, type MessagePackTime, TimestampDateExtension };
@@ -0,0 +1,2 @@
1
+ import TimestampDateExtension from "./timestampDate/timestampDate.mjs";
2
+ export { TimestampDateExtension };
@@ -0,0 +1,3 @@
1
+ import { t as MessagePackExtension } from "../../messagePackExtension-fq36EMAg.mjs";
2
+ import "../../index-B5vbV8Ak.mjs";
3
+ export type { MessagePackExtension };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { t as MessagePackExtension } from "../../messagePackExtension-fq36EMAg.mjs";
2
+ export { MessagePackExtension as default };
@@ -0,0 +1,4 @@
1
+ import { t as MessagePackTime } from "../../types-B9KMW-kD.mjs";
2
+ import { t as TimestampDateExtension } from "../../timestampDate-C3Ch8aSB.mjs";
3
+ import "../../index-CUX405iZ.mjs";
4
+ export { type MessagePackTime, TimestampDateExtension };
@@ -0,0 +1,2 @@
1
+ import TimestampDateExtension from "./timestampDate.mjs";
2
+ export { TimestampDateExtension };
@@ -0,0 +1,2 @@
1
+ import { t as TimestampDateExtension } from "../../timestampDate-C3Ch8aSB.mjs";
2
+ export { TimestampDateExtension as default };
@@ -0,0 +1,81 @@
1
+ //#region src/extensions/timestampDate/timestampDate.ts
2
+ const TIMESTAMP32_MAX_SEC = 4294967295;
3
+ const TIMESTAMP64_MAX_SEC = 17179869183;
4
+ /**
5
+ * The `TimestampDateExtension` class is responsible for encoding JavaScript
6
+ * `Date` objects into the MessagePack timestamp format.
7
+ *
8
+ * Timestamp extension type is assigned to extension type -1. It defines 3
9
+ * formats: 32-bit format, 64-bit format, and 96-bit format.
10
+ *
11
+ * - Timestamp 32 format can represent a timestamp in [1970-01-01 00:00:00 UTC,
12
+ * 2106-02-07 06:28:16 UTC) range. Nanoseconds part is 0.
13
+ * - Timestamp 64 format can represent a timestamp in [1970-01-01
14
+ * 00:00:00.000000000 UTC, 2514-05-30 01:53:04.000000000 UTC) range.
15
+ * - Timestamp 96 format can represent a timestamp in [-292277022657-01-27
16
+ * 08:29:52 UTC, 292277026596-12-04 15:30:08.000000000 UTC) range.
17
+ * - In timestamp 64 and timestamp 96 formats, nanoseconds must not be larger than
18
+ * 999999999.
19
+ *
20
+ * @see https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type
21
+ * @see https://github.com/msgpack/msgpack-javascript/blob/main/src/timestamp.ts
22
+ * @see https://github.com/msgpack/msgpack-javascript/issues/216
23
+ */
24
+ var TimestampDateExtension = class {
25
+ type = -1;
26
+ parseToMessagePackTime(date) {
27
+ const msec = date.getTime();
28
+ const sec = Math.floor(msec / 1e3);
29
+ const nsec = (msec - sec * 1e3) * 1e6;
30
+ const nsecInSec = Math.floor(nsec / 1e9);
31
+ return {
32
+ nsec: nsec - nsecInSec * 1e9,
33
+ sec: sec + nsecInSec
34
+ };
35
+ }
36
+ encode(value, buffer) {
37
+ if (value instanceof Date) {
38
+ const time = this.parseToMessagePackTime(value);
39
+ if (time.sec >= 0 && time.nsec >= 0 && time.sec <= TIMESTAMP64_MAX_SEC) {
40
+ if (time.nsec === 0 && time.sec <= TIMESTAMP32_MAX_SEC) buffer.writeUint32(time.sec);
41
+ else {
42
+ const secHigh = time.sec / 4294967296;
43
+ const secLow = time.sec & 4294967295;
44
+ buffer.writeUint32(time.nsec << 2 | secHigh & 3);
45
+ buffer.writeUint32(secLow);
46
+ }
47
+ } else {
48
+ buffer.writeUint32(time.nsec);
49
+ buffer.writeInt64(time.sec);
50
+ }
51
+ }
52
+ }
53
+ decode(decoderBuffer, size) {
54
+ const byteOffset = decoderBuffer.offset;
55
+ switch (size) {
56
+ case 4: {
57
+ const sec = decoderBuffer.view.getUint32(byteOffset);
58
+ return /* @__PURE__ */ new Date(sec * 1e3 + 0);
59
+ }
60
+ case 8: {
61
+ const nsec30AndSecHigh2 = decoderBuffer.view.getUint32(byteOffset);
62
+ const secLow32 = decoderBuffer.view.getUint32(byteOffset + 4);
63
+ const sec = (nsec30AndSecHigh2 & 3) * 4294967296 + secLow32;
64
+ const nsec = nsec30AndSecHigh2 >>> 2;
65
+ return /* @__PURE__ */ new Date(sec * 1e3 + nsec / 1e6);
66
+ }
67
+ case 12: {
68
+ const high = decoderBuffer.view.getInt32(byteOffset + 4);
69
+ const low = decoderBuffer.view.getUint32(byteOffset + 8);
70
+ const sec = high * 4294967296 + low;
71
+ const nsec = decoderBuffer.view.getUint32(byteOffset);
72
+ return /* @__PURE__ */ new Date(sec * 1e3 + nsec / 1e6);
73
+ }
74
+ default: throw new Error(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${decoderBuffer.view.byteLength}`);
75
+ }
76
+ }
77
+ };
78
+ //#endregion
79
+ export { TimestampDateExtension as default };
80
+
81
+ //# sourceMappingURL=timestampDate.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestampDate.mjs","names":[],"sources":["../../../../src/extensions/timestampDate/timestampDate.ts"],"sourcesContent":["import type MessagePackDecoderBuffer from '../../decoder/interfaces/messagePackDecoderBuffer.ts';\nimport type MessagePackEncoderBuffer from '../../encoder/interfaces/messagePackEncoderBuffer.ts';\nimport type MessagePackExtension from '../interfaces/messagePackExtension.ts';\nimport type { MessagePackTime } from './types.ts';\n\nconst TIMESTAMP32_MAX_SEC = 0x1_00_00_00_00 - 1; // 32-bit unsigned int // 4_294_967_295\nconst TIMESTAMP64_MAX_SEC = 0x4_00_00_00_00 - 1; // 34-bit unsigned int // 17_179_869_183\n\n/**\n * The `TimestampDateExtension` class is responsible for encoding JavaScript\n * `Date` objects into the MessagePack timestamp format.\n *\n * Timestamp extension type is assigned to extension type -1. It defines 3\n * formats: 32-bit format, 64-bit format, and 96-bit format.\n *\n * - Timestamp 32 format can represent a timestamp in [1970-01-01 00:00:00 UTC,\n * 2106-02-07 06:28:16 UTC) range. Nanoseconds part is 0.\n * - Timestamp 64 format can represent a timestamp in [1970-01-01\n * 00:00:00.000000000 UTC, 2514-05-30 01:53:04.000000000 UTC) range.\n * - Timestamp 96 format can represent a timestamp in [-292277022657-01-27\n * 08:29:52 UTC, 292277026596-12-04 15:30:08.000000000 UTC) range.\n * - In timestamp 64 and timestamp 96 formats, nanoseconds must not be larger than\n * 999999999.\n *\n * @see https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\n * @see https://github.com/msgpack/msgpack-javascript/blob/main/src/timestamp.ts\n * @see https://github.com/msgpack/msgpack-javascript/issues/216\n */\nclass TimestampDateExtension<\n TBuffer extends Uint8Array = Uint8Array,\n> implements MessagePackExtension<Date, TBuffer> {\n readonly type = -1;\n\n parseToMessagePackTime(date: Date): MessagePackTime {\n const msec = date.getTime();\n const sec = Math.floor(msec / 1e3);\n const nsec = (msec - sec * 1e3) * 1e6;\n\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n const nsecInSec = Math.floor(nsec / 1e9);\n\n return {\n nsec: nsec - nsecInSec * 1e9,\n sec: sec + nsecInSec,\n };\n }\n\n encode(\n value: object | bigint,\n buffer: MessagePackEncoderBuffer<TBuffer>,\n ): void {\n if (value instanceof Date) {\n const time = this.parseToMessagePackTime(value);\n\n if (time.sec >= 0 && time.nsec >= 0 && time.sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (time.nsec === 0 && time.sec <= TIMESTAMP32_MAX_SEC) {\n buffer.writeUint32(time.sec);\n } else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n const secHigh = time.sec / 0x1_00_00_00_00;\n const secLow = time.sec & 0xff_ff_ff_ff;\n buffer.writeUint32((time.nsec << 2) | (secHigh & 0x3));\n buffer.writeUint32(secLow);\n }\n } else {\n buffer.writeUint32(time.nsec);\n buffer.writeInt64(time.sec);\n }\n }\n }\n\n decode(decoderBuffer: MessagePackDecoderBuffer<TBuffer>, size: number): Date {\n const byteOffset = decoderBuffer.offset;\n\n switch (size) {\n case 4: {\n // timestamp 32 = { sec32 }\n const sec = decoderBuffer.view.getUint32(byteOffset);\n const nsec = 0;\n // return { sec, nsec };\n return new Date(sec * 1e3 + nsec / 1e6);\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n const nsec30AndSecHigh2 = decoderBuffer.view.getUint32(byteOffset);\n const secLow32 = decoderBuffer.view.getUint32(byteOffset + 4);\n const sec = (nsec30AndSecHigh2 & 0x3) * 0x1_00_00_00_00 + secLow32;\n const nsec = nsec30AndSecHigh2 >>> 2;\n return new Date(sec * 1e3 + nsec / 1e6);\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n const high = decoderBuffer.view.getInt32(byteOffset + 4);\n const low = decoderBuffer.view.getUint32(byteOffset + 8);\n\n // const sec = getInt64(view, 4);\n const sec = high * 0x1_00_00_00_00 + low;\n const nsec = decoderBuffer.view.getUint32(byteOffset);\n return new Date(sec * 1e3 + nsec / 1e6);\n }\n default: {\n throw new Error(\n `Unrecognized data size for timestamp (expected 4, 8, or 12): ${decoderBuffer.view.byteLength}`,\n );\n }\n }\n }\n}\n\nexport default TimestampDateExtension;\n"],"mappings":";AAKA,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;AAsB5B,IAAM,yBAAN,MAEiD;CAC/C,OAAgB;CAEhB,uBAAuB,MAA6B;EAClD,MAAM,OAAO,KAAK,QAAQ;EAC1B,MAAM,MAAM,KAAK,MAAM,OAAO,GAAG;EACjC,MAAM,QAAQ,OAAO,MAAM,OAAO;EAGlC,MAAM,YAAY,KAAK,MAAM,OAAO,GAAG;EAEvC,OAAO;GACL,MAAM,OAAO,YAAY;GACzB,KAAK,MAAM;EACb;CACF;CAEA,OACE,OACA,QACM;EACN,IAAI,iBAAiB,MAAM;GACzB,MAAM,OAAO,KAAK,uBAAuB,KAAK;GAE9C,IAAI,KAAK,OAAO,KAAK,KAAK,QAAQ,KAAK,KAAK,OAAO,qBAAqB;IAEtE,IAAI,KAAK,SAAS,KAAK,KAAK,OAAO,qBACjC,OAAO,YAAY,KAAK,GAAG;SACtB;KAEL,MAAM,UAAU,KAAK,MAAM;KAC3B,MAAM,SAAS,KAAK,MAAM;KAC1B,OAAO,YAAa,KAAK,QAAQ,IAAM,UAAU,CAAI;KACrD,OAAO,YAAY,MAAM;IAC3B;GACF,OAAO;IACL,OAAO,YAAY,KAAK,IAAI;IAC5B,OAAO,WAAW,KAAK,GAAG;GAC5B;EACF;CACF;CAEA,OAAO,eAAkD,MAAoB;EAC3E,MAAM,aAAa,cAAc;EAEjC,QAAQ,MAAR;GACE,KAAK,GAAG;IAEN,MAAM,MAAM,cAAc,KAAK,UAAU,UAAU;IAGnD,uBAAO,IAAI,KAAK,MAAM,MAAM,CAAU;GACxC;GACA,KAAK,GAAG;IAEN,MAAM,oBAAoB,cAAc,KAAK,UAAU,UAAU;IACjE,MAAM,WAAW,cAAc,KAAK,UAAU,aAAa,CAAC;IAC5D,MAAM,OAAO,oBAAoB,KAAO,aAAkB;IAC1D,MAAM,OAAO,sBAAsB;IACnC,uBAAO,IAAI,KAAK,MAAM,MAAM,OAAO,GAAG;GACxC;GACA,KAAK,IAAI;IAEP,MAAM,OAAO,cAAc,KAAK,SAAS,aAAa,CAAC;IACvD,MAAM,MAAM,cAAc,KAAK,UAAU,aAAa,CAAC;IAGvD,MAAM,MAAM,OAAO,aAAkB;IACrC,MAAM,OAAO,cAAc,KAAK,UAAU,UAAU;IACpD,uBAAO,IAAI,KAAK,MAAM,MAAM,OAAO,GAAG;GACxC;GACA,SACE,MAAM,IAAI,MACR,gEAAgE,cAAc,KAAK,YACrF;EAEJ;CACF;AACF"}
@@ -0,0 +1,2 @@
1
+ import { t as MessagePackTime } from "../../types-B9KMW-kD.mjs";
2
+ export { MessagePackTime };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ //#region src/utils/fitIn16Bits.d.ts
2
+ declare function fitIn16Bits(length: number): boolean;
3
+ //#endregion
4
+ export { fitIn16Bits as t };
5
+ //# sourceMappingURL=fitIn16Bits-D9lga-sP.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fitIn16Bits-D9lga-sP.d.mts","names":[],"sources":["../../src/utils/fitIn16Bits.ts"],"mappings":";iBAAwB,YAAY"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/fitIn32Bits.d.ts
2
+ declare function fitIn32Bits(length: number): boolean;
3
+ //#endregion
4
+ export { fitIn32Bits as t };
5
+ //# sourceMappingURL=fitIn32Bits-BrGIMOff.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fitIn32Bits-BrGIMOff.d.mts","names":[],"sources":["../../src/utils/fitIn32Bits.ts"],"mappings":";iBAAwB,YAAY"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/fitIn7Bits.d.ts
2
+ declare function fitIn7Bits(length: number): boolean;
3
+ //#endregion
4
+ export { fitIn7Bits as t };
5
+ //# sourceMappingURL=fitIn7Bits-BVHyKXCg.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fitIn7Bits-BVHyKXCg.d.mts","names":[],"sources":["../../src/utils/fitIn7Bits.ts"],"mappings":";iBAAwB,WAAW"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/fitIn8Bits.d.ts
2
+ declare function fitIn8Bits(length: number): boolean;
3
+ //#endregion
4
+ export { fitIn8Bits as t };
5
+ //# sourceMappingURL=fitIn8Bits-DQnQIhdh.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fitIn8Bits-DQnQIhdh.d.mts","names":[],"sources":["../../src/utils/fitIn8Bits.ts"],"mappings":";iBAAwB,WAAW"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/fitInt64Bits.d.ts
2
+ declare function fitInt64Bits(value: number | bigint): boolean;
3
+ //#endregion
4
+ export { fitInt64Bits as t };
5
+ //# sourceMappingURL=fitInt64Bits-CY7lVKne.d.mts.map