/
field_descriptor.go
76 lines (59 loc) · 1.66 KB
/
field_descriptor.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//
// This source file is part of the carousell/aggproto open source project
//
// Copyright © 2021 Carousell and the project authors
// Licensed under Apache License v2.0
//
// See https://github.com/carousell/aggproto/blob/master/LICENSE for license information
// See https://github.com/carousell/aggproto/graphs/contributors for the list of project authors
//
package dsl
type FieldDescriptor interface {
Input() InputFieldDescriptor
Output() OutputFieldDescriptor
}
type InputFieldDescriptor interface {
isInputFieldDescriptor()
}
type OutputFieldDescriptor interface {
isOutputFieldDescriptor()
}
type NamespacedMessageFieldDescriptor struct {
NamespacedField string
}
func (n *NamespacedMessageFieldDescriptor) isOutputFieldDescriptor() {
}
func (n *NamespacedMessageFieldDescriptor) isInputFieldDescriptor() {
}
type PrimitiveFieldDescriptor interface {
InputFieldDescriptor
isPrimitiveFieldDescriptor()
}
type StringValueFieldDescriptor struct {
Value string
}
func (s *StringValueFieldDescriptor) isInputFieldDescriptor() {
}
func (s *StringValueFieldDescriptor) isPrimitiveFieldDescriptor() {
}
type IntValueFieldDescriptor struct {
Value int64
}
func (i *IntValueFieldDescriptor) isInputFieldDescriptor() {
}
func (i *IntValueFieldDescriptor) isPrimitiveFieldDescriptor() {
}
type BoolValueFieldDescriptor struct {
Value bool
}
func (b *BoolValueFieldDescriptor) isInputFieldDescriptor() {
}
func (b *BoolValueFieldDescriptor) isPrimitiveFieldDescriptor() {
}
type FloatValueFieldDescriptor struct {
Value float64
}
func (f *FloatValueFieldDescriptor) isInputFieldDescriptor() {
}
func (f *FloatValueFieldDescriptor) isPrimitiveFieldDescriptor() {
}