Skip to content
/ domi Public

domi provides abstractions and utilities for domain-list-community data source.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

chise0713/domi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

domi

domi provides abstractions and utilities for domain-list-community data source.

Example

use std::{fs, path::Path};

use domi::{srs::Rule, Entries};

const BASE: &str = "alphabet";

fn main() {
    let data_root = Path::new("data");
    let content = fs::read_to_string(data_root.join(BASE)).unwrap();
    let mut entries = Entries::parse(BASE, content.lines());
    while let Some(i) = entries.next_include() {
        let include = fs::read_to_string(data_root.join(i.as_ref())).unwrap();
        entries.parse_extend(BASE, include.lines());
    }
    // expect: domain_keyword: Some(["fitbit", "google"])
    // change the `Some(&[])` to something else can alter behavier,
    // see crate::Entries
    println!("{:?}", Rule::from(entries.flatten(BASE, Some(&[])).unwrap()))
}

find more examples at examples/

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

domi provides abstractions and utilities for domain-list-community data source.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages