UNPKG

847 BJavaScriptView Raw
1'use strict';
2
3module.exports = function (errors) {
4 var jsonapi = {
5 errors: []
6 };
7
8 errors.forEach(function (error) {
9 var opts = {};
10
11 if (error.id) { opts.id = error.id; }
12 if (error.status) { opts.status = error.status; }
13 if (error.code) { opts.code = error.code; }
14 if (error.title) { opts.title = error.title; }
15 if (error.detail) { opts.detail = error.detail; }
16
17 if (error.source) {
18 opts.source = {};
19
20 if (error.source.pointer) {
21 opts.source.pointer = error.source.pointer;
22 }
23
24 if (error.source.parameter) {
25 opts.source.parameter = error.source.parameter;
26 }
27 }
28
29 if (error.links) {
30 opts.links = { about: error.links.about };
31 }
32
33 if (error.meta) {
34 opts.meta = error.meta;
35 }
36
37 jsonapi.errors.push(opts);
38 });
39
40 return jsonapi;
41};