usage.go 600 B

1234567891011121314151617181920212223242526272829303132333435
  1. package rule
  2. import (
  3. "reflect"
  4. )
  5. type Field struct {
  6. FieldName string
  7. ColumnName string
  8. Type string
  9. }
  10. func DefaultUsage(e any) ([]Field, error) {
  11. fields := make([]Field, 0)
  12. err := UseTag(e, defaultCallback(&fields))
  13. if err != nil {
  14. return nil, err
  15. }
  16. return fields, nil
  17. }
  18. func defaultCallback(fields *[]Field) OnParsedFieldTagFunc {
  19. return func(fieldName string, entityFieldElemValue reflect.Value, tag *Tag) error {
  20. field := Field{
  21. FieldName: fieldName,
  22. ColumnName: tag.ColumnName,
  23. Type: tag.Type,
  24. }
  25. *fields = append(*fields, field)
  26. return nil
  27. }
  28. }