{"version":3,"file":"reorder-errors.mjs","names":[],"sources":["../../src/lists/reorder-errors.ts"],"sourcesContent":["import { ReorderPayload } from '../types';\n\nexport function reorderErrors<T>(path: unknown, { from, to }: ReorderPayload, errors: T): T {\n  const oldKeyStart = `${path}.${from}`;\n  const newKeyStart = `${path}.${to}`;\n\n  const clone: any = { ...errors };\n  const processedKeys = new Set<string>();\n\n  Object.keys(errors as any).forEach((key) => {\n    if (processedKeys.has(key)) {\n      return;\n    }\n\n    let oldKey;\n    let newKey;\n\n    if (key.startsWith(oldKeyStart)) {\n      oldKey = key;\n      newKey = key.replace(oldKeyStart, newKeyStart);\n    } else if (key.startsWith(newKeyStart)) {\n      oldKey = key.replace(newKeyStart, oldKeyStart);\n      newKey = key;\n    }\n\n    if (oldKey && newKey) {\n      const value1 = clone[oldKey];\n      const value2 = clone[newKey];\n\n      value2 === undefined ? delete clone[oldKey] : (clone[oldKey] = value2);\n      value1 === undefined ? delete clone[newKey] : (clone[newKey] = value1);\n\n      processedKeys.add(oldKey);\n      processedKeys.add(newKey);\n    }\n  });\n\n  return clone;\n}\n"],"mappings":";;AAEA,SAAgB,cAAiB,MAAe,EAAE,MAAM,MAAsB,QAAc;CAC1F,MAAM,cAAc,GAAG,KAAK,GAAG;CAC/B,MAAM,cAAc,GAAG,KAAK,GAAG;CAE/B,MAAM,QAAa,EAAE,GAAG,OAAO;CAC/B,MAAM,gCAAgB,IAAI,IAAY;CAEtC,OAAO,KAAK,MAAa,EAAE,SAAS,QAAQ;EAC1C,IAAI,cAAc,IAAI,GAAG,GACvB;EAGF,IAAI;EACJ,IAAI;EAEJ,IAAI,IAAI,WAAW,WAAW,GAAG;GAC/B,SAAS;GACT,SAAS,IAAI,QAAQ,aAAa,WAAW;EAC/C,OAAO,IAAI,IAAI,WAAW,WAAW,GAAG;GACtC,SAAS,IAAI,QAAQ,aAAa,WAAW;GAC7C,SAAS;EACX;EAEA,IAAI,UAAU,QAAQ;GACpB,MAAM,SAAS,MAAM;GACrB,MAAM,SAAS,MAAM;GAErB,WAAW,KAAA,IAAY,OAAO,MAAM,UAAW,MAAM,UAAU;GAC/D,WAAW,KAAA,IAAY,OAAO,MAAM,UAAW,MAAM,UAAU;GAE/D,cAAc,IAAI,MAAM;GACxB,cAAc,IAAI,MAAM;EAC1B;CACF,CAAC;CAED,OAAO;AACT"}