Skip to content

Commit 547afa2

Browse files
authored
Merge pull request #2029 from protobufjs/protobufEditionsWork
feat: add feature resolution for protobuf editions
2 parents 19e1fef + 23c8ab9 commit 547afa2

15 files changed

+926
-11802
lines changed

cli/package-lock.json

+86-784
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

index.d.ts

+24-2
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,21 @@ export class Enum extends ReflectionObject {
179179
/** Values options, if any */
180180
public valuesOptions?: { [k: string]: { [k: string]: any } };
181181

182+
/** Resolved values features, if any */
183+
public _valuesFeatures?: { [k: string]: { [k: string]: any } };
184+
185+
/** Unresolved values features, if any */
186+
public _valuesProtoFeatures?: { [k: string]: { [k: string]: any } };
187+
182188
/** Reserved ranges, if any. */
183189
public reserved: (number[]|string)[];
184190

191+
/**
192+
* Resolves value features
193+
* @returns `this`
194+
*/
195+
public resolve(): Enum;
196+
185197
/**
186198
* Constructs an enum from an enum descriptor.
187199
* @param name Enum name
@@ -877,6 +889,12 @@ export abstract class ReflectionObject {
877889
/** Unique name within its namespace. */
878890
public name: string;
879891

892+
/** Resolved Features. */
893+
public _features: any;
894+
895+
/** Unresolved Features. */
896+
public _protoFeatures: any;
897+
880898
/** Parent namespace. */
881899
public parent: (Namespace|null);
882900

@@ -919,6 +937,9 @@ export abstract class ReflectionObject {
919937
*/
920938
public resolve(): ReflectionObject;
921939

940+
/** Resolves child features from parent features */
941+
public _resolveFeatures(): void;
942+
922943
/**
923944
* Gets an option value.
924945
* @param name Option name
@@ -1255,7 +1276,7 @@ export class Root extends NamespaceBase {
12551276

12561277
/**
12571278
* Loads a namespace descriptor into a root namespace.
1258-
* @param json Nameespace descriptor
1279+
* @param json Namespace descriptor
12591280
* @param [root] Root namespace, defaults to create a new one if omitted
12601281
* @returns Root namespace
12611282
*/
@@ -2194,9 +2215,10 @@ export namespace util {
21942215
* @param dst Destination object
21952216
* @param path dot '.' delimited path of the property to set
21962217
* @param value the value to set
2218+
* @param overWrite whether or not to concatenate the values into an array or overwrite; defaults to false.
21972219
* @returns Destination object
21982220
*/
2199-
function setProperty(dst: { [k: string]: any }, path: string, value: object): { [k: string]: any };
2221+
function setProperty(dst: { [k: string]: any }, path: string, value: object, overWrite: boolean): { [k: string]: any };
22002222

22012223
/** Decorator root (TypeScript). */
22022224
let decorateRoot: Root;

0 commit comments

Comments
 (0)