@evo/fetch-io

Service for fetching data.

Stats

StarsIssuesVersionUpdatedCreatedSize
@evo/fetch-io
2.3.04 months ago4 years agoMinified + gzip package size for @evo/fetch-io in KB

Readme

fetch-io

Service for fetching data.

usage

import { GET, init } from '@evo/user-info';

const data = await GET('some/url');

API

Each api method implements Promise interface (can be awaited) and can throw 2 kind of exceptions FetchNetworkError and FetchDataError.

  • FetchNetworkError - is thrown when something is wrong with the network request.
  • FetchDataError is thrown when response has { status: 'error' }.

init(myHost: string): void

Initializes myHost for the service.

fetch-io depends on the user-info service so you need to initialize it also

The following API methods have the same signatures:

GET(url: string, params: Object, opts: Object): Response

POST(url: string, params: Object, opts: Object): Response

PUT(url: string, params: Object, opts: Object): Response

DELETE(url: string, params: Object, opts: Object): Response

Params:

  • url - url host
  • params - params that will be passed to fetch
  • opts - options passed to fetch call.

Executes GET request

Example

import { GET, POST } from '@evo/fetch-io';

const data = await GET('<url>');
const data = await POST('<url>', { param1: 'test' });
const data = await POST('<url>', { param1: 'test' }, { credentials: 'same-origin' });

The following API methods will use myHost as a host for the request:

my.GET(url: string, params: Object, opts: Object): Response

my.POST(url: string, params: Object, opts: Object): Response

my.PUT(url: string, params: Object, opts: Object): Response

my.DELETE(url: string, params: Object, opts: Object): Response

Example

import { my } from '@evo/fetch-io';

const data = await my.GET('<url>');
const data = await my.POST('<url>', { param1: 'test' });

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.