joetjen.net
EN DE
← Alle Bibliotheken
Elixir

dextrin

Die Referenzimplementierung von DXN (Data eXchange Notation) für Elixir: .dxn-Text, .dxnb-Binär, .dxns-Schema.

Absicht

JSON ist menschenlesbar, verliert aber Präzision; Protobuf ist kompakt und typisiert, braucht aber einen Compiler-Schritt und liest sich für niemanden. DXNs Grundidee: Text- und Binärdokument sollen denselben Werteraum beschreiben — 30 Typen, präzise genug für Geldbeträge und exakte Brüche, mit Structs und eigenen Tags als Erweiterungspunkten erster Klasse.

Beispiel
{:ok, value} = Dextrin.decode(~s(%{x: 1, y: 2}))
#=> {:ok, %{x: 1, y: 2}}

{:ok, bytes} = Dextrin.encode_binary(value)
Dextrin.decode_binary(bytes)
#=> {:ok, %{x: 1, y: 2}}
Installation
{:dextrin, "~> 0.1.0"}
ElixirSerializationCBOR