import { transformReplyStringArray } from './generic-transformers'; export const FIRST_KEY_INDEX = 2; export const IS_READ_ONLY = true; interface ZInterOptions { WEIGHTS?: Array; AGGREGATE?: 'SUM' | 'MIN' | 'MAX'; } export function transformArguments(keys: Array | string, options?: ZInterOptions): Array { const args = ['ZINTER']; if (typeof keys === 'string') { args.push('1', keys); } else { args.push(keys.length.toString(), ...keys); } if (options?.WEIGHTS) { args.push( 'WEIGHTS', ...options.WEIGHTS.map(weight => weight.toString()) ); } if (options?.AGGREGATE) { args.push('AGGREGATE', options?.AGGREGATE); } return args; } export const transformReply = transformReplyStringArray;