import { RedisCommandArgument, RedisCommandArguments } from '.'; export function transformArguments(username: RedisCommandArgument): RedisCommandArguments { return ['ACL', 'GETUSER', username]; } type AclGetUserRawReply = [ 'flags', Array, 'passwords', Array, 'commands', RedisCommandArgument, 'keys', Array | RedisCommandArgument, 'channels', Array | RedisCommandArgument, 'selectors' | undefined, Array> | undefined ]; interface AclUser { flags: Array; passwords: Array; commands: RedisCommandArgument; keys: Array | RedisCommandArgument; channels: Array | RedisCommandArgument; selectors?: Array>; } export function transformReply(reply: AclGetUserRawReply): AclUser { return { flags: reply[1], passwords: reply[3], commands: reply[5], keys: reply[7], channels: reply[9], selectors: reply[11] }; }