fractal-devour-client
Version:
A lightweight, framework agnostic, flexible JSON API client
32 lines (27 loc) • 1.06 kB
JavaScript
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var serialize = require('./_serialize');
module.exports = {
name: 'POST',
req: function req(payload) {
var jsonApi = payload.jsonApi;
if (payload.req.method === 'POST') {
payload.req.headers = _extends({}, payload.req.headers, {
'Content-Type': 'application/vnd.api+json',
'Accept': 'application/vnd.api+json'
});
if (payload.req.data.constructor === Array) {
payload.req.data = {
data: serialize.collection.call(jsonApi, payload.req.model, payload.req.data),
meta: payload.req.meta
};
} else {
payload.req.data = {
data: serialize.resource.call(jsonApi, payload.req.model, payload.req.data),
meta: payload.req.meta
};
}
}
return payload;
}
};
;