Giter Site home page Giter Site logo

serde_components's Introduction

Hi there ๐Ÿ‘‹

Check out my landing page on the left side of this profile. You can send me a message through there as well.

serde_components's People

Contributors

mitchellberend avatar

Watchers

 avatar

serde_components's Issues

Add a toml Serializer and Deserializer

The toml (de)serializer should be straight forward, as it is designed to map to/from a dict (hashtable).

TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics. TOML is designed to map unambiguously to a hash table. TOML should be easy to parse into data structures in a wide variety of languages.

I would like the implementation to not bring in more dependencies but that would definitely be a nice to have.

Tasks that need to be done for this issue to close:

  • toml Serializer
  • toml Deserializer
  • tests

Nice to have:

  • Don't add dependencies

Supporting material:

Add a yaml Serializer and Deserializer

The yaml (de)serializer may or may not map to/from a dict. From personal experience this is always true, but there may be cases where it does not map to a dict. It is not directly clear to me from the quoted text if this is true.

There are myriad flavors of data structures, but they can all be adequately represented with three basic primitives: mappings (hashes/dictionaries), sequences (arrays/lists) and scalars (strings/numbers). YAML leverages these primitives and adds a simple typing system and aliasing mechanism to form a complete language for encoding any data structure. While most programming languages can use YAML for data serialization, YAML excels in those languages that are fundamentally built around the three basic primitives. These include the new wave of agile languages such as Perl, Python, PHP, Ruby and Javascript.

I would like the implementation to not bring in more dependencies but that would definitely be a nice to have.

Tasks that need to be done for this issue to close:

  • decide what version(s) to support
  • yaml Serializer
  • yaml Deserializer
  • tests

Nice to have:

  • Don't add dependencies

Supporting material:
The format specs

Implement the full toml spec

A continuation of #4

This issue handles the rest of the toml spec. The current implementation covers most of my current use cases. Things like dot notation on keys being treated as properties are not implemented yet.

The format specs

Deserializers should also take factories to create new records

Currently all deserializers require an instance of the class that data will be mapped into. This can cause some issues when the data that gets mapped is an iterable and the size of this iterable is unknown.

defaultdict can take a factory as it's first argument so it knows what to instantiate when no value is found on a given key.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.