@apollo/protobufjs
Version:
Protocol Buffers for JavaScript (& TypeScript).
197 lines (187 loc) • 5.52 kB
JavaScript
/**
* Common type constants.
* @namespace
*/
var types = exports;
var util = require("./util");
var s = [
"double", // 0
"float", // 1
"int32", // 2
"uint32", // 3
"sint32", // 4
"fixed32", // 5
"sfixed32", // 6
"int64", // 7
"uint64", // 8
"sint64", // 9
"fixed64", // 10
"sfixed64", // 11
"bool", // 12
"string", // 13
"bytes" // 14
];
function bake(values, offset) {
var i = 0, o = {};
offset |= 0;
while (i < values.length) o[s[i + offset]] = values[i++];
return o;
}
/**
* Basic type wire types.
* @type {Object.<string,number>}
* @const
* @property {number} double=1 Fixed64 wire type
* @property {number} float=5 Fixed32 wire type
* @property {number} int32=0 Varint wire type
* @property {number} uint32=0 Varint wire type
* @property {number} sint32=0 Varint wire type
* @property {number} fixed32=5 Fixed32 wire type
* @property {number} sfixed32=5 Fixed32 wire type
* @property {number} int64=0 Varint wire type
* @property {number} uint64=0 Varint wire type
* @property {number} sint64=0 Varint wire type
* @property {number} fixed64=1 Fixed64 wire type
* @property {number} sfixed64=1 Fixed64 wire type
* @property {number} bool=0 Varint wire type
* @property {number} string=2 Ldelim wire type
* @property {number} bytes=2 Ldelim wire type
*/
types.basic = bake([
/* double */ 1,
/* float */ 5,
/* int32 */ 0,
/* uint32 */ 0,
/* sint32 */ 0,
/* fixed32 */ 5,
/* sfixed32 */ 5,
/* int64 */ 0,
/* uint64 */ 0,
/* sint64 */ 0,
/* fixed64 */ 1,
/* sfixed64 */ 1,
/* bool */ 0,
/* string */ 2,
/* bytes */ 2
]);
/**
* Basic type defaults.
* @type {Object.<string,*>}
* @const
* @property {number} double=0 Double default
* @property {number} float=0 Float default
* @property {number} int32=0 Int32 default
* @property {number} uint32=0 Uint32 default
* @property {number} sint32=0 Sint32 default
* @property {number} fixed32=0 Fixed32 default
* @property {number} sfixed32=0 Sfixed32 default
* @property {number} int64=0 Int64 default
* @property {number} uint64=0 Uint64 default
* @property {number} sint64=0 Sint32 default
* @property {number} fixed64=0 Fixed64 default
* @property {number} sfixed64=0 Sfixed64 default
* @property {boolean} bool=false Bool default
* @property {string} string="" String default
* @property {Array.<number>} bytes=Array(0) Bytes default
* @property {null} message=null Message default
*/
types.defaults = bake([
/* double */ 0,
/* float */ 0,
/* int32 */ 0,
/* uint32 */ 0,
/* sint32 */ 0,
/* fixed32 */ 0,
/* sfixed32 */ 0,
/* int64 */ 0,
/* uint64 */ 0,
/* sint64 */ 0,
/* fixed64 */ 0,
/* sfixed64 */ 0,
/* bool */ false,
/* string */ "",
/* bytes */ util.emptyArray,
/* message */ null
]);
/**
* Basic long type wire types.
* @type {Object.<string,number>}
* @const
* @property {number} int64=0 Varint wire type
* @property {number} uint64=0 Varint wire type
* @property {number} sint64=0 Varint wire type
* @property {number} fixed64=1 Fixed64 wire type
* @property {number} sfixed64=1 Fixed64 wire type
*/
types.long = bake([
/* int64 */ 0,
/* uint64 */ 0,
/* sint64 */ 0,
/* fixed64 */ 1,
/* sfixed64 */ 1
], 7);
/**
* Allowed types for map keys with their associated wire type.
* @type {Object.<string,number>}
* @const
* @property {number} int32=0 Varint wire type
* @property {number} uint32=0 Varint wire type
* @property {number} sint32=0 Varint wire type
* @property {number} fixed32=5 Fixed32 wire type
* @property {number} sfixed32=5 Fixed32 wire type
* @property {number} int64=0 Varint wire type
* @property {number} uint64=0 Varint wire type
* @property {number} sint64=0 Varint wire type
* @property {number} fixed64=1 Fixed64 wire type
* @property {number} sfixed64=1 Fixed64 wire type
* @property {number} bool=0 Varint wire type
* @property {number} string=2 Ldelim wire type
*/
types.mapKey = bake([
/* int32 */ 0,
/* uint32 */ 0,
/* sint32 */ 0,
/* fixed32 */ 5,
/* sfixed32 */ 5,
/* int64 */ 0,
/* uint64 */ 0,
/* sint64 */ 0,
/* fixed64 */ 1,
/* sfixed64 */ 1,
/* bool */ 0,
/* string */ 2
], 2);
/**
* Allowed types for packed repeated fields with their associated wire type.
* @type {Object.<string,number>}
* @const
* @property {number} double=1 Fixed64 wire type
* @property {number} float=5 Fixed32 wire type
* @property {number} int32=0 Varint wire type
* @property {number} uint32=0 Varint wire type
* @property {number} sint32=0 Varint wire type
* @property {number} fixed32=5 Fixed32 wire type
* @property {number} sfixed32=5 Fixed32 wire type
* @property {number} int64=0 Varint wire type
* @property {number} uint64=0 Varint wire type
* @property {number} sint64=0 Varint wire type
* @property {number} fixed64=1 Fixed64 wire type
* @property {number} sfixed64=1 Fixed64 wire type
* @property {number} bool=0 Varint wire type
*/
types.packed = bake([
/* double */ 1,
/* float */ 5,
/* int32 */ 0,
/* uint32 */ 0,
/* sint32 */ 0,
/* fixed32 */ 5,
/* sfixed32 */ 5,
/* int64 */ 0,
/* uint64 */ 0,
/* sint64 */ 0,
/* fixed64 */ 1,
/* sfixed64 */ 1,
/* bool */ 0
]);
;