1// generated by diplomat-tool 2import wasm from "./diplomat-wasm.mjs"; 3import * as diplomatRuntime from "./diplomat-runtime.mjs"; 4 5 6/** See the [Rust documentation for `WordBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.WordBreak.html) for more information. 7*/ 8 9 10export class WordBreak { 11 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 static forChar(ch) { 131 const result = wasm.icu4x_WordBreak_for_char_mv1(ch); 132 133 try { 134 return new WordBreak(diplomatRuntime.internalConstructor, result); 135 } 136 137 finally {} 138 } 139 140 longName() { 141 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 9, 4, true); 142 143 const result = wasm.icu4x_WordBreak_long_name_mv1(diplomatReceive.buffer, this.ffiValue); 144 145 try { 146 if (!diplomatReceive.resultFlag) { 147 return null; 148 } 149 return new diplomatRuntime.DiplomatSliceStr(wasm, diplomatReceive.buffer, "string8", []).getValue(); 150 } 151 152 finally { 153 diplomatReceive.free(); 154 } 155 } 156 157 shortName() { 158 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 9, 4, true); 159 160 const result = wasm.icu4x_WordBreak_short_name_mv1(diplomatReceive.buffer, this.ffiValue); 161 162 try { 163 if (!diplomatReceive.resultFlag) { 164 return null; 165 } 166 return new diplomatRuntime.DiplomatSliceStr(wasm, diplomatReceive.buffer, "string8", []).getValue(); 167 } 168 169 finally { 170 diplomatReceive.free(); 171 } 172 } 173 174 toIntegerValue() { 175 const result = wasm.icu4x_WordBreak_to_integer_value_mv1(this.ffiValue); 176 177 try { 178 return result; 179 } 180 181 finally {} 182 } 183 184 static fromIntegerValue(other) { 185 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 186 187 const result = wasm.icu4x_WordBreak_from_integer_value_mv1(diplomatReceive.buffer, other); 188 189 try { 190 if (!diplomatReceive.resultFlag) { 191 return null; 192 } 193 return new WordBreak(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 194 } 195 196 finally { 197 diplomatReceive.free(); 198 } 199 } 200 201 constructor(value) { 202 return this.#internalConstructor(...arguments) 203 } 204}