1
0
Эх сурвалжийг харах

Properly marshal imageType, resizingType and gravityType

DarthSim 5 жил өмнө
parent
commit
7c13bdad11

+ 9 - 0
image_type.go

@@ -78,6 +78,15 @@ func (it imageType) String() string {
 	return ""
 	return ""
 }
 }
 
 
+func (it imageType) MarshalJSON() ([]byte, error) {
+	for k, v := range imageTypes {
+		if v == it {
+			return []byte(fmt.Sprintf("%q", k)), nil
+		}
+	}
+	return []byte("null"), nil
+}
+
 func (it imageType) Mime() string {
 func (it imageType) Mime() string {
 	if mime, ok := mimes[it]; ok {
 	if mime, ok := mimes[it]; ok {
 		return mime
 		return mime

+ 18 - 0
processing_options.go

@@ -152,6 +152,15 @@ func (gt gravityType) String() string {
 	return ""
 	return ""
 }
 }
 
 
+func (gt gravityType) MarshalJSON() ([]byte, error) {
+	for k, v := range gravityTypes {
+		if v == gt {
+			return []byte(fmt.Sprintf("%q", k)), nil
+		}
+	}
+	return []byte("null"), nil
+}
+
 func (rt resizeType) String() string {
 func (rt resizeType) String() string {
 	for k, v := range resizeTypes {
 	for k, v := range resizeTypes {
 		if v == rt {
 		if v == rt {
@@ -161,6 +170,15 @@ func (rt resizeType) String() string {
 	return ""
 	return ""
 }
 }
 
 
+func (rt resizeType) MarshalJSON() ([]byte, error) {
+	for k, v := range resizeTypes {
+		if v == rt {
+			return []byte(fmt.Sprintf("%q", k)), nil
+		}
+	}
+	return []byte("null"), nil
+}
+
 var (
 var (
 	_newProcessingOptions    processingOptions
 	_newProcessingOptions    processingOptions
 	newProcessingOptionsOnce sync.Once
 	newProcessingOptionsOnce sync.Once