{"version":3,"file":"api.mjs","sources":["../../../admin/src/utils/api.ts"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { ApiError, type UnknownApiError } from '@strapi/admin/strapi-admin';\n\ninterface Query {\n plugins?: Record;\n _q?: string;\n [key: string]: unknown;\n}\n\n/**\n * This type extracts the plugin options from the query\n * and appends them to the root of the query\n */\ntype TransformedQuery = Omit & {\n [key: string]: unknown;\n};\n\n/**\n * @description\n * Creates a valid query params object for get requests\n * ie. plugins[i18n][locale]=en becomes locale=en\n */\nconst buildValidParams = (query: TQuery): TransformedQuery => {\n if (!query) return query;\n\n // Extract pluginOptions from the query, they shouldn't be part of the URL\n const { plugins: _, ...validQueryParams } = {\n ...query,\n ...Object.values(query?.plugins ?? {}).reduce>((acc, current) => {\n if (typeof current === 'object' && current !== null) {\n return Object.assign(acc, current);\n }\n\n return acc;\n }, {}),\n };\n\n return validQueryParams;\n};\n\ntype BaseQueryError = ApiError | UnknownApiError;\n\nconst isBaseQueryError = (error: BaseQueryError | SerializedError): error is BaseQueryError => {\n return error.name !== undefined;\n};\n\nexport { isBaseQueryError, buildValidParams };\nexport type { BaseQueryError, UnknownApiError };\n"],"names":["buildValidParams","query","plugins","_","validQueryParams","Object","values","reduce","acc","current","assign","isBaseQueryError","error","name","undefined"],"mappings":"AAiBA;;;;IAKA,MAAMA,mBAAmB,CAAuBC,KAAAA,GAAAA;IAC9C,IAAI,CAACA,OAAO,OAAOA,KAAAA;;AAGnB,IAAA,MAAM,EAAEC,OAAAA,EAASC,CAAC,EAAE,GAAGC,kBAAkB,GAAG;AAC1C,QAAA,GAAGH,KAAK;QACR,GAAGI,MAAAA,CAAOC,MAAM,CAACL,KAAAA,EAAOC,OAAAA,IAAW,EAAC,CAAA,CAAGK,MAAM,CAA0B,CAACC,GAAAA,EAAKC,OAAAA,GAAAA;AAC3E,YAAA,IAAI,OAAOA,OAAAA,KAAY,QAAA,IAAYA,OAAAA,KAAY,IAAA,EAAM;gBACnD,OAAOJ,MAAAA,CAAOK,MAAM,CAACF,GAAAA,EAAKC,OAAAA,CAAAA;AAC5B,YAAA;YAEA,OAAOD,GAAAA;AACT,QAAA,CAAA,EAAG,EAAC;AACN,KAAA;IAEA,OAAOJ,gBAAAA;AACT;AAIA,MAAMO,mBAAmB,CAACC,KAAAA,GAAAA;IACxB,OAAOA,KAAAA,CAAMC,IAAI,KAAKC,SAAAA;AACxB;;;;"}