@datocms/rest-client-utils 3.3.10 → 3.3.15
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.
- package/dist/cjs/serialize.js +13 -8
- package/dist/cjs/serialize.js.map +1 -1
- package/dist/esm/serialize.js +13 -8
- package/dist/esm/serialize.js.map +1 -1
- package/package.json +2 -2
- package/src/serialize.ts +8 -2
package/dist/cjs/serialize.js
CHANGED
|
@@ -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,
|
|
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,
|
|
50
|
-
relationships[key] = { data: { id: id_1, type:
|
|
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,
|
|
80
|
-
relationships[key] = { data: { id: id_2, type:
|
|
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,
|
|
107
|
-
relationships[key] = { data: { id: id_3, type:
|
|
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:
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAS,KAAK,CAAC,MAAe;IAC5B,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAe;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,oBAAoB,CAClC,IAAa,EACb,OAAgB;IAEhB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CACZ,UAAC,MAAM,YAAK,OAAA,MAAA,oBAAoB,CAAI,MAAM,EAAE,OAAO,CAAC,0CAAE,IAAI,CAAA,EAAA,CAC3D;SACc,CAAC;KACnB;IAED,IAAM,
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/serialize.js
CHANGED
|
@@ -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,
|
|
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,
|
|
47
|
-
relationships[key] = { data: { id: id_1, type:
|
|
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,
|
|
77
|
-
relationships[key] = { data: { id: id_2, type:
|
|
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,
|
|
104
|
-
relationships[key] = { data: { id: id_3, type:
|
|
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:
|
|
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":";;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAS,KAAK,CAAC,MAAe;IAC5B,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAe;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAa,EACb,OAAgB;IAEhB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CACZ,UAAC,MAAM,YAAK,OAAA,MAAA,oBAAoB,CAAI,MAAM,EAAE,OAAO,CAAC,0CAAE,IAAI,CAAA,EAAA,CAC3D;SACc,CAAC;KACnB;IAED,IAAM,
|
|
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.
|
|
3
|
+
"version": "3.3.15",
|
|
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": "
|
|
41
|
+
"gitHead": "eb1ec37186876ac65ca0b21a23be00513b42b087",
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/qs": "^6.9.7"
|
|
44
44
|
}
|
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:
|
|
125
|
+
type: options.type,
|
|
120
126
|
...(Object.keys(attributes).length > 0 ? { attributes } : {}),
|
|
121
127
|
...(Object.keys(relationships).length > 0 ? { relationships } : {}),
|
|
122
128
|
...(meta ? { meta } : {}),
|