// generated by diplomat-tool import wasm from "./diplomat-wasm.mjs"; import * as diplomatRuntime from "./diplomat-runtime.mjs"; /** Documents which days of the week are considered to be a part of the weekend * *See the [Rust documentation for `weekend`](https://docs.rs/icu/latest/icu/calendar/week/struct.WeekCalculator.html#method.weekend) for more information. */ export class WeekendContainsDay { #monday; get monday() { return this.#monday; } set monday(value) { this.#monday = value; } #tuesday; get tuesday() { return this.#tuesday; } set tuesday(value) { this.#tuesday = value; } #wednesday; get wednesday() { return this.#wednesday; } set wednesday(value) { this.#wednesday = value; } #thursday; get thursday() { return this.#thursday; } set thursday(value) { this.#thursday = value; } #friday; get friday() { return this.#friday; } set friday(value) { this.#friday = value; } #saturday; get saturday() { return this.#saturday; } set saturday(value) { this.#saturday = value; } #sunday; get sunday() { return this.#sunday; } set sunday(value) { this.#sunday = value; } constructor(structObj) { if (typeof structObj !== "object") { throw new Error("WeekendContainsDay's constructor takes an object of WeekendContainsDay's fields."); } if ("monday" in structObj) { this.#monday = structObj.monday; } else { throw new Error("Missing required field monday."); } if ("tuesday" in structObj) { this.#tuesday = structObj.tuesday; } else { throw new Error("Missing required field tuesday."); } if ("wednesday" in structObj) { this.#wednesday = structObj.wednesday; } else { throw new Error("Missing required field wednesday."); } if ("thursday" in structObj) { this.#thursday = structObj.thursday; } else { throw new Error("Missing required field thursday."); } if ("friday" in structObj) { this.#friday = structObj.friday; } else { throw new Error("Missing required field friday."); } if ("saturday" in structObj) { this.#saturday = structObj.saturday; } else { throw new Error("Missing required field saturday."); } if ("sunday" in structObj) { this.#sunday = structObj.sunday; } else { throw new Error("Missing required field sunday."); } } // Return this struct in FFI function friendly format. // Returns an array that can be expanded with spread syntax (...) _intoFFI( functionCleanupArena, appendArrayMap ) { return [this.#monday, this.#tuesday, this.#wednesday, this.#thursday, this.#friday, this.#saturday, this.#sunday] } _writeToArrayBuffer( arrayBuffer, offset, functionCleanupArena, appendArrayMap ) { diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 0, this.#monday, Uint8Array); diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 1, this.#tuesday, Uint8Array); diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 2, this.#wednesday, Uint8Array); diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 3, this.#thursday, Uint8Array); diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 4, this.#friday, Uint8Array); diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 5, this.#saturday, Uint8Array); diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 6, this.#sunday, Uint8Array); } // This struct contains borrowed fields, so this takes in a list of // "edges" corresponding to where each lifetime's data may have been borrowed from // and passes it down to individual fields containing the borrow. // This method does not attempt to handle any dependencies between lifetimes, the caller // should handle this when constructing edge arrays. static _fromFFI(internalConstructor, ptr) { if (internalConstructor !== diplomatRuntime.internalConstructor) { throw new Error("WeekendContainsDay._fromFFI is not meant to be called externally. Please use the default constructor."); } var structObj = {}; const mondayDeref = (new Uint8Array(wasm.memory.buffer, ptr, 1))[0] === 1; structObj.monday = mondayDeref; const tuesdayDeref = (new Uint8Array(wasm.memory.buffer, ptr + 1, 1))[0] === 1; structObj.tuesday = tuesdayDeref; const wednesdayDeref = (new Uint8Array(wasm.memory.buffer, ptr + 2, 1))[0] === 1; structObj.wednesday = wednesdayDeref; const thursdayDeref = (new Uint8Array(wasm.memory.buffer, ptr + 3, 1))[0] === 1; structObj.thursday = thursdayDeref; const fridayDeref = (new Uint8Array(wasm.memory.buffer, ptr + 4, 1))[0] === 1; structObj.friday = fridayDeref; const saturdayDeref = (new Uint8Array(wasm.memory.buffer, ptr + 5, 1))[0] === 1; structObj.saturday = saturdayDeref; const sundayDeref = (new Uint8Array(wasm.memory.buffer, ptr + 6, 1))[0] === 1; structObj.sunday = sundayDeref; return new WeekendContainsDay(structObj, internalConstructor); } }