{"version":3,"file":"DcTWW2RD.js","sources":["../../../../assets/js/format/src/filter.ts"],"sourcesContent":["import { utility } from \"various-ui\";\n\n/**@name 数据排序过滤\n * @description 对传入的数据列表进行排序与过滤\n * @param { Array } data -- 数据源\n * @param { String } key -- 排序的字段Key\n * @param { String } sort -- 排序方式只接受asc, desc\n * @param { String } queryKey -- 过滤的字段Key\n * @param { String } query -- 过滤的字段包含属性\n */\nexport const filter = (data: any[], key: string, sort: string, query: string, queryKey: string | string[]) => {\n let result = utility.cloneDeep(data);\n // 根据关键词过滤数据\n if (query && queryKey && queryKey.length > 0) {\n result = result.filter((val: any) => {\n for (let i = 0, l = queryKey.length; i < l; i++) {\n const value = val[queryKey[i]]?.toString ? val[queryKey[i]].toString() : \"\";\n if (value.toLocaleLowerCase().includes(query.toLocaleLowerCase())) {\n return true;\n }\n }\n });\n }\n\n // 根据排序方式过滤数据\n try {\n if (key && sort) {\n switch (sort) {\n case \"asc\": {\n result = result.sort((a: any, b: any) => {\n const aValue = isNaN(Number(a[key])) ? a[key] : Number(a[key]);\n const bValue = isNaN(Number(b[key])) ? b[key] : Number(b[key]);\n if (aValue.localeCompare) {\n return aValue.localeCompare(bValue);\n } else {\n return aValue - bValue;\n }\n });\n\n break;\n }\n case \"desc\": {\n result = result.sort((a: any, b: any) => {\n const aValue = isNaN(Number(a[key])) ? a[key] : Number(a[key]);\n const bValue = isNaN(Number(b[key])) ? b[key] : Number(b[key]);\n if (bValue.localeCompare) {\n return bValue.localeCompare(aValue);\n } else {\n return bValue - aValue;\n }\n });\n\n break;\n }\n }\n }\n } catch {\n return result;\n }\n\n return result;\n};\n"],"names":["filter","data","key","sort","query","queryKey","result","utility.cloneDeep","val","i","_a","a","b","aValue","bValue","e"],"mappings":"mCAUO,MAAMA,EAAS,CAACC,EAAaC,EAAaC,EAAcC,EAAeC,IAAgC,CACtG,IAAAC,EAASC,EAAkBN,CAAI,EAE/BG,GAASC,GAAYA,EAAS,OAAS,IAC9BC,EAAAA,EAAO,OAAQE,GAAa,OACjC,QAASC,EAAI,EAAG,EAAIJ,EAAS,OAAQI,EAAI,EAAGA,IAExC,KADcC,EAAAF,EAAIH,EAASI,CAAC,CAAC,IAAf,MAAAC,EAAkB,SAAWF,EAAIH,EAASI,CAAC,CAAC,EAAE,SAAa,EAAA,IAC/D,kBAAkB,EAAE,SAASL,EAAM,kBAAA,CAAmB,EACrD,MAAA,EAEf,CACH,GAID,GAAA,CACA,GAAIF,GAAOC,EACP,OAAQA,EAAM,CACV,IAAK,MAAO,CACRG,EAASA,EAAO,KAAK,CAACK,EAAQC,IAAW,CACrC,MAAMC,EAAS,MAAM,OAAOF,EAAET,CAAG,CAAC,CAAC,EAAIS,EAAET,CAAG,EAAI,OAAOS,EAAET,CAAG,CAAC,EACvDY,EAAS,MAAM,OAAOF,EAAEV,CAAG,CAAC,CAAC,EAAIU,EAAEV,CAAG,EAAI,OAAOU,EAAEV,CAAG,CAAC,EAC7D,OAAIW,EAAO,cACAA,EAAO,cAAcC,CAAM,EAE3BD,EAASC,CACpB,CACH,EAED,KAAA,CAEJ,IAAK,OAAQ,CACTR,EAASA,EAAO,KAAK,CAACK,EAAQC,IAAW,CACrC,MAAMC,EAAS,MAAM,OAAOF,EAAET,CAAG,CAAC,CAAC,EAAIS,EAAET,CAAG,EAAI,OAAOS,EAAET,CAAG,CAAC,EACvDY,EAAS,MAAM,OAAOF,EAAEV,CAAG,CAAC,CAAC,EAAIU,EAAEV,CAAG,EAAI,OAAOU,EAAEV,CAAG,CAAC,EAC7D,OAAIY,EAAO,cACAA,EAAO,cAAcD,CAAM,EAE3BC,EAASD,CACpB,CACH,EAED,KAAA,CACJ,CAER,OACIE,EAAA,CACG,OAAAT,CAAA,CAGJ,OAAAA,CACX"}