UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

47 lines (46 loc) 1.39 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 inner = (0, _solidjs_web.createComponent)(InnerAwait, { deferred, ready: solid_js.createMemo(async () => { await deferred; return true; }), get children() { return props.children; } }); if (props.fallback === void 0) return inner; return (0, _solidjs_web.createComponent)(solid_js.Loading, { get fallback() { return props.fallback; }, children: inner }); } //#endregion exports.Await = Await; exports.useAwaited = useAwaited; //# sourceMappingURL=awaited.cjs.map