{"version":3,"file":"difference.cjs","names":[],"sources":["../../src/array/difference.ts"],"sourcesContent":["/**\n * Creates an array of unique values that are in the first array but not in the other arrays\n * @param array The array to process\n * @param arrays The arrays to exclude\n * @returns A new array of unique values\n * @example\n * difference([1, 2, 3], [2, 3, 4]); // [1]\n * difference([1, 2, 3, 4], [2, 4], [3]); // [1]\n */\nexport function difference<T>(array: T[], ...arrays: T[][]): T[] {\n  if (!Array.isArray(array)) {\n    return [];\n  }\n\n  const excludeSet = new Set<T>();\n  for (const arr of arrays) {\n    if (Array.isArray(arr)) {\n      for (const item of arr) {\n        excludeSet.add(item);\n      }\n    }\n  }\n\n  const result: T[] = [];\n  const seen = new Set<T>();\n\n  for (const item of array) {\n    if (!excludeSet.has(item) && !seen.has(item)) {\n      seen.add(item);\n      result.push(item);\n    }\n  }\n\n  return result;\n}\n"],"mappings":";;;;;;;;;;;AASA,SAAgB,WAAc,OAAY,GAAG,QAAoB;CAC/D,IAAI,CAAC,MAAM,QAAQ,KAAK,GACtB,OAAO,CAAC;CAGV,MAAM,6BAAa,IAAI,IAAO;CAC9B,KAAK,MAAM,OAAO,QAChB,IAAI,MAAM,QAAQ,GAAG,GACnB,KAAK,MAAM,QAAQ,KACjB,WAAW,IAAI,IAAI;CAKzB,MAAM,SAAc,CAAC;CACrB,MAAM,uBAAO,IAAI,IAAO;CAExB,KAAK,MAAM,QAAQ,OACjB,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG;EAC5C,KAAK,IAAI,IAAI;EACb,OAAO,KAAK,IAAI;CAClB;CAGF,OAAO;AACT"}