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,63 @@
|
||||
// Package gen implements code generation from TL schema.
|
||||
package gen
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"path"
|
||||
"strings"
|
||||
"unicode"
|
||||
)
|
||||
|
||||
func cloneURL(u *url.URL) *url.URL {
|
||||
if u == nil {
|
||||
return nil
|
||||
}
|
||||
u2 := new(url.URL)
|
||||
*u2 = *u
|
||||
if u.User != nil {
|
||||
u2.User = new(url.Userinfo)
|
||||
*u2.User = *u.User
|
||||
}
|
||||
return u2
|
||||
}
|
||||
|
||||
func (g *Generator) docURL(parts ...string) string {
|
||||
if g.docBase == nil {
|
||||
return ""
|
||||
}
|
||||
|
||||
u := cloneURL(g.docBase)
|
||||
u.Path = path.Join(append([]string{u.Path}, parts...)...)
|
||||
|
||||
return u.String()
|
||||
}
|
||||
|
||||
func splitLine(s string, limit int) (r []string) {
|
||||
for {
|
||||
if len(s) < limit {
|
||||
r = append(r, s)
|
||||
return
|
||||
}
|
||||
|
||||
idx := strings.LastIndexFunc(s[:limit], func(r rune) bool {
|
||||
return unicode.IsSpace(r) || r == '.' || r == ','
|
||||
})
|
||||
if idx < 0 || len(s)-1 == idx {
|
||||
r = append(r, s)
|
||||
return
|
||||
}
|
||||
|
||||
r = append(r, s[:idx])
|
||||
s = s[idx+1:]
|
||||
}
|
||||
}
|
||||
|
||||
func splitLines(s []string, limit int) []string {
|
||||
r := make([]string, 0, len(s))
|
||||
|
||||
for _, line := range s {
|
||||
r = append(r, splitLine(line, limit)...)
|
||||
}
|
||||
|
||||
return r
|
||||
}
|
||||
Reference in New Issue
Block a user