Source code
Revision control
Copy as Markdown
Other Tools
import { char } from "./diplomat-runtime"
import { FFIError } from "./diplomat-runtime"
import { ICU4XCodePointSetBuilder } from "./ICU4XCodePointSetBuilder";
import { ICU4XDataProvider } from "./ICU4XDataProvider";
import { ICU4XError } from "./ICU4XError";
import { ICU4XLocale } from "./ICU4XLocale";
import { ICU4XTitlecaseOptionsV1 } from "./ICU4XTitlecaseOptionsV1";
/**
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html Rust documentation for `CaseMapper`} for more information.
*/
export class ICU4XCaseMapper {
/**
* Construct a new ICU4XCaseMapper instance
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.new Rust documentation for `new`} for more information.
* @throws {@link FFIError}<{@link ICU4XError}>
*/
static create(provider: ICU4XDataProvider): ICU4XCaseMapper | never;
/**
* Returns the full lowercase mapping of the given string
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.lowercase Rust documentation for `lowercase`} for more information.
* @throws {@link FFIError}<{@link ICU4XError}>
*/
lowercase(s: string, locale: ICU4XLocale): string | never;
/**
* Returns the full uppercase mapping of the given string
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.uppercase Rust documentation for `uppercase`} for more information.
* @throws {@link FFIError}<{@link ICU4XError}>
*/
uppercase(s: string, locale: ICU4XLocale): string | never;
/**
* Returns the full titlecase mapping of the given string, performing head adjustment without loading additional data. (if head adjustment is enabled in the options)
* The `v1` refers to the version of the options struct, which may change as we add more options
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.titlecase_segment_with_only_case_data Rust documentation for `titlecase_segment_with_only_case_data`} for more information.
* @throws {@link FFIError}<{@link ICU4XError}>
*/
titlecase_segment_with_only_case_data_v1(s: string, locale: ICU4XLocale, options: ICU4XTitlecaseOptionsV1): string | never;
/**
* Case-folds the characters in the given string
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.fold Rust documentation for `fold`} for more information.
* @throws {@link FFIError}<{@link ICU4XError}>
*/
fold(s: string): string | never;
/**
* Case-folds the characters in the given string using Turkic (T) mappings for dotted/dotless I.
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.fold_turkic Rust documentation for `fold_turkic`} for more information.
* @throws {@link FFIError}<{@link ICU4XError}>
*/
fold_turkic(s: string): string | never;
/**
* Adds all simple case mappings and the full case folding for `c` to `builder`. Also adds special case closure mappings.
* In other words, this adds all characters that this casemaps to, as well as all characters that may casemap to this one.
* Note that since ICU4XCodePointSetBuilder does not contain strings, this will ignore string mappings.
* Identical to the similarly named method on `ICU4XCaseMapCloser`, use that if you plan on using string case closure mappings too.
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.add_case_closure_to Rust documentation for `add_case_closure_to`} for more information.
*/
add_case_closure_to(c: char, builder: ICU4XCodePointSetBuilder): void;
/**
* Returns the simple lowercase mapping of the given character.
* This function only implements simple and common mappings. Full mappings, which can map one char to a string, are not included. For full mappings, use `ICU4XCaseMapper::lowercase`.
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.simple_lowercase Rust documentation for `simple_lowercase`} for more information.
*/
simple_lowercase(ch: char): char;
/**
* Returns the simple uppercase mapping of the given character.
* This function only implements simple and common mappings. Full mappings, which can map one char to a string, are not included. For full mappings, use `ICU4XCaseMapper::uppercase`.
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.simple_uppercase Rust documentation for `simple_uppercase`} for more information.
*/
simple_uppercase(ch: char): char;
/**
* Returns the simple titlecase mapping of the given character.
* This function only implements simple and common mappings. Full mappings, which can map one char to a string, are not included. For full mappings, use `ICU4XCaseMapper::titlecase_segment`.
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.simple_titlecase Rust documentation for `simple_titlecase`} for more information.
*/
simple_titlecase(ch: char): char;
/**
* Returns the simple casefolding of the given character.
* This function only implements simple folding. For full folding, use `ICU4XCaseMapper::fold`.
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.simple_fold Rust documentation for `simple_fold`} for more information.
*/
simple_fold(ch: char): char;
/**
* Returns the simple casefolding of the given character in the Turkic locale
* This function only implements simple folding. For full folding, use `ICU4XCaseMapper::fold_turkic`.
* See the {@link https://docs.rs/icu/latest/icu/casemap/struct.CaseMapper.html#method.simple_fold_turkic Rust documentation for `simple_fold_turkic`} for more information.
*/
simple_fold_turkic(ch: char): char;
}