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 `CanonicalCombiningClass`](https://docs.rs/icu/latest/icu/properties/props/struct.CanonicalCombiningClass.html) for more information. 7*/ 8 9 10export class CanonicalCombiningClass { 11 12 #value = undefined; 13 14 static #values = new Map([ 15 ["NotReordered", 0], 16 ["Overlay", 1], 17 ["HanReading", 6], 18 ["Nukta", 7], 19 ["KanaVoicing", 8], 20 ["Virama", 9], 21 ["Ccc10", 10], 22 ["Ccc11", 11], 23 ["Ccc12", 12], 24 ["Ccc13", 13], 25 ["Ccc14", 14], 26 ["Ccc15", 15], 27 ["Ccc16", 16], 28 ["Ccc17", 17], 29 ["Ccc18", 18], 30 ["Ccc19", 19], 31 ["Ccc20", 20], 32 ["Ccc21", 21], 33 ["Ccc22", 22], 34 ["Ccc23", 23], 35 ["Ccc24", 24], 36 ["Ccc25", 25], 37 ["Ccc26", 26], 38 ["Ccc27", 27], 39 ["Ccc28", 28], 40 ["Ccc29", 29], 41 ["Ccc30", 30], 42 ["Ccc31", 31], 43 ["Ccc32", 32], 44 ["Ccc33", 33], 45 ["Ccc34", 34], 46 ["Ccc35", 35], 47 ["Ccc36", 36], 48 ["Ccc84", 84], 49 ["Ccc91", 91], 50 ["Ccc103", 103], 51 ["Ccc107", 107], 52 ["Ccc118", 118], 53 ["Ccc122", 122], 54 ["Ccc129", 129], 55 ["Ccc130", 130], 56 ["Ccc132", 132], 57 ["Ccc133", 133], 58 ["AttachedBelowLeft", 200], 59 ["AttachedBelow", 202], 60 ["AttachedAbove", 214], 61 ["AttachedAboveRight", 216], 62 ["BelowLeft", 218], 63 ["Below", 220], 64 ["BelowRight", 222], 65 ["Left", 224], 66 ["Right", 226], 67 ["AboveLeft", 228], 68 ["Above", 230], 69 ["AboveRight", 232], 70 ["DoubleBelow", 233], 71 ["DoubleAbove", 234], 72 ["IotaSubscript", 240] 73 ]); 74 75 static getAllEntries() { 76 return CanonicalCombiningClass.#values.entries(); 77 } 78 79 #internalConstructor(value) { 80 if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) { 81 // We pass in two internalConstructor arguments to create *new* 82 // instances of this type, otherwise the enums are treated as singletons. 83 if (arguments[1] === diplomatRuntime.internalConstructor ) { 84 this.#value = arguments[2]; 85 return this; 86 } 87 return CanonicalCombiningClass.#objectValues[arguments[1]]; 88 } 89 90 if (value instanceof CanonicalCombiningClass) { 91 return value; 92 } 93 94 let intVal = CanonicalCombiningClass.#values.get(value); 95 96 // Nullish check, checks for null or undefined 97 if (intVal != null) { 98 return CanonicalCombiningClass.#objectValues[intVal]; 99 } 100 101 throw TypeError(value + " is not a CanonicalCombiningClass and does not correspond to any of its enumerator values."); 102 } 103 104 static fromValue(value) { 105 return new CanonicalCombiningClass(value); 106 } 107 108 get value() { 109 for (let entry of CanonicalCombiningClass.#values) { 110 if (entry[1] == this.#value) { 111 return entry[0]; 112 } 113 } 114 } 115 116 get ffiValue() { 117 return this.#value; 118 } 119 static #objectValues = { 120 [0]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 0), 121 [1]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1), 122 [6]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 6), 123 [7]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 7), 124 [8]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 8), 125 [9]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 9), 126 [10]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 10), 127 [11]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 11), 128 [12]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 12), 129 [13]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 13), 130 [14]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 14), 131 [15]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 15), 132 [16]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 16), 133 [17]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 17), 134 [18]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 18), 135 [19]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 19), 136 [20]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 20), 137 [21]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 21), 138 [22]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 22), 139 [23]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 23), 140 [24]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 24), 141 [25]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 25), 142 [26]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 26), 143 [27]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 27), 144 [28]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 28), 145 [29]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 29), 146 [30]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 30), 147 [31]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 31), 148 [32]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 32), 149 [33]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 33), 150 [34]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 34), 151 [35]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 35), 152 [36]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 36), 153 [84]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 84), 154 [91]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 91), 155 [103]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 103), 156 [107]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 107), 157 [118]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 118), 158 [122]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 122), 159 [129]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 129), 160 [130]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 130), 161 [132]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 132), 162 [133]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 133), 163 [200]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 200), 164 [202]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 202), 165 [214]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 214), 166 [216]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 216), 167 [218]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 218), 168 [220]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 220), 169 [222]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 222), 170 [224]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 224), 171 [226]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 226), 172 [228]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 228), 173 [230]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 230), 174 [232]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 232), 175 [233]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 233), 176 [234]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 234), 177 [240]: new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 240), 178 }; 179 180 static NotReordered = CanonicalCombiningClass.#objectValues[0]; 181 static Overlay = CanonicalCombiningClass.#objectValues[1]; 182 static HanReading = CanonicalCombiningClass.#objectValues[6]; 183 static Nukta = CanonicalCombiningClass.#objectValues[7]; 184 static KanaVoicing = CanonicalCombiningClass.#objectValues[8]; 185 static Virama = CanonicalCombiningClass.#objectValues[9]; 186 static Ccc10 = CanonicalCombiningClass.#objectValues[10]; 187 static Ccc11 = CanonicalCombiningClass.#objectValues[11]; 188 static Ccc12 = CanonicalCombiningClass.#objectValues[12]; 189 static Ccc13 = CanonicalCombiningClass.#objectValues[13]; 190 static Ccc14 = CanonicalCombiningClass.#objectValues[14]; 191 static Ccc15 = CanonicalCombiningClass.#objectValues[15]; 192 static Ccc16 = CanonicalCombiningClass.#objectValues[16]; 193 static Ccc17 = CanonicalCombiningClass.#objectValues[17]; 194 static Ccc18 = CanonicalCombiningClass.#objectValues[18]; 195 static Ccc19 = CanonicalCombiningClass.#objectValues[19]; 196 static Ccc20 = CanonicalCombiningClass.#objectValues[20]; 197 static Ccc21 = CanonicalCombiningClass.#objectValues[21]; 198 static Ccc22 = CanonicalCombiningClass.#objectValues[22]; 199 static Ccc23 = CanonicalCombiningClass.#objectValues[23]; 200 static Ccc24 = CanonicalCombiningClass.#objectValues[24]; 201 static Ccc25 = CanonicalCombiningClass.#objectValues[25]; 202 static Ccc26 = CanonicalCombiningClass.#objectValues[26]; 203 static Ccc27 = CanonicalCombiningClass.#objectValues[27]; 204 static Ccc28 = CanonicalCombiningClass.#objectValues[28]; 205 static Ccc29 = CanonicalCombiningClass.#objectValues[29]; 206 static Ccc30 = CanonicalCombiningClass.#objectValues[30]; 207 static Ccc31 = CanonicalCombiningClass.#objectValues[31]; 208 static Ccc32 = CanonicalCombiningClass.#objectValues[32]; 209 static Ccc33 = CanonicalCombiningClass.#objectValues[33]; 210 static Ccc34 = CanonicalCombiningClass.#objectValues[34]; 211 static Ccc35 = CanonicalCombiningClass.#objectValues[35]; 212 static Ccc36 = CanonicalCombiningClass.#objectValues[36]; 213 static Ccc84 = CanonicalCombiningClass.#objectValues[84]; 214 static Ccc91 = CanonicalCombiningClass.#objectValues[91]; 215 static Ccc103 = CanonicalCombiningClass.#objectValues[103]; 216 static Ccc107 = CanonicalCombiningClass.#objectValues[107]; 217 static Ccc118 = CanonicalCombiningClass.#objectValues[118]; 218 static Ccc122 = CanonicalCombiningClass.#objectValues[122]; 219 static Ccc129 = CanonicalCombiningClass.#objectValues[129]; 220 static Ccc130 = CanonicalCombiningClass.#objectValues[130]; 221 static Ccc132 = CanonicalCombiningClass.#objectValues[132]; 222 static Ccc133 = CanonicalCombiningClass.#objectValues[133]; 223 static AttachedBelowLeft = CanonicalCombiningClass.#objectValues[200]; 224 static AttachedBelow = CanonicalCombiningClass.#objectValues[202]; 225 static AttachedAbove = CanonicalCombiningClass.#objectValues[214]; 226 static AttachedAboveRight = CanonicalCombiningClass.#objectValues[216]; 227 static BelowLeft = CanonicalCombiningClass.#objectValues[218]; 228 static Below = CanonicalCombiningClass.#objectValues[220]; 229 static BelowRight = CanonicalCombiningClass.#objectValues[222]; 230 static Left = CanonicalCombiningClass.#objectValues[224]; 231 static Right = CanonicalCombiningClass.#objectValues[226]; 232 static AboveLeft = CanonicalCombiningClass.#objectValues[228]; 233 static Above = CanonicalCombiningClass.#objectValues[230]; 234 static AboveRight = CanonicalCombiningClass.#objectValues[232]; 235 static DoubleBelow = CanonicalCombiningClass.#objectValues[233]; 236 static DoubleAbove = CanonicalCombiningClass.#objectValues[234]; 237 static IotaSubscript = CanonicalCombiningClass.#objectValues[240]; 238 239 static forChar(ch) { 240 const result = wasm.icu4x_CanonicalCombiningClass_for_char_mv1(ch); 241 242 try { 243 return new CanonicalCombiningClass(diplomatRuntime.internalConstructor, result); 244 } 245 246 finally {} 247 } 248 249 toIntegerValue() { 250 const result = wasm.icu4x_CanonicalCombiningClass_to_integer_value_mv1(this.ffiValue); 251 252 try { 253 return result; 254 } 255 256 finally {} 257 } 258 259 static fromIntegerValue(other) { 260 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 261 262 const result = wasm.icu4x_CanonicalCombiningClass_from_integer_value_mv1(diplomatReceive.buffer, other); 263 264 try { 265 if (!diplomatReceive.resultFlag) { 266 return null; 267 } 268 return new CanonicalCombiningClass(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 269 } 270 271 finally { 272 diplomatReceive.free(); 273 } 274 } 275 276 constructor(value) { 277 return this.#internalConstructor(...arguments) 278 } 279}