{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { fillFieldNames } from \"rc-tree/es/utils/treeUtil\";\nconst RECORD_NONE = 0;\nconst RECORD_START = 1;\nconst RECORD_END = 2;\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_NONE","RECORD_START","RECORD_END","traverseNodesKey","treeData","callback","fieldNames","key","fieldKey","children","fieldChildren","processNode","dataNode","forEach","calcRangeKeys","_ref","expandedKeys","startKey","endKey","keys","record","matchKey","push","includes","convertDirectoryKeysToNodes","restKeys","nodes","node","index","indexOf","splice","length"],"sources":["C:/Users/Аришина)/source/repos/PromoCursed/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\";\nconst RECORD_NONE = 0;\nconst RECORD_START = 1;\nconst RECORD_END = 2;\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":"AAAA,OAAOA,kBAAkB,MAAM,8CAA8C;AAC7E,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,YAAY,GAAG,CAAC;AACtB,MAAMC,UAAU,GAAG,CAAC;AACpB,SAASC,gBAAgBA,CAACC,QAAQ,EAAEC,QAAQ,EAAEC,UAAU,EAAE;EACxD,MAAM;IACJC,GAAG,EAAEC,QAAQ;IACbC,QAAQ,EAAEC;EACZ,CAAC,GAAGJ,UAAU;EACd,SAASK,WAAWA,CAACC,QAAQ,EAAE;IAC7B,MAAML,GAAG,GAAGK,QAAQ,CAACJ,QAAQ,CAAC;IAC9B,MAAMC,QAAQ,GAAGG,QAAQ,CAACF,aAAa,CAAC;IACxC,IAAIL,QAAQ,CAACE,GAAG,EAAEK,QAAQ,CAAC,KAAK,KAAK,EAAE;MACrCT,gBAAgB,CAACM,QAAQ,IAAI,EAAE,EAAEJ,QAAQ,EAAEC,UAAU,CAAC;IACxD;EACF;EACAF,QAAQ,CAACS,OAAO,CAACF,WAAW,CAAC;AAC/B;AACA;AACA,OAAO,SAASG,aAAaA,CAACC,IAAI,EAAE;EAClC,IAAI;IACFX,QAAQ;IACRY,YAAY;IACZC,QAAQ;IACRC,MAAM;IACNZ;EACF,CAAC,GAAGS,IAAI;EACR,MAAMI,IAAI,GAAG,EAAE;EACf,IAAIC,MAAM,GAAGpB,WAAW;EACxB,IAAIiB,QAAQ,IAAIA,QAAQ,KAAKC,MAAM,EAAE;IACnC,OAAO,CAACD,QAAQ,CAAC;EACnB;EACA,IAAI,CAACA,QAAQ,IAAI,CAACC,MAAM,EAAE;IACxB,OAAO,EAAE;EACX;EACA,SAASG,QAAQA,CAACd,GAAG,EAAE;IACrB,OAAOA,GAAG,KAAKU,QAAQ,IAAIV,GAAG,KAAKW,MAAM;EAC3C;EACAf,gBAAgB,CAACC,QAAQ,EAAEG,GAAG,IAAI;IAChC,IAAIa,MAAM,KAAKlB,UAAU,EAAE;MACzB,OAAO,KAAK;IACd;IACA,IAAImB,QAAQ,CAACd,GAAG,CAAC,EAAE;MACjB;MACAY,IAAI,CAACG,IAAI,CAACf,GAAG,CAAC;MACd,IAAIa,MAAM,KAAKpB,WAAW,EAAE;QAC1BoB,MAAM,GAAGnB,YAAY;MACvB,CAAC,MAAM,IAAImB,MAAM,KAAKnB,YAAY,EAAE;QAClCmB,MAAM,GAAGlB,UAAU;QACnB,OAAO,KAAK;MACd;IACF,CAAC,MAAM,IAAIkB,MAAM,KAAKnB,YAAY,EAAE;MAClC;MACAkB,IAAI,CAACG,IAAI,CAACf,GAAG,CAAC;IAChB;IACA,OAAOS,YAAY,CAACO,QAAQ,CAAChB,GAAG,CAAC;EACnC,CAAC,EAAER,cAAc,CAACO,UAAU,CAAC,CAAC;EAC9B,OAAOa,IAAI;AACb;AACA,OAAO,SAASK,2BAA2BA,CAACpB,QAAQ,EAAEe,IAAI,EAAEb,UAAU,EAAE;EACtE,MAAMmB,QAAQ,GAAG3B,kBAAkB,CAACqB,IAAI,CAAC;EACzC,MAAMO,KAAK,GAAG,EAAE;EAChBvB,gBAAgB,CAACC,QAAQ,EAAE,CAACG,GAAG,EAAEoB,IAAI,KAAK;IACxC,MAAMC,KAAK,GAAGH,QAAQ,CAACI,OAAO,CAACtB,GAAG,CAAC;IACnC,IAAIqB,KAAK,KAAK,CAAC,CAAC,EAAE;MAChBF,KAAK,CAACJ,IAAI,CAACK,IAAI,CAAC;MAChBF,QAAQ,CAACK,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;IAC3B;IACA,OAAO,CAAC,CAACH,QAAQ,CAACM,MAAM;EAC1B,CAAC,EAAEhC,cAAc,CAACO,UAAU,CAAC,CAAC;EAC9B,OAAOoB,KAAK;AACd","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}