Add enum message parsing
This commit is contained in:
@@ -6,6 +6,7 @@ export enum MessageTypeEnum {
|
||||
Map = 'map',
|
||||
Object = 'object',
|
||||
Raw = 'raw',
|
||||
Enum = 'enum',
|
||||
}
|
||||
|
||||
export interface StringMessage extends MessageConfiguration {
|
||||
@@ -34,6 +35,10 @@ export interface ObjectMessage extends MessageConfiguration {
|
||||
|
||||
export interface RawMessage extends MessageConfiguration {}
|
||||
|
||||
export interface EnumMessage extends MessageConfiguration {
|
||||
options: string[];
|
||||
}
|
||||
|
||||
export interface MessageConfiguration {
|
||||
type: MessageTypeEnum;
|
||||
}
|
||||
@@ -76,17 +81,29 @@ export const ObjectMessage = (messageDefinition: ProtoMessage) => ({
|
||||
|
||||
export const RawMessage = (): RawMessage => ({ type: MessageTypeEnum.Raw });
|
||||
|
||||
export const EnumMessage = (options: string[]) => ({
|
||||
type: MessageTypeEnum.Enum,
|
||||
options,
|
||||
});
|
||||
|
||||
export interface ProtoMessageField {
|
||||
name: string;
|
||||
configuration: MessageConfiguration;
|
||||
value: any;
|
||||
}
|
||||
|
||||
export interface ProtoMessage {
|
||||
export interface ProtoBase {
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface ProtoMessage extends ProtoBase {
|
||||
values: ProtoMessageField[];
|
||||
}
|
||||
|
||||
export interface ProtoEnum extends ProtoBase {
|
||||
options: string[];
|
||||
}
|
||||
|
||||
export const UnknownProto = (name: string): ProtoMessage => ({
|
||||
name,
|
||||
values: [{ name: 'Raw JSON', configuration: RawMessage(), value: '' }],
|
||||
|
||||
Reference in New Issue
Block a user