UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

48 lines (47 loc) 1.37 kB
const require_runtime = require("./_virtual/_rolldown/runtime.cjs"); let _tanstack_router_core = require("@tanstack/router-core"); let _solidjs_web = require("@solidjs/web"); let solid_js = require("solid-js"); solid_js = require_runtime.__toESM(solid_js, 1); //#region src/awaited.tsx function useAwaited({ promise: _promise }) { const promise = (0, _tanstack_router_core.defer)(_promise); return [solid_js.createMemo(async () => await promise)(), promise]; } function InnerAwait(props) { return (0, _solidjs_web.createComponent)(solid_js.Show, { get when() { return props.ready(); }, children: (_) => { const state = props.deferred[_tanstack_router_core.TSR_DEFERRED_PROMISE]; if (state.status === "error") throw state.error; return props.children(state.data); } }); } function Await(props) { const deferred = (0, _tanstack_router_core.defer)(props.promise); const ready = solid_js.createMemo(async () => { await deferred; return true; }); return (0, _solidjs_web.createComponent)(solid_js.Loading, { get fallback() { return props.fallback; }, get children() { return (0, _solidjs_web.createComponent)(InnerAwait, { deferred, ready, get children() { return props.children; } }); } }); } //#endregion exports.Await = Await; exports.useAwaited = useAwaited; //# sourceMappingURL=awaited.cjs.map