package builderimp import ( "github.com/tech/sendico/pkg/db/repository/builder" "go.mongodb.org/mongo-driver/bson" ) type arrayImp struct { elements []builder.Expression } // Build renders the literal array: // // [ , , … ] func (b *arrayImp) Build() bson.A { arr := make(bson.A, len(b.elements)) for i, expr := range b.elements { // each expr.Build() returns the raw value or sub‐expression arr[i] = expr.Build() } return arr } // NewArray constructs a new array expression from the given sub‐expressions. func NewArray(exprs ...builder.Expression) *arrayImp { return &arrayImp{elements: exprs} }