Closed CodeOn-ArK closed 2 years ago
Yes. From the API:
await cbor.diagnose(cbor.encode(Buffer.from('foo')))
// "h'666f6f'\n"
From the CLI:
> cbor2diag -x 43666f6f
h'666f6f'
Hi It would be very helpful if you can show the way to encode this using APIs:
{
"val1" : "p",
"val2" : h'1234abcd'
}
Also can you guide to some examples Regards
Anyway how to use this line of code
await cbor.diagnose(cbor.encode(Buffer.from('foo')))
suppose I want to send some binary data instead of foo
how to achieve that.
There are lots of examples in the tests, e.g. https://github.com/hildjj/node-cbor/blob/main/packages/cbor/test/diagnose.ava.js
Here is a more full-featured example for your data above:
const cbor = require('cbor');
const input = {
val1: "p",
val2: Buffer.from("1234abcd", "hex") // Put any binary data in a Buffer or Uint8Array
}
const encoded = cbor.encode(input); // `encoded` is now a Buffer containing the binary CBOR-encoded version of `input`
console.log(encoded.toString('hex')); // a26476616c3161706476616c32441234abcd
cbor.diagnose(encoded).then(result => {
// `diagnose` returns a Promise. If you're in an async function, you can
// use `await` instead of the `then` syntax.
// `result` is now a string that
// contains the diag formatted version of `input`
console.log(result); // {"val1": "p", "val2": h'1234abcd'}
});
Documentation for the diagnose
function is here.
Thanks a lot for saving the day!!
Hi does it supports cbor-diag? context : https://github.com/cbor/cbor.github.io/issues/89