wreckage
Version:
A convenient, modern request library built around Wreck. A fork of Wrecked.
71 lines (52 loc) • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
var _wreck = require('wreck');
var _wreck2 = _interopRequireDefault(_wreck);
var _lodash = require('lodash.defaultsdeep');
var _lodash2 = _interopRequireDefault(_lodash);
var _defaults = require('./defaults');
var _defaults2 = _interopRequireDefault(_defaults);
var _request = require('./request');
var _request2 = _interopRequireDefault(_request);
var _read = require('./read');
var _read2 = _interopRequireDefault(_read);
var _requestWithPayload = require('./request-with-payload');
var _requestWithPayload2 = _interopRequireDefault(_requestWithPayload);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const combine = (options, defaults) => {
return (0, _lodash2.default)({}, options, defaults);
};
const wreckage = {
get(uri, options = {}) {
return (0, _request2.default)('GET', uri, combine(options, this.defaults));
},
post(uri, payload, options = {}) {
return (0, _requestWithPayload2.default)('POST', uri, payload, combine(options, this.defaults));
},
put(uri, payload, options = {}) {
return (0, _requestWithPayload2.default)('PUT', uri, payload, combine(options, this.defaults));
},
patch(uri, payload, options = {}) {
return (0, _requestWithPayload2.default)('PATCH', uri, payload, combine(options, this.defaults));
},
delete(uri, payload, options = {}) {
return (0, _requestWithPayload2.default)('DELETE', uri, payload, combine(options, this.defaults));
},
request(method, uri, options = {}) {
const combined = combine(options, this.defaults);
return _wreck2.default.request(method, uri, combined.request || {});
},
read(response, options = {}) {
const combined = combine(options, this.defaults);
return (0, _read2.default)(response, combined.read || {});
},
create(options = {}) {
return (0, _assign2.default)({}, this, { defaults: combine(options, this.defaults) });
},
defaults: _defaults2.default
};
exports.default = wreckage;