@@ -32,15 +32,11 @@ type enum16 uint16
3232
3333type mp map [int ]int
3434
35- func (m mp ) HasKey (key any ) bool {
36- intKey , ok := key .(int )
37- if ! ok {
38- return false
39- }
40- _ , ok = m [intKey ]
35+ func (m mp ) HasKey (key int ) bool {
36+ _ , ok := m [key ]
4137 return ok
4238}
43- func (m mp ) HasValue (check record.MapValueComparator ) (bool , error ) {
39+ func (m mp ) HasValue (check record.MapValueComparator [ int ] ) (bool , error ) {
4440 for _ , value := range m {
4541 res , err := check .Compare (value )
4642 if nil != err {
@@ -53,9 +49,9 @@ func (m mp) HasValue(check record.MapValueComparator) (bool, error) {
5349 return false , nil
5450}
5551
56- type mapValueComparator func (item any ) (bool , error )
52+ type mapValueComparator func (item int ) (bool , error )
5753
58- func (e mapValueComparator ) Compare (item any ) (bool , error ) {
54+ func (e mapValueComparator ) Compare (item int ) (bool , error ) {
5955 return e (item )
6056}
6157
@@ -103,9 +99,9 @@ var ifaceGetter = record.Getter[*user, any]{
10399 Get : func (item * user ) any { return item .iface },
104100}
105101
106- var mapGetter = record.MapGetter [* user ]{
102+ var mapGetter = record.MapGetter [* user , int , int ]{
107103 Field : fields .New ("map" ),
108- Get : func (item * user ) record.Map { return item .mp },
104+ Get : func (item * user ) record.Map [ int , int ] { return item .mp },
109105}
110106
111107var setGetter = record.SetGetter [* user , int ]{
@@ -767,31 +763,31 @@ func TestComparators(t *testing.T) { //nolint:maintidx
767763 comparator : NewMapFieldComparator [* user ](
768764 where .MapHasValue ,
769765 mapGetter ,
770- mapValueComparator (func (item any ) (bool , error ) {
771- return item .( int ) == 8 , nil
766+ mapValueComparator (func (item int ) (bool , error ) {
767+ return item == 8 , nil
772768 }),
773769 ),
774770 expectedResult : true ,
775771 expectedCmp : where .MapHasValue ,
776772 expectedField : "map" ,
777- expectedValues : []any {mapValueComparator (func (item any ) (bool , error ) {
778- return item .( int ) == 8 , nil
773+ expectedValues : []any {mapValueComparator (func (item int ) (bool , error ) {
774+ return item == 8 , nil
779775 })},
780776 },
781777 {
782778 name : "MapHasValue 10" ,
783779 comparator : NewMapFieldComparator [* user ](
784780 where .MapHasValue ,
785781 mapGetter ,
786- mapValueComparator (func (item any ) (bool , error ) {
787- return item .( int ) == 10 , nil
782+ mapValueComparator (func (item int ) (bool , error ) {
783+ return item == 10 , nil
788784 }),
789785 ),
790786 expectedResult : false ,
791787 expectedCmp : where .MapHasValue ,
792788 expectedField : "map" ,
793- expectedValues : []any {mapValueComparator (func (item any ) (bool , error ) {
794- return item .( int ) == 10 , nil
789+ expectedValues : []any {mapValueComparator (func (item int ) (bool , error ) {
790+ return item == 10 , nil
795791 })},
796792 },
797793 {
@@ -807,15 +803,15 @@ func TestComparators(t *testing.T) { //nolint:maintidx
807803 name : "MapHasValue error" ,
808804 comparator : NewMapFieldComparator [* user ](
809805 where .MapHasValue , mapGetter ,
810- mapValueComparator (func (item any ) (bool , error ) {
806+ mapValueComparator (func (item int ) (bool , error ) {
811807 return false , errors .New ("comparator error" )
812808 }),
813809 ),
814810 expectedResult : false ,
815811 expectedError : errors .New ("comparator error" ),
816812 expectedCmp : where .MapHasValue ,
817813 expectedField : "map" ,
818- expectedValues : []any {mapValueComparator (func (item any ) (bool , error ) {
814+ expectedValues : []any {mapValueComparator (func (item int ) (bool , error ) {
819815 return false , errors .New ("comparator error" )
820816 })},
821817 },
0 commit comments