3.0.0 • Published 10 months ago

eproxe-swr-extension v3.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

eproxe-swr-extension

Install

npm i eproxe-swr-extension
pnpm add eproxe-swr-extension

Usage

for this to work you need an extension that transforms eproxe calls to async data, see extensions

Example

client/api.ts

import eproxe from 'eproxe';
import type { ServerApi } from '../../server/src/api';
import AxiosProxyExtension from 'eproxe-axios-extension';
import axios from 'axios';
import SwrProxyExtension from 'eproxe-swr-extension';

const procedures = eproxe<ServerApi>();
const axiosInstance = axios.create({ baseURL: 'http://localhost:3000' });
const AxiosExtension = new AxiosProxyExtension(axiosInstance);
const SwrExtension = new SwrProxyExtension();

// the order matters! swr is ontop of an already present data fetching extension
const API = SwrExtension.extend(AxiosExtension.extend(procedures));

export default API;

client/App.tsx

import API from './api';

function App() {
	const { data, mutate, isValidating } = API.testApi.getRandomNumber.use(
		-50,
		50
	);

	if (isValidating) return <>Loading...</>;

	return <button onClick={() => mutate()}>click to mutate ({data})</button>;
}

see a full example here

3.0.0

10 months ago

2.0.0

11 months ago

1.0.0

11 months ago