Simple API Client for JavaScript.
WIP
npm install --save @moqada/simple-api-client
import SimpleAPIClient from '@moqada/simple-api-client';
class APIClinet extends SimpleAPIClient {
constructor({token, custom}: {token: string, custom: string}) {
super({endpoint: 'http://api.example.com/v1'});
this.token = token;
this.custom = custom;
}
getDefaultOptions(): Object {
return {
headers: {
'Authorization': `Bearer ${this.token}`,
'X-Custom-Header': `${this.custom}`
}
};
}
toResponse(error: ?Object, response: ?Object): Object {
if (error) {
return {error};
}
return {
body: response.body
};
}
getUsers(query): Promise<{body: Object}, {error: Object}> {
return this.get('/users', {query});
}
}
const clinet = new APIClinet({token: 'xxxxxxxyyyyy', custom: 'foobar'});
client.getUsers({offset: 20, limit: 10}).then(({body}) => {
console.log(body);
}).catch(({error}) => {
console.error(error);
}):
A import style is different from JavaScript.
import {SimpleAPIClient} from '@moqada/simple-api-client';
- Test
- Support TypeScript (experimental)
- @moqada/simple-api-client-generator - A CLI generating API Client from JSON Hyper Schema