{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { fillFieldNames } from \"rc-tree/es/utils/treeUtil\";\nvar Record;\n(function (Record) {\n  Record[Record[\"None\"] = 0] = \"None\";\n  Record[Record[\"Start\"] = 1] = \"Start\";\n  Record[Record[\"End\"] = 2] = \"End\";\n})(Record || (Record = {}));\nfunction traverseNodesKey(treeData, callback, fieldNames) {\n  const {\n    key: fieldKey,\n    children: fieldChildren\n  } = fieldNames;\n  function processNode(dataNode) {\n    const key = dataNode[fieldKey];\n    const children = dataNode[fieldChildren];\n    if (callback(key, dataNode) !== false) {\n      traverseNodesKey(children || [], callback, fieldNames);\n    }\n  }\n  treeData.forEach(processNode);\n}\n/** 计算选中范围，只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(_ref) {\n  let {\n    treeData,\n    expandedKeys,\n    startKey,\n    endKey,\n    fieldNames\n  } = _ref;\n  const keys = [];\n  let record = Record.None;\n  if (startKey && startKey === endKey) {\n    return [startKey];\n  }\n  if (!startKey || !endKey) {\n    return [];\n  }\n  function matchKey(key) {\n    return key === startKey || key === endKey;\n  }\n  traverseNodesKey(treeData, key => {\n    if (record === Record.End) {\n      return false;\n    }\n    if (matchKey(key)) {\n      // Match test\n      keys.push(key);\n      if (record === Record.None) {\n        record = Record.Start;\n      } else if (record === Record.Start) {\n        record = Record.End;\n        return false;\n      }\n    } else if (record === Record.Start) {\n      // Append selection\n      keys.push(key);\n    }\n    return expandedKeys.includes(key);\n  }, fillFieldNames(fieldNames));\n  return keys;\n}\nexport function convertDirectoryKeysToNodes(treeData, keys, fieldNames) {\n  const restKeys = _toConsumableArray(keys);\n  const nodes = [];\n  traverseNodesKey(treeData, (key, node) => {\n    const index = restKeys.indexOf(key);\n    if (index !== -1) {\n      nodes.push(node);\n      restKeys.splice(index, 1);\n    }\n    return !!restKeys.length;\n  }, fillFieldNames(fieldNames));\n  return nodes;\n}","map":{"version":3,"names":["_toConsumableArray","fillFieldNames","Record","traverseNodesKey","treeData","callback","fieldNames","key","fieldKey","children","fieldChildren","processNode","dataNode","forEach","calcRangeKeys","_ref","expandedKeys","startKey","endKey","keys","record","None","matchKey","End","push","Start","includes","convertDirectoryKeysToNodes","restKeys","nodes","node","index","indexOf","splice","length"],"sources":["/Users/chrishaack/UC_Trains_Voice/react-demo/node_modules/antd/es/tree/utils/dictUtil.js"],"sourcesContent":["import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { fillFieldNames } from \"rc-tree/es/utils/treeUtil\";\nvar Record;\n(function (Record) {\n  Record[Record[\"None\"] = 0] = \"None\";\n  Record[Record[\"Start\"] = 1] = \"Start\";\n  Record[Record[\"End\"] = 2] = \"End\";\n})(Record || (Record = {}));\nfunction traverseNodesKey(treeData, callback, fieldNames) {\n  const {\n    key: fieldKey,\n    children: fieldChildren\n  } = fieldNames;\n  function processNode(dataNode) {\n    const key = dataNode[fieldKey];\n    const children = dataNode[fieldChildren];\n    if (callback(key, dataNode) !== false) {\n      traverseNodesKey(children || [], callback, fieldNames);\n    }\n  }\n  treeData.forEach(processNode);\n}\n/** 计算选中范围，只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(_ref) {\n  let {\n    treeData,\n    expandedKeys,\n    startKey,\n    endKey,\n    fieldNames\n  } = _ref;\n  const keys = [];\n  let record = Record.None;\n  if (startKey && startKey === endKey) {\n    return [startKey];\n  }\n  if (!startKey || !endKey) {\n    return [];\n  }\n  function matchKey(key) {\n    return key === startKey || key === endKey;\n  }\n  traverseNodesKey(treeData, key => {\n    if (record === Record.End) {\n      return false;\n    }\n    if (matchKey(key)) {\n      // Match test\n      keys.push(key);\n      if (record === Record.None) {\n        record = Record.Start;\n      } else if (record === Record.Start) {\n        record = Record.End;\n        return false;\n      }\n    } else if (record === Record.Start) {\n      // Append selection\n      keys.push(key);\n    }\n    return expandedKeys.includes(key);\n  }, fillFieldNames(fieldNames));\n  return keys;\n}\nexport function convertDirectoryKeysToNodes(treeData, keys, fieldNames) {\n  const restKeys = _toConsumableArray(keys);\n  const nodes = [];\n  traverseNodesKey(treeData, (key, node) => {\n    const index = restKeys.indexOf(key);\n    if (index !== -1) {\n      nodes.push(node);\n      restKeys.splice(index, 1);\n    }\n    return !!restKeys.length;\n  }, fillFieldNames(fieldNames));\n  return nodes;\n}"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}