devour-client
Version:
A lightweight, framework agnostic, flexible JSON API client
36 lines (31 loc) • 908 B
JavaScript
var serialize = require('./_serialize');
module.exports = {
name: 'PATCH',
req: function req(payload) {
var jsonApi = payload.jsonApi;
if (payload.req.method === 'PATCH') {
payload.req.headers = {
'Content-Type': 'application/vnd.api+json',
Accept: 'application/vnd.api+json'
};
if (payload.req.data === null) {
payload.req.data = {
data: null,
meta: payload.req.meta
};
} else 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;
}
};
;