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