cbor-cli
A command-line interface for encoding and parse data in the Concise Binary
Object Representation (CBOR) data format
(RFC8949).
MOVE TO CBOR2
NOTE
All new users and most existing users of this library should move to the
cbor2 library. It is where most
maintenance and support and all new features are happening. The easiest way
to get this functionality on cbor2 is to use the web
playground.
Only catastrophic bugs will be fixed in this package going forward.
Supported Node.js versions
This project now only supports versions of Node that the Node team is
currently supporting.
Ava's support
statement
is what we will be using as well. Currently, that means Node 10
+ is
required. If you need to support an older version of Node (back to version
6), use cbor version 5.2.x, which will get nothing but security updates from
here on out.
Installation:
$ npm install -g cbor-cli
Documentation:
There is a full API that this library depends on.
For all of these tools, if a hex string is not specified, or if the file name provided is -
, they will read from stdin and write to stdout.
From the command line:
cbor
$ cbor.js -h
Usage: cbor [options]
Options:
-V, --version output the version number
-c, --color Force color output even if stdout is not a TTY
-t, --type <type> Output type (one of: javascript, diagnose, comment) (default: "javascript")
-h, --help display help for command
Starts a Read, Edit, Print Loop (REPL), with the cbor package and all of its
symbols already available. Almost everything you do in the REPL will also
output the CBOR encoding of the result in hex, after the normal result.
$ cbor2comment -h
Usage: cbor2comment [options] <file ...>
Options:
-V, --version output the version number
-x, --hex <string> Hex string input
-t, --tabsize [spaces] Indent amount
-h, --help display help for command
Convert the given file or hex string into the CBOR comment format. This is
useful for understanding what each byte means.
cbor2diag
$ cbor2diag -h
Usage: cbor2diag [options] <file ...>
Options:
-V, --version output the version number
-x, --hex <STRING> Hex string input
-h, --help display help for command
Convert the given file or hex string into the CBOR diagnostic
format.
This is useful for getting a slightly more nuanced view into what CBOR came in
on the wire than you would if you turned it all the way into javascript.
cbor2js
$ cbor2js -h
Usage: cbor2js [options] <file ...>
Options:
-V, --version output the version number
-x, --hex <STRING> Hex string input
-H, --hidden Include non-enumerable symbols and properties
-h, --help display help for command
Convert the given file or hex string into javascript objects, then use
util.inspect
to format them for consumption. This usually gives a much better idea of type
information, and is easier to read than JSON.
cbor2json
$ cbor2json -h
Usage: cbor2json [options] <file ...>
Options:
-V, --version output the version number
-x, --hex <STRING> Hex string input
-h, --help display help for command
Convert the given file or hex string into JSON. This loses type information, but does the best it can if you want interoperability with existing JSON tooling. For example, JSON can't express Dates, so they are output as ISO 8601 strings.
js2cbor
$ js2cbor -h
Usage: js2cbor [options] <file ...>
Options:
-V, --version output the version number
-x, --hex Hex string output
-c, --canonical Canonical output
-h, --help display help for command
Read the input files or stdin as if it were a commonjs package
json2cbor
$ json2cbor -h
Usage: json2cbor [options] <file ...>
Options:
-V, --version output the version number
-x, --hex Hex string output
-c, --canonical Canonical output
-h, --help display help for command
Converts the given JSON or JSON Text
Sequence file into binary CBOR. If -x
is given, instead outputs a hex-encoded version of the CBOR.