kv-pairs 0.1.0

Generic key-value pair builder for API params/data
Documentation
  • Coverage
  • 100%
    18 out of 18 items documented5 out of 12 items with examples
  • Size
  • Source code size: 31.47 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 5.7 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 28s Average build duration of successful builds.
  • all releases: 28s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • GeminiLab/kv-pairs
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • aarkegz

kv-pairs

Crates.io docs.rs License: MIT CI

Key-value pair builder for API query strings and form data. Ordered, supports borrowed or owned values, and works with serde/reqwest.

Example

Basic usage

use kv_pairs::{kv_pairs, KVPairs};

let params = kv_pairs![
    "mode" => "day",
    "page" => 1_u32,
];
assert_eq!(params.content.len(), 2);

Optional and multi-value params

use kv_pairs::{kv_pairs, KVPairs};

// Option: omit key when None
let p = kv_pairs![
    "q" => Some("search"),
    "filter" => None::<&str>,
];

// Multiple values for one key (e.g. tags[]=a&tags[]=b)
let p = kv_pairs![
    "tags[]" => ["a", "b"].as_slice(),
];

no_std

Disable the default std feature to use this crate in no_std environments.

kv-pairs = { version = "0.1", default-features = false }

License

The MIT License (MIT).