24 lines
550 B
Rust
24 lines
550 B
Rust
|
use crate::error::CustomError;
|
||
|
use crate::intermediate::util::coalesce_whitespace;
|
||
|
|
||
|
use super::registry::Registry;
|
||
|
|
||
|
#[derive(Debug)]
|
||
|
pub(crate) struct ITarget {
|
||
|
pub(crate) id: String,
|
||
|
value: String,
|
||
|
}
|
||
|
|
||
|
impl ITarget {
|
||
|
pub(crate) fn new<'parse>(
|
||
|
registry: &mut Registry<'parse>,
|
||
|
target: &organic::types::Target<'parse>,
|
||
|
) -> Result<ITarget, CustomError> {
|
||
|
let id = registry.get_target(target.value);
|
||
|
Ok(ITarget {
|
||
|
id: id.clone(),
|
||
|
value: target.value.to_owned(),
|
||
|
})
|
||
|
}
|
||
|
}
|