3 ms·
It's kind of strange to see them complain about enums and then promote a DSL-specific tool they made for generating enums. At the same time, Go has generators
by llmblockchain 3y ago
It's kind of strange to see them complain about enums and then promote a DSL-specific tool they made for generating enums.
At the same time, Go has generators built in and can generate enum tables, enum to strings, and other things they have shown. I am unsure why they didn't do it the "Go" way.
- mkesper 3y agoThey complain that Go has no usable, type safe enum and then show a way to build them in Go.
- zarldev 3y agoDSL? The go way is to use go generate I would say and it can be used with go:generate, I would like to use the AST lib to parse go files to remove the need for any json and to be more like the cmd stringer tool.
- llmblockchain 3y agoYes. Your DSL is JSON in this case, { "enums": [ { "package": "cmd", "type": "operation", "values": [ "Escalated", "Archived", "Deleted", "Completed" ] } ] } My point was the "Go" way to do this isn't parsing a custom format (like your JSON), but it's to use go generate.
- zarldev 3y agoBut all go generate does is run a binary like stringer? This can be used in go generate.
- mariusor 3y agoI'm not sure I understand exactly what you mean, but you can combine go:generate with go run so you can execute code from the current module/project that does what you want. //go:generate go run ./internal/enumhelper -flag1 -flag2