eolify 0.3.0

High-performance line ending normalization for Rust.
Documentation
# eolify


High-performance line ending normalization for Rust.

eolify is a lightweight, allocation-conscious library for normalizing end-of-line (EOL) sequences in large text streams
or buffers. It’s designed for high-throughput processing pipelines, data ingestion systems, and cross-platform tooling
where consistency and efficiency matter.

## Features


* Fast and memory-efficient — optimized for bulk text processing
* Normalizes EOLs to a consistent format (`\r\n` for now)
* Minimal dependencies — ideal for embedding in performance-critical code
* Handles mixed endings (`\n`, `\r\n`, `\r`) gracefully
* Built with large-scale text data and streaming I/O in mind

## Current status


Currently supports: normalization to CRLF (`\r\n`) using:
* a chunk based API*
* synchronous `Read` or `Write` implementations.
* asynchronous `AsyncRead` or `AsyncWrite` implements (both `futures_io` and `tokio` are supported).

### Planned:


* LF (`\n`) normalization

## Example

```rust
use eolify::{CRLF, Normalize};

let text = "one\nline\r\ntwo\rthree";
let normalized = CRLF::normalize_str(text);
assert_eq!(normalized, "one\r\nline\r\ntwo\r\nthree");
```

## License


MIT or Apache-2.0, at your option.