{"version":3,"sources":["../../src/utils/handleSuspense.ts"],"names":["_fakeSuspense","getPromise_default"],"mappings":";;;;;AAOA,IAAM,cAAiB,GAAA,CACrB,KACA,EAAA,gBAAA,EACA,WACG,KAAA;AACH,EAAA,IAAIA,OAAmB,KAAO,EAAA;AAC5B,IAAO,OAAA,KAAA,CAAMA,CAAc,CAAA,WAAA,EAAa,gBAAgB,CAAA;AAAA;AAG1D,EAAA,IAAK,MAAwB,IAAM,EAAA;AACjC,IAAA,IAAI,CAAC,WAAa,EAAA;AAChB,MAAM,MAAA,IAAI,MAAM,qBAAqB,CAAA;AAAA;AAGvC,IAAA,IAAI,CAAC,WAAA,CAAY,GAAI,CAAA,KAAK,CAAG,EAAA;AAC3B,MAAM,MAAA,MAAA,GAAU,MAAwB,IAAK,EAAA;AAE7C,MAAY,WAAA,CAAA,GAAA,CAAI,OAAO,MAAM,CAAA;AAE7B,MAAA,IAAI,gBAAkB,EAAA;AACpB,QAAA,gBAAA,CAAiB,IAAI,MAAM,CAAA;AAAA;AAC7B;AACF;AAGF,EAAA,OAAOC,qCAAW,KAAK,CAAA;AACzB,CAAA;AAEA,IAAO,sBAAQ,GAAA","file":"chunk-ICGMJMYG.cjs","sourcesContent":["import type { ContextType } from 'react';\nimport type { AnyAsyncState, LoadableState } from '../types';\nimport type ErrorBoundaryContext from './ErrorBoundaryContext';\nimport type SuspenseContext from './SuspenseContext';\nimport getPromise from '../getPromise';\nimport type { SkeletonState } from '../SKELETON_STATE';\n\nconst handleSuspense = (\n  state: AnyAsyncState | SkeletonState,\n  errorBoundaryCtx: ContextType<typeof ErrorBoundaryContext>,\n  suspenseCtx: ContextType<typeof SuspenseContext>\n) => {\n  if ('_fakeSuspense' in state) {\n    return state._fakeSuspense(suspenseCtx, errorBoundaryCtx);\n  }\n\n  if ((state as LoadableState).load) {\n    if (!suspenseCtx) {\n      throw new Error('No Suspense Wrapper');\n    }\n\n    if (!suspenseCtx.has(state)) {\n      const unload = (state as LoadableState).load();\n\n      suspenseCtx.set(state, unload);\n\n      if (errorBoundaryCtx) {\n        errorBoundaryCtx.add(unload);\n      }\n    }\n  }\n\n  return getPromise(state);\n};\n\nexport default handleSuspense;\n"]}