• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}