function areEqualSelectors()

in packages/relay-runtime/store/RelayModernSelector.js [424:446]


function areEqualSelectors(
  a: ?(SingularReaderSelector | PluralReaderSelector),
  b: ?(SingularReaderSelector | PluralReaderSelector),
): boolean {
  if (
    a?.kind === 'SingularReaderSelector' &&
    b?.kind === 'SingularReaderSelector'
  ) {
    return areEqualSingularSelectors(a, b);
  } else if (
    a?.kind === 'PluralReaderSelector' &&
    b?.kind === 'PluralReaderSelector'
  ) {
    return (
      a.selectors.length === b.selectors.length &&
      a.selectors.every((s, i) => areEqualSingularSelectors(s, b.selectors[i]))
    );
  } else if (a == null && b == null) {
    return true;
  } else {
    return false;
  }
}