@tg-resources/fetch
TypeScript icon, indicating that this package has built-in type declarations

3.3.0 • Public • Published

tg-resources Fetch backend

NPM version

Notice: This package expects fetch, Request, Response and FormData to be available in global scope, e.g in window for Browser or in global for Node.js

Installing

Using NPM

npm i tg-resources @tg-resources/fetch

Or using Yarn

yarn add tg-resources @tg-resources/fetch

Does it work on react native?

YES

Basic Usage

import { Router } from "tg-resources"
import { FetchResource } from "@tg-resources/fetch"

const onLoad = result => console.log(result);
const onError = result => console.error(result);


const api = new Router({
    cats: new FetchResource('/cats'),
    cat: new FetchResource('/cats/${pk}')
}, {
    apiRoot: '/api/v1' // Set api root
});

// Do a get request to /api/v1/cats?gender=M
api.cats.fetch(null, {gender: 'M'}).then(onLoad, onError);

// Do a head request to /api/v1/cats?gender=M
api.cats.head(null, {gender: 'M'}).then(onLoad, onError);

// Do a post request to /api/v1/cats with data: {name: 'Twinky', gender: 'M'}
api.cats.post(null, {name: 'Twinky', gender: 'M'}).then(onLoad, onError);

// Do a patch request to /api/v1/cats/1 with data: {name: 'Tinkelberg'}
api.cat.patch({pk: 1}, {name: 'Tinkelberg'}).then(onLoad, onError);

// Do a put request to /api/v1/cats with data: {pk: 1, name: 'Twinky'}
api.cats.put(null, {pk: 1, name: 'Twinky', gender: 'M'}).then(onLoad, onError);

// Do a delete request to /api/v1/cats/1 with data: {'free':'yes'}
api.cat.del({pk: 1}, {free: 'yes'}).then(onLoad, onError);

Configuration

This package adds extra configuration methods for Router and FetchResource.

  • querySerializeOptions (Object|undefined): Advanced usage: Options to configure query-string serialization. See qs.stringify.

This package is just Resource implementation using fetch. For additional configuration, see Configuration.

License

MIT © Thorgate

Versions

Current Tags

Version History

Package Sidebar

Install

npm i @tg-resources/fetch

Weekly Downloads

285

Version

3.3.0

License

MIT

Unpacked Size

78.6 kB

Total Files

14

Last publish

Collaborators

  • thorgate-main
  • jyrno42
  • metsavaht