UNPKG

relay-utils

Version:

Utilities for working with Relay (modern) in general, and the Relay store in particular.

41 lines (31 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAndAddEdgeToLinkedRecords = createAndAddEdgeToLinkedRecords; var _relayRuntime = require("relay-runtime"); function createAndAddEdgeToLinkedRecords(store, config) { var node = config.node; config.linkedRecords.forEach(function (linkedRecordConfig) { var linkedRecordOwner = store.get(linkedRecordConfig.parentID); if (!node || !linkedRecordOwner) { if (__DEV__) { console.warn('Could not find node to create edge from or linked record owner to create edge on.'); } return; } var linkedRecord = linkedRecordOwner.getLinkedRecord(linkedRecordConfig.key, linkedRecordConfig.filters); if (!linkedRecord) { if (__DEV__) { console.warn('Could not find linked record.'); } return; } var edge = _relayRuntime.ConnectionHandler.createEdge(store, linkedRecord, node, config.edgeName); if (config.insertAt === 'START') { _relayRuntime.ConnectionHandler.insertEdgeBefore(linkedRecord, edge); } else { _relayRuntime.ConnectionHandler.insertEdgeAfter(linkedRecord, edge); } }); }