@tanstack/vue-router
Version:
Modern and scalable routing for Vue applications
30 lines (29 loc) • 790 B
JavaScript
import { TSR_DEFERRED_PROMISE, defer } from "@tanstack/router-core";
import * as Vue from "vue";
//#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];
}
var Await = Vue.defineComponent({
name: "Await",
props: {
promise: {
type: Promise,
required: true
},
children: {
type: Function,
required: true
}
},
async setup(props) {
const data = await defer(props.promise);
return () => props.children(data);
}
});
//#endregion
export { Await, useAwaited };
//# sourceMappingURL=awaited.js.map