• 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 `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}