Object.keys(props).forEach(propName => { warning( fragmentPointers[propName] || !RelayRecord.isRecord(props[propName]) || !props[propName][fragmentHash], 'RelayContainer: Expected record data for prop `%s` on `%s`, ' + 'but it was instead on prop `%s`. Did you misspell a prop or ' + 'pass record data into the wrong prop?', fragmentName, componentName, propName ); });
Object.keys(props).forEach(propName => { warning( fragmentPointers[propName] || !RelayRecord.isRecord(props[propName]) || typeof props[propName] !== 'object' || props[propName] == null || !RelayFragmentPointer.hasFragment(props[propName], fragment), 'RelayContainer: Expected record data for prop `%s` on `%s`, ' + 'but it was instead on prop `%s`. Did you misspell a prop or ' + 'pass record data into the wrong prop?', fragmentName, componentName, propName, ); });
it('checks if a value is a record', () => { expect(RelayRecord.isRecord({__dataID__: '123'})).toBe(true); expect(RelayRecord.isRecord(null)).toBe(false); expect(RelayRecord.isRecord(undefined)).toBe(false); expect(RelayRecord.isRecord([])).toBe(false); expect(RelayRecord.isRecord({})).toBe(false); const deceptiveArray = []; deceptiveArray.__dataID__ = '123'; expect(RelayRecord.isRecord(deceptiveArray)).toBe(false); });