func NewNullAttribute(attrName string) AttributeDefinition {
	return NewAttributeDefinitionFromType(attrName, AttributeTypeNull)
}
NewNullAttribute returns a table AttributeDefinition for null.
package dynamodb
import (
	SDK "github.com/aws/aws-sdk-go/service/dynamodb"
	"github.com/evalphobia/aws-sdk-go-wrapper/private/pointers"
)
type AttributeDefinition struct {
	Name string
	Type string
}
func NewAttributeDefinition(out *SDK.AttributeDefinition) AttributeDefinition {
	v := AttributeDefinition{}
	if out == nil {
		return v
	}
	if out.AttributeName != nil {
		v.Name = *out.AttributeName
	}
	if out.AttributeType != nil {
		v.Type = *out.AttributeType
	}
	return v
}
func NewAttributeDefinitionFromType(name, typ string) AttributeDefinition {
	return AttributeDefinition{
		Name: name,
		Type: typ,
	}
}
func (d AttributeDefinition) IsEmpty() bool {
	switch {
	case d.Name != "",
		d.Type != "":
		return false
	}
	return true
}
func (d AttributeDefinition) ToSDKType() *SDK.AttributeDefinition {
	if d.IsEmpty() {
		return nil
	}
	return &SDK.AttributeDefinition{
		AttributeName: pointers.String(d.Name),
		AttributeType: pointers.String(d.Type),
	}
}
func NewAttributeDefinitionList(list []*SDK.AttributeDefinition) []AttributeDefinition {
	if len(list) == 0 {
		return nil
	}
	result := make([]AttributeDefinition, len(list))
	for i, out := range list {
		result[i] = NewAttributeDefinition(out)
	}
	return result
}
func NewStringAttribute(attrName string) AttributeDefinition {
	return NewAttributeDefinitionFromType(attrName, AttributeTypeString)
}
func NewNumberAttribute(attrName string) AttributeDefinition {
	return NewAttributeDefinitionFromType(attrName, AttributeTypeNumber)
}
func NewByteAttribute(attrName string) AttributeDefinition {
	return NewAttributeDefinitionFromType(attrName, AttributeTypeBinary)
}
func NewBoolAttribute(attrName string) AttributeDefinition {
	return NewAttributeDefinitionFromType(attrName, AttributeTypeBool)
}