UNPKG

ardunno-cli

Version:
1,933 lines 73.6 kB
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SketchProfile = exports.MonitorPortSetting = exports.MonitorPortConfiguration = exports.Sketch = exports.HelpResources = exports.Board = exports.InstalledPlatformReference = exports.PlatformRelease = exports.PlatformMetadata = exports.PlatformSummary_ReleasesEntry = exports.PlatformSummary = exports.Platform = exports.MissingProgrammerError = exports.Programmer = exports.TaskProgress = exports.DownloadProgressEnd = exports.DownloadProgressUpdate = exports.DownloadProgressStart = exports.DownloadProgress = exports.Instance = void 0;
/* eslint-disable */
const long_1 = __importDefault(require("long"));
const minimal_1 = __importDefault(require("protobufjs/minimal"));
function createBaseInstance() {
    return { id: 0 };
}
exports.Instance = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.id !== 0) {
            writer.uint32(8).int32(message.id);
        }
        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 = createBaseInstance();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 8) {
                        break;
                    }
                    message.id = reader.int32();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { id: isSet(object.id) ? Number(object.id) : 0 };
    },
    toJSON(message) {
        const obj = {};
        message.id !== undefined && (obj.id = Math.round(message.id));
        return obj;
    },
    create(base) {
        return exports.Instance.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseInstance();
        message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
        return message;
    },
};
function createBaseDownloadProgress() {
    return { message: undefined };
}
exports.DownloadProgress = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        var _a;
        switch ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) {
            case 'start':
                exports.DownloadProgressStart.encode(message.message.start, writer.uint32(10).fork()).ldelim();
                break;
            case 'update':
                exports.DownloadProgressUpdate.encode(message.message.update, writer.uint32(18).fork()).ldelim();
                break;
            case 'end':
                exports.DownloadProgressEnd.encode(message.message.end, writer.uint32(26).fork()).ldelim();
                break;
        }
        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 = createBaseDownloadProgress();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.message = {
                        $case: 'start',
                        start: exports.DownloadProgressStart.decode(reader, reader.uint32()),
                    };
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = {
                        $case: 'update',
                        update: exports.DownloadProgressUpdate.decode(reader, reader.uint32()),
                    };
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.message = {
                        $case: 'end',
                        end: exports.DownloadProgressEnd.decode(reader, reader.uint32()),
                    };
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            message: isSet(object.start)
                ? {
                    $case: 'start',
                    start: exports.DownloadProgressStart.fromJSON(object.start),
                }
                : isSet(object.update)
                    ? {
                        $case: 'update',
                        update: exports.DownloadProgressUpdate.fromJSON(object.update),
                    }
                    : isSet(object.end)
                        ? {
                            $case: 'end',
                            end: exports.DownloadProgressEnd.fromJSON(object.end),
                        }
                        : undefined,
        };
    },
    toJSON(message) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j;
        const obj = {};
        ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) === 'start' &&
            (obj.start = ((_b = message.message) === null || _b === void 0 ? void 0 : _b.start)
                ? exports.DownloadProgressStart.toJSON((_c = message.message) === null || _c === void 0 ? void 0 : _c.start)
                : undefined);
        ((_d = message.message) === null || _d === void 0 ? void 0 : _d.$case) === 'update' &&
            (obj.update = ((_e = message.message) === null || _e === void 0 ? void 0 : _e.update)
                ? exports.DownloadProgressUpdate.toJSON((_f = message.message) === null || _f === void 0 ? void 0 : _f.update)
                : undefined);
        ((_g = message.message) === null || _g === void 0 ? void 0 : _g.$case) === 'end' &&
            (obj.end = ((_h = message.message) === null || _h === void 0 ? void 0 : _h.end)
                ? exports.DownloadProgressEnd.toJSON((_j = message.message) === null || _j === void 0 ? void 0 : _j.end)
                : undefined);
        return obj;
    },
    create(base) {
        return exports.DownloadProgress.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j;
        const message = createBaseDownloadProgress();
        if (((_a = object.message) === null || _a === void 0 ? void 0 : _a.$case) === 'start' &&
            ((_b = object.message) === null || _b === void 0 ? void 0 : _b.start) !== undefined &&
            ((_c = object.message) === null || _c === void 0 ? void 0 : _c.start) !== null) {
            message.message = {
                $case: 'start',
                start: exports.DownloadProgressStart.fromPartial(object.message.start),
            };
        }
        if (((_d = object.message) === null || _d === void 0 ? void 0 : _d.$case) === 'update' &&
            ((_e = object.message) === null || _e === void 0 ? void 0 : _e.update) !== undefined &&
            ((_f = object.message) === null || _f === void 0 ? void 0 : _f.update) !== null) {
            message.message = {
                $case: 'update',
                update: exports.DownloadProgressUpdate.fromPartial(object.message.update),
            };
        }
        if (((_g = object.message) === null || _g === void 0 ? void 0 : _g.$case) === 'end' &&
            ((_h = object.message) === null || _h === void 0 ? void 0 : _h.end) !== undefined &&
            ((_j = object.message) === null || _j === void 0 ? void 0 : _j.end) !== null) {
            message.message = {
                $case: 'end',
                end: exports.DownloadProgressEnd.fromPartial(object.message.end),
            };
        }
        return message;
    },
};
function createBaseDownloadProgressStart() {
    return { url: '', label: '' };
}
exports.DownloadProgressStart = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.url !== '') {
            writer.uint32(10).string(message.url);
        }
        if (message.label !== '') {
            writer.uint32(18).string(message.label);
        }
        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 = createBaseDownloadProgressStart();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.url = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.label = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            url: isSet(object.url) ? String(object.url) : '',
            label: isSet(object.label) ? String(object.label) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.url !== undefined && (obj.url = message.url);
        message.label !== undefined && (obj.label = message.label);
        return obj;
    },
    create(base) {
        return exports.DownloadProgressStart.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseDownloadProgressStart();
        message.url = (_a = object.url) !== null && _a !== void 0 ? _a : '';
        message.label = (_b = object.label) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseDownloadProgressUpdate() {
    return { downloaded: 0, totalSize: 0 };
}
exports.DownloadProgressUpdate = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.downloaded !== 0) {
            writer.uint32(8).int64(message.downloaded);
        }
        if (message.totalSize !== 0) {
            writer.uint32(16).int64(message.totalSize);
        }
        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 = createBaseDownloadProgressUpdate();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 8) {
                        break;
                    }
                    message.downloaded = longToNumber(reader.int64());
                    continue;
                case 2:
                    if (tag !== 16) {
                        break;
                    }
                    message.totalSize = longToNumber(reader.int64());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            downloaded: isSet(object.downloaded)
                ? Number(object.downloaded)
                : 0,
            totalSize: isSet(object.totalSize) ? Number(object.totalSize) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.downloaded !== undefined &&
            (obj.downloaded = Math.round(message.downloaded));
        message.totalSize !== undefined &&
            (obj.totalSize = Math.round(message.totalSize));
        return obj;
    },
    create(base) {
        return exports.DownloadProgressUpdate.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseDownloadProgressUpdate();
        message.downloaded = (_a = object.downloaded) !== null && _a !== void 0 ? _a : 0;
        message.totalSize = (_b = object.totalSize) !== null && _b !== void 0 ? _b : 0;
        return message;
    },
};
function createBaseDownloadProgressEnd() {
    return { success: false, message: '' };
}
exports.DownloadProgressEnd = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.success === true) {
            writer.uint32(8).bool(message.success);
        }
        if (message.message !== '') {
            writer.uint32(18).string(message.message);
        }
        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 = createBaseDownloadProgressEnd();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 8) {
                        break;
                    }
                    message.success = reader.bool();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            success: isSet(object.success) ? Boolean(object.success) : false,
            message: isSet(object.message) ? String(object.message) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.success !== undefined && (obj.success = message.success);
        message.message !== undefined && (obj.message = message.message);
        return obj;
    },
    create(base) {
        return exports.DownloadProgressEnd.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseDownloadProgressEnd();
        message.success = (_a = object.success) !== null && _a !== void 0 ? _a : false;
        message.message = (_b = object.message) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseTaskProgress() {
    return { name: '', message: '', completed: false, percent: 0 };
}
exports.TaskProgress = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.name !== '') {
            writer.uint32(10).string(message.name);
        }
        if (message.message !== '') {
            writer.uint32(18).string(message.message);
        }
        if (message.completed === true) {
            writer.uint32(24).bool(message.completed);
        }
        if (message.percent !== 0) {
            writer.uint32(37).float(message.percent);
        }
        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 = createBaseTaskProgress();
        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.message = reader.string();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.completed = reader.bool();
                    continue;
                case 4:
                    if (tag !== 37) {
                        break;
                    }
                    message.percent = reader.float();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? String(object.name) : '',
            message: isSet(object.message) ? String(object.message) : '',
            completed: isSet(object.completed)
                ? Boolean(object.completed)
                : false,
            percent: isSet(object.percent) ? Number(object.percent) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.name !== undefined && (obj.name = message.name);
        message.message !== undefined && (obj.message = message.message);
        message.completed !== undefined && (obj.completed = message.completed);
        message.percent !== undefined && (obj.percent = message.percent);
        return obj;
    },
    create(base) {
        return exports.TaskProgress.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d;
        const message = createBaseTaskProgress();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.message = (_b = object.message) !== null && _b !== void 0 ? _b : '';
        message.completed = (_c = object.completed) !== null && _c !== void 0 ? _c : false;
        message.percent = (_d = object.percent) !== null && _d !== void 0 ? _d : 0;
        return message;
    },
};
function createBaseProgrammer() {
    return { platform: '', id: '', name: '' };
}
exports.Programmer = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.platform !== '') {
            writer.uint32(10).string(message.platform);
        }
        if (message.id !== '') {
            writer.uint32(18).string(message.id);
        }
        if (message.name !== '') {
            writer.uint32(26).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 = createBaseProgrammer();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.platform = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.id = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            platform: isSet(object.platform) ? String(object.platform) : '',
            id: isSet(object.id) ? String(object.id) : '',
            name: isSet(object.name) ? String(object.name) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.platform !== undefined && (obj.platform = message.platform);
        message.id !== undefined && (obj.id = message.id);
        message.name !== undefined && (obj.name = message.name);
        return obj;
    },
    create(base) {
        return exports.Programmer.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c;
        const message = createBaseProgrammer();
        message.platform = (_a = object.platform) !== null && _a !== void 0 ? _a : '';
        message.id = (_b = object.id) !== null && _b !== void 0 ? _b : '';
        message.name = (_c = object.name) !== null && _c !== void 0 ? _c : '';
        return message;
    },
};
function createBaseMissingProgrammerError() {
    return {};
}
exports.MissingProgrammerError = {
    encode(_, writer = minimal_1.default.Writer.create()) {
        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 = createBaseMissingProgrammerError();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return exports.MissingProgrammerError.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(_) {
        const message = createBaseMissingProgrammerError();
        return message;
    },
};
function createBasePlatform() {
    return { metadata: undefined, release: undefined };
}
exports.Platform = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.metadata !== undefined) {
            exports.PlatformMetadata.encode(message.metadata, writer.uint32(10).fork()).ldelim();
        }
        if (message.release !== undefined) {
            exports.PlatformRelease.encode(message.release, 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 = createBasePlatform();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.metadata = exports.PlatformMetadata.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.release = exports.PlatformRelease.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            metadata: isSet(object.metadata)
                ? exports.PlatformMetadata.fromJSON(object.metadata)
                : undefined,
            release: isSet(object.release)
                ? exports.PlatformRelease.fromJSON(object.release)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.metadata !== undefined &&
            (obj.metadata = message.metadata
                ? exports.PlatformMetadata.toJSON(message.metadata)
                : undefined);
        message.release !== undefined &&
            (obj.release = message.release
                ? exports.PlatformRelease.toJSON(message.release)
                : undefined);
        return obj;
    },
    create(base) {
        return exports.Platform.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        const message = createBasePlatform();
        message.metadata =
            object.metadata !== undefined && object.metadata !== null
                ? exports.PlatformMetadata.fromPartial(object.metadata)
                : undefined;
        message.release =
            object.release !== undefined && object.release !== null
                ? exports.PlatformRelease.fromPartial(object.release)
                : undefined;
        return message;
    },
};
function createBasePlatformSummary() {
    return {
        metadata: undefined,
        releases: {},
        installedVersion: '',
        latestVersion: '',
    };
}
exports.PlatformSummary = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.metadata !== undefined) {
            exports.PlatformMetadata.encode(message.metadata, writer.uint32(10).fork()).ldelim();
        }
        Object.entries(message.releases).forEach(([key, value]) => {
            exports.PlatformSummary_ReleasesEntry.encode({ key: key, value }, writer.uint32(18).fork()).ldelim();
        });
        if (message.installedVersion !== '') {
            writer.uint32(26).string(message.installedVersion);
        }
        if (message.latestVersion !== '') {
            writer.uint32(34).string(message.latestVersion);
        }
        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 = createBasePlatformSummary();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.metadata = exports.PlatformMetadata.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    const entry2 = exports.PlatformSummary_ReleasesEntry.decode(reader, reader.uint32());
                    if (entry2.value !== undefined) {
                        message.releases[entry2.key] = entry2.value;
                    }
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.installedVersion = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.latestVersion = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            metadata: isSet(object.metadata)
                ? exports.PlatformMetadata.fromJSON(object.metadata)
                : undefined,
            releases: isObject(object.releases)
                ? Object.entries(object.releases).reduce((acc, [key, value]) => {
                    acc[key] = exports.PlatformRelease.fromJSON(value);
                    return acc;
                }, {})
                : {},
            installedVersion: isSet(object.installedVersion)
                ? String(object.installedVersion)
                : '',
            latestVersion: isSet(object.latestVersion)
                ? String(object.latestVersion)
                : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.metadata !== undefined &&
            (obj.metadata = message.metadata
                ? exports.PlatformMetadata.toJSON(message.metadata)
                : undefined);
        obj.releases = {};
        if (message.releases) {
            Object.entries(message.releases).forEach(([k, v]) => {
                obj.releases[k] = exports.PlatformRelease.toJSON(v);
            });
        }
        message.installedVersion !== undefined &&
            (obj.installedVersion = message.installedVersion);
        message.latestVersion !== undefined &&
            (obj.latestVersion = message.latestVersion);
        return obj;
    },
    create(base) {
        return exports.PlatformSummary.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c;
        const message = createBasePlatformSummary();
        message.metadata =
            object.metadata !== undefined && object.metadata !== null
                ? exports.PlatformMetadata.fromPartial(object.metadata)
                : undefined;
        message.releases = Object.entries((_a = object.releases) !== null && _a !== void 0 ? _a : {}).reduce((acc, [key, value]) => {
            if (value !== undefined) {
                acc[key] = exports.PlatformRelease.fromPartial(value);
            }
            return acc;
        }, {});
        message.installedVersion = (_b = object.installedVersion) !== null && _b !== void 0 ? _b : '';
        message.latestVersion = (_c = object.latestVersion) !== null && _c !== void 0 ? _c : '';
        return message;
    },
};
function createBasePlatformSummary_ReleasesEntry() {
    return { key: '', value: undefined };
}
exports.PlatformSummary_ReleasesEntry = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.key !== '') {
            writer.uint32(10).string(message.key);
        }
        if (message.value !== undefined) {
            exports.PlatformRelease.encode(message.value, 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 = createBasePlatformSummary_ReleasesEntry();
        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 = exports.PlatformRelease.decode(reader, reader.uint32());
                    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)
                ? exports.PlatformRelease.fromJSON(object.value)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.key !== undefined && (obj.key = message.key);
        message.value !== undefined &&
            (obj.value = message.value
                ? exports.PlatformRelease.toJSON(message.value)
                : undefined);
        return obj;
    },
    create(base) {
        return exports.PlatformSummary_ReleasesEntry.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBasePlatformSummary_ReleasesEntry();
        message.key = (_a = object.key) !== null && _a !== void 0 ? _a : '';
        message.value =
            object.value !== undefined && object.value !== null
                ? exports.PlatformRelease.fromPartial(object.value)
                : undefined;
        return message;
    },
};
function createBasePlatformMetadata() {
    return {
        id: '',
        maintainer: '',
        website: '',
        email: '',
        manuallyInstalled: false,
        deprecated: false,
        indexed: false,
    };
}
exports.PlatformMetadata = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.id !== '') {
            writer.uint32(10).string(message.id);
        }
        if (message.maintainer !== '') {
            writer.uint32(18).string(message.maintainer);
        }
        if (message.website !== '') {
            writer.uint32(26).string(message.website);
        }
        if (message.email !== '') {
            writer.uint32(34).string(message.email);
        }
        if (message.manuallyInstalled === true) {
            writer.uint32(40).bool(message.manuallyInstalled);
        }
        if (message.deprecated === true) {
            writer.uint32(48).bool(message.deprecated);
        }
        if (message.indexed === true) {
            writer.uint32(56).bool(message.indexed);
        }
        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 = createBasePlatformMetadata();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.id = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.maintainer = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.website = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.email = reader.string();
                    continue;
                case 5:
                    if (tag !== 40) {
                        break;
                    }
                    message.manuallyInstalled = reader.bool();
                    continue;
                case 6:
                    if (tag !== 48) {
                        break;
                    }
                    message.deprecated = reader.bool();
                    continue;
                case 7:
                    if (tag !== 56) {
                        break;
                    }
                    message.indexed = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            id: isSet(object.id) ? String(object.id) : '',
            maintainer: isSet(object.maintainer)
                ? String(object.maintainer)
                : '',
            website: isSet(object.website) ? String(object.website) : '',
            email: isSet(object.email) ? String(object.email) : '',
            manuallyInstalled: isSet(object.manuallyInstalled)
                ? Boolean(object.manuallyInstalled)
                : false,
            deprecated: isSet(object.deprecated)
                ? Boolean(object.deprecated)
                : false,
            indexed: isSet(object.indexed) ? Boolean(object.indexed) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        message.id !== undefined && (obj.id = message.id);
        message.maintainer !== undefined &&
            (obj.maintainer = message.maintainer);
        message.website !== undefined && (obj.website = message.website);
        message.email !== undefined && (obj.email = message.email);
        message.manuallyInstalled !== undefined &&
            (obj.manuallyInstalled = message.manuallyInstalled);
        message.deprecated !== undefined &&
            (obj.deprecated = message.deprecated);
        message.indexed !== undefined && (obj.indexed = message.indexed);
        return obj;
    },
    create(base) {
        return exports.PlatformMetadata.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g;
        const message = createBasePlatformMetadata();
        message.id = (_a = object.id) !== null && _a !== void 0 ? _a : '';
        message.maintainer = (_b = object.maintainer) !== null && _b !== void 0 ? _b : '';
        message.website = (_c = object.website) !== null && _c !== void 0 ? _c : '';
        message.email = (_d = object.email) !== null && _d !== void 0 ? _d : '';
        message.manuallyInstalled = (_e = object.manuallyInstalled) !== null && _e !== void 0 ? _e : false;
        message.deprecated = (_f = object.deprecated) !== null && _f !== void 0 ? _f : false;
        message.indexed = (_g = object.indexed) !== null && _g !== void 0 ? _g : false;
        return message;
    },
};
function createBasePlatformRelease() {
    return {
        name: '',
        version: '',
        types: [],
        installed: false,
        boards: [],
        help: undefined,
        missingMetadata: false,
        deprecated: false,
        compatible: false,
    };
}
exports.PlatformRelease = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.name !== '') {
            writer.uint32(10).string(message.name);
        }
        if (message.version !== '') {
            writer.uint32(18).string(message.version);
        }
        for (const v of message.types) {
            writer.uint32(26).string(v);
        }
        if (message.installed === true) {
            writer.uint32(32).bool(message.installed);
        }
        for (const v of message.boards) {
            exports.Board.encode(v, writer.uint32(42).fork()).ldelim();
        }
        if (message.help !== undefined) {
            exports.HelpResources.encode(message.help, writer.uint32(50).fork()).ldelim();
        }
        if (message.missingMetadata === true) {
            writer.uint32(56).bool(message.missingMetadata);
        }
        if (message.deprecated === true) {
            writer.uint32(64).bool(message.deprecated);
        }
        if (message.compatible === true) {
            writer.uint32(72).bool(message.compatible);
        }
        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 = createBasePlatformRelease();
        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.version = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.types.push(reader.string());
                    continue;
                case 4:
                    if (tag !== 32) {
                        break;
                    }
                    message.installed = reader.bool();
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.boards.push(exports.Board.decode(reader, reader.uint32()));
                    continue;
                case 6:
                    if (tag !== 50) {
                        break;
                    }
                    message.help = exports.HelpResources.decode(reader, reader.uint32());
                    continue;
                case 7:
                    if (tag !== 56) {
                        break;
                    }
                    message.missingMetadata = reader.bool();
                    continue;
                case 8:
                    if (tag !== 64) {
                        break;
                    }
                    message.deprecated = reader.bool();
                    continue;
                case 9:
                    if (tag !== 72) {
                        break;
                    }
                    message.compatible = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? String(object.name) : '',
            version: isSet(object.version) ? String(object.version) : '',
            types: Array.isArray(object === null || object === void 0 ? void 0 : object.types)
                ? object.types.map((e) => String(e))
                : [],
            installed: isSet(object.installed)
                ? Boolean(object.installed)
                : false,
            boards: Array.isArray(object === null || object === void 0 ? void 0 : object.boards)
                ? object.boards.map((e) => exports.Board.fromJSON(e))
                : [],
            help: isSet(object.help)
                ? exports.HelpResources.fromJSON(object.help)
                : undefined,
            missingMetadata: isSet(object.missingMetadata)
                ? Boolean(object.missingMetadata)
                : false,
            deprecated: isSet(object.deprecated)
                ? Boolean(object.deprecated)
                : false,
            compatible: isSet(object.compatible)
                ? Boolean(object.compatible)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        message.name !== undefined && (obj.name = message.name);
        message.version !== undefined && (obj.version = message.version);
        if (message.types) {
            obj.types = message.types.map((e) => e);
        }
        else {
            obj.types = [];
        }
        message.installed !== undefined && (obj.installed = message.installed);
        if (message.boards) {
            obj.boards = message.boards.map((e) => e ? exports.Board.toJSON(e) : undefined);
        }
        else {
            obj.boards = [];
        }
        message.help !== undefined &&
            (obj.help = message.help
                ? exports.HelpResources.toJSON(message.help)
                : undefined);
        message.missingMetadata !== undefined &&
            (obj.missingMetadata = message.missingMetadata);
        message.deprecated !== undefined &&
            (obj.deprecated = message.deprecated);
        message.compatible !== undefined &&
            (obj.compatible = message.compatible);
        return obj;
    },
    create(base) {
        return exports.PlatformRelease.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h;
        const message = createBasePlatformRelease();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.version = (_b = object.version) !== null && _b !== void 0 ? _b : '';
        message.types = ((_c = object.types) === null || _c === void 0 ? void 0 : _c.map((e) => e)) || [];
        message.installed = (_d = object.installed) !== null && _d !== void 0 ? _d : false;
        message.boards = ((_e = object.boards) === null || _e === void 0 ? void 0 : _e.map((e) => exports.Board.fromPartial(e))) || [];
        message.help =
            object.help !== undefined && object.help !== null
                ? exports.HelpResources.fromPartial(object.help)
                : undefined;
        message.missingMetadata = (_f = object.missingMetadata) !== null && _f !== void 0 ? _f : false;
        message.deprecated = (_g = object.deprecated) !== null && _g !== void 0 ? _g : false;
        message.compatible = (_h = object.compatible) !== null && _h !== void 0 ? _h : false;
        return message;
    },
};
function createBaseInstalledPlatformReference() {
    return { id: '', version: '', installDir: '', packageUrl: '' };
}
exports.InstalledPlatformReference = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.id !== '') {
            writer.uint32(10).string(message.id);
        }
        if (message.version !== '') {
            writer.uint32(18).string(message.version);
        }
        if (message.installDir !== '') {
            writer.uint32(26).string(message.installDir);
        }
        if (message.packageUrl !== '') {
            writer.uint32(34).string(message.packageUrl);
        }
        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 = createBaseInstalledPlatformReference();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.id = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.installDir = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.packageUrl = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            id: isSet(object.id) ? String(object.id) : '',
            version: isSet(object.version) ? String(object.version) : '',
            installDir: isSet(object.installDir)
                ? String(object.installDir)
                : '',
            packageUrl: isSet(object.packageUrl)
                ? String(object.packageUrl)
                : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.id !== undefined && (obj.id = message.id);
        message.version !== undefined && (obj.version = message.version);
        message.installDir !== undefined &&
            (obj.installDir = message.installDir);
        message.packageUrl !== undefined &&
            (obj.packageUrl = message.packageUrl);
        return obj;
    },
    create(base) {
        return exports.InstalledPlatformReference.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d;
        const message = createBaseInstalledPlatformReference();
        message.id = (_a = object.id) !== null && _a !== void 0 ? _a : '';
        message.version = (_b = object.version) !== null && _b !== void 0 ? _b : '';
        message.installDir = (_c = object.installDir) !== null && _c !== void 0 ? _c : '';
        message.packageUrl = (_d = object.packageUrl) !== null && _d !== void 0 ? _d : '';
        return message;
    },
};
function createBaseBoard() {
    return { name: '', fqbn: '' };
}
exports.Board = {
    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);
        }
        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 = createBaseBoard();
        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;
            }
            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) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.name !== undefined && (obj.name = message.name);
        message.fqbn !== undefined && (obj.fqbn = message.fqbn);
        return obj;
    },
    create(base) {
        return exports.Board.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseBoard();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.fqbn = (_b = object.fqbn) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseHelpResources() {
    return { online: '' };
}
exports.HelpResources = {
    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 = createBaseHelpResources();
        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.HelpResources.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseHelpResources();
        message.online = (_a = object.online) !== null && _a !== void 0 ? _a : '';
        return message;
    },
};
function createBaseSketch() {
    return {
        mainFile: '',
        locationPath: '',
        otherSketchFiles: [],
        additionalFiles: [],
        rootFolderFiles: [],
        defaultFqbn: '',
        defaultPort: '',
        defaultProtocol: '',
        profiles: [],
        defaultProfile: undefined,
        defaultProgrammer: '',
        defaultPortConfig: undefined,
    };
}
exports.Sketch = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.mainFile !== '') {
            writer.uint32(10).string(message.mainFile);
        }
        if (message.locationPath !== '') {
            writer.uint32(18).string(message.locationPath);
        }
        for (const v of message.otherSketchFiles) {
            writer.uint32(26).string(v);
        }
        for (const v of message.additionalFiles) {
            writer.uint32(34).string(v);
        }
        for (const v of message.rootFolderFiles) {
            writer.uint32(42).string(v);
        }
        if (message.defaultFqbn !== '') {
            writer.uint32(50).string(message.defaultFqbn);
        }
        if (message.defaultPort !== '') {
            writer.uint32(58).string(message.defaultPort);
        }
        if (message.defaultProtocol !== '') {
            writer.uint32(66).string(message.defaultProtocol);
        }
        for (const v of message.profiles) {
            exports.SketchProfile.encode(v, writer.uint32(74).fork()).ldelim();
        }
        if (message.defaultProfile !== undefined) {
            exports.SketchProfile.encode(message.defaultProfile, writer.uint32(82).fork()).ldelim();
        }
        if (message.defaultProgrammer !== '') {
            writer.uint32(90).string(message.defaultProgrammer);
        }
        if (message.defaultPortConfig !== undefined) {
            exports.MonitorPortConfiguration.encode(message.defaultPortConfig, writer.uint32(98).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 = createBaseSketch();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.mainFile = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.locationPath = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.otherSketchFiles.push(reader.string());
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.additionalFiles.push(reader.string());
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.rootFolderFiles.push(reader.string());
                    continue;
                case 6:
                    if (tag !== 50) {
                        break;
                    }
                    message.defaultFqbn = reader.string();
                    continue;
                case 7:
                    if (tag !== 58) {
                        break;
                    }
                    message.defaultPort = reader.string();
                    continue;
                case 8:
                    if (tag !== 66) {
                        break;
                    }
                    message.defaultProtocol = reader.string();
                    continue;
                case 9:
                    if (tag !== 74) {
                        break;
                    }
                    message.profiles.push(exports.SketchProfile.decode(reader, reader.uint32()));
                    continue;
                case 10:
                    if (tag !== 82) {
                        break;
                    }
                    message.defaultProfile = exports.SketchProfile.decode(reader, reader.uint32());
                    continue;
                case 11:
                    if (tag !== 90) {
                        break;
                    }
                    message.defaultProgrammer = reader.string();
                    continue;
                case 12:
                    if (tag !== 98) {
                        break;
                    }
                    message.defaultPortConfig = exports.MonitorPortConfiguration.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            mainFile: isSet(object.mainFile) ? String(object.mainFile) : '',
            locationPath: isSet(object.locationPath)
                ? String(object.locationPath)
                : '',
            otherSketchFiles: Array.isArray(object === null || object === void 0 ? void 0 : object.otherSketchFiles)
                ? object.otherSketchFiles.map((e) => String(e))
                : [],
            additionalFiles: Array.isArray(object === null || object === void 0 ? void 0 : object.additionalFiles)
                ? object.additionalFiles.map((e) => String(e))
                : [],
            rootFolderFiles: Array.isArray(object === null || object === void 0 ? void 0 : object.rootFolderFiles)
                ? object.rootFolderFiles.map((e) => String(e))
                : [],
            defaultFqbn: isSet(object.defaultFqbn)
                ? String(object.defaultFqbn)
                : '',
            defaultPort: isSet(object.defaultPort)
                ? String(object.defaultPort)
                : '',
            defaultProtocol: isSet(object.defaultProtocol)
                ? String(object.defaultProtocol)
                : '',
            profiles: Array.isArray(object === null || object === void 0 ? void 0 : object.profiles)
                ? object.profiles.map((e) => exports.SketchProfile.fromJSON(e))
                : [],
            defaultProfile: isSet(object.defaultProfile)
                ? exports.SketchProfile.fromJSON(object.defaultProfile)
                : undefined,
            defaultProgrammer: isSet(object.defaultProgrammer)
                ? String(object.defaultProgrammer)
                : '',
            defaultPortConfig: isSet(object.defaultPortConfig)
                ? exports.MonitorPortConfiguration.fromJSON(object.defaultPortConfig)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.mainFile !== undefined && (obj.mainFile = message.mainFile);
        message.locationPath !== undefined &&
            (obj.locationPath = message.locationPath);
        if (message.otherSketchFiles) {
            obj.otherSketchFiles = message.otherSketchFiles.map((e) => e);
        }
        else {
            obj.otherSketchFiles = [];
        }
        if (message.additionalFiles) {
            obj.additionalFiles = message.additionalFiles.map((e) => e);
        }
        else {
            obj.additionalFiles = [];
        }
        if (message.rootFolderFiles) {
            obj.rootFolderFiles = message.rootFolderFiles.map((e) => e);
        }
        else {
            obj.rootFolderFiles = [];
        }
        message.defaultFqbn !== undefined &&
            (obj.defaultFqbn = message.defaultFqbn);
        message.defaultPort !== undefined &&
            (obj.defaultPort = message.defaultPort);
        message.defaultProtocol !== undefined &&
            (obj.defaultProtocol = message.defaultProtocol);
        if (message.profiles) {
            obj.profiles = message.profiles.map((e) => e ? exports.SketchProfile.toJSON(e) : undefined);
        }
        else {
            obj.profiles = [];
        }
        message.defaultProfile !== undefined &&
            (obj.defaultProfile = message.defaultProfile
                ? exports.SketchProfile.toJSON(message.defaultProfile)
                : undefined);
        message.defaultProgrammer !== undefined &&
            (obj.defaultProgrammer = message.defaultProgrammer);
        message.defaultPortConfig !== undefined &&
            (obj.defaultPortConfig = message.defaultPortConfig
                ? exports.MonitorPortConfiguration.toJSON(message.defaultPortConfig)
                : undefined);
        return obj;
    },
    create(base) {
        return exports.Sketch.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
        const message = createBaseSketch();
        message.mainFile = (_a = object.mainFile) !== null && _a !== void 0 ? _a : '';
        message.locationPath = (_b = object.locationPath) !== null && _b !== void 0 ? _b : '';
        message.otherSketchFiles = ((_c = object.otherSketchFiles) === null || _c === void 0 ? void 0 : _c.map((e) => e)) || [];
        message.additionalFiles = ((_d = object.additionalFiles) === null || _d === void 0 ? void 0 : _d.map((e) => e)) || [];
        message.rootFolderFiles = ((_e = object.rootFolderFiles) === null || _e === void 0 ? void 0 : _e.map((e) => e)) || [];
        message.defaultFqbn = (_f = object.defaultFqbn) !== null && _f !== void 0 ? _f : '';
        message.defaultPort = (_g = object.defaultPort) !== null && _g !== void 0 ? _g : '';
        message.defaultProtocol = (_h = object.defaultProtocol) !== null && _h !== void 0 ? _h : '';
        message.profiles =
            ((_j = object.profiles) === null || _j === void 0 ? void 0 : _j.map((e) => exports.SketchProfile.fromPartial(e))) || [];
        message.defaultProfile =
            object.defaultProfile !== undefined &&
                object.defaultProfile !== null
                ? exports.SketchProfile.fromPartial(object.defaultProfile)
                : undefined;
        message.defaultProgrammer = (_k = object.defaultProgrammer) !== null && _k !== void 0 ? _k : '';
        message.defaultPortConfig =
            object.defaultPortConfig !== undefined &&
                object.defaultPortConfig !== null
                ? exports.MonitorPortConfiguration.fromPartial(object.defaultPortConfig)
                : undefined;
        return message;
    },
};
function createBaseMonitorPortConfiguration() {
    return { settings: [] };
}
exports.MonitorPortConfiguration = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.settings) {
            exports.MonitorPortSetting.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 = createBaseMonitorPortConfiguration();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.settings.push(exports.MonitorPortSetting.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            settings: Array.isArray(object === null || object === void 0 ? void 0 : object.settings)
                ? object.settings.map((e) => exports.MonitorPortSetting.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.settings) {
            obj.settings = message.settings.map((e) => e ? exports.MonitorPortSetting.toJSON(e) : undefined);
        }
        else {
            obj.settings = [];
        }
        return obj;
    },
    create(base) {
        return exports.MonitorPortConfiguration.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseMonitorPortConfiguration();
        message.settings =
            ((_a = object.settings) === null || _a === void 0 ? void 0 : _a.map((e) => exports.MonitorPortSetting.fromPartial(e))) ||
                [];
        return message;
    },
};
function createBaseMonitorPortSetting() {
    return { settingId: '', value: '' };
}
exports.MonitorPortSetting = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.settingId !== '') {
            writer.uint32(10).string(message.settingId);
        }
        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 = createBaseMonitorPortSetting();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.settingId = 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 {
            settingId: isSet(object.settingId) ? String(object.settingId) : '',
            value: isSet(object.value) ? String(object.value) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.settingId !== undefined && (obj.settingId = message.settingId);
        message.value !== undefined && (obj.value = message.value);
        return obj;
    },
    create(base) {
        return exports.MonitorPortSetting.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseMonitorPortSetting();
        message.settingId = (_a = object.settingId) !== null && _a !== void 0 ? _a : '';
        message.value = (_b = object.value) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseSketchProfile() {
    return {
        name: '',
        fqbn: '',
        programmer: '',
        port: '',
        portConfig: undefined,
        protocol: '',
    };
}
exports.SketchProfile = {
    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.programmer !== '') {
            writer.uint32(26).string(message.programmer);
        }
        if (message.port !== '') {
            writer.uint32(34).string(message.port);
        }
        if (message.portConfig !== undefined) {
            exports.MonitorPortConfiguration.encode(message.portConfig, writer.uint32(42).fork()).ldelim();
        }
        if (message.protocol !== '') {
            writer.uint32(50).string(message.protocol);
        }
        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 = createBaseSketchProfile();
        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 !== 26) {
                        break;
                    }
                    message.programmer = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.port = reader.string();
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.portConfig = exports.MonitorPortConfiguration.decode(reader, reader.uint32());
                    continue;
                case 6:
                    if (tag !== 50) {
                        break;
                    }
                    message.protocol = reader.string();
                    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) : '',
            programmer: isSet(object.programmer)
                ? String(object.programmer)
                : '',
            port: isSet(object.port) ? String(object.port) : '',
            portConfig: isSet(object.portConfig)
                ? exports.MonitorPortConfiguration.fromJSON(object.portConfig)
                : undefined,
            protocol: isSet(object.protocol) ? String(object.protocol) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        message.name !== undefined && (obj.name = message.name);
        message.fqbn !== undefined && (obj.fqbn = message.fqbn);
        message.programmer !== undefined &&
            (obj.programmer = message.programmer);
        message.port !== undefined && (obj.port = message.port);
        message.portConfig !== undefined &&
            (obj.portConfig = message.portConfig
                ? exports.MonitorPortConfiguration.toJSON(message.portConfig)
                : undefined);
        message.protocol !== undefined && (obj.protocol = message.protocol);
        return obj;
    },
    create(base) {
        return exports.SketchProfile.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e;
        const message = createBaseSketchProfile();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.fqbn = (_b = object.fqbn) !== null && _b !== void 0 ? _b : '';
        message.programmer = (_c = object.programmer) !== null && _c !== void 0 ? _c : '';
        message.port = (_d = object.port) !== null && _d !== void 0 ? _d : '';
        message.portConfig =
            object.portConfig !== undefined && object.portConfig !== null
                ? exports.MonitorPortConfiguration.fromPartial(object.portConfig)
                : undefined;
        message.protocol = (_e = object.protocol) !== null && _e !== void 0 ? _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;
}