{"version":3,"file":"set-path.cjs","names":["getSplittedPath"],"sources":["../../src/paths/set-path.ts"],"sourcesContent":["import { klona } from 'klona/full';\nimport { getSplittedPath } from './get-splitted-path';\n\nexport function setPath<T>(path: unknown, value: unknown, values: T): T {\n  const splittedPath = getSplittedPath(path);\n\n  if (splittedPath.length === 0) {\n    return values;\n  }\n\n  const cloned: any = klona(values);\n\n  if (splittedPath.length === 1) {\n    cloned[splittedPath[0]] = value;\n    return cloned;\n  }\n\n  let val = cloned[splittedPath[0]];\n\n  for (let i = 1; i < splittedPath.length - 1; i += 1) {\n    if (val === undefined) {\n      return cloned;\n    }\n\n    val = val[splittedPath[i]];\n  }\n\n  val[splittedPath[splittedPath.length - 1]] = value;\n\n  return cloned;\n}\n"],"mappings":";;;;;AAGA,SAAgB,QAAW,MAAe,OAAgB,QAAc;CACtE,MAAM,eAAeA,0BAAAA,gBAAgB,IAAI;CAEzC,IAAI,aAAa,WAAW,GAC1B,OAAO;CAGT,MAAM,UAAA,GAAA,WAAA,OAAoB,MAAM;CAEhC,IAAI,aAAa,WAAW,GAAG;EAC7B,OAAO,aAAa,MAAM;EAC1B,OAAO;CACT;CAEA,IAAI,MAAM,OAAO,aAAa;CAE9B,KAAK,IAAI,IAAI,GAAG,IAAI,aAAa,SAAS,GAAG,KAAK,GAAG;EACnD,IAAI,QAAQ,KAAA,GACV,OAAO;EAGT,MAAM,IAAI,aAAa;CACzB;CAEA,IAAI,aAAa,aAAa,SAAS,MAAM;CAE7C,OAAO;AACT"}