github.com/maeglindeveloper/gqlgen@v0.13.1-0.20210413081235-57808b12a0a0/graphql/map.go (about)

     1  package graphql
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  	"io"
     7  )
     8  
     9  func MarshalMap(val map[string]interface{}) Marshaler {
    10  	return WriterFunc(func(w io.Writer) {
    11  		err := json.NewEncoder(w).Encode(val)
    12  		if err != nil {
    13  			panic(err)
    14  		}
    15  	})
    16  }
    17  
    18  func UnmarshalMap(v interface{}) (map[string]interface{}, error) {
    19  	if m, ok := v.(map[string]interface{}); ok {
    20  		return m, nil
    21  	}
    22  
    23  	return nil, fmt.Errorf("%T is not a map", v)
    24  }