package jsonchecks

import (
	"fmt"

	"github.com/hashicorp/terraform/internal/checks"
)

type checkStatus []byte

func checkStatusForJSON(s checks.Status) checkStatus {
	if ret, ok := checkStatuses[s]; ok {
		return ret
	}
	panic(fmt.Sprintf("unsupported check status %#v", s))
}

func (s checkStatus) MarshalJSON() ([]byte, error) {
	return []byte(s), nil
}

var checkStatuses = map[checks.Status]checkStatus{
	checks.StatusPass:    checkStatus(`"pass"`),
	checks.StatusFail:    checkStatus(`"fail"`),
	checks.StatusError:   checkStatus(`"error"`),
	checks.StatusUnknown: checkStatus(`"unknown"`),
}
