@tanstack/angular-query-experimental
Version:
Signals for managing, caching and syncing asynchronous and remote data in Angular
33 lines (32 loc) • 919 B
JavaScript
import { InjectionToken, inject, DestroyRef } from "@angular/core";
import { QueryClient } from "@tanstack/query-core";
function provideQueryClient(queryClient) {
return {
provide: QueryClient,
useFactory: () => {
const client = queryClient instanceof InjectionToken ? inject(queryClient) : queryClient;
inject(DestroyRef).onDestroy(() => client.unmount());
client.mount();
return client;
}
};
}
function provideTanStackQuery(queryClient, ...features) {
return [
provideQueryClient(queryClient),
features.map((feature) => feature.ɵproviders)
];
}
function provideAngularQuery(queryClient) {
return provideTanStackQuery(queryClient);
}
function queryFeature(kind, providers) {
return { ɵkind: kind, ɵproviders: providers };
}
export {
provideAngularQuery,
provideQueryClient,
provideTanStackQuery,
queryFeature
};
//# sourceMappingURL=providers.mjs.map