Crate precis_core
source ·Expand description
PRECIS Framework: Preparation, Enforcement, and Comparison of
Internationalized Strings in Application Protocols as described in
rfc8264
This crate implements the PRECIS base string classes and tables
that profiles can use for their implementation. The crate precis-profiles
provides a list of implemented profiles that applications can use.
Re-exports§
pub use crate::stringclasses::FreeformClass;
pub use crate::stringclasses::IdentifierClass;
pub use crate::stringclasses::StringClass;
Modules§
- Registry of rules that define the contexts in which particular PROTOCOL-VALID characters, characters associated with a requirement for Contextual Information, are permitted. These rules are expressed as tests on the label in which the characters appear (all, or any part of, the label may be tested).
Each rule is constructed as a Boolean expression that evaluates to either true or false. A simple true or false rule sets the default result value for the rule set. Subsequent conditional rules that evaluate to true or false may re-set the result value.
A special value Undefined is used to deal with any error conditions, such as an attempt to test a character before the start of a label or after the end of a label. If any term of a rule evaluates to Undefined, further evaluation of the rule immediately terminates, as the result value of the rule will itself be Undefined. - This module contains traits with operations and rules that profiles must implement such as it is defined by the PRECIS framework
rfc8264
- This module contains the implementation and traits for the String classes such as it is defined by the PRECIS framework
rfc8264
Structs§
- Error that contains information regarding the wrong Unicode code point
Enums§
- A representation of either a single codepoint or a range of codepoints.
- Derived property value
- Represents any kind of error that may happen when preparing, enforcing or comparing internationalized strings
- Internal errors that group unusual error conditions that mostly have to do with the processing of wrong labels, unexpected Unicode code points if tested against another version defined in PRECIS, etc.
Constants§
- The Unicode version of data