Esempio n. 1
0
 lookup(selector: Selector): Snapshot {
   const snapshot = RelayReader.read(this._recordSource, selector);
   if (__DEV__) {
     deepFreeze(snapshot);
   }
   return snapshot;
 }
Esempio n. 2
0
function lookupSelector(source, selector): ?SelectorData {
  const selectorData = RelayReader.read(source, selector).data;
  if (__DEV__) {
    const deepFreeze = require('deepFreeze');
    if (selectorData) {
      deepFreeze(selectorData);
    }
  }
  return selectorData;
}
Esempio n. 3
0
 _updateSubscription(subscription: Subscription): void {
   const {callback, snapshot} = subscription;
   if (!hasOverlappingIDs(snapshot, this._updatedRecordIDs)) {
     return;
   }
   const {data, seenRecords} = RelayReader.read(this._recordSource, snapshot);
   const nextData = recycleNodesInto(snapshot.data, data);
   const nextSnapshot = {
     ...snapshot,
     data: nextData,
     seenRecords,
   };
   if (__DEV__) {
     deepFreeze(nextSnapshot);
   }
   subscription.snapshot = nextSnapshot;
   if (nextSnapshot.data !== snapshot.data) {
     callback(nextSnapshot);
   }
 }