A structured, intelligent foundation for building queryable, entity-aware Go systems.
Common: Shared utilities and helper functions used across multiple modules. Installation:
go get github.com/entiqon/common
Database: Modular SQL query builder focused on database operations. Installation: go get github.com/entiqon/db
Future modules such as core, auth, http, and others will be added following the modular architecture.
-
Never panic — always return a token or builder, errors are embedded not thrown.
-
Auditability — preserve user input for logs and error context.
-
Strict validation — invalid expressions rejected early.
-
Delegation — tokens own parsing/validation, builders compose them.
-
Layered validation —
ResolveExpressionenforces correctness in three independent stages:- Type validation: only raw strings are accepted; existing tokens (Field, Table, etc.) are rejected with
guidance to use
Clone(). - Classification: expressions are categorized (
Identifier,Function,Aggregate,Subquery,Literal, etc.) by syntax. - Resolution: each category applies its own rules for parsing and alias validation.
This separation keeps the API strict, predictable, and auditable without duplicating rules across layers.
- Type validation: only raw strings are accepted; existing tokens (Field, Table, etc.) are rejected with
guidance to use
- 🧼 Clarity over brevity — use explicit method names
- 🚫 Deprecations are tested and clearly marked
- 🔐 Validate every path — no silent failures
- 🧩 Always quote identifiers through the dialect
- 📐 Chain → Validate → Compile
- 🧠 Tag errors with
StageToken - ⚙️ Compose with safe abstractions
- 📂 Group test methods visually
We welcome contributions! 🎉
Please read the CONTRIBUTING.md guide for details on:
- Writing tests
- Commit message conventions
- Documentation updates
- Release process
For a quick checklist, see PULL_REQUEST_TEMPLATE.md.
💡 Originally created by Isidro Lopez 🏢 Maintained by the Entiqon Organization
MIT — © Isidro Lopez / Entiqon Project
