Skip to content

Releases: thefabric-io/specifications

Initial Public Release (v0.1.0)

19 Dec 06:12
Compare
Choose a tag to compare

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, and OrderBy.
  • 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 and SpecificationVisitor 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!