UNPKG

@tanstack/vue-router

Version:

Modern and scalable routing for Vue applications

31 lines 908 B
import * as Vue from 'vue'; import { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'; export 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]; } export const Await = Vue.defineComponent({ name: 'Await', props: { promise: { type: Promise, required: true, }, children: { type: Function, required: true, }, }, async setup(props) { const deferred = defer(props.promise); const data = await deferred; return () => props.children(data); }, }); //# sourceMappingURL=awaited.jsx.map