1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import * as serverData from "../json-parsing/server-data";
export function hasRelationship(data, relationshipType, checkForContent = true) {
const relationshipDataContainer = relationship(data, relationshipType);
if (!relationshipDataContainer) {
return false;
}
if (!relationshipDataContainer.data || (checkForContent && relationshipDataContainer.data.length === 0)) {
return false;
}
return true;
}
export function relationship(data, relationshipType) {
if (serverData.isDefinedNonNull(data)) {
return serverData.asInterface(data.relationships, relationshipType);
}
return null;
}
export function relationshipViewsContainer(data, relationshipType) {
return serverData.asInterface(data.views, relationshipType);
}
export function relationshipData(objectGraph, data, relationshipType) {
const relationshipDataArray = serverData.asArrayOrEmpty(data.relationships, [
relationshipType,
"data",
]);
if (relationshipDataArray.length === 0) {
return null;
}
if (relationshipDataArray.length > 1) {
objectGraph.console.warn(`there was an array of relationships when only the first was asked for in relationship ${relationshipType}`);
}
return relationshipDataArray[0];
}
export function relationshipCollection(data, relationshipType, allowNulls = false) {
if (!hasRelationship(data, relationshipType, false) && allowNulls) {
return null;
}
return serverData.asArrayOrEmpty(data.relationships, [relationshipType, "data"]);
}
export function relationshipViewsCollection(data, relationshipType) {
return serverData.asArrayOrEmpty(data.views, [relationshipType, "data"]);
}
//# sourceMappingURL=relationships.js.map
|