ref: 7979dfca14134208fe237097f44a7a080e42b62f
dir: /libtroll.go/
package libtroll import ( "fmt" "os" "strconv" "time" "shithub.us/hexyl/libtroll/utils" ) type Type int64 type Program struct { name string typ Type out os.File backend Backend } func (p *Program) Init(b Backend) { timestamp := strconv.FormatInt(time.Now().UTC().UnixNano(), 10) tmp := fmt.Sprintf("%s-%s.src", p.name, timestamp) f, err := os.CreateTemp("", tmp) utils.Check(err) p.out = *f p.backend = b defer os.Remove(f.Name()) } func New(name string, typ Type) Program { tmpnew := Program{ name: name, typ: typ, } return tmpnew }