Data Layer
The data layer handles all server-state concerns: API calls, caching, mutations, persistence, and offline support.
What's Included
| Feature | Description | Page |
|---|---|---|
| Resources | Cached API reads with deduplication, invalidation, and pagination | Resources |
| Mutations | API writes with optimistic rollback and offline queueing | Mutations |
| API Client | HTTP client with auth refresh, retry, timeout, and upload | API Client |
| Persistence | localStorage, sessionStorage, IndexedDB, memory adapters | Persistence |
Resources vs. Mutations
| Resources | Mutations | |
|---|---|---|
| Purpose | Read data | Write data |
| Caching | Yes (staleTime, cacheTime) | No |
| Deduplication | Yes | No |
| Optimistic | No | Yes |
| Offline queue | No | Yes |
| Invalidation | Via tags | Triggers invalidation |
Import
ts
// Resources and mutations are available from the main package
import { createMesh } from "statemesh-core";
// API client
import { createApiClient } from "statemesh-core";