UNPKG

react-giphy-searchbox-stickers

Version:
57 lines (45 loc) 1.38 kB
'use strict'; exports.__esModule = true; var _react = require('react'); var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios); var _dataFetchReducer = require('../reducers/dataFetchReducer'); var _dataFetchReducer2 = _interopRequireDefault(_dataFetchReducer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var useApi = function useApi() { var _useReducer = (0, _react.useReducer)(_dataFetchReducer2.default, { loading: false, error: false, data: [], lastPage: false }), state = _useReducer[0], dispatch = _useReducer[1]; var fetch = function fetch(url, isMore) { if (isMore) { dispatch({ type: 'FETCH_MORE_INIT' }); } else { dispatch({ type: 'FETCH_INIT' }); } _axios2.default.get(url).then(function (response) { if (isMore) { dispatch({ type: 'FETCH_MORE_SUCCESS', payload: response.data.data, pagination: response.data.pagination }); } else { dispatch({ type: 'FETCH_SUCCESS', payload: response.data.data, pagination: response.data.pagination }); } }).catch(function () { dispatch({ type: 'FETCH_FAILURE' }); }); }; return [state, fetch]; }; exports.default = useApi; module.exports = exports['default'];