fetchyeah v5.1.0
fetchyeah
Tiny JSON fetch wrapper library. ~1.7kb gzipped.
fetchyeah is a small fetch wrapper library that always parses JSON and returns
JS. Smaller than Axios, Request, R2, and the whatwg-fetch polyfill itself.
Installation
npm i fetchyeah
Usage
import { get } from 'fetchyeah'
get('/foo')Methods
delgetpatchpostput
This only provides functions for these common HTTP methods, but you can easily add
your own. Check out the source for notes on how to use sendJson directly.
The return value is always a simple response of type
type SimpleResponse<T> = {
ok: boolean
status: number
headers: Headers
body: T
}Examples
Node:
require('isomorphic-fetch') // brings in fetch for Node
import * as f from 'fetchyeah'
// some koa route
router.get('/foo/:id', async (ctx) => {
try {
const thing = await f.get(`/some-service/${id}`)
ctx.type = 'application/json'
ctx.body = thing
} catch (e) {
someLogger.error(e)
ctx.status = 500
ctx.body = e
}
})Browser:
import * as React from 'react'
import { post } from 'fetchyeah'
class Foo extends React.Component {
state = { things: null }
submitThings = () => {
post('/stuff', { body: this.state.things })
.then((res) => {
if (res) {
alert(res)
}
})
.catch((err) => {
someErrorHandler(err)
})
}
setThings = (e) => {
this.setState({ things: e.target.value })
}
render () {
return (
<React.Fragment>
<input
type="text"
onChange={this.setThings}
value={this.state.things}
/>
<button onClick={submitThings}>
Send the things!
</button>
</React.Fragment>
)
}
}Adding headers:
import { post } from 'fetchyeah'
post('/foo', {
body: someObject,
headers: {
'x-foo-bar': 'baz',
}
})Environment
This library assumes fetch is available. You may need to polyfill it!
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago