func (s stack) length() int {
	return len(s.items)
}
length returns the length of the stack.
package goql
import (
	"strings"
	"unicode"
)
var specialStrings = map[string]string{
	"ID": "id",
}
func toLowerCamelCase(in string) string {
	if in == "" {
		return in
	}
	if out, found := specialStrings[in]; found {
		return out
	}
	var sb strings.Builder
	sb.Grow(len(in))
	sb.WriteRune(unicode.ToLower(rune(in[0])))
	var capNextRune bool
	for _, r := range in[1:] {
		if !unicode.IsLetter(r) {
			if unicode.IsSpace(r) || strings.ContainsRune("-_.", r) {
				capNextRune = true
				continue  
			}
		}
		if capNextRune {
			sb.WriteRune(unicode.ToUpper(r))
			capNextRune = false
			continue
		}
		sb.WriteRune(r)
	}
	return sb.String()
}
type stack struct {
	items []*field
}