1// generated by diplomat-tool 2import wasm from "./diplomat-wasm.mjs"; 3import * as diplomatRuntime from "./diplomat-runtime.mjs"; 4 5 6 7export class Weekday { 8 9 #value = undefined; 10 11 static #values = new Map([ 12 ["Monday", 1], 13 ["Tuesday", 2], 14 ["Wednesday", 3], 15 ["Thursday", 4], 16 ["Friday", 5], 17 ["Saturday", 6], 18 ["Sunday", 7] 19 ]); 20 21 static getAllEntries() { 22 return Weekday.#values.entries(); 23 } 24 25 #internalConstructor(value) { 26 if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) { 27 // We pass in two internalConstructor arguments to create *new* 28 // instances of this type, otherwise the enums are treated as singletons. 29 if (arguments[1] === diplomatRuntime.internalConstructor ) { 30 this.#value = arguments[2]; 31 return this; 32 } 33 return Weekday.#objectValues[arguments[1]]; 34 } 35 36 if (value instanceof Weekday) { 37 return value; 38 } 39 40 let intVal = Weekday.#values.get(value); 41 42 // Nullish check, checks for null or undefined 43 if (intVal != null) { 44 return Weekday.#objectValues[intVal]; 45 } 46 47 throw TypeError(value + " is not a Weekday and does not correspond to any of its enumerator values."); 48 } 49 50 static fromValue(value) { 51 return new Weekday(value); 52 } 53 54 get value() { 55 for (let entry of Weekday.#values) { 56 if (entry[1] == this.#value) { 57 return entry[0]; 58 } 59 } 60 } 61 62 get ffiValue() { 63 return this.#value; 64 } 65 static #objectValues = { 66 [1]: new Weekday(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1), 67 [2]: new Weekday(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 2), 68 [3]: new Weekday(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 3), 69 [4]: new Weekday(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 4), 70 [5]: new Weekday(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 5), 71 [6]: new Weekday(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 6), 72 [7]: new Weekday(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 7), 73 }; 74 75 static Monday = Weekday.#objectValues[1]; 76 static Tuesday = Weekday.#objectValues[2]; 77 static Wednesday = Weekday.#objectValues[3]; 78 static Thursday = Weekday.#objectValues[4]; 79 static Friday = Weekday.#objectValues[5]; 80 static Saturday = Weekday.#objectValues[6]; 81 static Sunday = Weekday.#objectValues[7]; 82 83 constructor(value) { 84 return this.#internalConstructor(...arguments) 85 } 86}