Source code
Revision control
Copy as Markdown
Other Tools
import { u8, usize } from "./diplomat-runtime"
import { FFIError } from "./diplomat-runtime"
import { ICU4XBidiDirection } from "./ICU4XBidiDirection";
import { ICU4XError } from "./ICU4XError";
/**
* Bidi information for a single processed paragraph
*/
export class ICU4XBidiParagraph {
/**
* Given a paragraph index `n` within the surrounding text, this sets this object to the paragraph at that index. Returns `ICU4XError::OutOfBoundsError` when out of bounds.
* This is equivalent to calling `paragraph_at()` on `ICU4XBidiInfo` but doesn't create a new object
* @throws {@link FFIError}<{@link ICU4XError}>
*/
set_paragraph_in_text(n: usize): void | never;
/**
* The primary direction of this paragraph
* See the {@link https://docs.rs/unicode_bidi/latest/unicode_bidi/struct.Paragraph.html#method.level_at Rust documentation for `level_at`} for more information.
*/
direction(): ICU4XBidiDirection;
/**
* The number of bytes in this paragraph
* See the {@link https://docs.rs/unicode_bidi/latest/unicode_bidi/struct.ParagraphInfo.html#method.len Rust documentation for `len`} for more information.
*/
size(): usize;
/**
* The start index of this paragraph within the source text
*/
range_start(): usize;
/**
* The end index of this paragraph within the source text
*/
range_end(): usize;
/**
* Reorder a line based on display order. The ranges are specified relative to the source text and must be contained within this paragraph's range.
* See the {@link https://docs.rs/unicode_bidi/latest/unicode_bidi/struct.Paragraph.html#method.level_at Rust documentation for `level_at`} for more information.
* @throws {@link FFIError}<{@link ICU4XError}>
*/
reorder_line(range_start: usize, range_end: usize): string | never;
/**
* Get the BIDI level at a particular byte index in this paragraph. This integer is conceptually a `unicode_bidi::Level`, and can be further inspected using the static methods on ICU4XBidi.
* Returns 0 (equivalent to `Level::ltr()`) on error
* See the {@link https://docs.rs/unicode_bidi/latest/unicode_bidi/struct.Paragraph.html#method.level_at Rust documentation for `level_at`} for more information.
*/
level_at(pos: usize): u8;
}