{"version":3,"file":"shuffle.mjs","names":[],"sources":["../../src/collection/shuffle.ts"],"sourcesContent":["/**\n * Creates an array of shuffled values, using a version of the Fisher-Yates shuffle\n * @param collection - The collection to shuffle\n * @returns Returns the new shuffled array\n * @example\n * const arr = [1, 2, 3, 4, 5];\n * shuffle(arr); // => shuffled array\n */\nexport function shuffle<T>(collection: T[]): T[] {\n  const result = [...collection];\n\n  for (let i = result.length - 1; i > 0; i--) {\n    const j = Math.floor(Math.random() * (i + 1));\n    [result[i], result[j]] = [result[j], result[i]];\n  }\n\n  return result;\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,QAAW,YAAsB;CAC/C,MAAM,SAAS,CAAC,GAAG,UAAU;CAE7B,KAAK,IAAI,IAAI,OAAO,SAAS,GAAG,IAAI,GAAG,KAAK;EAC1C,MAAM,IAAI,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI,EAAE;EAC5C,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE;CAChD;CAEA,OAAO;AACT"}