Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | 1x 1x 1x | import { transformReplyString } from './generic-transformers'; type HSETObject = Record<string | number, string | number>; type HSETMap = Map<string | number, string | number>; export function transformArguments(key: string, objectOrMap: HSETObject | HSETMap): Array<string> { const flattenArgs = mapArgumentTransformer(key, objectOrMap) ?? objectArgumentTransformer(key, objectOrMap) ?? []; // TODO: add support for tuples flattenArgs.unshift('HSET'); return flattenArgs; } function mapArgumentTransformer(key: string, map: HSETMap | unknown): Array<string> | undefined { if (!(map instanceof Map)) return; const flat = [key]; for (const [key, value] of map.entries()) { flat.push(key.toString(), value.toString()); } return flat; } function isObject(obj: HSETObject | unknown): obj is HSETObject { return typeof obj === 'object' && obj !== null && !Array.isArray(obj); } function objectArgumentTransformer(key: string, obj: HSETObject | unknown): Array<string> | undefined { if (!isObject(obj)) { return; } const flat = [key]; for (const key of Object.keys(obj)) { flat.push(key.toString(), obj[key].toString()); } return flat; } export const transformReply = transformReplyString; |