serde_sql 0.1.0

Stream serde structs into SQLite INSERT statements using a reusable buffer.
Documentation
# serde_sql

`serde_sql` streams [`serde::Serialize`](https://docs.rs/serde/latest/serde/trait.Serialize.html)
structs directly into SQLite `INSERT` statements without allocating intermediate field structures.
You provide a `String` buffer and value; the crate appends the literal value list `(v1, v2, …)` so
you can embed it in any SQL template.

## Features

- Zero-copy output: serialise straight into an existing `String`.
- Handles `Option`, numbers, booleans, and strings with proper escaping.
- Nested structures (maps/arrays) are emitted as JSON text literals.

## Quick start

```toml
[dependencies]
serde_sql = { path = ".", version = "0.1.0" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
```

```rust
use serde::Serialize;
use serde_sql::serialize_insert;

#[derive(Serialize)]
struct User {
    id: u64,
    name: String,
    active: bool,
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut sql = String::new();
    sql.push_str("INSERT INTO users VALUES ");
    serialize_insert(
        &mut sql,
        &User {
            id: 1,
            name: "Alice".into(),
            active: true,
        },
    )?;

    assert_eq!(sql, "INSERT INTO users VALUES (1, 'Alice', 1)");
    Ok(())
}
```

### Example

```sh
cargo run --example basic
```

## Testing

```sh
cargo test
```

## Documentation

- API docs can be generated locally via `cargo doc --open`.
- Additional usage notes live under `docs/usage.md`.