Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
1 line
2.3 KiB
Plaintext
1 line
2.3 KiB
Plaintext
{"version":3,"sources":["../../../../src/collections/operations/utilities/sanitizeSortQuery.ts"],"sourcesContent":["import type { FlattenedField } from '../../../fields/config/types.js'\n\nconst sanitizeSort = ({ fields, sort }: { fields: FlattenedField[]; sort: string }): string => {\n let sortProperty = sort\n let desc = false\n if (sort.indexOf('-') === 0) {\n desc = true\n sortProperty = sortProperty.substring(1)\n }\n\n const segments = sortProperty.split('.')\n\n for (const segment of segments) {\n const field = fields.find((each) => each.name === segment)\n if (!field) {\n return sort\n }\n\n if ('fields' in field) {\n fields = field.flattenedFields\n continue\n }\n\n if ('virtual' in field && typeof field.virtual === 'string') {\n return `${desc ? '-' : ''}${field.virtual}`\n }\n }\n\n return sort\n}\n\n/**\n * Sanitizes the sort parameter, for example virtual fields linked to relationships are replaced with the full path.\n */\nexport const sanitizeSortQuery = ({\n fields,\n sort,\n}: {\n fields: FlattenedField[]\n sort?: string | string[]\n}): string | string[] | undefined => {\n if (!sort) {\n return undefined\n }\n\n if (Array.isArray(sort)) {\n return sort.map((sort) => sanitizeSort({ fields, sort }))\n }\n\n return sanitizeSort({ fields, sort })\n}\n"],"names":["sanitizeSort","fields","sort","sortProperty","desc","indexOf","substring","segments","split","segment","field","find","each","name","flattenedFields","virtual","sanitizeSortQuery","undefined","Array","isArray","map"],"mappings":"AAEA,MAAMA,eAAe,CAAC,EAAEC,MAAM,EAAEC,IAAI,EAA8C;IAChF,IAAIC,eAAeD;IACnB,IAAIE,OAAO;IACX,IAAIF,KAAKG,OAAO,CAAC,SAAS,GAAG;QAC3BD,OAAO;QACPD,eAAeA,aAAaG,SAAS,CAAC;IACxC;IAEA,MAAMC,WAAWJ,aAAaK,KAAK,CAAC;IAEpC,KAAK,MAAMC,WAAWF,SAAU;QAC9B,MAAMG,QAAQT,OAAOU,IAAI,CAAC,CAACC,OAASA,KAAKC,IAAI,KAAKJ;QAClD,IAAI,CAACC,OAAO;YACV,OAAOR;QACT;QAEA,IAAI,YAAYQ,OAAO;YACrBT,SAASS,MAAMI,eAAe;YAC9B;QACF;QAEA,IAAI,aAAaJ,SAAS,OAAOA,MAAMK,OAAO,KAAK,UAAU;YAC3D,OAAO,GAAGX,OAAO,MAAM,KAAKM,MAAMK,OAAO,EAAE;QAC7C;IACF;IAEA,OAAOb;AACT;AAEA;;CAEC,GACD,OAAO,MAAMc,oBAAoB,CAAC,EAChCf,MAAM,EACNC,IAAI,EAIL;IACC,IAAI,CAACA,MAAM;QACT,OAAOe;IACT;IAEA,IAAIC,MAAMC,OAAO,CAACjB,OAAO;QACvB,OAAOA,KAAKkB,GAAG,CAAC,CAAClB,OAASF,aAAa;gBAAEC;gBAAQC;YAAK;IACxD;IAEA,OAAOF,aAAa;QAAEC;QAAQC;IAAK;AACrC,EAAC"} |