@dudousxd/nestjs-inertia-client
v1.8.0
Published
Tuyau-style typed HTTP client for @dudousxd/nestjs-inertia, built on TanStack Query v5 core.
Readme
@dudousxd/nestjs-inertia-client
Typed HTTP client,
@Asroute naming,<Link>components for React/Vue/Svelte, and SSR hydration.
Install
pnpm add @dudousxd/nestjs-inertia-clientWhat it does
The codegen emits .nestjs-inertia/api.ts with queryOptions(), mutationOptions(), and queryKey() for every controller endpoint. This package provides:
@As(name)to override auto-derived route namescreateFetcher()for a typed fetch client- Typed
<Link>components for React, Vue 3, and Svelte - SSR hydration helpers for TanStack Query
Usage
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
import { api } from '~codegen/api';
// Queries
const { data } = useQuery(api.users.list.queryOptions());
// Mutations
const create = useMutation(api.users.create.mutationOptions());
await create.mutateAsync({ name: 'Alice', email: '[email protected]' });
// Cache invalidation
const qc = useQueryClient();
qc.invalidateQueries({ queryKey: api.users.list.queryKey() });Typed <Link>
import { Link } from '@dudousxd/nestjs-inertia-client/react';
<Link route="users.show" routeParams={{ id: '42' }}>View user</Link>Also available as /vue and /svelte subpaths.
Docs
Full documentation: https://davidecarvalho.github.io/nestjs-inertia/guides/typed-client/
License
MIT
