Source code

Revision control

Copy as Markdown

Other Tools

// generated by diplomat-tool
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
/**
* Thin wrapper around a vector that maps visual indices to source indices
*
* `map[visualIndex] = sourceIndex`
*
* Produced by `reorder_visual()` on [`Bidi`].
*/
export class ReorderedIndexMap {
get ffiValue(): pointer;
/**
* Get this as a slice/array of indices
*/
get asSlice(): Array<number>;
/**
* The length of this map
*/
get length(): number;
/**
* Whether this map is empty
*/
get isEmpty(): boolean;
/**
* Get element at `index`. Returns 0 when out of bounds
* (note that 0 is also a valid in-bounds value, please use `len()`
* to avoid out-of-bounds)
*/
get(index: number): number;
}