{"version":3,"file":"pages/Resources/BundleDiff/DiffServerAPIProvider/index.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffServerAPIProvider/index.tsx"],"sourcesContent":["import { Client, SDK, Constants } from '@rsdoctor/types';\nimport { ServerAPIProvider } from 'src/components/Manifest';\nimport { fetchManifest, useUrlQuery } from 'src/utils';\nimport { Algorithm } from '@rsdoctor/utils/common';\nimport { BundleDiffServerAPIProviderComponentCommonProps } from '../DiffContainer/types';\n\nexport const DiffServerAPIProvider = <\n  T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends,\n>(\n  props: BundleDiffServerAPIProviderComponentCommonProps<T>,\n): React.JSX.Element => {\n  const { api, body, children, manifests } = props;\n  const query = useUrlQuery();\n\n  const windowData = (window as any)[Constants.WINDOW_RSDOCTOR_TAG];\n  if (windowData?.baseline && windowData?.current) {\n    const baseline = JSON.parse(Algorithm.decompressText(windowData.baseline));\n    const current = JSON.parse(Algorithm.decompressText(windowData.current));\n    return <>{children(baseline, current)}</>;\n  }\n\n  if (manifests?.length) {\n    return <>{children(manifests[0].data as any, manifests[1].data as any)}</>;\n  }\n\n  const [baselineFile, currentFile] =\n    query[Client.RsdoctorClientUrlQuery.BundleDiffFiles]?.split(',') || [];\n\n  return (\n    <ServerAPIProvider\n      api={api}\n      body={body}\n      manifestLoader={\n        baselineFile ? () => fetchManifest(baselineFile) : undefined\n      }\n    >\n      {(baseline) => {\n        return (\n          <ServerAPIProvider\n            api={api}\n            body={body}\n            manifestLoader={\n              currentFile ? () => fetchManifest(currentFile) : undefined\n            }\n          >\n            {(current) => {\n              return children(baseline, current);\n            }}\n          </ServerAPIProvider>\n        );\n      }}\n    </ServerAPIProvider>\n  );\n};\n"],"names":["DiffServerAPIProvider","props","api","body","children","manifests","query","useUrlQuery","windowData","window","Constants","baseline","JSON","Algorithm","current","baselineFile","currentFile","Client","ServerAPIProvider","fetchManifest","undefined"],"mappings":";;;;;AAMO,MAAMA,wBAAwB,CAGnCC;IAEA,MAAM,EAAEC,GAAG,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGJ;IAC3C,MAAMK,QAAQC;IAEd,MAAMC,aAAcC,MAAc,CAACC,UAAU,mBAAmB,CAAC;IACjE,IAAIF,YAAY,YAAYA,YAAY,SAAS;QAC/C,MAAMG,WAAWC,KAAK,KAAK,CAACC,UAAU,cAAc,CAACL,WAAW,QAAQ;QACxE,MAAMM,UAAUF,KAAK,KAAK,CAACC,UAAU,cAAc,CAACL,WAAW,OAAO;QACtE,OAAO,WAAP,GAAO;sBAAGJ,SAASO,UAAUG;;IAC/B;IAEA,IAAIT,WAAW,QACb,OAAO,WAAP,GAAO;kBAAGD,SAASC,SAAS,CAAC,EAAE,CAAC,IAAI,EAASA,SAAS,CAAC,EAAE,CAAC,IAAI;;IAGhE,MAAM,CAACU,cAAcC,YAAY,GAC/BV,KAAK,CAACW,OAAO,sBAAsB,CAAC,eAAe,CAAC,EAAE,MAAM,QAAQ,EAAE;IAExE,OAAO,WAAP,GACE,IAACC,mBAAiBA;QAChB,KAAKhB;QACL,MAAMC;QACN,gBACEY,eAAe,IAAMI,cAAcJ,gBAAgBK;kBAGpD,CAACT,WACO,WAAP,GACE,IAACO,mBAAiBA;gBAChB,KAAKhB;gBACL,MAAMC;gBACN,gBACEa,cAAc,IAAMG,cAAcH,eAAeI;0BAGlD,CAACN,UACOV,SAASO,UAAUG;;;AAOxC"}