@@ -66,19 +66,19 @@ func (o *QueryOptions) UnmarshalJSON(b []byte) error {
6666 // Acquire pointer to the correct parameter type.
6767 var i interface {}
6868 switch qp .Type {
69- case "text" :
69+ case queryParameterTextTypeName :
7070 i = & QueryParameterText {}
71- case "number" :
71+ case queryParameterNumberTypeName :
7272 i = & QueryParameterNumber {}
73- case "enum" :
73+ case queryParameterEnumTypeName :
7474 i = & QueryParameterEnum {}
75- case "query" :
75+ case queryParameterQueryTypeName :
7676 i = & QueryParameterQuery {}
77- case "date" :
77+ case queryParameterDateTypeName :
7878 i = & QueryParameterDate {}
79- case "datetime-local" :
79+ case queryParameterDateTimeTypeName :
8080 i = & QueryParameterDateTime {}
81- case "datetime-with-seconds" :
81+ case queryParameterDateTimeSecTypeName :
8282 i = & QueryParameterDateTimeSec {}
8383 default :
8484 panic ("don't know what to do..." )
@@ -103,6 +103,17 @@ type QueryParameter struct {
103103 Type string `json:"type"`
104104}
105105
106+ // Valid type values.
107+ const (
108+ queryParameterTextTypeName = "text"
109+ queryParameterNumberTypeName = "number"
110+ queryParameterEnumTypeName = "enum"
111+ queryParameterQueryTypeName = "query"
112+ queryParameterDateTypeName = "date"
113+ queryParameterDateTimeTypeName = "datetime-local"
114+ queryParameterDateTimeSecTypeName = "datetime-with-seconds"
115+ )
116+
106117// QueryParameterText ...
107118type QueryParameterText struct {
108119 QueryParameter
@@ -112,7 +123,7 @@ type QueryParameterText struct {
112123
113124// MarshalJSON sets the type before marshaling.
114125func (p QueryParameterText ) MarshalJSON () ([]byte , error ) {
115- p .QueryParameter .Type = "text"
126+ p .QueryParameter .Type = queryParameterTextTypeName
116127 type localQueryParameter QueryParameterText
117128 return json .Marshal ((localQueryParameter )(p ))
118129}
@@ -126,7 +137,7 @@ type QueryParameterNumber struct {
126137
127138// MarshalJSON sets the type before marshaling.
128139func (p QueryParameterNumber ) MarshalJSON () ([]byte , error ) {
129- p .QueryParameter .Type = "number"
140+ p .QueryParameter .Type = queryParameterNumberTypeName
130141 type localQueryParameter QueryParameterNumber
131142 return json .Marshal ((localQueryParameter )(p ))
132143}
@@ -149,7 +160,7 @@ type QueryParameterEnum struct {
149160
150161// MarshalJSON sets the type before marshaling.
151162func (p QueryParameterEnum ) MarshalJSON () ([]byte , error ) {
152- p .QueryParameter .Type = "enum"
163+ p .QueryParameter .Type = queryParameterEnumTypeName
153164 type localQueryParameter QueryParameterEnum
154165 return json .Marshal ((localQueryParameter )(p ))
155166}
@@ -165,7 +176,7 @@ type QueryParameterQuery struct {
165176
166177// MarshalJSON sets the type before marshaling.
167178func (p QueryParameterQuery ) MarshalJSON () ([]byte , error ) {
168- p .QueryParameter .Type = "query"
179+ p .QueryParameter .Type = queryParameterQueryTypeName
169180 type localQueryParameter QueryParameterQuery
170181 return json .Marshal ((localQueryParameter )(p ))
171182}
@@ -179,7 +190,7 @@ type QueryParameterDate struct {
179190
180191// MarshalJSON sets the type before marshaling.
181192func (p QueryParameterDate ) MarshalJSON () ([]byte , error ) {
182- p .QueryParameter .Type = "date"
193+ p .QueryParameter .Type = queryParameterDateTypeName
183194 type localQueryParameter QueryParameterDate
184195 return json .Marshal ((localQueryParameter )(p ))
185196}
@@ -193,7 +204,7 @@ type QueryParameterDateTime struct {
193204
194205// MarshalJSON sets the type before marshaling.
195206func (p QueryParameterDateTime ) MarshalJSON () ([]byte , error ) {
196- p .QueryParameter .Type = "datetime-local"
207+ p .QueryParameter .Type = queryParameterDateTimeTypeName
197208 type localQueryParameter QueryParameterDateTime
198209 return json .Marshal ((localQueryParameter )(p ))
199210}
@@ -207,7 +218,7 @@ type QueryParameterDateTimeSec struct {
207218
208219// MarshalJSON sets the type before marshaling.
209220func (p QueryParameterDateTimeSec ) MarshalJSON () ([]byte , error ) {
210- p .QueryParameter .Type = "datetime-with-seconds"
221+ p .QueryParameter .Type = queryParameterDateTimeSecTypeName
211222 type localQueryParameter QueryParameterDateTimeSec
212223 return json .Marshal ((localQueryParameter )(p ))
213224}
0 commit comments