bearcove / merde

Data (de)serialization via declarative macros
Apache License 2.0
102 stars 5 forks source link

license: MIT/Apache-2.0 crates.io docs.rs

merde

The merde logo: a glorious poop floating above a pair of hands

Logo by MisiasArt

A simpler (and slightly shittier) take on serde

Do you want to deal with JSON data? Are you not that worried about the performance overhead? (ie. you're writing a backend in Rust, but if it was written in Node.js nobody would bat an eye?).

Do you value short build times at the expense of some comfort?

Then head over to the crate documentations:

FAQ

What's with the name?

It's pronounced "murr-day", because we're merializing and demerializing things.

It's also something you may hear a French person yell when they're sick of waiting for things to build, just before "j'en ai marre!!"

Why?

I value iteration times (re builds, etc.) more than I value microseconds saved deserializing JSON payloads — I got tired of proc macros getting compiled, parsing all my code, generating a ton of generic code of their own, etc.

I also wanted a nice, ergonomic Value type that isn't quite tied to JSON, for when you just can't be arsed deriving your own structs.

The declarative macro approach is less flexible and not so DRY but so much lighter. Some more subtlety might be added later, who knows.

License

This project is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.