func()

in schema/v1/oci_reference.go [35:61]


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

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

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

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

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

	*j = OCIReference(plain)
	return nil
}