skip to Main Content

I am trying to add a value to a sorted set in Redis using TypeScript like this client.ZADD('test', 10, 'test') but this throws an error

Argument of type '["test", 10, "test"]' is not assignable to parameter of type '[key: string, members: ZMember | ZMember[], options?: ZAddOptions | undefined] | [options: CommandOptions<ClientCommandOptions>, key: string, members: ZMember | ZMember[], options?: ZAddOptions | undefined]'.
  Type '["test", 10, "test"]' is not assignable to type '[options: CommandOptions<ClientCommandOptions>, key: string, members: ZMember | ZMember[], options?: ZAddOptions | undefined]'.
    Type at position 0 in source is not compatible with type at position 0 in target.
      Type 'string' is not assignable to type 'CommandOptions<ClientCommandOptions>'.
        Type 'string' is not assignable to type '{ readonly [symbol]: true; }'.

2

Answers


  1. client.ZADD('test', { member: 'test', score: 10 }) should to the trick

    Login or Signup to reply.
  2. In the redis types definitions files found in:

    node_modules@node-redisclientdistlibcommandsgeneric-transformers.d.ts
    

    The interface definition for the type ZMember is the following:

    interface ZMember {
        score: number;
        value: string;
    }
    

    So your function call should look like the following:

    client.zAdd('test_list', { score: 10, value: 'test'})
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search