Commit Graph

32 Commits (ea65c8dc32eedd3460a1c742aa1d5f93591aff0a)

Author SHA1 Message Date
Karchnu 307c57879a Compute the number of object properties to serialize. 2020-11-24 15:53:01 +01:00
Sorcus 3ab21c9616 Fix typos and remove redundant use of 'Object#to_s' 2020-09-30 10:34:58 +02:00
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 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 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 1c2e90d7a4 Refactor Token to be a struct 2020-04-22 11:17:06 +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