glugify/unicode

Values

pub fn transliterate_text(
  text: String,
) -> Result(String, errors.SlugifyError)

Transliterates Unicode text to ASCII equivalents.

This function converts accented characters and common symbols to their ASCII equivalents. Characters that cannot be transliterated will cause an error to be returned.

Examples

transliterate_text("café")
// -> Ok("cafe")

transliterate_text("naïve")
// -> Ok("naive")

transliterate_text("Résumé")
// -> Ok("Resume")

Errors

Returns TransliterationFailed(char) when a character cannot be converted.

pub fn validate_ascii_only(
  text: String,
) -> Result(String, errors.SlugifyError)

Validates that text contains only ASCII characters.

This function checks that all characters in the input are within the printable ASCII range (32-126). Non-ASCII characters will cause an error to be returned.

Examples

validate_ascii_only("hello world")
// -> Ok("hello world")

validate_ascii_only("café")
// -> Error(TransliterationFailed("é"))
pub fn validate_ascii_or_unicode(
  text: String,
  allow_unicode: Bool,
) -> Result(String, errors.SlugifyError)

Validates text based on Unicode allowance settings.

If allow_unicode is True, all text is accepted. If allow_unicode is False, only ASCII text is accepted.

Examples

validate_ascii_or_unicode("café", True)
// -> Ok("café")

validate_ascii_or_unicode("café", False)
// -> Error(TransliterationFailed("é"))
Search Document