asn1c
ruby-skyjam
Our great sponsors
asn1c | ruby-skyjam | |
---|---|---|
2 | 1 | |
1,009 | 21 | |
- | - | |
0.0 | 0.0 | |
5 months ago | almost 7 years ago | |
C | Ruby | |
BSD 2-clause "Simplified" License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
asn1c
-
A Critique of the Cap'n Proto Schema Language
I had to use it at work in a C++ environment and ended up settling on patching a copy of https://github.com/vlm/asn1c
Can't say I'd feel confident putting any of this stuff in a public service. Too complex and prone to bugs.
-
JSON with Commas and Comments
I've used ASN.1 at work quite a bit, and the reason you won't see it much are pretty much:
- HORRIBLE schema format.
- Very few FOSS libraries, most of which are terrible. I used Lev Walkins asn1c[0], which I patched slightly and coupled with some semi-generic code to emit JSON (for debugging purposes).
[0] https://github.com/vlm/asn1c
ruby-skyjam
-
JSON with Commas and Comments
I found code generation to be useful in Ruby with protobuf. This:
https://github.com/lloeki/ruby-skyjam/blob/master/defs/skyja...
gives that:
https://github.com/lloeki/ruby-skyjam/blob/master/lib/skyjam...
I would certainly enjoy having a DSL to write descriptive code to validate using JSON schema, but it would be even better if the Ruby definitions could be generated and persisted in Ruby files using that DSL.
Also, storing things in basic hash/array types works, but having dedicated types is useful, so that one can ensure not shoving one kind of hash in place of another unrelated kind of hash.
As for types themselves in general, there's RBS and Sorbet. One could have type definition generation as well for even deeper static and runtime checks.
What are some alternatives?
msgpack-tools - Command-line tools for converting between MessagePack and JSON / msgpack.org[UNIX Shell]
ujsonin - Micro JSON Input / Reader
tools - Unified developer tools for JavaScript, TypeScript, and the web
pbc - A protocol buffers library for C
awesome-json-next - A Collection of What's Next for Awesome JSON (JavaScript Object Notation) for Structured (Meta) Data in Text - JSON5, HJSON, HanSON, TJSON, SON, CSON, USON, JSONX/JSON11 & Many More
hn-search - Hacker News Search
json5 - JSON5 — JSON for Humans