{"version":3,"file":"diffUtil.cjs","sources":["../../../../../../../packages/vue-components/vc-tree/src/utils/diffUtil.ts"],"sourcesContent":["import type { Key } from '@antdv/types';\nimport type { FlattenNode } from '../interface';\n\nexport function findExpandedKeys(prev: Key[] = [], next: Key[] = []) {\n  const prevLen = prev.length;\n  const nextLen = next.length;\n\n  if (Math.abs(prevLen - nextLen) !== 1)\n    return { add: false, key: null };\n\n  function find(shorter: Key[], longer: Key[]) {\n    const cache = new Map<Key, boolean>();\n    shorter.forEach((key) => {\n      cache.set(key, true);\n    });\n\n    const keys = longer.filter(key => !cache.has(key));\n\n    return keys.length === 1 ? keys[0] : null;\n  }\n\n  if (prevLen < nextLen) {\n    return {\n      add: true,\n      key: find(prev, next),\n    };\n  }\n\n  return {\n    add: false,\n    key: find(next, prev),\n  };\n}\n\nexport function getExpandRange(shorter: FlattenNode[], longer: FlattenNode[], key: Key) {\n  const shorterStartIndex = shorter.findIndex(item => item.key === key);\n  const shorterEndNode = shorter[shorterStartIndex + 1];\n  const longerStartIndex = longer.findIndex(item => item.key === key);\n\n  if (shorterEndNode) {\n    const longerEndIndex = longer.findIndex(item => item.key === shorterEndNode.key);\n    return longer.slice(longerStartIndex + 1, longerEndIndex);\n  }\n  return longer.slice(longerStartIndex + 1);\n}\n"],"names":[],"mappings":";;AAGO,SAAS,iBAAiB,IAAc,GAAA,EAAI,EAAA,IAAA,GAAc,EAAI,EAAA;AACnE,EAAA,MAAM,UAAU,IAAK,CAAA,MAAA,CAAA;AACrB,EAAA,MAAM,UAAU,IAAK,CAAA,MAAA,CAAA;AAErB,EAAA,IAAI,IAAK,CAAA,GAAA,CAAI,OAAU,GAAA,OAAO,CAAM,KAAA,CAAA;AAClC,IAAA,OAAO,EAAE,GAAA,EAAK,KAAO,EAAA,GAAA,EAAK,IAAK,EAAA,CAAA;AAEjC,EAAS,SAAA,IAAA,CAAK,SAAgB,MAAe,EAAA;AAC3C,IAAM,MAAA,KAAA,uBAAY,GAAkB,EAAA,CAAA;AACpC,IAAQ,OAAA,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACvB,MAAM,KAAA,CAAA,GAAA,CAAI,KAAK,IAAI,CAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAO,OAAO,MAAO,CAAA,CAAA,GAAA,KAAO,CAAC,KAAM,CAAA,GAAA,CAAI,GAAG,CAAC,CAAA,CAAA;AAEjD,IAAA,OAAO,IAAK,CAAA,MAAA,KAAW,CAAI,GAAA,IAAA,CAAK,CAAC,CAAI,GAAA,IAAA,CAAA;AAAA,GACvC;AAEA,EAAA,IAAI,UAAU,OAAS,EAAA;AACrB,IAAO,OAAA;AAAA,MACL,GAAK,EAAA,IAAA;AAAA,MACL,GAAA,EAAK,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA;AAAA,KACtB,CAAA;AAAA,GACF;AAEA,EAAO,OAAA;AAAA,IACL,GAAK,EAAA,KAAA;AAAA,IACL,GAAA,EAAK,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA;AAAA,GACtB,CAAA;AACF,CAAA;AAEgB,SAAA,cAAA,CAAe,OAAwB,EAAA,MAAA,EAAuB,GAAU,EAAA;AACtF,EAAA,MAAM,oBAAoB,OAAQ,CAAA,SAAA,CAAU,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,GAAG,CAAA,CAAA;AACpE,EAAM,MAAA,cAAA,GAAiB,OAAQ,CAAA,iBAAA,GAAoB,CAAC,CAAA,CAAA;AACpD,EAAA,MAAM,mBAAmB,MAAO,CAAA,SAAA,CAAU,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,GAAG,CAAA,CAAA;AAElE,EAAA,IAAI,cAAgB,EAAA;AAClB,IAAA,MAAM,iBAAiB,MAAO,CAAA,SAAA,CAAU,UAAQ,IAAK,CAAA,GAAA,KAAQ,eAAe,GAAG,CAAA,CAAA;AAC/E,IAAA,OAAO,MAAO,CAAA,KAAA,CAAM,gBAAmB,GAAA,CAAA,EAAG,cAAc,CAAA,CAAA;AAAA,GAC1D;AACA,EAAO,OAAA,MAAA,CAAO,KAAM,CAAA,gBAAA,GAAmB,CAAC,CAAA,CAAA;AAC1C;;;;;"}