{"version":3,"file":"zip.mjs","names":[],"sources":["../../src/array/zip.ts"],"sourcesContent":["/**\n * Creates an array of grouped elements, the first of which contains the first elements of the given arrays\n * @param arrays The arrays to process\n * @returns A new array of grouped elements\n * @example\n * zip(['a', 'b', 'c'], [1, 2, 3]); // [['a', 1], ['b', 2], ['c', 3]]\n * zip(['a', 'b'], [1, 2, 3]); // [['a', 1], ['b', 2]]\n */\nexport function zip<T>(...arrays: T[][]): T[][] {\n  if (arrays.length === 0) {\n    return [];\n  }\n\n  // Find the minimum length among all arrays\n  const minLength = Math.min(...arrays.filter((arr) => Array.isArray(arr)).map((arr) => arr.length));\n\n  if (minLength === Infinity || minLength <= 0) {\n    return [];\n  }\n\n  const result: T[][] = [];\n\n  for (let i = 0; i < minLength; i++) {\n    const group: T[] = [];\n    for (const array of arrays) {\n      if (Array.isArray(array)) {\n        group.push(array[i]);\n      }\n    }\n    result.push(group);\n  }\n\n  return result;\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,IAAO,GAAG,QAAsB;CAC9C,IAAI,OAAO,WAAW,GACpB,OAAO,CAAC;CAIV,MAAM,YAAY,KAAK,IAAI,GAAG,OAAO,QAAQ,QAAQ,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC;CAEjG,IAAI,cAAc,YAAY,aAAa,GACzC,OAAO,CAAC;CAGV,MAAM,SAAgB,CAAC;CAEvB,KAAK,IAAI,IAAI,GAAG,IAAI,WAAW,KAAK;EAClC,MAAM,QAAa,CAAC;EACpB,KAAK,MAAM,SAAS,QAClB,IAAI,MAAM,QAAQ,KAAK,GACrB,MAAM,KAAK,MAAM,EAAE;EAGvB,OAAO,KAAK,KAAK;CACnB;CAEA,OAAO;AACT"}