Skip to content

Commit 5ed546f

Browse files
nigelisvmihailenco
authored andcommitted
Add command SMISMEMBER
1 parent 8ad0124 commit 5ed546f

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

commands.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ type Cmdable interface {
201201
SInter(ctx context.Context, keys ...string) *StringSliceCmd
202202
SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
203203
SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
204+
SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
204205
SMembers(ctx context.Context, key string) *StringSliceCmd
205206
SMembersMap(ctx context.Context, key string) *StringStructMapCmd
206207
SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
@@ -1530,6 +1531,17 @@ func (c cmdable) SIsMember(ctx context.Context, key string, member interface{})
15301531
return cmd
15311532
}
15321533

1534+
// Redis `SMISMEMBER key member [member ...]` command.
1535+
func (c cmdable) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd {
1536+
args := make([]interface{}, 2, 2+len(members))
1537+
args[0] = "smismember"
1538+
args[1] = key
1539+
args = appendArgs(args, members)
1540+
cmd := NewBoolSliceCmd(ctx, args...)
1541+
_ = c(ctx, cmd)
1542+
return cmd
1543+
}
1544+
15331545
// Redis `SMEMBERS key` command output as a slice.
15341546
func (c cmdable) SMembers(ctx context.Context, key string) *StringSliceCmd {
15351547
cmd := NewStringSliceCmd(ctx, "smembers", key)

commands_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2500,6 +2500,15 @@ var _ = Describe("Commands", func() {
25002500
Expect(sIsMember.Val()).To(Equal(false))
25012501
})
25022502

2503+
It("should SMIsMember", func() {
2504+
sAdd := client.SAdd(ctx, "set", "one")
2505+
Expect(sAdd.Err()).NotTo(HaveOccurred())
2506+
2507+
sMIsMember := client.SMIsMember(ctx, "set", "one", "two")
2508+
Expect(sMIsMember.Err()).NotTo(HaveOccurred())
2509+
Expect(sMIsMember.Val()).To(Equal([]bool{true, false}))
2510+
})
2511+
25032512
It("should SMembers", func() {
25042513
sAdd := client.SAdd(ctx, "set", "Hello")
25052514
Expect(sAdd.Err()).NotTo(HaveOccurred())

0 commit comments

Comments
 (0)