package internalgengo

import (
	"fmt"
)

type condition = func(string) string

var (
	_ condition = notZero
	_ condition = notEmpty
	_ condition = identity
	_ condition = notNil
)

func notZero(name string) string {
	return fmt.Sprintf("%s != 0", name)
}

func notEmpty(name string) string {
	return fmt.Sprintf("len(%s) != 0", name)
}

func identity(name string) string {
	return name
}

func notNil(name string) string {
	return fmt.Sprintf("%s != nil", name)
}