fitch
Version:
A lightweight Promise based HTTP client, using Fetch API.
86 lines (68 loc) • 1.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.put = exports.post = exports.patch = exports.init = exports.get = exports.del = exports.all = undefined;
var _lodash = require('lodash.merge');
var _lodash2 = _interopRequireDefault(_lodash);
var _request = require('./utils/request');
var _request2 = _interopRequireDefault(_request);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function intializer(rqst) {
function get(url, req) {
return rqst('GET', url, req);
}
function post(url, req) {
return rqst('POST', url, req);
}
function put(url, req) {
return rqst('PUT', url, req);
}
function patch(url, req) {
return rqst('PATCH', url, req);
}
function del(url, req) {
return rqst('DELETE', url, req);
}
function all(promises) {
return Promise.all(promises);
}
function init() {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$config = _ref.config,
config = _ref$config === undefined ? {} : _ref$config,
_ref$interceptor = _ref.interceptor,
interceptor = _ref$interceptor === undefined ? function (promise) {
return promise;
} : _ref$interceptor;
var customRqst = function customRqst(method, url, req) {
return (0, _request2.default)(method, url, (0, _lodash2.default)({}, config, req)).then(interceptor);
};
return intializer(customRqst);
}
return {
all: all,
del: del,
get: get,
init: init,
patch: patch,
post: post,
put: put
};
}
var fitch = intializer(_request2.default);
exports.default = fitch;
var all = fitch.all,
del = fitch.del,
get = fitch.get,
init = fitch.init,
patch = fitch.patch,
post = fitch.post,
put = fitch.put;
exports.all = all;
exports.del = del;
exports.get = get;
exports.init = init;
exports.patch = patch;
exports.post = post;
exports.put = put;