@datocms/rest-client-utils 3.3.10 → 3.3.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -57,8 +57,27 @@ describe('buildNormalizedParams', function () {
57
57
  filter: { fields: { md5: { eq: 'foo' } } },
58
58
  })).toMatchInlineSnapshot("\n [\n [\n \"filter[fields][md5][eq]\",\n \"foo\",\n ],\n ]\n ");
59
59
  expect((0, buildNormalizedParams_1.buildNormalizedParams)({
60
- foo: { bar: ['a', 'b', 10] },
61
- })).toMatchInlineSnapshot("\n [\n [\n \"foo[bar][]\",\n \"a\",\n ],\n [\n \"foo[bar][]\",\n \"b\",\n ],\n [\n \"foo[bar][]\",\n \"10\",\n ],\n ]\n ");
60
+ filter: {
61
+ type: 'product',
62
+ fields: {
63
+ id: { anyIn: ['a', 'b', 'c'] },
64
+ },
65
+ },
66
+ })).toMatchInlineSnapshot("\n [\n [\n \"filter[type]\",\n \"product\",\n ],\n [\n \"filter[fields][id][anyIn][0]\",\n \"a\",\n ],\n [\n \"filter[fields][id][anyIn][1]\",\n \"b\",\n ],\n [\n \"filter[fields][id][anyIn][2]\",\n \"c\",\n ],\n ]\n ");
67
+ expect((0, buildNormalizedParams_1.buildNormalizedParams)({
68
+ filter: {
69
+ type: 'product',
70
+ fields: {
71
+ OR: [
72
+ {
73
+ name: { matches: { pattern: 'sistrall' } },
74
+ id: { eq: '123456' },
75
+ },
76
+ { productNumber: { matches: { pattern: 'AmOYpJwZ3h' } } },
77
+ ],
78
+ },
79
+ },
80
+ })).toMatchInlineSnapshot("\n [\n [\n \"filter[type]\",\n \"product\",\n ],\n [\n \"filter[fields][OR][0][name][matches][pattern]\",\n \"sistrall\",\n ],\n [\n \"filter[fields][OR][0][id][eq]\",\n \"123456\",\n ],\n [\n \"filter[fields][OR][1][productNumber][matches][pattern]\",\n \"AmOYpJwZ3h\",\n ],\n ]\n ");
62
81
  return [2 /*return*/];
63
82
  });
64
83
  }); });
@@ -1 +1 @@
1
- {"version":3,"file":"buildNormalizedParams.test.js","sourceRoot":"","sources":["../../../src/__tests__/buildNormalizedParams.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAiE;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE;;YAC3B,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,uFAO/D,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,0FAOlE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,2FAOnE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,sFAOhE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACrE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,8FAOnE,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,sKAWvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC3C,CAAC,CACH,CAAC,qBAAqB,CAAC,6GAOvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE;aAC7B,CAAC,CACH,CAAC,qBAAqB,CAAC,uOAevB,CAAC,CAAC;;;SACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"buildNormalizedParams.test.js","sourceRoot":"","sources":["../../../src/__tests__/buildNormalizedParams.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAiE;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE;;YAC3B,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,uFAO/D,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,0FAOlE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,2FAOnE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,sFAOhE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACrE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,8FAOnE,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,sKAWvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC3C,CAAC,CACH,CAAC,qBAAqB,CAAC,6GAOvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;qBAC/B;iBACF;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,wWAmBvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,EAAE;4BACF;gCACE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;gCAC1C,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;6BACrB;4BACD,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;yBAC1D;qBACF;iBACF;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,yaAmBvB,CAAC,CAAC;;;SACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -40,25 +40,12 @@ function buildNormalizedParams(value, path) {
40
40
  typeof value === 'boolean') {
41
41
  result.push([buildKey(path), serializeValue(value)]);
42
42
  }
43
- else if (typeof value === 'object') {
44
- if (Array.isArray(value)) {
45
- for (var _i = 0, _a = value; _i < _a.length; _i++) {
46
- var innerValue = _a[_i];
47
- for (var _b = 0, _c = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [
48
- ARRAY_INDEX,
49
- ], false)); _b < _c.length; _b++) {
50
- var param = _c[_b];
51
- result.push(param);
52
- }
53
- }
54
- }
55
- else if (value) {
56
- for (var _d = 0, _e = Object.entries(value); _d < _e.length; _d++) {
57
- var _f = _e[_d], key = _f[0], innerValue = _f[1];
58
- for (var _g = 0, _h = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [key], false)); _g < _h.length; _g++) {
59
- var param = _h[_g];
60
- result.push(param);
61
- }
43
+ else if (typeof value === 'object' && value) {
44
+ for (var _i = 0, _a = Object.entries(value); _i < _a.length; _i++) {
45
+ var _b = _a[_i], key = _b[0], innerValue = _b[1];
46
+ for (var _c = 0, _d = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [key], false)); _c < _d.length; _c++) {
47
+ var param = _d[_c];
48
+ result.push(param);
62
49
  }
63
50
  }
64
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildNormalizedParams.js","sourceRoot":"","sources":["../../src/buildNormalizedParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAI,CAAC,MAAM,CAChB,UAAC,MAAM,EAAE,KAAK,EAAE,KAAK;QACnB,OAAA,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,KAAK,WAAW;gBACrB,CAAC,CAAC,UAAG,MAAM,OAAI;gBACf,CAAC,CAAC,UAAG,MAAM,cAAI,KAAK,MAAG;IAJ3B,CAI2B,EAC7B,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,kDAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,SAAgB,qBAAqB,CACnC,KAAc,EACd,IAAmB;IAAnB,qBAAA,EAAA,SAAmB;IAEnB,IAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtD;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAyB,UAAkB,EAAlB,KAAA,KAAkB,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;gBAAxC,IAAM,UAAU,SAAA;gBACnB,KAAoB,UAGlB,EAHkB,KAAA,qBAAqB,CAAC,UAAU,kCAC/C,IAAI;oBACP,WAAW;0BACX,EAHkB,cAGlB,EAHkB,IAGlB,EAAE;oBAHC,IAAM,KAAK,SAAA;oBAId,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF;SACF;aAAM,IAAI,KAAK,EAAE;YAChB,KAAgC,UAAqB,EAArB,KAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;gBAA5C,IAAA,WAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;gBACzB,KAAoB,UAAiD,EAAjD,KAAA,qBAAqB,CAAC,UAAU,kCAAM,IAAI,UAAE,GAAG,UAAE,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;oBAAlE,IAAM,KAAK,SAAA;oBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhCD,sDAgCC"}
1
+ {"version":3,"file":"buildNormalizedParams.js","sourceRoot":"","sources":["../../src/buildNormalizedParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAI,CAAC,MAAM,CAChB,UAAC,MAAM,EAAE,KAAK,EAAE,KAAK;QACnB,OAAA,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,KAAK,WAAW;gBACrB,CAAC,CAAC,UAAG,MAAM,OAAI;gBACf,CAAC,CAAC,UAAG,MAAM,cAAI,KAAK,MAAG;IAJ3B,CAI2B,EAC7B,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,kDAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,SAAgB,qBAAqB,CACnC,KAAc,EACd,IAAmB;IAAnB,qBAAA,EAAA,SAAmB;IAEnB,IAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtD;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE;QAC7C,KAAgC,UAAqB,EAArB,KAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;YAA5C,IAAA,WAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;YACzB,KAAoB,UAAiD,EAAjD,KAAA,qBAAqB,CAAC,UAAU,kCAAM,IAAI,UAAE,GAAG,UAAE,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;gBAAlE,IAAM,KAAK,SAAA;gBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,sDAqBC"}
@@ -38,7 +38,7 @@ function serializeRequestBody(body, options) {
38
38
  data: body.map(function (entity) { var _a; return (_a = serializeRequestBody(entity, options)) === null || _a === void 0 ? void 0 : _a.data; }),
39
39
  };
40
40
  }
41
- var _a = body, id = _a.id, type = _a.type, meta = _a.meta, otherProperties = __rest(_a, ["id", "type", "meta"]);
41
+ var _a = body, id = _a.id, typeInBody = _a.type, meta = _a.meta, otherProperties = __rest(_a, ["id", "type", "meta"]);
42
42
  var attributes = {};
43
43
  var relationships = {};
44
44
  if (options.attributes === '*') {
@@ -46,8 +46,8 @@ function serializeRequestBody(body, options) {
46
46
  var _c = _b[_i], key = _c[0], value = _c[1];
47
47
  if (options.relationships.includes(key)) {
48
48
  if (isRel(value)) {
49
- var id_1 = value.id, type_1 = value.type;
50
- relationships[key] = { data: { id: id_1, type: type_1 } };
49
+ var id_1 = value.id, type = value.type;
50
+ relationships[key] = { data: { id: id_1, type: type } };
51
51
  }
52
52
  else if (isRelArray(value)) {
53
53
  relationships[key] = {
@@ -76,8 +76,8 @@ function serializeRequestBody(body, options) {
76
76
  }
77
77
  else {
78
78
  if (isRel(value)) {
79
- var id_2 = value.id, type_2 = value.type;
80
- relationships[key] = { data: { id: id_2, type: type_2 } };
79
+ var id_2 = value.id, type = value.type;
80
+ relationships[key] = { data: { id: id_2, type: type } };
81
81
  }
82
82
  else if (isRelArray(value)) {
83
83
  relationships[key] = {
@@ -103,8 +103,8 @@ function serializeRequestBody(body, options) {
103
103
  }
104
104
  else if (options.relationships.includes(key)) {
105
105
  if (isRel(value)) {
106
- var id_3 = value.id, type_3 = value.type;
107
- relationships[key] = { data: { id: id_3, type: type_3 } };
106
+ var id_3 = value.id, type = value.type;
107
+ relationships[key] = { data: { id: id_3, type: type } };
108
108
  }
109
109
  else if (isRelArray(value)) {
110
110
  relationships[key] = {
@@ -121,9 +121,14 @@ function serializeRequestBody(body, options) {
121
121
  }
122
122
  }
123
123
  }
124
+ // 'type' key present in data is always ignored..
125
+ // UNLESS the entity has a `type` attribute
126
+ if (options.attributes.includes('type')) {
127
+ attributes.type = typeInBody;
128
+ }
124
129
  }
125
130
  return {
126
- data: __assign(__assign(__assign(__assign(__assign({}, (id || options.id ? { id: id || options.id } : {})), { type: type || options.type }), (Object.keys(attributes).length > 0 ? { attributes: attributes } : {})), (Object.keys(relationships).length > 0 ? { relationships: relationships } : {})), (meta ? { meta: meta } : {})),
131
+ data: __assign(__assign(__assign(__assign(__assign({}, (id || options.id ? { id: id || options.id } : {})), { type: options.type }), (Object.keys(attributes).length > 0 ? { attributes: attributes } : {})), (Object.keys(relationships).length > 0 ? { relationships: relationships } : {})), (meta ? { meta: meta } : {})),
127
132
  };
128
133
  }
129
134
  exports.serializeRequestBody = serializeRequestBody;
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"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"}
@@ -55,8 +55,27 @@ describe('buildNormalizedParams', function () {
55
55
  filter: { fields: { md5: { eq: 'foo' } } },
56
56
  })).toMatchInlineSnapshot("\n [\n [\n \"filter[fields][md5][eq]\",\n \"foo\",\n ],\n ]\n ");
57
57
  expect(buildNormalizedParams({
58
- foo: { bar: ['a', 'b', 10] },
59
- })).toMatchInlineSnapshot("\n [\n [\n \"foo[bar][]\",\n \"a\",\n ],\n [\n \"foo[bar][]\",\n \"b\",\n ],\n [\n \"foo[bar][]\",\n \"10\",\n ],\n ]\n ");
58
+ filter: {
59
+ type: 'product',
60
+ fields: {
61
+ id: { anyIn: ['a', 'b', 'c'] },
62
+ },
63
+ },
64
+ })).toMatchInlineSnapshot("\n [\n [\n \"filter[type]\",\n \"product\",\n ],\n [\n \"filter[fields][id][anyIn][0]\",\n \"a\",\n ],\n [\n \"filter[fields][id][anyIn][1]\",\n \"b\",\n ],\n [\n \"filter[fields][id][anyIn][2]\",\n \"c\",\n ],\n ]\n ");
65
+ expect(buildNormalizedParams({
66
+ filter: {
67
+ type: 'product',
68
+ fields: {
69
+ OR: [
70
+ {
71
+ name: { matches: { pattern: 'sistrall' } },
72
+ id: { eq: '123456' },
73
+ },
74
+ { productNumber: { matches: { pattern: 'AmOYpJwZ3h' } } },
75
+ ],
76
+ },
77
+ },
78
+ })).toMatchInlineSnapshot("\n [\n [\n \"filter[type]\",\n \"product\",\n ],\n [\n \"filter[fields][OR][0][name][matches][pattern]\",\n \"sistrall\",\n ],\n [\n \"filter[fields][OR][0][id][eq]\",\n \"123456\",\n ],\n [\n \"filter[fields][OR][1][productNumber][matches][pattern]\",\n \"AmOYpJwZ3h\",\n ],\n ]\n ");
60
79
  return [2 /*return*/];
61
80
  });
62
81
  }); });
@@ -1 +1 @@
1
- {"version":3,"file":"buildNormalizedParams.test.js","sourceRoot":"","sources":["../../../src/__tests__/buildNormalizedParams.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE;;YAC3B,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,uFAO/D,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,0FAOlE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,2FAOnE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,sFAOhE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACrE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,8FAOnE,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,sKAWvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC3C,CAAC,CACH,CAAC,qBAAqB,CAAC,6GAOvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE;aAC7B,CAAC,CACH,CAAC,qBAAqB,CAAC,uOAevB,CAAC,CAAC;;;SACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"buildNormalizedParams.test.js","sourceRoot":"","sources":["../../../src/__tests__/buildNormalizedParams.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE;;YAC3B,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,uFAO/D,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,0FAOlE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,2FAOnE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,sFAOhE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACrE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,8FAOnE,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,sKAWvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC3C,CAAC,CACH,CAAC,qBAAqB,CAAC,6GAOvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;qBAC/B;iBACF;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,wWAmBvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,EAAE;4BACF;gCACE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;gCAC1C,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;6BACrB;4BACD,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;yBAC1D;qBACF;iBACF;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,yaAmBvB,CAAC,CAAC;;;SACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -37,25 +37,12 @@ export function buildNormalizedParams(value, path) {
37
37
  typeof value === 'boolean') {
38
38
  result.push([buildKey(path), serializeValue(value)]);
39
39
  }
40
- else if (typeof value === 'object') {
41
- if (Array.isArray(value)) {
42
- for (var _i = 0, _a = value; _i < _a.length; _i++) {
43
- var innerValue = _a[_i];
44
- for (var _b = 0, _c = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [
45
- ARRAY_INDEX,
46
- ], false)); _b < _c.length; _b++) {
47
- var param = _c[_b];
48
- result.push(param);
49
- }
50
- }
51
- }
52
- else if (value) {
53
- for (var _d = 0, _e = Object.entries(value); _d < _e.length; _d++) {
54
- var _f = _e[_d], key = _f[0], innerValue = _f[1];
55
- for (var _g = 0, _h = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [key], false)); _g < _h.length; _g++) {
56
- var param = _h[_g];
57
- result.push(param);
58
- }
40
+ else if (typeof value === 'object' && value) {
41
+ for (var _i = 0, _a = Object.entries(value); _i < _a.length; _i++) {
42
+ var _b = _a[_i], key = _b[0], innerValue = _b[1];
43
+ for (var _c = 0, _d = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [key], false)); _c < _d.length; _c++) {
44
+ var param = _d[_c];
45
+ result.push(param);
59
46
  }
60
47
  }
61
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildNormalizedParams.js","sourceRoot":"","sources":["../../src/buildNormalizedParams.ts"],"names":[],"mappings":";;;;;;;;;AAAA,IAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAI,CAAC,MAAM,CAChB,UAAC,MAAM,EAAE,KAAK,EAAE,KAAK;QACnB,OAAA,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,KAAK,WAAW;gBACrB,CAAC,CAAC,UAAG,MAAM,OAAI;gBACf,CAAC,CAAC,UAAG,MAAM,cAAI,KAAK,MAAG;IAJ3B,CAI2B,EAC7B,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,kDAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,IAAmB;IAAnB,qBAAA,EAAA,SAAmB;IAEnB,IAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtD;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAyB,UAAkB,EAAlB,KAAA,KAAkB,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;gBAAxC,IAAM,UAAU,SAAA;gBACnB,KAAoB,UAGlB,EAHkB,KAAA,qBAAqB,CAAC,UAAU,kCAC/C,IAAI;oBACP,WAAW;0BACX,EAHkB,cAGlB,EAHkB,IAGlB,EAAE;oBAHC,IAAM,KAAK,SAAA;oBAId,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF;SACF;aAAM,IAAI,KAAK,EAAE;YAChB,KAAgC,UAAqB,EAArB,KAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;gBAA5C,IAAA,WAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;gBACzB,KAAoB,UAAiD,EAAjD,KAAA,qBAAqB,CAAC,UAAU,kCAAM,IAAI,UAAE,GAAG,UAAE,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;oBAAlE,IAAM,KAAK,SAAA;oBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"buildNormalizedParams.js","sourceRoot":"","sources":["../../src/buildNormalizedParams.ts"],"names":[],"mappings":";;;;;;;;;AAAA,IAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAI,CAAC,MAAM,CAChB,UAAC,MAAM,EAAE,KAAK,EAAE,KAAK;QACnB,OAAA,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,KAAK,WAAW;gBACrB,CAAC,CAAC,UAAG,MAAM,OAAI;gBACf,CAAC,CAAC,UAAG,MAAM,cAAI,KAAK,MAAG;IAJ3B,CAI2B,EAC7B,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,kDAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,IAAmB;IAAnB,qBAAA,EAAA,SAAmB;IAEnB,IAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtD;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE;QAC7C,KAAgC,UAAqB,EAArB,KAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;YAA5C,IAAA,WAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;YACzB,KAAoB,UAAiD,EAAjD,KAAA,qBAAqB,CAAC,UAAU,kCAAM,IAAI,UAAE,GAAG,UAAE,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;gBAAlE,IAAM,KAAK,SAAA;gBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -35,7 +35,7 @@ export function serializeRequestBody(body, options) {
35
35
  data: body.map(function (entity) { var _a; return (_a = serializeRequestBody(entity, options)) === null || _a === void 0 ? void 0 : _a.data; }),
36
36
  };
37
37
  }
38
- var _a = body, id = _a.id, type = _a.type, meta = _a.meta, otherProperties = __rest(_a, ["id", "type", "meta"]);
38
+ var _a = body, id = _a.id, typeInBody = _a.type, meta = _a.meta, otherProperties = __rest(_a, ["id", "type", "meta"]);
39
39
  var attributes = {};
40
40
  var relationships = {};
41
41
  if (options.attributes === '*') {
@@ -43,8 +43,8 @@ export function serializeRequestBody(body, options) {
43
43
  var _c = _b[_i], key = _c[0], value = _c[1];
44
44
  if (options.relationships.includes(key)) {
45
45
  if (isRel(value)) {
46
- var id_1 = value.id, type_1 = value.type;
47
- relationships[key] = { data: { id: id_1, type: type_1 } };
46
+ var id_1 = value.id, type = value.type;
47
+ relationships[key] = { data: { id: id_1, type: type } };
48
48
  }
49
49
  else if (isRelArray(value)) {
50
50
  relationships[key] = {
@@ -73,8 +73,8 @@ export function serializeRequestBody(body, options) {
73
73
  }
74
74
  else {
75
75
  if (isRel(value)) {
76
- var id_2 = value.id, type_2 = value.type;
77
- relationships[key] = { data: { id: id_2, type: type_2 } };
76
+ var id_2 = value.id, type = value.type;
77
+ relationships[key] = { data: { id: id_2, type: type } };
78
78
  }
79
79
  else if (isRelArray(value)) {
80
80
  relationships[key] = {
@@ -100,8 +100,8 @@ export function serializeRequestBody(body, options) {
100
100
  }
101
101
  else if (options.relationships.includes(key)) {
102
102
  if (isRel(value)) {
103
- var id_3 = value.id, type_3 = value.type;
104
- relationships[key] = { data: { id: id_3, type: type_3 } };
103
+ var id_3 = value.id, type = value.type;
104
+ relationships[key] = { data: { id: id_3, type: type } };
105
105
  }
106
106
  else if (isRelArray(value)) {
107
107
  relationships[key] = {
@@ -118,9 +118,14 @@ export function serializeRequestBody(body, options) {
118
118
  }
119
119
  }
120
120
  }
121
+ // 'type' key present in data is always ignored..
122
+ // UNLESS the entity has a `type` attribute
123
+ if (options.attributes.includes('type')) {
124
+ attributes.type = typeInBody;
125
+ }
121
126
  }
122
127
  return {
123
- data: __assign(__assign(__assign(__assign(__assign({}, (id || options.id ? { id: id || options.id } : {})), { type: type || options.type }), (Object.keys(attributes).length > 0 ? { attributes: attributes } : {})), (Object.keys(relationships).length > 0 ? { relationships: relationships } : {})), (meta ? { meta: meta } : {})),
128
+ data: __assign(__assign(__assign(__assign(__assign({}, (id || options.id ? { id: id || options.id } : {})), { type: options.type }), (Object.keys(attributes).length > 0 ? { attributes: attributes } : {})), (Object.keys(relationships).length > 0 ? { relationships: relationships } : {})), (meta ? { meta: meta } : {})),
124
129
  };
125
130
  }
126
131
  //# sourceMappingURL=serialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datocms/rest-client-utils",
3
- "version": "3.3.10",
3
+ "version": "3.3.21",
4
4
  "description": "Utilities for DatoCMS REST API clients",
5
5
  "keywords": [
6
6
  "datocms",
@@ -38,7 +38,7 @@
38
38
  "dependencies": {
39
39
  "async-scheduler": "^1.4.4"
40
40
  },
41
- "gitHead": "cdd10b11be7e7449b0b9b5f49f296596d8104e44",
41
+ "gitHead": "713848cc43e9c00294f580f0c80667f992f129e5",
42
42
  "devDependencies": {
43
43
  "@types/qs": "^6.9.7"
44
44
  }
@@ -83,21 +83,66 @@ describe('buildNormalizedParams', () => {
83
83
 
84
84
  expect(
85
85
  buildNormalizedParams({
86
- foo: { bar: ['a', 'b', 10] },
86
+ filter: {
87
+ type: 'product',
88
+ fields: {
89
+ id: { anyIn: ['a', 'b', 'c'] },
90
+ },
91
+ },
87
92
  }),
88
93
  ).toMatchInlineSnapshot(`
89
94
  [
90
95
  [
91
- "foo[bar][]",
96
+ "filter[type]",
97
+ "product",
98
+ ],
99
+ [
100
+ "filter[fields][id][anyIn][0]",
92
101
  "a",
93
102
  ],
94
103
  [
95
- "foo[bar][]",
104
+ "filter[fields][id][anyIn][1]",
96
105
  "b",
97
106
  ],
98
107
  [
99
- "foo[bar][]",
100
- "10",
108
+ "filter[fields][id][anyIn][2]",
109
+ "c",
110
+ ],
111
+ ]
112
+ `);
113
+
114
+ expect(
115
+ buildNormalizedParams({
116
+ filter: {
117
+ type: 'product',
118
+ fields: {
119
+ OR: [
120
+ {
121
+ name: { matches: { pattern: 'sistrall' } },
122
+ id: { eq: '123456' },
123
+ },
124
+ { productNumber: { matches: { pattern: 'AmOYpJwZ3h' } } },
125
+ ],
126
+ },
127
+ },
128
+ }),
129
+ ).toMatchInlineSnapshot(`
130
+ [
131
+ [
132
+ "filter[type]",
133
+ "product",
134
+ ],
135
+ [
136
+ "filter[fields][OR][0][name][matches][pattern]",
137
+ "sistrall",
138
+ ],
139
+ [
140
+ "filter[fields][OR][0][id][eq]",
141
+ "123456",
142
+ ],
143
+ [
144
+ "filter[fields][OR][1][productNumber][matches][pattern]",
145
+ "AmOYpJwZ3h",
101
146
  ],
102
147
  ]
103
148
  `);
@@ -40,21 +40,10 @@ export function buildNormalizedParams(
40
40
  typeof value === 'boolean'
41
41
  ) {
42
42
  result.push([buildKey(path), serializeValue(value)]);
43
- } else if (typeof value === 'object') {
44
- if (Array.isArray(value)) {
45
- for (const innerValue of value as unknown[]) {
46
- for (const param of buildNormalizedParams(innerValue, [
47
- ...path,
48
- ARRAY_INDEX,
49
- ])) {
50
- result.push(param);
51
- }
52
- }
53
- } else if (value) {
54
- for (const [key, innerValue] of Object.entries(value)) {
55
- for (const param of buildNormalizedParams(innerValue, [...path, key])) {
56
- result.push(param);
57
- }
43
+ } else if (typeof value === 'object' && value) {
44
+ for (const [key, innerValue] of Object.entries(value)) {
45
+ for (const param of buildNormalizedParams(innerValue, [...path, key])) {
46
+ result.push(param);
58
47
  }
59
48
  }
60
49
  }
package/src/serialize.ts CHANGED
@@ -49,7 +49,7 @@ export function serializeRequestBody<T extends { data: unknown } | null>(
49
49
  } as unknown as T;
50
50
  }
51
51
 
52
- const { id, type, meta, ...otherProperties } = body as any;
52
+ const { id, type: typeInBody, meta, ...otherProperties } = body as any;
53
53
 
54
54
  const attributes: Record<string, unknown> = {};
55
55
  const relationships: Record<string, unknown> = {};
@@ -111,12 +111,18 @@ export function serializeRequestBody<T extends { data: unknown } | null>(
111
111
  }
112
112
  }
113
113
  }
114
+
115
+ // 'type' key present in data is always ignored..
116
+ // UNLESS the entity has a `type` attribute
117
+ if (options.attributes.includes('type')) {
118
+ attributes.type = typeInBody;
119
+ }
114
120
  }
115
121
 
116
122
  return {
117
123
  data: {
118
124
  ...(id || options.id ? { id: id || options.id } : {}),
119
- type: type || options.type,
125
+ type: options.type,
120
126
  ...(Object.keys(attributes).length > 0 ? { attributes } : {}),
121
127
  ...(Object.keys(relationships).length > 0 ? { relationships } : {}),
122
128
  ...(meta ? { meta } : {}),