{"version":3,"file":"removeContentNodeByKeyPath.cjs","names":["NodeTypes"],"sources":["../../../src/dictionaryManipulator/removeContentNodeByKeyPath.ts"],"sourcesContent":["import type { ContentNode } from '@intlayer/types/dictionary';\nimport type { KeyPath } from '@intlayer/types/keyPath';\n\nimport * as NodeTypes from '@intlayer/types/nodeType';\n\nexport const removeContentNodeByKeyPath = (\n  dictionaryContent: ContentNode,\n  keyPath: KeyPath[]\n): ContentNode => {\n  let currentValue: any = dictionaryContent;\n  let parentValue: any = null;\n  let lastKey: string | number | null = null;\n\n  for (const keyObj of keyPath) {\n    parentValue = currentValue;\n\n    if (keyObj.type === NodeTypes.OBJECT || keyObj.type === NodeTypes.ARRAY) {\n      lastKey = keyObj.key;\n      currentValue = currentValue[keyObj.key];\n    }\n\n    if (\n      keyObj.type === NodeTypes.TRANSLATION ||\n      keyObj.type === NodeTypes.ENUMERATION ||\n      keyObj.type === NodeTypes.PLURAL ||\n      keyObj.type === NodeTypes.CONDITION\n    ) {\n      lastKey = keyObj.type;\n      currentValue = currentValue[keyObj.type][keyObj.key];\n    }\n\n    if (\n      keyObj.type === NodeTypes.MARKDOWN ||\n      keyObj.type === NodeTypes.REACT_NODE ||\n      keyObj.type === NodeTypes.HTML ||\n      keyObj.type === NodeTypes.INSERTION ||\n      keyObj.type === NodeTypes.FILE\n    ) {\n      lastKey = keyObj.type;\n      currentValue = currentValue[keyObj.type];\n    }\n  }\n\n  if (parentValue && lastKey !== null) {\n    if (Array.isArray(parentValue)) {\n      parentValue.splice(lastKey as unknown as number, 1);\n    } else {\n      delete parentValue[lastKey];\n    }\n  }\n\n  return dictionaryContent;\n};\n"],"mappings":";;;;;;AAKA,MAAa,8BACX,mBACA,YACgB;CAChB,IAAI,eAAoB;CACxB,IAAI,cAAmB;CACvB,IAAI,UAAkC;AAEtC,MAAK,MAAM,UAAU,SAAS;AAC5B,gBAAc;AAEd,MAAI,OAAO,SAASA,yBAAU,UAAU,OAAO,SAASA,yBAAU,OAAO;AACvE,aAAU,OAAO;AACjB,kBAAe,aAAa,OAAO;;AAGrC,MACE,OAAO,SAASA,yBAAU,eAC1B,OAAO,SAASA,yBAAU,eAC1B,OAAO,SAASA,yBAAU,UAC1B,OAAO,SAASA,yBAAU,WAC1B;AACA,aAAU,OAAO;AACjB,kBAAe,aAAa,OAAO,MAAM,OAAO;;AAGlD,MACE,OAAO,SAASA,yBAAU,YAC1B,OAAO,SAASA,yBAAU,cAC1B,OAAO,SAASA,yBAAU,QAC1B,OAAO,SAASA,yBAAU,aAC1B,OAAO,SAASA,yBAAU,MAC1B;AACA,aAAU,OAAO;AACjB,kBAAe,aAAa,OAAO;;;AAIvC,KAAI,eAAe,YAAY,KAC7B,KAAI,MAAM,QAAQ,YAAY,CAC5B,aAAY,OAAO,SAA8B,EAAE;KAEnD,QAAO,YAAY;AAIvB,QAAO"}