protobufjs 4.1.3 → 5.0.3
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/.travis.yml +3 -1
- package/README.md +147 -25
- package/bin/pbjs +2 -2
- package/bower.json +3 -3
- package/cli/pbjs/targets/amd.js +1 -1
- package/cli/pbjs/targets/json.js +9 -1
- package/cli/pbjs/targets/proto.js +48 -24
- package/cli/pbjs/util.js +1 -1
- package/cli/pbjs.js +9 -2
- package/dist/README.md +10 -10
- package/dist/{ProtoBuf-light.js → protobuf-light.js} +92 -37
- package/dist/protobuf-light.min.js +94 -0
- package/dist/protobuf-light.min.js.gz +0 -0
- package/dist/protobuf-light.min.map +8 -0
- package/dist/{ProtoBuf.js → protobuf.js} +150 -60
- package/dist/protobuf.min.js +116 -0
- package/dist/protobuf.min.js.gz +0 -0
- package/dist/protobuf.min.map +8 -0
- package/docs/ProtoBuf.Builder.Message.html +106 -37
- package/docs/ProtoBuf.Builder.Service.html +9 -9
- package/docs/ProtoBuf.Builder.html +22 -22
- package/docs/ProtoBuf.DotProto.Parser.html +7 -7
- package/docs/ProtoBuf.DotProto.Tokenizer.html +11 -11
- package/docs/ProtoBuf.DotProto.html +2 -2
- package/docs/ProtoBuf.Map.html +6 -6
- package/docs/ProtoBuf.Reflect.Element.html +104 -8
- package/docs/ProtoBuf.Reflect.Enum.Value.html +10 -10
- package/docs/ProtoBuf.Reflect.Enum.html +21 -21
- package/docs/ProtoBuf.Reflect.Extension.html +3 -3
- package/docs/ProtoBuf.Reflect.Message.ExtensionField.html +29 -29
- package/docs/ProtoBuf.Reflect.Message.Field.html +28 -28
- package/docs/ProtoBuf.Reflect.Message.OneOf.html +10 -10
- package/docs/ProtoBuf.Reflect.Message.html +31 -28
- package/docs/ProtoBuf.Reflect.Namespace.html +19 -19
- package/docs/ProtoBuf.Reflect.Service.Method.html +11 -11
- package/docs/ProtoBuf.Reflect.Service.RPCMethod.html +17 -17
- package/docs/ProtoBuf.Reflect.Service.html +20 -20
- package/docs/ProtoBuf.Reflect.T.html +9 -9
- package/docs/ProtoBuf.Reflect.html +2 -2
- package/docs/ProtoBuf.Util.html +6 -6
- package/docs/ProtoBuf.html +28 -28
- package/docs/ProtoBuf.js.html +151 -61
- package/docs/index.html +1 -1
- package/donate.png +0 -0
- package/examples/websocket/server.js +4 -4
- package/externs/{ProtoBuf.js → protobuf.js} +25 -14
- package/index.js +1 -18
- package/jsdoc.json +1 -1
- package/package.json +11 -11
- package/protobuf.png +0 -0
- package/scripts/build.js +5 -10
- package/src/ProtoBuf/Builder/Message.js +17 -8
- package/src/ProtoBuf/Builder/Service.js +3 -0
- package/src/ProtoBuf/Builder.js +34 -10
- package/src/ProtoBuf/DotProto/Parser.js +58 -23
- package/src/ProtoBuf/Lang.js +2 -2
- package/src/ProtoBuf/Reflect/Element.js +17 -4
- package/src/ProtoBuf/Reflect/Message/Field.js +6 -5
- package/src/ProtoBuf/Reflect/Message.js +9 -4
- package/src/{bower.json → bower.json.in} +2 -2
- package/src/google/protobuf/descriptor.json +55 -15
- package/src/{ProtoBuf.js → protobuf.js} +0 -0
- package/src/wrap.js +4 -4
- package/tests/complex.json +8 -1
- package/tests/imports-weak.proto +7 -0
- package/tests/suite.js +107 -82
- package/.npmignore +0 -3
- package/ProtoBuf.png +0 -0
- package/dist/ProtoBuf-light.min.js +0 -87
- package/dist/ProtoBuf-light.min.js.gz +0 -0
- package/dist/ProtoBuf-light.min.map +0 -8
- package/dist/ProtoBuf.min.js +0 -108
- package/dist/ProtoBuf.min.js.gz +0 -0
- package/dist/ProtoBuf.min.map +0 -8
- package/examples/protoify/.npmignore +0 -2
- package/examples/websocket/.npmignore +0 -3
- package/externs/ByteBuffer.js +0 -767
- package/externs/Long.js +0 -328
- package/tests/gtfs-realtime.proto +0 -552
- package/webpack.config.js +0 -9
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "google.protobuf",
|
|
3
|
+
"syntax": "proto2",
|
|
3
4
|
"options": {
|
|
4
5
|
"java_package": "com.google.protobuf",
|
|
5
6
|
"java_outer_classname": "DescriptorProtos",
|
|
@@ -8,6 +9,7 @@
|
|
|
8
9
|
"messages": [
|
|
9
10
|
{
|
|
10
11
|
"name": "FileDescriptorSet",
|
|
12
|
+
"syntax": "proto2",
|
|
11
13
|
"fields": [
|
|
12
14
|
{
|
|
13
15
|
"rule": "repeated",
|
|
@@ -19,6 +21,7 @@
|
|
|
19
21
|
},
|
|
20
22
|
{
|
|
21
23
|
"name": "FileDescriptorProto",
|
|
24
|
+
"syntax": "proto2",
|
|
22
25
|
"fields": [
|
|
23
26
|
{
|
|
24
27
|
"rule": "optional",
|
|
@@ -90,6 +93,7 @@
|
|
|
90
93
|
},
|
|
91
94
|
{
|
|
92
95
|
"name": "DescriptorProto",
|
|
96
|
+
"syntax": "proto2",
|
|
93
97
|
"fields": [
|
|
94
98
|
{
|
|
95
99
|
"rule": "optional",
|
|
@@ -137,6 +141,7 @@
|
|
|
137
141
|
"messages": [
|
|
138
142
|
{
|
|
139
143
|
"name": "ExtensionRange",
|
|
144
|
+
"syntax": "proto2",
|
|
140
145
|
"fields": [
|
|
141
146
|
{
|
|
142
147
|
"rule": "optional",
|
|
@@ -156,6 +161,7 @@
|
|
|
156
161
|
},
|
|
157
162
|
{
|
|
158
163
|
"name": "FieldDescriptorProto",
|
|
164
|
+
"syntax": "proto2",
|
|
159
165
|
"fields": [
|
|
160
166
|
{
|
|
161
167
|
"rule": "optional",
|
|
@@ -209,6 +215,7 @@
|
|
|
209
215
|
"enums": [
|
|
210
216
|
{
|
|
211
217
|
"name": "Type",
|
|
218
|
+
"syntax": "proto2",
|
|
212
219
|
"values": [
|
|
213
220
|
{
|
|
214
221
|
"name": "TYPE_DOUBLE",
|
|
@@ -286,6 +293,7 @@
|
|
|
286
293
|
},
|
|
287
294
|
{
|
|
288
295
|
"name": "Label",
|
|
296
|
+
"syntax": "proto2",
|
|
289
297
|
"values": [
|
|
290
298
|
{
|
|
291
299
|
"name": "LABEL_OPTIONAL",
|
|
@@ -305,6 +313,7 @@
|
|
|
305
313
|
},
|
|
306
314
|
{
|
|
307
315
|
"name": "EnumDescriptorProto",
|
|
316
|
+
"syntax": "proto2",
|
|
308
317
|
"fields": [
|
|
309
318
|
{
|
|
310
319
|
"rule": "optional",
|
|
@@ -328,6 +337,7 @@
|
|
|
328
337
|
},
|
|
329
338
|
{
|
|
330
339
|
"name": "EnumValueDescriptorProto",
|
|
340
|
+
"syntax": "proto2",
|
|
331
341
|
"fields": [
|
|
332
342
|
{
|
|
333
343
|
"rule": "optional",
|
|
@@ -351,6 +361,7 @@
|
|
|
351
361
|
},
|
|
352
362
|
{
|
|
353
363
|
"name": "ServiceDescriptorProto",
|
|
364
|
+
"syntax": "proto2",
|
|
354
365
|
"fields": [
|
|
355
366
|
{
|
|
356
367
|
"rule": "optional",
|
|
@@ -374,6 +385,7 @@
|
|
|
374
385
|
},
|
|
375
386
|
{
|
|
376
387
|
"name": "MethodDescriptorProto",
|
|
388
|
+
"syntax": "proto2",
|
|
377
389
|
"fields": [
|
|
378
390
|
{
|
|
379
391
|
"rule": "optional",
|
|
@@ -403,6 +415,7 @@
|
|
|
403
415
|
},
|
|
404
416
|
{
|
|
405
417
|
"name": "FileOptions",
|
|
418
|
+
"syntax": "proto2",
|
|
406
419
|
"fields": [
|
|
407
420
|
{
|
|
408
421
|
"rule": "optional",
|
|
@@ -484,12 +497,15 @@
|
|
|
484
497
|
}
|
|
485
498
|
],
|
|
486
499
|
"extensions": [
|
|
487
|
-
|
|
488
|
-
|
|
500
|
+
[
|
|
501
|
+
1000,
|
|
502
|
+
536870911
|
|
503
|
+
]
|
|
489
504
|
],
|
|
490
505
|
"enums": [
|
|
491
506
|
{
|
|
492
507
|
"name": "OptimizeMode",
|
|
508
|
+
"syntax": "proto2",
|
|
493
509
|
"values": [
|
|
494
510
|
{
|
|
495
511
|
"name": "SPEED",
|
|
@@ -509,6 +525,7 @@
|
|
|
509
525
|
},
|
|
510
526
|
{
|
|
511
527
|
"name": "MessageOptions",
|
|
528
|
+
"syntax": "proto2",
|
|
512
529
|
"fields": [
|
|
513
530
|
{
|
|
514
531
|
"rule": "optional",
|
|
@@ -536,12 +553,15 @@
|
|
|
536
553
|
}
|
|
537
554
|
],
|
|
538
555
|
"extensions": [
|
|
539
|
-
|
|
540
|
-
|
|
556
|
+
[
|
|
557
|
+
1000,
|
|
558
|
+
536870911
|
|
559
|
+
]
|
|
541
560
|
]
|
|
542
561
|
},
|
|
543
562
|
{
|
|
544
563
|
"name": "FieldOptions",
|
|
564
|
+
"syntax": "proto2",
|
|
545
565
|
"fields": [
|
|
546
566
|
{
|
|
547
567
|
"rule": "optional",
|
|
@@ -599,12 +619,15 @@
|
|
|
599
619
|
}
|
|
600
620
|
],
|
|
601
621
|
"extensions": [
|
|
602
|
-
|
|
603
|
-
|
|
622
|
+
[
|
|
623
|
+
1000,
|
|
624
|
+
536870911
|
|
625
|
+
]
|
|
604
626
|
],
|
|
605
627
|
"enums": [
|
|
606
628
|
{
|
|
607
629
|
"name": "CType",
|
|
630
|
+
"syntax": "proto2",
|
|
608
631
|
"values": [
|
|
609
632
|
{
|
|
610
633
|
"name": "STRING",
|
|
@@ -624,6 +647,7 @@
|
|
|
624
647
|
},
|
|
625
648
|
{
|
|
626
649
|
"name": "EnumOptions",
|
|
650
|
+
"syntax": "proto2",
|
|
627
651
|
"fields": [
|
|
628
652
|
{
|
|
629
653
|
"rule": "optional",
|
|
@@ -642,12 +666,15 @@
|
|
|
642
666
|
}
|
|
643
667
|
],
|
|
644
668
|
"extensions": [
|
|
645
|
-
|
|
646
|
-
|
|
669
|
+
[
|
|
670
|
+
1000,
|
|
671
|
+
536870911
|
|
672
|
+
]
|
|
647
673
|
]
|
|
648
674
|
},
|
|
649
675
|
{
|
|
650
676
|
"name": "EnumValueOptions",
|
|
677
|
+
"syntax": "proto2",
|
|
651
678
|
"fields": [
|
|
652
679
|
{
|
|
653
680
|
"rule": "repeated",
|
|
@@ -657,12 +684,15 @@
|
|
|
657
684
|
}
|
|
658
685
|
],
|
|
659
686
|
"extensions": [
|
|
660
|
-
|
|
661
|
-
|
|
687
|
+
[
|
|
688
|
+
1000,
|
|
689
|
+
536870911
|
|
690
|
+
]
|
|
662
691
|
]
|
|
663
692
|
},
|
|
664
693
|
{
|
|
665
694
|
"name": "ServiceOptions",
|
|
695
|
+
"syntax": "proto2",
|
|
666
696
|
"fields": [
|
|
667
697
|
{
|
|
668
698
|
"rule": "repeated",
|
|
@@ -672,12 +702,15 @@
|
|
|
672
702
|
}
|
|
673
703
|
],
|
|
674
704
|
"extensions": [
|
|
675
|
-
|
|
676
|
-
|
|
705
|
+
[
|
|
706
|
+
1000,
|
|
707
|
+
536870911
|
|
708
|
+
]
|
|
677
709
|
]
|
|
678
710
|
},
|
|
679
711
|
{
|
|
680
712
|
"name": "MethodOptions",
|
|
713
|
+
"syntax": "proto2",
|
|
681
714
|
"fields": [
|
|
682
715
|
{
|
|
683
716
|
"rule": "repeated",
|
|
@@ -687,12 +720,15 @@
|
|
|
687
720
|
}
|
|
688
721
|
],
|
|
689
722
|
"extensions": [
|
|
690
|
-
|
|
691
|
-
|
|
723
|
+
[
|
|
724
|
+
1000,
|
|
725
|
+
536870911
|
|
726
|
+
]
|
|
692
727
|
]
|
|
693
728
|
},
|
|
694
729
|
{
|
|
695
730
|
"name": "UninterpretedOption",
|
|
731
|
+
"syntax": "proto2",
|
|
696
732
|
"fields": [
|
|
697
733
|
{
|
|
698
734
|
"rule": "repeated",
|
|
@@ -740,6 +776,7 @@
|
|
|
740
776
|
"messages": [
|
|
741
777
|
{
|
|
742
778
|
"name": "NamePart",
|
|
779
|
+
"syntax": "proto2",
|
|
743
780
|
"fields": [
|
|
744
781
|
{
|
|
745
782
|
"rule": "required",
|
|
@@ -759,6 +796,7 @@
|
|
|
759
796
|
},
|
|
760
797
|
{
|
|
761
798
|
"name": "SourceCodeInfo",
|
|
799
|
+
"syntax": "proto2",
|
|
762
800
|
"fields": [
|
|
763
801
|
{
|
|
764
802
|
"rule": "repeated",
|
|
@@ -770,6 +808,7 @@
|
|
|
770
808
|
"messages": [
|
|
771
809
|
{
|
|
772
810
|
"name": "Location",
|
|
811
|
+
"syntax": "proto2",
|
|
773
812
|
"fields": [
|
|
774
813
|
{
|
|
775
814
|
"rule": "repeated",
|
|
@@ -805,5 +844,6 @@
|
|
|
805
844
|
}
|
|
806
845
|
]
|
|
807
846
|
}
|
|
808
|
-
]
|
|
847
|
+
],
|
|
848
|
+
"isNamespace": true
|
|
809
849
|
}
|
|
File without changes
|
package/src/wrap.js
CHANGED
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* @license
|
|
18
|
+
* @license protobuf.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
|
|
19
19
|
* Released under the Apache License, Version 2.0
|
|
20
|
-
* see: https://github.com/dcodeIO/
|
|
20
|
+
* see: https://github.com/dcodeIO/protobuf.js for details
|
|
21
21
|
*/
|
|
22
22
|
(function(global, factory) {
|
|
23
23
|
|
|
24
24
|
/* AMD */ if (typeof define === 'function' && define["amd"])
|
|
25
|
-
define(["
|
|
25
|
+
define(["bytebuffer"], factory);
|
|
26
26
|
/* CommonJS */ else if (typeof require === "function" && typeof module === "object" && module && module["exports"])
|
|
27
27
|
module["exports"] = factory(require("bytebuffer"), true);
|
|
28
28
|
/* Global */ else
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
})(this, function(ByteBuffer, isCommonJS) {
|
|
32
32
|
"use strict";
|
|
33
33
|
|
|
34
|
-
//? include("
|
|
34
|
+
//? include("protobuf.js");
|
|
35
35
|
|
|
36
36
|
return ProtoBuf;
|
|
37
37
|
});
|
package/tests/complex.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "Game.Cars",
|
|
3
|
+
"syntax": "proto2",
|
|
3
4
|
"messages": [
|
|
4
5
|
{
|
|
5
6
|
"name": "Car",
|
|
7
|
+
"syntax": "proto2",
|
|
6
8
|
"fields": [
|
|
7
9
|
{
|
|
8
10
|
"rule": "required",
|
|
@@ -29,6 +31,7 @@
|
|
|
29
31
|
"messages": [
|
|
30
32
|
{
|
|
31
33
|
"name": "Vendor",
|
|
34
|
+
"syntax": "proto2",
|
|
32
35
|
"fields": [
|
|
33
36
|
{
|
|
34
37
|
"rule": "required",
|
|
@@ -52,6 +55,7 @@
|
|
|
52
55
|
"messages": [
|
|
53
56
|
{
|
|
54
57
|
"name": "Address",
|
|
58
|
+
"syntax": "proto2",
|
|
55
59
|
"fields": [
|
|
56
60
|
{
|
|
57
61
|
"rule": "required",
|
|
@@ -65,6 +69,7 @@
|
|
|
65
69
|
},
|
|
66
70
|
{
|
|
67
71
|
"name": "Holder",
|
|
72
|
+
"syntax": "proto2",
|
|
68
73
|
"fields": [
|
|
69
74
|
{
|
|
70
75
|
"rule": "optional",
|
|
@@ -90,6 +95,7 @@
|
|
|
90
95
|
"enums": [
|
|
91
96
|
{
|
|
92
97
|
"name": "Speed",
|
|
98
|
+
"syntax": "proto2",
|
|
93
99
|
"values": [
|
|
94
100
|
{
|
|
95
101
|
"name": "FAST",
|
|
@@ -103,5 +109,6 @@
|
|
|
103
109
|
}
|
|
104
110
|
]
|
|
105
111
|
}
|
|
106
|
-
]
|
|
112
|
+
],
|
|
113
|
+
"isNamespace": true
|
|
107
114
|
}
|
package/tests/suite.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
(function(global) {
|
|
22
22
|
|
|
23
|
-
var FILE = "
|
|
23
|
+
var FILE = "protobuf.js";
|
|
24
24
|
var BROWSER = !!global.window;
|
|
25
25
|
var StdOutFixture = require('fixture-stdout');
|
|
26
26
|
var fixture = new StdOutFixture();
|
|
@@ -263,6 +263,36 @@
|
|
|
263
263
|
test.deepEqual(t2, t3);
|
|
264
264
|
test.done();
|
|
265
265
|
},
|
|
266
|
+
|
|
267
|
+
"constructorWithOneofs": function(test) {
|
|
268
|
+
try {
|
|
269
|
+
var builder = ProtoBuf.loadProtoFile(__dirname+"/oneof.proto"),
|
|
270
|
+
MyOneOf = builder.build("MyOneOf"),
|
|
271
|
+
TOneOf = builder.lookup(".MyOneOf");
|
|
272
|
+
test.ok(TOneOf.getChild("my_oneof"));
|
|
273
|
+
|
|
274
|
+
var myOneOf = new MyOneOf();
|
|
275
|
+
test.strictEqual(myOneOf.my_oneof, null);
|
|
276
|
+
myOneOf.set("id", 1);
|
|
277
|
+
test.strictEqual(myOneOf.my_oneof, "id");
|
|
278
|
+
myOneOf.set("name", "me");
|
|
279
|
+
test.strictEqual(myOneOf.my_oneof, "name");
|
|
280
|
+
test.strictEqual(myOneOf.id, null);
|
|
281
|
+
|
|
282
|
+
var copy = new MyOneOf(myOneOf); // this line is what was failing
|
|
283
|
+
// Error: .MyOneOf#my_oneof is not a field: undefined
|
|
284
|
+
|
|
285
|
+
test.deepEqual(myOneOf, copy);
|
|
286
|
+
|
|
287
|
+
// Test same things are there
|
|
288
|
+
test.strictEqual(copy.my_oneof, "name");
|
|
289
|
+
test.strictEqual(copy.name, "me");
|
|
290
|
+
test.strictEqual(copy.id, null);
|
|
291
|
+
} catch (e) {
|
|
292
|
+
fail(e);
|
|
293
|
+
}
|
|
294
|
+
test.done();
|
|
295
|
+
},
|
|
266
296
|
|
|
267
297
|
"numberFormats": function(test) {
|
|
268
298
|
try {
|
|
@@ -396,7 +426,7 @@
|
|
|
396
426
|
try {
|
|
397
427
|
var builder = ProtoBuf.loadProto("message Image { required bytes data = 1; }"),
|
|
398
428
|
Image = builder.build("Image"),
|
|
399
|
-
data = fs.readFileSync(__dirname+"/../
|
|
429
|
+
data = fs.readFileSync(__dirname+"/../protobuf.png"),
|
|
400
430
|
image = new Image({ data: data }),
|
|
401
431
|
bb = image.encode(),
|
|
402
432
|
imageDec = Image.decode(bb),
|
|
@@ -674,6 +704,18 @@
|
|
|
674
704
|
test.done();
|
|
675
705
|
},
|
|
676
706
|
|
|
707
|
+
// Test error messages
|
|
708
|
+
"errorMessage": function(test) {
|
|
709
|
+
test.throws(function() {
|
|
710
|
+
var builder = ProtoBuf.loadJsonFile(__dirname+"/complex.json");
|
|
711
|
+
var Game = builder.build("Game");
|
|
712
|
+
var car = new Game.Cars.Car();
|
|
713
|
+
car.speed = "hello";
|
|
714
|
+
car.encode();
|
|
715
|
+
}, /Illegal value for speed/);
|
|
716
|
+
test.done();
|
|
717
|
+
},
|
|
718
|
+
|
|
677
719
|
// Builder reused to add definitions from multiple sources
|
|
678
720
|
"multiBuilder": function(test) {
|
|
679
721
|
try {
|
|
@@ -914,6 +956,19 @@
|
|
|
914
956
|
test.done();
|
|
915
957
|
},
|
|
916
958
|
|
|
959
|
+
"weakImports": function(test) {
|
|
960
|
+
try {
|
|
961
|
+
var builder = ProtoBuf.loadProtoFile(__dirname+"/imports-weak.proto");
|
|
962
|
+
var root = builder.build();
|
|
963
|
+
} catch (e) {
|
|
964
|
+
test.ok(e.message.indexOf("unresolvable type reference") >= 0);
|
|
965
|
+
test.done();
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
968
|
+
var e = new Error("Weak import was imported.");
|
|
969
|
+
fail(e);
|
|
970
|
+
},
|
|
971
|
+
|
|
917
972
|
"importExtensions": function(test) {
|
|
918
973
|
var x = "package x; \
|
|
919
974
|
message Test { \
|
|
@@ -1046,82 +1101,51 @@
|
|
|
1046
1101
|
"extend": function(test) {
|
|
1047
1102
|
try {
|
|
1048
1103
|
var ast = new ProtoBuf.DotProto.Parser(fs.readFileSync(__dirname+"/extend.proto")).parse();
|
|
1049
|
-
test.deepEqual(ast,
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
"name": "Foo",
|
|
1095
|
-
"fields": [],
|
|
1096
|
-
"enums": [],
|
|
1097
|
-
"messages": [],
|
|
1098
|
-
"options": {},
|
|
1099
|
-
"oneofs": []
|
|
1100
|
-
},
|
|
1101
|
-
{
|
|
1102
|
-
"ref": ".Foo",
|
|
1103
|
-
"fields": [
|
|
1104
|
-
{
|
|
1105
|
-
"rule": "optional",
|
|
1106
|
-
"options": {},
|
|
1107
|
-
"type": "Foo",
|
|
1108
|
-
"name": "foo",
|
|
1109
|
-
"id": 3
|
|
1110
|
-
}
|
|
1111
|
-
]
|
|
1112
|
-
}
|
|
1113
|
-
],
|
|
1114
|
-
"options": {},
|
|
1115
|
-
"oneofs": []
|
|
1116
|
-
}
|
|
1117
|
-
],
|
|
1118
|
-
"enums": [],
|
|
1119
|
-
"imports": [
|
|
1120
|
-
"google/protobuf/descriptor.proto"
|
|
1121
|
-
],
|
|
1122
|
-
"options": {},
|
|
1123
|
-
"services": []
|
|
1124
|
-
});
|
|
1104
|
+
test.deepEqual(ast, { package: null,
|
|
1105
|
+
messages:
|
|
1106
|
+
[ { ref: 'google.protobuf.MessageOptions',
|
|
1107
|
+
fields:
|
|
1108
|
+
[ { rule: 'optional',
|
|
1109
|
+
type: 'int32',
|
|
1110
|
+
name: 'foo',
|
|
1111
|
+
options: {},
|
|
1112
|
+
id: 1001 } ] },
|
|
1113
|
+
{ name: 'Foo',
|
|
1114
|
+
fields: [],
|
|
1115
|
+
enums: [],
|
|
1116
|
+
messages: [],
|
|
1117
|
+
options: {},
|
|
1118
|
+
services: [],
|
|
1119
|
+
oneofs: {},
|
|
1120
|
+
extensions: [ [ 2, 536870911 ] ] },
|
|
1121
|
+
{ ref: 'Foo',
|
|
1122
|
+
fields:
|
|
1123
|
+
[ { rule: 'optional',
|
|
1124
|
+
type: 'string',
|
|
1125
|
+
name: 'bar',
|
|
1126
|
+
options: {},
|
|
1127
|
+
id: 2 } ] },
|
|
1128
|
+
{ name: 'Bar',
|
|
1129
|
+
fields: [],
|
|
1130
|
+
enums: [],
|
|
1131
|
+
messages:
|
|
1132
|
+
[ { name: 'Foo',
|
|
1133
|
+
fields: [],
|
|
1134
|
+
enums: [],
|
|
1135
|
+
messages: [],
|
|
1136
|
+
options: {},
|
|
1137
|
+
services: [],
|
|
1138
|
+
oneofs: {} },
|
|
1139
|
+
{ ref: '.Foo',
|
|
1140
|
+
fields: [ { rule: 'optional', type: 'Foo', name: 'foo', options: {}, id: 3 } ] } ],
|
|
1141
|
+
options: {},
|
|
1142
|
+
services: [],
|
|
1143
|
+
oneofs: {} } ],
|
|
1144
|
+
enums: [],
|
|
1145
|
+
imports: [ 'google/protobuf/descriptor.proto' ],
|
|
1146
|
+
options: {},
|
|
1147
|
+
services: [] }
|
|
1148
|
+
);
|
|
1125
1149
|
|
|
1126
1150
|
var builder = ProtoBuf.loadProtoFile(__dirname+"/extend.proto");
|
|
1127
1151
|
var TFoo = builder.lookup(".Foo"),
|
|
@@ -1133,8 +1157,8 @@
|
|
|
1133
1157
|
test.strictEqual(fields[0].id, 2);
|
|
1134
1158
|
test.strictEqual(fields[1].name, ".Bar.foo");
|
|
1135
1159
|
test.strictEqual(fields[1].id, 3);
|
|
1136
|
-
test.deepEqual(TFoo.extensions, [2, ProtoBuf.ID_MAX]); //
|
|
1137
|
-
test.
|
|
1160
|
+
test.deepEqual(TFoo.extensions, [[2, ProtoBuf.ID_MAX]]); // explicitly defined
|
|
1161
|
+
test.strictEqual(TBar.extensions, undefined); // none defined
|
|
1138
1162
|
test.deepEqual(TBar.getChild("foo"), { builder: builder, parent: TBar, name: "foo", field: TFoo.getChild('.Bar.foo') });
|
|
1139
1163
|
test.strictEqual(TBar.getChildren(ProtoBuf.Reflect.Message.Field).length, 0);
|
|
1140
1164
|
var root = builder.build();
|
|
@@ -1272,7 +1296,8 @@
|
|
|
1272
1296
|
},
|
|
1273
1297
|
|
|
1274
1298
|
// Properly ignore "syntax" and "extensions" keywords
|
|
1275
|
-
|
|
1299
|
+
// The corresponding .proto file has been removed upon request
|
|
1300
|
+
/* "gtfs-realtime": function(test) {
|
|
1276
1301
|
try {
|
|
1277
1302
|
test.doesNotThrow(function() {
|
|
1278
1303
|
ProtoBuf.loadProtoFile(__dirname+"/gtfs-realtime.proto");
|
|
@@ -1281,7 +1306,7 @@
|
|
|
1281
1306
|
fail(e);
|
|
1282
1307
|
}
|
|
1283
1308
|
test.done();
|
|
1284
|
-
},
|
|
1309
|
+
}, */
|
|
1285
1310
|
|
|
1286
1311
|
"delimited": function(test) {
|
|
1287
1312
|
try {
|
package/.npmignore
DELETED
package/ProtoBuf.png
DELETED
|
Binary file
|