func()

in schema/v1/git_reference.go [38:60]


func (j *GitReference) UnmarshalJSON(b []byte) error {
	var raw map[string]interface{}
	if err := json.Unmarshal(b, &raw); err != nil {
		return err
	}

	if _, ok := raw["rev"]; raw != nil && !ok {
		return fmt.Errorf("field rev in git: required")
	}

	if _, ok := raw["url"]; raw != nil && !ok {
		return fmt.Errorf("field url in git: required")
	}

	type Plain GitReference
	var plain Plain
	if err := json.Unmarshal(b, &plain); err != nil {
		return err
	}

	*j = GitReference(plain)
	return nil
}