@jsonjoy.com/json-pack 1.21.0 → 17.60.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
@@ -9,6 +9,10 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
9
9
  super(writer);
10
10
  this.options = options;
11
11
  }
12
+ /**
13
+ * Encode to string (for backward compatibility).
14
+ * This method maintains the previous API but uses the binary encoder internally.
15
+ */
12
16
  encodeToString(value) {
13
17
  const bytes = this.encode(value);
14
18
  return new TextDecoder().decode(bytes);
@@ -41,6 +45,7 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
41
45
  if (value instanceof RegExp) {
42
46
  return this.writeRegExpAsEjson(value);
43
47
  }
48
+ // Handle BSON value classes
44
49
  if (value instanceof values_1.BsonObjectId) {
45
50
  return this.writeObjectIdAsEjson(value);
46
51
  }
@@ -83,36 +88,38 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
83
88
  if (typeof value === 'object' && value !== null) {
84
89
  return this.writeObj(value);
85
90
  }
91
+ // Fallback for unknown types
86
92
  return this.writeUnknown(value);
87
93
  }
88
94
  writeBin(buf) {
89
95
  const writer = this.writer;
90
96
  const length = buf.length;
91
97
  writer.ensureCapacity(38 + 3 + (length << 1));
98
+ // Write: "data:application/octet-stream;base64,
92
99
  const view = writer.view;
93
100
  let x = writer.x;
94
- view.setUint32(x, 577003892);
101
+ view.setUint32(x, 577003892); // "dat
95
102
  x += 4;
96
- view.setUint32(x, 1631215984);
103
+ view.setUint32(x, 1631215984); // a:ap
97
104
  x += 4;
98
- view.setUint32(x, 1886153059);
105
+ view.setUint32(x, 1886153059); // plic
99
106
  x += 4;
100
- view.setUint32(x, 1635019119);
107
+ view.setUint32(x, 1635019119); // atio
101
108
  x += 4;
102
- view.setUint32(x, 1848602467);
109
+ view.setUint32(x, 1848602467); // n/oc
103
110
  x += 4;
104
- view.setUint32(x, 1952805933);
111
+ view.setUint32(x, 1952805933); // tet-
105
112
  x += 4;
106
- view.setUint32(x, 1937011301);
113
+ view.setUint32(x, 1937011301); // stre
107
114
  x += 4;
108
- view.setUint32(x, 1634548578);
115
+ view.setUint32(x, 1634548578); // am;b
109
116
  x += 4;
110
- view.setUint32(x, 1634952502);
117
+ view.setUint32(x, 1634952502); // ase6
111
118
  x += 4;
112
- view.setUint16(x, 13356);
119
+ view.setUint16(x, 13356); // 4,
113
120
  x += 2;
114
121
  x = (0, toBase64Bin_1.toBase64Bin)(buf, 0, length, view, x);
115
- writer.uint8[x++] = 0x22;
122
+ writer.uint8[x++] = 0x22; // "
116
123
  writer.x = x;
117
124
  }
118
125
  writeStr(str) {
@@ -122,13 +129,13 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
122
129
  if (length < 256) {
123
130
  let x = writer.x;
124
131
  const uint8 = writer.uint8;
125
- uint8[x++] = 0x22;
132
+ uint8[x++] = 0x22; // "
126
133
  for (let i = 0; i < length; i++) {
127
134
  const code = str.charCodeAt(i);
128
135
  switch (code) {
129
- case 34:
130
- case 92:
131
- uint8[x++] = 0x5c;
136
+ case 34: // "
137
+ case 92: // \
138
+ uint8[x++] = 0x5c; // \
132
139
  break;
133
140
  }
134
141
  if (code < 32 || code > 126) {
@@ -138,7 +145,7 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
138
145
  else
139
146
  uint8[x++] = code;
140
147
  }
141
- uint8[x++] = 0x22;
148
+ uint8[x++] = 0x22; // "
142
149
  writer.x = x;
143
150
  return;
144
151
  }
@@ -150,64 +157,67 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
150
157
  writer.ensureCapacity(length * 2 + 2);
151
158
  const uint8 = writer.uint8;
152
159
  let x = writer.x;
153
- uint8[x++] = 0x22;
160
+ uint8[x++] = 0x22; // "
154
161
  for (let i = 0; i < length; i++) {
155
162
  const code = str.charCodeAt(i);
156
163
  switch (code) {
157
- case 34:
158
- case 92:
159
- uint8[x++] = 0x5c;
164
+ case 34: // "
165
+ case 92: // \
166
+ uint8[x++] = 0x5c; // \
160
167
  break;
161
168
  }
162
169
  uint8[x++] = code;
163
170
  }
164
- uint8[x++] = 0x22;
171
+ uint8[x++] = 0x22; // "
165
172
  writer.x = x;
166
173
  }
167
174
  writeArr(arr) {
168
175
  const writer = this.writer;
169
- writer.u8(0x5b);
176
+ writer.u8(0x5b); // [
170
177
  const length = arr.length;
171
178
  const last = length - 1;
172
179
  for (let i = 0; i < last; i++) {
173
180
  this.writeAny(arr[i]);
174
- writer.u8(0x2c);
181
+ writer.u8(0x2c); // ,
175
182
  }
176
183
  if (last >= 0)
177
184
  this.writeAny(arr[last]);
178
- writer.u8(0x5d);
185
+ writer.u8(0x5d); // ]
179
186
  }
180
187
  writeObj(obj) {
181
188
  const writer = this.writer;
182
189
  const keys = Object.keys(obj);
183
190
  const length = keys.length;
184
191
  if (!length)
185
- return writer.u16(0x7b7d);
186
- writer.u8(0x7b);
192
+ return writer.u16(0x7b7d); // {}
193
+ writer.u8(0x7b); // {
187
194
  for (let i = 0; i < length; i++) {
188
195
  const key = keys[i];
189
196
  const value = obj[key];
190
197
  this.writeStr(key);
191
- writer.u8(0x3a);
198
+ writer.u8(0x3a); // :
192
199
  this.writeAny(value);
193
- writer.u8(0x2c);
200
+ writer.u8(0x2c); // ,
194
201
  }
195
- writer.uint8[writer.x - 1] = 0x7d;
202
+ writer.uint8[writer.x - 1] = 0x7d; // }
196
203
  }
204
+ // EJSON-specific type wrapper methods
197
205
  writeUndefinedWrapper() {
206
+ // Write {"$undefined":true}
198
207
  const writer = this.writer;
199
208
  writer.ensureCapacity(18);
200
- writer.u8(0x7b);
209
+ writer.u8(0x7b); // {
201
210
  writer.u32(0x2224756e);
202
211
  writer.u32(0x64656669);
203
- writer.u32(0x6e656422);
204
- writer.u8(0x3a);
205
- writer.u32(0x74727565);
206
- writer.u8(0x7d);
212
+ writer.u32(0x6e656422); // "$undefined"
213
+ writer.u8(0x3a); // :
214
+ writer.u32(0x74727565); // true
215
+ writer.u8(0x7d); // }
207
216
  }
208
217
  writeNumberAsEjson(value) {
209
218
  if (this.options.canonical) {
210
219
  if (Number.isInteger(value)) {
220
+ // Determine if it fits in Int32 or needs Int64
211
221
  if (value >= -2147483648 && value <= 2147483647) {
212
222
  this.writeNumberIntWrapper(value);
213
223
  }
@@ -220,7 +230,8 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
220
230
  }
221
231
  }
222
232
  else {
223
- if (!isFinite(value)) {
233
+ // Relaxed format
234
+ if (!Number.isFinite(value)) {
224
235
  this.writeNumberDoubleWrapper(value);
225
236
  }
226
237
  else {
@@ -229,105 +240,114 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
229
240
  }
230
241
  }
231
242
  writeNumberIntWrapper(value) {
243
+ // Write {"$numberInt":"value"}
232
244
  const writer = this.writer;
233
- writer.u8(0x7b);
245
+ writer.u8(0x7b); // {
234
246
  writer.u32(0x22246e75);
235
247
  writer.u32(0x6d626572);
236
- writer.u32(0x496e7422);
237
- writer.u8(0x3a);
248
+ writer.u32(0x496e7422); // "$numberInt"
249
+ writer.u8(0x3a); // :
238
250
  this.writeStr(value + '');
239
- writer.u8(0x7d);
251
+ writer.u8(0x7d); // }
240
252
  }
241
253
  writeNumberLongWrapper(value) {
254
+ // Write {"$numberLong":"value"}
242
255
  const writer = this.writer;
243
- writer.u8(0x7b);
256
+ writer.u8(0x7b); // {
244
257
  writer.u32(0x22246e75);
245
258
  writer.u32(0x6d626572);
246
259
  writer.u32(0x4c6f6e67);
247
- writer.u16(0x223a);
260
+ writer.u16(0x223a); // "$numberLong":
248
261
  this.writeStr(value + '');
249
- writer.u8(0x7d);
262
+ writer.u8(0x7d); // }
250
263
  }
251
264
  writeNumberDoubleWrapper(value) {
265
+ // Write {"$numberDouble":"value"}
252
266
  const writer = this.writer;
253
- writer.u8(0x7b);
267
+ writer.u8(0x7b); // {
254
268
  writer.u32(0x22246e75);
255
269
  writer.u32(0x6d626572);
256
270
  writer.u32(0x446f7562);
257
271
  writer.u16(0x6c65);
258
- writer.u16(0x223a);
259
- if (!isFinite(value)) {
272
+ writer.u16(0x223a); // "$numberDouble":
273
+ if (!Number.isFinite(value)) {
260
274
  this.writeStr(this.formatNonFinite(value));
261
275
  }
262
276
  else {
263
277
  this.writeStr(value + '');
264
278
  }
265
- writer.u8(0x7d);
279
+ writer.u8(0x7d); // }
266
280
  }
267
281
  writeDateAsEjson(value) {
268
282
  const timestamp = value.getTime();
269
- if (isNaN(timestamp)) {
283
+ // Check if date is valid
284
+ if (Number.isNaN(timestamp)) {
270
285
  throw new Error('Invalid Date');
271
286
  }
272
287
  const writer = this.writer;
273
- writer.u8(0x7b);
288
+ writer.u8(0x7b); // {
274
289
  writer.u32(0x22246461);
275
290
  writer.u16(0x7465);
276
- writer.u16(0x223a);
291
+ writer.u16(0x223a); // "$date":
277
292
  if (this.options.canonical) {
278
- writer.u8(0x7b);
293
+ // Write {"$numberLong":"timestamp"}
294
+ writer.u8(0x7b); // {
279
295
  writer.u32(0x22246e75);
280
296
  writer.u32(0x6d626572);
281
297
  writer.u32(0x4c6f6e67);
282
- writer.u16(0x223a);
298
+ writer.u16(0x223a); // "$numberLong":
283
299
  this.writeStr(timestamp + '');
284
- writer.u8(0x7d);
300
+ writer.u8(0x7d); // }
285
301
  }
286
302
  else {
303
+ // Use ISO format for dates between 1970-9999 in relaxed mode
287
304
  const year = value.getFullYear();
288
305
  if (year >= 1970 && year <= 9999) {
289
306
  this.writeStr(value.toISOString());
290
307
  }
291
308
  else {
292
- writer.u8(0x7b);
309
+ // Write {"$numberLong":"timestamp"}
310
+ writer.u8(0x7b); // {
293
311
  writer.u32(0x22246e75);
294
312
  writer.u32(0x6d626572);
295
313
  writer.u32(0x4c6f6e67);
296
- writer.u16(0x223a);
314
+ writer.u16(0x223a); // "$numberLong":
297
315
  this.writeStr(timestamp + '');
298
- writer.u8(0x7d);
316
+ writer.u8(0x7d); // }
299
317
  }
300
318
  }
301
- writer.u8(0x7d);
319
+ writer.u8(0x7d); // }
302
320
  }
303
321
  writeRegExpAsEjson(value) {
322
+ // Write {"$regularExpression":{"pattern":"...","options":"..."}}
304
323
  const writer = this.writer;
305
- writer.u8(0x7b);
324
+ writer.u8(0x7b); // {
306
325
  writer.u32(0x22247265);
307
326
  writer.u32(0x67756c61);
308
327
  writer.u32(0x72457870);
309
328
  writer.u32(0x72657373);
310
- writer.u32(0x696f6e22);
311
- writer.u16(0x3a7b);
329
+ writer.u32(0x696f6e22); // "$regularExpression"
330
+ writer.u16(0x3a7b); // :{
312
331
  writer.u32(0x22706174);
313
332
  writer.u32(0x7465726e);
314
- writer.u16(0x223a);
333
+ writer.u16(0x223a); // "pattern":
315
334
  this.writeStr(value.source);
316
- writer.u8(0x2c);
335
+ writer.u8(0x2c); // ,
317
336
  writer.u32(0x226f7074);
318
337
  writer.u32(0x696f6e73);
319
- writer.u16(0x223a);
338
+ writer.u16(0x223a); // "options":
320
339
  this.writeStr(value.flags);
321
- writer.u16(0x7d7d);
340
+ writer.u16(0x7d7d); // }}
322
341
  }
323
342
  writeObjectIdAsEjson(value) {
343
+ // Write {"$oid":"hexstring"}
324
344
  const writer = this.writer;
325
- writer.u8(0x7b);
345
+ writer.u8(0x7b); // {
326
346
  writer.u32(0x22246f69);
327
- writer.u16(0x6422);
328
- writer.u8(0x3a);
347
+ writer.u16(0x6422); // "$oid"
348
+ writer.u8(0x3a); // :
329
349
  this.writeStr(this.objectIdToHex(value));
330
- writer.u8(0x7d);
350
+ writer.u8(0x7d); // }
331
351
  }
332
352
  writeBsonInt32AsEjson(value) {
333
353
  if (this.options.canonical) {
@@ -350,7 +370,7 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
350
370
  this.writeNumberDoubleWrapper(value.value);
351
371
  }
352
372
  else {
353
- if (!isFinite(value.value)) {
373
+ if (!Number.isFinite(value.value)) {
354
374
  this.writeNumberDoubleWrapper(value.value);
355
375
  }
356
376
  else {
@@ -359,117 +379,127 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
359
379
  }
360
380
  }
361
381
  writeBsonDecimal128AsEjson(value) {
382
+ // Write {"$numberDecimal":"..."}
362
383
  const writer = this.writer;
363
- writer.u8(0x7b);
384
+ writer.u8(0x7b); // {
364
385
  writer.u32(0x22246e75);
365
386
  writer.u32(0x6d626572);
366
387
  writer.u32(0x44656369);
367
- writer.u32(0x6d616c22);
368
- writer.u8(0x3a);
388
+ writer.u32(0x6d616c22); // "$numberDecimal"
389
+ writer.u8(0x3a); // :
369
390
  this.writeStr(this.decimal128ToString(value.data));
370
- writer.u8(0x7d);
391
+ writer.u8(0x7d); // }
371
392
  }
372
393
  writeBsonBinaryAsEjson(value) {
394
+ // Write {"$binary":{"base64":"...","subType":"..."}}
373
395
  const writer = this.writer;
374
- writer.u8(0x7b);
396
+ writer.u8(0x7b); // {
375
397
  writer.u32(0x22246269);
376
398
  writer.u32(0x6e617279);
377
- writer.u16(0x223a);
378
- writer.u8(0x7b);
399
+ writer.u16(0x223a); // "$binary":
400
+ writer.u8(0x7b); // {
379
401
  writer.u32(0x22626173);
380
- writer.u32(0x65363422);
381
- writer.u8(0x3a);
402
+ writer.u32(0x65363422); // "base64"
403
+ writer.u8(0x3a); // :
382
404
  this.writeStr(this.uint8ArrayToBase64(value.data));
383
- writer.u8(0x2c);
405
+ writer.u8(0x2c); // ,
384
406
  writer.u32(0x22737562);
385
407
  writer.u32(0x54797065);
386
- writer.u16(0x223a);
408
+ writer.u16(0x223a); // "subType":
387
409
  this.writeStr(value.subtype.toString(16).padStart(2, '0'));
388
- writer.u16(0x7d7d);
410
+ writer.u16(0x7d7d); // }}
389
411
  }
390
412
  writeBsonCodeAsEjson(value) {
413
+ // Write {"$code":"..."}
391
414
  const writer = this.writer;
392
- writer.u8(0x7b);
415
+ writer.u8(0x7b); // {
393
416
  writer.u32(0x2224636f);
394
417
  writer.u16(0x6465);
395
- writer.u16(0x223a);
418
+ writer.u16(0x223a); // "$code":
396
419
  this.writeStr(value.code);
397
- writer.u8(0x7d);
420
+ writer.u8(0x7d); // }
398
421
  }
399
422
  writeBsonCodeWScopeAsEjson(value) {
423
+ // Write {"$code":"...","$scope":{...}}
400
424
  const writer = this.writer;
401
- writer.u8(0x7b);
425
+ writer.u8(0x7b); // {
402
426
  writer.u32(0x2224636f);
403
427
  writer.u16(0x6465);
404
- writer.u16(0x223a);
428
+ writer.u16(0x223a); // "$code":
405
429
  this.writeStr(value.code);
406
- writer.u8(0x2c);
430
+ writer.u8(0x2c); // ,
407
431
  writer.u32(0x22247363);
408
- writer.u32(0x6f706522);
409
- writer.u8(0x3a);
432
+ writer.u32(0x6f706522); // "$scope"
433
+ writer.u8(0x3a); // :
410
434
  this.writeAny(value.scope);
411
- writer.u8(0x7d);
435
+ writer.u8(0x7d); // }
412
436
  }
413
437
  writeBsonSymbolAsEjson(value) {
438
+ // Write {"$symbol":"..."}
414
439
  const writer = this.writer;
415
- writer.u8(0x7b);
440
+ writer.u8(0x7b); // {
416
441
  writer.u32(0x22247379);
417
442
  writer.u32(0x6d626f6c);
418
- writer.u16(0x223a);
443
+ writer.u16(0x223a); // "$symbol":
419
444
  this.writeStr(value.symbol);
420
- writer.u8(0x7d);
445
+ writer.u8(0x7d); // }
421
446
  }
422
447
  writeBsonTimestampAsEjson(value) {
448
+ // Write {"$timestamp":{"t":...,"i":...}}
423
449
  const writer = this.writer;
424
- writer.u8(0x7b);
450
+ writer.u8(0x7b); // {
425
451
  writer.u32(0x22247469);
426
452
  writer.u32(0x6d657374);
427
- writer.u32(0x616d7022);
428
- writer.u16(0x3a7b);
453
+ writer.u32(0x616d7022); // "$timestamp"
454
+ writer.u16(0x3a7b); // :{
429
455
  writer.u16(0x2274);
430
- writer.u16(0x223a);
456
+ writer.u16(0x223a); // "t":
431
457
  this.writeNumber(value.timestamp);
432
- writer.u8(0x2c);
458
+ writer.u8(0x2c); // ,
433
459
  writer.u16(0x2269);
434
- writer.u16(0x223a);
460
+ writer.u16(0x223a); // "i":
435
461
  this.writeNumber(value.increment);
436
- writer.u16(0x7d7d);
462
+ writer.u16(0x7d7d); // }}
437
463
  }
438
464
  writeBsonDbPointerAsEjson(value) {
465
+ // Write {"$dbPointer":{"$ref":"...","$id":{...}}}
439
466
  const writer = this.writer;
440
- writer.u8(0x7b);
467
+ writer.u8(0x7b); // {
441
468
  writer.u32(0x22246462);
442
469
  writer.u32(0x506f696e);
443
- writer.u32(0x74657222);
444
- writer.u16(0x3a7b);
470
+ writer.u32(0x74657222); // "$dbPointer"
471
+ writer.u16(0x3a7b); // :{
445
472
  writer.u32(0x22247265);
446
- writer.u16(0x6622);
447
- writer.u8(0x3a);
473
+ writer.u16(0x6622); // "$ref"
474
+ writer.u8(0x3a); // :
448
475
  this.writeStr(value.name);
449
- writer.u8(0x2c);
476
+ writer.u8(0x2c); // ,
450
477
  writer.u32(0x22246964);
451
- writer.u16(0x223a);
478
+ writer.u16(0x223a); // "$id":
452
479
  this.writeAny(value.id);
453
- writer.u16(0x7d7d);
480
+ writer.u16(0x7d7d); // }}
454
481
  }
455
482
  writeBsonMinKeyAsEjson() {
483
+ // Write {"$minKey":1}
456
484
  const writer = this.writer;
457
- writer.u8(0x7b);
485
+ writer.u8(0x7b); // {
458
486
  writer.u32(0x22246d69);
459
487
  writer.u32(0x6e4b6579);
460
- writer.u16(0x223a);
488
+ writer.u16(0x223a); // "$minKey":
461
489
  this.writeNumber(1);
462
- writer.u8(0x7d);
490
+ writer.u8(0x7d); // }
463
491
  }
464
492
  writeBsonMaxKeyAsEjson() {
493
+ // Write {"$maxKey":1}
465
494
  const writer = this.writer;
466
- writer.u8(0x7b);
495
+ writer.u8(0x7b); // {
467
496
  writer.u32(0x22246d61);
468
497
  writer.u32(0x784b6579);
469
- writer.u16(0x223a);
498
+ writer.u16(0x223a); // "$maxKey":
470
499
  this.writeNumber(1);
471
- writer.u8(0x7d);
500
+ writer.u8(0x7d); // }
472
501
  }
502
+ // Utility methods
473
503
  formatNonFinite(value) {
474
504
  if (value === Infinity)
475
505
  return 'Infinity';
@@ -478,12 +508,14 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
478
508
  return 'NaN';
479
509
  }
480
510
  objectIdToHex(objectId) {
511
+ // Convert ObjectId components to 24-character hex string
481
512
  const timestamp = objectId.timestamp.toString(16).padStart(8, '0');
482
513
  const process = objectId.process.toString(16).padStart(10, '0');
483
514
  const counter = objectId.counter.toString(16).padStart(6, '0');
484
515
  return timestamp + process + counter;
485
516
  }
486
517
  uint8ArrayToBase64(data) {
518
+ // Convert Uint8Array to base64 string
487
519
  let binary = '';
488
520
  for (let i = 0; i < data.length; i++) {
489
521
  binary += String.fromCharCode(data[i]);
@@ -491,7 +523,10 @@ class EjsonEncoder extends JsonEncoder_1.JsonEncoder {
491
523
  return btoa(binary);
492
524
  }
493
525
  decimal128ToString(data) {
494
- return '0';
526
+ // This is a simplified implementation
527
+ // In a real implementation, you'd need to parse the IEEE 754-2008 decimal128 format
528
+ // For now, return a placeholder that indicates the format
529
+ return '0'; // TODO: Implement proper decimal128 to string conversion
495
530
  }
496
531
  }
497
532
  exports.EjsonEncoder = EjsonEncoder;
@@ -1 +1 @@
1
- {"version":3,"file":"EjsonEncoder.js","sourceRoot":"","sources":["../../src/ejson/EjsonEncoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EjsonEncoder.js","sourceRoot":"","sources":["../../src/ejson/EjsonEncoder.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ var EjsonEncoder_1 = require("./EjsonEncoder");
5
5
  Object.defineProperty(exports, "EjsonEncoder", { enumerable: true, get: function () { return EjsonEncoder_1.EjsonEncoder; } });
6
6
  var EjsonDecoder_1 = require("./EjsonDecoder");
7
7
  Object.defineProperty(exports, "EjsonDecoder", { enumerable: true, get: function () { return EjsonDecoder_1.EjsonDecoder; } });
8
+ // Re-export shared BSON value classes for convenience
8
9
  var values_1 = require("../bson/values");
9
10
  Object.defineProperty(exports, "BsonBinary", { enumerable: true, get: function () { return values_1.BsonBinary; } });
10
11
  Object.defineProperty(exports, "BsonDbPointer", { enumerable: true, get: function () { return values_1.BsonDbPointer; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ejson/index.ts"],"names":[],"mappings":";;;AAIA,+CAAsE;AAA9D,4GAAA,YAAY,OAAA;AACpB,+CAAsE;AAA9D,4GAAA,YAAY,OAAA;AAGpB,yCAcwB;AAbtB,oGAAA,UAAU,OAAA;AACV,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,4GAAA,kBAAkB,OAAA;AAClB,qHAAA,2BAA2B,OAAA;AAC3B,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,uGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ejson/index.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AAA9D,4GAAA,YAAY,OAAA;AACpB,+CAAsE;AAA9D,4GAAA,YAAY,OAAA;AAEpB,sDAAsD;AACtD,yCAcwB;AAbtB,oGAAA,UAAU,OAAA;AACV,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,4GAAA,kBAAkB,OAAA;AAClB,qHAAA,2BAA2B,OAAA;AAC3B,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,uGAAA,aAAa,OAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ObjAstNode } from './ast';
2
- import { SymbolTable } from './types';
2
+ import type { SymbolTable } from './types';
3
3
  export declare class Import {
4
4
  readonly parent: Import | null;
5
5
  readonly symbols: SymbolTable;