Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ securiety = "0.2.0"
If you need to validate that a string is simply a well-formed CURIE (has a valid prefix and reference structure) without enforcing specific ontology patterns:

```Rust
use curie_validator::curie_parser::CurieParser;
use securiety::{CurieParser, CurieParsing};

fn main() {
// Create a general parser
Expand All @@ -45,7 +45,7 @@ let parser = CurieParser::general();
2. Specific Ontology Validation
You can use strict, pre-compiled regex validators for specific ontologies. This ensures that a GO term actually looks like a GO term (e.g., GO:0001234).
```Rust
use curie_validator::curie_parser::CurieParser;
use securiety::{CurieParser, CurieParsing};

fn main() {
// strict validator for Gene Ontology
Expand All @@ -63,9 +63,7 @@ let go_parser = CurieParser::go();
3. Dynamic Prefix Lookup
If you are processing data where the ontology prefix is determined at runtime, you can look up the validator dynamically:
```Rust

use curie_validator::curie_parser::CurieParser;
use curie_validator::validators::regex_validator::CurieRegexValidator;
use securiety::{CurieParser, CurieParsing, CurieRegexValidator, CurieValidation};

fn main() {
let input_prefix = "mondo";
Expand Down
2 changes: 1 addition & 1 deletion src/curie.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::fmt::{Display, Formatter};

#[derive(Debug, Clone, PartialEq)]
#[derive(Debug, Clone, PartialEq, Hash, Eq, PartialOrd, Ord)]
pub struct Curie {
inner: String,
prefix_len: usize,
Expand Down
1 change: 1 addition & 0 deletions src/curie_parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ use crate::curie::Curie;
use crate::error::CurieParsingError;
use crate::traits::{CurieParsing, CurieValidation};

#[derive(Debug, Clone)]
pub struct CurieParser<Validator: CurieValidation> {
pub(crate) validator: Validator,
}
Expand Down
5 changes: 5 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
pub mod curie;
pub use curie::Curie;
pub mod curie_parser;
pub use curie_parser::CurieParser;
pub mod error;
pub use error::*;
pub mod traits;
pub use traits::*;
pub mod validators;
pub use validators::regex_validator::CurieRegexValidator;
2 changes: 1 addition & 1 deletion src/validators/regex_validator.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::error::InvalidRegexError;
use crate::traits::CurieValidation;
use regex::Regex;

#[derive(Debug, Clone)]
pub struct CurieRegexValidator {
regex: Regex,
}
Expand Down
4 changes: 1 addition & 3 deletions tests/test_integration.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
use securiety::curie_parser::CurieParser;
use securiety::traits::{CurieParsing, CurieValidation};
use securiety::validators::regex_validator::CurieRegexValidator;
use securiety::{CurieParser, CurieParsing, CurieRegexValidator, CurieValidation};

#[test]
fn test_integration_parsing() {
Expand Down