move gotd fork into repo. (#111)
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
package gen
|
||||
|
||||
import "flag"
|
||||
|
||||
// GenerateFlags is flags for optional generation.
|
||||
type GenerateFlags struct {
|
||||
// Client enables client generation.
|
||||
Client bool
|
||||
// Registry enables type ID registry generation.
|
||||
Registry bool
|
||||
// Server enables experimental server generation.
|
||||
Server bool
|
||||
// Handlers enables update handler generation.
|
||||
Handlers bool
|
||||
// UpdatesClassifier enables updates classifier generation.
|
||||
UpdatesClassifier bool
|
||||
// GetSet enables getters and setters generation.
|
||||
GetSet bool
|
||||
// Mapping enables mapping helpers generation.
|
||||
Mapping bool
|
||||
// Slices enables slice helpers generation.
|
||||
Slices bool
|
||||
// TDLibJSON enables TDLib API JSON encoders and decoders generation.
|
||||
TDLibJSON bool
|
||||
}
|
||||
|
||||
// RegisterFlags registers GenerateFlags fields in given flag set.
|
||||
func (s *GenerateFlags) RegisterFlags(set *flag.FlagSet) {
|
||||
set.BoolVar(&s.Client, "client", true, "Enables client generation")
|
||||
set.BoolVar(&s.Registry, "registry", true, "Enables type ID registry generation")
|
||||
set.BoolVar(&s.Server, "server", false, "Enables experimental server generation")
|
||||
set.BoolVar(&s.Handlers, "handlers", false, "Enables update handler generation")
|
||||
set.BoolVar(&s.UpdatesClassifier, "updates-classifier", true, "Enables updates classifier generation")
|
||||
set.BoolVar(&s.GetSet, "getset", true, "Enables getters and setters generation")
|
||||
set.BoolVar(&s.Mapping, "mapping", false, "Enables mapping helpers generation")
|
||||
set.BoolVar(&s.Slices, "slices", false, "Enables slice helpers generation")
|
||||
set.BoolVar(&s.TDLibJSON, "tdlib-json", false, "Enables TDLib JSON encoding generation")
|
||||
}
|
||||
|
||||
// GeneratorOptions is a Generator options structure.
|
||||
type GeneratorOptions struct {
|
||||
// DocBaseURL is a documentation base URL.
|
||||
// If DocBaseURL is set, Generator will embed documentation references to generated code.
|
||||
//
|
||||
// If base is https://core.telegram.org, documentation content will be also
|
||||
// embedded.
|
||||
DocBaseURL string
|
||||
// DocLineLimit sets GoDoc comment line length limit.
|
||||
DocLineLimit int
|
||||
GenerateFlags
|
||||
}
|
||||
|
||||
// RegisterFlags registers GeneratorOptions fields in given flag set.
|
||||
func (s *GeneratorOptions) RegisterFlags(set *flag.FlagSet) {
|
||||
set.StringVar(&s.DocBaseURL, "doc", "", "Base documentation url")
|
||||
set.IntVar(&s.DocLineLimit, "line-limit", 0, "GoDoc comment line length limit")
|
||||
s.GenerateFlags.RegisterFlags(set)
|
||||
}
|
||||
|
||||
func (s *GeneratorOptions) setDefaults() {
|
||||
// Zero value DocBaseURL handled by NewGenerator.
|
||||
// It's okay to use zero value GenerateClient.
|
||||
// It's okay to use zero value GenerateRegistry.
|
||||
// It's okay to use zero value GenerateServer.
|
||||
// It's okay to use zero value GenerateHelpers.
|
||||
// It's okay to use zero value GenerateSlices.
|
||||
if s.DocLineLimit == 0 {
|
||||
s.DocLineLimit = 87
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user