code.pfad.fr/gohmekit@v0.2.1/cmd/generate/categories.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  	"strconv"
     6  )
     7  
     8  func writeCategories(cc []Category) error {
     9  	f, err := os.Create("discovery/apple_category_gen.go")
    10  	if err != nil {
    11  		return err
    12  	}
    13  	defer f.Close()
    14  
    15  	_, err = f.WriteString(`// Code generated by cmd/generate/main.go; DO NOT EDIT.
    16  
    17  package discovery
    18  
    19  type Category uint16
    20  
    21  const (
    22  `)
    23  	if err != nil {
    24  		return err
    25  	}
    26  
    27  	for _, c := range cc {
    28  		txt := "	" + camelCase(c.Name) + " = Category(" + strconv.Itoa(c.Category) + ")\n"
    29  		_, err = f.WriteString(txt)
    30  		if err != nil {
    31  			return err
    32  		}
    33  	}
    34  	_, err = f.WriteString(")\n")
    35  	if err != nil {
    36  		return err
    37  	}
    38  
    39  	if err = f.Close(); err != nil {
    40  		return err
    41  	}
    42  	return nil
    43  }