Skip to content

Commit 773e634

Browse files
committed
Other: ext/descriptor docs; Other: Decorators coverage
1 parent 9a23ded commit 773e634

File tree

7 files changed

+117
-65
lines changed

7 files changed

+117
-65
lines changed

Diff for: ext/descriptor/index.d.ts

+31-3
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,30 @@ type FileDescriptorProtoProperties = {
1414
enumType?: EnumDescriptorProtoProperties[];
1515
service?: ServiceDescriptorProtoProperties[];
1616
extension?: FieldDescriptorProtoProperties[];
17-
options?: any;
17+
options?: FileOptionsProperties;
1818
sourceCodeInfo?: any;
1919
syntax?: string;
2020
};
2121

22+
type FileOptionsProperties = {
23+
javaPackage?: string;
24+
javaOuterClassname?: string;
25+
javaMultipleFiles?: boolean;
26+
javaGenerateEqualsAndHash?: boolean;
27+
javaStringCheckUtf8?: boolean;
28+
optimizeFor?: FileOptions_OptimizeMode;
29+
goPackage?: string;
30+
ccGenericServices?: boolean;
31+
javaGenericServices?: boolean;
32+
pyGenericServices?: boolean;
33+
deprecated?: boolean;
34+
ccEnableArenas?: boolean;
35+
objcClassPrefix?: string;
36+
csharpNamespace?: string;
37+
};
38+
39+
type FileOptions_OptimizeMode = number;
40+
2241
type DescriptorProtoProperties = {
2342
name?: string;
2443
field?: FieldDescriptorProtoProperties[];
@@ -84,6 +103,7 @@ type EnumValueDescriptorProtoProperties = {
84103

85104
type EnumOptionsProperties = {
86105
allowAlias?: boolean;
106+
deprecated?: boolean;
87107
};
88108

89109
type OneofDescriptorProtoProperties = {
@@ -94,18 +114,26 @@ type OneofDescriptorProtoProperties = {
94114
type ServiceDescriptorProtoProperties = {
95115
name?: string;
96116
method?: MethodDescriptorProtoProperties[];
97-
options?: any;
117+
options?: ServiceOptionsProperties;
118+
};
119+
120+
type ServiceOptionsProperties = {
121+
deprecated?: boolean;
98122
};
99123

100124
type MethodDescriptorProtoProperties = {
101125
name?: string;
102126
inputType?: string;
103127
outputType?: string;
104-
options?: any;
128+
options?: MethodOptionsProperties;
105129
clientStreaming?: boolean;
106130
serverStreaming?: boolean;
107131
};
108132

133+
type MethodOptionsProperties = {
134+
deprecated?: boolean;
135+
};
136+
109137
export const FileDescriptorSet: $protobuf.Type;
110138

111139
export const FileDescriptorProto: $protobuf.Type;

Diff for: ext/descriptor/index.js

+48-34
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ var Namespace = $protobuf.Namespace,
1919
* @typedef FileDescriptorSetProperties
2020
* @type {Object}
2121
* @property {FileDescriptorProtoProperties[]} file Files
22-
* @see Part of the {@link descriptor} extension (ext/descriptor)
2322
*/
2423

2524
/**
@@ -35,17 +34,44 @@ var Namespace = $protobuf.Namespace,
3534
* @property {EnumDescriptorProtoProperties[]} [enumType] Nested enums
3635
* @property {ServiceDescriptorProtoProperties[]} [service] Nested services
3736
* @property {FieldDescriptorProtoProperties[]} [extension] Nested extension fields
38-
* @property {*} [options] Not supported
37+
* @property {FileOptionsProperties} [options] Options
3938
* @property {*} [sourceCodeInfo] Not supported
4039
* @property {string} [syntax="proto2"] Syntax
41-
* @see Part of the {@link descriptor} extension (ext/descriptor)
40+
*/
41+
42+
/**
43+
* Properties of a FileOptions message.
44+
* @typedef FileOptionsProperties
45+
* @type {Object}
46+
* @property {string} [javaPackage]
47+
* @property {string} [javaOuterClassname]
48+
* @property {boolean} [javaMultipleFiles]
49+
* @property {boolean} [javaGenerateEqualsAndHash]
50+
* @property {boolean} [javaStringCheckUtf8]
51+
* @property {FileOptions_OptimizeMode} [optimizeFor=1]
52+
* @property {string} [goPackage]
53+
* @property {boolean} [ccGenericServices]
54+
* @property {boolean} [javaGenericServices]
55+
* @property {boolean} [pyGenericServices]
56+
* @property {boolean} [deprecated]
57+
* @property {boolean} [ccEnableArenas]
58+
* @property {string} [objcClassPrefix]
59+
* @property {string} [csharpNamespace]
60+
*/
61+
62+
/**
63+
* Values of he FileOptions.OptimizeMode enum.
64+
* @typedef FileOptions_OptimizeMode
65+
* @type {number}
66+
* @property {number} SPEED=1
67+
* @property {number} CODE_SIZE=2
68+
* @property {number} LITE_RUNTIME=3
4269
*/
4370

4471
/**
4572
* Creates a root from a descriptor set.
4673
* @param {FileDescriptorSetProperties|Reader|Uint8Array} descriptor Descriptor
4774
* @returns {Root} Root instance
48-
* @see Part of the {@link descriptor} extension (ext/descriptor)
4975
*/
5076
Root.fromDescriptor = function fromDescriptor(descriptor) {
5177

@@ -89,7 +115,6 @@ Root.fromDescriptor = function fromDescriptor(descriptor) {
89115
* Converts a root to a descriptor set.
90116
* @returns {Message<FileDescriptorSetProperties>} Descriptor
91117
* @param {string} [syntax="proto2"] Syntax
92-
* @see Part of the {@link descriptor} extension (ext/descriptor)
93118
*/
94119
Root.prototype.toDescriptor = function toDescriptor(syntax) {
95120
var set = exports.FileDescriptorSet.create();
@@ -144,15 +169,13 @@ function Root_toDescriptorRecursive(ns, files, syntax) {
144169
* @property {MessageOptionsProperties} [options] Not supported
145170
* @property {ReservedRangeProperties[]} [reservedRange] Reserved ranges
146171
* @property {string[]} [reservedName] Reserved names
147-
* @see Part of the {@link descriptor} extension (ext/descriptor)
148172
*/
149173

150174
/**
151175
* Properties of a MessageOptions message.
152176
* @typedef MessageOptionsProperties
153177
* @type {Object}
154178
* @property {boolean} [mapEntry=false] Whether this message is a map entry
155-
* @see Part of the {@link descriptor} extension (ext/descriptor)
156179
*/
157180

158181
/**
@@ -161,7 +184,6 @@ function Root_toDescriptorRecursive(ns, files, syntax) {
161184
* @type {Object}
162185
* @property {number} [start] Start field id
163186
* @property {number} [end] End field id
164-
* @see Part of the {@link descriptor} extension (ext/descriptor)
165187
*/
166188

167189
/**
@@ -170,7 +192,6 @@ function Root_toDescriptorRecursive(ns, files, syntax) {
170192
* @type {Object}
171193
* @property {number} [start] Start field id
172194
* @property {number} [end] End field id
173-
* @see Part of the {@link descriptor} extension (ext/descriptor)
174195
*/
175196

176197
var unnamedMessageIndex = 0;
@@ -180,7 +201,6 @@ var unnamedMessageIndex = 0;
180201
* @param {DescriptorProtoProperties|Reader|Uint8Array} descriptor Descriptor
181202
* @param {string} [syntax="proto2"] Syntax
182203
* @returns {Type} Type instance
183-
* @see Part of the {@link descriptor} extension (ext/descriptor)
184204
*/
185205
Type.fromDescriptor = function fromDescriptor(descriptor, syntax) {
186206

@@ -236,7 +256,6 @@ Type.fromDescriptor = function fromDescriptor(descriptor, syntax) {
236256
* Converts a type to a descriptor.
237257
* @returns {Message<DescriptorProtoProperties>} Descriptor
238258
* @param {string} [syntax="proto2"] Syntax
239-
* @see Part of the {@link descriptor} extension (ext/descriptor)
240259
*/
241260
Type.prototype.toDescriptor = function toDescriptor(syntax) {
242261
var descriptor = exports.DescriptorProto.create({ name: this.name }),
@@ -303,7 +322,6 @@ Type.prototype.toDescriptor = function toDescriptor(syntax) {
303322
* @property {number} [oneofIndex] Oneof index if part of a oneof
304323
* @property {*} [jsonName] Not supported
305324
* @property {FieldOptionsProperties} [options] Field options
306-
* @see Part of the {@link descriptor} extension (ext/descriptor)
307325
*/
308326

309327
/**
@@ -313,7 +331,6 @@ Type.prototype.toDescriptor = function toDescriptor(syntax) {
313331
* @property {number} LABEL_OPTIONAL=1
314332
* @property {number} LABEL_REQUIRED=2
315333
* @property {number} LABEL_REPEATED=3
316-
* @see Part of the {@link descriptor} extension (ext/descriptor)
317334
*/
318335

319336
/**
@@ -338,7 +355,6 @@ Type.prototype.toDescriptor = function toDescriptor(syntax) {
338355
* @property {number} TYPE_SFIXED64=16
339356
* @property {number} TYPE_SINT32=17
340357
* @property {number} TYPE_SINT64=18
341-
* @see Part of the {@link descriptor} extension (ext/descriptor)
342358
*/
343359

344360
/**
@@ -347,7 +363,6 @@ Type.prototype.toDescriptor = function toDescriptor(syntax) {
347363
* @type {Object}
348364
* @property {boolean} [packed] Whether packed or not (defaults to `false` for proto2 and `true` for proto3)
349365
* @property {FieldOptions_JSType} [jstype] JavaScript value type (not used by protobuf.js)
350-
* @see Part of the {@link descriptor} extension (ext/descriptor)
351366
*/
352367

353368
/**
@@ -364,7 +379,6 @@ Type.prototype.toDescriptor = function toDescriptor(syntax) {
364379
* @param {FieldDescriptorProtoProperties|Reader|Uint8Array} descriptor Descriptor
365380
* @param {string} [syntax="proto2"] Syntax
366381
* @returns {Field} Field instance
367-
* @see Part of the {@link descriptor} extension (ext/descriptor)
368382
*/
369383
Field.fromDescriptor = function fromDescriptor(descriptor, syntax) {
370384

@@ -414,7 +428,7 @@ Field.fromDescriptor = function fromDescriptor(descriptor, syntax) {
414428
default:
415429
var match = $protobuf.parse.numberRe.exec(defaultValue);
416430
if (match)
417-
defaultValue = parseInt(defaultValue);
431+
defaultValue = parseInt(defaultValue); // eslint-disable-line radix
418432
break;
419433
}
420434
field.setOption("default", defaultValue);
@@ -435,7 +449,6 @@ Field.fromDescriptor = function fromDescriptor(descriptor, syntax) {
435449
* Converts a field to a descriptor.
436450
* @returns {Message<FieldDescriptorProtoProperties>} Descriptor
437451
* @param {string} [syntax="proto2"] Syntax
438-
* @see Part of the {@link descriptor} extension (ext/descriptor)
439452
*/
440453
Field.prototype.toDescriptor = function toDescriptor(syntax) {
441454
var descriptor = exports.FieldDescriptorProto.create({ name: this.name, number: this.id });
@@ -498,7 +511,6 @@ Field.prototype.toDescriptor = function toDescriptor(syntax) {
498511
* @property {string} [name] Enum name
499512
* @property {EnumValueDescriptorProtoProperties[]} [value] Enum values
500513
* @property {EnumOptionsProperties} [options] Enum options
501-
* @see Part of the {@link descriptor} extension (ext/descriptor)
502514
*/
503515

504516
/**
@@ -508,15 +520,14 @@ Field.prototype.toDescriptor = function toDescriptor(syntax) {
508520
* @property {string} [name] Name
509521
* @property {number} [number] Value
510522
* @property {*} [options] Not supported
511-
* @see Part of the {@link descriptor} extension (ext/descriptor)
512523
*/
513524

514525
/**
515526
* Properties of an EnumOptions message.
516527
* @typedef EnumOptionsProperties
517528
* @type {Object}
518529
* @property {boolean} [allowAlias] Whether aliases are allowed
519-
* @see Part of the {@link descriptor} extension (ext/descriptor)
530+
* @property {boolean} [deprecated]
520531
*/
521532

522533
var unnamedEnumIndex = 0;
@@ -525,7 +536,6 @@ var unnamedEnumIndex = 0;
525536
* Creates an enum from a descriptor.
526537
* @param {EnumDescriptorProtoProperties|Reader|Uint8Array} descriptor Descriptor
527538
* @returns {Enum} Enum instance
528-
* @see Part of the {@link descriptor} extension (ext/descriptor)
529539
*/
530540
Enum.fromDescriptor = function fromDescriptor(descriptor) {
531541

@@ -552,7 +562,6 @@ Enum.fromDescriptor = function fromDescriptor(descriptor) {
552562
/**
553563
* Converts an enum to a descriptor.
554564
* @returns {Message<EnumDescriptorProtoProperties>} Descriptor
555-
* @see Part of the {@link descriptor} extension (ext/descriptor)
556565
*/
557566
Enum.prototype.toDescriptor = function toDescriptor() {
558567

@@ -576,7 +585,6 @@ Enum.prototype.toDescriptor = function toDescriptor() {
576585
* @type {Object}
577586
* @property {string} [name] Oneof name
578587
* @property {*} [options] Not supported
579-
* @see Part of the {@link descriptor} extension (ext/descriptor)
580588
*/
581589

582590
var unnamedOneofIndex = 0;
@@ -585,7 +593,6 @@ var unnamedOneofIndex = 0;
585593
* Creates a oneof from a descriptor.
586594
* @param {OneofDescriptorProtoProperties|Reader|Uint8Array} descriptor Descriptor
587595
* @returns {OneOf} OneOf instance
588-
* @see Part of the {@link descriptor} extension (ext/descriptor)
589596
*/
590597
OneOf.fromDescriptor = function fromDescriptor(descriptor) {
591598

@@ -603,7 +610,6 @@ OneOf.fromDescriptor = function fromDescriptor(descriptor) {
603610
/**
604611
* Converts a oneof to a descriptor.
605612
* @returns {Message<OneofDescriptorProtoProperties>} Descriptor
606-
* @see Part of the {@link descriptor} extension (ext/descriptor)
607613
*/
608614
OneOf.prototype.toDescriptor = function toDescriptor() {
609615
return exports.OneofDescriptorProto.create({
@@ -620,8 +626,14 @@ OneOf.prototype.toDescriptor = function toDescriptor() {
620626
* @type {Object}
621627
* @property {string} [name] Service name
622628
* @property {MethodDescriptorProtoProperties[]} [method] Methods
623-
* @property {*} [options] Not supported
624-
* @see Part of the {@link descriptor} extension (ext/descriptor)
629+
* @property {ServiceOptionsProperties} [options] Options
630+
*/
631+
632+
/**
633+
* Properties of a ServiceOptions message.
634+
* @typedef ServiceOptionsProperties
635+
* @type {Object}
636+
* @property {boolean} [deprecated]
625637
*/
626638

627639
var unnamedServiceIndex = 0;
@@ -630,7 +642,6 @@ var unnamedServiceIndex = 0;
630642
* Creates a service from a descriptor.
631643
* @param {ServiceDescriptorProtoProperties|Reader|Uint8Array} descriptor Descriptor
632644
* @returns {Service} Service instance
633-
* @see Part of the {@link descriptor} extension (ext/descriptor)
634645
*/
635646
Service.fromDescriptor = function fromDescriptor(descriptor) {
636647

@@ -649,7 +660,6 @@ Service.fromDescriptor = function fromDescriptor(descriptor) {
649660
/**
650661
* Converts a service to a descriptor.
651662
* @returns {Message<ServiceDescriptorProtoProperties>} Descriptor
652-
* @see Part of the {@link descriptor} extension (ext/descriptor)
653663
*/
654664
Service.prototype.toDescriptor = function toDescriptor() {
655665

@@ -674,10 +684,16 @@ Service.prototype.toDescriptor = function toDescriptor() {
674684
* @property {string} [name] Method name
675685
* @property {string} [inputType] Request type name
676686
* @property {string} [outputType] Response type name
677-
* @property {*} [options] Not supported
687+
* @property {MethodOptionsProperties} [options] Not supported
678688
* @property {boolean} [clientStreaming=false] Whether requests are streamed
679689
* @property {boolean} [serverStreaming=false] Whether responses are streamed
680-
* @see Part of the {@link descriptor} extension (ext/descriptor)
690+
*/
691+
692+
/**
693+
* Properties of a MethodOptions message.
694+
* @typedef MethodOptionsProperties
695+
* @type {Object}
696+
* @property {boolean} [deprecated]
681697
*/
682698

683699
var unnamedMethodIndex = 0;
@@ -686,7 +702,6 @@ var unnamedMethodIndex = 0;
686702
* Creates a method from a descriptor.
687703
* @param {MethodDescriptorProtoProperties|Reader|Uint8Array} descriptor Descriptor
688704
* @returns {Method} Reflected method instance
689-
* @see Part of the {@link descriptor} extension (ext/descriptor)
690705
*/
691706
Method.fromDescriptor = function fromDescriptor(descriptor) {
692707

@@ -709,7 +724,6 @@ Method.fromDescriptor = function fromDescriptor(descriptor) {
709724
/**
710725
* Converts a method to a descriptor.
711726
* @returns {Message<MethodDescriptorProtoProperties>} Descriptor
712-
* @see Part of the {@link descriptor} extension (ext/descriptor)
713727
*/
714728
Method.prototype.toDescriptor = function toDescriptor() {
715729
return exports.MethodDescriptorProto.create({

Diff for: ext/descriptor/test.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
var protobuf = require("../../"),
44
descriptor = require(".");
55

6-
var proto = require("../../google/protobuf/descriptor.json")/*{
6+
/* var proto = {
77
nested: {
88
Message: {
99
fields: {
@@ -25,7 +25,7 @@ var proto = require("../../google/protobuf/descriptor.json")/*{
2525
}
2626
}
2727
}
28-
}*/;
28+
}; */
2929

3030
// var root = protobuf.Root.fromJSON(proto).resolveAll();
3131
var root = protobuf.loadSync("tests/data/google/protobuf/descriptor.proto").resolveAll();
@@ -49,6 +49,6 @@ if (diff) {
4949
console.log("rhs:", typeof diff.rhs, diff.rhs);
5050
console.log();
5151
});
52-
process.exit(1);
52+
process.exitCode = 1;
5353
} else
5454
console.log("no differences");

0 commit comments

Comments
 (0)