• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

shamcode / simd / 11717383737

07 Nov 2024 05:49AM UTC coverage: 75.128% (+0.4%) from 74.687%
11717383737

push

github

shamcode
Constructor for ComparableFieldComparator

6 of 7 new or added lines in 3 files covered. (85.71%)

1912 of 2545 relevant lines covered (75.13%)

37.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/examples/wrap-query-builder/query_builder.go
1
package main
2

3
import (
4
        "github.com/shamcode/simd/query"
5
        "github.com/shamcode/simd/record"
6
        "github.com/shamcode/simd/sort"
7
        "github.com/shamcode/simd/where"
8
        "github.com/shamcode/simd/where/comparators"
9
)
10

11
type UserQueryBuilder interface { //nolint:interfacebloat
12
        Limit(limitItems int) UserQueryBuilder
13
        Offset(startOffset int) UserQueryBuilder
14
        Not() UserQueryBuilder
15
        Or() UserQueryBuilder
16
        OpenBracket() UserQueryBuilder
17
        CloseBracket() UserQueryBuilder
18

19
        WhereID(condition where.ComparatorType, id ...int64) UserQueryBuilder
20
        WhereName(condition where.ComparatorType, name ...string) UserQueryBuilder
21
        WhereStatus(condition where.ComparatorType, status ...Status) UserQueryBuilder
22

23
        Sort(by sort.ByWithOrder[*User]) UserQueryBuilder
24
        MakeCopy() UserQueryBuilder
25
        Query() query.Query[*User]
26
}
27

28
type userQueryBuilder struct {
29
        builder query.BuilderGeneric[*User]
30
}
31

32
func (uq userQueryBuilder) Limit(limitItems int) UserQueryBuilder {
×
33
        uq.builder.Limit(limitItems)
×
34
        return uq
×
35
}
×
36

37
func (uq userQueryBuilder) Offset(startOffset int) UserQueryBuilder {
×
38
        uq.builder.Offset(startOffset)
×
39
        return uq
×
40
}
×
41

42
func (uq userQueryBuilder) Not() UserQueryBuilder {
×
43
        uq.builder.Not()
×
44
        return uq
×
45
}
×
46

47
func (uq userQueryBuilder) Or() UserQueryBuilder {
×
48
        uq.builder.Or()
×
49
        return uq
×
50
}
×
51

52
func (uq userQueryBuilder) OpenBracket() UserQueryBuilder {
×
53
        uq.builder.OpenBracket()
×
54
        return uq
×
55
}
×
56

57
func (uq userQueryBuilder) CloseBracket() UserQueryBuilder {
×
58
        uq.builder.CloseBracket()
×
59
        return uq
×
60
}
×
61

62
func (uq userQueryBuilder) WhereID(condition where.ComparatorType, value ...int64) UserQueryBuilder {
×
NEW
63
        uq.builder.AddWhere(comparators.NewComparableFieldComparator[*User, int64](condition, id, value...))
×
64
        return uq
×
65
}
×
66

67
func (uq userQueryBuilder) WhereName(condition where.ComparatorType, value ...string) UserQueryBuilder {
×
68
        uq.builder.AddWhere(comparators.NewStringFieldComparator[*User](condition, name, value...))
×
69
        return uq
×
70
}
×
71

72
func (uq userQueryBuilder) WhereStatus(condition where.ComparatorType, value ...Status) UserQueryBuilder {
×
73
        enums := make([]record.Enum[uint8], len(value))
×
74
        for i, x := range value {
×
75
                enums[i] = x
×
76
        }
×
77
        uq.builder.AddWhere(comparators.NewEnumFieldComparator[*User, uint8](condition, status, enums...))
×
78
        return uq
×
79
}
80

81
func (uq userQueryBuilder) Sort(by sort.ByWithOrder[*User]) UserQueryBuilder {
×
82
        uq.builder.Sort(by)
×
83
        return uq
×
84
}
×
85

86
func (uq userQueryBuilder) MakeCopy() UserQueryBuilder {
×
87
        return &userQueryBuilder{
×
88
                builder: uq.builder.MakeCopy(),
×
89
        }
×
90
}
×
91

92
func (uq userQueryBuilder) Query() query.Query[*User] {
×
93
        return uq.builder.Query()
×
94
}
×
95

96
func NewUserQueryBuilder(b query.BuilderGeneric[*User]) UserQueryBuilder {
×
97
        return userQueryBuilder{
×
98
                builder: b,
×
99
        }
×
100
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc