@jsonjoy.com/json-pack 1.21.0 → 17.59.0

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 (323) hide show
  1. package/lib/JsonPackExtension.d.ts +8 -0
  2. package/lib/JsonPackExtension.js +8 -0
  3. package/lib/JsonPackExtension.js.map +1 -1
  4. package/lib/JsonPackMpint.d.ts +25 -0
  5. package/lib/JsonPackMpint.js +31 -1
  6. package/lib/JsonPackMpint.js.map +1 -1
  7. package/lib/JsonPackValue.d.ts +10 -0
  8. package/lib/JsonPackValue.js +10 -0
  9. package/lib/JsonPackValue.js.map +1 -1
  10. package/lib/avro/AvroDecoder.d.ts +67 -0
  11. package/lib/avro/AvroDecoder.js +77 -5
  12. package/lib/avro/AvroDecoder.js.map +1 -1
  13. package/lib/avro/AvroEncoder.d.ts +71 -0
  14. package/lib/avro/AvroEncoder.js +90 -12
  15. package/lib/avro/AvroEncoder.js.map +1 -1
  16. package/lib/avro/AvroSchemaDecoder.d.ts +53 -0
  17. package/lib/avro/AvroSchemaDecoder.js +60 -3
  18. package/lib/avro/AvroSchemaDecoder.js.map +1 -1
  19. package/lib/avro/AvroSchemaEncoder.d.ts +65 -0
  20. package/lib/avro/AvroSchemaEncoder.js +84 -5
  21. package/lib/avro/AvroSchemaEncoder.js.map +1 -1
  22. package/lib/avro/AvroSchemaValidator.d.ts +10 -0
  23. package/lib/avro/AvroSchemaValidator.js +18 -1
  24. package/lib/avro/AvroSchemaValidator.js.map +1 -1
  25. package/lib/avro/types.d.ts +31 -0
  26. package/lib/avro/types.js +4 -0
  27. package/lib/avro/types.js.map +1 -1
  28. package/lib/bencode/BencodeDecoder.js +9 -9
  29. package/lib/bencode/BencodeDecoder.js.map +1 -1
  30. package/lib/bencode/BencodeEncoder.d.ts +5 -0
  31. package/lib/bencode/BencodeEncoder.js +25 -20
  32. package/lib/bencode/BencodeEncoder.js.map +1 -1
  33. package/lib/bson/BsonDecoder.js +48 -33
  34. package/lib/bson/BsonDecoder.js.map +1 -1
  35. package/lib/bson/BsonEncoder.js +11 -3
  36. package/lib/bson/BsonEncoder.js.map +1 -1
  37. package/lib/cbor/CborDecoder.d.ts +24 -0
  38. package/lib/cbor/CborDecoder.js +94 -56
  39. package/lib/cbor/CborDecoder.js.map +1 -1
  40. package/lib/cbor/CborDecoderBase.d.ts +1 -0
  41. package/lib/cbor/CborDecoderBase.js +63 -53
  42. package/lib/cbor/CborDecoderBase.js.map +1 -1
  43. package/lib/cbor/CborEncoder.d.ts +5 -0
  44. package/lib/cbor/CborEncoder.js +9 -3
  45. package/lib/cbor/CborEncoder.js.map +1 -1
  46. package/lib/cbor/CborEncoderFast.d.ts +7 -0
  47. package/lib/cbor/CborEncoderFast.js +22 -14
  48. package/lib/cbor/CborEncoderFast.js.map +1 -1
  49. package/lib/cbor/CborEncoderStable.d.ts +1 -0
  50. package/lib/cbor/CborEncoderStable.js +2 -1
  51. package/lib/cbor/CborEncoderStable.js.map +1 -1
  52. package/lib/cbor/shared.d.ts +1 -1
  53. package/lib/codecs/Codecs.d.ts +1 -1
  54. package/lib/codecs/cbor.js +1 -1
  55. package/lib/codecs/cbor.js.map +1 -1
  56. package/lib/codecs/json.js +1 -1
  57. package/lib/codecs/json.js.map +1 -1
  58. package/lib/codecs/msgpack.js +1 -1
  59. package/lib/codecs/msgpack.js.map +1 -1
  60. package/lib/ejson/EjsonDecoder.d.ts +5 -0
  61. package/lib/ejson/EjsonDecoder.js +72 -37
  62. package/lib/ejson/EjsonDecoder.js.map +1 -1
  63. package/lib/ejson/EjsonEncoder.d.ts +5 -0
  64. package/lib/ejson/EjsonEncoder.js +149 -114
  65. package/lib/ejson/EjsonEncoder.js.map +1 -1
  66. package/lib/ejson/index.js +1 -0
  67. package/lib/ejson/index.js.map +1 -1
  68. package/lib/ion/Import.d.ts +1 -1
  69. package/lib/ion/Import.js.map +1 -1
  70. package/lib/ion/IonDecoder.d.ts +0 -1
  71. package/lib/ion/IonDecoder.js +4 -3
  72. package/lib/ion/IonDecoder.js.map +1 -1
  73. package/lib/ion/IonDecoderBase.js +29 -18
  74. package/lib/ion/IonDecoderBase.js.map +1 -1
  75. package/lib/ion/IonEncoderFast.d.ts +1 -1
  76. package/lib/ion/IonEncoderFast.js +30 -30
  77. package/lib/ion/IonEncoderFast.js.map +1 -1
  78. package/lib/ion/ast.d.ts +4 -1
  79. package/lib/ion/symbols.d.ts +1 -1
  80. package/lib/json/JsonDecoder.js +72 -66
  81. package/lib/json/JsonDecoder.js.map +1 -1
  82. package/lib/json/JsonDecoderDag.js +14 -0
  83. package/lib/json/JsonDecoderDag.js.map +1 -1
  84. package/lib/json/JsonDecoderPartial.d.ts +22 -0
  85. package/lib/json/JsonDecoderPartial.js +30 -8
  86. package/lib/json/JsonDecoderPartial.js.map +1 -1
  87. package/lib/json/JsonEncoder.d.ts +5 -0
  88. package/lib/json/JsonEncoder.js +59 -51
  89. package/lib/json/JsonEncoder.js.map +1 -1
  90. package/lib/json/JsonEncoderDag.d.ts +17 -0
  91. package/lib/json/JsonEncoderDag.js +27 -10
  92. package/lib/json/JsonEncoderDag.js.map +1 -1
  93. package/lib/json/JsonEncoderStable.js +5 -5
  94. package/lib/json/JsonEncoderStable.js.map +1 -1
  95. package/lib/json-binary/codec.d.ts +8 -1
  96. package/lib/json-binary/codec.js +7 -0
  97. package/lib/json-binary/codec.js.map +1 -1
  98. package/lib/msgpack/MsgPackDecoder.d.ts +27 -0
  99. package/lib/msgpack/MsgPackDecoder.js +55 -23
  100. package/lib/msgpack/MsgPackDecoder.js.map +1 -1
  101. package/lib/msgpack/MsgPackDecoderFast.d.ts +8 -0
  102. package/lib/msgpack/MsgPackDecoderFast.js +14 -5
  103. package/lib/msgpack/MsgPackDecoderFast.js.map +1 -1
  104. package/lib/msgpack/MsgPackEncoder.d.ts +3 -0
  105. package/lib/msgpack/MsgPackEncoder.js +7 -4
  106. package/lib/msgpack/MsgPackEncoder.js.map +1 -1
  107. package/lib/msgpack/MsgPackEncoderFast.d.ts +26 -4
  108. package/lib/msgpack/MsgPackEncoderFast.js +31 -0
  109. package/lib/msgpack/MsgPackEncoderFast.js.map +1 -1
  110. package/lib/msgpack/MsgPackEncoderStable.d.ts +3 -0
  111. package/lib/msgpack/MsgPackEncoderStable.js +3 -0
  112. package/lib/msgpack/MsgPackEncoderStable.js.map +1 -1
  113. package/lib/msgpack/MsgPackToJsonConverter.d.ts +30 -4
  114. package/lib/msgpack/MsgPackToJsonConverter.js +32 -5
  115. package/lib/msgpack/MsgPackToJsonConverter.js.map +1 -1
  116. package/lib/msgpack/index.d.ts +29 -0
  117. package/lib/msgpack/index.js +30 -0
  118. package/lib/msgpack/index.js.map +1 -1
  119. package/lib/msgpack/shallow-read.js +7 -7
  120. package/lib/msgpack/shallow-read.js.map +1 -1
  121. package/lib/msgpack/types.d.ts +1 -0
  122. package/lib/msgpack/util.d.ts +1 -1
  123. package/lib/nfs/v3/FullNfsv3Encoder.d.ts +3 -3
  124. package/lib/nfs/v3/FullNfsv3Encoder.js +3 -3
  125. package/lib/nfs/v3/FullNfsv3Encoder.js.map +1 -1
  126. package/lib/nfs/v3/Nfsv3Decoder.js +51 -50
  127. package/lib/nfs/v3/Nfsv3Decoder.js.map +1 -1
  128. package/lib/nfs/v3/Nfsv3Encoder.d.ts +2 -2
  129. package/lib/nfs/v3/Nfsv3Encoder.js +52 -52
  130. package/lib/nfs/v3/Nfsv3Encoder.js.map +1 -1
  131. package/lib/nfs/v3/constants.d.ts +34 -0
  132. package/lib/nfs/v3/constants.js +4 -0
  133. package/lib/nfs/v3/constants.js.map +1 -1
  134. package/lib/nfs/v3/locks/NlmDecoder.js +20 -20
  135. package/lib/nfs/v3/locks/NlmDecoder.js.map +1 -1
  136. package/lib/nfs/v3/locks/NlmEncoder.d.ts +2 -2
  137. package/lib/nfs/v3/locks/NlmEncoder.js +20 -20
  138. package/lib/nfs/v3/locks/NlmEncoder.js.map +1 -1
  139. package/lib/nfs/v3/locks/constants.d.ts +9 -0
  140. package/lib/nfs/v3/locks/messages.d.ts +58 -1
  141. package/lib/nfs/v3/locks/messages.js +54 -0
  142. package/lib/nfs/v3/locks/messages.js.map +1 -1
  143. package/lib/nfs/v3/locks/structs.d.ts +15 -0
  144. package/lib/nfs/v3/locks/structs.js +15 -0
  145. package/lib/nfs/v3/locks/structs.js.map +1 -1
  146. package/lib/nfs/v3/messages.d.ts +249 -0
  147. package/lib/nfs/v3/messages.js +249 -0
  148. package/lib/nfs/v3/messages.js.map +1 -1
  149. package/lib/nfs/v3/mount/MountDecoder.js +12 -12
  150. package/lib/nfs/v3/mount/MountEncoder.d.ts +2 -2
  151. package/lib/nfs/v3/mount/MountEncoder.js +13 -13
  152. package/lib/nfs/v3/mount/MountEncoder.js.map +1 -1
  153. package/lib/nfs/v3/mount/constants.d.ts +9 -0
  154. package/lib/nfs/v3/mount/messages.d.ts +31 -1
  155. package/lib/nfs/v3/mount/messages.js +27 -0
  156. package/lib/nfs/v3/mount/messages.js.map +1 -1
  157. package/lib/nfs/v3/mount/structs.d.ts +15 -0
  158. package/lib/nfs/v3/mount/structs.js +15 -0
  159. package/lib/nfs/v3/mount/structs.js.map +1 -1
  160. package/lib/nfs/v3/structs.d.ts +78 -0
  161. package/lib/nfs/v3/structs.js +78 -0
  162. package/lib/nfs/v3/structs.js.map +1 -1
  163. package/lib/nfs/v4/Nfsv4Decoder.d.ts +0 -2
  164. package/lib/nfs/v4/Nfsv4Decoder.js +96 -102
  165. package/lib/nfs/v4/Nfsv4Decoder.js.map +1 -1
  166. package/lib/nfs/v4/Nfsv4Encoder.d.ts +2 -2
  167. package/lib/nfs/v4/Nfsv4Encoder.js +1 -1
  168. package/lib/nfs/v4/Nfsv4Encoder.js.map +1 -1
  169. package/lib/nfs/v4/Nfsv4FullEncoder.d.ts +4 -4
  170. package/lib/nfs/v4/Nfsv4FullEncoder.js +4 -4
  171. package/lib/nfs/v4/Nfsv4FullEncoder.js.map +1 -1
  172. package/lib/nfs/v4/attributes.d.ts +62 -0
  173. package/lib/nfs/v4/attributes.js +209 -147
  174. package/lib/nfs/v4/attributes.js.map +1 -1
  175. package/lib/nfs/v4/builder.d.ts +274 -1
  176. package/lib/nfs/v4/builder.js +283 -10
  177. package/lib/nfs/v4/builder.js.map +1 -1
  178. package/lib/nfs/v4/client/NfsFsDir.d.ts +4 -1
  179. package/lib/nfs/v4/client/NfsFsDir.js +8 -5
  180. package/lib/nfs/v4/client/NfsFsDir.js.map +1 -1
  181. package/lib/nfs/v4/client/NfsFsDirent.d.ts +3 -0
  182. package/lib/nfs/v4/client/NfsFsDirent.js +10 -7
  183. package/lib/nfs/v4/client/NfsFsDirent.js.map +1 -1
  184. package/lib/nfs/v4/client/NfsFsFileHandle.d.ts +4 -3
  185. package/lib/nfs/v4/client/NfsFsFileHandle.js +13 -10
  186. package/lib/nfs/v4/client/NfsFsFileHandle.js.map +1 -1
  187. package/lib/nfs/v4/client/NfsFsStats.d.ts +3 -0
  188. package/lib/nfs/v4/client/NfsFsStats.js +10 -7
  189. package/lib/nfs/v4/client/NfsFsStats.js.map +1 -1
  190. package/lib/nfs/v4/client/Nfsv4FsClient.d.ts +2 -3
  191. package/lib/nfs/v4/client/Nfsv4FsClient.js +92 -92
  192. package/lib/nfs/v4/client/Nfsv4FsClient.js.map +1 -1
  193. package/lib/nfs/v4/client/Nfsv4TcpClient.d.ts +6 -6
  194. package/lib/nfs/v4/client/Nfsv4TcpClient.js +3 -3
  195. package/lib/nfs/v4/client/Nfsv4TcpClient.js.map +1 -1
  196. package/lib/nfs/v4/client/types.d.ts +1 -1
  197. package/lib/nfs/v4/constants.d.ts +78 -1
  198. package/lib/nfs/v4/format.d.ts +1 -1
  199. package/lib/nfs/v4/format.js +229 -229
  200. package/lib/nfs/v4/format.js.map +1 -1
  201. package/lib/nfs/v4/messages.js +101 -101
  202. package/lib/nfs/v4/messages.js.map +1 -1
  203. package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.d.ts +20 -1
  204. package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js +29 -8
  205. package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js.map +1 -1
  206. package/lib/nfs/v4/server/Nfsv4Connection.d.ts +6 -3
  207. package/lib/nfs/v4/server/Nfsv4Connection.js +11 -8
  208. package/lib/nfs/v4/server/Nfsv4Connection.js.map +1 -1
  209. package/lib/nfs/v4/server/Nfsv4TcpServer.d.ts +2 -3
  210. package/lib/nfs/v4/server/Nfsv4TcpServer.js +1 -0
  211. package/lib/nfs/v4/server/Nfsv4TcpServer.js.map +1 -1
  212. package/lib/nfs/v4/server/operations/ByteRangeLock.d.ts +69 -1
  213. package/lib/nfs/v4/server/operations/ByteRangeLock.js +43 -1
  214. package/lib/nfs/v4/server/operations/ByteRangeLock.js.map +1 -1
  215. package/lib/nfs/v4/server/operations/ClientRecord.d.ts +98 -1
  216. package/lib/nfs/v4/server/operations/ClientRecord.js +54 -1
  217. package/lib/nfs/v4/server/operations/ClientRecord.js.map +1 -1
  218. package/lib/nfs/v4/server/operations/FilesystemStats.d.ts +22 -1
  219. package/lib/nfs/v4/server/operations/FilesystemStats.js +16 -1
  220. package/lib/nfs/v4/server/operations/FilesystemStats.js.map +1 -1
  221. package/lib/nfs/v4/server/operations/LockOwnerState.d.ts +75 -2
  222. package/lib/nfs/v4/server/operations/LockOwnerState.js +43 -1
  223. package/lib/nfs/v4/server/operations/LockOwnerState.js.map +1 -1
  224. package/lib/nfs/v4/server/operations/LockStateid.d.ts +55 -1
  225. package/lib/nfs/v4/server/operations/LockStateid.js +37 -1
  226. package/lib/nfs/v4/server/operations/LockStateid.js.map +1 -1
  227. package/lib/nfs/v4/server/operations/Nfsv4Operations.d.ts +2 -1
  228. package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.d.ts +2 -2
  229. package/lib/nfs/v4/server/operations/OpenFileState.d.ts +90 -2
  230. package/lib/nfs/v4/server/operations/OpenFileState.js +52 -1
  231. package/lib/nfs/v4/server/operations/OpenFileState.js.map +1 -1
  232. package/lib/nfs/v4/server/operations/OpenOwnerState.d.ts +76 -2
  233. package/lib/nfs/v4/server/operations/OpenOwnerState.js +44 -1
  234. package/lib/nfs/v4/server/operations/OpenOwnerState.js.map +1 -1
  235. package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.d.ts +73 -3
  236. package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js +261 -187
  237. package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js.map +1 -1
  238. package/lib/nfs/v4/server/operations/node/attrs.d.ts +13 -1
  239. package/lib/nfs/v4/server/operations/node/attrs.js +75 -62
  240. package/lib/nfs/v4/server/operations/node/attrs.js.map +1 -1
  241. package/lib/nfs/v4/server/operations/node/fh.d.ts +67 -2
  242. package/lib/nfs/v4/server/operations/node/fh.js +83 -21
  243. package/lib/nfs/v4/server/operations/node/fh.js.map +1 -1
  244. package/lib/nfs/v4/server/operations/node/util.js +4 -4
  245. package/lib/nfs/v4/server/operations/node/util.js.map +1 -1
  246. package/lib/nfs/v4/server/util.d.ts +0 -1
  247. package/lib/nfs/v4/server/util.js +40 -40
  248. package/lib/nfs/v4/structs.d.ts +136 -4
  249. package/lib/nfs/v4/structs.js +129 -0
  250. package/lib/nfs/v4/structs.js.map +1 -1
  251. package/lib/resp/RespDecoder.d.ts +9 -0
  252. package/lib/resp/RespDecoder.js +93 -76
  253. package/lib/resp/RespDecoder.js.map +1 -1
  254. package/lib/resp/RespEncoder.d.ts +8 -0
  255. package/lib/resp/RespEncoder.js +107 -89
  256. package/lib/resp/RespEncoder.js.map +1 -1
  257. package/lib/resp/RespEncoderLegacy.d.ts +3 -0
  258. package/lib/resp/RespEncoderLegacy.js +7 -4
  259. package/lib/resp/RespEncoderLegacy.js.map +1 -1
  260. package/lib/resp/RespStreamingDecoder.d.ts +48 -0
  261. package/lib/resp/RespStreamingDecoder.js +48 -0
  262. package/lib/resp/RespStreamingDecoder.js.map +1 -1
  263. package/lib/resp/constants.d.ts +19 -19
  264. package/lib/rm/RmRecordEncoder.d.ts +15 -1
  265. package/lib/rm/RmRecordEncoder.js +15 -1
  266. package/lib/rm/RmRecordEncoder.js.map +1 -1
  267. package/lib/rpc/RpcMessageDecoder.d.ts +1 -1
  268. package/lib/rpc/RpcMessageDecoder.js +8 -7
  269. package/lib/rpc/RpcMessageDecoder.js.map +1 -1
  270. package/lib/rpc/RpcMessageEncoder.d.ts +2 -2
  271. package/lib/rpc/RpcMessageEncoder.js +6 -6
  272. package/lib/rpc/RpcMessageEncoder.js.map +1 -1
  273. package/lib/rpc/constants.d.ts +76 -28
  274. package/lib/rpc/constants.js +10 -0
  275. package/lib/rpc/constants.js.map +1 -1
  276. package/lib/ssh/SshDecoder.d.ts +46 -0
  277. package/lib/ssh/SshDecoder.js +52 -2
  278. package/lib/ssh/SshDecoder.js.map +1 -1
  279. package/lib/ssh/SshEncoder.d.ts +69 -0
  280. package/lib/ssh/SshEncoder.js +81 -8
  281. package/lib/ssh/SshEncoder.js.map +1 -1
  282. package/lib/ssh/index.d.ts +6 -0
  283. package/lib/ssh/index.js +6 -0
  284. package/lib/ssh/index.js.map +1 -1
  285. package/lib/ubjson/UbjsonDecoder.js +1 -1
  286. package/lib/ubjson/UbjsonDecoder.js.map +1 -1
  287. package/lib/ubjson/UbjsonEncoder.js +6 -5
  288. package/lib/ubjson/UbjsonEncoder.js.map +1 -1
  289. package/lib/util/CompressionTable.js +4 -4
  290. package/lib/util/CompressionTable.js.map +1 -1
  291. package/lib/util/DecompressionTable.js +3 -2
  292. package/lib/util/DecompressionTable.js.map +1 -1
  293. package/lib/ws/WsFrameDecoder.d.ts +18 -0
  294. package/lib/ws/WsFrameDecoder.js +18 -0
  295. package/lib/ws/WsFrameDecoder.js.map +1 -1
  296. package/lib/ws/WsFrameEncoder.d.ts +1 -1
  297. package/lib/ws/WsFrameEncoder.js +3 -3
  298. package/lib/ws/WsFrameEncoder.js.map +1 -1
  299. package/lib/ws/constants.js +5 -0
  300. package/lib/ws/constants.js.map +1 -1
  301. package/lib/xdr/XdrDecoder.d.ts +62 -0
  302. package/lib/xdr/XdrDecoder.js +73 -6
  303. package/lib/xdr/XdrDecoder.js.map +1 -1
  304. package/lib/xdr/XdrEncoder.d.ts +71 -0
  305. package/lib/xdr/XdrEncoder.js +88 -13
  306. package/lib/xdr/XdrEncoder.js.map +1 -1
  307. package/lib/xdr/XdrSchemaDecoder.d.ts +40 -0
  308. package/lib/xdr/XdrSchemaDecoder.js +52 -0
  309. package/lib/xdr/XdrSchemaDecoder.js.map +1 -1
  310. package/lib/xdr/XdrSchemaEncoder.d.ts +5 -0
  311. package/lib/xdr/XdrSchemaEncoder.js +9 -0
  312. package/lib/xdr/XdrSchemaEncoder.js.map +1 -1
  313. package/lib/xdr/XdrSchemaValidator.d.ts +9 -0
  314. package/lib/xdr/XdrSchemaValidator.js +42 -11
  315. package/lib/xdr/XdrSchemaValidator.js.map +1 -1
  316. package/lib/xdr/XdrUnion.d.ts +5 -0
  317. package/lib/xdr/XdrUnion.js +5 -0
  318. package/lib/xdr/XdrUnion.js.map +1 -1
  319. package/lib/xdr/index.d.ts +14 -0
  320. package/lib/xdr/index.js +14 -0
  321. package/lib/xdr/index.js.map +1 -1
  322. package/lib/xdr/types.d.ts +46 -0
  323. package/package.json +32 -55
@@ -1 +1 @@
1
- {"version":3,"file":"CborEncoderStable.js","sourceRoot":"","sources":["../../src/cbor/CborEncoderStable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CborEncoderStable.js","sourceRoot":"","sources":["../../src/cbor/CborEncoderStable.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { CborEncoder } from './CborEncoder';
2
2
  import { CborDecoder } from './CborDecoder';
3
- import { CborUint8Array } from './types';
3
+ import type { CborUint8Array } from './types';
4
4
  export type { CborUint8Array };
5
5
  export declare const encoder: CborEncoder<import("@jsonjoy.com/buffers").IWriter & import("@jsonjoy.com/buffers").IWriterGrowable>;
6
6
  export declare const decoder: CborDecoder<import("@jsonjoy.com/buffers").IReader & import("@jsonjoy.com/buffers").IReaderResettable>;
@@ -1,4 +1,4 @@
1
- import { Writer } from '@jsonjoy.com/buffers/lib/Writer';
1
+ import type { Writer } from '@jsonjoy.com/buffers/lib/Writer';
2
2
  import { CborJsonValueCodec } from './cbor';
3
3
  import { JsonJsonValueCodec } from './json';
4
4
  import { MsgPackJsonValueCodec } from './msgpack';
@@ -6,7 +6,7 @@ const CborEncoder_1 = require("../cbor/CborEncoder");
6
6
  class CborJsonValueCodec {
7
7
  constructor(writer) {
8
8
  this.id = 'cbor';
9
- this.format = 0;
9
+ this.format = 0 /* EncodingFormat.Cbor */;
10
10
  this.encoder = new CborEncoder_1.CborEncoder(writer);
11
11
  this.decoder = new CborDecoder_1.CborDecoder();
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cbor.js","sourceRoot":"","sources":["../../src/codecs/cbor.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,qDAAgD;AAKhD,MAAa,kBAAkB;IAM7B,YAAY,MAAc;QALV,OAAE,GAAG,MAAM,CAAC;QACZ,WAAM,KAAuB;QAK3C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC;IACnC,CAAC;CACF;AAVD,gDAUC"}
1
+ {"version":3,"file":"cbor.js","sourceRoot":"","sources":["../../src/codecs/cbor.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,qDAAgD;AAKhD,MAAa,kBAAkB;IAM7B,YAAY,MAAc;QALV,OAAE,GAAG,MAAM,CAAC;QACZ,WAAM,+BAAuB;QAK3C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC;IACnC,CAAC;CACF;AAVD,gDAUC"}
@@ -6,7 +6,7 @@ const JsonDecoder_1 = require("../json/JsonDecoder");
6
6
  class JsonJsonValueCodec {
7
7
  constructor(writer) {
8
8
  this.id = 'json';
9
- this.format = 2;
9
+ this.format = 2 /* EncodingFormat.Json */;
10
10
  this.encoder = new JsonEncoder_1.JsonEncoder(writer);
11
11
  this.decoder = new JsonDecoder_1.JsonDecoder();
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/codecs/json.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,qDAAgD;AAIhD,MAAa,kBAAkB;IAM7B,YAAY,MAAc;QALV,OAAE,GAAG,MAAM,CAAC;QACZ,WAAM,KAAuB;QAK3C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC;IACnC,CAAC;CACF;AAVD,gDAUC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/codecs/json.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,qDAAgD;AAIhD,MAAa,kBAAkB;IAM7B,YAAY,MAAc;QALV,OAAE,GAAG,MAAM,CAAC;QACZ,WAAM,+BAAuB;QAK3C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC;IACnC,CAAC;CACF;AAVD,gDAUC"}
@@ -6,7 +6,7 @@ const MsgPackDecoder_1 = require("../msgpack/MsgPackDecoder");
6
6
  class MsgPackJsonValueCodec {
7
7
  constructor(writer) {
8
8
  this.id = 'msgpack';
9
- this.format = 1;
9
+ this.format = 1 /* EncodingFormat.MsgPack */;
10
10
  this.encoder = new msgpack_1.MsgPackEncoder(writer);
11
11
  this.decoder = new MsgPackDecoder_1.MsgPackDecoder();
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"msgpack.js","sourceRoot":"","sources":["../../src/codecs/msgpack.ts"],"names":[],"mappings":";;;AACA,wCAA0C;AAC1C,8DAAyD;AAIzD,MAAa,qBAAqB;IAMhC,YAAY,MAAc;QALV,OAAE,GAAG,SAAS,CAAC;QACf,WAAM,KAA0B;QAK9C,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;IACtC,CAAC;CACF;AAVD,sDAUC"}
1
+ {"version":3,"file":"msgpack.js","sourceRoot":"","sources":["../../src/codecs/msgpack.ts"],"names":[],"mappings":";;;AACA,wCAA0C;AAC1C,8DAAyD;AAIzD,MAAa,qBAAqB;IAMhC,YAAY,MAAc;QALV,OAAE,GAAG,SAAS,CAAC;QACf,WAAM,kCAA0B;QAK9C,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;IACtC,CAAC;CACF;AAVD,sDAUC"}
@@ -1,10 +1,15 @@
1
1
  import { JsonDecoder } from '../json/JsonDecoder';
2
2
  export interface EjsonDecoderOptions {
3
+ /** Whether to parse legacy Extended JSON formats */
3
4
  legacy?: boolean;
4
5
  }
5
6
  export declare class EjsonDecoder extends JsonDecoder {
6
7
  private options;
7
8
  constructor(options?: EjsonDecoderOptions);
9
+ /**
10
+ * Decode from string (for backward compatibility).
11
+ * This method maintains the previous API but uses the binary decoder internally.
12
+ */
8
13
  decodeFromString(json: string): unknown;
9
14
  readAny(): unknown;
10
15
  readArr(): unknown[];
@@ -9,6 +9,10 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
9
9
  super();
10
10
  this.options = options;
11
11
  }
12
+ /**
13
+ * Decode from string (for backward compatibility).
14
+ * This method maintains the previous API but uses the binary decoder internally.
15
+ */
12
16
  decodeFromString(json) {
13
17
  const bytes = new TextEncoder().encode(json);
14
18
  return this.decode(bytes);
@@ -19,27 +23,27 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
19
23
  const uint8 = reader.uint8;
20
24
  const char = uint8[reader.x];
21
25
  switch (char) {
22
- case 34:
26
+ case 34 /* " */:
23
27
  return this.readStr();
24
- case 91:
28
+ case 91 /* [ */:
25
29
  return this.readArr();
26
- case 102:
30
+ case 102 /* f */:
27
31
  return this.readFalse();
28
- case 110:
32
+ case 110 /* n */:
29
33
  return this.readNull();
30
- case 116:
34
+ case 116 /* t */:
31
35
  return this.readTrue();
32
- case 123:
36
+ case 123 /* { */:
33
37
  return this.readObjWithEjsonSupport();
34
38
  default:
35
- if ((char >= 48 && char <= 57) || char === 45)
39
+ if ((char >= 48 /* 0 */ && char <= 57) /* 9 */ || char === 45 /* - */)
36
40
  return this.readNum();
37
41
  throw new Error('Invalid JSON');
38
42
  }
39
43
  }
40
44
  readArr() {
41
45
  const reader = this.reader;
42
- if (reader.u8() !== 0x5b)
46
+ if (reader.u8() !== 0x5b /* [ */)
43
47
  throw new Error('Invalid JSON');
44
48
  const arr = [];
45
49
  const uint8 = reader.uint8;
@@ -47,20 +51,20 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
47
51
  while (true) {
48
52
  this.skipWhitespace();
49
53
  const char = uint8[reader.x];
50
- if (char === 0x5d)
54
+ if (char === 0x5d /* ] */)
51
55
  return reader.x++, arr;
52
- if (char === 0x2c)
56
+ if (char === 0x2c /* , */)
53
57
  reader.x++;
54
58
  else if (!first)
55
59
  throw new Error('Invalid JSON');
56
60
  this.skipWhitespace();
57
- arr.push(this.readAny());
61
+ arr.push(this.readAny()); // Arrays should process EJSON objects recursively
58
62
  first = false;
59
63
  }
60
64
  }
61
65
  readObjWithEjsonSupport() {
62
66
  const reader = this.reader;
63
- if (reader.u8() !== 0x7b)
67
+ if (reader.u8() !== 0x7b /* { */)
64
68
  throw new Error('Invalid JSON');
65
69
  const obj = {};
66
70
  const uint8 = reader.uint8;
@@ -68,25 +72,27 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
68
72
  while (true) {
69
73
  this.skipWhitespace();
70
74
  let char = uint8[reader.x];
71
- if (char === 0x7d) {
75
+ if (char === 0x7d /* } */) {
72
76
  reader.x++;
77
+ // Check if this is an EJSON type wrapper
73
78
  return this.transformEjsonObject(obj);
74
79
  }
75
- if (char === 0x2c)
80
+ if (char === 0x2c /* , */)
76
81
  reader.x++;
77
82
  else if (!first)
78
83
  throw new Error('Invalid JSON');
79
84
  this.skipWhitespace();
80
85
  char = uint8[reader.x++];
81
- if (char !== 0x22)
86
+ if (char !== 0x22 /* " */)
82
87
  throw new Error('Invalid JSON');
83
88
  const key = (0, JsonDecoder_2.readKey)(reader);
84
89
  if (key === '__proto__')
85
90
  throw new Error('Invalid JSON');
86
91
  this.skipWhitespace();
87
- if (reader.u8() !== 0x3a)
92
+ if (reader.u8() !== 0x3a /* : */)
88
93
  throw new Error('Invalid JSON');
89
94
  this.skipWhitespace();
95
+ // For EJSON type wrapper detection, we need to read nested objects as raw first
90
96
  obj[key] = this.readValue();
91
97
  first = false;
92
98
  }
@@ -97,27 +103,27 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
97
103
  const uint8 = reader.uint8;
98
104
  const char = uint8[reader.x];
99
105
  switch (char) {
100
- case 34:
106
+ case 34 /* " */:
101
107
  return this.readStr();
102
- case 91:
108
+ case 91 /* [ */:
103
109
  return this.readArr();
104
- case 102:
110
+ case 102 /* f */:
105
111
  return this.readFalse();
106
- case 110:
112
+ case 110 /* n */:
107
113
  return this.readNull();
108
- case 116:
114
+ case 116 /* t */:
109
115
  return this.readTrue();
110
- case 123:
111
- return this.readRawObj();
116
+ case 123 /* { */:
117
+ return this.readRawObj(); // Read as raw object first
112
118
  default:
113
- if ((char >= 48 && char <= 57) || char === 45)
119
+ if ((char >= 48 /* 0 */ && char <= 57) /* 9 */ || char === 45 /* - */)
114
120
  return this.readNum();
115
121
  throw new Error('Invalid JSON');
116
122
  }
117
123
  }
118
124
  readRawObj() {
119
125
  const reader = this.reader;
120
- if (reader.u8() !== 0x7b)
126
+ if (reader.u8() !== 0x7b /* { */)
121
127
  throw new Error('Invalid JSON');
122
128
  const obj = {};
123
129
  const uint8 = reader.uint8;
@@ -125,23 +131,23 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
125
131
  while (true) {
126
132
  this.skipWhitespace();
127
133
  let char = uint8[reader.x];
128
- if (char === 0x7d) {
134
+ if (char === 0x7d /* } */) {
129
135
  reader.x++;
130
- return obj;
136
+ return obj; // Return raw object without transformation
131
137
  }
132
- if (char === 0x2c)
138
+ if (char === 0x2c /* , */)
133
139
  reader.x++;
134
140
  else if (!first)
135
141
  throw new Error('Invalid JSON');
136
142
  this.skipWhitespace();
137
143
  char = uint8[reader.x++];
138
- if (char !== 0x22)
144
+ if (char !== 0x22 /* " */)
139
145
  throw new Error('Invalid JSON');
140
146
  const key = (0, JsonDecoder_2.readKey)(reader);
141
147
  if (key === '__proto__')
142
148
  throw new Error('Invalid JSON');
143
149
  this.skipWhitespace();
144
- if (reader.u8() !== 0x3a)
150
+ if (reader.u8() !== 0x3a /* : */)
145
151
  throw new Error('Invalid JSON');
146
152
  this.skipWhitespace();
147
153
  obj[key] = this.readValue();
@@ -150,13 +156,16 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
150
156
  }
151
157
  transformEjsonObject(obj) {
152
158
  const keys = Object.keys(obj);
159
+ // Helper function to validate exact key match
153
160
  const hasExactKeys = (expectedKeys) => {
154
161
  if (keys.length !== expectedKeys.length)
155
162
  return false;
156
163
  return expectedKeys.every((key) => keys.includes(key));
157
164
  };
165
+ // Check if object has any special $ keys that indicate a type wrapper
158
166
  const specialKeys = keys.filter((key) => key.startsWith('$'));
159
167
  if (specialKeys.length > 0) {
168
+ // ObjectId
160
169
  if (specialKeys.includes('$oid')) {
161
170
  if (!hasExactKeys(['$oid'])) {
162
171
  throw new Error('Invalid ObjectId format: extra keys not allowed');
@@ -167,6 +176,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
167
176
  }
168
177
  throw new Error('Invalid ObjectId format');
169
178
  }
179
+ // Int32
170
180
  if (specialKeys.includes('$numberInt')) {
171
181
  if (!hasExactKeys(['$numberInt'])) {
172
182
  throw new Error('Invalid Int32 format: extra keys not allowed');
@@ -174,25 +184,27 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
174
184
  const intStr = obj.$numberInt;
175
185
  if (typeof intStr === 'string') {
176
186
  const value = parseInt(intStr, 10);
177
- if (!isNaN(value) && value >= -2147483648 && value <= 2147483647) {
187
+ if (!Number.isNaN(value) && value >= -2147483648 && value <= 2147483647) {
178
188
  return new values_1.BsonInt32(value);
179
189
  }
180
190
  }
181
191
  throw new Error('Invalid Int32 format');
182
192
  }
193
+ // Int64
183
194
  if (specialKeys.includes('$numberLong')) {
184
195
  if (!hasExactKeys(['$numberLong'])) {
185
196
  throw new Error('Invalid Int64 format: extra keys not allowed');
186
197
  }
187
198
  const longStr = obj.$numberLong;
188
199
  if (typeof longStr === 'string') {
189
- const value = parseFloat(longStr);
190
- if (!isNaN(value)) {
200
+ const value = parseFloat(longStr); // Use parseFloat to handle large numbers better
201
+ if (!Number.isNaN(value)) {
191
202
  return new values_1.BsonInt64(value);
192
203
  }
193
204
  }
194
205
  throw new Error('Invalid Int64 format');
195
206
  }
207
+ // Double
196
208
  if (specialKeys.includes('$numberDouble')) {
197
209
  if (!hasExactKeys(['$numberDouble'])) {
198
210
  throw new Error('Invalid Double format: extra keys not allowed');
@@ -206,12 +218,13 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
206
218
  if (doubleStr === 'NaN')
207
219
  return new values_1.BsonFloat(NaN);
208
220
  const value = parseFloat(doubleStr);
209
- if (!isNaN(value)) {
221
+ if (!Number.isNaN(value)) {
210
222
  return new values_1.BsonFloat(value);
211
223
  }
212
224
  }
213
225
  throw new Error('Invalid Double format');
214
226
  }
227
+ // Decimal128
215
228
  if (specialKeys.includes('$numberDecimal')) {
216
229
  if (!hasExactKeys(['$numberDecimal'])) {
217
230
  throw new Error('Invalid Decimal128 format: extra keys not allowed');
@@ -222,6 +235,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
222
235
  }
223
236
  throw new Error('Invalid Decimal128 format');
224
237
  }
238
+ // Binary
225
239
  if (specialKeys.includes('$binary')) {
226
240
  if (!hasExactKeys(['$binary'])) {
227
241
  throw new Error('Invalid Binary format: extra keys not allowed');
@@ -241,6 +255,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
241
255
  }
242
256
  throw new Error('Invalid Binary format');
243
257
  }
258
+ // UUID (special case of Binary)
244
259
  if (specialKeys.includes('$uuid')) {
245
260
  if (!hasExactKeys(['$uuid'])) {
246
261
  throw new Error('Invalid UUID format: extra keys not allowed');
@@ -248,10 +263,11 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
248
263
  const uuidStr = obj.$uuid;
249
264
  if (typeof uuidStr === 'string' && this.isValidUuid(uuidStr)) {
250
265
  const data = this.uuidToBytes(uuidStr);
251
- return new values_1.BsonBinary(4, data);
266
+ return new values_1.BsonBinary(4, data); // Subtype 4 for UUID
252
267
  }
253
268
  throw new Error('Invalid UUID format');
254
269
  }
270
+ // Code
255
271
  if (specialKeys.includes('$code') && !specialKeys.includes('$scope')) {
256
272
  if (!hasExactKeys(['$code'])) {
257
273
  throw new Error('Invalid Code format: extra keys not allowed');
@@ -262,6 +278,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
262
278
  }
263
279
  throw new Error('Invalid Code format');
264
280
  }
281
+ // CodeWScope
265
282
  if (specialKeys.includes('$code') && specialKeys.includes('$scope')) {
266
283
  if (!hasExactKeys(['$code', '$scope'])) {
267
284
  throw new Error('Invalid CodeWScope format: extra keys not allowed');
@@ -273,6 +290,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
273
290
  }
274
291
  throw new Error('Invalid CodeWScope format');
275
292
  }
293
+ // Symbol
276
294
  if (specialKeys.includes('$symbol')) {
277
295
  if (!hasExactKeys(['$symbol'])) {
278
296
  throw new Error('Invalid Symbol format: extra keys not allowed');
@@ -283,6 +301,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
283
301
  }
284
302
  throw new Error('Invalid Symbol format');
285
303
  }
304
+ // Timestamp
286
305
  if (specialKeys.includes('$timestamp')) {
287
306
  if (!hasExactKeys(['$timestamp'])) {
288
307
  throw new Error('Invalid Timestamp format: extra keys not allowed');
@@ -300,6 +319,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
300
319
  }
301
320
  throw new Error('Invalid Timestamp format');
302
321
  }
322
+ // Regular Expression
303
323
  if (specialKeys.includes('$regularExpression')) {
304
324
  if (!hasExactKeys(['$regularExpression'])) {
305
325
  throw new Error('Invalid RegularExpression format: extra keys not allowed');
@@ -317,6 +337,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
317
337
  }
318
338
  throw new Error('Invalid RegularExpression format');
319
339
  }
340
+ // DBPointer
320
341
  if (specialKeys.includes('$dbPointer')) {
321
342
  if (!hasExactKeys(['$dbPointer'])) {
322
343
  throw new Error('Invalid DBPointer format: extra keys not allowed');
@@ -337,29 +358,33 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
337
358
  }
338
359
  throw new Error('Invalid DBPointer format');
339
360
  }
361
+ // Date
340
362
  if (specialKeys.includes('$date')) {
341
363
  if (!hasExactKeys(['$date'])) {
342
364
  throw new Error('Invalid Date format: extra keys not allowed');
343
365
  }
344
366
  const dateValue = obj.$date;
345
367
  if (typeof dateValue === 'string') {
368
+ // ISO-8601 format (relaxed)
346
369
  const date = new Date(dateValue);
347
- if (!isNaN(date.getTime())) {
370
+ if (!Number.isNaN(date.getTime())) {
348
371
  return date;
349
372
  }
350
373
  }
351
374
  else if (typeof dateValue === 'object' && dateValue !== null) {
375
+ // Canonical format with $numberLong
352
376
  const longObj = dateValue;
353
377
  const longKeys = Object.keys(longObj);
354
378
  if (longKeys.length === 1 && longKeys[0] === '$numberLong' && typeof longObj.$numberLong === 'string') {
355
379
  const timestamp = parseFloat(longObj.$numberLong);
356
- if (!isNaN(timestamp)) {
380
+ if (!Number.isNaN(timestamp)) {
357
381
  return new Date(timestamp);
358
382
  }
359
383
  }
360
384
  }
361
385
  throw new Error('Invalid Date format');
362
386
  }
387
+ // MinKey
363
388
  if (specialKeys.includes('$minKey')) {
364
389
  if (!hasExactKeys(['$minKey'])) {
365
390
  throw new Error('Invalid MinKey format: extra keys not allowed');
@@ -369,6 +394,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
369
394
  }
370
395
  throw new Error('Invalid MinKey format');
371
396
  }
397
+ // MaxKey
372
398
  if (specialKeys.includes('$maxKey')) {
373
399
  if (!hasExactKeys(['$maxKey'])) {
374
400
  throw new Error('Invalid MaxKey format: extra keys not allowed');
@@ -378,6 +404,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
378
404
  }
379
405
  throw new Error('Invalid MaxKey format');
380
406
  }
407
+ // Undefined
381
408
  if (specialKeys.includes('$undefined')) {
382
409
  if (!hasExactKeys(['$undefined'])) {
383
410
  throw new Error('Invalid Undefined format: extra keys not allowed');
@@ -388,6 +415,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
388
415
  throw new Error('Invalid Undefined format');
389
416
  }
390
417
  }
418
+ // DBRef (not a BSON type, but a convention) - special case, can have additional fields
391
419
  if (keys.includes('$ref') && keys.includes('$id')) {
392
420
  const ref = obj.$ref;
393
421
  const id = this.transformEjsonObject(obj.$id);
@@ -395,6 +423,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
395
423
  if (keys.includes('$db')) {
396
424
  result.$db = obj.$db;
397
425
  }
426
+ // Add any other fields
398
427
  for (const key of keys) {
399
428
  if (key !== '$ref' && key !== '$id' && key !== '$db') {
400
429
  result[key] = this.transformEjsonObject(obj[key]);
@@ -402,6 +431,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
402
431
  }
403
432
  return result;
404
433
  }
434
+ // Regular object - transform all properties
405
435
  const result = {};
406
436
  for (const [key, val] of Object.entries(obj)) {
407
437
  if (typeof val === 'object' && val !== null && !Array.isArray(val)) {
@@ -418,13 +448,16 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
418
448
  }
419
449
  return result;
420
450
  }
451
+ // Utility methods
421
452
  parseObjectId(hex) {
453
+ // Parse 24-character hex string into ObjectId components
422
454
  const timestamp = parseInt(hex.slice(0, 8), 16);
423
455
  const process = parseInt(hex.slice(8, 18), 16);
424
456
  const counter = parseInt(hex.slice(18, 24), 16);
425
457
  return new values_1.BsonObjectId(timestamp, process, counter);
426
458
  }
427
459
  base64ToUint8Array(base64) {
460
+ // Convert base64 string to Uint8Array
428
461
  const binary = atob(base64);
429
462
  const bytes = new Uint8Array(binary.length);
430
463
  for (let i = 0; i < binary.length; i++) {
@@ -433,10 +466,12 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
433
466
  return bytes;
434
467
  }
435
468
  isValidUuid(uuid) {
469
+ // UUID pattern: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
436
470
  const uuidPattern = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
437
471
  return uuidPattern.test(uuid);
438
472
  }
439
473
  uuidToBytes(uuid) {
474
+ // Convert UUID string to 16-byte array
440
475
  const hex = uuid.replace(/-/g, '');
441
476
  const bytes = new Uint8Array(16);
442
477
  for (let i = 0; i < 16; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"EjsonDecoder.js","sourceRoot":"","sources":["../../src/ejson/EjsonDecoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EjsonDecoder.js","sourceRoot":"","sources":["../../src/ejson/EjsonDecoder.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  import { JsonEncoder } from '../json/JsonEncoder';
2
2
  import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
3
3
  export interface EjsonEncoderOptions {
4
+ /** Use canonical format (preserves all type information) or relaxed format (more readable) */
4
5
  canonical?: boolean;
5
6
  }
6
7
  export declare class EjsonEncoder extends JsonEncoder {
7
8
  private options;
8
9
  constructor(writer: IWriter & IWriterGrowable, options?: EjsonEncoderOptions);
10
+ /**
11
+ * Encode to string (for backward compatibility).
12
+ * This method maintains the previous API but uses the binary encoder internally.
13
+ */
9
14
  encodeToString(value: unknown): string;
10
15
  writeUnknown(value: unknown): void;
11
16
  writeAny(value: unknown): void;