Recipes
Authentication
You can use the getClient option to add authentication to your routes. For example, if you want to add a JWT authentication to your routes, you can do:
import { createRoute } from 'agrume'
const getUser = ({ token }) => {
// ...
}
const getAgrumeClient = (requestOptions) => {
return async (parameters) => {
const token = localStorage.getItem('token')
const response = await fetch(
`http://localhost:3000${requestOptions.url}`,
{
...requestOptions,
body: JSON.stringify({
...parameters,
token
})
}
)
return response.json()
}
}
const authenticatedRoute = createRoute(
async (parameters) => {
const user = await getUser(parameters)
return user
},
{
getClient: getAgrumeClient
},
)React Native/Metro
Look at the metro.config.js, babel.config.js and package.json files in the Yvees repository to see how you can configure Agrume with React Native.
Other examples
You can find examples in the examples directory.