0.0.4 • Published 6 years ago
fetch-api-wrapper v0.0.4
fetch-api-wrapper ·
A Node.js module that provides a typesafe wrapper class around the fetch api that is easily extendable
Installation
npm install fetch-api-wrapper --save
yarn add fetch-api-wrapper
bower install fetch-api-wrapper --save
Usage
TypeScript
import BaseService from './BaseService';
import { SmoothieOrderResponse, SmoothieOrder } from './smoothieServiceTypes';
class SmoothieService extends BaseService<SmoothieOrderResponse> {
constructor() {
super('www.smoothiecentral.com');
}
public async getSmoothieOrders(): Promise<SmoothieOrderResponse> {
return await this.get(`${this.getServiceContext()}/smoothie/orders`);
}
public async createNewSmoothieOrder(order: SmoothieOrder): Promise<SmoothieOrderResponse> {
return await this.post(`${this.getServiceContext()}/smoothie/createorder`, order);
}
public async modifySmoothieOrder(order: SmoothieOrderResponse): Promise<SmoothieOrderResponse> {
return await this.update(`${this.getServiceContext()}/smoothie/createorder`, order);
}
public async deleteSmoothieOrder(orderId: string): Promise<SmoothieOrderResponse> {
return await this.delete(`${this.getServiceContext()}/smoothie/deleteorder/${orderId}`);
}
protected testResponse(): Promise<SmoothieOrderResponse> {
return new Promise((resolve, reject) => resolve({
orderNumber: 1,
smoothieOrders: [
{
fruit: 'apple',
blendStyle: 'chunky',
size: 'medium',
},
{
fruit: 'apple',
blendStyle: 'chunky',
size: 'medium',
}
]
}));
}
}
export default SmoothieService;
Test
npm run test