UNPKG

ardunno-cli

Version:
2,008 lines 77 kB
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BoardSearchResponse = exports.BoardSearchRequest = exports.BoardListItem = exports.BoardListWatchResponse = exports.BoardListWatchRequest = exports.BoardListAllResponse = exports.BoardListAllRequest = exports.DetectedPort = exports.BoardListResponse = exports.BoardListRequest = exports.ConfigValue = exports.ConfigOption = exports.Systems = exports.ToolsDependencies = exports.BoardPlatform = exports.Help = exports.Package = exports.BoardIdentificationProperties_PropertiesEntry = exports.BoardIdentificationProperties = exports.BoardDetailsResponse = exports.BoardDetailsRequest = void 0;
/* eslint-disable */
const long_1 = __importDefault(require("long"));
const minimal_1 = __importDefault(require("protobufjs/minimal"));
const common_1 = require("./common");
const port_1 = require("./port");
function createBaseBoardDetailsRequest() {
    return { instance: undefined, fqbn: '', doNotExpandBuildProperties: false };
}
exports.BoardDetailsRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.fqbn !== '') {
            writer.uint32(18).string(message.fqbn);
        }
        if (message.doNotExpandBuildProperties === true) {
            writer.uint32(24).bool(message.doNotExpandBuildProperties);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardDetailsRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.fqbn = reader.string();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.doNotExpandBuildProperties = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            fqbn: isSet(object.fqbn) ? String(object.fqbn) : '',
            doNotExpandBuildProperties: isSet(object.doNotExpandBuildProperties)
                ? Boolean(object.doNotExpandBuildProperties)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        message.instance !== undefined &&
            (obj.instance = message.instance
                ? common_1.Instance.toJSON(message.instance)
                : undefined);
        message.fqbn !== undefined && (obj.fqbn = message.fqbn);
        message.doNotExpandBuildProperties !== undefined &&
            (obj.doNotExpandBuildProperties =
                message.doNotExpandBuildProperties);
        return obj;
    },
    create(base) {
        return exports.BoardDetailsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseBoardDetailsRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.fqbn = (_a = object.fqbn) !== null && _a !== void 0 ? _a : '';
        message.doNotExpandBuildProperties =
            (_b = object.doNotExpandBuildProperties) !== null && _b !== void 0 ? _b : false;
        return message;
    },
};
function createBaseBoardDetailsResponse() {
    return {
        fqbn: '',
        name: '',
        version: '',
        propertiesId: '',
        alias: '',
        official: false,
        pinout: '',
        package: undefined,
        platform: undefined,
        toolsDependencies: [],
        configOptions: [],
        programmers: [],
        identificationProperties: [],
        buildProperties: [],
        defaultProgrammerId: '',
    };
}
exports.BoardDetailsResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.fqbn !== '') {
            writer.uint32(10).string(message.fqbn);
        }
        if (message.name !== '') {
            writer.uint32(18).string(message.name);
        }
        if (message.version !== '') {
            writer.uint32(26).string(message.version);
        }
        if (message.propertiesId !== '') {
            writer.uint32(34).string(message.propertiesId);
        }
        if (message.alias !== '') {
            writer.uint32(42).string(message.alias);
        }
        if (message.official === true) {
            writer.uint32(48).bool(message.official);
        }
        if (message.pinout !== '') {
            writer.uint32(58).string(message.pinout);
        }
        if (message.package !== undefined) {
            exports.Package.encode(message.package, writer.uint32(66).fork()).ldelim();
        }
        if (message.platform !== undefined) {
            exports.BoardPlatform.encode(message.platform, writer.uint32(74).fork()).ldelim();
        }
        for (const v of message.toolsDependencies) {
            exports.ToolsDependencies.encode(v, writer.uint32(82).fork()).ldelim();
        }
        for (const v of message.configOptions) {
            exports.ConfigOption.encode(v, writer.uint32(90).fork()).ldelim();
        }
        for (const v of message.programmers) {
            common_1.Programmer.encode(v, writer.uint32(106).fork()).ldelim();
        }
        for (const v of message.identificationProperties) {
            exports.BoardIdentificationProperties.encode(v, writer.uint32(122).fork()).ldelim();
        }
        for (const v of message.buildProperties) {
            writer.uint32(130).string(v);
        }
        if (message.defaultProgrammerId !== '') {
            writer.uint32(138).string(message.defaultProgrammerId);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardDetailsResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.fqbn = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.propertiesId = reader.string();
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.alias = reader.string();
                    continue;
                case 6:
                    if (tag !== 48) {
                        break;
                    }
                    message.official = reader.bool();
                    continue;
                case 7:
                    if (tag !== 58) {
                        break;
                    }
                    message.pinout = reader.string();
                    continue;
                case 8:
                    if (tag !== 66) {
                        break;
                    }
                    message.package = exports.Package.decode(reader, reader.uint32());
                    continue;
                case 9:
                    if (tag !== 74) {
                        break;
                    }
                    message.platform = exports.BoardPlatform.decode(reader, reader.uint32());
                    continue;
                case 10:
                    if (tag !== 82) {
                        break;
                    }
                    message.toolsDependencies.push(exports.ToolsDependencies.decode(reader, reader.uint32()));
                    continue;
                case 11:
                    if (tag !== 90) {
                        break;
                    }
                    message.configOptions.push(exports.ConfigOption.decode(reader, reader.uint32()));
                    continue;
                case 13:
                    if (tag !== 106) {
                        break;
                    }
                    message.programmers.push(common_1.Programmer.decode(reader, reader.uint32()));
                    continue;
                case 15:
                    if (tag !== 122) {
                        break;
                    }
                    message.identificationProperties.push(exports.BoardIdentificationProperties.decode(reader, reader.uint32()));
                    continue;
                case 16:
                    if (tag !== 130) {
                        break;
                    }
                    message.buildProperties.push(reader.string());
                    continue;
                case 17:
                    if (tag !== 138) {
                        break;
                    }
                    message.defaultProgrammerId = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            fqbn: isSet(object.fqbn) ? String(object.fqbn) : '',
            name: isSet(object.name) ? String(object.name) : '',
            version: isSet(object.version) ? String(object.version) : '',
            propertiesId: isSet(object.propertiesId)
                ? String(object.propertiesId)
                : '',
            alias: isSet(object.alias) ? String(object.alias) : '',
            official: isSet(object.official) ? Boolean(object.official) : false,
            pinout: isSet(object.pinout) ? String(object.pinout) : '',
            package: isSet(object.package)
                ? exports.Package.fromJSON(object.package)
                : undefined,
            platform: isSet(object.platform)
                ? exports.BoardPlatform.fromJSON(object.platform)
                : undefined,
            toolsDependencies: Array.isArray(object === null || object === void 0 ? void 0 : object.toolsDependencies)
                ? object.toolsDependencies.map((e) => exports.ToolsDependencies.fromJSON(e))
                : [],
            configOptions: Array.isArray(object === null || object === void 0 ? void 0 : object.configOptions)
                ? object.configOptions.map((e) => exports.ConfigOption.fromJSON(e))
                : [],
            programmers: Array.isArray(object === null || object === void 0 ? void 0 : object.programmers)
                ? object.programmers.map((e) => common_1.Programmer.fromJSON(e))
                : [],
            identificationProperties: Array.isArray(object === null || object === void 0 ? void 0 : object.identificationProperties)
                ? object.identificationProperties.map((e) => exports.BoardIdentificationProperties.fromJSON(e))
                : [],
            buildProperties: Array.isArray(object === null || object === void 0 ? void 0 : object.buildProperties)
                ? object.buildProperties.map((e) => String(e))
                : [],
            defaultProgrammerId: isSet(object.defaultProgrammerId)
                ? String(object.defaultProgrammerId)
                : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.fqbn !== undefined && (obj.fqbn = message.fqbn);
        message.name !== undefined && (obj.name = message.name);
        message.version !== undefined && (obj.version = message.version);
        message.propertiesId !== undefined &&
            (obj.propertiesId = message.propertiesId);
        message.alias !== undefined && (obj.alias = message.alias);
        message.official !== undefined && (obj.official = message.official);
        message.pinout !== undefined && (obj.pinout = message.pinout);
        message.package !== undefined &&
            (obj.package = message.package
                ? exports.Package.toJSON(message.package)
                : undefined);
        message.platform !== undefined &&
            (obj.platform = message.platform
                ? exports.BoardPlatform.toJSON(message.platform)
                : undefined);
        if (message.toolsDependencies) {
            obj.toolsDependencies = message.toolsDependencies.map((e) => e ? exports.ToolsDependencies.toJSON(e) : undefined);
        }
        else {
            obj.toolsDependencies = [];
        }
        if (message.configOptions) {
            obj.configOptions = message.configOptions.map((e) => e ? exports.ConfigOption.toJSON(e) : undefined);
        }
        else {
            obj.configOptions = [];
        }
        if (message.programmers) {
            obj.programmers = message.programmers.map((e) => e ? common_1.Programmer.toJSON(e) : undefined);
        }
        else {
            obj.programmers = [];
        }
        if (message.identificationProperties) {
            obj.identificationProperties = message.identificationProperties.map((e) => (e ? exports.BoardIdentificationProperties.toJSON(e) : undefined));
        }
        else {
            obj.identificationProperties = [];
        }
        if (message.buildProperties) {
            obj.buildProperties = message.buildProperties.map((e) => e);
        }
        else {
            obj.buildProperties = [];
        }
        message.defaultProgrammerId !== undefined &&
            (obj.defaultProgrammerId = message.defaultProgrammerId);
        return obj;
    },
    create(base) {
        return exports.BoardDetailsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
        const message = createBaseBoardDetailsResponse();
        message.fqbn = (_a = object.fqbn) !== null && _a !== void 0 ? _a : '';
        message.name = (_b = object.name) !== null && _b !== void 0 ? _b : '';
        message.version = (_c = object.version) !== null && _c !== void 0 ? _c : '';
        message.propertiesId = (_d = object.propertiesId) !== null && _d !== void 0 ? _d : '';
        message.alias = (_e = object.alias) !== null && _e !== void 0 ? _e : '';
        message.official = (_f = object.official) !== null && _f !== void 0 ? _f : false;
        message.pinout = (_g = object.pinout) !== null && _g !== void 0 ? _g : '';
        message.package =
            object.package !== undefined && object.package !== null
                ? exports.Package.fromPartial(object.package)
                : undefined;
        message.platform =
            object.platform !== undefined && object.platform !== null
                ? exports.BoardPlatform.fromPartial(object.platform)
                : undefined;
        message.toolsDependencies =
            ((_h = object.toolsDependencies) === null || _h === void 0 ? void 0 : _h.map((e) => exports.ToolsDependencies.fromPartial(e))) || [];
        message.configOptions =
            ((_j = object.configOptions) === null || _j === void 0 ? void 0 : _j.map((e) => exports.ConfigOption.fromPartial(e))) || [];
        message.programmers =
            ((_k = object.programmers) === null || _k === void 0 ? void 0 : _k.map((e) => common_1.Programmer.fromPartial(e))) || [];
        message.identificationProperties =
            ((_l = object.identificationProperties) === null || _l === void 0 ? void 0 : _l.map((e) => exports.BoardIdentificationProperties.fromPartial(e))) || [];
        message.buildProperties = ((_m = object.buildProperties) === null || _m === void 0 ? void 0 : _m.map((e) => e)) || [];
        message.defaultProgrammerId = (_o = object.defaultProgrammerId) !== null && _o !== void 0 ? _o : '';
        return message;
    },
};
function createBaseBoardIdentificationProperties() {
    return { properties: {} };
}
exports.BoardIdentificationProperties = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        Object.entries(message.properties).forEach(([key, value]) => {
            exports.BoardIdentificationProperties_PropertiesEntry.encode({ key: key, value }, writer.uint32(10).fork()).ldelim();
        });
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardIdentificationProperties();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    const entry1 = exports.BoardIdentificationProperties_PropertiesEntry.decode(reader, reader.uint32());
                    if (entry1.value !== undefined) {
                        message.properties[entry1.key] = entry1.value;
                    }
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            properties: isObject(object.properties)
                ? Object.entries(object.properties).reduce((acc, [key, value]) => {
                    acc[key] = String(value);
                    return acc;
                }, {})
                : {},
        };
    },
    toJSON(message) {
        const obj = {};
        obj.properties = {};
        if (message.properties) {
            Object.entries(message.properties).forEach(([k, v]) => {
                obj.properties[k] = v;
            });
        }
        return obj;
    },
    create(base) {
        return exports.BoardIdentificationProperties.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseBoardIdentificationProperties();
        message.properties = Object.entries((_a = object.properties) !== null && _a !== void 0 ? _a : {}).reduce((acc, [key, value]) => {
            if (value !== undefined) {
                acc[key] = String(value);
            }
            return acc;
        }, {});
        return message;
    },
};
function createBaseBoardIdentificationProperties_PropertiesEntry() {
    return { key: '', value: '' };
}
exports.BoardIdentificationProperties_PropertiesEntry = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.key !== '') {
            writer.uint32(10).string(message.key);
        }
        if (message.value !== '') {
            writer.uint32(18).string(message.value);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardIdentificationProperties_PropertiesEntry();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.key = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.value = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            key: isSet(object.key) ? String(object.key) : '',
            value: isSet(object.value) ? String(object.value) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.key !== undefined && (obj.key = message.key);
        message.value !== undefined && (obj.value = message.value);
        return obj;
    },
    create(base) {
        return exports.BoardIdentificationProperties_PropertiesEntry.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseBoardIdentificationProperties_PropertiesEntry();
        message.key = (_a = object.key) !== null && _a !== void 0 ? _a : '';
        message.value = (_b = object.value) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBasePackage() {
    return {
        maintainer: '',
        url: '',
        websiteUrl: '',
        email: '',
        name: '',
        help: undefined,
    };
}
exports.Package = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.maintainer !== '') {
            writer.uint32(10).string(message.maintainer);
        }
        if (message.url !== '') {
            writer.uint32(18).string(message.url);
        }
        if (message.websiteUrl !== '') {
            writer.uint32(26).string(message.websiteUrl);
        }
        if (message.email !== '') {
            writer.uint32(34).string(message.email);
        }
        if (message.name !== '') {
            writer.uint32(42).string(message.name);
        }
        if (message.help !== undefined) {
            exports.Help.encode(message.help, writer.uint32(50).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBasePackage();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.maintainer = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.url = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.websiteUrl = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.email = reader.string();
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 6:
                    if (tag !== 50) {
                        break;
                    }
                    message.help = exports.Help.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            maintainer: isSet(object.maintainer)
                ? String(object.maintainer)
                : '',
            url: isSet(object.url) ? String(object.url) : '',
            websiteUrl: isSet(object.websiteUrl)
                ? String(object.websiteUrl)
                : '',
            email: isSet(object.email) ? String(object.email) : '',
            name: isSet(object.name) ? String(object.name) : '',
            help: isSet(object.help) ? exports.Help.fromJSON(object.help) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.maintainer !== undefined &&
            (obj.maintainer = message.maintainer);
        message.url !== undefined && (obj.url = message.url);
        message.websiteUrl !== undefined &&
            (obj.websiteUrl = message.websiteUrl);
        message.email !== undefined && (obj.email = message.email);
        message.name !== undefined && (obj.name = message.name);
        message.help !== undefined &&
            (obj.help = message.help ? exports.Help.toJSON(message.help) : undefined);
        return obj;
    },
    create(base) {
        return exports.Package.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e;
        const message = createBasePackage();
        message.maintainer = (_a = object.maintainer) !== null && _a !== void 0 ? _a : '';
        message.url = (_b = object.url) !== null && _b !== void 0 ? _b : '';
        message.websiteUrl = (_c = object.websiteUrl) !== null && _c !== void 0 ? _c : '';
        message.email = (_d = object.email) !== null && _d !== void 0 ? _d : '';
        message.name = (_e = object.name) !== null && _e !== void 0 ? _e : '';
        message.help =
            object.help !== undefined && object.help !== null
                ? exports.Help.fromPartial(object.help)
                : undefined;
        return message;
    },
};
function createBaseHelp() {
    return { online: '' };
}
exports.Help = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.online !== '') {
            writer.uint32(10).string(message.online);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseHelp();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.online = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { online: isSet(object.online) ? String(object.online) : '' };
    },
    toJSON(message) {
        const obj = {};
        message.online !== undefined && (obj.online = message.online);
        return obj;
    },
    create(base) {
        return exports.Help.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseHelp();
        message.online = (_a = object.online) !== null && _a !== void 0 ? _a : '';
        return message;
    },
};
function createBaseBoardPlatform() {
    return {
        architecture: '',
        category: '',
        url: '',
        archiveFilename: '',
        checksum: '',
        size: 0,
        name: '',
    };
}
exports.BoardPlatform = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.architecture !== '') {
            writer.uint32(10).string(message.architecture);
        }
        if (message.category !== '') {
            writer.uint32(18).string(message.category);
        }
        if (message.url !== '') {
            writer.uint32(26).string(message.url);
        }
        if (message.archiveFilename !== '') {
            writer.uint32(34).string(message.archiveFilename);
        }
        if (message.checksum !== '') {
            writer.uint32(42).string(message.checksum);
        }
        if (message.size !== 0) {
            writer.uint32(48).int64(message.size);
        }
        if (message.name !== '') {
            writer.uint32(58).string(message.name);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardPlatform();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.architecture = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.category = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.url = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.archiveFilename = reader.string();
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.checksum = reader.string();
                    continue;
                case 6:
                    if (tag !== 48) {
                        break;
                    }
                    message.size = longToNumber(reader.int64());
                    continue;
                case 7:
                    if (tag !== 58) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            architecture: isSet(object.architecture)
                ? String(object.architecture)
                : '',
            category: isSet(object.category) ? String(object.category) : '',
            url: isSet(object.url) ? String(object.url) : '',
            archiveFilename: isSet(object.archiveFilename)
                ? String(object.archiveFilename)
                : '',
            checksum: isSet(object.checksum) ? String(object.checksum) : '',
            size: isSet(object.size) ? Number(object.size) : 0,
            name: isSet(object.name) ? String(object.name) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.architecture !== undefined &&
            (obj.architecture = message.architecture);
        message.category !== undefined && (obj.category = message.category);
        message.url !== undefined && (obj.url = message.url);
        message.archiveFilename !== undefined &&
            (obj.archiveFilename = message.archiveFilename);
        message.checksum !== undefined && (obj.checksum = message.checksum);
        message.size !== undefined && (obj.size = Math.round(message.size));
        message.name !== undefined && (obj.name = message.name);
        return obj;
    },
    create(base) {
        return exports.BoardPlatform.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g;
        const message = createBaseBoardPlatform();
        message.architecture = (_a = object.architecture) !== null && _a !== void 0 ? _a : '';
        message.category = (_b = object.category) !== null && _b !== void 0 ? _b : '';
        message.url = (_c = object.url) !== null && _c !== void 0 ? _c : '';
        message.archiveFilename = (_d = object.archiveFilename) !== null && _d !== void 0 ? _d : '';
        message.checksum = (_e = object.checksum) !== null && _e !== void 0 ? _e : '';
        message.size = (_f = object.size) !== null && _f !== void 0 ? _f : 0;
        message.name = (_g = object.name) !== null && _g !== void 0 ? _g : '';
        return message;
    },
};
function createBaseToolsDependencies() {
    return { packager: '', name: '', version: '', systems: [] };
}
exports.ToolsDependencies = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.packager !== '') {
            writer.uint32(10).string(message.packager);
        }
        if (message.name !== '') {
            writer.uint32(18).string(message.name);
        }
        if (message.version !== '') {
            writer.uint32(26).string(message.version);
        }
        for (const v of message.systems) {
            exports.Systems.encode(v, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseToolsDependencies();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.packager = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.systems.push(exports.Systems.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            packager: isSet(object.packager) ? String(object.packager) : '',
            name: isSet(object.name) ? String(object.name) : '',
            version: isSet(object.version) ? String(object.version) : '',
            systems: Array.isArray(object === null || object === void 0 ? void 0 : object.systems)
                ? object.systems.map((e) => exports.Systems.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        message.packager !== undefined && (obj.packager = message.packager);
        message.name !== undefined && (obj.name = message.name);
        message.version !== undefined && (obj.version = message.version);
        if (message.systems) {
            obj.systems = message.systems.map((e) => e ? exports.Systems.toJSON(e) : undefined);
        }
        else {
            obj.systems = [];
        }
        return obj;
    },
    create(base) {
        return exports.ToolsDependencies.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d;
        const message = createBaseToolsDependencies();
        message.packager = (_a = object.packager) !== null && _a !== void 0 ? _a : '';
        message.name = (_b = object.name) !== null && _b !== void 0 ? _b : '';
        message.version = (_c = object.version) !== null && _c !== void 0 ? _c : '';
        message.systems =
            ((_d = object.systems) === null || _d === void 0 ? void 0 : _d.map((e) => exports.Systems.fromPartial(e))) || [];
        return message;
    },
};
function createBaseSystems() {
    return { checksum: '', host: '', archiveFilename: '', url: '', size: 0 };
}
exports.Systems = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.checksum !== '') {
            writer.uint32(10).string(message.checksum);
        }
        if (message.host !== '') {
            writer.uint32(18).string(message.host);
        }
        if (message.archiveFilename !== '') {
            writer.uint32(26).string(message.archiveFilename);
        }
        if (message.url !== '') {
            writer.uint32(34).string(message.url);
        }
        if (message.size !== 0) {
            writer.uint32(40).int64(message.size);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSystems();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.checksum = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.host = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.archiveFilename = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.url = reader.string();
                    continue;
                case 5:
                    if (tag !== 40) {
                        break;
                    }
                    message.size = longToNumber(reader.int64());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            checksum: isSet(object.checksum) ? String(object.checksum) : '',
            host: isSet(object.host) ? String(object.host) : '',
            archiveFilename: isSet(object.archiveFilename)
                ? String(object.archiveFilename)
                : '',
            url: isSet(object.url) ? String(object.url) : '',
            size: isSet(object.size) ? Number(object.size) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.checksum !== undefined && (obj.checksum = message.checksum);
        message.host !== undefined && (obj.host = message.host);
        message.archiveFilename !== undefined &&
            (obj.archiveFilename = message.archiveFilename);
        message.url !== undefined && (obj.url = message.url);
        message.size !== undefined && (obj.size = Math.round(message.size));
        return obj;
    },
    create(base) {
        return exports.Systems.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e;
        const message = createBaseSystems();
        message.checksum = (_a = object.checksum) !== null && _a !== void 0 ? _a : '';
        message.host = (_b = object.host) !== null && _b !== void 0 ? _b : '';
        message.archiveFilename = (_c = object.archiveFilename) !== null && _c !== void 0 ? _c : '';
        message.url = (_d = object.url) !== null && _d !== void 0 ? _d : '';
        message.size = (_e = object.size) !== null && _e !== void 0 ? _e : 0;
        return message;
    },
};
function createBaseConfigOption() {
    return { option: '', optionLabel: '', values: [] };
}
exports.ConfigOption = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.option !== '') {
            writer.uint32(10).string(message.option);
        }
        if (message.optionLabel !== '') {
            writer.uint32(18).string(message.optionLabel);
        }
        for (const v of message.values) {
            exports.ConfigValue.encode(v, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseConfigOption();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.option = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.optionLabel = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.values.push(exports.ConfigValue.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            option: isSet(object.option) ? String(object.option) : '',
            optionLabel: isSet(object.optionLabel)
                ? String(object.optionLabel)
                : '',
            values: Array.isArray(object === null || object === void 0 ? void 0 : object.values)
                ? object.values.map((e) => exports.ConfigValue.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        message.option !== undefined && (obj.option = message.option);
        message.optionLabel !== undefined &&
            (obj.optionLabel = message.optionLabel);
        if (message.values) {
            obj.values = message.values.map((e) => e ? exports.ConfigValue.toJSON(e) : undefined);
        }
        else {
            obj.values = [];
        }
        return obj;
    },
    create(base) {
        return exports.ConfigOption.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c;
        const message = createBaseConfigOption();
        message.option = (_a = object.option) !== null && _a !== void 0 ? _a : '';
        message.optionLabel = (_b = object.optionLabel) !== null && _b !== void 0 ? _b : '';
        message.values =
            ((_c = object.values) === null || _c === void 0 ? void 0 : _c.map((e) => exports.ConfigValue.fromPartial(e))) || [];
        return message;
    },
};
function createBaseConfigValue() {
    return { value: '', valueLabel: '', selected: false };
}
exports.ConfigValue = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.value !== '') {
            writer.uint32(10).string(message.value);
        }
        if (message.valueLabel !== '') {
            writer.uint32(18).string(message.valueLabel);
        }
        if (message.selected === true) {
            writer.uint32(24).bool(message.selected);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseConfigValue();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.value = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.valueLabel = reader.string();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.selected = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            value: isSet(object.value) ? String(object.value) : '',
            valueLabel: isSet(object.valueLabel)
                ? String(object.valueLabel)
                : '',
            selected: isSet(object.selected) ? Boolean(object.selected) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        message.value !== undefined && (obj.value = message.value);
        message.valueLabel !== undefined &&
            (obj.valueLabel = message.valueLabel);
        message.selected !== undefined && (obj.selected = message.selected);
        return obj;
    },
    create(base) {
        return exports.ConfigValue.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c;
        const message = createBaseConfigValue();
        message.value = (_a = object.value) !== null && _a !== void 0 ? _a : '';
        message.valueLabel = (_b = object.valueLabel) !== null && _b !== void 0 ? _b : '';
        message.selected = (_c = object.selected) !== null && _c !== void 0 ? _c : false;
        return message;
    },
};
function createBaseBoardListRequest() {
    return { instance: undefined, timeout: 0, fqbn: '' };
}
exports.BoardListRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.timeout !== 0) {
            writer.uint32(16).int64(message.timeout);
        }
        if (message.fqbn !== '') {
            writer.uint32(26).string(message.fqbn);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardListRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 16) {
                        break;
                    }
                    message.timeout = longToNumber(reader.int64());
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.fqbn = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            timeout: isSet(object.timeout) ? Number(object.timeout) : 0,
            fqbn: isSet(object.fqbn) ? String(object.fqbn) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.instance !== undefined &&
            (obj.instance = message.instance
                ? common_1.Instance.toJSON(message.instance)
                : undefined);
        message.timeout !== undefined &&
            (obj.timeout = Math.round(message.timeout));
        message.fqbn !== undefined && (obj.fqbn = message.fqbn);
        return obj;
    },
    create(base) {
        return exports.BoardListRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseBoardListRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.timeout = (_a = object.timeout) !== null && _a !== void 0 ? _a : 0;
        message.fqbn = (_b = object.fqbn) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseBoardListResponse() {
    return { ports: [], warnings: [] };
}
exports.BoardListResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.ports) {
            exports.DetectedPort.encode(v, writer.uint32(10).fork()).ldelim();
        }
        for (const v of message.warnings) {
            writer.uint32(18).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardListResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.ports.push(exports.DetectedPort.decode(reader, reader.uint32()));
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.warnings.push(reader.string());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            ports: Array.isArray(object === null || object === void 0 ? void 0 : object.ports)
                ? object.ports.map((e) => exports.DetectedPort.fromJSON(e))
                : [],
            warnings: Array.isArray(object === null || object === void 0 ? void 0 : object.warnings)
                ? object.warnings.map((e) => String(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.ports) {
            obj.ports = message.ports.map((e) => e ? exports.DetectedPort.toJSON(e) : undefined);
        }
        else {
            obj.ports = [];
        }
        if (message.warnings) {
            obj.warnings = message.warnings.map((e) => e);
        }
        else {
            obj.warnings = [];
        }
        return obj;
    },
    create(base) {
        return exports.BoardListResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseBoardListResponse();
        message.ports =
            ((_a = object.ports) === null || _a === void 0 ? void 0 : _a.map((e) => exports.DetectedPort.fromPartial(e))) || [];
        message.warnings = ((_b = object.warnings) === null || _b === void 0 ? void 0 : _b.map((e) => e)) || [];
        return message;
    },
};
function createBaseDetectedPort() {
    return { matchingBoards: [], port: undefined };
}
exports.DetectedPort = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.matchingBoards) {
            exports.BoardListItem.encode(v, writer.uint32(10).fork()).ldelim();
        }
        if (message.port !== undefined) {
            port_1.Port.encode(message.port, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseDetectedPort();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.matchingBoards.push(exports.BoardListItem.decode(reader, reader.uint32()));
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.port = port_1.Port.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            matchingBoards: Array.isArray(object === null || object === void 0 ? void 0 : object.matchingBoards)
                ? object.matchingBoards.map((e) => exports.BoardListItem.fromJSON(e))
                : [],
            port: isSet(object.port) ? port_1.Port.fromJSON(object.port) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.matchingBoards) {
            obj.matchingBoards = message.matchingBoards.map((e) => e ? exports.BoardListItem.toJSON(e) : undefined);
        }
        else {
            obj.matchingBoards = [];
        }
        message.port !== undefined &&
            (obj.port = message.port ? port_1.Port.toJSON(message.port) : undefined);
        return obj;
    },
    create(base) {
        return exports.DetectedPort.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseDetectedPort();
        message.matchingBoards =
            ((_a = object.matchingBoards) === null || _a === void 0 ? void 0 : _a.map((e) => exports.BoardListItem.fromPartial(e))) ||
                [];
        message.port =
            object.port !== undefined && object.port !== null
                ? port_1.Port.fromPartial(object.port)
                : undefined;
        return message;
    },
};
function createBaseBoardListAllRequest() {
    return { instance: undefined, searchArgs: [], includeHiddenBoards: false };
}
exports.BoardListAllRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        for (const v of message.searchArgs) {
            writer.uint32(18).string(v);
        }
        if (message.includeHiddenBoards === true) {
            writer.uint32(24).bool(message.includeHiddenBoards);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardListAllRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.searchArgs.push(reader.string());
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.includeHiddenBoards = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            searchArgs: Array.isArray(object === null || object === void 0 ? void 0 : object.searchArgs)
                ? object.searchArgs.map((e) => String(e))
                : [],
            includeHiddenBoards: isSet(object.includeHiddenBoards)
                ? Boolean(object.includeHiddenBoards)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        message.instance !== undefined &&
            (obj.instance = message.instance
                ? common_1.Instance.toJSON(message.instance)
                : undefined);
        if (message.searchArgs) {
            obj.searchArgs = message.searchArgs.map((e) => e);
        }
        else {
            obj.searchArgs = [];
        }
        message.includeHiddenBoards !== undefined &&
            (obj.includeHiddenBoards = message.includeHiddenBoards);
        return obj;
    },
    create(base) {
        return exports.BoardListAllRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseBoardListAllRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.searchArgs = ((_a = object.searchArgs) === null || _a === void 0 ? void 0 : _a.map((e) => e)) || [];
        message.includeHiddenBoards = (_b = object.includeHiddenBoards) !== null && _b !== void 0 ? _b : false;
        return message;
    },
};
function createBaseBoardListAllResponse() {
    return { boards: [] };
}
exports.BoardListAllResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.boards) {
            exports.BoardListItem.encode(v, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardListAllResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.boards.push(exports.BoardListItem.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            boards: Array.isArray(object === null || object === void 0 ? void 0 : object.boards)
                ? object.boards.map((e) => exports.BoardListItem.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.boards) {
            obj.boards = message.boards.map((e) => e ? exports.BoardListItem.toJSON(e) : undefined);
        }
        else {
            obj.boards = [];
        }
        return obj;
    },
    create(base) {
        return exports.BoardListAllResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseBoardListAllResponse();
        message.boards =
            ((_a = object.boards) === null || _a === void 0 ? void 0 : _a.map((e) => exports.BoardListItem.fromPartial(e))) || [];
        return message;
    },
};
function createBaseBoardListWatchRequest() {
    return { instance: undefined };
}
exports.BoardListWatchRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardListWatchRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.instance !== undefined &&
            (obj.instance = message.instance
                ? common_1.Instance.toJSON(message.instance)
                : undefined);
        return obj;
    },
    create(base) {
        return exports.BoardListWatchRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        const message = createBaseBoardListWatchRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        return message;
    },
};
function createBaseBoardListWatchResponse() {
    return { eventType: '', port: undefined, error: '' };
}
exports.BoardListWatchResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.eventType !== '') {
            writer.uint32(10).string(message.eventType);
        }
        if (message.port !== undefined) {
            exports.DetectedPort.encode(message.port, writer.uint32(18).fork()).ldelim();
        }
        if (message.error !== '') {
            writer.uint32(26).string(message.error);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardListWatchResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.eventType = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.port = exports.DetectedPort.decode(reader, reader.uint32());
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.error = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            eventType: isSet(object.eventType) ? String(object.eventType) : '',
            port: isSet(object.port)
                ? exports.DetectedPort.fromJSON(object.port)
                : undefined,
            error: isSet(object.error) ? String(object.error) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.eventType !== undefined && (obj.eventType = message.eventType);
        message.port !== undefined &&
            (obj.port = message.port
                ? exports.DetectedPort.toJSON(message.port)
                : undefined);
        message.error !== undefined && (obj.error = message.error);
        return obj;
    },
    create(base) {
        return exports.BoardListWatchResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseBoardListWatchResponse();
        message.eventType = (_a = object.eventType) !== null && _a !== void 0 ? _a : '';
        message.port =
            object.port !== undefined && object.port !== null
                ? exports.DetectedPort.fromPartial(object.port)
                : undefined;
        message.error = (_b = object.error) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseBoardListItem() {
    return { name: '', fqbn: '', isHidden: false, platform: undefined };
}
exports.BoardListItem = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.name !== '') {
            writer.uint32(10).string(message.name);
        }
        if (message.fqbn !== '') {
            writer.uint32(18).string(message.fqbn);
        }
        if (message.isHidden === true) {
            writer.uint32(24).bool(message.isHidden);
        }
        if (message.platform !== undefined) {
            common_1.Platform.encode(message.platform, writer.uint32(50).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardListItem();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.fqbn = reader.string();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.isHidden = reader.bool();
                    continue;
                case 6:
                    if (tag !== 50) {
                        break;
                    }
                    message.platform = common_1.Platform.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? String(object.name) : '',
            fqbn: isSet(object.fqbn) ? String(object.fqbn) : '',
            isHidden: isSet(object.isHidden) ? Boolean(object.isHidden) : false,
            platform: isSet(object.platform)
                ? common_1.Platform.fromJSON(object.platform)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.name !== undefined && (obj.name = message.name);
        message.fqbn !== undefined && (obj.fqbn = message.fqbn);
        message.isHidden !== undefined && (obj.isHidden = message.isHidden);
        message.platform !== undefined &&
            (obj.platform = message.platform
                ? common_1.Platform.toJSON(message.platform)
                : undefined);
        return obj;
    },
    create(base) {
        return exports.BoardListItem.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c;
        const message = createBaseBoardListItem();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.fqbn = (_b = object.fqbn) !== null && _b !== void 0 ? _b : '';
        message.isHidden = (_c = object.isHidden) !== null && _c !== void 0 ? _c : false;
        message.platform =
            object.platform !== undefined && object.platform !== null
                ? common_1.Platform.fromPartial(object.platform)
                : undefined;
        return message;
    },
};
function createBaseBoardSearchRequest() {
    return { instance: undefined, searchArgs: '', includeHiddenBoards: false };
}
exports.BoardSearchRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.searchArgs !== '') {
            writer.uint32(18).string(message.searchArgs);
        }
        if (message.includeHiddenBoards === true) {
            writer.uint32(24).bool(message.includeHiddenBoards);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardSearchRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.searchArgs = reader.string();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.includeHiddenBoards = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            searchArgs: isSet(object.searchArgs)
                ? String(object.searchArgs)
                : '',
            includeHiddenBoards: isSet(object.includeHiddenBoards)
                ? Boolean(object.includeHiddenBoards)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        message.instance !== undefined &&
            (obj.instance = message.instance
                ? common_1.Instance.toJSON(message.instance)
                : undefined);
        message.searchArgs !== undefined &&
            (obj.searchArgs = message.searchArgs);
        message.includeHiddenBoards !== undefined &&
            (obj.includeHiddenBoards = message.includeHiddenBoards);
        return obj;
    },
    create(base) {
        return exports.BoardSearchRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseBoardSearchRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.searchArgs = (_a = object.searchArgs) !== null && _a !== void 0 ? _a : '';
        message.includeHiddenBoards = (_b = object.includeHiddenBoards) !== null && _b !== void 0 ? _b : false;
        return message;
    },
};
function createBaseBoardSearchResponse() {
    return { boards: [] };
}
exports.BoardSearchResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.boards) {
            exports.BoardListItem.encode(v, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBoardSearchResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.boards.push(exports.BoardListItem.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            boards: Array.isArray(object === null || object === void 0 ? void 0 : object.boards)
                ? object.boards.map((e) => exports.BoardListItem.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.boards) {
            obj.boards = message.boards.map((e) => e ? exports.BoardListItem.toJSON(e) : undefined);
        }
        else {
            obj.boards = [];
        }
        return obj;
    },
    create(base) {
        return exports.BoardSearchResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseBoardSearchResponse();
        message.boards =
            ((_a = object.boards) === null || _a === void 0 ? void 0 : _a.map((e) => exports.BoardListItem.fromPartial(e))) || [];
        return message;
    },
};
const tsProtoGlobalThis = (() => {
    if (typeof globalThis !== 'undefined') {
        return globalThis;
    }
    if (typeof self !== 'undefined') {
        return self;
    }
    if (typeof window !== 'undefined') {
        return window;
    }
    if (typeof global !== 'undefined') {
        return global;
    }
    throw 'Unable to locate global object';
})();
function longToNumber(long) {
    if (long.gt(Number.MAX_SAFE_INTEGER)) {
        throw new tsProtoGlobalThis.Error('Value is larger than Number.MAX_SAFE_INTEGER');
    }
    return long.toNumber();
}
if (minimal_1.default.util.Long !== long_1.default) {
    minimal_1.default.util.Long = long_1.default;
    minimal_1.default.configure();
}
function isObject(value) {
    return typeof value === 'object' && value !== null;
}
function isSet(value) {
    return value !== null && value !== undefined;
}