Releases: thefabric-io/specifications
Releases · thefabric-io/specifications
Initial Public Release (v0.1.0)
This is the first public release of the Go specifications package, providing a clean and flexible approach to defining and composing domain-driven query criteria. The package implements a visitor-based Specification pattern, allowing you to:
- Define conditions using
Equal
,NotEqual
,GreaterThan
,LowerThan
,Like
,In
,Between
, and others. - Combine multiple specs with logical operators (
And
,Or
). - Apply query modifiers like
Limit
,Offset
, andOrderBy
. - Keep domain logic separate from database schema details by using conceptual field names in the domain layer and mapping them to actual columns in the repository layer.
- Translate specifications into executable PostgreSQL queries via the included
postgres
visitor.
Highlights in v0.1.0:
- Core
Specification
andSpecificationVisitor
interfaces. - Common conditions (Equal, In, Like, GreaterThan/LowerThan, NotEqual).
- Support for logical composition (And, Or).
- Basic query modifiers: Limit, Offset, OrderBy.
- PostgreSQL visitor with parameterized query generation.
- Example usage patterns and recommended project structure included in the README.
This initial release aims to gather feedback, test real-world integration, and pave the way toward a stable v1.0.0
release. Your contributions, issues, and PRs are welcome!