Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| README.md | ||
| reflect.go | ||
reflectx
The sqlx package has special reflect needs. In particular, it needs to:
- be able to map a name to a field
- understand embedded structs
- understand mapping names to fields by a particular tag
- user specified name -> field mapping functions
These behaviors mimic the behaviors by the standard library marshallers and also the behavior of standard Go accessors.
The first two are amply taken care of by Reflect.Value.FieldByName, and the third is
addressed by Reflect.Value.FieldByNameFunc, but these don't quite understand struct
tags in the ways that are vital to most marshallers, and they are slow.
This reflectx package extends reflect to achieve these goals.