Skip to content

Enumall is a tool to automate the creation of all const values for given type (enum)

License

Notifications You must be signed in to change notification settings

tomaspavlic/enumall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enumall

Go

Enumall is a tool to automate the creation of all const values for given type (enum).

Installation

enumall is installable command line application.

go install github.com/tomaspavlic/enumall

Usage

Add Go's code generator comment to use enumall.

//go:generate go run github.com/tomaspavlic/enumall@latest -type=Season

type Season uint8

const (
    Spring Season = 1 << iota
    Summer
    Autumn
    Winter
)

Run code generator inside your module.

go generate ./...

Generated code is named {$typeName}_all.go. Variable containing all const values is All{$typeName}

// Code generated by "enumall -type=Season"; DO NOT EDIT.

package main

var AllSeason = []Season{
	Spring,
	Summer,
	Autumn,
	Winter,
}

About

Enumall is a tool to automate the creation of all const values for given type (enum)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages