Commit Graph

43 Commits (21356c8bcfe250939b9f725edd8ea883533d3876)

Author SHA1 Message Date
Alberto Restifo e05b209ed3 Pass io to the encoder in to_cbor + regression test 2020-09-29 20:29:33 +02:00
Alberto Restifo 2d6fedf749 Fix encoding of CBOR tags 2020-06-02 12:54:16 +02:00
Alberto Restifo b666ac0c84 Improve documentation and examples tests 2020-05-30 12:37:57 +02:00
Alberto Restifo 69b9933c3c Add tests for examples 2020-05-27 13:52:29 +02:00
Alberto Restifo 8baacbb606 Add encoding capabilities
* Create CBOR::Encoder, capable of translating Crystal values
* Add `#to_cbor` method to all major types
* Add `#to_cbor` in the CBOR::Serializable macro
2020-05-27 13:22:58 +02:00
Alberto Restifo 9d4c37460c Strict by default and implement Serializable::Unmapped 2020-05-23 17:32:23 +02:00
Alberto Restifo 2f8693ca34 Implement CBOR::Serializable to decode from_cbor
The CBOR::Serializable macro implements a from_cbor method on any
object on which it's included.
2020-05-22 22:06:53 +02:00
Alberto Restifo 67db021c2b Fix boolean handling and add more tests 2020-05-11 12:00:17 +02:00
Alberto Restifo a769a1a17a Fix unbounded array iteration 2020-05-09 20:25:32 +02:00
Alberto Restifo 7fc53ab114 Add support for BigDecimal and BigInt 2020-05-08 11:40:18 +02:00
Alberto Restifo 332ca4af10 Provide support for half-precision floats 2020-05-03 13:39:06 +02:00
Alberto Restifo d0ee8df1af Port Float16 conversion from Rust 2020-04-25 23:45:03 +02:00
Alberto Restifo b1974aab2d Add BigInt 2020-04-25 18:35:07 +02:00
Alberto Restifo 14c52208a3 Add named tuple support 2020-04-25 18:13:56 +02:00
Alberto Restifo fbf74630b2 Decode Tuples 2020-04-25 17:44:14 +02:00
Alberto Restifo 82882ba7a8 Add enum support 2020-04-25 17:33:19 +02:00
Alberto Restifo 6a70810667 Implement hash and set 2020-04-25 17:27:01 +02:00
Alberto Restifo 74c71a57c3 WIP: Array 2020-04-24 23:43:57 +02:00
Alberto Restifo 839a41dd84 Decode floats 2020-04-24 22:57:24 +02:00
Alberto Restifo 830981ba5d Decode Nil 2020-04-24 22:50:48 +02:00
Alberto Restifo 307da9658d Fix fractional unix timestamps handling 2020-04-24 22:46:07 +02:00
Alberto Restifo f4ad61665c Parse time 2020-04-24 15:59:16 +02:00
Alberto Restifo 5be5e3b20e Add support for big numbers 2020-04-24 11:57:12 +02:00
Alberto Restifo 4929f2487b Document lack of half-precision float 2020-04-24 11:37:41 +02:00
Alberto Restifo a78d06f33a Implement floats 2020-04-24 00:05:50 +02:00
Alberto Restifo e7f4426062 Implement simple values 2020-04-23 23:25:28 +02:00
Alberto Restifo 9c5afcd34d Implement hash encoding 2020-04-23 10:49:34 +02:00
Alberto Restifo 3c91037cf3 Implement array tokenization 2020-04-23 09:40:51 +02:00
Alberto Restifo 547e8af2bd Start implementing from_cbor decoding 2020-04-23 00:25:11 +02:00
Alberto Restifo 9739c4971b Refactor lexer in preparation for decoder 2020-04-22 23:48:58 +02:00
Alberto Restifo ddb2615031 Start implementing array tokenization 2020-04-22 22:31:33 +02:00
Alberto Restifo 1c2e90d7a4 Refactor Token to be a struct 2020-04-22 11:17:06 +02:00
Alberto Restifo 28f9cfa1f5 Add support for string streaming 2020-04-22 09:33:46 +02:00
Alberto Restifo 321b3fd986 Implement Strings decoding 2020-04-21 23:18:56 +02:00
Alberto Restifo 37677a40ad Fix BytesArray functioning 2020-04-21 22:48:27 +02:00
Alberto Restifo 154876403e Refactor lexer and simplify token 2020-04-21 15:02:31 +02:00
Alberto Restifo 2e2edd1908 Work on lexer and diagnostic representation 2020-04-20 14:57:20 +02:00
Alberto Restifo aded275148 Continue implementation and start decoder 2020-04-19 20:40:10 +02:00
Alberto Restifo 9a7ec44b66 Fix bytes decoding 2020-04-19 13:45:07 +02:00
Alberto Restifo c803f211cd Add all test cases from RFC 2020-04-19 13:22:39 +02:00
Alberto Restifo a956794f4e Complete basic int conversion 2020-04-19 12:16:05 +02:00
Alberto Restifo 9d1c255c2c Start lexer and tests 2020-04-19 00:18:54 +02:00
Alberto Restifo b5f4b0d368 Initialize library 2020-04-17 14:32:43 +02:00