UNPKG

@datocms/rest-client-utils

Version:
36 lines 1.41 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function hasData(thing) { return typeof thing === 'object' && !!thing && 'data' in thing; } export function deserializeJsonEntity(_a) { var id = _a.id, type = _a.type, attributes = _a.attributes, relationships = _a.relationships, meta = _a.meta; return __assign(__assign(__assign(__assign(__assign({}, (id ? { id: id } : {})), (type ? { type: type } : {})), (attributes || {})), (relationships ? Object.fromEntries(Object.entries(relationships).map(function (_a) { var rel = _a[0], value = _a[1]; return [ rel, value === null || value === void 0 ? void 0 : value.data, ]; })) : {})), (meta ? { meta: meta } : {})); } export function deserializeResponseBody(body) { if (!hasData(body)) { throw new Error('Invalid body!'); } if (Array.isArray(body.data)) { return body.data.map(deserializeJsonEntity); } return deserializeJsonEntity(body.data); } //# sourceMappingURL=deserialize.js.map