pub struct ReversePathResolver { /* private fields */ }Expand description
Converts numeric element paths back to self-documenting EDIFACT ID paths.
Used by the migrate-paths CLI to convert existing TOML files from
opaque numeric paths (loc.1.0) to readable named paths (loc.c517.d3225).
Implementations§
Source§impl ReversePathResolver
impl ReversePathResolver
Sourcepub fn from_schema(schema: &Value) -> Self
pub fn from_schema(schema: &Value) -> Self
Build from a PID schema JSON.
Sourcepub fn from_schema_dir(dir: &Path) -> Self
pub fn from_schema_dir(dir: &Path) -> Self
Build from all PID schema JSON files in a directory.
Sourcepub fn merge_schema(&mut self, schema: &Value)
pub fn merge_schema(&mut self, schema: &Value)
Merge another PID schema into this resolver.
Sourcepub fn reverse_path(&self, path: &str) -> String
pub fn reverse_path(&self, path: &str) -> String
Convert a numeric path to a named EDIFACT ID path.
Examples:
"loc.1.0"→"loc.c517.d3225""loc.0"→"loc.d3227"(simple element)"sts.2"→"sts.c556.d9013"(2-part → expands to first component)"sts.3.0"→"sts.c556_2.d9013"(ordinal suffix for duplicate composite)"cav[Z91].0.1"→"cav[Z91].c889.d7110"(preserves qualifier)"loc.c517.d3225"→"loc.c517.d3225"(already named, unchanged)
Sourcepub fn reverse_discriminator(&self, disc: &str) -> String
pub fn reverse_discriminator(&self, disc: &str) -> String
Convert a 3-part numeric discriminator to named EDIFACT ID format.
Examples:
"LOC.0.0=Z16"→"LOC.d3227=Z16"(simple element)"STS.2.0=E01"→"STS.c556.d9013=E01"(composite element)"LOC.d3227=Z16"→"LOC.d3227=Z16"(already named, unchanged)
Trait Implementations§
Source§impl Clone for ReversePathResolver
impl Clone for ReversePathResolver
Source§fn clone(&self) -> ReversePathResolver
fn clone(&self) -> ReversePathResolver
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ReversePathResolver
impl RefUnwindSafe for ReversePathResolver
impl Send for ReversePathResolver
impl Sync for ReversePathResolver
impl Unpin for ReversePathResolver
impl UnsafeUnpin for ReversePathResolver
impl UnwindSafe for ReversePathResolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more