qris 0.1.1

QRIS Parser & Editor
Documentation

# qris-rs

**qris-rs** adalah sebuah pustaka berbasis Rust yang dirancang untuk mengubah dan memparsing data **QRIS (Quick Response Code Indonesian Standard)**. Proyek ini bertujuan untuk mempermudah pengelolaan data QRIS secara efisien, aman, dan cepat.

## Fitur

- ✅ Parsing kode QRIS menjadi struktur data yang mudah diakses.
- ✅ Validasi data QRIS sesuai standar QRIS Nasional.
- ✅ Mendukung konversi struktur data menjadi string QRIS.
- ✅ Performa tinggi dengan penggunaan Rust.

## Instalasi

Tambahkan pustaka ini ke dalam proyek Anda dengan menambahkan dependensi berikut pada `Cargo.toml`:

```toml
[dependencies]
qris = "0.1.0"
```

Lalu, jalankan perintah berikut untuk mengunduh dependensi:

```bash
cargo build
```

## Penggunaan

### Parsing QRIS

Untuk memparsing kode QRIS:

```rust
use qris::node::Nodes;

fn main(){
    let content = String::from("00020101021126710019ID.CO.CIMBNIAGA.WWW011878728356757817222102150002186871651250303UMI51450015ID.OR.QRNPG.WWW0215ID81275673266770303UMI5204599953033605802ID5914AABBCCD*6714516006KEDIRI61054423462120708123456786304097D");
    match &Nodes::from_str(&content) {
        Ok(parsed) => {
            println!("{:#?}", parsed);
        }
        Err(err) => eprint!("Fail: {}", err)
    }
}
```

### Mengubah data jumlah pada qris

contoh mengubah data jumlah yang harus dibayar pada qris

```rust
use qris::node::Nodes;

fn main(){
    let content = String::from("00020101021126710019ID.CO.CIMBNIAGA.WWW011878728356757817222102150002186871651250303UMI51450015ID.OR.QRNPG.WWW0215ID81275673266770303UMI5204599953033605802ID5914AABBCCD*6714516006KEDIRI61054423462120708123456786304097D");
    match &mut Nodes::from_str(&content) {
        Ok(parsed) => {
            parsed.set_amount(20_000);
            parsed.rewrite_crc16();
            print!("{}", parsed.dumps());
        }
        Err(err) => eprint!("Fail: {}", err)
    }
}
```



## Kontribusi

Kontribusi sangat diterima! Jika Anda ingin berkontribusi:

1. Fork repositori ini.
2. Buat branch fitur Anda (`git checkout -b fitur-anda`).
3. Commit perubahan Anda (`git commit -m 'Tambah fitur baru'`).
4. Push branch Anda (`git push origin fitur-anda`).
5. Buat Pull Request.

## Lisensi

Proyek ini dilisensikan di bawah [MIT License](LICENSE).