9 releases

0.3.0 Jun 10, 2024
0.2.0 Jul 9, 2020
0.1.3 Jan 15, 2020
0.1.2 Oct 8, 2019
0.0.3 Oct 7, 2019

#1479 in Parser implementations

Download history 31/week @ 2024-10-25 47/week @ 2024-11-01 50/week @ 2024-11-08 48/week @ 2024-11-15 32/week @ 2024-11-22 51/week @ 2024-11-29 5/week @ 2024-12-06 22/week @ 2024-12-13 2/week @ 2024-12-20 11/week @ 2024-12-27 66/week @ 2025-01-03 43/week @ 2025-01-10 42/week @ 2025-01-17 55/week @ 2025-01-24 86/week @ 2025-01-31 65/week @ 2025-02-07

248 downloads per month

Custom license

55KB
1K SLoC

docs.rs crates.io Build Status

Overview

Check the documentation for more details.

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 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

Dependencies

~1.4–2.2MB
~33K SLoC