import { isArray as p } from "lodash";
const m = (t, n, s, a) => {
  if (!p(t))
    return t;
  let e = null;
  return e = t.map((r, i) => {
    const o = {};
    return s && i === 0 && (n = u(r, n)), n.forEach((l) => {
      l.alias ? o[l.alias] = r[l.mapping] : o[l.name] = r[l.mapping];
    }), a && (o.userdata = r), o;
  }), e;
}, u = (t, n) => {
  const s = [];
  for (const a in t) {
    const e = n.find((r) => r.name === a);
    e ? s.push({
      alias: e.alias,
      name: a,
      label: a,
      mapping: e.mapping
    }) : s.push({
      alias: a,
      name: a,
      label: a,
      mapping: a
    });
  }
  return n.splice(0, n.length), n.push(...s), s;
};
export {
  m as mappingData
};
