@mittwald/react-use-promise
Version:
Simple and declarative use of Promises in your React components. Observe their state and refresh them in various advanced ways.
34 lines (33 loc) • 1.34 kB
JavaScript
import { expectType } from "tsd";
import { usePromise } from "./usePromise.js";
// eslint-disable-next-line @typescript-eslint/no-unused-vars
function testResultOfUsePromiseMatchesAsyncLoaderReturnType() {
const result = usePromise(loader, [0]);
expectType(result);
// @ts-expect-error Access to unknown prop
console.log(result.unknownProp);
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
function testResultOfUsePromiseMatchesAsyncLoaderReturnTypeWithDisabledSuspense() {
const result = usePromise(loader, [0], {
useSuspense: false,
});
expectType(result);
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
function testParametersOfUsePromiseMatchingAsyncLoaderParameters() {
const testAsyncLoader = {};
// @ts-expect-error Access to unknown prop
usePromise(testAsyncLoader, []);
// @ts-expect-error Access to unknown prop
usePromise(testAsyncLoader, ["foo"]);
// @ts-expect-error Access to unknown prop
usePromise(testAsyncLoader, [42, 42]);
usePromise(testAsyncLoader, [42, "bar"]);
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
function testResultTypeIncludeUndefinedWhenParametersAreNull() {
const maybeNullParameters = {};
const result = usePromise(loader, maybeNullParameters);
expectType(result);
}