exposure-keys
Version:
Temporary Exposure Keys (TEK) library
1,118 lines (1,054 loc) • 80.1 kB
JavaScript
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars, default-case, jsdoc/require-param*/
"use strict";
var $protobuf = require("protobufjs/minimal");
// Common aliases
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
// Exported root namespace
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});
$root.TemporaryExposureKeyExport = (function() {
/**
* Properties of a TemporaryExposureKeyExport.
* @typedef {Object} TemporaryExposureKeyExport.$Properties
* @property {number|Long|null} [startTimestamp] TemporaryExposureKeyExport startTimestamp
* @property {number|Long|null} [endTimestamp] TemporaryExposureKeyExport endTimestamp
* @property {string|null} [region] TemporaryExposureKeyExport region
* @property {number|null} [batchNum] TemporaryExposureKeyExport batchNum
* @property {number|null} [batchSize] TemporaryExposureKeyExport batchSize
* @property {Array.<SignatureInfo.$Properties>|null} [signatureInfos] TemporaryExposureKeyExport signatureInfos
* @property {Array.<TemporaryExposureKey.$Properties>|null} [keys] TemporaryExposureKeyExport keys
* @property {Array.<TemporaryExposureKey.$Properties>|null} [revisedKeys] TemporaryExposureKeyExport revisedKeys
* @property {Array.<Uint8Array>} [$unknowns] Unknown fields preserved while decoding
*/
/**
* Properties of a TemporaryExposureKeyExport.
* @exports ITemporaryExposureKeyExport
* @interface ITemporaryExposureKeyExport
* @augments TemporaryExposureKeyExport.$Properties
* @deprecated Use TemporaryExposureKeyExport.$Properties instead.
*/
/**
* Shape of a TemporaryExposureKeyExport.
* @typedef {TemporaryExposureKeyExport.$Properties} TemporaryExposureKeyExport.$Shape
*/
/**
* Constructs a new TemporaryExposureKeyExport.
* @exports TemporaryExposureKeyExport
* @classdesc Represents a TemporaryExposureKeyExport.
* @constructor
* @param {TemporaryExposureKeyExport.$Properties=} [properties] Properties to set
* @property {Array.<Uint8Array>} [$unknowns] Unknown fields preserved while decoding
*/
function TemporaryExposureKeyExport(properties) {
this.signatureInfos = [];
this.keys = [];
this.revisedKeys = [];
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null && keys[i] !== "__proto__")
this[keys[i]] = properties[keys[i]];
}
/**
* TemporaryExposureKeyExport startTimestamp.
* @member {number|Long} startTimestamp
* @memberof TemporaryExposureKeyExport
* @instance
*/
TemporaryExposureKeyExport.prototype.startTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
/**
* TemporaryExposureKeyExport endTimestamp.
* @member {number|Long} endTimestamp
* @memberof TemporaryExposureKeyExport
* @instance
*/
TemporaryExposureKeyExport.prototype.endTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
/**
* TemporaryExposureKeyExport region.
* @member {string} region
* @memberof TemporaryExposureKeyExport
* @instance
*/
TemporaryExposureKeyExport.prototype.region = "";
/**
* TemporaryExposureKeyExport batchNum.
* @member {number} batchNum
* @memberof TemporaryExposureKeyExport
* @instance
*/
TemporaryExposureKeyExport.prototype.batchNum = 0;
/**
* TemporaryExposureKeyExport batchSize.
* @member {number} batchSize
* @memberof TemporaryExposureKeyExport
* @instance
*/
TemporaryExposureKeyExport.prototype.batchSize = 0;
/**
* TemporaryExposureKeyExport signatureInfos.
* @member {Array.<SignatureInfo.$Properties>} signatureInfos
* @memberof TemporaryExposureKeyExport
* @instance
*/
TemporaryExposureKeyExport.prototype.signatureInfos = $util.emptyArray;
/**
* TemporaryExposureKeyExport keys.
* @member {Array.<TemporaryExposureKey.$Properties>} keys
* @memberof TemporaryExposureKeyExport
* @instance
*/
TemporaryExposureKeyExport.prototype.keys = $util.emptyArray;
/**
* TemporaryExposureKeyExport revisedKeys.
* @member {Array.<TemporaryExposureKey.$Properties>} revisedKeys
* @memberof TemporaryExposureKeyExport
* @instance
*/
TemporaryExposureKeyExport.prototype.revisedKeys = $util.emptyArray;
/**
* Creates a new TemporaryExposureKeyExport instance using the specified properties.
* @function create
* @memberof TemporaryExposureKeyExport
* @static
* @param {TemporaryExposureKeyExport.$Properties=} [properties] Properties to set
* @returns {TemporaryExposureKeyExport} TemporaryExposureKeyExport instance
* @type {{
* (properties: TemporaryExposureKeyExport.$Shape): TemporaryExposureKeyExport & TemporaryExposureKeyExport.$Shape;
* (properties?: TemporaryExposureKeyExport.$Properties): TemporaryExposureKeyExport;
* }}
*/
TemporaryExposureKeyExport.create = function create(properties) {
return new TemporaryExposureKeyExport(properties);
};
/**
* Encodes the specified TemporaryExposureKeyExport message. Does not implicitly {@link TemporaryExposureKeyExport.verify|verify} messages.
* @function encode
* @memberof TemporaryExposureKeyExport
* @static
* @param {TemporaryExposureKeyExport.$Properties} message TemporaryExposureKeyExport message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
TemporaryExposureKeyExport.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.startTimestamp != null && Object.hasOwnProperty.call(message, "startTimestamp"))
writer.uint32(/* id 1, wireType 1 =*/9).fixed64(message.startTimestamp);
if (message.endTimestamp != null && Object.hasOwnProperty.call(message, "endTimestamp"))
writer.uint32(/* id 2, wireType 1 =*/17).fixed64(message.endTimestamp);
if (message.region != null && Object.hasOwnProperty.call(message, "region"))
writer.uint32(/* id 3, wireType 2 =*/26).string(message.region);
if (message.batchNum != null && Object.hasOwnProperty.call(message, "batchNum"))
writer.uint32(/* id 4, wireType 0 =*/32).int32(message.batchNum);
if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize"))
writer.uint32(/* id 5, wireType 0 =*/40).int32(message.batchSize);
if (message.signatureInfos != null && message.signatureInfos.length)
for (var i = 0; i < message.signatureInfos.length; ++i)
$root.SignatureInfo.encode(message.signatureInfos[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
if (message.keys != null && message.keys.length)
for (var i = 0; i < message.keys.length; ++i)
$root.TemporaryExposureKey.encode(message.keys[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
if (message.revisedKeys != null && message.revisedKeys.length)
for (var i = 0; i < message.revisedKeys.length; ++i)
$root.TemporaryExposureKey.encode(message.revisedKeys[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
if (message.$unknowns != null && Object.hasOwnProperty.call(message, "$unknowns"))
for (var i = 0; i < message.$unknowns.length; ++i)
writer.raw(message.$unknowns[i]);
return writer;
};
/**
* Encodes the specified TemporaryExposureKeyExport message, length delimited. Does not implicitly {@link TemporaryExposureKeyExport.verify|verify} messages.
* @function encodeDelimited
* @memberof TemporaryExposureKeyExport
* @static
* @param {TemporaryExposureKeyExport.$Properties} message TemporaryExposureKeyExport message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
TemporaryExposureKeyExport.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a TemporaryExposureKeyExport message from the specified reader or buffer.
* @function decode
* @memberof TemporaryExposureKeyExport
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {TemporaryExposureKeyExport & TemporaryExposureKeyExport.$Shape} TemporaryExposureKeyExport
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
TemporaryExposureKeyExport.decode = function decode(reader, length, _end, _depth, _target) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
if (_depth === undefined)
_depth = 0;
if (_depth > $Reader.recursionLimit)
throw Error("max depth exceeded");
var end = length === undefined ? reader.len : reader.pos + length, message = _target || new $root.TemporaryExposureKeyExport();
while (reader.pos < end) {
var start = reader.pos;
var tag = reader.tag();
if (tag === _end) {
_end = undefined;
break;
}
var wireType = tag & 7;
switch (tag >>>= 3) {
case 1: {
if (wireType !== 1)
break;
message.startTimestamp = reader.fixed64();
continue;
}
case 2: {
if (wireType !== 1)
break;
message.endTimestamp = reader.fixed64();
continue;
}
case 3: {
if (wireType !== 2)
break;
message.region = reader.string();
continue;
}
case 4: {
if (wireType !== 0)
break;
message.batchNum = reader.int32();
continue;
}
case 5: {
if (wireType !== 0)
break;
message.batchSize = reader.int32();
continue;
}
case 6: {
if (wireType !== 2)
break;
if (!(message.signatureInfos && message.signatureInfos.length))
message.signatureInfos = [];
message.signatureInfos.push($root.SignatureInfo.decode(reader, reader.uint32(), undefined, _depth + 1));
continue;
}
case 7: {
if (wireType !== 2)
break;
if (!(message.keys && message.keys.length))
message.keys = [];
message.keys.push($root.TemporaryExposureKey.decode(reader, reader.uint32(), undefined, _depth + 1));
continue;
}
case 8: {
if (wireType !== 2)
break;
if (!(message.revisedKeys && message.revisedKeys.length))
message.revisedKeys = [];
message.revisedKeys.push($root.TemporaryExposureKey.decode(reader, reader.uint32(), undefined, _depth + 1));
continue;
}
}
reader.skipType(wireType, _depth, tag);
$util.makeProp(message, "$unknowns", false);
(message.$unknowns || (message.$unknowns = [])).push(reader.raw(start, reader.pos));
}
if (_end !== undefined)
throw Error("missing end group");
return message;
};
/**
* Decodes a TemporaryExposureKeyExport message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof TemporaryExposureKeyExport
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {TemporaryExposureKeyExport & TemporaryExposureKeyExport.$Shape} TemporaryExposureKeyExport
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
TemporaryExposureKeyExport.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a TemporaryExposureKeyExport message.
* @function verify
* @memberof TemporaryExposureKeyExport
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
TemporaryExposureKeyExport.verify = function verify(message, _depth) {
if (typeof message !== "object" || message === null)
return "object expected";
if (_depth === undefined)
_depth = 0;
if (_depth > $util.recursionLimit)
return "max depth exceeded";
if (message.startTimestamp != null && message.hasOwnProperty("startTimestamp"))
if (!$util.isInteger(message.startTimestamp) && !(message.startTimestamp && $util.isInteger(message.startTimestamp.low) && $util.isInteger(message.startTimestamp.high)))
return "startTimestamp: integer|Long expected";
if (message.endTimestamp != null && message.hasOwnProperty("endTimestamp"))
if (!$util.isInteger(message.endTimestamp) && !(message.endTimestamp && $util.isInteger(message.endTimestamp.low) && $util.isInteger(message.endTimestamp.high)))
return "endTimestamp: integer|Long expected";
if (message.region != null && message.hasOwnProperty("region"))
if (!$util.isString(message.region))
return "region: string expected";
if (message.batchNum != null && message.hasOwnProperty("batchNum"))
if (!$util.isInteger(message.batchNum))
return "batchNum: integer expected";
if (message.batchSize != null && message.hasOwnProperty("batchSize"))
if (!$util.isInteger(message.batchSize))
return "batchSize: integer expected";
if (message.signatureInfos != null && message.hasOwnProperty("signatureInfos")) {
if (!Array.isArray(message.signatureInfos))
return "signatureInfos: array expected";
for (var i = 0; i < message.signatureInfos.length; ++i) {
var error = $root.SignatureInfo.verify(message.signatureInfos[i], _depth + 1);
if (error)
return "signatureInfos." + error;
}
}
if (message.keys != null && message.hasOwnProperty("keys")) {
if (!Array.isArray(message.keys))
return "keys: array expected";
for (var i = 0; i < message.keys.length; ++i) {
var error = $root.TemporaryExposureKey.verify(message.keys[i], _depth + 1);
if (error)
return "keys." + error;
}
}
if (message.revisedKeys != null && message.hasOwnProperty("revisedKeys")) {
if (!Array.isArray(message.revisedKeys))
return "revisedKeys: array expected";
for (var i = 0; i < message.revisedKeys.length; ++i) {
var error = $root.TemporaryExposureKey.verify(message.revisedKeys[i], _depth + 1);
if (error)
return "revisedKeys." + error;
}
}
return null;
};
/**
* Creates a TemporaryExposureKeyExport message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof TemporaryExposureKeyExport
* @static
* @param {Object.<string,*>} object Plain object
* @returns {TemporaryExposureKeyExport} TemporaryExposureKeyExport
*/
TemporaryExposureKeyExport.fromObject = function fromObject(object, _depth) {
if (object instanceof $root.TemporaryExposureKeyExport)
return object;
if (_depth === undefined)
_depth = 0;
if (_depth > $util.recursionLimit)
throw Error("max depth exceeded");
var message = new $root.TemporaryExposureKeyExport();
if (object.startTimestamp != null)
if ($util.Long)
(message.startTimestamp = $util.Long.fromValue(object.startTimestamp)).unsigned = false;
else if (typeof object.startTimestamp === "string")
message.startTimestamp = parseInt(object.startTimestamp, 10);
else if (typeof object.startTimestamp === "number")
message.startTimestamp = object.startTimestamp;
else if (typeof object.startTimestamp === "object")
message.startTimestamp = new $util.LongBits(object.startTimestamp.low >>> 0, object.startTimestamp.high >>> 0).toNumber();
if (object.endTimestamp != null)
if ($util.Long)
(message.endTimestamp = $util.Long.fromValue(object.endTimestamp)).unsigned = false;
else if (typeof object.endTimestamp === "string")
message.endTimestamp = parseInt(object.endTimestamp, 10);
else if (typeof object.endTimestamp === "number")
message.endTimestamp = object.endTimestamp;
else if (typeof object.endTimestamp === "object")
message.endTimestamp = new $util.LongBits(object.endTimestamp.low >>> 0, object.endTimestamp.high >>> 0).toNumber();
if (object.region != null)
message.region = String(object.region);
if (object.batchNum != null)
message.batchNum = object.batchNum | 0;
if (object.batchSize != null)
message.batchSize = object.batchSize | 0;
if (object.signatureInfos) {
if (!Array.isArray(object.signatureInfos))
throw TypeError(".TemporaryExposureKeyExport.signatureInfos: array expected");
message.signatureInfos = Array(object.signatureInfos.length);
for (var i = 0; i < object.signatureInfos.length; ++i) {
if (typeof object.signatureInfos[i] !== "object")
throw TypeError(".TemporaryExposureKeyExport.signatureInfos: object expected");
message.signatureInfos[i] = $root.SignatureInfo.fromObject(object.signatureInfos[i], _depth + 1);
}
}
if (object.keys) {
if (!Array.isArray(object.keys))
throw TypeError(".TemporaryExposureKeyExport.keys: array expected");
message.keys = Array(object.keys.length);
for (var i = 0; i < object.keys.length; ++i) {
if (typeof object.keys[i] !== "object")
throw TypeError(".TemporaryExposureKeyExport.keys: object expected");
message.keys[i] = $root.TemporaryExposureKey.fromObject(object.keys[i], _depth + 1);
}
}
if (object.revisedKeys) {
if (!Array.isArray(object.revisedKeys))
throw TypeError(".TemporaryExposureKeyExport.revisedKeys: array expected");
message.revisedKeys = Array(object.revisedKeys.length);
for (var i = 0; i < object.revisedKeys.length; ++i) {
if (typeof object.revisedKeys[i] !== "object")
throw TypeError(".TemporaryExposureKeyExport.revisedKeys: object expected");
message.revisedKeys[i] = $root.TemporaryExposureKey.fromObject(object.revisedKeys[i], _depth + 1);
}
}
return message;
};
/**
* Creates a plain object from a TemporaryExposureKeyExport message. Also converts values to other types if specified.
* @function toObject
* @memberof TemporaryExposureKeyExport
* @static
* @param {TemporaryExposureKeyExport} message TemporaryExposureKeyExport
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
TemporaryExposureKeyExport.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.arrays || options.defaults) {
object.signatureInfos = [];
object.keys = [];
object.revisedKeys = [];
}
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object.startTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object.startTimestamp = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object.endTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object.endTimestamp = options.longs === String ? "0" : 0;
object.region = "";
object.batchNum = 0;
object.batchSize = 0;
}
if (message.startTimestamp != null && message.hasOwnProperty("startTimestamp"))
if (typeof message.startTimestamp === "number")
object.startTimestamp = options.longs === String ? String(message.startTimestamp) : message.startTimestamp;
else
object.startTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.startTimestamp) : options.longs === Number ? new $util.LongBits(message.startTimestamp.low >>> 0, message.startTimestamp.high >>> 0).toNumber() : message.startTimestamp;
if (message.endTimestamp != null && message.hasOwnProperty("endTimestamp"))
if (typeof message.endTimestamp === "number")
object.endTimestamp = options.longs === String ? String(message.endTimestamp) : message.endTimestamp;
else
object.endTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.endTimestamp) : options.longs === Number ? new $util.LongBits(message.endTimestamp.low >>> 0, message.endTimestamp.high >>> 0).toNumber() : message.endTimestamp;
if (message.region != null && message.hasOwnProperty("region"))
object.region = message.region;
if (message.batchNum != null && message.hasOwnProperty("batchNum"))
object.batchNum = message.batchNum;
if (message.batchSize != null && message.hasOwnProperty("batchSize"))
object.batchSize = message.batchSize;
if (message.signatureInfos && message.signatureInfos.length) {
object.signatureInfos = Array(message.signatureInfos.length);
for (var j = 0; j < message.signatureInfos.length; ++j)
object.signatureInfos[j] = $root.SignatureInfo.toObject(message.signatureInfos[j], options);
}
if (message.keys && message.keys.length) {
object.keys = Array(message.keys.length);
for (var j = 0; j < message.keys.length; ++j)
object.keys[j] = $root.TemporaryExposureKey.toObject(message.keys[j], options);
}
if (message.revisedKeys && message.revisedKeys.length) {
object.revisedKeys = Array(message.revisedKeys.length);
for (var j = 0; j < message.revisedKeys.length; ++j)
object.revisedKeys[j] = $root.TemporaryExposureKey.toObject(message.revisedKeys[j], options);
}
return object;
};
/**
* Converts this TemporaryExposureKeyExport to JSON.
* @function toJSON
* @memberof TemporaryExposureKeyExport
* @instance
* @returns {Object.<string,*>} JSON object
*/
TemporaryExposureKeyExport.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
/**
* Gets the type url for TemporaryExposureKeyExport
* @function getTypeUrl
* @memberof TemporaryExposureKeyExport
* @static
* @param {string} [prefix] Custom type url prefix, defaults to `"type.googleapis.com"`
* @returns {string} The type url
*/
TemporaryExposureKeyExport.getTypeUrl = function getTypeUrl(prefix) {
if (prefix === undefined)
prefix = "type.googleapis.com";
return prefix + "/TemporaryExposureKeyExport";
};
return TemporaryExposureKeyExport;
})();
$root.SignatureInfo = (function() {
/**
* Properties of a SignatureInfo.
* @typedef {Object} SignatureInfo.$Properties
* @property {string|null} [verificationKeyVersion] SignatureInfo verificationKeyVersion
* @property {string|null} [verificationKeyId] SignatureInfo verificationKeyId
* @property {string|null} [signatureAlgorithm] SignatureInfo signatureAlgorithm
* @property {Array.<Uint8Array>} [$unknowns] Unknown fields preserved while decoding
*/
/**
* Properties of a SignatureInfo.
* @exports ISignatureInfo
* @interface ISignatureInfo
* @augments SignatureInfo.$Properties
* @deprecated Use SignatureInfo.$Properties instead.
*/
/**
* Shape of a SignatureInfo.
* @typedef {SignatureInfo.$Properties} SignatureInfo.$Shape
*/
/**
* Constructs a new SignatureInfo.
* @exports SignatureInfo
* @classdesc Represents a SignatureInfo.
* @constructor
* @param {SignatureInfo.$Properties=} [properties] Properties to set
* @property {Array.<Uint8Array>} [$unknowns] Unknown fields preserved while decoding
*/
function SignatureInfo(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null && keys[i] !== "__proto__")
this[keys[i]] = properties[keys[i]];
}
/**
* SignatureInfo verificationKeyVersion.
* @member {string} verificationKeyVersion
* @memberof SignatureInfo
* @instance
*/
SignatureInfo.prototype.verificationKeyVersion = "";
/**
* SignatureInfo verificationKeyId.
* @member {string} verificationKeyId
* @memberof SignatureInfo
* @instance
*/
SignatureInfo.prototype.verificationKeyId = "";
/**
* SignatureInfo signatureAlgorithm.
* @member {string} signatureAlgorithm
* @memberof SignatureInfo
* @instance
*/
SignatureInfo.prototype.signatureAlgorithm = "";
/**
* Creates a new SignatureInfo instance using the specified properties.
* @function create
* @memberof SignatureInfo
* @static
* @param {SignatureInfo.$Properties=} [properties] Properties to set
* @returns {SignatureInfo} SignatureInfo instance
* @type {{
* (properties: SignatureInfo.$Shape): SignatureInfo & SignatureInfo.$Shape;
* (properties?: SignatureInfo.$Properties): SignatureInfo;
* }}
*/
SignatureInfo.create = function create(properties) {
return new SignatureInfo(properties);
};
/**
* Encodes the specified SignatureInfo message. Does not implicitly {@link SignatureInfo.verify|verify} messages.
* @function encode
* @memberof SignatureInfo
* @static
* @param {SignatureInfo.$Properties} message SignatureInfo message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
SignatureInfo.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.verificationKeyVersion != null && Object.hasOwnProperty.call(message, "verificationKeyVersion"))
writer.uint32(/* id 3, wireType 2 =*/26).string(message.verificationKeyVersion);
if (message.verificationKeyId != null && Object.hasOwnProperty.call(message, "verificationKeyId"))
writer.uint32(/* id 4, wireType 2 =*/34).string(message.verificationKeyId);
if (message.signatureAlgorithm != null && Object.hasOwnProperty.call(message, "signatureAlgorithm"))
writer.uint32(/* id 5, wireType 2 =*/42).string(message.signatureAlgorithm);
if (message.$unknowns != null && Object.hasOwnProperty.call(message, "$unknowns"))
for (var i = 0; i < message.$unknowns.length; ++i)
writer.raw(message.$unknowns[i]);
return writer;
};
/**
* Encodes the specified SignatureInfo message, length delimited. Does not implicitly {@link SignatureInfo.verify|verify} messages.
* @function encodeDelimited
* @memberof SignatureInfo
* @static
* @param {SignatureInfo.$Properties} message SignatureInfo message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
SignatureInfo.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a SignatureInfo message from the specified reader or buffer.
* @function decode
* @memberof SignatureInfo
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {SignatureInfo & SignatureInfo.$Shape} SignatureInfo
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
SignatureInfo.decode = function decode(reader, length, _end, _depth, _target) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
if (_depth === undefined)
_depth = 0;
if (_depth > $Reader.recursionLimit)
throw Error("max depth exceeded");
var end = length === undefined ? reader.len : reader.pos + length, message = _target || new $root.SignatureInfo();
while (reader.pos < end) {
var start = reader.pos;
var tag = reader.tag();
if (tag === _end) {
_end = undefined;
break;
}
var wireType = tag & 7;
switch (tag >>>= 3) {
case 3: {
if (wireType !== 2)
break;
message.verificationKeyVersion = reader.string();
continue;
}
case 4: {
if (wireType !== 2)
break;
message.verificationKeyId = reader.string();
continue;
}
case 5: {
if (wireType !== 2)
break;
message.signatureAlgorithm = reader.string();
continue;
}
}
reader.skipType(wireType, _depth, tag);
$util.makeProp(message, "$unknowns", false);
(message.$unknowns || (message.$unknowns = [])).push(reader.raw(start, reader.pos));
}
if (_end !== undefined)
throw Error("missing end group");
return message;
};
/**
* Decodes a SignatureInfo message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof SignatureInfo
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {SignatureInfo & SignatureInfo.$Shape} SignatureInfo
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
SignatureInfo.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a SignatureInfo message.
* @function verify
* @memberof SignatureInfo
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
SignatureInfo.verify = function verify(message, _depth) {
if (typeof message !== "object" || message === null)
return "object expected";
if (_depth === undefined)
_depth = 0;
if (_depth > $util.recursionLimit)
return "max depth exceeded";
if (message.verificationKeyVersion != null && message.hasOwnProperty("verificationKeyVersion"))
if (!$util.isString(message.verificationKeyVersion))
return "verificationKeyVersion: string expected";
if (message.verificationKeyId != null && message.hasOwnProperty("verificationKeyId"))
if (!$util.isString(message.verificationKeyId))
return "verificationKeyId: string expected";
if (message.signatureAlgorithm != null && message.hasOwnProperty("signatureAlgorithm"))
if (!$util.isString(message.signatureAlgorithm))
return "signatureAlgorithm: string expected";
return null;
};
/**
* Creates a SignatureInfo message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof SignatureInfo
* @static
* @param {Object.<string,*>} object Plain object
* @returns {SignatureInfo} SignatureInfo
*/
SignatureInfo.fromObject = function fromObject(object, _depth) {
if (object instanceof $root.SignatureInfo)
return object;
if (_depth === undefined)
_depth = 0;
if (_depth > $util.recursionLimit)
throw Error("max depth exceeded");
var message = new $root.SignatureInfo();
if (object.verificationKeyVersion != null)
message.verificationKeyVersion = String(object.verificationKeyVersion);
if (object.verificationKeyId != null)
message.verificationKeyId = String(object.verificationKeyId);
if (object.signatureAlgorithm != null)
message.signatureAlgorithm = String(object.signatureAlgorithm);
return message;
};
/**
* Creates a plain object from a SignatureInfo message. Also converts values to other types if specified.
* @function toObject
* @memberof SignatureInfo
* @static
* @param {SignatureInfo} message SignatureInfo
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
SignatureInfo.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.verificationKeyVersion = "";
object.verificationKeyId = "";
object.signatureAlgorithm = "";
}
if (message.verificationKeyVersion != null && message.hasOwnProperty("verificationKeyVersion"))
object.verificationKeyVersion = message.verificationKeyVersion;
if (message.verificationKeyId != null && message.hasOwnProperty("verificationKeyId"))
object.verificationKeyId = message.verificationKeyId;
if (message.signatureAlgorithm != null && message.hasOwnProperty("signatureAlgorithm"))
object.signatureAlgorithm = message.signatureAlgorithm;
return object;
};
/**
* Converts this SignatureInfo to JSON.
* @function toJSON
* @memberof SignatureInfo
* @instance
* @returns {Object.<string,*>} JSON object
*/
SignatureInfo.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
/**
* Gets the type url for SignatureInfo
* @function getTypeUrl
* @memberof SignatureInfo
* @static
* @param {string} [prefix] Custom type url prefix, defaults to `"type.googleapis.com"`
* @returns {string} The type url
*/
SignatureInfo.getTypeUrl = function getTypeUrl(prefix) {
if (prefix === undefined)
prefix = "type.googleapis.com";
return prefix + "/SignatureInfo";
};
return SignatureInfo;
})();
$root.TemporaryExposureKey = (function() {
/**
* Properties of a TemporaryExposureKey.
* @typedef {Object} TemporaryExposureKey.$Properties
* @property {Uint8Array|null} [keyData] TemporaryExposureKey keyData
* @property {number|null} [transmissionRiskLevel] TemporaryExposureKey transmissionRiskLevel
* @property {number|null} [rollingStartIntervalNumber] TemporaryExposureKey rollingStartIntervalNumber
* @property {number|null} [rollingPeriod] TemporaryExposureKey rollingPeriod
* @property {TemporaryExposureKey.ReportType|null} [reportType] TemporaryExposureKey reportType
* @property {number|null} [daysSinceOnsetOfSymptoms] TemporaryExposureKey daysSinceOnsetOfSymptoms
* @property {Array.<Uint8Array>} [$unknowns] Unknown fields preserved while decoding
*/
/**
* Properties of a TemporaryExposureKey.
* @exports ITemporaryExposureKey
* @interface ITemporaryExposureKey
* @augments TemporaryExposureKey.$Properties
* @deprecated Use TemporaryExposureKey.$Properties instead.
*/
/**
* Shape of a TemporaryExposureKey.
* @typedef {TemporaryExposureKey.$Properties} TemporaryExposureKey.$Shape
*/
/**
* Constructs a new TemporaryExposureKey.
* @exports TemporaryExposureKey
* @classdesc Represents a TemporaryExposureKey.
* @constructor
* @param {TemporaryExposureKey.$Properties=} [properties] Properties to set
* @property {Array.<Uint8Array>} [$unknowns] Unknown fields preserved while decoding
*/
function TemporaryExposureKey(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null && keys[i] !== "__proto__")
this[keys[i]] = properties[keys[i]];
}
/**
* TemporaryExposureKey keyData.
* @member {Uint8Array} keyData
* @memberof TemporaryExposureKey
* @instance
*/
TemporaryExposureKey.prototype.keyData = $util.newBuffer([]);
/**
* TemporaryExposureKey transmissionRiskLevel.
* @member {number} transmissionRiskLevel
* @memberof TemporaryExposureKey
* @instance
*/
TemporaryExposureKey.prototype.transmissionRiskLevel = 0;
/**
* TemporaryExposureKey rollingStartIntervalNumber.
* @member {number} rollingStartIntervalNumber
* @memberof TemporaryExposureKey
* @instance
*/
TemporaryExposureKey.prototype.rollingStartIntervalNumber = 0;
/**
* TemporaryExposureKey rollingPeriod.
* @member {number} rollingPeriod
* @memberof TemporaryExposureKey
* @instance
*/
TemporaryExposureKey.prototype.rollingPeriod = 144;
/**
* TemporaryExposureKey reportType.
* @member {TemporaryExposureKey.ReportType} reportType
* @memberof TemporaryExposureKey
* @instance
*/
TemporaryExposureKey.prototype.reportType = 0;
/**
* TemporaryExposureKey daysSinceOnsetOfSymptoms.
* @member {number} daysSinceOnsetOfSymptoms
* @memberof TemporaryExposureKey
* @instance
*/
TemporaryExposureKey.prototype.daysSinceOnsetOfSymptoms = 0;
/**
* Creates a new TemporaryExposureKey instance using the specified properties.
* @function create
* @memberof TemporaryExposureKey
* @static
* @param {TemporaryExposureKey.$Properties=} [properties] Properties to set
* @returns {TemporaryExposureKey} TemporaryExposureKey instance
* @type {{
* (properties: TemporaryExposureKey.$Shape): TemporaryExposureKey & TemporaryExposureKey.$Shape;
* (properties?: TemporaryExposureKey.$Properties): TemporaryExposureKey;
* }}
*/
TemporaryExposureKey.create = function create(properties) {
return new TemporaryExposureKey(properties);
};
/**
* Encodes the specified TemporaryExposureKey message. Does not implicitly {@link TemporaryExposureKey.verify|verify} messages.
* @function encode
* @memberof TemporaryExposureKey
* @static
* @param {TemporaryExposureKey.$Properties} message TemporaryExposureKey message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
TemporaryExposureKey.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.keyData != null && Object.hasOwnProperty.call(message, "keyData"))
writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.keyData);
if (message.transmissionRiskLevel != null && Object.hasOwnProperty.call(message, "transmissionRiskLevel"))
writer.uint32(/* id 2, wireType 0 =*/16).int32(message.transmissionRiskLevel);
if (message.rollingStartIntervalNumber != null && Object.hasOwnProperty.call(message, "rollingStartIntervalNumber"))
writer.uint32(/* id 3, wireType 0 =*/24).int32(message.rollingStartIntervalNumber);
if (message.rollingPeriod != null && Object.hasOwnProperty.call(message, "rollingPeriod"))
writer.uint32(/* id 4, wireType 0 =*/32).int32(message.rollingPeriod);
if (message.reportType != null && Object.hasOwnProperty.call(message, "reportType"))
writer.uint32(/* id 5, wireType 0 =*/40).int32(message.reportType);
if (message.daysSinceOnsetOfSymptoms != null && Object.hasOwnProperty.call(message, "daysSinceOnsetOfSymptoms"))
writer.uint32(/* id 6, wireType 0 =*/48).sint32(message.daysSinceOnsetOfSymptoms);
if (message.$unknowns != null && Object.hasOwnProperty.call(message, "$unknowns"))
for (var i = 0; i < message.$unknowns.length; ++i)
writer.raw(message.$unknowns[i]);
return writer;
};
/**
* Encodes the specified TemporaryExposureKey message, length delimited. Does not implicitly {@link TemporaryExposureKey.verify|verify} messages.
* @function encodeDelimited
* @memberof TemporaryExposureKey
* @static
* @param {TemporaryExposureKey.$Properties} message TemporaryExposureKey message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
TemporaryExposureKey.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a TemporaryExposureKey message from the specified reader or buffer.
* @function decode
* @memberof TemporaryExposureKey
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {TemporaryExposureKey & TemporaryExposureKey.$Shape} TemporaryExposureKey
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
TemporaryExposureKey.decode = function decode(reader, length, _end, _depth, _target) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
if (_depth === undefined)
_depth = 0;
if (_depth > $Reader.recursionLimit)
throw Error("max depth exceeded");
var end = length === undefined ? reader.len : reader.pos + length, message = _target || new $root.TemporaryExposureKey();
while (reader.pos < end) {
var start = reader.pos;
var tag = reader.tag();
if (tag === _end) {
_end = undefined;
break;
}
var wireType = tag & 7;
switch (tag >>>= 3) {
case 1: {
if (wireType !== 2)
break;
message.keyData = reader.bytes();
continue;
}
case 2: {
if (wireType !== 0)
break;
message.transmissionRiskLevel = reader.int32();
continue;
}
case 3: {
if (wireType !== 0)
break;
message.rollingStartIntervalNumber = reader.int32();
continue;
}
case 4: {
if (wireType !== 0)
break;
message.rollingPeriod = reader.int32();
continue;
}
case 5: {
if (wireType !== 0)
break;
message.reportType = reader.int32();
continue;
}
case 6: {
if (wireType !== 0)
break;
message.daysSinceOnsetOfSymptoms = reader.sint32();
continue;
}
}
reader.skipType(wireType, _depth, tag);
$util.makeProp(message, "$unknowns", false);
(message.$unknowns || (message.$unknowns = [])).push(reader.raw(start, reader.pos));
}
if (_end !== undefined)
throw Error("missing end group");
return message;
};
/**
* Decodes a TemporaryExposureKey message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof TemporaryExposureKey
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {TemporaryExposureKey & TemporaryExposureKey.$Shape} TemporaryExposureKey
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
TemporaryExposureKey.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a TemporaryExposureKey message.
* @function verify
* @memberof TemporaryExposureKey
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
TemporaryExposureKey.verify = function verify(message, _depth) {
if (typeof message !== "object" || message === null)
return "object expected";
if (_depth === undefined)
_depth = 0;
if (_depth > $util.recursionLimit)
return "max depth exceeded";
if (message.keyData != null && message.hasOwnProperty("keyData"))
if (!(message.keyData && typeof message.keyData.length === "number" || $util.isString(message.keyData)))
return "keyData: buffer expected";
if (message.transmissionRiskLevel != null && message.hasOwnProperty("transmissionRiskLevel"))
if (!$util.isInteger(message.transmissionRiskLevel))
return "transmissionRiskLevel: integer expected";
if (message.rollingStartIntervalNumber != null && message.hasOwnProperty("rollingStartIntervalNumber"))
if (!$util.isInteger(message.rollingStartIntervalNumber))
return "rollingStartIntervalNumber: integer expected";
if (message.rollingPeriod != null && message.hasOwnProperty("rollingPeriod"))
if (!$util.isInteger(message.rollingPeriod))
return "rollingPeriod: integer expected";
if (message.reportType != null && message.hasOwnProperty("reportType"))
switch (message.reportType) {
default:
return "reportType: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
if (message.daysSinceOnsetOfSymptoms != null && message.hasOwnProperty("daysSinceOnsetOfSymptoms"))
if (!$util.isInteger(message.daysSinceOnsetOfSymptoms))
return "daysSinceOnsetOfSymptoms: integer expected";
return null;
};
/**
* Creates a TemporaryExposureKey message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof TemporaryExposureKey
* @static
* @param {Object.<string,*>} object Plain object
* @returns {TemporaryExposureKey} TemporaryExposureKey
*/
TemporaryExposureKey.fromObject = function fromObject(object, _depth) {
if (object instanceof $root.TemporaryExposureKey)
return object;
if (_depth === undefined)
_depth = 0;
if (_depth > $util.recursionLimit)
throw Error("max