Estoy tratando de agregar un valor a un conjunto ordenado en Redis usando TypeScript como este client.ZADD('test', 10, 'test') pero esto arroja un 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; }'.En los archivos de definiciones de tipos redis que se encuentran en:
node_modules\@node-redis\client\dist\lib\commands\generic-transformers.d.tsLa definición de interfaz para el tipo ZMember es la siguiente:
interface ZMember { score: number; value: string; }Por lo tanto, su llamada a la función debería tener el siguiente aspecto:
client.zAdd('test_list', { score: 10, value: 'test'})client.ZADD('test', { member: 'test', score: 10 }) debería ser el truco