7a04f298d2
- 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
42 lines
985 B
Go
42 lines
985 B
Go
package gen
|
|
|
|
func generateSliceHelper(s structDef) bool {
|
|
return len(s.Fields) > 0 && !s.Vector && s.Method == ""
|
|
}
|
|
|
|
type simpleField struct {
|
|
Name string
|
|
Type string
|
|
Conditional bool
|
|
}
|
|
|
|
func (s simpleField) match(f fieldDef) bool {
|
|
return f.Name == s.Name && f.Type == s.Type && f.Conditional == s.Conditional
|
|
}
|
|
|
|
func collectOnlyFields(fields []fieldDef, matchers ...simpleField) []fieldDef {
|
|
return filterFieldsTo(fields, nil, func(f fieldDef) bool {
|
|
for _, matcher := range matchers {
|
|
if matcher.match(f) {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
})
|
|
}
|
|
|
|
func mapCollectableFields(fields []fieldDef) (r []fieldDef) {
|
|
return collectOnlyFields(fields,
|
|
simpleField{Name: "ID", Type: "int"},
|
|
simpleField{Name: "ID", Type: "int64"},
|
|
)
|
|
}
|
|
|
|
func sortableFields(fields []fieldDef) (r []fieldDef) {
|
|
return collectOnlyFields(fields,
|
|
simpleField{Name: "ID", Type: "int"},
|
|
simpleField{Name: "ID", Type: "int64"},
|
|
simpleField{Name: "Date", Type: "int"},
|
|
)
|
|
}
|