tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

IndicSyllabicCategory.mjs (11447B)


      1 // generated by diplomat-tool
      2 import wasm from "./diplomat-wasm.mjs";
      3 import * as diplomatRuntime from "./diplomat-runtime.mjs";
      4 
      5 
      6 /**
      7 * See the [Rust documentation for `IndicSyllabicCategory`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicSyllabicCategory.html) for more information.
      8 */
      9 
     10 
     11 export class IndicSyllabicCategory {
     12    #value = undefined;
     13 
     14    static #values = new Map([
     15        ["Other", 0],
     16        ["Avagraha", 1],
     17        ["Bindu", 2],
     18        ["BrahmiJoiningNumber", 3],
     19        ["CantillationMark", 4],
     20        ["Consonant", 5],
     21        ["ConsonantDead", 6],
     22        ["ConsonantFinal", 7],
     23        ["ConsonantHeadLetter", 8],
     24        ["ConsonantInitialPostfixed", 9],
     25        ["ConsonantKiller", 10],
     26        ["ConsonantMedial", 11],
     27        ["ConsonantPlaceholder", 12],
     28        ["ConsonantPrecedingRepha", 13],
     29        ["ConsonantPrefixed", 14],
     30        ["ConsonantSucceedingRepha", 15],
     31        ["ConsonantSubjoined", 16],
     32        ["ConsonantWithStacker", 17],
     33        ["GeminationMark", 18],
     34        ["InvisibleStacker", 19],
     35        ["Joiner", 20],
     36        ["ModifyingLetter", 21],
     37        ["NonJoiner", 22],
     38        ["Nukta", 23],
     39        ["Number", 24],
     40        ["NumberJoiner", 25],
     41        ["PureKiller", 26],
     42        ["RegisterShifter", 27],
     43        ["SyllableModifier", 28],
     44        ["ToneLetter", 29],
     45        ["ToneMark", 30],
     46        ["Virama", 31],
     47        ["Visarga", 32],
     48        ["Vowel", 33],
     49        ["VowelDependent", 34],
     50        ["VowelIndependent", 35],
     51        ["ReorderingKiller", 36]
     52    ]);
     53 
     54    static getAllEntries() {
     55        return IndicSyllabicCategory.#values.entries();
     56    }
     57 
     58    #internalConstructor(value) {
     59        if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) {
     60            // We pass in two internalConstructor arguments to create *new*
     61            // instances of this type, otherwise the enums are treated as singletons.
     62            if (arguments[1] === diplomatRuntime.internalConstructor ) {
     63                this.#value = arguments[2];
     64                return this;
     65            }
     66            return IndicSyllabicCategory.#objectValues[arguments[1]];
     67        }
     68 
     69        if (value instanceof IndicSyllabicCategory) {
     70            return value;
     71        }
     72 
     73        let intVal = IndicSyllabicCategory.#values.get(value);
     74 
     75        // Nullish check, checks for null or undefined
     76        if (intVal != null) {
     77            return IndicSyllabicCategory.#objectValues[intVal];
     78        }
     79 
     80        throw TypeError(value + " is not a IndicSyllabicCategory and does not correspond to any of its enumerator values.");
     81    }
     82 
     83    static fromValue(value) {
     84        return new IndicSyllabicCategory(value);
     85    }
     86 
     87    get value(){
     88        return [...IndicSyllabicCategory.#values.keys()][this.#value];
     89    }
     90 
     91    get ffiValue(){
     92        return this.#value;
     93    }
     94    static #objectValues = [
     95        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 0),
     96        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1),
     97        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 2),
     98        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 3),
     99        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 4),
    100        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 5),
    101        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 6),
    102        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 7),
    103        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 8),
    104        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 9),
    105        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 10),
    106        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 11),
    107        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 12),
    108        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 13),
    109        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 14),
    110        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 15),
    111        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 16),
    112        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 17),
    113        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 18),
    114        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 19),
    115        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 20),
    116        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 21),
    117        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 22),
    118        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 23),
    119        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 24),
    120        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 25),
    121        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 26),
    122        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 27),
    123        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 28),
    124        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 29),
    125        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 30),
    126        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 31),
    127        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 32),
    128        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 33),
    129        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 34),
    130        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 35),
    131        new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 36),
    132    ];
    133 
    134    static Other = IndicSyllabicCategory.#objectValues[0];
    135    static Avagraha = IndicSyllabicCategory.#objectValues[1];
    136    static Bindu = IndicSyllabicCategory.#objectValues[2];
    137    static BrahmiJoiningNumber = IndicSyllabicCategory.#objectValues[3];
    138    static CantillationMark = IndicSyllabicCategory.#objectValues[4];
    139    static Consonant = IndicSyllabicCategory.#objectValues[5];
    140    static ConsonantDead = IndicSyllabicCategory.#objectValues[6];
    141    static ConsonantFinal = IndicSyllabicCategory.#objectValues[7];
    142    static ConsonantHeadLetter = IndicSyllabicCategory.#objectValues[8];
    143    static ConsonantInitialPostfixed = IndicSyllabicCategory.#objectValues[9];
    144    static ConsonantKiller = IndicSyllabicCategory.#objectValues[10];
    145    static ConsonantMedial = IndicSyllabicCategory.#objectValues[11];
    146    static ConsonantPlaceholder = IndicSyllabicCategory.#objectValues[12];
    147    static ConsonantPrecedingRepha = IndicSyllabicCategory.#objectValues[13];
    148    static ConsonantPrefixed = IndicSyllabicCategory.#objectValues[14];
    149    static ConsonantSucceedingRepha = IndicSyllabicCategory.#objectValues[15];
    150    static ConsonantSubjoined = IndicSyllabicCategory.#objectValues[16];
    151    static ConsonantWithStacker = IndicSyllabicCategory.#objectValues[17];
    152    static GeminationMark = IndicSyllabicCategory.#objectValues[18];
    153    static InvisibleStacker = IndicSyllabicCategory.#objectValues[19];
    154    static Joiner = IndicSyllabicCategory.#objectValues[20];
    155    static ModifyingLetter = IndicSyllabicCategory.#objectValues[21];
    156    static NonJoiner = IndicSyllabicCategory.#objectValues[22];
    157    static Nukta = IndicSyllabicCategory.#objectValues[23];
    158    static Number = IndicSyllabicCategory.#objectValues[24];
    159    static NumberJoiner = IndicSyllabicCategory.#objectValues[25];
    160    static PureKiller = IndicSyllabicCategory.#objectValues[26];
    161    static RegisterShifter = IndicSyllabicCategory.#objectValues[27];
    162    static SyllableModifier = IndicSyllabicCategory.#objectValues[28];
    163    static ToneLetter = IndicSyllabicCategory.#objectValues[29];
    164    static ToneMark = IndicSyllabicCategory.#objectValues[30];
    165    static Virama = IndicSyllabicCategory.#objectValues[31];
    166    static Visarga = IndicSyllabicCategory.#objectValues[32];
    167    static Vowel = IndicSyllabicCategory.#objectValues[33];
    168    static VowelDependent = IndicSyllabicCategory.#objectValues[34];
    169    static VowelIndependent = IndicSyllabicCategory.#objectValues[35];
    170    static ReorderingKiller = IndicSyllabicCategory.#objectValues[36];
    171 
    172 
    173    /**
    174     * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information.
    175     */
    176    static forChar(ch) {
    177 
    178        const result = wasm.icu4x_IndicSyllabicCategory_for_char_mv1(ch);
    179 
    180        try {
    181            return new IndicSyllabicCategory(diplomatRuntime.internalConstructor, result);
    182        }
    183 
    184        finally {
    185        }
    186    }
    187 
    188    /**
    189     * Convert to an integer value usable with ICU4C and CodePointMapData
    190     *
    191     * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicSyllabicCategory.html#method.to_icu4c_value) for more information.
    192     */
    193    toIntegerValue() {
    194 
    195        const result = wasm.icu4x_IndicSyllabicCategory_to_integer_value_mv1(this.ffiValue);
    196 
    197        try {
    198            return result;
    199        }
    200 
    201        finally {
    202        }
    203    }
    204 
    205    /**
    206     * Convert from an integer value from ICU4C or CodePointMapData
    207     *
    208     * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicSyllabicCategory.html#method.from_icu4c_value) for more information.
    209     */
    210    static fromIntegerValue(other) {
    211        const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
    212 
    213 
    214        const result = wasm.icu4x_IndicSyllabicCategory_from_integer_value_mv1(diplomatReceive.buffer, other);
    215 
    216        try {
    217            if (!diplomatReceive.resultFlag) {
    218                return null;
    219            }
    220            return new IndicSyllabicCategory(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
    221        }
    222 
    223        finally {
    224            diplomatReceive.free();
    225        }
    226    }
    227 
    228    constructor(value) {
    229        return this.#internalConstructor(...arguments)
    230    }
    231 }