{"version":3,"file":"find-and-push-to-end.mjs","names":[],"sources":["../../src/utils/find-and-push-to-end.ts"],"sourcesContent":["function findByPredicate<T>(\n  array: T[],\n  filter: (t: T) => boolean,\n): { index: number; value: T } | undefined {\n  for (const [index, value] of array.entries()) {\n    if (filter(value)) {\n      return { index, value };\n    }\n  }\n\n  return undefined;\n}\n\nexport function findAndPushToEnd<T>(\n  array: T[],\n  filter: (t: T) => boolean,\n): T | undefined {\n  const result = findByPredicate(array, filter);\n  if (result == null) {\n    return undefined;\n  }\n\n  const { index, value } = result;\n\n  array.splice(index, 1);\n  array.push(value);\n\n  return value;\n}\n"],"mappings":";AAAA,SAAS,gBACP,OACA,QACyC;AACzC,MAAK,MAAM,CAAC,OAAO,UAAU,MAAM,SAAS,CAC1C,KAAI,OAAO,MAAM,CACf,QAAO;EAAE;EAAO;EAAO;;AAO7B,SAAgB,iBACd,OACA,QACe;CACf,MAAM,SAAS,gBAAgB,OAAO,OAAO;AAC7C,KAAI,UAAU,KACZ;CAGF,MAAM,EAAE,OAAO,UAAU;AAEzB,OAAM,OAAO,OAAO,EAAE;AACtB,OAAM,KAAK,MAAM;AAEjB,QAAO"}