{"version":3,"sources":["../../../src/dictionaryManipulator/updateNodeChildren.ts"],"sourcesContent":["import { type ContentNode, type TypedNode, NodeType } from '../types';\n\nexport const updateNodeChildren = <\n  T extends ContentNode,\n  U extends ContentNode,\n>(\n  section: T,\n  newChildren: U\n): ContentNode => {\n  if (typeof section === 'string') {\n    return newChildren;\n  }\n  if (typeof section === 'number') {\n    return newChildren;\n  }\n  if (typeof section === 'boolean') {\n    return newChildren;\n  }\n  if (typeof (section as TypedNode)?.nodeType === 'string') {\n    const typedNode = section as TypedNode;\n    const content = typedNode[typedNode.nodeType as keyof TypedNode];\n\n    if (\n      typedNode.nodeType === NodeType.Translation ||\n      typedNode.nodeType === NodeType.Enumeration ||\n      typedNode.nodeType === NodeType.Condition\n    ) {\n      const newContent = Object.entries(content).reduce(\n        (acc, [key]) => ({\n          ...acc,\n          [key]: newChildren,\n        }),\n        {} as Record<string, ContentNode>\n      );\n\n      return {\n        ...typedNode,\n        [typedNode.nodeType]: newContent,\n      };\n    }\n\n    if (typedNode.nodeType === NodeType.Nested) {\n      return typedNode;\n    }\n\n    return {\n      ...typedNode,\n      [typedNode.nodeType]: newChildren,\n    };\n  }\n\n  if (!section || typeof section !== 'object') {\n    return newChildren;\n  }\n\n  if (Array.isArray(section)) {\n    return section.map(() => newChildren) as unknown as ContentNode;\n  }\n\n  return Object.entries(\n    section as unknown as Record<string, ContentNode>\n  ).reduce(\n    (acc, [key]) => ({\n      ...acc,\n      [key]: newChildren,\n    }),\n    {} as Record<string, ContentNode>\n  ) as ContentNode;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2D;AAEpD,MAAM,qBAAqB,CAIhC,SACA,gBACgB;AAChB,MAAI,OAAO,YAAY,UAAU;AAC/B,WAAO;AAAA,EACT;AACA,MAAI,OAAO,YAAY,UAAU;AAC/B,WAAO;AAAA,EACT;AACA,MAAI,OAAO,YAAY,WAAW;AAChC,WAAO;AAAA,EACT;AACA,MAAI,OAAQ,SAAuB,aAAa,UAAU;AACxD,UAAM,YAAY;AAClB,UAAM,UAAU,UAAU,UAAU,QAA2B;AAE/D,QACE,UAAU,aAAa,sBAAS,eAChC,UAAU,aAAa,sBAAS,eAChC,UAAU,aAAa,sBAAS,WAChC;AACA,YAAM,aAAa,OAAO,QAAQ,OAAO,EAAE;AAAA,QACzC,CAAC,KAAK,CAAC,GAAG,OAAO;AAAA,UACf,GAAG;AAAA,UACH,CAAC,GAAG,GAAG;AAAA,QACT;AAAA,QACA,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,CAAC,UAAU,QAAQ,GAAG;AAAA,MACxB;AAAA,IACF;AAEA,QAAI,UAAU,aAAa,sBAAS,QAAQ;AAC1C,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,MACL,GAAG;AAAA,MACH,CAAC,UAAU,QAAQ,GAAG;AAAA,IACxB;AAAA,EACF;AAEA,MAAI,CAAC,WAAW,OAAO,YAAY,UAAU;AAC3C,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,WAAO,QAAQ,IAAI,MAAM,WAAW;AAAA,EACtC;AAEA,SAAO,OAAO;AAAA,IACZ;AAAA,EACF,EAAE;AAAA,IACA,CAAC,KAAK,CAAC,GAAG,OAAO;AAAA,MACf,GAAG;AAAA,MACH,CAAC,GAAG,GAAG;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AACF;","names":[]}