summaryrefslogtreecommitdiff
path: root/node_modules/@jet-app/app-store/tmp/src/foundation/media/relationships.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@jet-app/app-store/tmp/src/foundation/media/relationships.js')
-rw-r--r--node_modules/@jet-app/app-store/tmp/src/foundation/media/relationships.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/@jet-app/app-store/tmp/src/foundation/media/relationships.js b/node_modules/@jet-app/app-store/tmp/src/foundation/media/relationships.js
new file mode 100644
index 0000000..0f96574
--- /dev/null
+++ b/node_modules/@jet-app/app-store/tmp/src/foundation/media/relationships.js
@@ -0,0 +1,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 \ No newline at end of file