tor-browser

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

WordBreak.mjs (9035B)


      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 `WordBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.WordBreak.html) for more information.
      8 */
      9 
     10 
     11 export class WordBreak {
     12    #value = undefined;
     13 
     14    static #values = new Map([
     15        ["Other", 0],
     16        ["ALetter", 1],
     17        ["Format", 2],
     18        ["Katakana", 3],
     19        ["MidLetter", 4],
     20        ["MidNum", 5],
     21        ["Numeric", 6],
     22        ["ExtendNumLet", 7],
     23        ["Cr", 8],
     24        ["Extend", 9],
     25        ["Lf", 10],
     26        ["MidNumLet", 11],
     27        ["Newline", 12],
     28        ["RegionalIndicator", 13],
     29        ["HebrewLetter", 14],
     30        ["SingleQuote", 15],
     31        ["DoubleQuote", 16],
     32        ["EBase", 17],
     33        ["EBaseGaz", 18],
     34        ["EModifier", 19],
     35        ["GlueAfterZwj", 20],
     36        ["Zwj", 21],
     37        ["WSegSpace", 22]
     38    ]);
     39 
     40    static getAllEntries() {
     41        return WordBreak.#values.entries();
     42    }
     43 
     44    #internalConstructor(value) {
     45        if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) {
     46            // We pass in two internalConstructor arguments to create *new*
     47            // instances of this type, otherwise the enums are treated as singletons.
     48            if (arguments[1] === diplomatRuntime.internalConstructor ) {
     49                this.#value = arguments[2];
     50                return this;
     51            }
     52            return WordBreak.#objectValues[arguments[1]];
     53        }
     54 
     55        if (value instanceof WordBreak) {
     56            return value;
     57        }
     58 
     59        let intVal = WordBreak.#values.get(value);
     60 
     61        // Nullish check, checks for null or undefined
     62        if (intVal != null) {
     63            return WordBreak.#objectValues[intVal];
     64        }
     65 
     66        throw TypeError(value + " is not a WordBreak and does not correspond to any of its enumerator values.");
     67    }
     68 
     69    static fromValue(value) {
     70        return new WordBreak(value);
     71    }
     72 
     73    get value(){
     74        return [...WordBreak.#values.keys()][this.#value];
     75    }
     76 
     77    get ffiValue(){
     78        return this.#value;
     79    }
     80    static #objectValues = [
     81        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 0),
     82        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1),
     83        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 2),
     84        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 3),
     85        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 4),
     86        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 5),
     87        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 6),
     88        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 7),
     89        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 8),
     90        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 9),
     91        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 10),
     92        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 11),
     93        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 12),
     94        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 13),
     95        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 14),
     96        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 15),
     97        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 16),
     98        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 17),
     99        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 18),
    100        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 19),
    101        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 20),
    102        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 21),
    103        new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 22),
    104    ];
    105 
    106    static Other = WordBreak.#objectValues[0];
    107    static ALetter = WordBreak.#objectValues[1];
    108    static Format = WordBreak.#objectValues[2];
    109    static Katakana = WordBreak.#objectValues[3];
    110    static MidLetter = WordBreak.#objectValues[4];
    111    static MidNum = WordBreak.#objectValues[5];
    112    static Numeric = WordBreak.#objectValues[6];
    113    static ExtendNumLet = WordBreak.#objectValues[7];
    114    static Cr = WordBreak.#objectValues[8];
    115    static Extend = WordBreak.#objectValues[9];
    116    static Lf = WordBreak.#objectValues[10];
    117    static MidNumLet = WordBreak.#objectValues[11];
    118    static Newline = WordBreak.#objectValues[12];
    119    static RegionalIndicator = WordBreak.#objectValues[13];
    120    static HebrewLetter = WordBreak.#objectValues[14];
    121    static SingleQuote = WordBreak.#objectValues[15];
    122    static DoubleQuote = WordBreak.#objectValues[16];
    123    static EBase = WordBreak.#objectValues[17];
    124    static EBaseGaz = WordBreak.#objectValues[18];
    125    static EModifier = WordBreak.#objectValues[19];
    126    static GlueAfterZwj = WordBreak.#objectValues[20];
    127    static Zwj = WordBreak.#objectValues[21];
    128    static WSegSpace = WordBreak.#objectValues[22];
    129 
    130 
    131    /**
    132     * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information.
    133     */
    134    static forChar(ch) {
    135 
    136        const result = wasm.icu4x_WordBreak_for_char_mv1(ch);
    137 
    138        try {
    139            return new WordBreak(diplomatRuntime.internalConstructor, result);
    140        }
    141 
    142        finally {
    143        }
    144    }
    145 
    146    /**
    147     * Get the "long" name of this property value (returns empty if property value is unknown)
    148     *
    149     * See the [Rust documentation for `get`](https://docs.rs/icu/latest/icu/properties/struct.PropertyNamesLongBorrowed.html#method.get) for more information.
    150     */
    151    longName() {
    152        const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 9, 4, true);
    153 
    154 
    155        const result = wasm.icu4x_WordBreak_long_name_mv1(diplomatReceive.buffer, this.ffiValue);
    156 
    157        try {
    158            if (!diplomatReceive.resultFlag) {
    159                return null;
    160            }
    161            return new diplomatRuntime.DiplomatSliceStr(wasm, diplomatReceive.buffer,  "string8", []).getValue();
    162        }
    163 
    164        finally {
    165            diplomatReceive.free();
    166        }
    167    }
    168 
    169    /**
    170     * Get the "short" name of this property value (returns empty if property value is unknown)
    171     *
    172     * See the [Rust documentation for `get`](https://docs.rs/icu/latest/icu/properties/struct.PropertyNamesShortBorrowed.html#method.get) for more information.
    173     */
    174    shortName() {
    175        const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 9, 4, true);
    176 
    177 
    178        const result = wasm.icu4x_WordBreak_short_name_mv1(diplomatReceive.buffer, this.ffiValue);
    179 
    180        try {
    181            if (!diplomatReceive.resultFlag) {
    182                return null;
    183            }
    184            return new diplomatRuntime.DiplomatSliceStr(wasm, diplomatReceive.buffer,  "string8", []).getValue();
    185        }
    186 
    187        finally {
    188            diplomatReceive.free();
    189        }
    190    }
    191 
    192    /**
    193     * Convert to an integer value usable with ICU4C and CodePointMapData
    194     *
    195     * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.WordBreak.html#method.to_icu4c_value) for more information.
    196     */
    197    toIntegerValue() {
    198 
    199        const result = wasm.icu4x_WordBreak_to_integer_value_mv1(this.ffiValue);
    200 
    201        try {
    202            return result;
    203        }
    204 
    205        finally {
    206        }
    207    }
    208 
    209    /**
    210     * Convert from an integer value from ICU4C or CodePointMapData
    211     *
    212     * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.WordBreak.html#method.from_icu4c_value) for more information.
    213     */
    214    static fromIntegerValue(other) {
    215        const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
    216 
    217 
    218        const result = wasm.icu4x_WordBreak_from_integer_value_mv1(diplomatReceive.buffer, other);
    219 
    220        try {
    221            if (!diplomatReceive.resultFlag) {
    222                return null;
    223            }
    224            return new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
    225        }
    226 
    227        finally {
    228            diplomatReceive.free();
    229        }
    230    }
    231 
    232    constructor(value) {
    233        return this.#internalConstructor(...arguments)
    234    }
    235 }