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
3.9 KiB
Plaintext
1 line
3.9 KiB
Plaintext
{"version":3,"sources":["../../src/utilities/addLocalesToRequest.ts"],"sourcesContent":["import type { SanitizedConfig } from '../config/types.js'\nimport type { TypedFallbackLocale } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { sanitizeFallbackLocale } from './sanitizeFallbackLocale.js'\n\n/**\n * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams\n */\nexport function addLocalesToRequestFromData(req: PayloadRequest): void {\n const {\n data,\n payload: { config },\n } = req\n\n if (data) {\n const localeOnReq = req.locale\n const fallbackLocaleOnReq = req.fallbackLocale\n let localeFromData!: string\n let fallbackLocaleFromData!: string | string[]\n\n if (!localeOnReq && data?.locale && typeof data.locale === 'string') {\n localeFromData = data.locale\n }\n\n if (!fallbackLocaleOnReq) {\n if (data?.['fallback-locale'] && typeof data?.['fallback-locale'] === 'string') {\n fallbackLocaleFromData = data['fallback-locale']\n }\n\n if (data?.['fallbackLocale'] && typeof data?.['fallbackLocale'] === 'string') {\n fallbackLocaleFromData = data['fallbackLocale']\n }\n }\n\n if (!localeOnReq || !fallbackLocaleOnReq) {\n const { fallbackLocale, locale } = sanitizeLocales({\n fallbackLocale: fallbackLocaleFromData,\n locale: localeFromData,\n localization: config.localization,\n })\n\n if (localeFromData) {\n req.locale = locale\n }\n\n if (fallbackLocaleFromData) {\n req.fallbackLocale = fallbackLocale\n }\n }\n }\n}\n\ntype SanitizeLocalesArgs = {\n fallbackLocale: TypedFallbackLocale\n locale: string\n localization: SanitizedConfig['localization']\n}\ntype SanitizeLocalesReturn = {\n fallbackLocale?: TypedFallbackLocale\n locale?: string\n}\nexport const sanitizeLocales = ({\n fallbackLocale,\n locale,\n localization,\n}: SanitizeLocalesArgs): SanitizeLocalesReturn => {\n // Check if localization has fallback enabled or if a fallback locale is provided\n\n if (localization) {\n fallbackLocale = sanitizeFallbackLocale({\n fallbackLocale,\n locale,\n localization,\n })!\n }\n\n if (['*', 'all'].includes(locale)) {\n locale = 'all'\n } else if (localization && !localization.localeCodes.includes(locale) && localization.fallback) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"names":["sanitizeFallbackLocale","addLocalesToRequestFromData","req","data","payload","config","localeOnReq","locale","fallbackLocaleOnReq","fallbackLocale","localeFromData","fallbackLocaleFromData","sanitizeLocales","localization","includes","localeCodes","fallback","defaultLocale"],"mappings":"AAIA,SAASA,sBAAsB,QAAQ,8BAA6B;AAEpE;;CAEC,GACD,OAAO,SAASC,4BAA4BC,GAAmB;IAC7D,MAAM,EACJC,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACpB,GAAGH;IAEJ,IAAIC,MAAM;QACR,MAAMG,cAAcJ,IAAIK,MAAM;QAC9B,MAAMC,sBAAsBN,IAAIO,cAAc;QAC9C,IAAIC;QACJ,IAAIC;QAEJ,IAAI,CAACL,eAAeH,MAAMI,UAAU,OAAOJ,KAAKI,MAAM,KAAK,UAAU;YACnEG,iBAAiBP,KAAKI,MAAM;QAC9B;QAEA,IAAI,CAACC,qBAAqB;YACxB,IAAIL,MAAM,CAAC,kBAAkB,IAAI,OAAOA,MAAM,CAAC,kBAAkB,KAAK,UAAU;gBAC9EQ,yBAAyBR,IAAI,CAAC,kBAAkB;YAClD;YAEA,IAAIA,MAAM,CAAC,iBAAiB,IAAI,OAAOA,MAAM,CAAC,iBAAiB,KAAK,UAAU;gBAC5EQ,yBAAyBR,IAAI,CAAC,iBAAiB;YACjD;QACF;QAEA,IAAI,CAACG,eAAe,CAACE,qBAAqB;YACxC,MAAM,EAAEC,cAAc,EAAEF,MAAM,EAAE,GAAGK,gBAAgB;gBACjDH,gBAAgBE;gBAChBJ,QAAQG;gBACRG,cAAcR,OAAOQ,YAAY;YACnC;YAEA,IAAIH,gBAAgB;gBAClBR,IAAIK,MAAM,GAAGA;YACf;YAEA,IAAII,wBAAwB;gBAC1BT,IAAIO,cAAc,GAAGA;YACvB;QACF;IACF;AACF;AAWA,OAAO,MAAMG,kBAAkB,CAAC,EAC9BH,cAAc,EACdF,MAAM,EACNM,YAAY,EACQ;IACpB,iFAAiF;IAEjF,IAAIA,cAAc;QAChBJ,iBAAiBT,uBAAuB;YACtCS;YACAF;YACAM;QACF;IACF;IAEA,IAAI;QAAC;QAAK;KAAM,CAACC,QAAQ,CAACP,SAAS;QACjCA,SAAS;IACX,OAAO,IAAIM,gBAAgB,CAACA,aAAaE,WAAW,CAACD,QAAQ,CAACP,WAAWM,aAAaG,QAAQ,EAAE;QAC9FT,SAASM,aAAaI,aAAa;IACrC;IAEA,OAAO;QACLR;QACAF;IACF;AACF,EAAC"} |