From 72fed29cd86ee84f172a1f3c1e98242e7fec0048 Mon Sep 17 00:00:00 2001 From: sxwebdev Date: Sun, 18 Feb 2024 06:34:54 +0300 Subject: [PATCH] typed field mask --- pkg/db/dbutils/field_mask.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/db/dbutils/field_mask.go b/pkg/db/dbutils/field_mask.go index 5ca3d23..1c35289 100644 --- a/pkg/db/dbutils/field_mask.go +++ b/pkg/db/dbutils/field_mask.go @@ -2,11 +2,11 @@ package dbutils import "slices" -type FieldMask []string +type FieldMask[T ~string] []T -func (s *FieldMask) Add(items ...string) []string { +func (s *FieldMask[T]) Add(items ...T) []T { if s == nil { - *s = make([]string, 0) + *s = make([]T, 0) } if len(items) == 0 { @@ -22,17 +22,17 @@ func (s *FieldMask) Add(items ...string) []string { return *s } -func (s FieldMask) Items() []string { +func (s FieldMask[T]) Items() []T { if s == nil { - return FieldMask{} + return FieldMask[T]{} } return s } -func (s FieldMask) Len() int { +func (s FieldMask[T]) Len() int { return len(s) } -func (s FieldMask) Contains(v string) bool { +func (s FieldMask[T]) Contains(v T) bool { return slices.Contains(s, v) }