Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sezna/edi

An X12 EDI parsing crate.
https://github.com/sezna/edi

Last synced: 9 days ago
JSON representation

An X12 EDI parsing crate.

Awesome Lists containing this project

README

        

![docs.rs](https://docs.rs/edi/badge.svg)
![crates.io](https://img.shields.io/crates/v/edi.svg)
[![Build Status](https://travis-ci.org/sezna/edi.svg?branch=master)](https://travis-ci.org/sezna/edi)
# Overview
[Check the documentation for more details](https://docs.rs/edi).
### A quick summary of features
* Provides two top-level parsing functions: `parse` and `loose_parse`. `loose_parse` is less strict on the format of the incoming EDI document.
* Parses a valid X12 EDI document into a struct called `EdiDocument`.
* Provides verbose error messages if the document being parsed is invalid.
* Error messages include the actual segment in which the error occurred.
* `EdiDocument` and all data it contains implement `Serialize` and `Deserialize` from `serde`, so zero-copy serialization and deserialization to any serde-able format is supported (this includes json).
* `EdiDocument`'s fields are all public and it can be navigated like any other struct for simplicity

See the [examples directory](https://github.com/sezna/edi/tree/master/examples) for an example.

### A quick summary of limitations
* Cannot accurately determine segment types, as that requires an implementation guide from the individual transactor
* Cannot detect loops for the same reason as above
* Only supports standard X12 EDI