querio

Crates.ioquerio
lib.rsquerio
version0.0.1
sourcesrc
created_at2022-09-26 11:16:32.215068
updated_at2022-09-26 11:16:32.215068
descriptionStruct based string builder
homepage
repositoryhttps://github.com/dekirisu/querio/
max_upload_size
id674178
size23,165
Dekirisu (dekirisu)

documentation

README

querio

🚧 WIP, but wanted a basic version up 🚧

Struct based string builder

🐠 add querio to the dependencies in the Cargo.toml:

[dependencies]
querio = "0.0.1"

🦀 use/import everything into rust:

use querio::*;

🦊 build the string:

// runtime variables
#[derive(Strung,Intuple)]
struct VarStruct {
    numb: u32,
    strg: &'static str
}

// create builder
#[derive(Querio)]
#[querio(
    // attach runtime variables, address with #{field_name}
    variables(VarStruct), 

    // add compile time variables, address with <index>
    sections("Test1","Test2"), 

    // the string those variables will be merged in
    "#numb #strg <0> <1> <0>"
)] struct ABuilder {}

fn main(){
    // use the builder with attached variables struct
    let text = ABuilder::querio(&VarStruct{numb:10,strg:"RT"}); 
    // => "10 RT Test1 Test2 Test1"
        
    // OR use the variable structs tuple representation and ::qrio(..)
    let text = ABuilder::qrio((10,"RT"));
    // => "10 RT Test1 Test2 Test1"
}

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Commit count: 9

cargo fmt