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 }