// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import { Create as $Create } from "@wailsio/runtime";

export class Settings {
    /**
     * Creates a new Settings instance.
     * @param {Partial<Settings>} [$$source = {}] - The source object to create the Settings.
     */
    constructor($$source = {}) {
        if (!("Concurrency" in $$source)) {
            /**
             * @member
             * @type {number}
             */
            this["Concurrency"] = 0;
        }
        if (!("NetworkCheck" in $$source)) {
            /**
             * @member
             * @type {boolean}
             */
            this["NetworkCheck"] = false;
        }
        if (!("LogLevel" in $$source)) {
            /**
             * @member
             * @type {string}
             */
            this["LogLevel"] = "";
        }

        Object.assign(this, $$source);
    }

    /**
     * Creates a new Settings instance from a string or object.
     * @param {any} [$$source = {}]
     * @returns {Settings}
     */
    static createFrom($$source = {}) {
        let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
        return new Settings(/** @type {Partial<Settings>} */($$parsedSource));
    }
}
