Skip to content

Commit b45fc83

Browse files
authored
Merge pull request #1742 from nigelis/feature/add_smismember_command
Add command SMISMEMBER
2 parents b8cda18 + 6105815 commit b45fc83

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
@@ -200,6 +200,7 @@ type Cmdable interface {
200200
SInter(ctx context.Context, keys ...string) *StringSliceCmd
201201
SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
202202
SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
203+
SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
203204
SMembers(ctx context.Context, key string) *StringSliceCmd
204205
SMembersMap(ctx context.Context, key string) *StringStructMapCmd
205206
SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
@@ -1508,6 +1509,17 @@ func (c cmdable) SIsMember(ctx context.Context, key string, member interface{})
15081509
return cmd
15091510
}
15101511

1512+
// Redis `SMISMEMBER key member [member ...]` command.
1513+
func (c cmdable) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd {
1514+
args := make([]interface{}, 2, 2+len(members))
1515+
args[0] = "smismember"
1516+
args[1] = key
1517+
args = appendArgs(args, members)
1518+
cmd := NewBoolSliceCmd(ctx, args...)
1519+
_ = c(ctx, cmd)
1520+
return cmd
1521+
}
1522+
15111523
// Redis `SMEMBERS key` command output as a slice.
15121524
func (c cmdable) SMembers(ctx context.Context, key string) *StringSliceCmd {
15131525
cmd := NewStringSliceCmd(ctx, "smembers", key)

commands_test.go

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

2489+
It("should SMIsMember", func() {
2490+
sAdd := client.SAdd(ctx, "set", "one")
2491+
Expect(sAdd.Err()).NotTo(HaveOccurred())
2492+
2493+
sMIsMember := client.SMIsMember(ctx, "set", "one", "two")
2494+
Expect(sMIsMember.Err()).NotTo(HaveOccurred())
2495+
Expect(sMIsMember.Val()).To(Equal([]bool{true, false}))
2496+
})
2497+
24892498
It("should SMembers", func() {
24902499
sAdd := client.SAdd(ctx, "set", "Hello")
24912500
Expect(sAdd.Err()).NotTo(HaveOccurred())

0 commit comments

Comments
 (0)