sharedstreets-pbf
Version:
SharedStreets, a 'digital commons' for the street
1,340 lines (1,271 loc) • 53 kB
JavaScript
/*eslint-disable block-scoped-var, no-redeclare, no-control-regex, no-prototype-builtins*/
"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"] = {});
/**
* PeriodSize enum.
* @exports PeriodSize
* @enum {string}
* @property {number} OneSecond=0 OneSecond value
* @property {number} FiveSeconds=1 FiveSeconds value
* @property {number} TenSeconds=2 TenSeconds value
* @property {number} FifteenSeconds=3 FifteenSeconds value
* @property {number} ThirtySeconds=4 ThirtySeconds value
* @property {number} OneMinute=5 OneMinute value
* @property {number} FiveMinutes=6 FiveMinutes value
* @property {number} TenMinutes=7 TenMinutes value
* @property {number} FifteenMinutes=8 FifteenMinutes value
* @property {number} ThirtyMinutes=9 ThirtyMinutes value
* @property {number} OneHour=10 OneHour value
* @property {number} OneDay=11 OneDay value
* @property {number} OneWeek=12 OneWeek value
* @property {number} OneMonth=13 OneMonth value
* @property {number} OneYear=14 OneYear value
*/
$root.PeriodSize = (function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "OneSecond"] = 0;
values[valuesById[1] = "FiveSeconds"] = 1;
values[valuesById[2] = "TenSeconds"] = 2;
values[valuesById[3] = "FifteenSeconds"] = 3;
values[valuesById[4] = "ThirtySeconds"] = 4;
values[valuesById[5] = "OneMinute"] = 5;
values[valuesById[6] = "FiveMinutes"] = 6;
values[valuesById[7] = "TenMinutes"] = 7;
values[valuesById[8] = "FifteenMinutes"] = 8;
values[valuesById[9] = "ThirtyMinutes"] = 9;
values[valuesById[10] = "OneHour"] = 10;
values[valuesById[11] = "OneDay"] = 11;
values[valuesById[12] = "OneWeek"] = 12;
values[valuesById[13] = "OneMonth"] = 13;
values[valuesById[14] = "OneYear"] = 14;
return values;
})();
$root.TemporalPeriod = (function() {
/**
* Properties of a TemporalPeriod.
* @exports ITemporalPeriod
* @interface ITemporalPeriod
* @property {PeriodSize|null} [periodSize] TemporalPeriod periodSize
* @property {number|Long|null} [periodOffset] TemporalPeriod periodOffset
*/
/**
* Constructs a new TemporalPeriod.
* @exports TemporalPeriod
* @classdesc Represents a TemporalPeriod.
* @implements ITemporalPeriod
* @constructor
* @param {ITemporalPeriod=} [properties] Properties to set
*/
function TemporalPeriod(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* TemporalPeriod periodSize.
* @member {PeriodSize} periodSize
* @memberof TemporalPeriod
* @instance
*/
TemporalPeriod.prototype.periodSize = 0;
/**
* TemporalPeriod periodOffset.
* @member {number|Long} periodOffset
* @memberof TemporalPeriod
* @instance
*/
TemporalPeriod.prototype.periodOffset = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
/**
* Creates a new TemporalPeriod instance using the specified properties.
* @function create
* @memberof TemporalPeriod
* @static
* @param {ITemporalPeriod=} [properties] Properties to set
* @returns {TemporalPeriod} TemporalPeriod instance
*/
TemporalPeriod.create = function create(properties) {
return new TemporalPeriod(properties);
};
/**
* Encodes the specified TemporalPeriod message. Does not implicitly {@link TemporalPeriod.verify|verify} messages.
* @function encode
* @memberof TemporalPeriod
* @static
* @param {ITemporalPeriod} message TemporalPeriod message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
TemporalPeriod.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.periodSize != null && message.hasOwnProperty("periodSize"))
writer.uint32(/* id 1, wireType 0 =*/8).int32(message.periodSize);
if (message.periodOffset != null && message.hasOwnProperty("periodOffset"))
writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.periodOffset);
return writer;
};
/**
* Encodes the specified TemporalPeriod message, length delimited. Does not implicitly {@link TemporalPeriod.verify|verify} messages.
* @function encodeDelimited
* @memberof TemporalPeriod
* @static
* @param {ITemporalPeriod} message TemporalPeriod message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
TemporalPeriod.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a TemporalPeriod message from the specified reader or buffer.
* @function decode
* @memberof TemporalPeriod
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {TemporalPeriod} TemporalPeriod
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
TemporalPeriod.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TemporalPeriod();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.periodSize = reader.int32();
break;
case 2:
message.periodOffset = reader.uint64();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a TemporalPeriod message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof TemporalPeriod
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {TemporalPeriod} TemporalPeriod
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
TemporalPeriod.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a TemporalPeriod message.
* @function verify
* @memberof TemporalPeriod
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
TemporalPeriod.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.periodSize != null && message.hasOwnProperty("periodSize"))
switch (message.periodSize) {
default:
return "periodSize: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
break;
}
if (message.periodOffset != null && message.hasOwnProperty("periodOffset"))
if (!$util.isInteger(message.periodOffset) && !(message.periodOffset && $util.isInteger(message.periodOffset.low) && $util.isInteger(message.periodOffset.high)))
return "periodOffset: integer|Long expected";
return null;
};
/**
* Creates a TemporalPeriod message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof TemporalPeriod
* @static
* @param {Object.<string,*>} object Plain object
* @returns {TemporalPeriod} TemporalPeriod
*/
TemporalPeriod.fromObject = function fromObject(object) {
if (object instanceof $root.TemporalPeriod)
return object;
var message = new $root.TemporalPeriod();
switch (object.periodSize) {
case "OneSecond":
case 0:
message.periodSize = 0;
break;
case "FiveSeconds":
case 1:
message.periodSize = 1;
break;
case "TenSeconds":
case 2:
message.periodSize = 2;
break;
case "FifteenSeconds":
case 3:
message.periodSize = 3;
break;
case "ThirtySeconds":
case 4:
message.periodSize = 4;
break;
case "OneMinute":
case 5:
message.periodSize = 5;
break;
case "FiveMinutes":
case 6:
message.periodSize = 6;
break;
case "TenMinutes":
case 7:
message.periodSize = 7;
break;
case "FifteenMinutes":
case 8:
message.periodSize = 8;
break;
case "ThirtyMinutes":
case 9:
message.periodSize = 9;
break;
case "OneHour":
case 10:
message.periodSize = 10;
break;
case "OneDay":
case 11:
message.periodSize = 11;
break;
case "OneWeek":
case 12:
message.periodSize = 12;
break;
case "OneMonth":
case 13:
message.periodSize = 13;
break;
case "OneYear":
case 14:
message.periodSize = 14;
break;
}
if (object.periodOffset != null)
if ($util.Long)
(message.periodOffset = $util.Long.fromValue(object.periodOffset)).unsigned = true;
else if (typeof object.periodOffset === "string")
message.periodOffset = parseInt(object.periodOffset, 10);
else if (typeof object.periodOffset === "number")
message.periodOffset = object.periodOffset;
else if (typeof object.periodOffset === "object")
message.periodOffset = new $util.LongBits(object.periodOffset.low >>> 0, object.periodOffset.high >>> 0).toNumber(true);
return message;
};
/**
* Creates a plain object from a TemporalPeriod message. Also converts values to other types if specified.
* @function toObject
* @memberof TemporalPeriod
* @static
* @param {TemporalPeriod} message TemporalPeriod
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
TemporalPeriod.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.periodSize = options.enums === String ? "OneSecond" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, true);
object.periodOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object.periodOffset = options.longs === String ? "0" : 0;
}
if (message.periodSize != null && message.hasOwnProperty("periodSize"))
object.periodSize = options.enums === String ? $root.PeriodSize[message.periodSize] : message.periodSize;
if (message.periodOffset != null && message.hasOwnProperty("periodOffset"))
if (typeof message.periodOffset === "number")
object.periodOffset = options.longs === String ? String(message.periodOffset) : message.periodOffset;
else
object.periodOffset = options.longs === String ? $util.Long.prototype.toString.call(message.periodOffset) : options.longs === Number ? new $util.LongBits(message.periodOffset.low >>> 0, message.periodOffset.high >>> 0).toNumber(true) : message.periodOffset;
return object;
};
/**
* Converts this TemporalPeriod to JSON.
* @function toJSON
* @memberof TemporalPeriod
* @instance
* @returns {Object.<string,*>} JSON object
*/
TemporalPeriod.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return TemporalPeriod;
})();
$root.WeeklyCycle = (function() {
/**
* Properties of a WeeklyCycle.
* @exports IWeeklyCycle
* @interface IWeeklyCycle
* @property {number|null} [year] WeeklyCycle year
* @property {number|null} [month] WeeklyCycle month
* @property {number|null} [day] WeeklyCycle day
* @property {PeriodSize|null} [periodSize] WeeklyCycle periodSize
*/
/**
* Constructs a new WeeklyCycle.
* @exports WeeklyCycle
* @classdesc Represents a WeeklyCycle.
* @implements IWeeklyCycle
* @constructor
* @param {IWeeklyCycle=} [properties] Properties to set
*/
function WeeklyCycle(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* WeeklyCycle year.
* @member {number} year
* @memberof WeeklyCycle
* @instance
*/
WeeklyCycle.prototype.year = 0;
/**
* WeeklyCycle month.
* @member {number} month
* @memberof WeeklyCycle
* @instance
*/
WeeklyCycle.prototype.month = 0;
/**
* WeeklyCycle day.
* @member {number} day
* @memberof WeeklyCycle
* @instance
*/
WeeklyCycle.prototype.day = 0;
/**
* WeeklyCycle periodSize.
* @member {PeriodSize} periodSize
* @memberof WeeklyCycle
* @instance
*/
WeeklyCycle.prototype.periodSize = 0;
/**
* Creates a new WeeklyCycle instance using the specified properties.
* @function create
* @memberof WeeklyCycle
* @static
* @param {IWeeklyCycle=} [properties] Properties to set
* @returns {WeeklyCycle} WeeklyCycle instance
*/
WeeklyCycle.create = function create(properties) {
return new WeeklyCycle(properties);
};
/**
* Encodes the specified WeeklyCycle message. Does not implicitly {@link WeeklyCycle.verify|verify} messages.
* @function encode
* @memberof WeeklyCycle
* @static
* @param {IWeeklyCycle} message WeeklyCycle message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
WeeklyCycle.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.year != null && message.hasOwnProperty("year"))
writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.year);
if (message.month != null && message.hasOwnProperty("month"))
writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.month);
if (message.day != null && message.hasOwnProperty("day"))
writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.day);
if (message.periodSize != null && message.hasOwnProperty("periodSize"))
writer.uint32(/* id 4, wireType 0 =*/32).int32(message.periodSize);
return writer;
};
/**
* Encodes the specified WeeklyCycle message, length delimited. Does not implicitly {@link WeeklyCycle.verify|verify} messages.
* @function encodeDelimited
* @memberof WeeklyCycle
* @static
* @param {IWeeklyCycle} message WeeklyCycle message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
WeeklyCycle.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a WeeklyCycle message from the specified reader or buffer.
* @function decode
* @memberof WeeklyCycle
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {WeeklyCycle} WeeklyCycle
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
WeeklyCycle.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.WeeklyCycle();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.year = reader.uint32();
break;
case 2:
message.month = reader.uint32();
break;
case 3:
message.day = reader.uint32();
break;
case 4:
message.periodSize = reader.int32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a WeeklyCycle message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof WeeklyCycle
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {WeeklyCycle} WeeklyCycle
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
WeeklyCycle.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a WeeklyCycle message.
* @function verify
* @memberof WeeklyCycle
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
WeeklyCycle.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.year != null && message.hasOwnProperty("year"))
if (!$util.isInteger(message.year))
return "year: integer expected";
if (message.month != null && message.hasOwnProperty("month"))
if (!$util.isInteger(message.month))
return "month: integer expected";
if (message.day != null && message.hasOwnProperty("day"))
if (!$util.isInteger(message.day))
return "day: integer expected";
if (message.periodSize != null && message.hasOwnProperty("periodSize"))
switch (message.periodSize) {
default:
return "periodSize: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
break;
}
return null;
};
/**
* Creates a WeeklyCycle message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof WeeklyCycle
* @static
* @param {Object.<string,*>} object Plain object
* @returns {WeeklyCycle} WeeklyCycle
*/
WeeklyCycle.fromObject = function fromObject(object) {
if (object instanceof $root.WeeklyCycle)
return object;
var message = new $root.WeeklyCycle();
if (object.year != null)
message.year = object.year >>> 0;
if (object.month != null)
message.month = object.month >>> 0;
if (object.day != null)
message.day = object.day >>> 0;
switch (object.periodSize) {
case "OneSecond":
case 0:
message.periodSize = 0;
break;
case "FiveSeconds":
case 1:
message.periodSize = 1;
break;
case "TenSeconds":
case 2:
message.periodSize = 2;
break;
case "FifteenSeconds":
case 3:
message.periodSize = 3;
break;
case "ThirtySeconds":
case 4:
message.periodSize = 4;
break;
case "OneMinute":
case 5:
message.periodSize = 5;
break;
case "FiveMinutes":
case 6:
message.periodSize = 6;
break;
case "TenMinutes":
case 7:
message.periodSize = 7;
break;
case "FifteenMinutes":
case 8:
message.periodSize = 8;
break;
case "ThirtyMinutes":
case 9:
message.periodSize = 9;
break;
case "OneHour":
case 10:
message.periodSize = 10;
break;
case "OneDay":
case 11:
message.periodSize = 11;
break;
case "OneWeek":
case 12:
message.periodSize = 12;
break;
case "OneMonth":
case 13:
message.periodSize = 13;
break;
case "OneYear":
case 14:
message.periodSize = 14;
break;
}
return message;
};
/**
* Creates a plain object from a WeeklyCycle message. Also converts values to other types if specified.
* @function toObject
* @memberof WeeklyCycle
* @static
* @param {WeeklyCycle} message WeeklyCycle
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
WeeklyCycle.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.year = 0;
object.month = 0;
object.day = 0;
object.periodSize = options.enums === String ? "OneSecond" : 0;
}
if (message.year != null && message.hasOwnProperty("year"))
object.year = message.year;
if (message.month != null && message.hasOwnProperty("month"))
object.month = message.month;
if (message.day != null && message.hasOwnProperty("day"))
object.day = message.day;
if (message.periodSize != null && message.hasOwnProperty("periodSize"))
object.periodSize = options.enums === String ? $root.PeriodSize[message.periodSize] : message.periodSize;
return object;
};
/**
* Converts this WeeklyCycle to JSON.
* @function toJSON
* @memberof WeeklyCycle
* @instance
* @returns {Object.<string,*>} JSON object
*/
WeeklyCycle.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return WeeklyCycle;
})();
$root.SpeedHistogram = (function() {
/**
* Properties of a SpeedHistogram.
* @exports ISpeedHistogram
* @interface ISpeedHistogram
* @property {Array.<number>|null} [speedBin] SpeedHistogram speedBin
* @property {Array.<number>|null} [observationCount] SpeedHistogram observationCount
*/
/**
* Constructs a new SpeedHistogram.
* @exports SpeedHistogram
* @classdesc Represents a SpeedHistogram.
* @implements ISpeedHistogram
* @constructor
* @param {ISpeedHistogram=} [properties] Properties to set
*/
function SpeedHistogram(properties) {
this.speedBin = [];
this.observationCount = [];
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* SpeedHistogram speedBin.
* @member {Array.<number>} speedBin
* @memberof SpeedHistogram
* @instance
*/
SpeedHistogram.prototype.speedBin = $util.emptyArray;
/**
* SpeedHistogram observationCount.
* @member {Array.<number>} observationCount
* @memberof SpeedHistogram
* @instance
*/
SpeedHistogram.prototype.observationCount = $util.emptyArray;
/**
* Creates a new SpeedHistogram instance using the specified properties.
* @function create
* @memberof SpeedHistogram
* @static
* @param {ISpeedHistogram=} [properties] Properties to set
* @returns {SpeedHistogram} SpeedHistogram instance
*/
SpeedHistogram.create = function create(properties) {
return new SpeedHistogram(properties);
};
/**
* Encodes the specified SpeedHistogram message. Does not implicitly {@link SpeedHistogram.verify|verify} messages.
* @function encode
* @memberof SpeedHistogram
* @static
* @param {ISpeedHistogram} message SpeedHistogram message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
SpeedHistogram.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.speedBin != null && message.speedBin.length) {
writer.uint32(/* id 1, wireType 2 =*/10).fork();
for (var i = 0; i < message.speedBin.length; ++i)
writer.uint32(message.speedBin[i]);
writer.ldelim();
}
if (message.observationCount != null && message.observationCount.length) {
writer.uint32(/* id 2, wireType 2 =*/18).fork();
for (var i = 0; i < message.observationCount.length; ++i)
writer.uint32(message.observationCount[i]);
writer.ldelim();
}
return writer;
};
/**
* Encodes the specified SpeedHistogram message, length delimited. Does not implicitly {@link SpeedHistogram.verify|verify} messages.
* @function encodeDelimited
* @memberof SpeedHistogram
* @static
* @param {ISpeedHistogram} message SpeedHistogram message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
SpeedHistogram.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a SpeedHistogram message from the specified reader or buffer.
* @function decode
* @memberof SpeedHistogram
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {SpeedHistogram} SpeedHistogram
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
SpeedHistogram.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SpeedHistogram();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (!(message.speedBin && message.speedBin.length))
message.speedBin = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.speedBin.push(reader.uint32());
} else
message.speedBin.push(reader.uint32());
break;
case 2:
if (!(message.observationCount && message.observationCount.length))
message.observationCount = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.observationCount.push(reader.uint32());
} else
message.observationCount.push(reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a SpeedHistogram message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof SpeedHistogram
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {SpeedHistogram} SpeedHistogram
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
SpeedHistogram.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a SpeedHistogram message.
* @function verify
* @memberof SpeedHistogram
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
SpeedHistogram.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.speedBin != null && message.hasOwnProperty("speedBin")) {
if (!Array.isArray(message.speedBin))
return "speedBin: array expected";
for (var i = 0; i < message.speedBin.length; ++i)
if (!$util.isInteger(message.speedBin[i]))
return "speedBin: integer[] expected";
}
if (message.observationCount != null && message.hasOwnProperty("observationCount")) {
if (!Array.isArray(message.observationCount))
return "observationCount: array expected";
for (var i = 0; i < message.observationCount.length; ++i)
if (!$util.isInteger(message.observationCount[i]))
return "observationCount: integer[] expected";
}
return null;
};
/**
* Creates a SpeedHistogram message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof SpeedHistogram
* @static
* @param {Object.<string,*>} object Plain object
* @returns {SpeedHistogram} SpeedHistogram
*/
SpeedHistogram.fromObject = function fromObject(object) {
if (object instanceof $root.SpeedHistogram)
return object;
var message = new $root.SpeedHistogram();
if (object.speedBin) {
if (!Array.isArray(object.speedBin))
throw TypeError(".SpeedHistogram.speedBin: array expected");
message.speedBin = [];
for (var i = 0; i < object.speedBin.length; ++i)
message.speedBin[i] = object.speedBin[i] >>> 0;
}
if (object.observationCount) {
if (!Array.isArray(object.observationCount))
throw TypeError(".SpeedHistogram.observationCount: array expected");
message.observationCount = [];
for (var i = 0; i < object.observationCount.length; ++i)
message.observationCount[i] = object.observationCount[i] >>> 0;
}
return message;
};
/**
* Creates a plain object from a SpeedHistogram message. Also converts values to other types if specified.
* @function toObject
* @memberof SpeedHistogram
* @static
* @param {SpeedHistogram} message SpeedHistogram
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
SpeedHistogram.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.arrays || options.defaults) {
object.speedBin = [];
object.observationCount = [];
}
if (message.speedBin && message.speedBin.length) {
object.speedBin = [];
for (var j = 0; j < message.speedBin.length; ++j)
object.speedBin[j] = message.speedBin[j];
}
if (message.observationCount && message.observationCount.length) {
object.observationCount = [];
for (var j = 0; j < message.observationCount.length; ++j)
object.observationCount[j] = message.observationCount[j];
}
return object;
};
/**
* Converts this SpeedHistogram to JSON.
* @function toJSON
* @memberof SpeedHistogram
* @instance
* @returns {Object.<string,*>} JSON object
*/
SpeedHistogram.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return SpeedHistogram;
})();
$root.SharedStreetsWeeklySpeeds = (function() {
/**
* Properties of a SharedStreetsWeeklySpeeds.
* @exports ISharedStreetsWeeklySpeeds
* @interface ISharedStreetsWeeklySpeeds
* @property {string|null} [referenceId] SharedStreetsWeeklySpeeds referenceId
* @property {number|null} [year] SharedStreetsWeeklySpeeds year
* @property {number|null} [month] SharedStreetsWeeklySpeeds month
* @property {number|null} [day] SharedStreetsWeeklySpeeds day
* @property {PeriodSize|null} [periodSize] SharedStreetsWeeklySpeeds periodSize
* @property {boolean|null} [scaledCounts] SharedStreetsWeeklySpeeds scaledCounts
* @property {Array.<number>|null} [periodOffset] SharedStreetsWeeklySpeeds periodOffset
* @property {Array.<ISpeedHistogram>|null} [speedsForPeriod] SharedStreetsWeeklySpeeds speedsForPeriod
*/
/**
* Constructs a new SharedStreetsWeeklySpeeds.
* @exports SharedStreetsWeeklySpeeds
* @classdesc Represents a SharedStreetsWeeklySpeeds.
* @implements ISharedStreetsWeeklySpeeds
* @constructor
* @param {ISharedStreetsWeeklySpeeds=} [properties] Properties to set
*/
function SharedStreetsWeeklySpeeds(properties) {
this.periodOffset = [];
this.speedsForPeriod = [];
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* SharedStreetsWeeklySpeeds referenceId.
* @member {string} referenceId
* @memberof SharedStreetsWeeklySpeeds
* @instance
*/
SharedStreetsWeeklySpeeds.prototype.referenceId = "";
/**
* SharedStreetsWeeklySpeeds year.
* @member {number} year
* @memberof SharedStreetsWeeklySpeeds
* @instance
*/
SharedStreetsWeeklySpeeds.prototype.year = 0;
/**
* SharedStreetsWeeklySpeeds month.
* @member {number} month
* @memberof SharedStreetsWeeklySpeeds
* @instance
*/
SharedStreetsWeeklySpeeds.prototype.month = 0;
/**
* SharedStreetsWeeklySpeeds day.
* @member {number} day
* @memberof SharedStreetsWeeklySpeeds
* @instance
*/
SharedStreetsWeeklySpeeds.prototype.day = 0;
/**
* SharedStreetsWeeklySpeeds periodSize.
* @member {PeriodSize} periodSize
* @memberof SharedStreetsWeeklySpeeds
* @instance
*/
SharedStreetsWeeklySpeeds.prototype.periodSize = 0;
/**
* SharedStreetsWeeklySpeeds scaledCounts.
* @member {boolean} scaledCounts
* @memberof SharedStreetsWeeklySpeeds
* @instance
*/
SharedStreetsWeeklySpeeds.prototype.scaledCounts = false;
/**
* SharedStreetsWeeklySpeeds periodOffset.
* @member {Array.<number>} periodOffset
* @memberof SharedStreetsWeeklySpeeds
* @instance
*/
SharedStreetsWeeklySpeeds.prototype.periodOffset = $util.emptyArray;
/**
* SharedStreetsWeeklySpeeds speedsForPeriod.
* @member {Array.<ISpeedHistogram>} speedsForPeriod
* @memberof SharedStreetsWeeklySpeeds
* @instance
*/
SharedStreetsWeeklySpeeds.prototype.speedsForPeriod = $util.emptyArray;
/**
* Creates a new SharedStreetsWeeklySpeeds instance using the specified properties.
* @function create
* @memberof SharedStreetsWeeklySpeeds
* @static
* @param {ISharedStreetsWeeklySpeeds=} [properties] Properties to set
* @returns {SharedStreetsWeeklySpeeds} SharedStreetsWeeklySpeeds instance
*/
SharedStreetsWeeklySpeeds.create = function create(properties) {
return new SharedStreetsWeeklySpeeds(properties);
};
/**
* Encodes the specified SharedStreetsWeeklySpeeds message. Does not implicitly {@link SharedStreetsWeeklySpeeds.verify|verify} messages.
* @function encode
* @memberof SharedStreetsWeeklySpeeds
* @static
* @param {ISharedStreetsWeeklySpeeds} message SharedStreetsWeeklySpeeds message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
SharedStreetsWeeklySpeeds.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.referenceId != null && message.hasOwnProperty("referenceId"))
writer.uint32(/* id 1, wireType 2 =*/10).string(message.referenceId);
if (message.year != null && message.hasOwnProperty("year"))
writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.year);
if (message.month != null && message.hasOwnProperty("month"))
writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.month);
if (message.day != null && message.hasOwnProperty("day"))
writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.day);
if (message.periodSize != null && message.hasOwnProperty("periodSize"))
writer.uint32(/* id 5, wireType 0 =*/40).int32(message.periodSize);
if (message.scaledCounts != null && message.hasOwnProperty("scaledCounts"))
writer.uint32(/* id 6, wireType 0 =*/48).bool(message.scaledCounts);
if (message.periodOffset != null && message.periodOffset.length) {
writer.uint32(/* id 7, wireType 2 =*/58).fork();
for (var i = 0; i < message.periodOffset.length; ++i)
writer.uint32(message.periodOffset[i]);
writer.ldelim();
}
if (message.speedsForPeriod != null && message.speedsForPeriod.length)
for (var i = 0; i < message.speedsForPeriod.length; ++i)
$root.SpeedHistogram.encode(message.speedsForPeriod[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
return writer;
};
/**
* Encodes the specified SharedStreetsWeeklySpeeds message, length delimited. Does not implicitly {@link SharedStreetsWeeklySpeeds.verify|verify} messages.
* @function encodeDelimited
* @memberof SharedStreetsWeeklySpeeds
* @static
* @param {ISharedStreetsWeeklySpeeds} message SharedStreetsWeeklySpeeds message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
SharedStreetsWeeklySpeeds.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a SharedStreetsWeeklySpeeds message from the specified reader or buffer.
* @function decode
* @memberof SharedStreetsWeeklySpeeds
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {SharedStreetsWeeklySpeeds} SharedStreetsWeeklySpeeds
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
SharedStreetsWeeklySpeeds.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SharedStreetsWeeklySpeeds();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.referenceId = reader.string();
break;
case 2:
message.year = reader.uint32();
break;
case 3:
message.month = reader.uint32();
break;
case 4:
message.day = reader.uint32();
break;
case 5:
message.periodSize = reader.int32();
break;
case 6:
message.scaledCounts = reader.bool();
break;
case 7:
if (!(message.periodOffset && message.periodOffset.length))
message.periodOffset = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.periodOffset.push(reader.uint32());
} else
message.periodOffset.push(reader.uint32());
break;
case 8:
if (!(message.speedsForPeriod && message.speedsForPeriod.length))
message.speedsForPeriod = [];
message.speedsForPeriod.push($root.SpeedHistogram.decode(reader, reader.uint32()));
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a SharedStreetsWeeklySpeeds message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof SharedStreetsWeeklySpeeds
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {SharedStreetsWeeklySpeeds} SharedStreetsWeeklySpeeds
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
SharedStreetsWeeklySpeeds.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a SharedStreetsWeeklySpeeds message.
* @function verify
* @memberof SharedStreetsWeeklySpeeds
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
SharedStreetsWeeklySpeeds.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.referenceId != null && message.hasOwnProperty("referenceId"))
if (!$util.isString(message.referenceId))
return "referenceId: string expected";
if (message.year != null && message.hasOwnProperty("year"))
if (!$util.isInteger(message.year))
return "year: integer expected";
if (message.month != null && message.hasOwnProperty("month"))
if (!$util.isInteger(message.month))
return "month: integer expected";
if (message.day != null && message.hasOwnProperty("day"))
if (!$util.isInteger(message.day))
return "day: integer expected";
if (message.periodSize != null && message.hasOwnProperty("periodSize"))
switch (message.periodSize) {
default:
return "periodSize: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
break;
}
if (message.scaledCounts != null && message.hasOwnProperty("scaledCounts"))
if (typeof message.scaledCounts !== "boolean")
return "scaledCounts: boolean expected";
if (message.periodOffset != null && message.hasOwnProperty("periodOffset")) {
if (!Array.isArray(message.periodOffset))
return "periodOffset: array expected";
for (var i = 0; i < message.periodOffset.length; ++i)
if (!$util.isInteger(message.periodOffset[i]))
return "periodOffset: integer[] expected";
}
if (message.speedsForPeriod != null && message.hasOwnProperty("speedsForPeriod")) {
if (!Array.isArray(message.speedsForPeriod))
return "speedsForPeriod: array expected";
for (var i = 0; i < message.speedsForPeriod.length; ++i) {
var error = $root.SpeedHistogram.verify(message.speedsForPeriod[i]);
if (error)
return "speedsForPeriod." + error;
}
}
return null;
};
/**
* Creates a SharedStreetsWeeklySpeeds message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof SharedStreetsWeeklySpeeds
* @static
* @param {Object.<string,*>} object Plain object
* @returns {SharedStreetsWeeklySpeeds} SharedStreetsWeeklySpeeds
*/
SharedStreetsWeeklySpeeds.fromObject = function fromObject(object) {
if (object instanceof $root.SharedStreetsWeeklySpeeds)
return object;
var message = new $root.SharedStreetsWeeklySpeeds();
if (object.referenceId != null)
message.referenceId = String(object.referenceId);
if (object.year != null)
message.year = object.year >>> 0;
if (object.month != null)
message.month = object.month >>> 0;
if (object.day != null)
message.day = object.day >>> 0;
switch (object.periodSize) {
case "OneSecond":
case 0:
message.periodSize = 0;
break;
case "FiveSeconds":
case 1:
message.periodSize = 1;
break;
case "TenSeconds":
case 2:
message.periodSize = 2;
break;
case "FifteenSeconds":
case 3:
message.periodSize = 3;
break;
case "ThirtySeconds":
case 4:
message.periodSize = 4;
break;
case "OneMinute":
case 5:
message.periodSize = 5;
break;
case "FiveMinutes":
case 6:
message.periodSize = 6;
break;
case "TenMinutes":
case 7:
message.periodSize = 7;
break;
case "FifteenMinutes":
case 8:
message.periodSize = 8;
break;
case "ThirtyMinutes":
case 9:
message.periodSize = 9;
break;
case "OneHour":
case 10:
message.periodSize = 10;
break;
case "OneDay":
case 11:
message.periodSize = 11;
break;
case "OneWeek":
case 12:
message.periodSize = 12;
break;
case "OneMonth":
case 13:
message.periodSize = 13;
break;
case "OneYear":
case 14:
message.periodSize = 14;
break;
}
if (object.scaledCounts != null)
message.scaledCounts = Boolean(object.scaledCounts);
if (object.periodOffset) {
if (!Array.isArray(object.periodOffset))
throw TypeError(".SharedStreetsWeeklySpeeds.periodOffset: array expected");
message.periodOffset = [];
for (var i = 0; i < object.periodOffset.length; ++i)
message.periodOffset[i] = object.periodOffset[i] >>> 0;
}
if (object.speedsForPeriod) {
if (!Array.isArray(object.speedsForPeriod))
throw TypeError(".SharedStreetsWeeklySpeeds.speedsForPeriod: array expected");
message.speedsForPeriod = [];
for (var i = 0; i < object.speedsForPeriod.length; ++i) {
if (typeof object.speedsForPeriod[i] !== "object")
throw TypeError(".SharedStreetsWeeklySpeeds.speedsForPeriod: object expect