protobufjs 8.6.2 → 8.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +39 -39
- package/README.md +441 -441
- package/dist/light/protobuf.js +8582 -8454
- package/dist/light/protobuf.js.map +1 -1
- package/dist/light/protobuf.min.js +3 -3
- package/dist/light/protobuf.min.js.map +1 -1
- package/dist/minimal/protobuf.js +3071 -2999
- package/dist/minimal/protobuf.js.map +1 -1
- package/dist/minimal/protobuf.min.js +3 -3
- package/dist/minimal/protobuf.min.js.map +1 -1
- package/dist/protobuf.js +10486 -10358
- package/dist/protobuf.js.map +1 -1
- package/dist/protobuf.min.js +3 -3
- package/dist/protobuf.min.js.map +1 -1
- package/ext/README.md +70 -70
- package/ext/debug/README.md +4 -4
- package/ext/debug/index.js +71 -71
- package/ext/descriptor/README.md +5 -5
- package/ext/descriptor/index.d.ts +2 -2
- package/ext/descriptor/index.js +2 -2
- package/ext/descriptor.d.ts +87 -87
- package/ext/descriptor.js +1354 -1354
- package/ext/protojson.LICENSE +201 -201
- package/ext/protojson.d.ts +20 -20
- package/ext/protojson.js +945 -925
- package/ext/textformat.d.ts +19 -19
- package/ext/textformat.js +1256 -1256
- package/google/LICENSE +27 -27
- package/google/README.md +1 -1
- package/google/api/annotations.json +82 -82
- package/google/api/annotations.proto +10 -10
- package/google/api/http.json +85 -85
- package/google/api/http.proto +30 -30
- package/google/protobuf/api.json +117 -117
- package/google/protobuf/api.proto +33 -33
- package/google/protobuf/compiler/plugin.json +126 -126
- package/google/protobuf/compiler/plugin.proto +47 -47
- package/google/protobuf/descriptor.json +1381 -1381
- package/google/protobuf/descriptor.proto +534 -534
- package/google/protobuf/source_context.json +19 -19
- package/google/protobuf/source_context.proto +7 -7
- package/google/protobuf/type.json +201 -201
- package/google/protobuf/type.proto +89 -89
- package/index.d.ts +30 -0
- package/index.js +4 -4
- package/light.d.ts +2 -2
- package/light.js +3 -3
- package/minimal.d.ts +2 -2
- package/minimal.js +4 -4
- package/package.json +93 -93
- package/src/common.js +399 -399
- package/src/converter.js +344 -344
- package/src/decoder.js +214 -208
- package/src/encoder.js +111 -111
- package/src/enum.js +231 -231
- package/src/field.js +497 -497
- package/src/index-light.js +104 -104
- package/src/index-minimal.js +35 -36
- package/src/index.js +12 -12
- package/src/mapfield.js +136 -136
- package/src/message.js +137 -137
- package/src/method.js +175 -175
- package/src/namespace.js +566 -565
- package/src/object.js +382 -382
- package/src/oneof.js +225 -225
- package/src/parse.js +1068 -1068
- package/src/reader.js +558 -543
- package/src/reader_buffer.js +72 -72
- package/src/root.js +416 -416
- package/src/roots.js +18 -18
- package/src/rpc/service.js +148 -148
- package/src/rpc.js +36 -36
- package/src/service.js +198 -198
- package/src/tokenize.js +421 -421
- package/src/type.js +654 -655
- package/src/types.js +196 -196
- package/src/typescript.js +25 -25
- package/src/util/aspromise.d.ts +13 -13
- package/src/util/aspromise.js +52 -52
- package/src/util/base64.d.ts +32 -32
- package/src/util/base64.js +146 -146
- package/src/util/codegen.d.ts +31 -31
- package/src/util/codegen.js +113 -113
- package/src/util/eventemitter.d.ts +45 -45
- package/src/util/eventemitter.js +86 -86
- package/src/util/fetch.d.ts +56 -56
- package/src/util/fetch.js +112 -112
- package/src/util/float.d.ts +83 -83
- package/src/util/float.js +335 -335
- package/src/util/fs.js +11 -11
- package/src/util/longbits.js +200 -200
- package/src/util/minimal.js +515 -515
- package/src/util/path.d.ts +22 -22
- package/src/util/path.js +100 -72
- package/src/util/patterns.js +7 -7
- package/src/util/pool.d.ts +32 -32
- package/src/util/pool.js +48 -48
- package/src/util/utf8.d.ts +24 -24
- package/src/util/utf8.js +188 -130
- package/src/util.js +264 -242
- package/src/verifier.js +180 -180
- package/src/wrappers.js +106 -106
- package/src/writer.js +495 -495
- package/src/writer_buffer.js +102 -102
- package/tsconfig.json +6 -6
package/src/encoder.js
CHANGED
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
module.exports = encoder;
|
|
3
|
-
|
|
4
|
-
var Enum = require("./enum"),
|
|
5
|
-
types = require("./types"),
|
|
6
|
-
util = require("./util");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Generates a partial message type encoder.
|
|
10
|
-
* @param {Codegen} gen Codegen instance
|
|
11
|
-
* @param {Field} field Reflected field
|
|
12
|
-
* @param {number} fieldIndex Field index
|
|
13
|
-
* @param {string} ref Variable reference
|
|
14
|
-
* @returns {Codegen} Codegen instance
|
|
15
|
-
* @ignore
|
|
16
|
-
*/
|
|
17
|
-
function genTypePartial(gen, field, fieldIndex, ref) {
|
|
18
|
-
return field.delimited
|
|
19
|
-
? gen("types[%i].encode(%s,w.uint32(%i),q+1).uint32(%i)", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0)
|
|
20
|
-
: gen("types[%i].encode(%s,w.uint32(%i).fork(),q+1).ldelim()", fieldIndex, ref, (field.id << 3 | 2) >>> 0);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Generates an encoder specific to the specified message type.
|
|
25
|
-
* @param {Type} mtype Message type
|
|
26
|
-
* @returns {Codegen} Codegen instance
|
|
27
|
-
*/
|
|
28
|
-
function encoder(mtype) {
|
|
29
|
-
/* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */
|
|
30
|
-
var gen = util.codegen(["m", "w", "q"])
|
|
31
|
-
("if(!w)")
|
|
32
|
-
("w=Writer.create()")
|
|
33
|
-
("if(q===undefined)q=0")
|
|
34
|
-
("if(q>util.recursionLimit)")
|
|
35
|
-
("throw Error(\"max depth exceeded\")");
|
|
36
|
-
|
|
37
|
-
var i, ref;
|
|
38
|
-
|
|
39
|
-
// "when a message is serialized its known fields should be written sequentially by field number"
|
|
40
|
-
var fields = /* initializes */ mtype.fieldsArray.slice().sort(util.compareFieldsById);
|
|
41
|
-
|
|
42
|
-
for (var i = 0; i < fields.length; ++i) {
|
|
43
|
-
var field = fields[i].resolve(),
|
|
44
|
-
index = mtype._fieldsArray.indexOf(field),
|
|
45
|
-
type = field.resolvedType instanceof Enum ? "int32" : field.type,
|
|
46
|
-
wireType = types.basic[type];
|
|
47
|
-
ref = "m" + util.safeProp(field.name);
|
|
48
|
-
|
|
49
|
-
// Map fields
|
|
50
|
-
if (field.map) {
|
|
51
|
-
gen
|
|
52
|
-
("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){", ref, field.name) // !== undefined && !== null
|
|
53
|
-
("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){", ref);
|
|
54
|
-
if (field.keyType === "bool") gen
|
|
55
|
-
("w.uint32(%i).fork().uint32(%i).bool(util.boolFromKey(ks[i]))", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType]);
|
|
56
|
-
else if (types.long[field.keyType] !== undefined) gen
|
|
57
|
-
("w.uint32(%i).fork().uint32(%i).%s(util.longFromKey(ks[i],%j))", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType], field.keyType, field.keyType === "uint64" || field.keyType === "fixed64");
|
|
58
|
-
else gen
|
|
59
|
-
("w.uint32(%i).fork().uint32(%i).%s(ks[i])", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType], field.keyType);
|
|
60
|
-
if (wireType === undefined) gen
|
|
61
|
-
("types[%i].encode(%s[ks[i]],w.uint32(18).fork(),q+1).ldelim().ldelim()", index, ref); // can't be groups
|
|
62
|
-
else gen
|
|
63
|
-
(".uint32(%i).%s(%s[ks[i]]).ldelim()", 16 | wireType, type, ref);
|
|
64
|
-
gen
|
|
65
|
-
("}")
|
|
66
|
-
("}");
|
|
67
|
-
|
|
68
|
-
// Repeated fields
|
|
69
|
-
} else if (field.repeated) { gen
|
|
70
|
-
("if(%s!=null&&%s.length){", ref, ref); // !== undefined && !== null
|
|
71
|
-
|
|
72
|
-
// Packed repeated
|
|
73
|
-
if (field.packed && types.packed[type] !== undefined) { gen
|
|
74
|
-
|
|
75
|
-
("w.uint32(%i).fork()", (field.id << 3 | 2) >>> 0)
|
|
76
|
-
("for(var i=0;i<%s.length;++i)", ref)
|
|
77
|
-
("w.%s(%s[i])", type, ref)
|
|
78
|
-
("w.ldelim()");
|
|
79
|
-
|
|
80
|
-
// Non-packed
|
|
81
|
-
} else { gen
|
|
82
|
-
|
|
83
|
-
("for(var i=0;i<%s.length;++i)", ref);
|
|
84
|
-
if (wireType === undefined)
|
|
85
|
-
genTypePartial(gen, field, index, ref + "[i]");
|
|
86
|
-
else gen
|
|
87
|
-
("w.uint32(%i).%s(%s[i])", (field.id << 3 | wireType) >>> 0, type, ref);
|
|
88
|
-
|
|
89
|
-
} gen
|
|
90
|
-
("}");
|
|
91
|
-
|
|
92
|
-
// Non-repeated
|
|
93
|
-
} else {
|
|
94
|
-
if (!field.required) gen
|
|
95
|
-
("if(%s!=null&&Object.hasOwnProperty.call(m,%j))", ref, field.name); // !== undefined && !== null
|
|
96
|
-
|
|
97
|
-
if (wireType === undefined)
|
|
98
|
-
genTypePartial(gen, field, index, ref);
|
|
99
|
-
else gen
|
|
100
|
-
("w.uint32(%i).%s(%s)", (field.id << 3 | wireType) >>> 0, type, ref);
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return gen
|
|
106
|
-
("if(m.$unknowns!=null&&Object.hasOwnProperty.call(m,\"$unknowns\"))")
|
|
107
|
-
("for(var i=0;i<m.$unknowns.length;++i)")
|
|
108
|
-
("w.raw(m.$unknowns[i])")
|
|
109
|
-
("return w");
|
|
110
|
-
/* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */
|
|
111
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
module.exports = encoder;
|
|
3
|
+
|
|
4
|
+
var Enum = require("./enum"),
|
|
5
|
+
types = require("./types"),
|
|
6
|
+
util = require("./util");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Generates a partial message type encoder.
|
|
10
|
+
* @param {Codegen} gen Codegen instance
|
|
11
|
+
* @param {Field} field Reflected field
|
|
12
|
+
* @param {number} fieldIndex Field index
|
|
13
|
+
* @param {string} ref Variable reference
|
|
14
|
+
* @returns {Codegen} Codegen instance
|
|
15
|
+
* @ignore
|
|
16
|
+
*/
|
|
17
|
+
function genTypePartial(gen, field, fieldIndex, ref) {
|
|
18
|
+
return field.delimited
|
|
19
|
+
? gen("types[%i].encode(%s,w.uint32(%i),q+1).uint32(%i)", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0)
|
|
20
|
+
: gen("types[%i].encode(%s,w.uint32(%i).fork(),q+1).ldelim()", fieldIndex, ref, (field.id << 3 | 2) >>> 0);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Generates an encoder specific to the specified message type.
|
|
25
|
+
* @param {Type} mtype Message type
|
|
26
|
+
* @returns {Codegen} Codegen instance
|
|
27
|
+
*/
|
|
28
|
+
function encoder(mtype) {
|
|
29
|
+
/* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */
|
|
30
|
+
var gen = util.codegen(["m", "w", "q"])
|
|
31
|
+
("if(!w)")
|
|
32
|
+
("w=Writer.create()")
|
|
33
|
+
("if(q===undefined)q=0")
|
|
34
|
+
("if(q>util.recursionLimit)")
|
|
35
|
+
("throw Error(\"max depth exceeded\")");
|
|
36
|
+
|
|
37
|
+
var i, ref;
|
|
38
|
+
|
|
39
|
+
// "when a message is serialized its known fields should be written sequentially by field number"
|
|
40
|
+
var fields = /* initializes */ mtype.fieldsArray.slice().sort(util.compareFieldsById);
|
|
41
|
+
|
|
42
|
+
for (var i = 0; i < fields.length; ++i) {
|
|
43
|
+
var field = fields[i].resolve(),
|
|
44
|
+
index = mtype._fieldsArray.indexOf(field),
|
|
45
|
+
type = field.resolvedType instanceof Enum ? "int32" : field.type,
|
|
46
|
+
wireType = types.basic[type];
|
|
47
|
+
ref = "m" + util.safeProp(field.name);
|
|
48
|
+
|
|
49
|
+
// Map fields
|
|
50
|
+
if (field.map) {
|
|
51
|
+
gen
|
|
52
|
+
("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){", ref, field.name) // !== undefined && !== null
|
|
53
|
+
("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){", ref);
|
|
54
|
+
if (field.keyType === "bool") gen
|
|
55
|
+
("w.uint32(%i).fork().uint32(%i).bool(util.boolFromKey(ks[i]))", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType]);
|
|
56
|
+
else if (types.long[field.keyType] !== undefined) gen
|
|
57
|
+
("w.uint32(%i).fork().uint32(%i).%s(util.longFromKey(ks[i],%j))", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType], field.keyType, field.keyType === "uint64" || field.keyType === "fixed64");
|
|
58
|
+
else gen
|
|
59
|
+
("w.uint32(%i).fork().uint32(%i).%s(ks[i])", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType], field.keyType);
|
|
60
|
+
if (wireType === undefined) gen
|
|
61
|
+
("types[%i].encode(%s[ks[i]],w.uint32(18).fork(),q+1).ldelim().ldelim()", index, ref); // can't be groups
|
|
62
|
+
else gen
|
|
63
|
+
(".uint32(%i).%s(%s[ks[i]]).ldelim()", 16 | wireType, type, ref);
|
|
64
|
+
gen
|
|
65
|
+
("}")
|
|
66
|
+
("}");
|
|
67
|
+
|
|
68
|
+
// Repeated fields
|
|
69
|
+
} else if (field.repeated) { gen
|
|
70
|
+
("if(%s!=null&&%s.length){", ref, ref); // !== undefined && !== null
|
|
71
|
+
|
|
72
|
+
// Packed repeated
|
|
73
|
+
if (field.packed && types.packed[type] !== undefined) { gen
|
|
74
|
+
|
|
75
|
+
("w.uint32(%i).fork()", (field.id << 3 | 2) >>> 0)
|
|
76
|
+
("for(var i=0;i<%s.length;++i)", ref)
|
|
77
|
+
("w.%s(%s[i])", type, ref)
|
|
78
|
+
("w.ldelim()");
|
|
79
|
+
|
|
80
|
+
// Non-packed
|
|
81
|
+
} else { gen
|
|
82
|
+
|
|
83
|
+
("for(var i=0;i<%s.length;++i)", ref);
|
|
84
|
+
if (wireType === undefined)
|
|
85
|
+
genTypePartial(gen, field, index, ref + "[i]");
|
|
86
|
+
else gen
|
|
87
|
+
("w.uint32(%i).%s(%s[i])", (field.id << 3 | wireType) >>> 0, type, ref);
|
|
88
|
+
|
|
89
|
+
} gen
|
|
90
|
+
("}");
|
|
91
|
+
|
|
92
|
+
// Non-repeated
|
|
93
|
+
} else {
|
|
94
|
+
if (!field.required) gen
|
|
95
|
+
("if(%s!=null&&Object.hasOwnProperty.call(m,%j))", ref, field.name); // !== undefined && !== null
|
|
96
|
+
|
|
97
|
+
if (wireType === undefined)
|
|
98
|
+
genTypePartial(gen, field, index, ref);
|
|
99
|
+
else gen
|
|
100
|
+
("w.uint32(%i).%s(%s)", (field.id << 3 | wireType) >>> 0, type, ref);
|
|
101
|
+
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return gen
|
|
106
|
+
("if(m.$unknowns!=null&&Object.hasOwnProperty.call(m,\"$unknowns\"))")
|
|
107
|
+
("for(var i=0;i<m.$unknowns.length;++i)")
|
|
108
|
+
("w.raw(m.$unknowns[i])")
|
|
109
|
+
("return w");
|
|
110
|
+
/* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */
|
|
111
|
+
}
|