"use strict";
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v2.6.1
//   protoc               v5.29.3
// source: sigstore_trustroot.proto
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClientTrustConfig = exports.SigningConfig = exports.TrustedRoot = exports.CertificateAuthority = exports.TransparencyLogInstance = void 0;
/* eslint-disable */
const sigstore_common_1 = require("./sigstore_common");
exports.TransparencyLogInstance = {
    fromJSON(object) {
        return {
            baseUrl: isSet(object.baseUrl) ? globalThis.String(object.baseUrl) : "",
            hashAlgorithm: isSet(object.hashAlgorithm) ? (0, sigstore_common_1.hashAlgorithmFromJSON)(object.hashAlgorithm) : 0,
            publicKey: isSet(object.publicKey) ? sigstore_common_1.PublicKey.fromJSON(object.publicKey) : undefined,
            logId: isSet(object.logId) ? sigstore_common_1.LogId.fromJSON(object.logId) : undefined,
            checkpointKeyId: isSet(object.checkpointKeyId) ? sigstore_common_1.LogId.fromJSON(object.checkpointKeyId) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.baseUrl !== "") {
            obj.baseUrl = message.baseUrl;
        }
        if (message.hashAlgorithm !== 0) {
            obj.hashAlgorithm = (0, sigstore_common_1.hashAlgorithmToJSON)(message.hashAlgorithm);
        }
        if (message.publicKey !== undefined) {
            obj.publicKey = sigstore_common_1.PublicKey.toJSON(message.publicKey);
        }
        if (message.logId !== undefined) {
            obj.logId = sigstore_common_1.LogId.toJSON(message.logId);
        }
        if (message.checkpointKeyId !== undefined) {
            obj.checkpointKeyId = sigstore_common_1.LogId.toJSON(message.checkpointKeyId);
        }
        return obj;
    },
};
exports.CertificateAuthority = {
    fromJSON(object) {
        return {
            subject: isSet(object.subject) ? sigstore_common_1.DistinguishedName.fromJSON(object.subject) : undefined,
            uri: isSet(object.uri) ? globalThis.String(object.uri) : "",
            certChain: isSet(object.certChain) ? sigstore_common_1.X509CertificateChain.fromJSON(object.certChain) : undefined,
            validFor: isSet(object.validFor) ? sigstore_common_1.TimeRange.fromJSON(object.validFor) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.subject !== undefined) {
            obj.subject = sigstore_common_1.DistinguishedName.toJSON(message.subject);
        }
        if (message.uri !== "") {
            obj.uri = message.uri;
        }
        if (message.certChain !== undefined) {
            obj.certChain = sigstore_common_1.X509CertificateChain.toJSON(message.certChain);
        }
        if (message.validFor !== undefined) {
            obj.validFor = sigstore_common_1.TimeRange.toJSON(message.validFor);
        }
        return obj;
    },
};
exports.TrustedRoot = {
    fromJSON(object) {
        return {
            mediaType: isSet(object.mediaType) ? globalThis.String(object.mediaType) : "",
            tlogs: globalThis.Array.isArray(object?.tlogs)
                ? object.tlogs.map((e) => exports.TransparencyLogInstance.fromJSON(e))
                : [],
            certificateAuthorities: globalThis.Array.isArray(object?.certificateAuthorities)
                ? object.certificateAuthorities.map((e) => exports.CertificateAuthority.fromJSON(e))
                : [],
            ctlogs: globalThis.Array.isArray(object?.ctlogs)
                ? object.ctlogs.map((e) => exports.TransparencyLogInstance.fromJSON(e))
                : [],
            timestampAuthorities: globalThis.Array.isArray(object?.timestampAuthorities)
                ? object.timestampAuthorities.map((e) => exports.CertificateAuthority.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.mediaType !== "") {
            obj.mediaType = message.mediaType;
        }
        if (message.tlogs?.length) {
            obj.tlogs = message.tlogs.map((e) => exports.TransparencyLogInstance.toJSON(e));
        }
        if (message.certificateAuthorities?.length) {
            obj.certificateAuthorities = message.certificateAuthorities.map((e) => exports.CertificateAuthority.toJSON(e));
        }
        if (message.ctlogs?.length) {
            obj.ctlogs = message.ctlogs.map((e) => exports.TransparencyLogInstance.toJSON(e));
        }
        if (message.timestampAuthorities?.length) {
            obj.timestampAuthorities = message.timestampAuthorities.map((e) => exports.CertificateAuthority.toJSON(e));
        }
        return obj;
    },
};
exports.SigningConfig = {
    fromJSON(object) {
        return {
            mediaType: isSet(object.mediaType) ? globalThis.String(object.mediaType) : "",
            caUrl: isSet(object.caUrl) ? globalThis.String(object.caUrl) : "",
            oidcUrl: isSet(object.oidcUrl) ? globalThis.String(object.oidcUrl) : "",
            tlogUrls: globalThis.Array.isArray(object?.tlogUrls) ? object.tlogUrls.map((e) => globalThis.String(e)) : [],
            tsaUrls: globalThis.Array.isArray(object?.tsaUrls) ? object.tsaUrls.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.mediaType !== "") {
            obj.mediaType = message.mediaType;
        }
        if (message.caUrl !== "") {
            obj.caUrl = message.caUrl;
        }
        if (message.oidcUrl !== "") {
            obj.oidcUrl = message.oidcUrl;
        }
        if (message.tlogUrls?.length) {
            obj.tlogUrls = message.tlogUrls;
        }
        if (message.tsaUrls?.length) {
            obj.tsaUrls = message.tsaUrls;
        }
        return obj;
    },
};
exports.ClientTrustConfig = {
    fromJSON(object) {
        return {
            mediaType: isSet(object.mediaType) ? globalThis.String(object.mediaType) : "",
            trustedRoot: isSet(object.trustedRoot) ? exports.TrustedRoot.fromJSON(object.trustedRoot) : undefined,
            signingConfig: isSet(object.signingConfig) ? exports.SigningConfig.fromJSON(object.signingConfig) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.mediaType !== "") {
            obj.mediaType = message.mediaType;
        }
        if (message.trustedRoot !== undefined) {
            obj.trustedRoot = exports.TrustedRoot.toJSON(message.trustedRoot);
        }
        if (message.signingConfig !== undefined) {
            obj.signingConfig = exports.SigningConfig.toJSON(message.signingConfig);
        }
        return obj;
    },
};
function isSet(value) {
    return value !== null && value !== undefined;
}
