{"version":3,"file":"awaited.cjs","names":["<Solid.Show when={props.ready()}>\n      {(_) => {\n        const state = props.deferred[TSR_DEFERRED_PROMISE]\n        if (state.status === 'error') {\n          throw state.error\n        }\n        return props.children(state.data as T) as any\n      }}\n    </Solid.Show>","Solid.Show","<Solid.Loading fallback={props.fallback as any}>\n      <InnerAwait deferred={deferred} ready={ready}>\n        {props.children}\n      </InnerAwait>\n    </Solid.Loading>","Solid.Loading","<InnerAwait deferred={deferred} ready={ready}>\n        {props.children}\n      </InnerAwait>"],"sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\nimport type { SolidNode } from './route'\n\nexport type AwaitOptions<T> = {\n  promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n  promise: _promise,\n}: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>] {\n  const promise = defer(_promise)\n  const data = Solid.createMemo(async () => await promise)\n\n  return [data(), promise]\n}\n\nfunction InnerAwait<T>(props: {\n  deferred: DeferredPromise<T>\n  ready: Solid.Accessor<unknown>\n  children: (res: T) => SolidNode\n}) {\n  return (\n    <Solid.Show when={props.ready()}>\n      {(_) => {\n        const state = props.deferred[TSR_DEFERRED_PROMISE]\n        if (state.status === 'error') {\n          throw state.error\n        }\n        return props.children(state.data as T) as any\n      }}\n    </Solid.Show>\n  )\n}\n\nexport function Await<T>(\n  props: AwaitOptions<T> & {\n    fallback?: SolidNode\n    children: (result: T) => SolidNode\n  },\n) {\n  const deferred = defer(props.promise)\n  const ready = Solid.createMemo(async () => {\n    await deferred\n    return true\n  })\n\n  return (\n    <Solid.Loading fallback={props.fallback as any}>\n      <InnerAwait deferred={deferred} ready={ready}>\n        {props.children}\n      </InnerAwait>\n    </Solid.Loading>\n  )\n}\n"],"mappings":";;;;;;AAUA,SAAgB,WAAc,EAC5B,SAAS,YACiD;CAC1D,MAAM,WAAA,GAAA,sBAAA,OAAgB,QAAQ;CAG9B,OAAO,CAFM,SAAM,WAAW,YAAY,MAAM,OAExC,EAAK,GAAG,OAAO;AACzB;AAEA,SAAS,WAAc,OAIpB;CACD,QAAA,GAAA,aAAA,iBACEA,SAACC,MAAD;EAAY,IAAA,OAAA;UAAM,MAAM,MAAM;EAAC;EAA/BD,WACI,MAAM;GACN,MAAM,QAAQ,MAAM,SAAS,sBAAA;GAC7B,IAAI,MAAM,WAAW,SACnB,MAAM,MAAM;GAEd,OAAO,MAAM,SAAS,MAAM,IAAS;EACvC;CACU,CAAA;AAEhB;AAEA,SAAgB,MACd,OAIA;CACA,MAAM,YAAA,GAAA,sBAAA,OAAiB,MAAM,OAAO;CACpC,MAAM,QAAQ,SAAM,WAAW,YAAY;EACzC,MAAM;EACN,OAAO;CACT,CAAC;CAED,QAAA,GAAA,aAAA,iBACEE,SAACC,SAAD;EAAe,IAAA,WAAA;UAAU,MAAM;EAAe;EAA9C,IAAA,WAAA;4CACEC,YAAAA;IAAsB;IAAiB;IAAvC,IAAA,WAAA;YACG,MAAM;IACG;;EACC;;AAEnB"}