UNPKG

@mantine/form

Version:

Mantine form management library

1 lines 1.84 kB
{"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"}