UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

26 lines (25 loc) 872 B
import { TSR_DEFERRED_PROMISE, defer } from "@tanstack/router-core"; import { createComponent } from "solid-js/web"; import * as Solid from "solid-js"; //#region src/awaited.tsx function useAwaited({ promise: _promise }) { const promise = defer(_promise); if (promise[TSR_DEFERRED_PROMISE].status === "pending") throw promise; if (promise[TSR_DEFERRED_PROMISE].status === "error") throw promise[TSR_DEFERRED_PROMISE].error; return [promise[TSR_DEFERRED_PROMISE].data, promise]; } function Await(props) { const [resource] = Solid.createResource(() => defer(props.promise), (p) => p, { deferStream: true }); return createComponent(Solid.Show, { get fallback() { return props.fallback; }, get when() { return resource(); }, children: (data) => props.children(data()) }); } //#endregion export { Await, useAwaited }; //# sourceMappingURL=awaited.js.map