kia-ml
Version:
Kia
38 lines (32 loc) • 1.11 kB
JavaScript
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { getGeneralApiProblem } from './api-problem';
const API_PAGE_SIZE = 50;
export class CharacterApi {
constructor(api) {
_defineProperty(this, "api", void 0);
this.api = api;
}
async getCharacters() {
try {
// make the api call
const response = await this.api.apisauce.get('https://raw.githubusercontent.com/infinitered/ignite/master/data/rick-and-morty.json', {
amount: API_PAGE_SIZE
}); // the typical ways to die when calling an api
if (!response.ok) {
const problem = getGeneralApiProblem(response);
if (problem) return problem;
}
const characters = response.data.results;
return {
kind: 'ok',
characters
};
} catch (e) {
// __DEV__ && console.tron.log(e.message)
return {
kind: 'bad-data'
};
}
}
}
//# sourceMappingURL=character-api.js.map