mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	github.com/golang/protobuf v1.2.0
This commit is contained in:
		
							
								
								
									
										60
									
								
								vendor/github.com/golang/protobuf/jsonpb/jsonpb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										60
									
								
								vendor/github.com/golang/protobuf/jsonpb/jsonpb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -106,6 +106,9 @@ func defaultResolveAny(typeUrl string) (proto.Message, error) {
 | 
			
		||||
// way they are marshaled to JSON. Messages that implement this should
 | 
			
		||||
// also implement JSONPBUnmarshaler so that the custom format can be
 | 
			
		||||
// parsed.
 | 
			
		||||
//
 | 
			
		||||
// The JSON marshaling must follow the proto to JSON specification:
 | 
			
		||||
//	https://developers.google.com/protocol-buffers/docs/proto3#json
 | 
			
		||||
type JSONPBMarshaler interface {
 | 
			
		||||
	MarshalJSONPB(*Marshaler) ([]byte, error)
 | 
			
		||||
}
 | 
			
		||||
@@ -114,6 +117,9 @@ type JSONPBMarshaler interface {
 | 
			
		||||
// the way they are unmarshaled from JSON. Messages that implement this
 | 
			
		||||
// should also implement JSONPBMarshaler so that the custom format can be
 | 
			
		||||
// produced.
 | 
			
		||||
//
 | 
			
		||||
// The JSON unmarshaling must follow the JSON to proto specification:
 | 
			
		||||
//	https://developers.google.com/protocol-buffers/docs/proto3#json
 | 
			
		||||
type JSONPBUnmarshaler interface {
 | 
			
		||||
	UnmarshalJSONPB(*Unmarshaler, []byte) error
 | 
			
		||||
}
 | 
			
		||||
@@ -565,6 +571,7 @@ func (m *Marshaler) marshalValue(out *errWriter, prop *proto.Properties, v refle
 | 
			
		||||
				out.write(m.Indent)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// TODO handle map key prop properly
 | 
			
		||||
			b, err := json.Marshal(k.Interface())
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return err
 | 
			
		||||
@@ -586,7 +593,11 @@ func (m *Marshaler) marshalValue(out *errWriter, prop *proto.Properties, v refle
 | 
			
		||||
				out.write(` `)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if err := m.marshalValue(out, prop, v.MapIndex(k), indent+m.Indent); err != nil {
 | 
			
		||||
			vprop := prop
 | 
			
		||||
			if prop != nil && prop.MapValProp != nil {
 | 
			
		||||
				vprop = prop.MapValProp
 | 
			
		||||
			}
 | 
			
		||||
			if err := m.marshalValue(out, vprop, v.MapIndex(k), indent+m.Indent); err != nil {
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@@ -778,7 +789,7 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
 | 
			
		||||
 | 
			
		||||
			return nil
 | 
			
		||||
		case "Duration":
 | 
			
		||||
			unq, err := strconv.Unquote(string(inputValue))
 | 
			
		||||
			unq, err := unquote(string(inputValue))
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
@@ -795,7 +806,7 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
 | 
			
		||||
			target.Field(1).SetInt(ns)
 | 
			
		||||
			return nil
 | 
			
		||||
		case "Timestamp":
 | 
			
		||||
			unq, err := strconv.Unquote(string(inputValue))
 | 
			
		||||
			unq, err := unquote(string(inputValue))
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
@@ -842,7 +853,7 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
 | 
			
		||||
				target.Field(0).Set(reflect.ValueOf(&stpb.Value_NullValue{}))
 | 
			
		||||
			} else if v, err := strconv.ParseFloat(ivStr, 0); err == nil {
 | 
			
		||||
				target.Field(0).Set(reflect.ValueOf(&stpb.Value_NumberValue{v}))
 | 
			
		||||
			} else if v, err := strconv.Unquote(ivStr); err == nil {
 | 
			
		||||
			} else if v, err := unquote(ivStr); err == nil {
 | 
			
		||||
				target.Field(0).Set(reflect.ValueOf(&stpb.Value_StringValue{v}))
 | 
			
		||||
			} else if v, err := strconv.ParseBool(ivStr); err == nil {
 | 
			
		||||
				target.Field(0).Set(reflect.ValueOf(&stpb.Value_BoolValue{v}))
 | 
			
		||||
@@ -878,6 +889,9 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
 | 
			
		||||
			target.Set(reflect.New(targetType.Elem()))
 | 
			
		||||
			target = target.Elem()
 | 
			
		||||
		}
 | 
			
		||||
		if targetType.Kind() != reflect.Int32 {
 | 
			
		||||
			return fmt.Errorf("invalid target %q for enum %s", targetType.Kind(), prop.Enum)
 | 
			
		||||
		}
 | 
			
		||||
		target.SetInt(int64(n))
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
@@ -1007,16 +1021,22 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
 | 
			
		||||
					k = reflect.ValueOf(ks)
 | 
			
		||||
				} else {
 | 
			
		||||
					k = reflect.New(targetType.Key()).Elem()
 | 
			
		||||
					// TODO: pass the correct Properties if needed.
 | 
			
		||||
					if err := u.unmarshalValue(k, json.RawMessage(ks), nil); err != nil {
 | 
			
		||||
					var kprop *proto.Properties
 | 
			
		||||
					if prop != nil && prop.MapKeyProp != nil {
 | 
			
		||||
						kprop = prop.MapKeyProp
 | 
			
		||||
					}
 | 
			
		||||
					if err := u.unmarshalValue(k, json.RawMessage(ks), kprop); err != nil {
 | 
			
		||||
						return err
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// Unmarshal map value.
 | 
			
		||||
				v := reflect.New(targetType.Elem()).Elem()
 | 
			
		||||
				// TODO: pass the correct Properties if needed.
 | 
			
		||||
				if err := u.unmarshalValue(v, raw, nil); err != nil {
 | 
			
		||||
				var vprop *proto.Properties
 | 
			
		||||
				if prop != nil && prop.MapValProp != nil {
 | 
			
		||||
					vprop = prop.MapValProp
 | 
			
		||||
				}
 | 
			
		||||
				if err := u.unmarshalValue(v, raw, vprop); err != nil {
 | 
			
		||||
					return err
 | 
			
		||||
				}
 | 
			
		||||
				target.SetMapIndex(k, v)
 | 
			
		||||
@@ -1025,13 +1045,6 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 64-bit integers can be encoded as strings. In this case we drop
 | 
			
		||||
	// the quotes and proceed as normal.
 | 
			
		||||
	isNum := targetType.Kind() == reflect.Int64 || targetType.Kind() == reflect.Uint64
 | 
			
		||||
	if isNum && strings.HasPrefix(string(inputValue), `"`) {
 | 
			
		||||
		inputValue = inputValue[1 : len(inputValue)-1]
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Non-finite numbers can be encoded as strings.
 | 
			
		||||
	isFloat := targetType.Kind() == reflect.Float32 || targetType.Kind() == reflect.Float64
 | 
			
		||||
	if isFloat {
 | 
			
		||||
@@ -1041,10 +1054,25 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// integers & floats can be encoded as strings. In this case we drop
 | 
			
		||||
	// the quotes and proceed as normal.
 | 
			
		||||
	isNum := targetType.Kind() == reflect.Int64 || targetType.Kind() == reflect.Uint64 ||
 | 
			
		||||
		targetType.Kind() == reflect.Int32 || targetType.Kind() == reflect.Uint32 ||
 | 
			
		||||
		targetType.Kind() == reflect.Float32 || targetType.Kind() == reflect.Float64
 | 
			
		||||
	if isNum && strings.HasPrefix(string(inputValue), `"`) {
 | 
			
		||||
		inputValue = inputValue[1 : len(inputValue)-1]
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Use the encoding/json for parsing other value types.
 | 
			
		||||
	return json.Unmarshal(inputValue, target.Addr().Interface())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func unquote(s string) (string, error) {
 | 
			
		||||
	var ret string
 | 
			
		||||
	err := json.Unmarshal([]byte(s), &ret)
 | 
			
		||||
	return ret, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// jsonProperties returns parsed proto.Properties for the field and corrects JSONName attribute.
 | 
			
		||||
func jsonProperties(f reflect.StructField, origName bool) *proto.Properties {
 | 
			
		||||
	var prop proto.Properties
 | 
			
		||||
@@ -1094,6 +1122,8 @@ func (s mapKeys) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
 | 
			
		||||
func (s mapKeys) Less(i, j int) bool {
 | 
			
		||||
	if k := s[i].Kind(); k == s[j].Kind() {
 | 
			
		||||
		switch k {
 | 
			
		||||
		case reflect.String:
 | 
			
		||||
			return s[i].String() < s[j].String()
 | 
			
		||||
		case reflect.Int32, reflect.Int64:
 | 
			
		||||
			return s[i].Int() < s[j].Int()
 | 
			
		||||
		case reflect.Uint32, reflect.Uint64:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user