@marcuspuchalla/nachos 0.1.3 → 0.1.4

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 (55) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/{chunk-5A5T56JB.js → chunk-5IWW5H47.js} +378 -207
  3. package/dist/chunk-5IWW5H47.js.map +1 -0
  4. package/dist/{chunk-PTWN7K3Y.cjs → chunk-RVG2BY32.cjs} +378 -207
  5. package/dist/chunk-RVG2BY32.cjs.map +1 -0
  6. package/dist/{chunk-R62CQQNI.cjs → chunk-S4RXO6IB.cjs} +195 -165
  7. package/dist/chunk-S4RXO6IB.cjs.map +1 -0
  8. package/dist/{chunk-2MTLSQ7E.js → chunk-UMAX5MX5.js} +195 -165
  9. package/dist/chunk-UMAX5MX5.js.map +1 -0
  10. package/dist/encoder/index.cjs +13 -13
  11. package/dist/encoder/index.d.cts +2 -2
  12. package/dist/encoder/index.d.ts +2 -2
  13. package/dist/encoder/index.js +1 -1
  14. package/dist/index.cjs +32 -32
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +28 -19
  17. package/dist/index.d.ts +28 -19
  18. package/dist/index.js +16 -16
  19. package/dist/index.js.map +1 -1
  20. package/dist/metafile-cjs.json +1 -1
  21. package/dist/metafile-esm.json +1 -1
  22. package/dist/parser/index.cjs +14 -14
  23. package/dist/parser/index.d.cts +3 -1
  24. package/dist/parser/index.d.ts +3 -1
  25. package/dist/parser/index.js +1 -1
  26. package/dist/{useCborSimpleEncoder-TVxzNJ_9.d.ts → useCborSimpleEncoder-BoKEmjP9.d.ts} +0 -2
  27. package/dist/{useCborSimpleEncoder-ButVU988.d.cts → useCborSimpleEncoder-C_OHxoB8.d.cts} +0 -2
  28. package/dist/{useCborTag-Cs1CZuXZ.d.cts → useCborTag-BD6Sqp7p.d.ts} +9 -4
  29. package/dist/{useCborTag-xV2Pz2VY.d.ts → useCborTag-QpZR-Er2.d.cts} +9 -4
  30. package/package.json +1 -1
  31. package/src/__tests__/public-api.test.ts +153 -0
  32. package/src/__tests__/roundtrip.test.ts +5 -6
  33. package/src/encoder/__tests__/cbor-collection-encoder.test.ts +103 -5
  34. package/src/encoder/__tests__/cbor-encoder-errors.test.ts +40 -5
  35. package/src/encoder/__tests__/cbor-simple-encoder.test.ts +126 -0
  36. package/src/encoder/composables/useCborCollectionEncoder.ts +28 -25
  37. package/src/encoder/composables/useCborEncoder.ts +21 -0
  38. package/src/encoder/composables/useCborSimpleEncoder.ts +34 -7
  39. package/src/encoder/types.ts +0 -2
  40. package/src/index.ts +29 -20
  41. package/src/parser/__tests__/buffer-native-parsing.test.ts +338 -0
  42. package/src/parser/__tests__/cbor-map-duplicate-keys.test.ts +97 -7
  43. package/src/parser/__tests__/cbor-security-dos-protection.test.ts +164 -31
  44. package/src/parser/__tests__/cbor-standard-tags.test.ts +75 -7
  45. package/src/parser/__tests__/cbor-tag-reparse-fix.test.ts +268 -0
  46. package/src/parser/composables/useCborCollection.ts +45 -42
  47. package/src/parser/composables/useCborFloat.ts +2 -1
  48. package/src/parser/composables/useCborInteger.ts +24 -10
  49. package/src/parser/composables/useCborParser.ts +387 -197
  50. package/src/parser/composables/useCborTag.ts +45 -37
  51. package/src/parser/utils.ts +11 -0
  52. package/dist/chunk-2MTLSQ7E.js.map +0 -1
  53. package/dist/chunk-5A5T56JB.js.map +0 -1
  54. package/dist/chunk-PTWN7K3Y.cjs.map +0 -1
  55. package/dist/chunk-R62CQQNI.cjs.map +0 -1
@@ -1 +1 @@
1
- {"inputs":{"src/parser/types.ts":{"bytes":9412,"imports":[],"format":"esm"},"src/parser/utils.ts":{"bytes":11556,"imports":[],"format":"esm"},"src/parser/composables/useCborInteger.ts":{"bytes":3364,"imports":[{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/parser/composables/useCborStringTypes.ts":{"bytes":3185,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/parser/composables/useCborString.ts":{"bytes":12691,"imports":[{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborStringTypes.ts","kind":"import-statement","original":"./useCborStringTypes"}],"format":"esm"},"src/parser/composables/useCborFloat.ts":{"bytes":11593,"imports":[{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/parser/composables/useCborTag.ts":{"bytes":28332,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../types"},{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./useCborString"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./useCborFloat"}],"format":"esm"},"src/utils/logger.ts":{"bytes":1825,"imports":[],"format":"esm"},"src/parser/composables/useCborCollection.ts":{"bytes":18382,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../types"},{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./useCborString"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./useCborFloat"},{"path":"src/parser/composables/useCborTag.ts","kind":"import-statement","original":"./useCborTag"},{"path":"src/utils/logger.ts","kind":"import-statement","original":"../../utils/logger"}],"format":"esm"},"src/parser/composables/useCborParser.ts":{"bytes":31056,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../types"},{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./useCborString"},{"path":"src/parser/composables/useCborCollection.ts","kind":"import-statement","original":"./useCborCollection"},{"path":"src/parser/composables/useCborTag.ts","kind":"import-statement","original":"./useCborTag"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./useCborFloat"},{"path":"src/utils/logger.ts","kind":"import-statement","original":"../../utils/logger"}],"format":"esm"},"src/parser/composables/useCborDiagnostic.ts":{"bytes":9727,"imports":[],"format":"esm"},"src/parser/utils/pathBuilder.ts":{"bytes":7967,"imports":[],"format":"esm"},"src/encoder/types.ts":{"bytes":2164,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../parser/types"}],"format":"esm"},"src/encoder/utils.ts":{"bytes":1716,"imports":[],"format":"esm"},"src/encoder/composables/useCborIntegerEncoder.ts":{"bytes":5693,"imports":[{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/encoder/composables/useCborStringEncoder.ts":{"bytes":9331,"imports":[{"path":"src/encoder/types.ts","kind":"import-statement","original":"../types"},{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborStringTypes.ts","kind":"import-statement","original":"../../parser/composables/useCborStringTypes"}],"format":"esm"},"src/encoder/composables/useCborCollectionEncoder.ts":{"bytes":14075,"imports":[{"path":"src/encoder/types.ts","kind":"import-statement","original":"../types"},{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./useCborIntegerEncoder"},{"path":"src/encoder/composables/useCborStringEncoder.ts","kind":"import-statement","original":"./useCborStringEncoder"},{"path":"src/parser/composables/useCborStringTypes.ts","kind":"import-statement","original":"../../parser/composables/useCborStringTypes"}],"format":"esm"},"src/encoder/composables/useCborSimpleEncoder.ts":{"bytes":7738,"imports":[{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./useCborIntegerEncoder"}],"format":"esm"},"src/encoder/composables/useCborTagEncoder.ts":{"bytes":4739,"imports":[{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/encoder/composables/useCborEncoder.ts":{"bytes":6195,"imports":[{"path":"src/encoder/types.ts","kind":"import-statement","original":"../types"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./useCborIntegerEncoder"},{"path":"src/encoder/composables/useCborStringEncoder.ts","kind":"import-statement","original":"./useCborStringEncoder"},{"path":"src/encoder/composables/useCborCollectionEncoder.ts","kind":"import-statement","original":"./useCborCollectionEncoder"},{"path":"src/encoder/composables/useCborSimpleEncoder.ts","kind":"import-statement","original":"./useCborSimpleEncoder"},{"path":"src/encoder/composables/useCborTagEncoder.ts","kind":"import-statement","original":"./useCborTagEncoder"},{"path":"src/parser/composables/useCborStringTypes.ts","kind":"import-statement","original":"../../parser/composables/useCborStringTypes"}],"format":"esm"},"src/index.ts":{"bytes":12754,"imports":[{"path":"src/parser/composables/useCborParser.ts","kind":"import-statement","original":"./parser/composables/useCborParser"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./parser/composables/useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./parser/composables/useCborString"},{"path":"src/parser/composables/useCborCollection.ts","kind":"import-statement","original":"./parser/composables/useCborCollection"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./parser/composables/useCborFloat"},{"path":"src/parser/composables/useCborTag.ts","kind":"import-statement","original":"./parser/composables/useCborTag"},{"path":"src/parser/composables/useCborDiagnostic.ts","kind":"import-statement","original":"./parser/composables/useCborDiagnostic"},{"path":"src/parser/utils/pathBuilder.ts","kind":"import-statement","original":"./parser/utils/pathBuilder"},{"path":"src/encoder/composables/useCborEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborEncoder"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborIntegerEncoder"},{"path":"src/encoder/composables/useCborStringEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborStringEncoder"},{"path":"src/encoder/composables/useCborCollectionEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborCollectionEncoder"},{"path":"src/encoder/composables/useCborSimpleEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborSimpleEncoder"},{"path":"src/parser/types.ts","kind":"import-statement","original":"./parser/types"},{"path":"src/encoder/types.ts","kind":"import-statement","original":"./encoder/types"},{"path":"src/parser/composables/useCborParser.ts","kind":"import-statement","original":"./parser/composables/useCborParser"},{"path":"src/encoder/composables/useCborEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborEncoder"},{"path":"src/parser/composables/useCborDiagnostic.ts","kind":"import-statement","original":"./parser/composables/useCborDiagnostic"}],"format":"esm"},"src/parser/index.ts":{"bytes":1118,"imports":[{"path":"src/parser/composables/useCborParser.ts","kind":"import-statement","original":"./composables/useCborParser"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./composables/useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./composables/useCborString"},{"path":"src/parser/composables/useCborCollection.ts","kind":"import-statement","original":"./composables/useCborCollection"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./composables/useCborFloat"},{"path":"src/parser/composables/useCborTag.ts","kind":"import-statement","original":"./composables/useCborTag"},{"path":"src/parser/types.ts","kind":"import-statement","original":"./types"},{"path":"src/parser/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/encoder/index.ts":{"bytes":871,"imports":[{"path":"src/encoder/composables/useCborEncoder.ts","kind":"import-statement","original":"./composables/useCborEncoder"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./composables/useCborIntegerEncoder"},{"path":"src/encoder/composables/useCborStringEncoder.ts","kind":"import-statement","original":"./composables/useCborStringEncoder"},{"path":"src/encoder/composables/useCborCollectionEncoder.ts","kind":"import-statement","original":"./composables/useCborCollectionEncoder"},{"path":"src/encoder/composables/useCborSimpleEncoder.ts","kind":"import-statement","original":"./composables/useCborSimpleEncoder"},{"path":"src/encoder/composables/useCborTagEncoder.ts","kind":"import-statement","original":"./composables/useCborTagEncoder"},{"path":"src/encoder/types.ts","kind":"import-statement","original":"./types"},{"path":"src/encoder/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":41596},"dist/index.js":{"imports":[{"path":"dist/chunk-5A5T56JB.js","kind":"import-statement"},{"path":"dist/chunk-2MTLSQ7E.js","kind":"import-statement"},{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["CborAdditionalInfo","CborDecoder","CborEncoder","CborMajorType","CborSimpleValue","CborTag","DEFAULT_ENCODE_OPTIONS","DEFAULT_LIMITS","DEFAULT_OPTIONS","PathBuilder","decode","decodeToDiagnostic","decodeWithSourceMap","encode","encodeSequence","encodeToBytes","encodeToHex","toDiagnostic","useCborCollection","useCborCollectionEncoder","useCborDiagnostic","useCborEncoder","useCborFloat","useCborInteger","useCborIntegerEncoder","useCborParser","useCborSimpleEncoder","useCborString","useCborStringEncoder","useCborTag"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":2742},"src/parser/composables/useCborDiagnostic.ts":{"bytesInOutput":6607},"src/parser/utils/pathBuilder.ts":{"bytesInOutput":6197}},"bytes":16677},"dist/parser/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/parser/index.js":{"imports":[{"path":"dist/chunk-5A5T56JB.js","kind":"import-statement"},{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["CborAdditionalInfo","CborMajorType","CborSimpleValue","CborTag","DEFAULT_LIMITS","DEFAULT_OPTIONS","bytesToHex","extractCborHeader","hexToBytes","readBigUint","readByte","readUint","useCborCollection","useCborFloat","useCborInteger","useCborParser","useCborString","useCborTag","validateUtf8Strict"],"entryPoint":"src/parser/index.ts","inputs":{"src/parser/index.ts":{"bytesInOutput":0}},"bytes":727},"dist/chunk-5A5T56JB.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":176070},"dist/chunk-5A5T56JB.js":{"imports":[{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["bytesToHex","extractCborHeader","hexToBytes","readBigUint","readByte","readUint","useCborCollection","useCborFloat","useCborInteger","useCborParser","useCborString","useCborTag","validateUtf8Strict"],"inputs":{"src/parser/utils.ts":{"bytesInOutput":7883},"src/parser/composables/useCborInteger.ts":{"bytesInOutput":1916},"src/parser/composables/useCborString.ts":{"bytesInOutput":8888},"src/parser/composables/useCborFloat.ts":{"bytesInOutput":7507},"src/parser/composables/useCborTag.ts":{"bytesInOutput":20825},"src/utils/logger.ts":{"bytesInOutput":1046},"src/parser/composables/useCborCollection.ts":{"bytesInOutput":11696},"src/parser/composables/useCborParser.ts":{"bytesInOutput":23561}},"bytes":84020},"dist/encoder/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/encoder/index.js":{"imports":[{"path":"dist/chunk-2MTLSQ7E.js","kind":"import-statement"},{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["DEFAULT_ENCODE_OPTIONS","bytesToHex","compareBytes","concatenateUint8Arrays","useCborCollectionEncoder","useCborEncoder","useCborIntegerEncoder","useCborSimpleEncoder","useCborStringEncoder","useCborTagEncoder","writeBigUint","writeUint"],"entryPoint":"src/encoder/index.ts","inputs":{"src/encoder/index.ts":{"bytesInOutput":0}},"bytes":583},"dist/chunk-2MTLSQ7E.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":72835},"dist/chunk-2MTLSQ7E.js":{"imports":[{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["DEFAULT_ENCODE_OPTIONS","bytesToHex","compareBytes","concatenateUint8Arrays","useCborCollectionEncoder","useCborEncoder","useCborIntegerEncoder","useCborSimpleEncoder","useCborStringEncoder","useCborTagEncoder","writeBigUint","writeUint"],"inputs":{"src/encoder/types.ts":{"bytesInOutput":172},"src/encoder/utils.ts":{"bytesInOutput":1180},"src/encoder/composables/useCborIntegerEncoder.ts":{"bytesInOutput":2476},"src/encoder/composables/useCborStringEncoder.ts":{"bytesInOutput":4772},"src/encoder/composables/useCborCollectionEncoder.ts":{"bytesInOutput":8582},"src/encoder/composables/useCborSimpleEncoder.ts":{"bytesInOutput":4489},"src/encoder/composables/useCborTagEncoder.ts":{"bytesInOutput":1602},"src/encoder/composables/useCborEncoder.ts":{"bytesInOutput":2686}},"bytes":26703},"dist/chunk-ZDZ2B5PE.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":16135},"dist/chunk-ZDZ2B5PE.js":{"imports":[],"exports":["ALL_ENTRIES_SYMBOL","CborAdditionalInfo","CborMajorType","CborSimpleValue","CborTag","DEFAULT_LIMITS","DEFAULT_OPTIONS","INDEFINITE_SYMBOL","useCborByteString","useCborTextString"],"inputs":{"src/parser/types.ts":{"bytesInOutput":3619},"src/parser/composables/useCborStringTypes.ts":{"bytesInOutput":1500}},"bytes":5394}}}
1
+ {"inputs":{"src/parser/types.ts":{"bytes":9412,"imports":[],"format":"esm"},"src/parser/utils.ts":{"bytes":11855,"imports":[],"format":"esm"},"src/parser/composables/useCborInteger.ts":{"bytes":3945,"imports":[{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/parser/composables/useCborStringTypes.ts":{"bytes":3185,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/parser/composables/useCborString.ts":{"bytes":12691,"imports":[{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborStringTypes.ts","kind":"import-statement","original":"./useCborStringTypes"}],"format":"esm"},"src/parser/composables/useCborFloat.ts":{"bytes":11614,"imports":[{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/parser/composables/useCborTag.ts":{"bytes":28555,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../types"},{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./useCborString"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./useCborFloat"}],"format":"esm"},"src/utils/logger.ts":{"bytes":1825,"imports":[],"format":"esm"},"src/parser/composables/useCborCollection.ts":{"bytes":18577,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../types"},{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./useCborString"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./useCborFloat"},{"path":"src/parser/composables/useCborTag.ts","kind":"import-statement","original":"./useCborTag"},{"path":"src/utils/logger.ts","kind":"import-statement","original":"../../utils/logger"}],"format":"esm"},"src/parser/composables/useCborParser.ts":{"bytes":38823,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../types"},{"path":"src/parser/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./useCborString"},{"path":"src/parser/composables/useCborCollection.ts","kind":"import-statement","original":"./useCborCollection"},{"path":"src/parser/composables/useCborTag.ts","kind":"import-statement","original":"./useCborTag"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./useCborFloat"},{"path":"src/utils/logger.ts","kind":"import-statement","original":"../../utils/logger"}],"format":"esm"},"src/parser/composables/useCborDiagnostic.ts":{"bytes":9727,"imports":[],"format":"esm"},"src/parser/utils/pathBuilder.ts":{"bytes":7967,"imports":[],"format":"esm"},"src/encoder/types.ts":{"bytes":2111,"imports":[{"path":"src/parser/types.ts","kind":"import-statement","original":"../parser/types"}],"format":"esm"},"src/encoder/utils.ts":{"bytes":1716,"imports":[],"format":"esm"},"src/encoder/composables/useCborIntegerEncoder.ts":{"bytes":5693,"imports":[{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/encoder/composables/useCborStringEncoder.ts":{"bytes":9331,"imports":[{"path":"src/encoder/types.ts","kind":"import-statement","original":"../types"},{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/parser/composables/useCborStringTypes.ts","kind":"import-statement","original":"../../parser/composables/useCborStringTypes"}],"format":"esm"},"src/encoder/composables/useCborSimpleEncoder.ts":{"bytes":9504,"imports":[{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./useCborIntegerEncoder"}],"format":"esm"},"src/encoder/composables/useCborCollectionEncoder.ts":{"bytes":14369,"imports":[{"path":"src/encoder/types.ts","kind":"import-statement","original":"../types"},{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./useCborIntegerEncoder"},{"path":"src/encoder/composables/useCborStringEncoder.ts","kind":"import-statement","original":"./useCborStringEncoder"},{"path":"src/encoder/composables/useCborSimpleEncoder.ts","kind":"import-statement","original":"./useCborSimpleEncoder"},{"path":"src/parser/composables/useCborStringTypes.ts","kind":"import-statement","original":"../../parser/composables/useCborStringTypes"}],"format":"esm"},"src/encoder/composables/useCborTagEncoder.ts":{"bytes":4739,"imports":[{"path":"src/encoder/utils.ts","kind":"import-statement","original":"../utils"}],"format":"esm"},"src/encoder/composables/useCborEncoder.ts":{"bytes":6921,"imports":[{"path":"src/encoder/types.ts","kind":"import-statement","original":"../types"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./useCborIntegerEncoder"},{"path":"src/encoder/composables/useCborStringEncoder.ts","kind":"import-statement","original":"./useCborStringEncoder"},{"path":"src/encoder/composables/useCborCollectionEncoder.ts","kind":"import-statement","original":"./useCborCollectionEncoder"},{"path":"src/encoder/composables/useCborSimpleEncoder.ts","kind":"import-statement","original":"./useCborSimpleEncoder"},{"path":"src/encoder/composables/useCborTagEncoder.ts","kind":"import-statement","original":"./useCborTagEncoder"},{"path":"src/parser/composables/useCborStringTypes.ts","kind":"import-statement","original":"../../parser/composables/useCborStringTypes"}],"format":"esm"},"src/index.ts":{"bytes":13166,"imports":[{"path":"src/parser/composables/useCborParser.ts","kind":"import-statement","original":"./parser/composables/useCborParser"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./parser/composables/useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./parser/composables/useCborString"},{"path":"src/parser/composables/useCborCollection.ts","kind":"import-statement","original":"./parser/composables/useCborCollection"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./parser/composables/useCborFloat"},{"path":"src/parser/composables/useCborTag.ts","kind":"import-statement","original":"./parser/composables/useCborTag"},{"path":"src/parser/composables/useCborDiagnostic.ts","kind":"import-statement","original":"./parser/composables/useCborDiagnostic"},{"path":"src/parser/utils/pathBuilder.ts","kind":"import-statement","original":"./parser/utils/pathBuilder"},{"path":"src/encoder/composables/useCborEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborEncoder"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborIntegerEncoder"},{"path":"src/encoder/composables/useCborStringEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborStringEncoder"},{"path":"src/encoder/composables/useCborCollectionEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborCollectionEncoder"},{"path":"src/encoder/composables/useCborSimpleEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborSimpleEncoder"},{"path":"src/parser/types.ts","kind":"import-statement","original":"./parser/types"},{"path":"src/encoder/types.ts","kind":"import-statement","original":"./encoder/types"},{"path":"src/parser/composables/useCborParser.ts","kind":"import-statement","original":"./parser/composables/useCborParser"},{"path":"src/encoder/composables/useCborEncoder.ts","kind":"import-statement","original":"./encoder/composables/useCborEncoder"},{"path":"src/parser/composables/useCborDiagnostic.ts","kind":"import-statement","original":"./parser/composables/useCborDiagnostic"}],"format":"esm"},"src/parser/index.ts":{"bytes":1118,"imports":[{"path":"src/parser/composables/useCborParser.ts","kind":"import-statement","original":"./composables/useCborParser"},{"path":"src/parser/composables/useCborInteger.ts","kind":"import-statement","original":"./composables/useCborInteger"},{"path":"src/parser/composables/useCborString.ts","kind":"import-statement","original":"./composables/useCborString"},{"path":"src/parser/composables/useCborCollection.ts","kind":"import-statement","original":"./composables/useCborCollection"},{"path":"src/parser/composables/useCborFloat.ts","kind":"import-statement","original":"./composables/useCborFloat"},{"path":"src/parser/composables/useCborTag.ts","kind":"import-statement","original":"./composables/useCborTag"},{"path":"src/parser/types.ts","kind":"import-statement","original":"./types"},{"path":"src/parser/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/encoder/index.ts":{"bytes":871,"imports":[{"path":"src/encoder/composables/useCborEncoder.ts","kind":"import-statement","original":"./composables/useCborEncoder"},{"path":"src/encoder/composables/useCborIntegerEncoder.ts","kind":"import-statement","original":"./composables/useCborIntegerEncoder"},{"path":"src/encoder/composables/useCborStringEncoder.ts","kind":"import-statement","original":"./composables/useCborStringEncoder"},{"path":"src/encoder/composables/useCborCollectionEncoder.ts","kind":"import-statement","original":"./composables/useCborCollectionEncoder"},{"path":"src/encoder/composables/useCborSimpleEncoder.ts","kind":"import-statement","original":"./composables/useCborSimpleEncoder"},{"path":"src/encoder/composables/useCborTagEncoder.ts","kind":"import-statement","original":"./composables/useCborTagEncoder"},{"path":"src/encoder/types.ts","kind":"import-statement","original":"./types"},{"path":"src/encoder/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":42017},"dist/index.js":{"imports":[{"path":"dist/chunk-5IWW5H47.js","kind":"import-statement"},{"path":"dist/chunk-UMAX5MX5.js","kind":"import-statement"},{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["CborAdditionalInfo","CborDecoder","CborEncoder","CborMajorType","CborSimpleValue","CborTag","DEFAULT_ENCODE_OPTIONS","DEFAULT_LIMITS","DEFAULT_OPTIONS","PathBuilder","decode","decodeToDiagnostic","decodeWithSourceMap","encode","encodeSequence","encodeToBytes","encodeToHex","toDiagnostic","useCborCollection","useCborCollectionEncoder","useCborDiagnostic","useCborEncoder","useCborFloat","useCborInteger","useCborIntegerEncoder","useCborParser","useCborSimpleEncoder","useCborString","useCborStringEncoder","useCborTag"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":2718},"src/parser/composables/useCborDiagnostic.ts":{"bytesInOutput":6607},"src/parser/utils/pathBuilder.ts":{"bytesInOutput":6197}},"bytes":16653},"dist/parser/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/parser/index.js":{"imports":[{"path":"dist/chunk-5IWW5H47.js","kind":"import-statement"},{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["CborAdditionalInfo","CborMajorType","CborSimpleValue","CborTag","DEFAULT_LIMITS","DEFAULT_OPTIONS","bytesToHex","extractCborHeader","hexToBytes","readBigUint","readByte","readUint","useCborCollection","useCborFloat","useCborInteger","useCborParser","useCborString","useCborTag","validateUtf8Strict"],"entryPoint":"src/parser/index.ts","inputs":{"src/parser/index.ts":{"bytesInOutput":0}},"bytes":727},"dist/chunk-5IWW5H47.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":188974},"dist/chunk-5IWW5H47.js":{"imports":[{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["bytesToHex","extractCborHeader","hexToBytes","readBigUint","readByte","readUint","useCborCollection","useCborFloat","useCborInteger","useCborParser","useCborString","useCborTag","validateUtf8Strict"],"inputs":{"src/parser/utils.ts":{"bytesInOutput":8132},"src/parser/composables/useCborInteger.ts":{"bytesInOutput":2109},"src/parser/composables/useCborString.ts":{"bytesInOutput":8888},"src/parser/composables/useCborFloat.ts":{"bytesInOutput":7528},"src/parser/composables/useCborTag.ts":{"bytesInOutput":21099},"src/utils/logger.ts":{"bytesInOutput":1046},"src/parser/composables/useCborCollection.ts":{"bytesInOutput":11651},"src/parser/composables/useCborParser.ts":{"bytesInOutput":29683}},"bytes":90834},"dist/encoder/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/encoder/index.js":{"imports":[{"path":"dist/chunk-UMAX5MX5.js","kind":"import-statement"},{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["DEFAULT_ENCODE_OPTIONS","bytesToHex","compareBytes","concatenateUint8Arrays","useCborCollectionEncoder","useCborEncoder","useCborIntegerEncoder","useCborSimpleEncoder","useCborStringEncoder","useCborTagEncoder","writeBigUint","writeUint"],"entryPoint":"src/encoder/index.ts","inputs":{"src/encoder/index.ts":{"bytesInOutput":0}},"bytes":583},"dist/chunk-UMAX5MX5.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":76548},"dist/chunk-UMAX5MX5.js":{"imports":[{"path":"dist/chunk-ZDZ2B5PE.js","kind":"import-statement"}],"exports":["DEFAULT_ENCODE_OPTIONS","bytesToHex","compareBytes","concatenateUint8Arrays","useCborCollectionEncoder","useCborEncoder","useCborIntegerEncoder","useCborSimpleEncoder","useCborStringEncoder","useCborTagEncoder","writeBigUint","writeUint"],"inputs":{"src/encoder/types.ts":{"bytesInOutput":172},"src/encoder/utils.ts":{"bytesInOutput":1180},"src/encoder/composables/useCborIntegerEncoder.ts":{"bytesInOutput":2476},"src/encoder/composables/useCborStringEncoder.ts":{"bytesInOutput":4772},"src/encoder/composables/useCborSimpleEncoder.ts":{"bytesInOutput":5311},"src/encoder/composables/useCborCollectionEncoder.ts":{"bytesInOutput":8709},"src/encoder/composables/useCborTagEncoder.ts":{"bytesInOutput":1602},"src/encoder/composables/useCborEncoder.ts":{"bytesInOutput":3090}},"bytes":28056},"dist/chunk-ZDZ2B5PE.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":16135},"dist/chunk-ZDZ2B5PE.js":{"imports":[],"exports":["ALL_ENTRIES_SYMBOL","CborAdditionalInfo","CborMajorType","CborSimpleValue","CborTag","DEFAULT_LIMITS","DEFAULT_OPTIONS","INDEFINITE_SYMBOL","useCborByteString","useCborTextString"],"inputs":{"src/parser/types.ts":{"bytesInOutput":3619},"src/parser/composables/useCborStringTypes.ts":{"bytesInOutput":1500}},"bytes":5394}}}
@@ -1,61 +1,61 @@
1
1
  'use strict';
2
2
 
3
- var chunkPTWN7K3Y_cjs = require('../chunk-PTWN7K3Y.cjs');
3
+ var chunkRVG2BY32_cjs = require('../chunk-RVG2BY32.cjs');
4
4
  var chunkPD72MVTX_cjs = require('../chunk-PD72MVTX.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "bytesToHex", {
9
9
  enumerable: true,
10
- get: function () { return chunkPTWN7K3Y_cjs.bytesToHex; }
10
+ get: function () { return chunkRVG2BY32_cjs.bytesToHex; }
11
11
  });
12
12
  Object.defineProperty(exports, "extractCborHeader", {
13
13
  enumerable: true,
14
- get: function () { return chunkPTWN7K3Y_cjs.extractCborHeader; }
14
+ get: function () { return chunkRVG2BY32_cjs.extractCborHeader; }
15
15
  });
16
16
  Object.defineProperty(exports, "hexToBytes", {
17
17
  enumerable: true,
18
- get: function () { return chunkPTWN7K3Y_cjs.hexToBytes; }
18
+ get: function () { return chunkRVG2BY32_cjs.hexToBytes; }
19
19
  });
20
20
  Object.defineProperty(exports, "readBigUint", {
21
21
  enumerable: true,
22
- get: function () { return chunkPTWN7K3Y_cjs.readBigUint; }
22
+ get: function () { return chunkRVG2BY32_cjs.readBigUint; }
23
23
  });
24
24
  Object.defineProperty(exports, "readByte", {
25
25
  enumerable: true,
26
- get: function () { return chunkPTWN7K3Y_cjs.readByte; }
26
+ get: function () { return chunkRVG2BY32_cjs.readByte; }
27
27
  });
28
28
  Object.defineProperty(exports, "readUint", {
29
29
  enumerable: true,
30
- get: function () { return chunkPTWN7K3Y_cjs.readUint; }
30
+ get: function () { return chunkRVG2BY32_cjs.readUint; }
31
31
  });
32
32
  Object.defineProperty(exports, "useCborCollection", {
33
33
  enumerable: true,
34
- get: function () { return chunkPTWN7K3Y_cjs.useCborCollection; }
34
+ get: function () { return chunkRVG2BY32_cjs.useCborCollection; }
35
35
  });
36
36
  Object.defineProperty(exports, "useCborFloat", {
37
37
  enumerable: true,
38
- get: function () { return chunkPTWN7K3Y_cjs.useCborFloat; }
38
+ get: function () { return chunkRVG2BY32_cjs.useCborFloat; }
39
39
  });
40
40
  Object.defineProperty(exports, "useCborInteger", {
41
41
  enumerable: true,
42
- get: function () { return chunkPTWN7K3Y_cjs.useCborInteger; }
42
+ get: function () { return chunkRVG2BY32_cjs.useCborInteger; }
43
43
  });
44
44
  Object.defineProperty(exports, "useCborParser", {
45
45
  enumerable: true,
46
- get: function () { return chunkPTWN7K3Y_cjs.useCborParser; }
46
+ get: function () { return chunkRVG2BY32_cjs.useCborParser; }
47
47
  });
48
48
  Object.defineProperty(exports, "useCborString", {
49
49
  enumerable: true,
50
- get: function () { return chunkPTWN7K3Y_cjs.useCborString; }
50
+ get: function () { return chunkRVG2BY32_cjs.useCborString; }
51
51
  });
52
52
  Object.defineProperty(exports, "useCborTag", {
53
53
  enumerable: true,
54
- get: function () { return chunkPTWN7K3Y_cjs.useCborTag; }
54
+ get: function () { return chunkRVG2BY32_cjs.useCborTag; }
55
55
  });
56
56
  Object.defineProperty(exports, "validateUtf8Strict", {
57
57
  enumerable: true,
58
- get: function () { return chunkPTWN7K3Y_cjs.validateUtf8Strict; }
58
+ get: function () { return chunkRVG2BY32_cjs.validateUtf8Strict; }
59
59
  });
60
60
  Object.defineProperty(exports, "CborAdditionalInfo", {
61
61
  enumerable: true,
@@ -1,4 +1,4 @@
1
- export { c as useCborCollection, d as useCborFloat, a as useCborInteger, u as useCborParser, b as useCborString, e as useCborTag } from '../useCborTag-Cs1CZuXZ.cjs';
1
+ export { c as useCborCollection, d as useCborFloat, a as useCborInteger, u as useCborParser, b as useCborString, e as useCborTag } from '../useCborTag-QpZR-Er2.cjs';
2
2
  export { o as CborAdditionalInfo, C as CborContext, n as CborMajorType, f as CborMap, p as CborSimpleValue, q as CborTag, e as CborValue, m as DEFAULT_LIMITS, D as DEFAULT_OPTIONS, r as DupMapKeyMode, c as ParseError, P as ParseOptions, a as ParseResult, b as ParseResultWithMap, d as ParserLimits, l as PlutusBytes, h as PlutusConstr, g as PlutusData, k as PlutusInt, j as PlutusList, i as PlutusMap, R as Result, S as SourceMapEntry, T as TaggedValue } from '../types-DvNlfbKB.cjs';
3
3
 
4
4
  /**
@@ -7,6 +7,8 @@ export { o as CborAdditionalInfo, C as CborContext, n as CborMajorType, f as Cbo
7
7
  /**
8
8
  * Converts hex string to Uint8Array
9
9
  *
10
+ * Validates even length and hex-only characters.
11
+ *
10
12
  * @param hex - Hex string (e.g., "1864")
11
13
  * @returns Byte array
12
14
  */
@@ -1,4 +1,4 @@
1
- export { c as useCborCollection, d as useCborFloat, a as useCborInteger, u as useCborParser, b as useCborString, e as useCborTag } from '../useCborTag-xV2Pz2VY.js';
1
+ export { c as useCborCollection, d as useCborFloat, a as useCborInteger, u as useCborParser, b as useCborString, e as useCborTag } from '../useCborTag-BD6Sqp7p.js';
2
2
  export { o as CborAdditionalInfo, C as CborContext, n as CborMajorType, f as CborMap, p as CborSimpleValue, q as CborTag, e as CborValue, m as DEFAULT_LIMITS, D as DEFAULT_OPTIONS, r as DupMapKeyMode, c as ParseError, P as ParseOptions, a as ParseResult, b as ParseResultWithMap, d as ParserLimits, l as PlutusBytes, h as PlutusConstr, g as PlutusData, k as PlutusInt, j as PlutusList, i as PlutusMap, R as Result, S as SourceMapEntry, T as TaggedValue } from '../types-DvNlfbKB.js';
3
3
 
4
4
  /**
@@ -7,6 +7,8 @@ export { o as CborAdditionalInfo, C as CborContext, n as CborMajorType, f as Cbo
7
7
  /**
8
8
  * Converts hex string to Uint8Array
9
9
  *
10
+ * Validates even length and hex-only characters.
11
+ *
10
12
  * @param hex - Hex string (e.g., "1864")
11
13
  * @returns Byte array
12
14
  */
@@ -1,4 +1,4 @@
1
- export { bytesToHex, extractCborHeader, hexToBytes, readBigUint, readByte, readUint, useCborCollection, useCborFloat, useCborInteger, useCborParser, useCborString, useCborTag, validateUtf8Strict } from '../chunk-5A5T56JB.js';
1
+ export { bytesToHex, extractCborHeader, hexToBytes, readBigUint, readByte, readUint, useCborCollection, useCborFloat, useCborInteger, useCborParser, useCborString, useCborTag, validateUtf8Strict } from '../chunk-5IWW5H47.js';
2
2
  export { CborAdditionalInfo, CborMajorType, CborSimpleValue, CborTag, DEFAULT_LIMITS, DEFAULT_OPTIONS } from '../chunk-ZDZ2B5PE.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -56,8 +56,6 @@ interface TaggedValue {
56
56
  interface EncodeContext {
57
57
  /** Current nesting depth */
58
58
  depth: number;
59
- /** Bytes written so far */
60
- bytesWritten: number;
61
59
  /** Encoder options */
62
60
  options: Required<EncodeOptions>;
63
61
  }
@@ -56,8 +56,6 @@ interface TaggedValue {
56
56
  interface EncodeContext {
57
57
  /** Current nesting depth */
58
58
  depth: number;
59
- /** Bytes written so far */
60
- bytesWritten: number;
61
59
  /** Encoder options */
62
60
  options: Required<EncodeOptions>;
63
61
  }
@@ -1,4 +1,4 @@
1
- import { P as ParseOptions, a as ParseResult, b as ParseResultWithMap, e as CborValue, S as SourceMapEntry } from './types-DvNlfbKB.cjs';
1
+ import { P as ParseOptions, a as ParseResult, b as ParseResultWithMap, e as CborValue, S as SourceMapEntry, h as PlutusConstr } from './types-DvNlfbKB.js';
2
2
 
3
3
  /**
4
4
  * CBOR Main Parser Composable
@@ -19,9 +19,9 @@ import { P as ParseOptions, a as ParseResult, b as ParseResultWithMap, e as Cbor
19
19
  * ```
20
20
  */
21
21
  declare function useCborParser(): {
22
- parse: (hexString: string, options?: ParseOptions) => ParseResult;
23
- parseWithSourceMap: (hexString: string, options?: ParseOptions) => ParseResultWithMap;
24
- parseSequence: (hexString: string, options?: ParseOptions) => CborValue[];
22
+ parse: (input: string | Uint8Array, options?: ParseOptions) => ParseResult;
23
+ parseWithSourceMap: (input: string | Uint8Array, options?: ParseOptions) => ParseResultWithMap;
24
+ parseSequence: (input: string | Uint8Array, options?: ParseOptions) => CborValue[];
25
25
  parseSequenceWithSourceMap: (hexString: string, options?: ParseOptions) => {
26
26
  values: CborValue[];
27
27
  sourceMaps: SourceMapEntry[][];
@@ -47,6 +47,7 @@ declare function useCborParser(): {
47
47
  */
48
48
  declare function useCborInteger(): {
49
49
  parseInteger: (hexString: string, options?: ParseOptions) => ParseResult;
50
+ parseIntegerFromBuffer: (buffer: Uint8Array, offset: number, options?: ParseOptions) => ParseResult;
50
51
  };
51
52
 
52
53
  /**
@@ -115,6 +116,7 @@ declare function useCborFloat(): {
115
116
  parse: (hexString: string, options?: ParseOptions) => ParseResult;
116
117
  parseFloat: (hexString: string, options?: ParseOptions) => ParseResult;
117
118
  parseSimple: (hexString: string, _options?: ParseOptions) => ParseResult;
119
+ parseFromBuffer: (buffer: Uint8Array, offset: number, options?: ParseOptions) => ParseResult;
118
120
  };
119
121
 
120
122
  /**
@@ -137,6 +139,9 @@ declare function useCborFloat(): {
137
139
  declare function useCborTag(): {
138
140
  parseTag: (hexString: string, options?: ParseOptions) => ParseResult;
139
141
  parse: (hexString: string, options?: ParseOptions) => ParseResult;
142
+ parseTagFromBuffer: (buffer: Uint8Array, offset: number, options?: ParseOptions, tagDepth?: number) => ParseResult;
143
+ validateTagSemantics: (tagNumber: number, value: CborValue, options?: ParseOptions) => void;
144
+ decodePlutusConstructor: (tagNumber: number, value: CborValue) => PlutusConstr | null;
140
145
  };
141
146
 
142
147
  export { useCborInteger as a, useCborString as b, useCborCollection as c, useCborFloat as d, useCborTag as e, useCborParser as u };
@@ -1,4 +1,4 @@
1
- import { P as ParseOptions, a as ParseResult, b as ParseResultWithMap, e as CborValue, S as SourceMapEntry } from './types-DvNlfbKB.js';
1
+ import { P as ParseOptions, a as ParseResult, b as ParseResultWithMap, e as CborValue, S as SourceMapEntry, h as PlutusConstr } from './types-DvNlfbKB.cjs';
2
2
 
3
3
  /**
4
4
  * CBOR Main Parser Composable
@@ -19,9 +19,9 @@ import { P as ParseOptions, a as ParseResult, b as ParseResultWithMap, e as Cbor
19
19
  * ```
20
20
  */
21
21
  declare function useCborParser(): {
22
- parse: (hexString: string, options?: ParseOptions) => ParseResult;
23
- parseWithSourceMap: (hexString: string, options?: ParseOptions) => ParseResultWithMap;
24
- parseSequence: (hexString: string, options?: ParseOptions) => CborValue[];
22
+ parse: (input: string | Uint8Array, options?: ParseOptions) => ParseResult;
23
+ parseWithSourceMap: (input: string | Uint8Array, options?: ParseOptions) => ParseResultWithMap;
24
+ parseSequence: (input: string | Uint8Array, options?: ParseOptions) => CborValue[];
25
25
  parseSequenceWithSourceMap: (hexString: string, options?: ParseOptions) => {
26
26
  values: CborValue[];
27
27
  sourceMaps: SourceMapEntry[][];
@@ -47,6 +47,7 @@ declare function useCborParser(): {
47
47
  */
48
48
  declare function useCborInteger(): {
49
49
  parseInteger: (hexString: string, options?: ParseOptions) => ParseResult;
50
+ parseIntegerFromBuffer: (buffer: Uint8Array, offset: number, options?: ParseOptions) => ParseResult;
50
51
  };
51
52
 
52
53
  /**
@@ -115,6 +116,7 @@ declare function useCborFloat(): {
115
116
  parse: (hexString: string, options?: ParseOptions) => ParseResult;
116
117
  parseFloat: (hexString: string, options?: ParseOptions) => ParseResult;
117
118
  parseSimple: (hexString: string, _options?: ParseOptions) => ParseResult;
119
+ parseFromBuffer: (buffer: Uint8Array, offset: number, options?: ParseOptions) => ParseResult;
118
120
  };
119
121
 
120
122
  /**
@@ -137,6 +139,9 @@ declare function useCborFloat(): {
137
139
  declare function useCborTag(): {
138
140
  parseTag: (hexString: string, options?: ParseOptions) => ParseResult;
139
141
  parse: (hexString: string, options?: ParseOptions) => ParseResult;
142
+ parseTagFromBuffer: (buffer: Uint8Array, offset: number, options?: ParseOptions, tagDepth?: number) => ParseResult;
143
+ validateTagSemantics: (tagNumber: number, value: CborValue, options?: ParseOptions) => void;
144
+ decodePlutusConstructor: (tagNumber: number, value: CborValue) => PlutusConstr | null;
140
145
  };
141
146
 
142
147
  export { useCborInteger as a, useCborString as b, useCborCollection as c, useCborFloat as d, useCborTag as e, useCborParser as u };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marcuspuchalla/nachos",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "NACHOS - Not Another CBOR Handling Object System. RFC 8949 CBOR encoder/decoder with full source map support for interactive debugging. Zero dependencies, TypeScript, works in Node.js and browsers.",
5
5
  "keywords": [
6
6
  "nachos",
@@ -123,6 +123,14 @@ describe('Public API - Functional Encode', () => {
123
123
  expect(result.hex).toBe('010203')
124
124
  expect(result.bytes).toEqual(new Uint8Array([0x01, 0x02, 0x03]))
125
125
  })
126
+
127
+ it('encode() should preserve -0', () => {
128
+ const result = encode(-0)
129
+ expect(result.hex).toBe('f98000')
130
+
131
+ const decoded = decode(result.hex)
132
+ expect(Object.is(decoded.value, -0)).toBe(true)
133
+ })
126
134
  })
127
135
 
128
136
  describe('Public API - Diagnostic Notation', () => {
@@ -277,6 +285,151 @@ describe('Public API - Utilities', () => {
277
285
  })
278
286
  })
279
287
 
288
+ describe('Public API - Uint8Array Decode', () => {
289
+ it('decode() should accept Uint8Array input for integers', () => {
290
+ const result = decode(new Uint8Array([0x18, 0x64]))
291
+ expect(result.value).toBe(100)
292
+ expect(result.bytesRead).toBe(2)
293
+ })
294
+
295
+ it('decode() should accept Uint8Array for small integers', () => {
296
+ const result = decode(new Uint8Array([0x01]))
297
+ expect(result.value).toBe(1)
298
+ expect(result.bytesRead).toBe(1)
299
+ })
300
+
301
+ it('decode(Uint8Array) should produce identical results to decode(hexString)', () => {
302
+ // Integer 100
303
+ const hexResult = decode('1864')
304
+ const bytesResult = decode(new Uint8Array([0x18, 0x64]))
305
+ expect(bytesResult.value).toEqual(hexResult.value)
306
+ expect(bytesResult.bytesRead).toEqual(hexResult.bytesRead)
307
+
308
+ // String "IETF"
309
+ const hexStr = decode('6449455446')
310
+ const bytesStr = decode(new Uint8Array([0x64, 0x49, 0x45, 0x54, 0x46]))
311
+ expect(bytesStr.value).toEqual(hexStr.value)
312
+ expect(bytesStr.bytesRead).toEqual(hexStr.bytesRead)
313
+
314
+ // Array [1, 2, 3]
315
+ const hexArr = decode('83010203')
316
+ const bytesArr = decode(new Uint8Array([0x83, 0x01, 0x02, 0x03]))
317
+ expect(bytesArr.value).toEqual(hexArr.value)
318
+ expect(bytesArr.bytesRead).toEqual(hexArr.bytesRead)
319
+ })
320
+
321
+ it('decode(Uint8Array) should enforce maxInputSize limit', () => {
322
+ const bytes = new Uint8Array([0x01])
323
+ // Should succeed with a large enough limit
324
+ expect(() => decode(bytes, { limits: { maxInputSize: 100 } })).not.toThrow()
325
+
326
+ // Should throw when bytes exceed the limit
327
+ const largeBytes = new Uint8Array(200)
328
+ largeBytes[0] = 0x01 // valid CBOR integer 1
329
+ expect(() => decode(largeBytes, { limits: { maxInputSize: 10 } })).toThrow(/exceeds limit/)
330
+ })
331
+
332
+ it('decode(Uint8Array) should handle tagged values', () => {
333
+ // d87980 = tag 121, empty array
334
+ const result = decode(new Uint8Array([0xd8, 0x79, 0x80]))
335
+ expect(result.value).toMatchObject({ tag: 121, value: [] })
336
+ })
337
+
338
+ it('decode(Uint8Array) should handle maps', () => {
339
+ // a16161 01 = {"a": 1}
340
+ const result = decode(new Uint8Array([0xa1, 0x61, 0x61, 0x01]))
341
+ expect(result.bytesRead).toBe(4)
342
+ // Map with string key "a" -> 1
343
+ expect(result.value).toBeInstanceOf(Map)
344
+ expect((result.value as Map<string, number>).get('a')).toBe(1)
345
+ })
346
+
347
+ it('decode(Uint8Array) should handle boolean and null', () => {
348
+ expect(decode(new Uint8Array([0xf5])).value).toBe(true)
349
+ expect(decode(new Uint8Array([0xf4])).value).toBe(false)
350
+ expect(decode(new Uint8Array([0xf6])).value).toBe(null)
351
+ })
352
+
353
+ it('decode(Uint8Array) should reject empty Uint8Array', () => {
354
+ expect(() => decode(new Uint8Array([]))).toThrow()
355
+ })
356
+
357
+ it('decode(Uint8Array) should accept options', () => {
358
+ const result = decode(new Uint8Array([0x18, 0x64]), { strict: true })
359
+ expect(result.value).toBe(100)
360
+ })
361
+ })
362
+
363
+ describe('Public API - Uint8Array DecodeWithSourceMap', () => {
364
+ it('decodeWithSourceMap() should accept Uint8Array input', () => {
365
+ // d87980 = tag 121, empty array
366
+ const result = decodeWithSourceMap(new Uint8Array([0xd8, 0x79, 0x80]))
367
+ expect(result.value).toMatchObject({ tag: 121, value: [] })
368
+ expect(result.sourceMap).toBeDefined()
369
+ expect(Array.isArray(result.sourceMap)).toBe(true)
370
+ expect(result.sourceMap.length).toBeGreaterThan(0)
371
+ })
372
+
373
+ it('decodeWithSourceMap(Uint8Array) should match hex string results', () => {
374
+ const hexResult = decodeWithSourceMap('d87980')
375
+ const bytesResult = decodeWithSourceMap(new Uint8Array([0xd8, 0x79, 0x80]))
376
+ expect(bytesResult.value).toEqual(hexResult.value)
377
+ expect(bytesResult.sourceMap.length).toBe(hexResult.sourceMap.length)
378
+ })
379
+ })
380
+
381
+ describe('Public API - Uint8Array CborDecoder Class', () => {
382
+ it('CborDecoder.decode() should accept Uint8Array', () => {
383
+ const decoder = new CborDecoder()
384
+ const result = decoder.decode(new Uint8Array([0x18, 0x64]))
385
+ expect(result.value).toBe(100)
386
+ expect(result.bytesRead).toBe(2)
387
+ })
388
+
389
+ it('CborDecoder.decodeWithSourceMap() should accept Uint8Array', () => {
390
+ const decoder = new CborDecoder()
391
+ const result = decoder.decodeWithSourceMap(new Uint8Array([0xd8, 0x79, 0x80]))
392
+ expect(result.value).toMatchObject({ tag: 121, value: [] })
393
+ expect(result.sourceMap).toBeDefined()
394
+ })
395
+
396
+ it('CborDecoder with options should work with Uint8Array', () => {
397
+ const decoder = new CborDecoder({ strict: true })
398
+ const result = decoder.decode(new Uint8Array([0x18, 0x64]))
399
+ expect(result.value).toBe(100)
400
+ })
401
+ })
402
+
403
+ describe('Public API - Uint8Array useCborParser', () => {
404
+ it('parse() should accept Uint8Array', () => {
405
+ const { parse } = useCborParser()
406
+ const result = parse(new Uint8Array([0x18, 0x64]))
407
+ expect(result.value).toBe(100)
408
+ expect(result.bytesRead).toBe(2)
409
+ })
410
+
411
+ it('parseWithSourceMap() should accept Uint8Array', () => {
412
+ const { parseWithSourceMap } = useCborParser()
413
+ const result = parseWithSourceMap(new Uint8Array([0xd8, 0x79, 0x80]))
414
+ expect(result.value).toMatchObject({ tag: 121, value: [] })
415
+ expect(result.sourceMap).toBeDefined()
416
+ })
417
+
418
+ it('parseSequence() should accept Uint8Array', () => {
419
+ const { parseSequence } = useCborParser()
420
+ // Three separate integers: 1, 2, 3
421
+ const result = parseSequence(new Uint8Array([0x01, 0x02, 0x03]))
422
+ expect(result).toEqual([1, 2, 3])
423
+ })
424
+
425
+ it('parseSequence(Uint8Array) should match hex string results', () => {
426
+ const { parseSequence } = useCborParser()
427
+ const hexResult = parseSequence('010203')
428
+ const bytesResult = parseSequence(new Uint8Array([0x01, 0x02, 0x03]))
429
+ expect(bytesResult).toEqual(hexResult)
430
+ })
431
+ })
432
+
280
433
  describe('Public API - Constants and Enums', () => {
281
434
  it('DEFAULT_OPTIONS should be exported', () => {
282
435
  expect(DEFAULT_OPTIONS).toBeDefined()
@@ -155,13 +155,12 @@ describe('Round-trip: Floats', () => {
155
155
  expect(roundTrip(0.0)).toBe(0)
156
156
  })
157
157
 
158
- it('should encode -0.0 as integer 0 (encoder treats -0 as integer)', () => {
159
- // -0.0 passes Number.isInteger() and Number.isSafeInteger(), so the
160
- // encoder uses integer encoding (producing 0x00), which decodes as 0.
161
- // This is expected CBOR behavior: -0 only preserves via float encoding.
158
+ it('should encode -0.0 as float16 preserving sign', () => {
159
+ // -0.0 is detected by the encoder and encoded as float16 (f98000),
160
+ // which correctly preserves the negative zero sign bit.
162
161
  const encoded = encode(-0.0)
163
- expect(encoded.hex).toBe('00')
164
- expect(roundTrip(-0.0)).toBe(0)
162
+ expect(encoded.hex).toBe('f98000')
163
+ expect(Object.is(roundTrip(-0.0), -0)).toBe(true)
165
164
  })
166
165
 
167
166
  it('should round-trip 1.5 (exact in float16)', () => {