@russ-b/nestjs-common-tools
Version:
NestJS utility tools
50 lines (49 loc) • 1.3 kB
TypeScript
export declare enum FieldLabel {
OPTIONAL = "LABEL_OPTIONAL",
REQUIRED = "LABEL_REQUIRED",
REPEATED = "LABEL_REPEATED"
}
export declare enum FieldType {
DOUBLE = "TYPE_DOUBLE",
FLOAT = "TYPE_FLOAT",
INT32 = "TYPE_INT32",
UINT32 = "TYPE_UINT32",
INT64 = "TYPE_INT64",
UINT64 = "TYPE_UINT64",
FIXED64 = "TYPE_FIXED64",
FIXED32 = "TYPE_FIXED32",
BOOL = "TYPE_BOOL",
STRING = "TYPE_STRING",
GROUP = "TYPE_GROUP",
MESSAGE = "TYPE_MESSAGE",
BYTES = "TYPE_BYTES",
ENUM = "TYPE_ENUM",
SFIXED32 = "TYPE_SFIXED32",
SFIXED64 = "TYPE_SFIXED64",
SINT32 = "TYPE_SINT32",
SINT64 = "TYPE_SINT64"
}
export interface FieldOptions {
deprecated?: boolean;
packed?: boolean;
customOptions?: Record<string, unknown>;
}
export interface IFieldDescriptor {
name: string;
extendee: string;
number: number;
label: FieldLabel;
type: FieldType;
typeName: string;
defaultValue: string | number | boolean;
options: FieldOptions;
oneofIndex: number;
jsonName: string;
}
export type MessageDefinitionMap = ReadonlyMap<string, ReadonlyArray<IFieldDescriptor>>;
export interface IMessageDefinition {
field: IFieldDescriptor[];
}
export interface IMessageDescriptor {
type: IMessageDefinition;
}