134 lines
5.7 KiB
TypeScript
134 lines
5.7 KiB
TypeScript
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;
|
|
}
|