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.
Files changed (80) hide show
  1. package/.travis.yml +3 -1
  2. package/README.md +147 -25
  3. package/bin/pbjs +2 -2
  4. package/bower.json +3 -3
  5. package/cli/pbjs/targets/amd.js +1 -1
  6. package/cli/pbjs/targets/json.js +9 -1
  7. package/cli/pbjs/targets/proto.js +48 -24
  8. package/cli/pbjs/util.js +1 -1
  9. package/cli/pbjs.js +9 -2
  10. package/dist/README.md +10 -10
  11. package/dist/{ProtoBuf-light.js → protobuf-light.js} +92 -37
  12. package/dist/protobuf-light.min.js +94 -0
  13. package/dist/protobuf-light.min.js.gz +0 -0
  14. package/dist/protobuf-light.min.map +8 -0
  15. package/dist/{ProtoBuf.js → protobuf.js} +150 -60
  16. package/dist/protobuf.min.js +116 -0
  17. package/dist/protobuf.min.js.gz +0 -0
  18. package/dist/protobuf.min.map +8 -0
  19. package/docs/ProtoBuf.Builder.Message.html +106 -37
  20. package/docs/ProtoBuf.Builder.Service.html +9 -9
  21. package/docs/ProtoBuf.Builder.html +22 -22
  22. package/docs/ProtoBuf.DotProto.Parser.html +7 -7
  23. package/docs/ProtoBuf.DotProto.Tokenizer.html +11 -11
  24. package/docs/ProtoBuf.DotProto.html +2 -2
  25. package/docs/ProtoBuf.Map.html +6 -6
  26. package/docs/ProtoBuf.Reflect.Element.html +104 -8
  27. package/docs/ProtoBuf.Reflect.Enum.Value.html +10 -10
  28. package/docs/ProtoBuf.Reflect.Enum.html +21 -21
  29. package/docs/ProtoBuf.Reflect.Extension.html +3 -3
  30. package/docs/ProtoBuf.Reflect.Message.ExtensionField.html +29 -29
  31. package/docs/ProtoBuf.Reflect.Message.Field.html +28 -28
  32. package/docs/ProtoBuf.Reflect.Message.OneOf.html +10 -10
  33. package/docs/ProtoBuf.Reflect.Message.html +31 -28
  34. package/docs/ProtoBuf.Reflect.Namespace.html +19 -19
  35. package/docs/ProtoBuf.Reflect.Service.Method.html +11 -11
  36. package/docs/ProtoBuf.Reflect.Service.RPCMethod.html +17 -17
  37. package/docs/ProtoBuf.Reflect.Service.html +20 -20
  38. package/docs/ProtoBuf.Reflect.T.html +9 -9
  39. package/docs/ProtoBuf.Reflect.html +2 -2
  40. package/docs/ProtoBuf.Util.html +6 -6
  41. package/docs/ProtoBuf.html +28 -28
  42. package/docs/ProtoBuf.js.html +151 -61
  43. package/docs/index.html +1 -1
  44. package/donate.png +0 -0
  45. package/examples/websocket/server.js +4 -4
  46. package/externs/{ProtoBuf.js → protobuf.js} +25 -14
  47. package/index.js +1 -18
  48. package/jsdoc.json +1 -1
  49. package/package.json +11 -11
  50. package/protobuf.png +0 -0
  51. package/scripts/build.js +5 -10
  52. package/src/ProtoBuf/Builder/Message.js +17 -8
  53. package/src/ProtoBuf/Builder/Service.js +3 -0
  54. package/src/ProtoBuf/Builder.js +34 -10
  55. package/src/ProtoBuf/DotProto/Parser.js +58 -23
  56. package/src/ProtoBuf/Lang.js +2 -2
  57. package/src/ProtoBuf/Reflect/Element.js +17 -4
  58. package/src/ProtoBuf/Reflect/Message/Field.js +6 -5
  59. package/src/ProtoBuf/Reflect/Message.js +9 -4
  60. package/src/{bower.json → bower.json.in} +2 -2
  61. package/src/google/protobuf/descriptor.json +55 -15
  62. package/src/{ProtoBuf.js → protobuf.js} +0 -0
  63. package/src/wrap.js +4 -4
  64. package/tests/complex.json +8 -1
  65. package/tests/imports-weak.proto +7 -0
  66. package/tests/suite.js +107 -82
  67. package/.npmignore +0 -3
  68. package/ProtoBuf.png +0 -0
  69. package/dist/ProtoBuf-light.min.js +0 -87
  70. package/dist/ProtoBuf-light.min.js.gz +0 -0
  71. package/dist/ProtoBuf-light.min.map +0 -8
  72. package/dist/ProtoBuf.min.js +0 -108
  73. package/dist/ProtoBuf.min.js.gz +0 -0
  74. package/dist/ProtoBuf.min.map +0 -8
  75. package/examples/protoify/.npmignore +0 -2
  76. package/examples/websocket/.npmignore +0 -3
  77. package/externs/ByteBuffer.js +0 -767
  78. package/externs/Long.js +0 -328
  79. package/tests/gtfs-realtime.proto +0 -552
  80. 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
- 1000,
488
- 536870911
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
- 1000,
540
- 536870911
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
- 1000,
603
- 536870911
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
- 1000,
646
- 536870911
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
- 1000,
661
- 536870911
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
- 1000,
676
- 536870911
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
- 1000,
691
- 536870911
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 ProtoBuf.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
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/ProtoBuf.js for details
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(["ByteBuffer"], factory);
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("ProtoBuf.js");
34
+ //? include("protobuf.js");
35
35
 
36
36
  return ProtoBuf;
37
37
  });
@@ -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
  }
@@ -0,0 +1,7 @@
1
+ package My;
2
+
3
+ import weak "example1.proto";
4
+
5
+ message Test2 {
6
+ required Test1 test1 = 1;
7
+ }
package/tests/suite.js CHANGED
@@ -20,7 +20,7 @@
20
20
  */
21
21
  (function(global) {
22
22
 
23
- var FILE = "ProtoBuf.js";
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+"/../ProtoBuf.png"),
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
- "package": null,
1051
- "messages": [
1052
- {
1053
- "ref": "google.protobuf.MessageOptions",
1054
- "fields": [
1055
- {
1056
- "rule": "optional",
1057
- "options": {},
1058
- "type": "int32",
1059
- "name": "foo",
1060
- "id": 1001
1061
- }
1062
- ]
1063
- },
1064
- {
1065
- "name": "Foo",
1066
- "fields": [],
1067
- "enums": [],
1068
- "messages": [],
1069
- "options": {},
1070
- "extensions": [
1071
- 2,
1072
- 536870911
1073
- ],
1074
- "oneofs": []
1075
- },
1076
- {
1077
- "ref": "Foo",
1078
- "fields":[
1079
- {
1080
- "rule": "optional",
1081
- "options": {},
1082
- "type": "string",
1083
- "name": "bar",
1084
- "id": 2
1085
- }
1086
- ]
1087
- },
1088
- {
1089
- "name": "Bar",
1090
- "fields": [],
1091
- "enums": [],
1092
- "messages": [
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]); // Defined
1137
- test.deepEqual(TBar.extensions, [ProtoBuf.ID_MIN, ProtoBuf.ID_MAX]); // Undefined
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
- "gtfs-realtime": function(test) {
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
@@ -1,3 +0,0 @@
1
- .idea
2
- node_modules/
3
- npm-debug.log
package/ProtoBuf.png DELETED
Binary file